# HG changeset patch # User ryokka # Date 1523610424 -32400 # Node ID a5facba1adbcfc8b9c9e7e2d62a4093bef93de49 first diff -r 000000000000 -r a5facba1adbc Paper/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/Makefile Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,35 @@ +TARGET = sigos + +LATEX = platex +BIBTEX = pbibtex +#DVIPS = dvips +#DVIPDFM = dvipdfmx +RM = rm -f +DVIPDF=dvipdfmx -p a4 +# Option definitions +#DVIPDFMOPT = +#DVIPSOPT = -D 720 -mode esphi -O 0mm,0mm -N0 + +# Suffixes definitions +.SUFFIXES: .tex .dvi .pdf + +.tex.dvi: + $(LATEX) $< + $(BIBTEX) $(TARGET) + $(LATEX) $< + $(LATEX) $< + +.dvi.pdf: + $(DVIPDF) $(DVIPDF_OPT) $< + + +all: $(TARGET).pdf + open $(TARGET).pdf + +dvi: $(TARGET).dvi + +pdf: $(TARGET).pdf + + +clean: + rm -f *.dvi *.aux *.log *.pdf *.ps *.gz *.bbl *.blg *~ *.core diff -r 000000000000 -r a5facba1adbc Paper/auto/main.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/auto/main.el Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,21 @@ +(TeX-add-style-hook + "main" + (lambda () + (TeX-add-to-alist 'LaTeX-provided-package-options + '(("graphicx" "dvipdfmx"))) + (add-to-list 'LaTeX-verbatim-environments-local "lstlisting") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "lstinline") + (add-to-list 'LaTeX-verbatim-macros-with-delims-local "lstinline") + (TeX-run-style-hooks + "latex2e" + "ipsjprosym" + "ipsjprosym10" + "listings" + "graphicx" + "latexsym" + "comment" + "caption") + (LaTeX-add-bibliographies + "prosym")) + :latex) + diff -r 000000000000 -r a5facba1adbc Paper/auto/sigos.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/auto/sigos.el Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,28 @@ +(TeX-add-style-hook + "sigos" + (lambda () + (TeX-add-to-alist 'LaTeX-provided-class-options + '(("ipsjpapers" "techrep"))) + (TeX-add-to-alist 'LaTeX-provided-package-options + '(("graphicx" "dvipdfmx"))) + (add-to-list 'LaTeX-verbatim-environments-local "lstlisting") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "lstinline") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "url") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "path") + (add-to-list 'LaTeX-verbatim-macros-with-delims-local "lstinline") + (add-to-list 'LaTeX-verbatim-macros-with-delims-local "url") + (add-to-list 'LaTeX-verbatim-macros-with-delims-local "path") + (TeX-run-style-hooks + "latex2e" + "dummy" + "ipsjpapers" + "ipsjpapers10" + "graphicx" + "url" + "listings" + "jlisting" + "enumitem" + "caption") + (LaTeX-add-bibliographies)) + :latex) + diff -r 000000000000 -r a5facba1adbc Paper/dummy.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/dummy.tex Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,60 @@ +%%% jdummy.def +% +\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{} +\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{} +\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min + <10.95><12><14.4><17.28><20.74><24.88> min10 + <-> min10}{} +\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin + <10.95><12><14.4><17.28><20.74><24.88> tmin10 + <-> tmin10}{} +\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{} +\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{} +\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min + <10.95><12><14.4><17.28><20.74><24.88> min10 + <-> min10}{} +\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin + <10.95><12><14.4><17.28><20.74><24.88> tmin10 + <-> tmin10}{} +\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{} +\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{} +\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min + <10.95><12><14.4><17.28><20.74><24.88> min10 + <-> min10}{} +\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin + <10.95><12><14.4><17.28><20.74><24.88> tmin10 + <-> tmin10}{} +\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{} +\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{} +\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth + <10.95><12><14.4><17.28><20.74><24.88> goth10 + <-> goth10}{} +\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth + <10.95><12><14.4><17.28><20.74><24.88> tgoth10 + <-> tgoth10}{} +\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{} +\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{} +\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth + <10.95><12><14.4><17.28><20.74><24.88> goth10 + <-> goth10}{} +\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth + <10.95><12><14.4><17.28><20.74><24.88> tgoth10 + <-> tgoth10}{} +\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{} +\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{} +\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth + <10.95><12><14.4><17.28><20.74><24.88> goth10 + <-> goth10}{} +\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth + <10.95><12><14.4><17.28><20.74><24.88> tgoth10 + <-> tgoth10}{} +\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{} +\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{} +\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth + <10.95><12><14.4><17.28><20.74><24.88> goth10 + <-> goth10}{} +\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth + <10.95><12><14.4><17.28><20.74><24.88> tgoth10 + <-> tgoth10}{} +\endinput +%%%% end of jdummy.def diff -r 000000000000 -r a5facba1adbc Paper/ipsj.cls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/ipsj.cls Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,5470 @@ + +% ipsj.cls (C) 2012 Information Processing Society of Japan +% Copyright (C) 1995-2010 by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{ipsj} +% [2011/08/22-11/25 Test.ver IPSJ class] +% [2011/12/15-2012/04/24 v1.01-v1.02e IPSJ class] +% [2012/06/01 v1.03 IPSJ class] + [2012/10/12 v1.04 IPSJ class] + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{color} + +\newif\if@Proof \@Prooffalse% +\DeclareOption{Proof}{\@Prooftrue} + + +\newif\if@LAYOUT \@LAYOUTfalse% +\DeclareOption{LAYOUT}{\@LAYOUTtrue} + +\newif\if@submit \@submitfalse +\DeclareOption{submit}{\@submittrue} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%% Document Styles %%%%%% +%\newif\ifDS@printer \DS@printerfalse +\newif\ifDS@english \DS@englishfalse +\newif\ifDS@technote \DS@technotefalse +\newif\ifDS@preface \DS@prefacefalse +\newif\ifDS@techrep \DS@techrepfalse +\newif\ifDS@sigrecommended \DS@sigrecommendedfalse +\newif\ifDS@invited \DS@invitedfalse +\newif\ifDS@online \DS@onlinefalse +\newif\ifDS@draft \DS@draftfalse +%====================== +\newif\ifDS@PRO \DS@PROfalse +\newif\ifDS@ACS \DS@ACSfalse +\newif\ifDS@TOD \DS@TODfalse +\newif\ifDS@TOM \DS@TOMfalse +\newif\ifDS@CVA \DS@CVAfalse +\newif\ifDS@TBIO \DS@TBIOfalse +\newif\ifDS@SLDM \DS@SLDMfalse +\newif\ifDS@CDS \DS@CDSfalse +%====================== +\newif\ifDS@JIP \DS@JIPfalse +\newif\ifDS@Data \DS@Datafalse +\newif\ifDS@Survey \DS@Surveyfalse +\newif\ifDS@Research \DS@Researchfalse +\newif\ifDS@Short \DS@Shortfalse +\newif\ifDS@systems \DS@systemsfalse +\newif\ifDS@services \DS@servicesfalse +\newif\ifDS@devices \DS@devicesfalse +%====================== +\newif\ifDS@abstract \DS@abstractfalse +\newif\ifDS@EEE \DS@EEEfalse +%====================== +\newif\ifDS@OT \DS@OTfalse + + +%% v1.02b +\newif\ifDS@techreq \DS@techreqfalse +\newif\ifDS@noauthor \DS@noauthorfalse + +%% v1.4 +\newif\ifDS@system \DS@systemfalse + + +\DeclareOption{DAM}{\def\@type{DAM}\def\@Mtype{DAM}} + +\DeclareOption{english}{\DS@englishtrue\DS@EEEtrue} +%%% +\DeclareOption{technote}{\DS@technotetrue\def\@Mtype{technote}} +\DeclareOption{sigrecommended}{\DS@sigrecommendedtrue\def\@Mtype{sigrecommended}} +\DeclareOption{invited}{\DS@invitedtrue\def\@Mtype{invited}} +%============= +\DeclareOption{PRO}{\DS@PROtrue\def\@type{PRO}\DS@EEEfalse} +\DeclareOption{ACS}{\DS@ACStrue\def\@type{ACS}\DS@EEEfalse} +\DeclareOption{TOD}{\DS@TODtrue\def\@type{TOD}\DS@EEEfalse} +\DeclareOption{TOM}{\DS@TOMtrue\def\@type{TOM}\DS@EEEfalse} +\DeclareOption{CDS}{\DS@CDStrue\def\@type{CDS}\DS@EEEfalse} +%% +\DeclareOption{CVA}{\DS@englishtrue\DS@CVAtrue\def\@type{CVA}\DS@EEEfalse} +\DeclareOption{TBIO}{\DS@englishtrue\DS@TBIOtrue\def\@type{TBIO}\def\@Mtype{TBIOM}\DS@EEEfalse} +\DeclareOption{SLDM}{\DS@englishtrue\DS@SLDMtrue\def\@type{SLDM}\DS@EEEfalse} +%% +\DeclareOption{JIP}{\DS@englishtrue\DS@JIPtrue\def\@type{JIP}\DS@EEEfalse} + +\DeclareOption{Data}{\DS@Datatrue\def\@type{Data}\def\@Mtype{Data}\DS@EEEfalse} +\DeclareOption{Survey}{\DS@Surveytrue\def\@type{Survey}\def\@Mtype{Survey}\DS@EEEfalse} +\DeclareOption{Research}{\DS@Researchtrue\def\@type{Research}\def\@Mtype{Research}\DS@EEEfalse} +\DeclareOption{Short}{\DS@Shorttrue\def\@type{Short}\def\@Mtype{Short}\DS@EEEfalse} + +\DeclareOption{abstract}{\DS@abstracttrue\def\@Mtype{abstract}\DS@EEEfalse} + +\DeclareOption{systems}{\DS@systemstrue\def\@Mtype{systems}\DS@EEEfalse} +\DeclareOption{services}{\DS@servicestrue\def\@Mtype{services}\DS@EEEfalse} +\DeclareOption{devices}{\DS@devicestrue\def\@Mtype{devices}\DS@EEEfalse} + +\DeclareOption{preface}{\DS@prefacetrue} +\DeclareOption{draft}{\DS@drafttrue} + +\DeclareOption{OT}{\DS@OTtrue} + +%% v1.02b +\DeclareOption{techreq}{\DS@techreqtrue} +\DeclareOption{noauthor}{\DS@noauthortrue} + + +%% v1.4 +\DeclareOption{system}{\DS@systemtrue\def\@Mtype{system}\DS@EEEfalse} + + +%%%% parameter %%%%%%%%% +\unitlength=1mm +\predisplaypenalty=0 +%%%%%%%%%%%%%%%%%%%%%%%% + + + +%%A4: 210mm, 297mm +\newcounter{@paper} +\newif\if@landscape \@landscapefalse +\newcommand{\@ptsize}{} +\newif\if@restonecol +\newif\if@titlepage +\@titlepagetrue +\newif\if@openright +\newif\if@mainmatter \@mainmattertrue +%\hour\time \divide\hour by 60\relax +%\@tempcnta\hour \multiply\@tempcnta 60\relax +%\minute\time \advance\minute-\@tempcnta +\newif\if@stysize \@stysizefalse +\newif\if@enablejfam \@enablejfamtrue +\DeclareOption{a4paper}{\setcounter{@paper}{1}% + \setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5paper}{\setcounter{@paper}{2}% + \setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b4paper}{\setcounter{@paper}{3}% + \setlength\paperheight {364mm} + \setlength\paperwidth {257mm}} +\DeclareOption{b5paper}{\setcounter{@paper}{4}% + \setlength\paperheight {257mm} + \setlength\paperwidth {182mm}} +\DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue + \setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue + \setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue + \setlength\paperheight {364mm} + \setlength\paperwidth {257mm}} +\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue + \setlength\paperheight {257mm} + \setlength\paperwidth {182mm}} +\DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue + \setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue + \setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue + \setlength\paperheight {364mm} + \setlength\paperwidth {257mm}} +\DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue + \setlength\paperheight {257mm} + \setlength\paperwidth {182mm}} +\if@compatibility + \renewcommand{\@ptsize}{0} +\else + \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}} +\fi +\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}} +\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}} +\DeclareOption{landscape}{\@landscapetrue + \setlength\@tempdima{\paperheight}% + \setlength\paperheight{\paperwidth}% + \setlength\paperwidth{\@tempdima}} +%\DeclareOption{tombow}{% +% \tombowtrue \tombowdatetrue +% \setlength{\@tombowwidth}{.1\p@}% +% \@bannertoken{% +% \jobname\space:\space\number\year/\number\month/\number\day +% (\number\hour:\number\minute)} +% \maketombowbox} +%\DeclareOption{tombo}{% +% \tombowtrue \tombowdatefalse +% \setlength{\@tombowwidth}{.1\p@}% +% \maketombowbox} +\DeclareOption{mentuke}{% + \tombowtrue \tombowdatefalse + \setlength{\@tombowwidth}{\z@}% + \maketombowbox} +\DeclareOption{tate}{% + \AtBeginDocument{\tate\message{$B!T=DAH%b!<%I!U(B}% + \adjustbaseline}% +} +\DeclareOption{oneside}{\@twosidefalse} +\DeclareOption{twoside}{\@twosidetrue} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\if@compatibility +\@openrighttrue +\else +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\fi +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{% + \AtEndOfPackage{% + \renewcommand\@openbib@code{% + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + }% + \renewcommand\newblock{\par}}} +\if@compatibility +\else + \DeclareOption{disablejfam}{\@enablejfamfalse} +\fi +%\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} + +%% +%% Option +%% +\ExecuteOptions{a4paper,10pt,twoside,twocolumn,final,openright,DAM,Prooffalse}%!! +\ProcessOptions\relax + + +%% +\newdimen\h + \h=0.25mm +\newdimen\JQ + \JQ=0.7392507pt +\newdimen\Q + \Q=0.71144pt + +\newdimen\@Q \@Q=0.25mm + + +%% +%% Font +%% + +\ifDS@english +\else +%% +\expandafter\let\csname JY1/mc/m/n/10\endcsname\relax +\expandafter\let\csname JY1/gt/m/n/10\endcsname\relax +%%% +\DeclareFontShape{JT1}{gt}{m}{it}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{mdg}{} +\DeclareFontShape{JT1}{mdg}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{gmb}{} +\DeclareFontShape{JT1}{gmb}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{gmb}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{sg}{} +\DeclareFontShape{JT1}{sg}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{sg}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{gbm}{} +\DeclareFontShape{JT1}{gbm}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{gbm}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontFamily{JT1}{jun}{} +\DeclareFontShape{JT1}{jun}{b}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{jun}{m}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{jun}{bx}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT1}{mc}{m}{it}{<-> ssub*mc/m/n}{} +\DeclareFontShape{JY1}{mc}{m}{it}{<-> ssub*mc/m/n}{}%% v1.4 +% +\DeclareFontShape{JT1}{mc}{bx}{it}{<-> ssub*gt/m/n}{}%% v1.4 +\DeclareFontShape{JY1}{mc}{bx}{it}{<-> ssub*gt/m/n}{}%% v1.4 + + +%%% +\DeclareFontShape{JT1}{mc}{m}{sc}{<-> ssub*mc/m/n}{} +\DeclareFontShape{JY1}{mc}{m}{sc}{<-> ssub*mc/m/n}{} + +\DeclareFontShape{JY1}{mc}{m}{n}{<5>jis <6> jis + <7> s * [1.05571] jis + <8> s * [1.01625] jis + <9> s * [0.98556] jis + <10> s * [0.961] jis + <10.95> s * [0.94516] jis + <12> s * [0.98567] jis + <14.4> s * [0.92406] jis + <17.28> s * [0.85561] jis + <20.74> s * [0.88545] jis + <24.88> s * [0.9508] jis + <-> jis + }{} +% +\DeclareFontShape{JY1}{gt}{m}{n}{<5>jisg <6> jisg + <7> s * [1.05571] jisg + <8> s * [1.01625] jisg + <9> s * [0.98556] jisg + <10> s * [0.961] jisg + <10.95> s * [0.94516] jisg + <12> s * [0.98567] jisg + <14.4> s * [0.92406] jisg + <17.28> s * [0.85561] jisg + <20.74> s * [0.88545] jisg + <24.88> s * [0.9508] jisg + <-> jisg + }{} +\fi + + +% +\DeclareFontShape{OT1}{cmr}{m}{n}% + {<-5.5> cmr5% + <5.5-6.5> cmr6% + <6.5-7.5> cmr7% + <7.5-8.5> cmr8% + <8.5-11.5> cmr10% + <11.5-16.5> cmr12% + <16.5-> cmr17% + }{} +\DeclareFontShape{OT1}{cmr}{m}{sl}% + { <-8.5> cmsl8% + <8.5-9.5> cmsl9% + <9.5-11.5> cmsl10% + <11.5-> cmsl12% + }{} +\DeclareFontShape{OT1}{cmr}{m}{it}% + {% + <-7.5> cmti7% + <7.5-8.5> cmti8% + <8.5-9.5> cmti9% + <9.5-11.5> cmti10% + <11.5-> cmti12% + }{} +\DeclareFontShape{OT1}{cmr}{m}{sc}% + {% + <->cmcsc10% + }{} +\DeclareFontShape{OT1}{cmr}{m}{ui} + {% + <-> cmu10% + }{} +%%%%%%% bold series +\DeclareFontShape{OT1}{cmr}{b}{n} + {% + <-> cmb10% + }{} +%%%%%%%% bold extended series +\DeclareFontShape{OT1}{cmr}{bx}{n} + {% + <-5.5> cmbx5 + <5.5-6.5> cmbx6 + <6.5-7.5> cmbx7 + <7.5-8.5> cmbx8 + <8.5-9.5> cmbx9% + <9.5-11.5> cmbx10% + <11.5-> cmbx12% + }{} +\DeclareFontShape{OT1}{cmr}{bx}{sl} + {% + <-> cmbxsl10% + }{} +\DeclareFontShape{OT1}{cmr}{bx}{it} + {% + <-> cmbxti10% + }{} +\DeclareFontShape{OT1}{cmr}{bx}{ui} + {<->sub*cmr/m/ui}{} +%OMScmsy +\DeclareFontShape{OMS}{cmsy}{m}{n}{% + <-5.5> cmsy5 + <5.5-6.5> cmsy6 + <6.5-7.5> cmsy7 + <7.5-8.5> cmsy8 + <8.5-9.5> cmsy9 + <9.5-> cmsy10% + }{} +\DeclareFontShape{OMS}{cmsy}{b}{n}{% + <-5.5> cmbsy5 + <5.5-6.5> cmbsy6 + <6.5-7.5> cmbsy7 + <7.5-8.5> cmbsy8 + <8.5-9.5> cmbsy9 + <9.5-> cmbsy10% + }{} +%OMXcmex +\DeclareFontShape{OMX}{cmex}{m}{n}{% + <-> cmex10% + }{} +%OMLcmmi +\DeclareFontShape{OML}{cmm}{m}{it}% + {<-5.5> cmmi5 + <5.5-6.5> cmmi6 + <6.5-7.5> cmmi7 + <7.5-8.5> cmmi8 + <8.5-9.5> cmmi9% + <9.5-11.5>cmmi10% + <11.5-> cmmi12% + }{} +\DeclareFontShape{OML}{cmm}{b}{it}{% + <-5.5> cmmib5 + <5.5-6.5> cmmib6 + <6.5-7.5> cmmib7 + <7.5-8.5> cmmib8 + <8.5-9.5> cmmib9% + <9.5-> cmmib10% + }{} +\DeclareFontShape{OML}{cmm}{bx}{it}% + {<->ssub*cmm/b/it}{} +%%OT1cmtt +\DeclareFontShape{OT1}{cmtt}{m}{n} + {% + <-8.5> cmtt8 + <8.5-9.5> cmtt9% + <9.5-11.5> cmtt10% + <11.5-> cmtt12% + }{} +%%%%%% make sure subst shapes are available +\DeclareFontShape{OT1}{cmtt}{m}{it} + {% + <-> cmitt10% + }{} +\DeclareFontShape{OT1}{cmtt}{m}{sl} + {% + <-> cmsltt10% + }{} +\DeclareFontShape{OT1}{cmtt}{m}{sc} + {% + <-> cmtcsc10% + }{} +\DeclareFontShape{OT1}{cmtt}{m}{ui} + {<->ssub*cmtt/m/it}{} +\DeclareFontShape{OT1}{cmtt}{bx}{n} + {<->ssub*cmtt/m/n}{} +\DeclareFontShape{OT1}{cmtt}{bx}{it} + {<->ssub*cmtt/m/it}{} +\DeclareFontShape{OT1}{cmtt}{bx}{ui} + {<->ssub*cmtt/m/it}{} +%umsa +\DeclareFontFamily{U}{msa}{} +\DeclareFontShape{U}{msa}{m}{n}{ + < -5.5> msam5 + <5.5-6.5> msam6 + <6.5-7.5> msam7 + <7.5-8.5> msam8 + <8.5-9.5> msam9 + <9.5- > msam10 + }{} +\DeclareFontFamily{U}{msb}{} +\DeclareFontShape{U}{msb}{m}{n}{ + < -5.5> msbm5 + <5.5-6.5> msbm6 + <6.5-7.5> msbm7 + <7.5-8.5> msbm8 + <8.5-9.5> msbm9 + <9.5- > msbm10 + }{} + +\DeclareFontShape{OT1}{cmss}{m}{n} + {% + <-8.5>cmss8% + <8.5-9.5>cmss9% + <9.5-11.5>cmss10% + <11.5-16.5>cmss12% + <16.5->cmss17% + }{} +\DeclareFontShape{OT1}{cmss}{m}{it} + {<->sub*cmss/m/sl}{} +\DeclareFontShape{OT1}{cmss}{m}{sl} + {% + <-8.5>cmssi8 + <8.5-9.5>cmssi9% + <9.5-11.5>cmssi10% + <11.5-16.5>cmssi12% + <16.5->cmssi17% + }{} +\DeclareFontShape{OT1}{cmss}{m}{sc} + {<->sub*cmr/m/sc}{} +\DeclareFontShape{OT1}{cmss}{m}{ui} + {<->sub*cmr/m/ui}{} +\DeclareFontShape{OT1}{cmss}{sbc}{n} + {% + <->cmssdc10% + }{} +\DeclareFontShape{OT1}{cmss}{bx}{n} + {% + <->cmssbx10% + }{} +\DeclareFontShape{OT1}{cmss}{bx}{ui} + {<->sub*cmr/bx/ui}{} +%%for latexsym +\DeclareFontFamily{U}{lasy}{} +\DeclareFontShape{U}{lasy}{m}{n}{ + < -5.5>lasy5 + <5.5-6.5>lasy6 + <6.5-7.5>lasy7 + <7.5-8.5>lasy8 + <8.5-9.5>lasy9 + <9.5- >lasy10 }{} +\DeclareFontShape{U}{lasy}{b}{n}{ + < -10> ssub * lasy/m/n + <10- > lasyb10 }{} +%%% + + + +\ifDS@english +\else +%% FutoGo + \DeclareFontFamily{JY1}{fgb}{} + \DeclareFontShape{JY1}{fgb}{m}{n}{% + <-14> s *[0.961] FutoGoB101-Bold-J.tfm% + <14-> s *[1] FutoGoB101-Bold-J.tfm% + }{} + \DeclareFontFamily{JT1}{fgb}{} + \DeclareFontShape{JT1}{fgb}{m}{n}{% + <-> s *tmin10% + }{} + +%% FutoMin + \DeclareFontFamily{JY1}{fmb}{} + \DeclareFontShape{JY1}{fmb}{m}{n}{% + <-14> s *[0.961] FutoMinA101-Bold-J.tfm% + <14-> s *[1] FutoMinA101-Bold-J.tfm% + }{} + \DeclareFontFamily{JT1}{fmb}{} + \DeclareFontShape{JT1}{fmb}{m}{n}{% + <-> s *tmin10% + }{} +\fi + + +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} + + +\newskip\ChtE +\newskip\CdpE +\newskip\CwdE +\newskip\CvsE + + + +% normalsize +% J: 13Q x 21H +% E: 13Q x 18H + +\ifDS@english +\renewcommand{\normalsize}{% + \@setfontsize\normalsize{9.25pt}{12.80592pt}% +% \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 9\p@ \@plus 3\p@ \@minus 4\p@ + \abovedisplayshortskip \z@ \@plus 2.5\p@ + \belowdisplayshortskip 5\p@ \@plus 2\p@ \@minus 2\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + \normalsize +% \setbox0\hbox{\char\euc"A1A1}% " +% \setlength\Cht{\ht0} +% \setlength\Cdp{\dp0} +% \setlength\Cwd{\wd0} +% \setlength\Chs{\wd0} + \setlength\ChtE{7.19269pt} + \setlength\CdpE{1.28441pt} + \setlength\CwdE{8.9005pt} + \setlength\CvsE{12.80592pt} +\else +\renewcommand{\normalsize}{% + \@setfontsize\normalsize{13\JQ}{21H}% + \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 9\p@ \@plus 3\p@ \@minus 4\p@ + \abovedisplayshortskip \z@ \@plus 2.5\p@ + \belowdisplayshortskip 5\p@ \@plus 2\p@ \@minus 2\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + \normalsize + \setbox0\hbox{\char\euc"A1A1}% " + \setlength\Cht{\ht0} + \setlength\Cdp{\dp0} + \setlength\Cwd{\wd0} + \setlength\Cvs{\baselineskip} + \setlength\Chs{\wd0} +\fi + +\ifDS@english +\let\Cht\ChtE +\let\Cdp\CdpE +\let\Cwd\CwdE +\let\Cvs\CvsE +\else\fi + + + +% small +% J: 12Q x 20H +% E: 12Q x 17H + +\ifDS@english + \newcommand{\small}{% + \@setfontsize\small{8.53728pt}{9.960159pt}% +% \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus \p@ \@minus \p@ + \parsep 1\p@ \@plus \p@ \@minus \p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\else +\newcommand{\small}{% + \@setfontsize\small{12\JQ}{20H}% + \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus \p@ \@minus \p@ + \parsep 1\p@ \@plus \p@ \@minus \p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\fi + + +% footnotesize +% J: 11Q x 18H +% E: 11Q x 13H + +\ifDS@english + \newcommand{\footnotesize}{% +% \@setfontsize\footnotesize{7.82584pt}{9.24872pt}% + \@setfontsize\footnotesize{7.82584pt}{9.24872pt}% +% \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 5\p@ \@plus 1.5\p@ \@minus 3\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 2.5\p@ \@plus \p@ \@minus 1.5\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus\p@ \@minus\p@ + \parsep 1\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\else + \newcommand{\footnotesize}{% + \@setfontsize\footnotesize{11\JQ}{18H}% + \kanjiskip\z@ \@plus .1zw \@minus .05zw + \abovedisplayskip 5\p@ \@plus 1.5\p@ \@minus 3\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 2.5\p@ \@plus \p@ \@minus 1.5\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus\p@ \@minus\p@ + \parsep 1\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip} +\fi + + + +\ifDS@english + \newcommand{\scriptsize}{\@setfontsize\scriptsize{10\Q}{12\h}} +\else + \newcommand{\scriptsize}{\@setfontsize\scriptsize{10\JQ}{16H}} +\fi + + \newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt} + \newcommand{\large}{\@setfontsize\large\@xpt{22\JQ}} + \newcommand{\Large}{\@setfontsize\Large\@xipt{27\JQ}} + \newcommand{\LARGE}{\@setfontsize\LARGE\@xiipt{33\JQ}} + \newcommand{\huge}{\@setfontsize\huge\@xivpt{25}} + \newcommand{\Huge}{\@setfontsize\Huge\@xviipt{30}} + + + +\setlength\floatsep {1\Cvs \@plus .75\Cvs \@minus .25\Cvs} +\setlength\textfloatsep{1\Cvs \@plus .75\Cvs \@minus .25\Cvs} +\setlength\intextsep {1\Cvs \@plus .75\Cvs \@minus .25\Cvs} +\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} + + +\setlength\@fptop{0\p@ \@plus 1fil} +\setlength\@fpsep{8\p@ \@plus 2fil} +\setlength\@fpbot{0\p@ \@plus 1fil} +\setlength\@dblfptop{0\p@ \@plus 1fil} +\setlength\@dblfpsep{8\p@ \@plus 2fil} +\setlength\@dblfpbot{0\p@ \@plus 1fil} +\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep\parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep\z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep\topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\setlength\headheight{12\p@} +\setlength\headsep{4.5mm} +\ifDS@english +\setlength\topskip{7.19269pt}%% 1\Cht +\else +\setlength\topskip{1\Cht} +\fi +%\advance\topskip by 0.14748pt%%%%%%%%%%% +%\setlength\topskip{12.80592pt} +%\setlength\topskip{12Q} +\setlength\footskip{11.7mm} % +\if@compatibility + \setlength\maxdepth{4\p@} +\else + \setlength\maxdepth{.5\topskip} +\fi +\if@compatibility + \if@stysize + \ifnum\c@@paper=2 % A5 + \if@landscape + \setlength\textwidth{47\Cwd} + \else + \setlength\textwidth{28\Cwd} + \fi + \else\ifnum\c@@paper=3 % B4 + \if@landscape + \setlength\textwidth{75\Cwd} + \else + \setlength\textwidth{60\Cwd} + \fi + \else\ifnum\c@@paper=4 % B5 + \if@landscape + \setlength\textwidth{60\Cwd} + \else + \setlength\textwidth{37\Cwd} + \fi + \else % A4 ant other + \if@landscape + \setlength\textwidth{73\Cwd} + \else + \setlength\textwidth{47\Cwd} + \fi + \fi\fi\fi + \else + \if@twocolumn + \setlength\textwidth{52\Cwd} + \else + \setlength\textwidth{4.3in} + \fi + \fi +\else + \if@stysize + \if@twocolumn + \setlength\textwidth{.8\paperwidth} + \else + \setlength\textwidth{.7\paperwidth} + \fi + \else + \setlength\@tempdima{\paperwidth} + \addtolength\@tempdima{-2in} + \setlength\@tempdimb{327\p@} + \if@twocolumn + \ifdim\@tempdima>2\@tempdimb\relax + \setlength\textwidth{2\@tempdimb} + \else + \setlength\textwidth{\@tempdima} + \fi + \else + \ifdim\@tempdima>\@tempdimb\relax + \setlength\textwidth{\@tempdimb} + \else + \setlength\textwidth{\@tempdima} + \fi + \fi + \fi +\fi +\@settopoint\textwidth +\if@compatibility + \if@stysize + \ifnum\c@@paper=2 % A5 + \if@landscape + \setlength\textheight{17\Cvs} + \else + \setlength\textheight{28\Cvs} + \fi + \else\ifnum\c@@paper=3 % B4 + \if@landscape + \setlength\textheight{38\Cvs} + \else + \setlength\textheight{57\Cvs} + \fi + \else\ifnum\c@@paper=4 % B5 + \if@landscape + \setlength\textheight{22\Cvs} + \else + \setlength\textheight{35\Cvs} + \fi + \else % A4 and other + \if@landscape + \setlength\textheight{27\Cvs} + \else + \setlength\textheight{43\Cvs} + \fi + \fi\fi\fi + \addtolength\textheight{\topskip} + \addtolength\textheight{\baselineskip} + \else + \setlength\textheight{554\p@} + \fi +\else + \if@stysize + \setlength\textheight{.70\paperheight} + \else + \setlength\@tempdima{\paperheight} + \addtolength\@tempdima{-2in} + \addtolength\@tempdima{-1.5in} + \divide\@tempdima\baselineskip + \@tempcnta\@tempdima + \setlength\textheight{\@tempcnta\baselineskip} + \fi +\fi +\addtolength\textheight{\topskip} +\@settopoint\textheight +\if@compatibility + \if@stysize + \setlength\topmargin{-.3in} + \else + \setlength\topmargin{.75in} + \fi +\else + \setlength\topmargin{\paperheight} + \addtolength\topmargin{-\headheight} + \addtolength\topmargin{-\headsep} + \addtolength\topmargin{-\textheight} + \addtolength\topmargin{-\footskip} + \if@stysize + \ifnum\c@@paper=2 % A5 + \addtolength\topmargin{-1.3in} + \else + \addtolength\topmargin{-2.0in} + \fi + \else + \addtolength\topmargin{-2.0in} + \fi + \addtolength\topmargin{-.5\topmargin} +\fi +\@settopoint\topmargin +\if@twocolumn + \setlength\marginparsep{10\p@} +\else + \setlength\marginparsep{10\p@} +\fi +\setlength\marginparpush{5\p@} +\if@compatibility + \setlength\oddsidemargin {.5in} + \setlength\evensidemargin {1.5in} + \setlength\marginparwidth {.75in} + \if@twocolumn + \setlength\oddsidemargin {30\p@} + \setlength\evensidemargin {30\p@} + \setlength\marginparwidth {48\p@} + \fi + \if@stysize + \if@twocolumn\else + \setlength\oddsidemargin{0\p@} + \setlength\evensidemargin{0\p@} + \fi + \fi +\else + \setlength\@tempdima{\paperwidth} + \addtolength\@tempdima{-\textwidth} + \if@twoside + \setlength\oddsidemargin{.4\@tempdima} + \else + \setlength\oddsidemargin{.5\@tempdima} + \fi + \addtolength\oddsidemargin{-1in} + \setlength\evensidemargin{\paperwidth} + \addtolength\evensidemargin{-2in} + \addtolength\evensidemargin{-\textwidth} + \addtolength\evensidemargin{-\oddsidemargin} + \@settopoint\oddsidemargin + \@settopoint\evensidemargin + \if@twoside + \setlength\marginparwidth{.6\@tempdima} + \addtolength\marginparwidth{-.4in} + \else + \setlength\marginparwidth{.5\@tempdima} + \addtolength\marginparwidth{-.4in} + \fi + \ifdim \marginparwidth >2in + \setlength\marginparwidth{2in} + \fi + \@settopoint\marginparwidth +\fi + +% +\headheight5mm +% +\headsep9.5mm + + +\if@Proof + \def\@Rtop{\rlap{\smash{\rule[-\headsep]{0.05mm}{10mm}% + \rule[-\headsep]{10mm}{0.05mm}}}} + \def\@Ltop{\llap{\smash{\rule[-\headsep]{10mm}{0.05mm}% + \rule[-\headsep]{0.05mm}{10mm}}}} + \def\@Rbot{\rlap{\smash{\raisebox{1\footskip} + {\rule[-10mm]{0.05mm}{10mm}\rule{10mm}{0.05mm}}}}} + \def\@Lbot{\llap{\smash{\raisebox{1\footskip} + {\rule{10mm}{0.05mm}\rule[-10mm]{0.05mm}{10mm}}}}} +\else + \let\@Rtop\relax\let\@Ltop\relax\let\@Rbot\relax\let\@Lbot\relax +\fi + + +% +\newif\if@enablejfam \@enablejfamtrue% + +\setlength\lineskip{1\p@}% +\setlength\normallineskip{1\p@}% +\renewcommand{\baselinestretch}{}% +\newskip\normalbaselineskip + +\setlength\parskip{\z@}% + + +\ifDS@english +\setlength\parindent{1em}% +\else +\setlength\parindent{1zw}% +\fi + + +%penalty +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 + +%%float +\setcounter{topnumber}{8} +\setcounter{bottomnumber}{8} +\setcounter{totalnumber}{16} +\setcounter{dbltopnumber}{2} + +%\renewcommand{\topfraction}{1} +%\renewcommand{\bottomfraction}{1} +%\renewcommand{\textfraction}{.05} +%\renewcommand{\floatpagefraction}{.05} +%\renewcommand{\dbltopfraction}{.95} +%\renewcommand{\dblfloatpagefraction}{.05} + +\def\topfraction{1} +\def\bottomfraction{1} +\def\textfraction{0} +\def\floatpagefraction{0} +\def\dbltopfraction{1} +\def\dblfloatpagefraction{0} +% + +%================================================================================= + +% +\def\SIGHead{\ifDS@english% +{IPSJ Transactions on}% +\else $B>pJs=hM}3X2qO@J8;o(B\fi}%% + + +\def\signame@DAM{\ifDS@english% +Electronic Preprint for Journal of Information Processing% +\else $B>pJs=hM}3X2qO@J8;o(B\fi}%% + +\ifDS@english +\newcommand{\COMS}{Consumer Devices \& Systems} +\else +\newcommand{\COMS}{$B%3%s%7%e!<%^!&%G%P%$%9(B\,\&\,$B%7%9%F%`(B} +\fi + + +\def\signame@ACS{\ifDS@english% +{{{\SIGHead} Advanced Computing Systems}}% +\else {\SIGHead}\hskip12\JQ $B%3%s%T%e!<%F%#%s%0%7%9%F%`(B\fi}% +% +\def\signame@PRO{\ifDS@english% +{{{\SIGHead} Programming}}% +\else {\SIGHead}\hskip12\JQ $B%W%m%0%i%_%s%0(B\fi}% +% +\def\signame@TOM{\ifDS@english% +{{{\SIGHead} Mathematical Modeling and Its Applications}}% +\else {\SIGHead}\hskip12\JQ $B?tM}%b%G%k2=$H1~MQ(B\fi}% +% +\def\signame@TOD{\ifDS@english% +{{{\SIGHead} Databases}}% +\else {\SIGHead}\hskip12\JQ $B%G!<%?%Y!<%9(B\fi}% +% +\def\signame@CDS{\ifDS@english% +{{{\SIGHead} Consumer Devices \& Systems}}% +\else {\SIGHead}\hskip12\JQ \COMS% +\fi}% +% +%%% +\def\signame@CVA{{{{\SIGHead} Computer Vision and Applications}}} +\def\signame@TBIO{{{{\SIGHead} Bioinformatics}}} +\def\signame@SLDM{{{{\SIGHead} System LSI Design Methodology}}} +\def\signame@JIP{{{Journal of Information Processing}}} +%%% +\let\signame@Data\signame@TBIO +\let\signame@Survey\signame@TBIO +%\let\signame@Research\signame@CVA +\let\signame@Short\signame@SLDM + + + +%%%<<<< 1.02 +\def\signame@Research{% + \ifDS@CVA + {{\SIGHead} Computer Vision and Applications}% + \else + \ifDS@CDS% + \ifDS@english% + {{{\SIGHead} Consumer Devices \& Systems}}% + \else {\SIGHead}\hskip12\JQ \COMS% + \fi + \else\fi + \fi +}% +% + + + + +\def\signame{\csname signame@\@type\endcsname} + +\def\type#1{\def\@type{#1}} + + +\def\HeadfontE{% +\ifDS@english + \fontsize{13\Q}{0\h}\sffamily\bfseries\selectfont% +\else + \if@submit + \fontsize{13\Q}{0\h}\sffamily\bfseries\selectfont% + \else + \fontsize{13\Q}{0\h}\usefont{OT1}{phv}{b}{n}\selectfont% + \fi +\fi +} + + +\def\HeadfontJ{\fontsize{12\JQ}{0\h}\bfseries\selectfont} + +\def\DOIHeadfont{\fontsize{11\Q}{0\h}%\usefont{OT1}{phv}{m}{n}\selectfont +\sffamily\selectfont} + +%============================================================ + + +\def\Mtype#1{\def\@type{#1}} + +\def\SHUBETUname{\csname SHUBETUname@\@Mtype\endcsname} + + + +\def\SHUBETUfontE{\fontsize{18\Q}{0\h}\bfseries% +%\usefont{OT1}{ptm}{b}{n}%Times-Bold* +\selectfont +} + +\def\SHUBETUfontJ{% +\if@submit +\fontsize{18\JQ}{0\h}\usefont{JY1}{gt}{m}{n}% +\selectfont% +\else +\fontsize{18\JQ}{0\h}\usefont{JY1}{fgb}{m}{n}% +\selectfont% +\fi +} + + +\def\SHUBETUname@DAM{\ifDS@english% +Regular Paper% +\else \leavevmode \fi}%% + +%%% +\def\SHUBETUname@invited{\ifDS@english% +Invited Paper% +\else $B>7BTO@J8(B\fi} + +\def\SHUBETUname@sigrecommended{\ifDS@english% +Recommended Paper% +\else $B?dA&O@J8(B\fi}% + +\def\SHUBETUname@technote{\ifDS@english% +Technical Note% +\else $B%F%/%K%+%k%N!<%H(B\fi}% + +%%%<<<< 1.02 +\def\SHUBETUname@abstract{\ifDS@english% +Abstract% +\else $BH/I=35MW(B\fi}% + + +\ifDS@english +\newcommand{\COMSYS}{Paper on Consumer Systems} +\newcommand{\COMSER}{Paper on Consumer Services} +\newcommand{\COMSDV}{Paper on Consumer Devices} +\else +\newcommand{\COMSYS}{$B%3%s%7%e!<%^!&%7%9%F%`O@J8(B} +\newcommand{\COMSER}{$B%3%s%7%e!<%^!&%5!<%S%9O@J8(B} +\newcommand{\COMSDV}{$B%3%s%7%e!<%^!&%G%P%$%9O@J8(B} +\fi + + + +\def\SHUBETUname@systems{\ifDS@english% +Paper on Consumer Systems% +\else \COMSYS% +\fi} + +\def\SHUBETUname@services{\ifDS@english% +Paper on Consumer Services% +\else \COMSER% +\fi} + +\def\SHUBETUname@devices{\ifDS@english% +Paper on Consumer Devices% +\else \COMSDV% +\fi} + +\def\SHUBETUname@Research{\ifDS@english% +Research Paper% +\else $B8&5fO@J8(B\fi} + + +\def\SHUBETUname@Data{Database/Software Paper} +\def\SHUBETUname@Survey{Survey Paper} +\def\SHUBETUname@TBIOM{Original Paper} + +\def\SHUBETUname@Short{Short Paper} + + +\def\SHUBETUname@system{Systems Paper} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\def\ps@plain{\let\@mkboth\@gobbletwo + \let\ps@jpl@in\ps@plain + \let\@oddhead\@empty + \def\@oddfoot{\reset@font\hfil\thepage\hfil}% + \let\@evenhead\@empty + \let\@evenfoot\@oddfoot} +\let\ps@jpl@in\ps@plain +\def\ps@headnombre{\let\@mkboth\@gobbletwo + \let\ps@jpl@in\ps@headnombre + \def\@evenhead{\thepage\hfil}% + \def\@oddhead{\hfil\thepage}% + \let\@oddfoot\@empty\let\@evenfoot\@empty} +\def\ps@footnombre{\let\@mkboth\@gobbletwo + \let\ps@jpl@in\ps@footnombre + \def\@evenfoot{\thepage\hfil}% + \def\@oddfoot{\hfil\thepage}% + \let\@oddhead\@empty\let\@evenhead\@empty} + + +\def\ps@empty{% + \def\@oddhead{\@Ltop\hfil\@Rtop}% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot\hfil\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} + +%=============================================================== + + +% copyright +\DeclareTextCommandDefault{\textcopyrighttx}{% +{\fontfamily{txsy}\textcircled{% +\usefont{OT1}{ptm}{m}{n}\selectfont% +c}}} + + + +\def\bothashira{% +\ifDS@english + \fontsize{10\Q}{0\h}\normalfont\selectfont% +\else + \if@submit + \fontsize{10\Q}{0\h}\normalfont\selectfont% + \else + \fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times + \selectfont% + \fi +\fi +} + + +\def\botnomble{% +\ifDS@english + \fontsize{13\Q}{0\h}\normalfont\selectfont% +\else + \if@submit + \fontsize{13\Q}{0\h}\normalfont\selectfont% + \else + \fontsize{13\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times + \selectfont% + \fi +\fi +} + + + + + +%%%<<<< 1.02 +\ifDS@english +\def\ps@IPSJTITLEheadings{% + \def\@oddhead{\@Ltop% +\rlap{\small{%% +%% +\ifx\signame\relax% +{\HeadfontE{\signame@DEF}}%% +\else +{\HeadfontE{\signame}}%% +\fi +%%%%% +%vol +%%%%% +%=============== +\hskip12\Q{\HeadfontE{Vol.\number\c@volume}}% +%=============== + \ifDS@CVA\relax\else + \ifDS@TBIO\relax\else + \ifDS@SLDM\relax\else +% \ifDS@JIP\relax\else +%%%%%% +%no +%%%%%% +\hskip1em{\HeadfontE{No.\number\c@number}}% +\fi\fi\fi%\fi +%%%%%% +%page +%%%%%% +\bgroup +%%% +% +\ifDS@ACS + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@PRO + \ifDS@abstract + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}}}\ % + \HeadfontE{(\@monthyear)}% + \else + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% + \fi +\else\relax\fi +% +\ifDS@TOD + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@TOM + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@TBIO + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CVA + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@SLDM + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@JIP + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CDS + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +%%% +\egroup +}% +}% +%%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont% +%%%% +\bgroup +\ifDS@TBIO + [DOI: 10.2197/ipsjtbio.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +\ifDS@CVA + [DOI: 10.2197/ipsjtcva.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +\ifDS@SLDM + [DOI: 10.2197/ipsjtsldm.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +\ifDS@JIP + [DOI: 10.2197/ipsjjip.\number\c@volume.\pageref{ipsj@firstpage}] +\else\fi +% +%% +%% +%%%%% +\egroup +}% +}}}% +\hfil\@Rtop}% +%%%%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{%\fontsize{10\Q}{0\h}% +%\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +%\normalfont% +{\bothashira% +\copyright \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil +%\fontsize{13\Q}{0\h}% +%\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +%\normalsize +{\botnomble +%%%%%% +\ifDS@ACS{\thepage}\else\fi +\ifDS@PRO{\thepage}\else\fi +\ifDS@TOD{\thepage}\else\fi +\ifDS@TOM{\thepage}\else\fi +\ifDS@TBIO{\thepage}\else\fi +\ifDS@CVA{\thepage}\else\fi +\ifDS@SLDM{\thepage}\else\fi +\ifDS@JIP{\thepage}\else\fi +\ifDS@CDS{\thepage}\else\fi +%%%%% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +}} +%%% +%%%%%%%%% +\else +%%%%%%%%% +%%% +\def\ps@IPSJTITLEheadings{% + \def\@oddhead{\@Ltop% +\rlap{\small% +%% +\ifx\signame\relax% +{\HeadfontJ{\signame@DEF}}%% +\else +{\HeadfontJ{\signame}}%% +\fi +%%%%% +{%% +\hskip12\JQ{\HeadfontE{Vol.\number\c@volume}}% +\hskip12\JQ{\HeadfontE{No.\number\c@number}}% +\ifDS@abstract + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else +\hskip12\JQ{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % +\HeadfontE{(\@monthyear)}% +\fi +}}% +%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont%% +}% +}}}% +\hfil\@Rtop}% +%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{% +%\fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\bothashira% +{\textcopyrighttx} \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil% +%\fontsize{13\Q}{0\h}% +%\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\botnomble% +{\thepage}}% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +\fi + + + + + + + + +%=================================================================== +%%% +\ifDS@english +\def\ps@headings{% + \def\@oddhead{\@Ltop% +\rlap{\small{%% +%% +\ifx\signame\relax% +{\HeadfontE{\signame@DEF}}%% +\else +{\HeadfontE{\signame}}%% +\fi +%%%%% +%vol +%%%%% +%=============== +\hskip12\Q{\HeadfontE{Vol.\number\c@volume}}% +%=============== + \ifDS@CVA\relax\else + \ifDS@TBIO\relax\else + \ifDS@SLDM\relax\else +% \ifDS@JIP\relax\else +%%%%%% +%no +%%%%%% +\hskip1em{\HeadfontE{No.\number\c@number}}% +\fi\fi\fi%\fi +%%%%%% +%page +%%%%%% +\bgroup +%%% +% +\ifDS@ACS + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@PRO + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@TOD + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@TOM + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@TBIO + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CVA + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@SLDM + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@JIP + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +\ifDS@CDS + \hskip12\Q{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % + \HeadfontE{(\@monthyear)}% +\else\relax\fi +% +%%% +\egroup +}% +}% +%%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont% +%%%% +}% +}}}% +\hfil\@Rtop}% +%%%%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{% +%\fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\bothashira% +\copyright \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil +%\fontsize{13\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\botnomble% +%%%%%% +\ifDS@ACS{\thepage}\else\fi +\ifDS@PRO{\thepage}\else\fi +\ifDS@TOD{\thepage}\else\fi +\ifDS@TOM{\thepage}\else\fi +\ifDS@TBIO{\thepage}\else\fi +\ifDS@CVA{\thepage}\else\fi +\ifDS@SLDM{\thepage}\else\fi +\ifDS@JIP{\thepage}\else\fi +\ifDS@CDS{\thepage}\else\fi +%%%%% +\@Rbot}}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +%%% +%%%%%%%%% +\else +%%%%%%%%% +%%% +\def\ps@headings{% + \def\@oddhead{\@Ltop% +\rlap{\small% +%% +\ifx\signame\relax% +{\HeadfontJ{\signame@DEF}}%% +\else +{\HeadfontJ{\signame}}%% +\fi +%%%%% +{%% +\hskip12\JQ{\HeadfontE{Vol.\number\c@volume}}% +\hskip12\JQ{\HeadfontE{No.\number\c@number}}% +\hskip12\JQ{\HeadfontE{\pageref{ipsj@firstpage}--\pageref{ipsj@lastpage}}}\ % +\HeadfontE{(\@monthyear)}}}% +%%%% +\smash{\raisebox{-6mm}{\rlap{% +{\DOIHeadfont%% +}% +}}}% +\hfil\@Rtop}% +%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{%\fontsize{10\Q}{0\h}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\bothashira% +{\textcopyrighttx} \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil% +%\fontsize{13\Q}{0H}\usefont{OT1}{ptm}{m}{n}%Times +%\selectfont% +{\botnomble% +{\thepage}}% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +\fi + + + + + + + +%%%<<<< 1.02 + +\def\ipsj@year{% +\ifDS@EEE +\ifnum\c@year<\z@ +\c@year1992 \advance\c@year\c@volume +\fi\fi +\ifDS@ACS +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@PRO +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@TOD +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@TOM +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@TBIO +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@CVA +\ifnum\c@year<\z@ +\c@year2008 \advance\c@year\c@volume %!! +\fi\fi +\ifDS@SLDM +\ifnum\c@year<\z@ +\c@year2007 \advance\c@year\c@volume +\fi\fi +\ifDS@JIP +\ifnum\c@year<\z@ +\c@year1992 \advance\c@year\c@volume +\fi\fi +\ifDS@CDS +\ifnum\c@year<\z@ +\c@year2010 \advance\c@year\c@volume +\fi\fi +%% +%=== +\ifnum\c@year<\z@ +\c@year1959 \advance\c@year\c@volume +\fi +\number\c@year +%=== +} + + + + +%%%<<<< 1.02 +\def\ipsj@month{{% + \@tempcnta\ifDS@online\ipsj@olh@month \else + \ifnum\c@month<\z@ \c@number \else \c@month \fi \fi \relax + \ifDS@JIP + \ifcase\@tempcnta???\or Jan.\or Apr.\or July\or Oct.\else + ???\fi + \else + \ifcase\@tempcnta???\or Jan.\or Feb.\or Mar.\or Apr.\or May\or + June\or July\or Aug.\or Sep.\or Oct.\or Nov.\or Dec.\else + ???\fi + \fi +}} + + + + + +\def\@monthyear{\ipsj@month \hskip.5\Cwd \ipsj@year} + +\def\@footyear{\ipsj@year} + + +\newcounter{volume} \c@volume\z@ +\newcounter{number} \c@number\z@ +\newcounter{month} \c@month\m@ne +\newcounter{year} \c@year\m@ne + + +\expandafter\let\csname c@$B4,?t(B\endcsname\c@volume +\expandafter\let\csname c@$B9f?t(B\endcsname\c@number +\expandafter\let\csname c@$B7n?t(B\endcsname\c@month +\expandafter\let\csname c@$BG/?t(B\endcsname\c@year + + + +\AtBeginDocument{\label{ipsj@firstpage}} +\AtEndDocument{% + \clearpage + \addtocounter{page}{-1}% + \immediate\write\@auxout + {\string\newlabel{ipsj@lastpage}{{}{\thepage}}}% +} + + +%========================================================================================================================== + + +\def\jtitle{\@ifnextchar[% + {\d@jtitle}{\s@jtitle}} +\def\d@jtitle[#1]#2{\gdef\hd@title{#1}\gdef\@jtitle{#2}} +\def\s@jtitle#1{\gdef\hd@title{#1}\gdef\@jtitle{#1}} +\def\@jtitle{} +\def\hd@title{} +\def\etitle#1{\gdef\@etitle{#1}} +\def\@etitle{} + + +\def\p@thanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}} + + + +%================================================================================= +% author,affiliate +%================================================================================= + +\newcount\author@count +\newcount\label@count +\newcount\email@count +\newcount\affiliate@count +\newcount\offsetemail +\newcount\paffiliate@count + + + +\ifDS@english +\def\author#1#2{% +\@ifnextchar[% +{\@author{#1}{#2}} +{\@author{#1}{#2}[]} +} +%==== +\else +%==== +\def\author#1#2#3{% +\@ifnextchar[% +{\@author{#1}{#2}{#3}} +{\@author{#1}{#2}{#3}[]} +} +\fi + + + +\ifDS@english +\def\@author#1#2[#3]{% + \advance\author@count\@ne +\expandafter\def\csname authorname\the\author@count\endcsname{#1} +%% +\edef\@labellist{\zap@space#2 \@empty} +\@for\@temp:=\@labellist\do{% + \advance\label@count\@ne +\expandafter\edef\csname authorlabel\the\author@count @\the\label@count\endcsname{\@temp}} +\expandafter\edef\csname authorlabel@num@\the\author@count \endcsname{\the\label@count} +\label@count\z@ +\def\_{\leavevmode \kern.06em\vbox{\hrule\@width.3em}}%%%!!!! +\edef\@emaillist{\zap@space#3 \@empty} +\@for\@temp:=\@emaillist\do{% + \advance\email@count\@ne +\expandafter\edef\csname authoremail\the\author@count @\the\email@count\endcsname{\@temp}% +}% +\expandafter\edef\csname authoremail@num@\the\author@count \endcsname{\the\email@count}% +\email@count\z@ +}% +%=== +\else +%=== +\def\@author#1#2#3[#4]{% + \advance\author@count\@ne +\expandafter\def\csname authorname\the\author@count\endcsname{#1} +%% +\expandafter\def\csname eauthorname\the\author@count\endcsname{#2} +%% +\edef\@labellist{\zap@space#3 \@empty} +\@for\@temp:=\@labellist\do{% + \advance\label@count\@ne +\expandafter\edef\csname authorlabel\the\author@count @\the\label@count\endcsname{\@temp}} +\expandafter\edef\csname authorlabel@num@\the\author@count \endcsname{\the\label@count} +\label@count\z@ +%% +\def\_{\leavevmode \kern.06em\vbox{\hrule\@width.3em}}%%%!!!! +\edef\@emaillist{\zap@space#4 \@empty} +\@for\@temp:=\@emaillist\do{% + \advance\email@count\@ne +\expandafter\edef\csname authoremail\the\author@count @\the\email@count\endcsname{\@temp}} +\expandafter\edef\csname authoremail@num@\the\author@count \endcsname{\the\email@count} +\email@count\z@ +} +\fi + + + + + + + + + +\def\affiliate#1#2{% +%\expandafter\def\csname affiliate@#1\endcsname{#2} +\advance\affiliate@count\@ne +\expandafter\edef\csname affiliate@num@#1\endcsname{\the\affiliate@count}% +%\typeout{>>>>>>\csname affiliate@1\endcsname} +\expandafter\def\csname affiliate@\the\affiliate@count\endcsname{#2}% +} + + +\def\paffiliate#1#2{% +%\advance\affiliate@count\@ne +\advance\paffiliate@count\@ne +\expandafter\edef\csname paffiliate@num@#1\endcsname{$\dagger$\the\paffiliate@count}% +\expandafter\def\csname paffiliate@\the\paffiliate@count\endcsname{#2}% +} + + + +\def\authoroutput#1{% +%\begin{center} +\bgroup +\offsetemail\z@ +\count@\@ne +\advance\author@count\@ne +%%% +%%% +%%% +\@whilenum{\count@<\author@count}\do{% +\mbox{% start +% +%% \csname #1authorfont\endcsname%% !! font +% +\ifDS@english + \csname authorname\the\count@\endcsname %\csname affiliate@num@\endcsname +\else + \csname #1authorname\the\count@\endcsname %\csname affiliate@num@\endcsname +\fi +%%%%%label +\null{}% +\expandafter\@tempcnta\csname authorlabel@num@\the\count@\endcsname + \advance\@tempcnta\@ne + \@tempcntb\@ne +{% + \@whilenum{\@tempcntb<\@tempcnta}\do{% + \edef\temp{\csname authorlabel\the\count@ @\the\@tempcntb\endcsname}% + \textsuperscript{\csname #1labelfont\endcsname%% !! font +%%%change from here +%%%add paffiliate + \expandafter\if\csname affiliate@num@\temp\endcsname\relax + \csname paffiliate@num@\temp\endcsname%%affiliate + \else + \csname affiliate@num@\temp\endcsname + \fi +%%%end + \comma@or@relax@affilabel}% + \advance\@tempcntb\@ne +}% +}% +%%%%%%email +\expandafter\@tempcnta\csname authoremail@num@\the\count@\endcsname\relax + \ifnum\@tempcnta=\z@\relax\else\textsuperscript{,}\fi + \advance\@tempcnta\@ne + \@tempcntb\@ne + \@whilenum{\@tempcntb<\@tempcnta}\do{% + %\textsuperscript{\space}% + \bgroup + \advance\@tempcntb\offsetemail + \textsuperscript{\csname #1labelfont\endcsname%% !! font + \@alph{\@tempcntb}\rparen\comma@or@relax@email}% + \egroup + \advance\@tempcntb\@ne + }% +\advance\@tempcntb-1\relax +\global\advance\offsetemail\@tempcntb +% +}%% end +%% +\csname #1break@or@oneskip\endcsname +%% +\advance\count@\@ne +%%% +}% +%%%%%% +%\end{center}% +\egroup +} + + + + + + + +\def\breakauthorline#1{% + \edef\temp@break{\zap@space#1 \@empty} + \@for\@temp:=\temp@break\do{% + \expandafter\def\csname break@\@temp\endcsname{\\}% + }% +} + +\def\breakeauthorline#1{% + \edef\temp@break{\zap@space#1 \@empty} + \@for\@temp:=\temp@break\do{% + \expandafter\def\csname ebreak@\@temp\endcsname{\\}% + }% +} + +\def\break@or@oneskip{% + \expandafter\ifx\csname break@\the\count@\endcsname\relax +\ifDS@english +\hskip1em \else \hskip1zw \fi + \else + \csname break@\the\count@\endcsname + \fi +} + +\def\ebreak@or@oneskip{% + \expandafter\ifx\csname ebreak@\the\count@\endcsname\relax +\ifDS@english +\hskip1em \else \hskip1zw \fi + \else + \csname ebreak@\the\count@\endcsname + \fi +} + + + +\ifDS@english +\let\breakauthorline\breakeauthorline +\else\fi + + + +%%( +\def\rparen{)}%% + + + +\def\comma@or@relax@affilabel{% + \bgroup + \count@\@tempcnta + \advance\count@\m@ne + \ifnum\count@=\@tempcntb + \relax + \else + ,%\space + \fi + \egroup +} + +\def\comma@or@relax@email{% + \bgroup + \count@\@tempcnta + \advance\count@\m@ne + \advance\@tempcntb-\offsetemail + \ifnum\count@=\@tempcntb + \relax + \else + ,%\space + \fi + \egroup +} + + + + + + + + +%================================================================================= +% maketitle +%================================================================================= + + + +\def\maketitle{\par + \begingroup + \renewcommand{\thefootnote}{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$ + \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% + \if@twocolumn + \ifnum \col@number=\@ne \@maketitle + \else \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{IPSJTITLEheadings} +\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\p@thanks\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@eauthor\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\@etitle\@empty + \global\let\etitle\relax +%%% + \global\let\author\relax + \global\let\eauthor\relax + \global\let\date\relax + \global\let\and\relax +%%% +% affiliate +%%% +\bgroup +\setcounter{footnote}{0} +\def\thefootnote{\@arabic{\c@footnote}\protect\hphantom{\rparen}} +\advance\affiliate@count\@ne +\count@\@ne +\@whilenum{\count@<\affiliate@count}\do{% + \refstepcounter{footnote} + \footnotetext{\csname affiliate@\the\count@\endcsname}% + \advance\count@\@ne +}% +\egroup +%%% +% paffiliate +%%% +\bgroup +\setcounter{footnote}{0} +\def\thefootnote{$\dagger$\@arabic{\c@footnote}\protect\hphantom{\rparen}} +\advance\paffiliate@count\@ne +\count@\@ne +\@whilenum{\count@<\paffiliate@count}\do{% + \refstepcounter{footnote} +%%%% + \ifDS@english + \footnotetext{% +Presently with\ % +\csname paffiliate@\the\count@\endcsname}% + \else + \footnotetext{% +\def\\{\newline Presently with \ignorespaces}% +$B8=:_!$(B\csname paffiliate@\the\count@\endcsname}% + \fi% + \advance\count@\@ne +}% +\egroup +%%% +%===== +% email +%===== +\bgroup +\setcounter{footnote}{0} +\def\thefootnote{\@alph{\c@footnote}\rparen} +\count@\@ne +\advance\author@count\@ne + \@whilenum{\count@<\author@count}\do{% + \expandafter\@tempcntb\csname authoremail@num@\the\count@ \endcsname + \advance\@tempcntb\@ne + \@tempcnta\@ne + \@whilenum{\@tempcnta<\@tempcntb}\do{% + \refstepcounter{footnote} + \footnotetext{\csname authoremail\the\count@ @\the\@tempcnta\endcsname}% + \advance\@tempcnta\@ne + }% + \advance\count@\@ne + }% +\egroup +%================= +\setcounter{footnote}{0} + } +%%% + + + + + + +%================================================================================= +% @maketitle +%================================================================================= + +%% +\newskip\shubetutitlesep +\newskip\JEhonbunsep + +\shubetutitlesep=6.2mm% default 10mm +\JEhonbunsep=13.7mm % default 15mm + +\newskip\Etitleauthorsep +\newskip\Eauthorreceivesep +\newskip\Ereceiveabstsep +\newskip\Eabstkeywordsep + +\Etitleauthorsep=10mm% default 12.5mm +\Eauthorreceivesep=5.5mm% default 7mm +\Ereceiveabstsep=2.5mm% default 6mm +\Eabstkeywordsep=4mm % default 5mm + +% +\newskip\Jtitlejauthorsep +\newskip\Jauthorjreceivesep +\newskip\Jreceivejabstsep +\newskip\Jabstsepjkeyword +\newskip\Jkeywordetitle +\newskip\Jetitleeauthor +\newskip\Jeauthorereceivesep +\newskip\Jereceiveeabstsep +\newskip\Jeabstekeywordsep + +\Jtitlejauthorsep=9mm% default 10mm +\Jauthorjreceivesep=6.5mm% default 7mm +\Jreceivejabstsep=2.5mm% default 5mm +\Jabstsepjkeyword=5.5mm % default 5mm +\Jkeywordetitle=14.2mm % default 16mm +\Jetitleeauthor=5.5mm% default 7mm +\Jeauthorereceivesep=5.5mm% default 6.5mm +\Jereceiveeabstsep=1.5mm% default 4.5mm +\Jeabstekeywordsep=5mm % default 5mm + +%====================================================== + + + +\def\@maketitle{% +\newpage\null +%%%%%%%%%% +\ifDS@english +%% +\vskip-1.3mm% +\ifx\SHUBETUname\relax% +{\SHUBETUfontE{\SHUBETUname@DEF}}%% +\else +{\SHUBETUfontE{\SHUBETUname}}%% +\fi +%% +\else +\ifx\SHUBETUname\relax% +{\SHUBETUfontJ{\SHUBETUname@DEF}}%% +\else +{\SHUBETUfontJ{\SHUBETUname}}%% +\fi\fi +%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\shubetutitlesep% +%%%%%%%%%%%%%%%%%%%%%%%% +%% +%\vskip 10mm% +\begin{center} +\authortitle %%<--- +\end{center} +%%%%%%%%%%%%%%%%%%% +% +} + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\Engtitlefont% +{\@title}\par} +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Etitleauthorsep% +%%%%%%%%%%%%%%%%%%%%%%% +%% author %%% +{\Engeauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eauthorreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%% +{\Enguketukefont% +{\@uketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Ereceiveabstsep% +%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eabstkeywordsep% +%%%%%%%%%%%%%%%%%%%%%%% +\let\@keywordbox\@ekeywordbox +\mbox{\box\@ekeywordbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +%=========== +\else +%========== +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\jtitlefont% +{\@title}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jtitlejauthorsep% +%%%%%%%%%%%%%%%%%%%%%%%% +%% author +%====== +{\authorfont% +\authoroutput{}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jauthorjreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%% +%====== +{\juketukefont% +{\@uketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jreceivejabstsep% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jabstsepjkeyword% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@jkeywordbox}\par% +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jkeywordetitle% +%%%%%%%%%%%%%%%%%%%%%% +{\etitlefont% +{\bfseries{\@etitle}}}\par% +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jetitleeauthor% +%%%%%%%%%%%%%%%%%%%%%% +{\eauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeauthorereceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +{\euketukefont% +{\@euketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jereceiveeabstsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@eabstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeabstekeywordsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@ekeywordbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +\fi + + + +%%%%%%%%%%%%%%%%%%%%%%%%%% +% abstract +%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifDS@abstract +\ifDS@english +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\Engtitlefont% +{\@title}\par} +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Etitleauthorsep% +%%%%%%%%%%%%%%%%%%%%%%% +{\Engeauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eauthorreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%% + {\Enguketukefont% + {\@huketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Ereceiveabstsep% +%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +%=========== +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\jtitlefont% +{\@title}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jtitlejauthorsep% +%%%%%%%%%%%%%%%%%%%%%%%% +{\authorfont% +\authoroutput{}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jauthorjreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%% + {\juketukefont% + {\@huketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jreceivejabstsep% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jkeywordetitle% +%%%%%%%%%%%%%%%%%%%%%% +{\etitlefont% +{\bfseries{\@etitle}}}\par% +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jetitleeauthor% +%%%%%%%%%%%%%%%%%%%%%% +{\eauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeauthorereceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%%% + {\euketukefont% + {\@heuketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jereceiveeabstsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@eabstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +\fi\fi + + + + + +%================================================================================= +% maketitle Font +%================================================================================= + + +%% Times -> CM +\def\titleddash{{\usefont{OT1}{cmr}{bx}{n}\selectfont% +\leavevmode \raise.1zh\hbox to 2zw{---\hss ---}}} + + +%% +\def\jtitlefont{% +\if@submit + \fontsize{26\JQ}{34\h} + \usefont{JY1}{gt}{m}{n}% +% \usefont{OT1}{ptm}{b}{n}%Times-Bold* + \bfseries% + \mathversion{bold}\selectfont% +\else + \fontsize{26\JQ}{34\h} + \usefont{JY1}{fmb}{m}{n}% FutoMin + \usefont{OT1}{ptm}{b}{n}%Times-Bold* + \mathversion{bold}\selectfont% +\let\ddash\titleddash% +\fi +} + + +%% J-Uketuke +\def\juketukefont{% +\if@submit + \fontsize{10\JQ}{12\h}\normalfont\selectfont +\else + \fontsize{10\JQ}{12\h}\usekanji{JY1}{gt}{m}{n}% + \useroman{OT1}{phv}{m}{n}\selectfont +\fi} + + +%% v1.02c +%% E-title +\def\etitlefont{\fontsize{20\Q}{22\h}\mathversion{bold}\selectfont} + +%% E-Uketuke +\def\euketukefont{% +\if@submit + \fontsize{10\JQ}{12\h}\normalfont\selectfont +\else + \fontsize{10\JQ}{12\h}\useroman{OT1}{phv}{m}{n}\selectfont +\fi} + + +%% author-migikata +\def\labelfont{\useroman{OT1}{cmr}{m}{n}\selectfont} + +%% J-name +\def\authorfont{\fontsize{16\JQ}{22\h}\selectfont} + +%% J-(e)-name +\def\eauthorfont{\fontsize{14\JQ}{18\h}\scshape\selectfont}%14Qx18 + + +%% E-name +\def\Engeauthorfont{\fontsize{17\JQ}{22\h}\scshape\selectfont}%17Qx22 + +%% eauthor-migikata +\ifDS@english + \def\elabelfont{\normalfont}%\useroman{OT1}{ptm}{m}{n}\selectfont +\else + \def\elabelfont{\normalfont}%\useroman{OT1}{cmr}{m}{n}\selectfont +\fi +%%% + + + + +%% E-only-title +\def\Engtitlefont{\fontsize{28\Q}{34\h}\bfseries% +\mathversion{bold}\selectfont} + + + +%%E Uketuke +\def\Enguketukefont{\fontsize{10\JQ}{12\h}\sffamily\selectfont} + + + + +%============================================================================= +% uketsuke, euketsuke +%============================================================================= + + +\def\@uketsuke{% +\@received +\@ifundefined{@rereceived}{, }{% + \@rereceived + \@ifundefined{@rerereceived}{, }{\@rerereceived}% + \par +}% +{\@accepted}% +\@ifundefined{@released}{}{, \@released}% +} + + +\def\@euketsuke{% +\@ereceived +\@ifundefined{@erereceived}{, }{% + \@erereceived + \@ifundefined{@ererereceived}{, }{\@ererereceived}% + \par +}% +\@eaccepted +} + + +\def\@huketsuke{% +\@Presented} + + +\def\@heuketsuke{% +\@ePresented} + + + + + + + +\def\TUKI#1{\ifcase#1 xx\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi} + + + + +\ifDS@english +\def\received#1#2#3{% + \gdef\@received{Received: \TUKI{#2} #3, #1}% +} + +\def\accepted#1#2#3{% + \gdef\@accepted{Accepted: \TUKI{#2} #3, #1}% +} +\def\@accepted{} + +\def\rereceived#1#2#3{% + \gdef\@rereceived{, Revised: \TUKI{#2} #3, #1}% +} + +\def\rerereceived#1#2#3{% + \gdef\@rerereceived{/\TUKI{#2} #3, #1,}% +} +%%% +\def\released#1#2#3{% + \gdef\@released{Released: \TUKI{#2} #3, #1}% +} +%% +\else +%% +\def\received#1#2#3{% + \gdef\@received{$B\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatA{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\addvspace{\section@height}% +\addvspace{-.9mm}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak% +% \addvspace{.74\Cvs}% +\vspace{-.7mm}% +\addvspace{\section@height}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\noindent +{\vbox to 8.65mm + {\vfill% + \addvspace{.54\Cvs} + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par% + }\nobreak% + \vfill + }% + } +\endgroup +\fi +\par +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1em% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +%%%%%%%% +\else%------------------------------------------------------------- +%%%%%%%% +\def\@sectA#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatA{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +%%%%%%%%%%%% +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \addvspace{.65\Cvs}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak{\par}% + \addvspace{.74\Cvs}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \noindent + {\vbox to 2.43\Cvs{\vfill% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par}% + \vfill}% + }\@@par% +\endgroup +\fi +\par\prevdepth=-1000pt% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1zw% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\fi + + + +\ifDS@english +\def\@seccntformatA#1{\csname the#1\endcsname.\hskip1em} +\else +\def\@seccntformatA#1{\csname the#1\endcsname.\hskip1zw} +\fi + + + +%%%<<<< 1.02 +\def\@ssectA#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ +%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \addvspace{.5\Cvs}% + \noindent% +%%% + #4{% + \@hangfrom{\hskip #1}% + \interlinepenalty \@M #5\@@par}% + \addvspace{.5\Cvs}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +\newif\if@afterindent \@afterindenttrue +\def\@afterheading{% + \@nobreaktrue + \everypar{% + \if@nobreak + \@nobreakfalse + \clubpenalty \z@ + \if@afterindent \else + {\setbox\z@\lastbox}% + \fi + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}} + +%---------------------------------------------------------------------------- +%---------------------------------------------------------------------------- + +%%%%%%%%%%%%%%% C +\def\@startsectionC#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty +\ifnum #2=\@ne + \vskip-\prevdepth \prevdepth\z@ \vskip\Cvs + \advance\@tempskipa-\Cvs \vspace*{\@tempskipa}% + \else +\addvspace\@tempskipa +\fi + \fi + \@ifstar + {\@ssectC{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sectC{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\def\@sectC#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatC{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{% +% \centering +\@hangfrom{\hskip #3\relax\@svsec}% +% \interlinepenalty \@M \protect\SECTUP{\jidoukintou{#8}}\@@par}% + \interlinepenalty \@M {#8}\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + {#7}}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} + +\ifDS@english +\def\@seccntformatC#1{\csname the#1\endcsname\hskip1em} +\else +\def\@seccntformatC#1{\csname the#1\endcsname\hskip1zw} +\fi + +\def\@ssectC#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% +% \centering +\@hangfrom{\hskip #1}% + \interlinepenalty \@M {#5}\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +\newif\if@afterindent \@afterindenttrue +\def\@afterheading{% + \@nobreaktrue + \everypar{% + \if@nobreak + \@nobreakfalse + \clubpenalty \z@ + \if@afterindent \else + {\setbox\z@\lastbox}% + \fi + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}} +\def\@hangfrom#1{\setbox\@tempboxa\hbox{#1}% + \hangindent \wd\@tempboxa\noindent\box\@tempboxa} + + + +%=========================================================== + + +\def\@startsectionAPP#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% +\ifnum #2=1\relax \vspace*{0mm}\fi%<--------------- + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssectC{#3}{#4}{#5}{#6}}%<-------------------- + {\@dblarg{\@sectAPP{#1}{#2}{#3}{#4}{#5}{#6}}}} + + + + +\ifDS@english%%!!!!!!! +\def\@sectAPP#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatAPP{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\addvspace{\section@height}% +\addvspace{-.9mm}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak% +% \addvspace{.74\Cvs}% +\vspace{-.7mm}% +\addvspace{\section@height}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup +\mbox{}\par% +\vspace{-\baselineskip}%% +\noindent +{\vbox to 8.65mm + {\vfill% + \addvspace{.54\Cvs} + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par% + }\nobreak% + \vfill + }% + } +\endgroup +\fi +\par +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1em% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +%%%%%%%% +\else%------------------------------------------------------------- +%%%%%%%% +\def\@sectAPP#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{%\protect\rule{0mm}{21.75mm} +\@seccntformatAPP{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@%\@tempskipa>\z@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\SECTwd=\hbox{% +\begingroup +\noindent +#6{\@hangfrom{\hskip #3\relax\@svsec}}% +\interlinepenalty \@M {{#8}}% +\endgroup}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setbox\@tempboxb\hbox{#6{% +{\hskip #3\relax{\csname #2@font\endcsname \@svsec}}}}% +%%%%%%%%%%%\the\wd\SECTwd +\ifdim \wd\SECTwd > \columnwidth +%%%%%%%%%%%% +\@tempdima\columnwidth +\advance\@tempdima-\wd\@tempboxb +%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \addvspace{.65\Cvs}% + \noindent% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M + %\noindent + \hangindent\wd\@tempboxb\hangafter=1 + #8\@@par}\nobreak{\par}% + \addvspace{.74\Cvs}% +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begingroup + \mbox{}\par% + \vspace{-\baselineskip}%% + \noindent + {\vbox to 2.43\Cvs{\vfill% + #6{\@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M {#8}\@@par}% + \vfill}% + }\@@par% +\endgroup +\fi +\par\prevdepth=-1000pt% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}\hskip1zw% + \fi% + {#7}%\vfill +}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\z@ + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\fi + + +\ifDS@english +\def\@seccntformatAPP#1{\csname the#1\endcsname.\hskip1em} +\else +\def\@seccntformatAPP#1{\csname the#1\endcsname.\hskip1zw} +\fi + + +%---------------------------------------------------------------------------- + + + + +%----------------------------------- +\newcommand{\section}{\@startsectionA{section}{1}{\z@}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% \@plus1.3\Cdp\@minus10.5\Cdp}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% +{\reset@font +\fontsize{16\JQ}{21\h}\selectfont% +\bfseries\mathversion{bold}% +}} +%----------- + + + +%======================= + \newcommand{\subsection}{\@startsectionC{subsection}{2}{\z@}% +{\Cvs}%{.3125\Cvs}%{.3125\Cvs \@plus.2\Cdp \@minus.5\Cdp}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% {.5\Cvs \@plus.3\Cdp}% + {\reset@font\normalsize\bfseries\mathversion{bold}}} + + +%=======================%======================= + + +\newcommand{\subsubsection}{\@startsectionC{subsubsection}{3}{\z@}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}%{.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}%{.5\Cvs \@plus.3\Cdp}% + {\reset@font\normalsize\bfseries\mathversion{bold}}} + + +%=======================%======================= + + + +\newcommand{\paragraph}{\@startsectionC{paragraph}{3}{\z@}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {\reset@font\normalsize\bfseries}} + +\newcommand{\subparagraph}{\@startsectionC{subparagraph}{3}{\z@}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {0.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% + {\reset@font\normalsize\bfseries}} + + +%============================================================================ + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% fig, tab +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifDS@english +\newcommand{\figurename}{Fig.} +\newcommand{\tablename}{Table} +\else +\newcommand{\figurename}{$B?^(B} +\newcommand{\tablename}{$BI=(B} +\fi + + + +\def\CaptionType{\def\@captype} + + +\newdimen\@abovecapskip +\newdimen\@belowcapskip + + +\newcounter{figure} +\renewcommand{\thefigure}{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename~\thefigure} +\def\fnum@efigure{Fig.~\thefigure} +\newenvironment{figure} + {\@floatenv +% \if@tecrep +\capwidth\hsize\ecapwidth\hsize +%\else +%\capwidth65mm\ecapwidth65mm +%\fi + \abovecaptionskip1mm\belowcaptionskip\z@\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\@floatenv\capwidth.66\textwidth\ecapwidth.66\textwidth + \abovecaptionskip1mm\belowcaptionskip\z@\@dblfloat{figure}} + {\end@dblfloat} + + + + +\newcounter{table} +\renewcommand{\thetable}{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename~\thetable} +\def\fnum@etable{Table~\thetable} +\newenvironment{table} + {\@floatenv +% \if@tecrep +\capwidth\hsize\ecapwidth\hsize +%\else +%\capwidth65mm\ecapwidth65mm +%\fi + \abovecaptionskip\z@\belowcaptionskip1mm\@float{table}} + {\end@float} +\newenvironment{table*} + {\@floatenv\capwidth.66\textwidth\ecapwidth.66\textwidth + \abovecaptionskip\z@\belowcaptionskip1mm\@dblfloat{table}} + {\end@dblfloat} + + + +\def \@floatboxreset{% +\reset@font +\footnotesize\baselineskip16\h +%\tabcolsep.5zw +\@setminipage +} + +\def\@floatenv{\let\center\Center} + + +\def\Center{\topsep\z@\parsep\z@\partopsep\z@\itemsep\z@ + \trivlist \centering\item\relax} +\def\endCenter{\endtrivlist} + + + + +\long\def\@caption#1[#2]#3{\par + \begingroup + \@parboxrestore + \if@minipage + \@setminipage + \fi + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + + + +\newlength\abovecaptionskip +\newlength\belowcaptionskip + + + +\newbox\@tempboxb +\newdimen\capwidth +\newdimen\ecapwidth + + + + +%%%<<< 1.02 +\long\def\@makecaption#1#2{\footnotesize% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{\footnotesize{\bfseries% +#1}\hskip1\zw\shortstack[l]{#2}}% + \@tempdima\ht\@tempboxa \advance \@tempdima\dp\@tempboxa% + \setbox\@tempboxb\hbox{\footnotesize{\bfseries% +#1}\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \capwidth + \hfil\parbox[t]{\capwidth}{\hangindent\wd\@tempboxb +{\bfseries% + #1}\hskip1\zw #2}\vskip4\@Q + \else + \hfil\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb +{\bfseries% + #1}\hskip1\zw #2}%\vskip4\@Q +\par\prevdepth=0pt% +\vskip-1.5\h% + \fi + \else %% < + \ifdim \wd\@tempboxa > \capwidth + \hfil\parbox[t]{\capwidth}{\hangindent\wd\@tempboxb +{\bfseries% + #1}\hskip1\zw #2}%\vskip4\@Q +%%% +\ifx \@captype\TABLE + \ifDS@english + \par\vskip.25mm% + \else + \par\prevdepth=0pt\vskip-1.5mm% + \fi +\else + \par\prevdepth=0pt\vskip-1.5\h% +\fi +%%% + \else + \setbox\@tempboxb\hbox{#2}% +%% +% \ifdim \wd\@tempboxb < 4.5\zw %% > +% \hbox to\hsize{\hfil % +%{\bfseries% +%#1}\hskip1\zw%\kintou{5\zw}%% +%{#2}\hfil}% +% \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% +\ifDS@english \relax\else \vspace{-\belowcaptionskip}\fi +% \fi + \fi + \fi + \vspace{\belowcaptionskip}\par +} + + + + + + + +\long\def\ecaption#1{{\footnotesize% + \setbox\@tempboxa\hbox{\footnotesize{\bfseries% +\csname fnum@e\@captype\endcsname}% +\hskip1\zw\shortstack[l]{#1}}% + \@tempdima\ht\@tempboxa \advance \@tempdima\dp\@tempboxa + \setbox\@tempboxb\hbox{\footnotesize{\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw}%% << +%%%%%%%%%%%% + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \ecapwidth + \hfil\parbox[t]{\ecapwidth}{\hangindent\wd\@tempboxb +{\bfseries% + \csname fnum@e\@captype\endcsname}\hskip1\zw #1}\par + \else + \hfil\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb +{\bfseries% + \csname fnum@e\@captype\endcsname}\hskip1\zw #1}\par + \fi +%%% + \else %% < + \ifdim \wd\@tempboxa > \ecapwidth + \hfil\parbox[t]{\ecapwidth}{\hangindent\wd\@tempboxb +{\bfseries% + \csname fnum@e\@captype\endcsname}\hskip1\zw #1}\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \fi +}%!!<--- + \vspace{2\belowcaptionskip}\par +} + + + + + + + + + + + +%================================================================================================== + + +%%## % ipsjpapers.sty ##%% +%% from "ipsjpapers.sty", a little customized +\leftmargini\Cwd +\leftmarginii.5\Cwd +\leftmarginiii2\Cwd +\leftmarginiv2\Cwd +\leftmarginv2\Cwd +\leftmarginvi2\Cwd + +\def\lst@listi{\labelsep\Cwd \labelwidth.25\Cwd + \rightmargin\z@ \listparindent\z@ \itemindent\z@ + \partopsep\z@ \parsep\z@ \topsep\z@ \itemsep\z@} + + +\def\@listi{\leftmargin\leftmargini \lst@listi} +\def\@listii{\leftmargin\leftmarginii \lst@listi} +\def\@listiii{\leftmargin\leftmarginiii \lst@listi} +\def\@listiv{\leftmargin\leftmarginiv \lst@listi} +\def\@listv{\leftmargin\leftmarginv \lst@listi} +\def\@listvi{\leftmargin\leftmarginvi \lst@listi} + + + +\@listi + +\def\labelenumi{(\,\theenumi\,)} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\,\theenumii\,)} +\def\theenumii{\alph{enumii}} + +\def\p@enumii{\theenumi} +\def\labelenumiii{(\,\theenumiii\,)} +\def\theenumiii{\roman{enumiii}} + +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{(\,\theenumiv\,)} + +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth} + \list{\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{##1\hss}% + \leftmargin2\Cwd \labelwidth2\Cwd \labelsep\z@ +\itemsep\z@\topsep\z@\parsep\z@%%!!! +}\fi} + + +\let\endenumerate\endlist + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + + +\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss##1\hss}% + \labelwidth2\Cwd \labelsep\z@ +\itemsep\z@\topsep\z@\parsep\z@%%!!! +}\fi} +\let\enditemize\endlist + + + +\def\description{\list{}{\labelwidth\z@ \labelsep\Cwd +\itemsep\z@\topsep\z@\parsep\z@%%!!! + \itemindent\labelsep \advance\itemindent-\leftmargin + \def\makelabel##1{\bf ##1}}} +\let\enddescription\endlist + + +\let\latex@trivlist\@trivlist +\def\lst@trivlist#1#2{% +\itemsep\z@\topsep\z@\parsep\z@%%!!! +\leftmargin#1\relax + \itemindent\labelwidth \advance\itemindent\labelsep + \advance\itemindent#2\relax + \let\@trivlist\latex@trivlist \@trivlist} + +\def\lst@Trivlist{\def\@trivlist{\lst@trivlist\z@\z@}} +\def\Enumerate{\lst@Trivlist \enumerate} +\let\endEnumerate\endlist +\def\Itemize{\lst@Trivlist \itemize} +\let\endItemize\endlist +\def\Description{\lst@Trivlist \description} +\let\endDescription\endlist + +\def\lst@TRIVLIST{\def\@trivlist{\lst@trivlist\z@\Cwd}} +\def\ENUMERATE{\lst@TRIVLIST \enumerate} +\let\endENUMERATE\endlist +\def\ITEMIZE{\lst@TRIVLIST \itemize} +\let\endITEMIZE\endlist +\def\DESCRIPTION{\lst@TRIVLIST \description} +\let\endDESCRIPTION\endlist + +\def\lst@strivlist{\def\@trivlist{\lst@trivlist\Cwd{-\Cwd}}} +\@namedef{enumerate*}{\lst@strivlist \enumerate} +\@namedef{endenumerate*}{\endlist} +\@namedef{itemize*}{\lst@strivlist \itemize} +\@namedef{enditemize*}{\endlist} +\@namedef{description*}{\lst@strivlist \description} +\@namedef{enddescription*}{\endlist} + + + + +\def\verse{\let\\=\@centercr + \list{}{% +\itemsep\z@\topsep\z@\parsep\z@%%!!! +\itemindent-\Cwd \listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin\Cwd}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{% +\itemsep\z@\topsep\z@\parsep\z@%%!!! +\listparindent\Cwd \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endquotation\endlist + +\def\quote{\list{}{\itemsep\z@\topsep\z@\parsep\z@%%!!! +\rightmargin\leftmargin}\item[]} +\let\endquote\endlist + + + + + + + + + + + +\def\newtheorem{\@ifstar + {\theo@newtheorem{\theo@it}{\ }}{\theo@newtheorem{}{\theo@sp}}} +\def\theo@newtheorem#1#2#3{\@namedef{theo@it@#3}{#1}\@namedef{theo@sp@#3}{#2}% + \@ifnextchar[%] + {\@othm{#3}}{\@nthm{#3}}} +\def\@begintheorem#1#2{\DESCRIPTION \csname theo@it@\@currenvir\endcsname + \item[#1\csname theo@sp@\@currenvir\endcsname #2]} +\def\@opargbegintheorem#1#2#3{\DESCRIPTION + \csname theo@style@\@currenvir\endcsname + \item[#1\csname theo@sp@\@currenvir\endcsname #2\ (#3)]} +\let\@endtheorem\endlist +\ifDS@english +\let\theo@it\it \let\theo@sp\ % +\else +\let\theo@it\relax \let\theo@sp\relax +\fi + +%================================================================================================== + + +\ifDS@english +\newcommand{\refname}{References} +\else +\newcommand{\refname}{$B;29MJ88%(B} +\fi + + +\newdimen\bibindent +\setlength\bibindent{1.5em} +\def\@biblabel#1{[#1]} + + + + + +\newenvironment{thebibliography}[1] + {% +\ifDS@english +%\fontsize{11\Q}{12\h}\selectfont% +\footnotesize\baselineskip12\h % 11Qx12H +\else +\small\baselineskip15\h % 12Qx15H +\fi + \subsection*{{\normalsize%\footnotesize% +\refname}}% +\vspace*{2mm}%% +%\noindent{\bfseries{\refname}}% +%%%%%%%%%%%% +\def\@mklab##1{##1\hfil } % +%\def\@mklab##1{\hfil ##1} +% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep +% +% + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \parskip\z@ + \topsep\z@\partopsep\z@ + \itemsep1\h + \parsep\z@ +% \baselineskip3.5mm +% + \sloppy + \clubpenalty\z@ + \@clubpenalty\clubpenalty + \widowpenalty\z@ + \sfcode`\.\@m +} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist\unskip} +%%%% +\let\@openbib@code\@empty + + + + +%================================================================================================== + + +%%%%%%%%%%%%%%%%% These are borrowed style files %%%%%%%%%%% +%%% from LaTeX +\def\pushtowall{\relax\leavevmode +\ifmmode\def\next{\mathpalette\mathpushw@ll} +\else\let\next\makepushw@ll \fi \next} +\def\finpushw@ll{\wd0=0pt \box0} +\def\makepushw@ll#1{\setbox0=\hbox{#1}\finpushw@ll} +\def\mathpushw@ll#1#2{\setbox0=\hbox{$\m@th#1{#2}$}\finpushw@ll} +%%%% + +\ifDS@english +\newcommand{\profname}{\relax} +\else +\newcommand{\profname}{$BCxR2p(B} +\fi + + + +\newenvironment{biography}{% +\vspace{2\baselineskip}% +% \subsection*{\profname}% +%\noindent{\bfseries{\profname}}\par +\nobreak% + \footnotesize\normalfont + \parindent\z@ + \vskip\baselineskip + \penalty\@medpenalty + \penalty\@M + \let\@profile\@eprofile + \let\n@profile\n@eprofile +%%% +\ifDS@english +\vskip.5\Cvs% +\else +\vskip-.5\Cvs% +\fi +%%% +}{\par} + + +%% +\newcounter{profile} +%% + + +\def\profile{\@ifstar{\n@eprofile}{\@eprofile}} + + +\def\@eprofile{% +\@ifnextchar[%% ] +{\ip@eprofile} +{\no@eprofile} +} + + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@pic{#2}{#3}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopicnoframe{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopic{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +%===================== +\else +%===================== +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3#4{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@pic{#2}{#3}{#4}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopicnoframe{#1}{#2}{#3}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% + \fmt@pro@nopic{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\fi + + +\def\BreakMember{\def\@BreakMember{\\}} +\let\@BreakMember\relax + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname% + \fmt@pro@pic{#2}{#3}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopicnoframe{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopic{#1}{#2}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +%===================== +\else +%===================== +%%%%%%%%%%%%%%%%%%%%% +\gdef\ip@eprofile[#1]#2#3#4{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname% + \fmt@pro@pic{#2}{#3}{#4}{#1}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\n@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopicnoframe{#1}{#2}{#3}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\gdef\no@eprofile#1#2#3{% + \stepcounter{profile}% + \vbox{% +% \fmt@pro@noEname{#1}% + \fmt@pro@nopic{#1}{#2}{#3}% + }% + \vskip2\Cvs% +} +%%%%%%%%%%%%%%%%%%%%% +\fi + + + + + + + + + +%%% +\ifDS@english +\def\fmt@pro@pic#1#2#3{% +\noindent +\begin{minipage}[t]{\columnwidth}% +\leavevmode% +\noindent\IfFileExists{#3.eps}{% +\noindent +{\raisebox{-28.19mm}{\pushtowall{%{-19.3mm} +\smash{% +\resizebox{25mm}{31mm}{\includegraphics{#3.eps}}}}}%<-- kao +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +}%{% +%\noindent{\smash{\raisebox{8mm}{\pushtowall{% +%\begin{minipage}[t]{25mm} +% \hrule \@height .1mm +% \hbox to 25mm{\vrule \@width .1mm \@height 31mm\hss +% \vrule \@width .1mm \@height 31mm}% +% \hrule \@height .1mm +%\end{minipage} +%}}}} +%}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pushtowall{\raisebox{.5mm}{%% +\begin{minipage}[t]{\columnwidth}% +%\raggedright% +%\penalty=-200% +\hangindent30mm\hangafter-8\relax +\mbox{\fontsize{13\Q}{18\h}\selectfont\bfseries #1}\hskip.5em% +%% +% +%\@BreakMember%% +%%%%%%%%%%%%%% +%\if #1m\relax +% \hangindent31mm{\normalsize (Member)}\else% +%\if #1s\relax +% \hangindent31mm{\normalsize (Student Member)}\else% +%\if #1f\relax +% \hangindent31mm{\normalsize (Member, Fellow)}\else% +%\if #1h\relax +% \hangindent31mm{\normalsize (Honorary Member, Fellow)}\else% +%\if #1n\relax +% \relax +% \else +% \relax +%\fi\fi\fi\fi\fi +%%%%%%%%%% +%\\[.5\Cvs] +%============== +\baselineskip=18\h% +{\fontsize{13\Q}{18\h}\selectfont% +#2} +%============== +\end{minipage}}}% +\end{minipage}% +%\global\let\@BreakMember\relax +} +%=============================================================== +\else +%=============================================================== +\def\fmt@pro@pic#1#2#3#4{% +\noindent +%%% kao +\begin{minipage}[t]{\columnwidth}% +\leavevmode% +\noindent\IfFileExists{#4.eps}{% +\noindent +{\raisebox{-27.8mm}{\pushtowall{%{-19.3mm} +\smash{% +\resizebox{25mm}{31mm}{\includegraphics{#4.eps}}}}}%<-- kao +}% +%%%%%% +}%{% +%\noindent{\smash{\raisebox{8mm}{\pushtowall{% +%\begin{minipage}[t]{25mm} +% \hrule \@height .1mm +% \hbox to 25mm{\vrule \@width .1mm \@height 31mm\hss +% \vrule \@width .1mm \@height 31mm}% +% \hrule \@height .1mm +%\end{minipage} +%}}}}}% +%%%%%%%%%%%% +\pushtowall{\begin{minipage}[t]{\columnwidth}% +\hangindent30mm\hangafter-7\relax +\mbox{\fontsize{15\JQ}{0\h}\selectfont\bfseries #2}%% +%% +\hskip1.6zw%%% +\@BreakMember%% +%%%%%%%%%%%%%% +\if #1m\relax + \hangindent30mm{\normalsize \inhibitglue$B!J@52q0w!K(B}\else% +\if #1s\relax + \hangindent30mm{\normalsize \inhibitglue$B!J3X@82q0w!K(B}\else% +\if #1f\relax + \hangindent30mm{\normalsize \inhibitglue$B!J%U%'%m!M@2q0w!$%U%'%m!M@2q0w!$%U%'%m!M@2q0w!$%U%'%m!\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi} + + + + + + +\long\def\@footnotetext#1{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% + + + + +\def\footfont{% +\ifDS@english + \fontsize{11\Q}{13\h}\normalfont\selectfont% +\else + \fontsize{11\JQ}{14\h}\normalfont\selectfont% +\fi +} + + +%%%<<<< 1.02 +\long\def\@makefntext#1{\footfont% +\ifDS@english +\setbox\z@=\hbox{\makebox[1.61\Cwd][l]{\@makefnmark}}% +\else +\setbox\z@=\hbox{\makebox[1.58\Cwd][l]{\@makefnmark}}% +\fi +\def\par{{\@@par}} +\@tempdima\columnwidth +\advance\@tempdima-\wd\z@ +\parshape 1 \wd\z@ \@tempdima +\parindent=1\zw +\noindent +\llap{\unhbox\z@}#1} + + + + +%================================================================================================== + +%================================================================================================== + + + + +%% from fleqn.clo +%%\ProvidesFile{fleqn.clo} +%% [1998/08/17 v1.1c Standard LaTeX option +%% (flush left equations)] +\newdimen\mathindent +\AtEndOfClass{\mathindent1\zw}% \leftmargini +\renewcommand\[{\relax + \ifmmode\@badmath + \else + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep 4\p@ \@plus2\p@ \@minus\p@ + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \item[]\leavevmode + \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$ + \hskip\mathindent\bgroup + \fi} +\renewcommand\]{\relax + \ifmmode + \egroup $\hfil% $ + \egroup + \end{trivlist}% + \else \@badmath + \fi} +\renewenvironment{equation}% + {\@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}% + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep 4\p@ \@plus2\p@ \@minus\p@ + \trivlist \item[]\leavevmode + \hb@xt@\linewidth\bgroup $\m@th% $ + \displaystyle + \hskip\mathindent}% + {$\hfil % $ + \displaywidth\linewidth\hbox{\@eqnnum}% + \egroup + \endtrivlist} +\renewenvironment{eqnarray}{% + \stepcounter{equation}% + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep 4\p@ \@plus2\p@ \@minus\p@ + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue\m@th + \global\@eqcnt\z@ + \tabskip\mathindent + \let\\=\@eqncr + \setlength\abovedisplayskip{\topsep}% + \ifvmode + \addtolength\abovedisplayskip{\partopsep}% + \fi + \addtolength\abovedisplayskip{\parskip}% + \setlength\belowdisplayskip{\abovedisplayskip}% + \setlength\belowdisplayshortskip{\abovedisplayskip}% + \setlength\abovedisplayshortskip{\abovedisplayskip}% + $$\everycr{}\halign to\linewidth% $$ + \bgroup + \hskip\@centering + $\displaystyle\tabskip\z@skip{##}$\@eqnsel&% + \global\@eqcnt\@ne \hskip.8\arraycolsep \hfil${##}$\hfil&% + \global\@eqcnt\tw@ \hskip.8\arraycolsep + $\displaystyle{##}$\hfil \tabskip\@centering&% + \global\@eqcnt\thr@@ + \hb@xt@\z@\bgroup\hss##\egroup\tabskip\z@skip\cr}% + {\@@eqncr + \egroup + \global\advance\c@equation\m@ne$$% $$ + \@ignoretrue + } +%%\endinput +%% +%% End of file `fleqn.clo'. + +\def\@eqnnum{{\normalfont \normalcolor (\theequation)\hspace*{3mm}}} + + +%============================================================================= + + +%% Editor + +\def\Ediname{\csname Ediname@\@type\endcsname} + + +\def\Ediname@DAM{\ifDS@english% +{Editor in Charge:} +\else {$BC4EvJT=80Q0w(B} +\fi}%% + +\def\Ediname@TBIO{Communicated by} +\def\Ediname@CVA{Communicated by} + + +\def\Ediname@SLDM{\ifDS@invited +{Invited by Editor-in-Chief:}% +\else% +{Recommended by Associate Editor:}% +\fi} + + +\let\Ediname@TOD\Ediname@DAM +\let\Ediname@Data\Ediname@TBIO +\let\Ediname@Survey\Ediname@TBIO +\let\Ediname@Research\Ediname@CVA +\let\Ediname@Short\Ediname@SLDM + + + +\def\Edifont{\normalfont\normalsize} + + + +\def\Editor#1{% +\vspace{-.5\baselineskip}% +\ifDS@english +%% +\ifx\Ediname\relax% +\noindent +\hfill ({\Edifont{\Ediname@DEF}}%%) +\else +\noindent +\hfill ({\Edifont{\Ediname}}%%) +\fi +\else +\noindent +\hfill \<$B!J(B{\Edifont{\Ediname}}%%$B!K(B +\fi +%% +\ifDS@english +\hskip.5em% +\textit{#1})\else +\hskip1\zw% +#1$B!K(B\fi +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +%============================================================================= + + + +\newcommand\appendixname{% +\ifDS@english Appendix\else \protect\kintou{5zw}{$BIUO?(B}\fi} + + + + +\newcommand\appendix{\par +%\def\@seccntformat##1{a\thesection.\the\c@subsection\ }% ver2.3 +\ifDS@english +\def\@seccntformatAPP##1{\csname the##1\endcsname\hskip1em} +\else +\def\@seccntformatAPP##1{\csname the##1\endcsname\hskip1zw} +\fi +\vspace*{\Cvs}% +\renewcommand{\section}{\@startsectionAPP{section}{1}{\z@}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% \@plus1.3\Cdp\@minus10.5\Cdp}% +{.00001\Cvs}% \@plus.3\Cdp \@minus.2\Cdp}% +{\reset@font +\fontsize{16\JQ}{21\h}\selectfont% +\bfseries\mathversion{bold}% +}}% +%----------- +\section*{\appendixname} + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{equation}{0}% + \setcounter{figure}{0}% + \setcounter{table}{0}% +%\renewcommand\thesection{\@Alph\c@section} +%\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} +% +\renewcommand\thesection{A.\@arabic\c@section} +\renewcommand\thesubsection{\thesection.\@arabic\c@subsection} +% +%\renewcommand\theequation {A.\@arabic\c@equation} +\renewcommand\theequation {A.\@arabic\c@equation} +% +\renewcommand \thefigure {{A$\cdot$\@arabic\c@figure}} +\renewcommand\thetable{{A$\cdot$\@arabic\c@table}} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename~\thefigure} +\def\fnum@table{\tablename~\thetable} +%\@addtoreset{equation}{section} +%\@addtoreset{figure}{section} +%\@addtoreset{table}{section} +} + + + + +%============================================================================= + + +\ifDS@english +\edef\zw{em}\else +\edef\zw{zw}\fi + +\let\Cite\cite + + + +\if@twocolumn + \setlength\leftmargini {2\Cwd}% +\else + \setlength\leftmargini {2\Cwd}% +\fi + + +\if@twocolumn + \setlength\marginparsep{5mm} +\else + \setlength\marginparsep{5mm} +\fi + + +\if@twocolumn + \twocolumn + \sloppy +\else + \onecolumn +\fi + +\if@twoside + \@mparswitchtrue +\else + \@mparswitchfalse +\fi + +%\sloppy +\flushbottom +%\raggedbottom +\sloppy + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setlength{\paperheight}{297mm} +\setlength{\paperwidth}{210mm} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \ifDS@english +%%\AtBeginDocument{\RequirePackage{txfonts}} +\textwidth 177mm + \@settopoint\textwidth + \textheight 55\Cvs +% \textheight 250.75mm +% \textheight 55\baselineskip + \advance \textheight \topskip + \advance \textheight .4mm %% limit .31mm + \@settopoint\textheight + \setlength\marginparsep{5mm} +\else +\textwidth 177mm + \@settopoint\textwidth + \textheight 47\Cvs + \advance \textheight \topskip + \advance \textheight .4mm %% limit .31mm + \@settopoint\textheight + \setlength\marginparsep{5mm} +\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% +\@tempdima\paperwidth +\advance\@tempdima-\textwidth +\@tempdima.5\@tempdima +\advance\@tempdima-1in +\oddsidemargin\@tempdima +\evensidemargin\@tempdima +\setlength{\topmargin}{-17mm}% + + + +% +\columnsep 8mm + +%% \doublerulesep is 1pt (H.N.) +\arraycolsep5pt +\tabcolsep6pt +\arrayrulewidth.4pt +\doublerulesep1pt +\tabbingsep.5\Cwd + +\skip\@mpfootins\skip\footins +\fboxsep3pt \fboxrule.4pt + + +%% SKIP +\def\onelineskip{\par\vspace{1\baselineskip}\par} +\def\halflineskip{\par\vspace{.5\baselineskip}\par} + + + +%% kintou +\def\kintou#1#2{\ifDS@english +\relax\else +\@ifundefined{jintercharskip}% + {\leavevmode\hbox to #1{% + \kanjiskip\z@ \@plus 1fill \@minus 1fill\xkanjiskip\kanjiskip #2}}% + {\leavevmode\hbox to #1{\kanjiskip\z@ \@plus 1fill \@minus 1fill + \jasciikanjiskip\kanjiskip #2}}% +\fi +} + + +%% runy +\def\ruby#1#2{\leavevmode \setbox0=\hbox{#1}\setbox1=\hbox{\tiny #2}%% < + \ifdim\wd0>\wd1 \dimen0=\wd0 \else \dimen0=\wd1 \fi + \hbox{\kanjiskip=\fill + \vbox{\hbox to \dimen0{\tiny \hfil#2\hfil}% + \nointerlineskip \hbox to \dimen0{\hfil#1\hfil}}}} + +%% Proof end +\def\QED{{\unskip\nobreak\hfil\penalty50 + \hskip1\zw\hbox{}\nobreak\hfil \hbox{$\Box$\hskip1\zw} + \parfillskip\z@ \finalhyphendemerits\z@\par}} + + +%% +\def\Hline{\noalign{\hrule height 0.4mm}} + + + +\def\thepage{\the\c@page} + + +\hbadness4000 +\vbadness10001 +\tolerance4000\pretolerance\m@ne +\clubpenalty\z@ +\widowpenalty\z@ +\displaywidowpenalty\z@ +\interdisplaylinepenalty\z@ %% 100 +\predisplaypenalty\z@ %% 1000 + + +\pagestyle{headings} + + + + + +%================================================================================================== +%================================================================================================== + + +\def\long@fig{\ifDS@english {Figure~\nobreak}\else {\figurename~\nobreak}\fi} +\def\short@fig{\ifDS@english {Fig.\,\nobreak}\else {\figurename~\nobreak}\fi} +\def\long@figs{\ifDS@english {Figures~\nobreak}\else {\figurename~\nobreak}\fi} +\def\short@figs{\ifDS@english {Figs.\,\nobreak}\else {\figurename~\nobreak}\fi} + +\def\long@tab{\ifDS@english {Table~}\else {\tablename~\nobreak}\fi} +\def\short@tab{\ifDS@english {Table~}\else {\tablename~\nobreak}\fi} +\def\long@tabs{\ifDS@english {Tables~}\else {\tablename~\nobreak}\fi} +\def\short@tabs{\ifDS@english {Tables~}\else {\tablename~\nobreak}\fi} + + + +\def\Figref{\bgroup\let\prefix@figtabref\long@fig + \@ifstar\figtabref@star\figtabref@} +\def\figref{\bgroup\let\prefix@figtabref\short@fig + \@ifstar\figtabref@star\figtabref@} +\def\Figsref{\bgroup\let\prefix@figtabref\long@figs + \@ifstar\figtabref@star\figtabref@} +\def\figsref{\bgroup\let\prefix@figtabref\short@figs + \@ifstar\figtabref@star\figtabref@} + +\def\Tabref{\bgroup\let\prefix@figtabref\long@tab + \@ifstar\figtabref@star\figtabref@} +\def\tabref{\bgroup\let\prefix@figtabref\short@tab + \@ifstar\figtabref@star\figtabref@} +\def\Tabsref{\bgroup\let\prefix@figtabref\long@tabs + \@ifstar\figtabref@star\figtabref@} +\def\tabsref{\bgroup\let\prefix@figtabref\short@tabs + \@ifstar\figtabref@star\figtabref@} + + + +\def\figtabref@star#1{\prefix@figtabref\ref{#1}\egroup} + +\def\figtabref@#1{% + \let\bf@or@normal\normalfont + \@ifundefined{used@#1}{\expandafter\gdef\csname used@#1\endcsname{used}% + \let\bf@or@normal\bfseries}{\relax}% + \bf@or@normal\prefix@figtabref\ref{#1}\egroup} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\def\urlj{% +\@ifnextchar[%% ] +{\n@urlj} +{\@urlj} +} + +\def\n@urlj[#1]#2{% +\normalfont +\if #11\relax +$BF~H(B{#1}$B!K(B\<} +\def\refdatee#1{\normalfont (accessed {#1})} + +\def\doi#1{\normalfont DOI: #1} + + + + + +\newenvironment{recommendation}{% +\normalsize% +\par\vskip\baselineskip% +\ifDS@english + \noindent{\bfseries{Editor's Recommendation}}\par +\else + \noindent{\bfseries{$B?dA&J8(B}}\par% +\fi +}{\par}%\vskip\baselineskip + + + + + +\def\acknowledgment{\par +\ifDS@english + {\bfseries{Acknowledgments}}% +\hskip1em\ignorespaces% +\else + {\bfseries{$B \baselineskip + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\parbox[t]{\twocolcapwidth}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hfil}% +\par\prevdepth=0pt% +\vskip4\@Q + \else +\hbox to\textwidth{\hss\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hss}% +\par\prevdepth=0pt% +\vskip4\@Q + \fi + \else %% < + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\begin{tabular}{p{\twocolcapwidth}}\hangindent\wd\@tempboxb + #1\hskip1\zw #2\end{tabular}\hfil}% +\par\prevdepth=0pt% +\vskip2.5\@Q +%\vskip12\@Q + \else + \setbox\@tempboxb\hbox{#2}% + \hbox to\textwidth{\hfil\hbox to\twocolcapwidth +{\hss\box\@tempboxa\hss}\hfil}% +\vskip\belowcaptionskip + \fi + \fi +} +%%%%% +\else +%%%%% +\long\def\@maketwocolcaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{#1\hskip1\zw\shortstack[l]{#2}}% + \@tempdima\ht\@tempboxa \advance \@tempdima \dp\@tempboxa + \setbox\@tempboxb\hbox{#1\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\parbox[t]{\twocolcapwidth}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hfil}\vskip2\@Q + \else +\hbox to\textwidth{\hss\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb + #1\hskip1\zw #2}\hss} +\vskip2\@Q + \fi + \else %% < + \ifdim \wd\@tempboxa > \twocolcapwidth + \hbox to\textwidth{\hfil\begin{tabular}{p{\twocolcapwidth}}\hangindent\wd\@tempboxb + #1\hskip1\zw #2\end{tabular}\hfil}\vskip2\@Q + \else + \setbox\@tempboxb\hbox{#2}% +% \ifdim \wd\@tempboxb < 4.5\Cwd %% > +% \hbox to\textwidth{\hss #1\hskip1\zw\kintou{5\Cwd}{#2}\hss}% +% \else + \hbox to\textwidth{\hfil\hbox to\twocolcapwidth +{\hss\box\@tempboxa\hss}\hfil}% +% \fi + \fi + \fi +} +\fi + + +\def\TABLE{table}%%!! + + + + +\long\def\twocolecaption#1{\footnotesize% + \setbox\@tempboxa% +\hbox{{\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw + \shortstack[l]{#1}}% + \@tempdima\ht\@tempboxa \advance \@tempdima \dp\@tempboxa + \setbox\@tempboxb\hbox{{\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw}%% << + \ifdim \@tempdima > \baselineskip + \ifdim \wd\@tempboxa > \twocolecapwidth +\hbox to\textwidth{\hss\parbox[t]{\twocolecapwidth}{\hangindent\wd\@tempboxb + {\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw #1}\hss}\par\prevdepth=0pt% + \else + \hbox to\textwidth{\hss\parbox[t]{\wd\@tempboxa}{\hangindent\wd\@tempboxb + {\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw #1}\hss}\par\prevdepth=0pt%% +\vskip5.9\h% + \fi + \else %% < + \ifdim \wd\@tempboxa > \twocolecapwidth +\hbox to\textwidth{\hfil\begin{tabular}{p{\twocolecapwidth}}\hangindent\wd\@tempboxb + {\bfseries% +\csname fnum@e\@captype\endcsname}\hskip1\zw #1\end{tabular}\hfil} +\par\prevdepth=0pt% +\vskip3\h% + \else + \hbox to\textwidth{\hfil\hbox to\twocolcapwidth% +{\hss\box\@tempboxa\hss}\hfil}% +\vspace{\belowcaptionskip}\par + \fi + \fi +\ifx \@captype\TABLE +\vspace{1mm}% +\else +\fi +} + + + + + + + + +\def\twocolfig#1{% +\hbox to \columnwidth{% +\hbox to \textwidth{\hss +#1 +\hss}\hss}} + + + +\def\dummyfigure#1{% + \begin{figure}[b] + \vspace{#1} + \vskip\abovecaptionskip + \phantom{\box\@dummyfigbox}\par + \end{figure} +} + +\def\dummyfiguret#1{% + \begin{figure}[t] + \vspace{#1} + \vskip\abovecaptionskip + \phantom{\box\@dummyfigbox}\par + \end{figure} +} + +%==================================== + + + + + +% +\long\def\contact#1{} + +% +\def\MARU#1{\raisebox{0.1zh}{{\rm +\ooalign{\hfil +\lower.168ex\hbox{\ifnum#1<10\relax {#1}\else \scalebox{.5}[1]{#1}\fi}% +\hfil\crcr +\mathhexbox20D}}}} + +% +\ifDS@english +\def\ddash{\leavevmode \raise.1mm\hbox to 1.95em{\hfil ---\hss ---\hfil}} +\else +\def\ddash{\leavevmode \raise.1zh\hbox to 2zw{---\hss ---}} +\fi + +\let\doubledash\ddash + +%% for ams +\AtBeginDocument{% +\mathindent1em% +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)\hskip1\zw}}%! +} + + + +%% sort cite +\def\@cite@itemsep{,\penalty\@m\ } +\def\@cite@firstdelim{} +\def\@cite@lastdelim{} + +\def\@cite#1#2{% + \ifvmode\leavevmode\fi\nobreak + \if@tempswa\@cite@without@comment{#1}{#2}% + \else \@cite@with@comment{#1}% + \fi} + +\def\@cite@without@comment#1#2{% + \@cite@firstdelim{#1, #2}\@cite@lastdelim}% + +\def\@cite@with@comment#1{% + \@cite@firstdelim{#1}\@cite@lastdelim +} + +\def\@citex[#1]#2{% + \let\@cite@reference@list\@empty + \let\@cite@undefined@reference\@empty + \@for\@tempa:=#2\do{% + \edef\@tempa{\expandafter\@firstofone\@tempa\@empty}% + \if@filesw + \immediate\write\@auxout{\string\citation{\@tempa}}% + \fi + \@ifundefined{b@\@tempa}% + {\G@refundefinedtrue + \@latex@warning{Citation `\@tempa' on page + \thepage \space undefined}% + \def\@cite@undefined@reference{% + \@cite@put@itemsep + \mbox{\reset@font\bfseries ?}}}% + {\edef\@tempb{{\@nameuse{b@\@tempa}}}% + \expandafter\@append@list\expandafter + \@cite@reference@list\@tempb}}% + \@simplify@list\@cite@reference@list + \@ascending@sort@list\@cite@reference@list\@compare@num + \@cite{{\let\@elt\@cite@output@elt + \def\@cite@put@itemsep{% + \def\@cite@put@itemsep{\@cite@itemsep}}% + \@cite@reference@list + \@cite@undefined@reference}}% + {#1}}% + + +\def\@cite@output@elt#1{% + \@cite@put@itemsep + \bgroup[#1]\egroup +} + +%%%%%%%%%%%%%%% +\def\@append@list#1#2{% + \@addto@macro#1{\@elt{#2}}}% + +\def\@addto@macro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}} + +\def\@simplify@list#1{% + \begingroup + \let\@templist\@empty + \loop\ifx#1\@empty\else + \@pop@list\@firstterm#1% + \expandafter\@append@list\expandafter\@templist + \expandafter{\@firstterm}% + \expandafter\@remove@from@list\expandafter#1% + \expandafter{\@firstterm}% + \repeat + \expandafter\endgroup\expandafter + \def\expandafter#1\expandafter{\@templist}} + +\def\@remove@from@list#1#2{% + \begingroup + \let\@templist\@empty + \def\@to@be@removed{#2}% + \let\@elt\@remove@from@list@elt + #1% + \expandafter\endgroup\expandafter + \def\expandafter#1\expandafter{\@templist}} + +\def\@remove@from@list@elt#1{% + \def\@tempa{#1}% + \ifx\@tempa\@to@be@removed\else + \@append@list\@templist{#1}% + \fi}% + +\def\@pop@list#1#2{% + \ifx#2\@empty\let#1\@empty + \else \expandafter\@pop@list@#2\@nil#1#2% + \fi +} + +\def\@pop@list@\@elt#1#2\@nil#3#4{% + \def#3{#1}\def#4{#2}} + + +\newcount\@compare@result + +\def\@compare@num#1#2{% + \@compare@result#1\relax + \advance\@compare@result-#2\relax +} + +\def\@ascending@sort@list{\@sort@list<} +\def\@descending@sort@list{\@sort@list>} + +\def\@sort@list#1#2#3{% + \begingroup + \let\@sort@templista\@empty + \def\@elt##1{% + \@addto@sorted@list#1\@sort@templista{#3}{##1}}% + #2% + \expandafter\endgroup\expandafter + \def\expandafter#2\expandafter{\@sort@templista}} + + +\newif\if@ignore@same@item + +\def\@addto@sorted@list#1#2#3#4{% + \begingroup + \let\@sort@templistb\@empty + \def\@tempz{\@elt{#4}}% + \def\@elt##1{% + #3{##1}{#4}% + \def\@tempa{\@elt{##1}}% + \let\@tempb\@empty + \ifnum\z@#1\@compare@result + \@csc@t\@tempa\@tempz\@tempa + \def\@tempb{\@addto@sorted@list@skip}% + \else + \ifnum\z@=\@compare@result + \if@ignore@same@item + \def\@tempb{\@addto@sorted@list@skip}% + \fi + \fi + \fi + \@csc@t\@sort@templistb\@sort@templistb\@tempa + \@tempb}% + #2\@addto@sorted@list@{\@elt{#4}}% + \expandafter\endgroup\expandafter + \def\expandafter#2\expandafter{\@sort@templistb}}% + +\def\@addto@sorted@list@skip#1\@addto@sorted@list@#2{% + \@addto@sorted@list@{#1}} + +\def\@addto@sorted@list@#1{% + \@addto@macro\@sort@templistb{#1}} + +\def\@csc@t#1#2#3{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{% + \expandafter#2#3}} + + + + +%%% kinsoku %%% + +\ifDS@english +\else +\postbreakpenalty`\`=\@M +\prebreakpenalty`'=\@M +\prebreakpenalty`)=\@M +\postbreakpenalty`(=\@M +\prebreakpenalty`]=\@M +\postbreakpenalty`[=\@M +\prebreakpenalty`\}=\@M +\postbreakpenalty`\{=\@M + +\prebreakpenalty`$B!&(B=\@M +\prebreakpenalty`$B!'(B=\@M +\prebreakpenalty`$B!((B=\@M +\prebreakpenalty`$B!)(B=\@M +\prebreakpenalty`$B!*(B=\@M + +\prebreakpenalty\jis"212D=\@M % $B!-(B +\postbreakpenalty\jis"212E=\@M % $B!.(B +\postbreakpenalty\jis"2146=\@M % $B!F(B +\prebreakpenalty\jis"2147=\@M % $B!G(B +\postbreakpenalty\jis"2148=\@M % $B!H(B +\prebreakpenalty\jis"2149=\@M % $B!I(B + +\prebreakpenalty`$B!K(B=\@M +\postbreakpenalty`$B!J(B=\@M +\prebreakpenalty`$B!Q(B=\@M +\postbreakpenalty`$B!P(B=\@M +\prebreakpenalty`$B!O(B=\@M +\postbreakpenalty`$B!N(B=\@M +\postbreakpenalty`$B!F(B=\@M +\prebreakpenalty`$B!G(B=\@M + +\postbreakpenalty\jis"214C=\@M %$B!L(B +\prebreakpenalty\jis"214D=\@M % $B!M(B +\postbreakpenalty\jis"2152=\@M % $B!R(B +\prebreakpenalty\jis"2153=\@M % $B!S(B +\postbreakpenalty\jis"2154=\@M % $B!T(B +\prebreakpenalty\jis"2155=\@M % $B!U(B +\postbreakpenalty\jis"2156=\@M % $B!V(B +\prebreakpenalty\jis"2157=\@M % $B!W(B +\postbreakpenalty\jis"2158=\@M % $B!X(B +\prebreakpenalty\jis"2159=\@M % $B!Y(B +\postbreakpenalty\jis"215A=\@M % $B!Z(B +\prebreakpenalty\jis"215B=\@M % $B![(B + +\prebreakpenalty`$B!<(B=\@M % 2.12(6) +\prebreakpenalty`$B!A(B=\@M % 2.12(6) + +\prebreakpenalty`$B$!(B=\@M +\prebreakpenalty`$B$#(B=\@M +\prebreakpenalty`$B$%(B=\@M +\prebreakpenalty`$B$'(B=\@M +\prebreakpenalty`$B$)(B=\@M +\prebreakpenalty`$B$C(B=\@M +\prebreakpenalty`$B$c(B=\@M +\prebreakpenalty`$B$e(B=\@M +\prebreakpenalty`$B$g(B=\@M +\prebreakpenalty\jis"246E=\@M % $B$n(B +\prebreakpenalty`$B%!(B=\@M +\prebreakpenalty`$B%#(B=\@M +\prebreakpenalty`$B%%(B=\@M +\prebreakpenalty`$B%'(B=\@M +\prebreakpenalty`$B%)(B=\@M +\prebreakpenalty`$B%C(B=\@M +\prebreakpenalty`$B%c(B=\@M +\prebreakpenalty`$B%e(B=\@M +\prebreakpenalty`$B%g(B=\@M +\prebreakpenalty\jis"256E=\@M % $B%n(B +\prebreakpenalty\jis"2575=\@M % $B%u(B +\prebreakpenalty\jis"2576=\@M % $B%v(B +\fi + + +\def\$B!'(B{\makebox[1zw][l]{$B!'(B}} + + + +\ifDS@draft\def\next{\input{ipsjdraft.sty}\endinput}\else\let\next\relax\fi +\next + +\ifDS@preface\def\next{\input{ipsjpref.sty}\endinput}\else\let\next\relax\fi +\next + + +\ifDS@OT\def\next{\input{ipsjot.sty}\endinput}\else\let\next\relax\fi +\next + +%% v1.02c +\ifDS@techreq\def\next{\input{ipsjtech.sty}\endinput}\else\let\next\relax\fi +\next + + +%% not use submit +\def\zdash{{\usefont{OT1}{cmr}{bx}{n}\selectfont\leavevmode \raise.1zh\hbox {---}}} + +\def\ndash{{\usefont{OT1}{cmr}{bx}{n}\selectfont\leavevmode \raise.1zh\hbox {--}}} + + + + + + +\endinput + + + + + + diff -r 000000000000 -r a5facba1adbc Paper/ipsjcommon.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/ipsjcommon.sty Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,995 @@ +% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal +% +% ipsjcommon.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12) +% (revision history deleted) +% ipsjcommon.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0) + +%%%%%% Sectioning Commands %%%%%% + +% \section: 2 rows +% others: 1 row +% +% Note that \paragraph and \subparagraph act as \subsubsubsection and +% \subsubsubsubsection resp. +% +% The form of sectioning header is; +% <1 Kanji sp> \the [`.' if \section] <1 Kanji sp> +% Nothe that <1 Kanji sp> is that of \normalsize. + +\def\section{\@startsection + {section}{1}{\@mojihaba}{\sec@aboveskip}{\sec@belowskip}{\fs@sec\bf}} +\let\ipsj@section\section % 2.04(1) +\def\subsection{\@startsection + {subsection}{2}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} +\def\subsubsection{\@startsection + {subsubsection}{3}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} +\def\subparagraph{\@startsection + {subparagraph}{5}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} + +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] + +\def\thesection{\arabic{section}} +\def\sec@section@postfix{.} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph{\theparagraph.\arabic{subparagraph}} + +\setcounter{secnumdepth}{5} + +\def\appendix{\let\sec@sec\section + \def\section{\@startsection + {section}{1}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}% + \def\thesection{\appendixprefix\arabic{section}}% + \def\sec@section@postfix{\appendixpostfix}% + \stepcounter{section}\setcounter{section}{0}% + \@ifnextchar[%] + {\sec@oappendix}{\sec@xappendix}} +\def\sec@xappendix{\@ifstar{\let\section\sec@sec}% + {\sec@sec*{\ifDS@english Appendix\else\ipsj@j@app \fi}}}% 2.12(1b) +\def\sec@oappendix[#1]{\sec@sec*{\ifDS@english Appendix: \else + \ipsj@j@app\hskip\jspaceskip\fi #1}} % 2.12(1b) +\def\appendixprefix{A.} +\def\appendixpostfix{} + +\def\acknowledgment{\par + {\bf \ifDS@english Acknowledgments \else\ipsj@j@ack\fi}%% 2.12(1b) + \hskip\@mojihaba \ignorespaces} +\let\endacknowledgment\par + +\newif\ifipsj@recommendation \ipsj@recommendationfalse % 2.04(1) >> +\def\recommendation#1{\global\ipsj@recommendationtrue + \ifDS@draft\else \ra@putrcvacc\fi + \ipsj@section*{#1} +} +\def\endrecommendation{\par\vskip\baselineskip\penalty\opt@magicpenalty} + % 2.04(1) << + +% Modified \@startsection has a trick for "2-row" of \section, which must +% work even if \section appears the top of a page. The BEFORESKIP must be +% inserted with respect to the previous baseline. So, we must go back to +% the imaginary previous baseline at the top of a page. That is, we do; +% \vskip\baselineskip \vspace*{-\baselineskip} +% which resuls; +% <a> do nothing at midpage +% <b> go to the first baseline by \topskip, then go back to 0th +% baseline by \vspace*. +% The trick "\vskip-\prevdepth \prevdepth\z@" will assure exact vertical +% space even when the last line has much depth. +% +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim\@tempskipa<\z@ \@tempskipa-\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\fi + \ifdim\@tempskipa>\z@ +% Here is the trick for \section. + \vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip + \vspace*{-\baselineskip}\vskip\@tempskipa\fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +% \@sect is modified to cope with `.' for \section and MOJI-DORI +% +% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[TITLE]{TITLE} +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1} + % 2.00(1)>> + \let\@@protect\protect \def\protect{\noexpand\protect\noexpand} + \edef\@svsec{\csname the#1\endcsname \csname sec@#1@postfix\endcsname + \hskip\@mojihaba} \let\protect\@@protect\fi % 2.00(1)<< + \@tempskipa #5\relax + \ifdim \@tempskipa<\z@ + \def\@svsechd{#6\hskip #3\relax\@svsec #8} % 2.00(1) + \else + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty\@M \sec@mojidori{#8}\par}% + \endgroup + \fi \@xsect{#5}} + +% \@ssect is modified to cope with MOJI-DORI +% +% \@sect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{TITLE} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa<\z@ \def\@svsechd{#4\hskip #1\relax #5}% + \else \begingroup #4% + \@hangfrom{\hskip #1}{\interlinepenalty\@M + \sec@mojidori{#5}\par}\endgroup + \fi \@xsect{#3}} + +%% Modify \@xsect to avoid (buggy) \clubpenalty=10000. (H.N.) +\def\@xsect#1{\@tempskipa #1\relax + \ifdim \@tempskipa<\z@ + \glboal\@nobreakfalse \global\@noskipsectrue + \everypar{\global\@noskipsecfalse \hskip-\parindent + \begingroup \@svsechd \endgroup \unskip + \hskip -#1\everypar{}}% + \else + \par \nobreak + \vskip \@tempskipa \global\@nobreaktrue + \everypar{\global\@nobreakfalse + \if@afterindent\else {\setbox0\lastbox}\fi \everypar{}} + \fi\ignorespaces} + +% Here is a trick for MOJI-DORI of sectioning tilte. The rule is; +% 2 - 4 Kanji char -> 5 Kanji char +% otherwise -> natural width +% +\def\sec@mojidori#1{\ifDS@english #1\else % 2.12(1b) + \setbox0\hbox{#1}\settowidth\@tempdimb{\ipsj@j@a}% % 2.12(1b) + \ifdim\wd0>4.5\@tempdimb #1\else + \ifdim\wd0<1.5\@tempdimb #1\else + \jintercharskip\fill \jasciikanjiskip\fill \jmathkanjiskip\fill + \leavevmode\hbox to5\@tempdimb{#1\hfil}\fi\fi\fi} + +%%%%%% List-like Environments %%%%%% +% +% LM RM LW LS LPI II +% default 2K 0 0.75K 0.25K 0 0 +% \enumerate 3K 0 3K 0 0 0 +% \Enumerate 0 0 3K 0 0 3K +% \ENUMERATE 0 0 3K 0 0 4K +% \enumerate* 1K 0 3K 0 0 2K +% \itemize 2K 0 2K 0 0 0 +% \Itemize 0 0 2K 0 0 2K +% \ITEMIZE 0 0 2K 0 0 3K +% \itemize* 1K 0 2K 0 0 1K +% \description 2K 0 0 1K 0 -1K +% \Description 0 0 0 1K 0 1K +% \DESCRIPTION 0 0 0 1K 0 2K +% \description* 1K 0 0 1K 0 0 +% \verse 3K 2K 0.75K 0.25K -1K -1K +% \quotation 2K 2K 0.75K 0.25K 1K 1K +% \quote 2K 2K 0.75K 0.25K 0 0 +% +% where LM is \leftmargin, RM is \rightmargin, LW is \labelwidth, LS is +% \labelsep, \LPI is \listparindent, II is \itemindent, and K is Kanji char +% width (\@mojihaba). +% +% All vertical space parameters, \topsep, \partopsep, \itemsep and \parsep, +% are 0pt. + +\leftmargini2\@mojihaba +\leftmarginii2\@mojihaba +\leftmarginiii2\@mojihaba +\leftmarginiv2\@mojihaba +\leftmarginv2\@mojihaba +\leftmarginvi2\@mojihaba + +\def\lst@listi{\labelsep.75\@mojihaba \labelwidth.25\@mojihaba + \rightmargin\z@ \listparindent\z@ \itemindent\z@ + \partopsep\z@ \parsep\z@ \topsep\z@ \itemsep\z@} +\def\@listi{\leftmargin\leftmargini \lst@listi} +\def\@listii{\leftmargin\leftmarginii \lst@listi} +\def\@listiii{\leftmargin\leftmarginiii \lst@listi} +\def\@listiv{\leftmargin\leftmarginiv \lst@listi} +\def\@listv{\leftmargin\leftmarginv \lst@listi} +\def\@listvi{\leftmargin\leftmarginvi \lst@listi} + +\@listi + +\def\labelenumi{(\,\theenumi\,)} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\,\theenumii\,)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{(\,\theenumiii\,)} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{(\,\theenumiv\,)} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth} + \list{\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{##1\hss}% + \leftmargin3\@mojihaba \labelwidth3\@mojihaba \labelsep\z@}\fi} +\let\endenumerate\endlist + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} +\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss##1\hss}% + \labelwidth2\@mojihaba \labelsep\z@}\fi} +\let\enditemize\endlist + +\def\description{\list{}{\labelwidth\z@ \labelsep\@mojihaba + \itemindent\labelsep \advance\itemindent-\leftmargin + \def\makelabel##1{\bf ##1}}} +\let\enddescription\endlist + +\let\latex@trivlist\@trivlist +\def\lst@trivlist#1#2{\leftmargin#1\relax + \itemindent\labelwidth \advance\itemindent\labelsep + \advance\itemindent#2\relax + \let\@trivlist\latex@trivlist \@trivlist} + +\def\lst@Trivlist{\def\@trivlist{\lst@trivlist\z@\z@}} +\def\Enumerate{\lst@Trivlist \enumerate} +\let\endEnumerate\endlist +\def\Itemize{\lst@Trivlist \itemize} +\let\endItemize\endlist +\def\Description{\lst@Trivlist \description} +\let\endDescription\endlist + +\def\lst@TRIVLIST{\def\@trivlist{\lst@trivlist\z@\@mojihaba}} +\def\ENUMERATE{\lst@TRIVLIST \enumerate} +\let\endENUMERATE\endlist +\def\ITEMIZE{\lst@TRIVLIST \itemize} +\let\endITEMIZE\endlist +\def\DESCRIPTION{\lst@TRIVLIST \description} +\let\endDESCRIPTION\endlist + +\def\lst@strivlist{\def\@trivlist{\lst@trivlist\@mojihaba{-\@mojihaba}}} +\@namedef{enumerate*}{\lst@strivlist \enumerate} +\@namedef{endenumerate*}{\endlist} +\@namedef{itemize*}{\lst@strivlist \itemize} +\@namedef{enditemize*}{\endlist} +\@namedef{description*}{\lst@strivlist \description} +\@namedef{enddescription*}{\endlist} + +\def\verse{\let\\=\@centercr + \list{}{\itemindent-\@mojihaba \listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin\@mojihaba}\item[]} +\let\endverse\endlist +\def\quotation{\list{}{\listparindent\@mojihaba \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endquotation\endlist +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote\endlist + +\def\newtheorem{\@ifstar + {\theo@newtheorem{\theo@it}{\ }}{\theo@newtheorem{}{\theo@sp}}} +\def\theo@newtheorem#1#2#3{\@namedef{theo@it@#3}{#1}\@namedef{theo@sp@#3}{#2}% + \@ifnextchar[%] + {\@othm{#3}}{\@nthm{#3}}} +\def\@begintheorem#1#2{\DESCRIPTION \csname theo@it@\@currenvir\endcsname + \item[#1\csname theo@sp@\@currenvir\endcsname #2]} +\def\@opargbegintheorem#1#2#3{\DESCRIPTION + \csname theo@style@\@currenvir\endcsname + \item[#1\csname theo@sp@\@currenvir\endcsname #2\ (#3)]} +\let\@endtheorem\endlist % 1.02(2) +\ifDS@english +\let\theo@it\it \let\theo@sp\ % +\else +\let\theo@it\relax \let\theo@sp\relax +\fi + +%%%%%% Bibliography %%%%%% +% +% 1. Label format is "<nn>)". +% 2. \leftmargin 24Q (or 2K) +% 3. \labelsep is 6Q (or 0.5K) +% 4. \baselineskip is 16Q(j)/15Q(e)/normal(d) +% 5. ~ and \ is null but stretchable and (hardly) breakable. % 2.09(1) + +\def\thebibliography#1{% + \section*{\hskip-\@mojihaba\hfill\hbox{\bib@refname}\hfill\hskip\z@} + \ifDS@draft \@tempdima\@mojihaba \else\@tempdima12\@Q\fi + \list{\arabic{enumi}\rlap{%( + )}}% + {\fs@bibliography \leftmargin2\@tempdima \labelwidth\z@ + \labelsep\@tempdima \itemindent.5\@tempdima + \usecounter{enumi}\def\makelabel##1{\hss\llap{##1}}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy \frenchspacing + \def\ {\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax} + % 2.09(1) + \ifDS@english\else \ipsj@defcolonforbib \fi} % 2.12(1b)(2) + +% (removal of \bib@refname) % 2.12(1a) + +\newdimen\bib@adjustheight \bib@adjustheight-\maxdimen +\def\endthebibliography{\endlist \par \@normalsize + \@tempdima\@colht \advance\@tempdima-\@colroom + \advance\@tempdima\pagetotal \advance\@tempdima-\prevdepth + \advance\@tempdima-\topskip + \@tempdimb\@tempdima \divide\@tempdima\baselineskip + \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip + \advance\@tempdima-\@tempdimb + \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi + \vskip-\prevdepth \vskip\@tempdima \prevdepth\z@ + \bib@adjustheight\@tempdimb \advance\bib@adjustheight\@tempdima + \global\advance\bib@adjustheight\topskip + \if@firstcolumn\else\global\advance\bib@adjustheight\@M pt\fi} + + +%%%%%% Floats %%%%%% + +% You may need to change following parameters +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{8} +\setcounter{dbltopnumber}{4} +\def\topfraction{.9} +\def\bottomfraction{.9} +\def\textfraction{.1} +\def\dbltopfraction{.9} +\def\floatpagefraction{.9} +\def\dblfloatpagefraction{.9} + +\newcounter{figure} +\newcounter{table} +\def\thefigure{\@arabic\c@figure} +\def\thetable{\@arabic\c@table} +\def\fps@figure{tbp} +\def\fps@table{tbp} +\def\ftype@figure{1} +\def\ftype@table{2} +\def\fnum@figure{\fname@figure\thefigure} +\def\fnum@table{\fname@table\thetable} +\ifDS@english +\def\fname@figure{Fig.\,} % 2.06(1) +\def\fname@Figure{Figure~} +\def\fname@table{Table~} +\def\fname@figures{Figs.\,} % 2.12(8)>> +\def\fname@Figures{Figures~} +\def\fname@tables{Tables~} % 2.12(8)<< +\else +\def\fname@figure{\ipsj@j@fig\fref@nobreak} % 1.06(1), 2.12(1b) +\let\fname@Figure\fname@figure +\def\fname@table{\ipsj@j@tab\fref@nobreak} % 1.06(1), 2.12(1b) +\let\fname@figures\fname@figure % 2.12(8)>> +\let\fname@Figures\fname@figure +\let\fname@tables\fname@table % 2.12(8)<< +\fi +\def\fnum@efigure{Fig.\,\thefigure} % 2.06(1) +\def\fnum@etable{Table~\thetable} + +% 1.06(3) >> +\def\figure{\let\cap@afterskip\relax \let\flt@fontsize\relax \@float{figure}} +\def\endfigure{\end@float} +\@namedef{figure*}{\let\cap@afterskip\relax \let\flt@fontsize\relax + \@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +%% Default font for table env. is \footnotesize (H.N.) +\def\table{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table + \@float{table}} +\def\endtable{\end@float} +\@namedef{table*}{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table + \@dblfloat{table}} % 2.01(2) +\@namedef{endtable*}{\end@dblfloat} +% 1.06(3) << + +\let\latex@float\@float +\let\latex@dbflt\@dbflt +\def\@float{\cap@linewidth\hsize \cap@hsize\hsize \latex@float} +\def\@dbflt{\cap@linewidth.8\textwidth \cap@hsize.667\textwidth \latex@dbflt} +\let\latex@xfloat\@xfloat % 1.06(3) +\def\@xfloat#1[#2]{\latex@xfloat#1[#2]\flt@fontsize} + % 1.06(3) +\def\end@float{\flt@endfloat + \ifdim\bib@adjustheight=-\maxdimen\else + \advance\bib@adjustheight\@tempdima + \global\advance\bib@adjustheight\baselineskip \fi + \ifnum\@floatpenalty <\z@ + \@nameuse{@largefloatcheck}% % 2.00(2) + \@cons\@currlist\@currbox + \ifdim \ht\@currbox >\textheight + \ht\@currbox\textheight \fi + \ifnum\@floatpenalty < -\@Mii + \penalty -\@Miv + \@tempdima\prevdepth \vbox{} \prevdepth\@tempdima + \penalty\@floatpenalty + \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack + \fi\fi} +\def\end@dblfloat{\if@twocolumn \flt@endfloat + \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi + \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi} +\def\flt@endfloat{\par \boxmaxdepth\dp\strutbox % 2.12(7c) + \global\@minipagefalse \@nameuse{outer@nobreak}\egroup % 2.00(2) + \@nameuse{color@endbox}\@normalsize % 2.00(2) + \@tempdima\ht\@currbox \advance\@tempdima\dp\@currbox + \divide\@tempdima\baselineskip \@tempcnta\@tempdima + \advance\@tempcnta\@ne \@tempdima\@tempcnta\baselineskip + \global\setbox\@currbox\vbox to\@tempdima{\box\@currbox\vfil}} + % 2.10(1) +% 2.12(7a,b)>> +\let\ipsj@cflb\@cflb +\let\ipsj@comflelt\@comflelt +\def\@cflb{\let\ipsj@botfigrule\botfigrule \let\botfigrule\vfil + \let\@comflelt\ipsj@comfleltbot \ipsj@cflb + \let\@comflelt\ipsj@comflelt \let\botfigrule\ipsj@botfigrule} +\def\ipsj@comfleltbot#1{% + \setbox#1\vbox to\ht#1{\vfil\unvbox#1\unskip}\ipsj@comflelt{#1}} +% 2.12(7a,b)<< + +\def\cap@beforeskip{\nointerlineskip\vskip5pt} +\def\cap@afterskip{\nointerlineskip\vskip5pt} +\long\def\@caption#1[#2]#3{\par\begingroup + \fs@caption \cap@beforeskip + \@makecaption{{\bf \csname fnum@#1\endcsname}}{\ignorespaces#3}\par + \ifDS@english \cap@afterskip \fi + \endgroup} +\def\ecaption{\@dblarg{\@ecaption\@captype}} +\long\def\@ecaption#1[#2]#3{\par + \begingroup \fs@caption + \@makecaption{\csname fnum@e#1\endcsname}{\ignorespaces #3}\par + \cap@afterskip + \endgroup} + +\newif\ifcap@sw +\newdimen\cap@linewidth +\newdimen\cap@hsize +\newcount\cap@prevgraf +\newbox\cap@box +\let\latex@label\label +\long\def\@makecaption#1#2{\begingroup \gdef\cap@label{}\let\label\@gobble + \setbox0\hbox{#1\hskip\jspaceskip} + \advance\cap@linewidth-\wd0 \advance\cap@hsize-\wd0 + \cap@makepar\cap@linewidth{#2}{\def\label##1{{% %1.03(1) + \def\protect{\noexpand\protect\noexpand} %1.03(1) + \xdef\cap@label{\cap@label\protect\label{##1}}}}} %1.03(1) + \cap@swtrue + \ifnum\cap@prevgraf=\@ne + \setbox1\vbox{\unvcopy1\cap@getbox1 + \ifhbox1 \global\setbox\cap@box\hbox{\unhbox1} + \ifdim\wd\cap@box>\cap@linewidth\else + \global\cap@swfalse \fi\fi} + \ifcap@sw\else + \cap@put{\vtop{\box\cap@box\hbox{}}} + \fi\fi + \ifcap@sw \cap@makepar\cap@hsize{#2}\relax + \ifnum\cap@prevgraf=\tw@ + \setbox1\vbox{\unvcopy1\cap@getbox2\cap@getbox3 + \ifhbox2\ifhbox3 + \setbox2\hbox{\unhbox2}\setbox3\hbox{\unhbox3} + \ifdim\wd2>\cap@hsize\else + \ifdim\wd3>\cap@hsize\else + \global\cap@swfalse + \global\setbox\cap@box\vtop{\box3\box2\hbox{}} + \fi\fi\fi\fi}\fi + \ifcap@sw \setbox1\vtop{\hsize\cap@hsize + \@parboxrestore #2\par\hbox{}}\cap@put{\box1} + \else\cap@put{\box\cap@box}\fi + \fi + \endgroup \cap@label} +\long\def\cap@makepar#1#2#3{\setbox1\vbox{\hsize#1\@parboxrestore + \rightskip\@flushglue \hfuzz\maxdimen + \exhyphenpenalty\z@ \finalhyphendemerits\z@ + \let\@@par\cap@par \let\par\cap@par \global\cap@prevgraf\z@ + #3#2\cap@par}} +\let\cap@@par\@@par +\def\cap@par{\cap@@par\global\advance\cap@prevgraf\prevgraf \prevgraf\z@} +\def\cap@put#1{\hbox to\hsize{\hss\box0#1\hss} + \vskip-\baselineskip\prevdepth\z@} +\def\cap@getbox#1{\@tempcnta10\relax\@whilenum\@tempcnta>0\do{% + \unskip\unkern\unpenalty\advance\@tempcnta\m@ne}\setbox#1\lastbox} + +\def\figref{\fref@ref\fname@figure} +\def\Figref{\fref@ref\fname@Figure} +\def\tabref{\fref@ref\fname@table} +\let\Tabref\tabref +\def\fref@ref#1{\@ifstar{\fref@sref{#1}}{\fref@iref\bf{#1}}} +\def\fref@iref#1#2#3{{\@ifundefined{fref@r@#3}% + {#1#2\fref@doref{#3}\global\@namedef{fref@r@#3}{}}{#2\fref@doref{#3}}}} +\def\fref@sref#1#2{#1\fref@doref{#2}} +\def\fref@doref#1{{\let\null\relax\ref{#1}}} % 1.06(2) +\def\fref@nobreak{\nobreak\ifASCII\else\hskip\@@jasciikanjiskip\fi} + % 1.06(1) +\def\figsref{\fref@refs\fname@figures} % 2.12(8)>> +\def\Figsref{\fref@refs\fname@Figures} +\def\tabsref{\fref@refs\fname@tables} +\let\Tabsref\tabsref +\def\fref@refs#1{\@ifstar{\fref@irefs\relax{#1}}{\fref@irefs\bf{#1}}} +\def\fref@irefs#1#2#3{\def\fref@list{#3}\@tempswafalse \@tempcnta\z@ + \@for\fref@elem:=\fref@list\do{% + \@ifundefined{fref@r@\fref@elem}{\@tempswatrue}{}% + \advance\@tempcnta\@ne}% + \ifx#1\relax \@tempswafalse\fi + \ifDS@english {\if@tempswa #1\fi #2}\let\fref@temp\relax + \else \def\fref@temp{#2}\fi + \@for\fref@elem:=\fref@list\do{% + \if@tempswa \fref@iref{#1}{\fref@temp}{\fref@elem}% + \else \fref@temp\fref@doref{\fref@elem}\fi + \advance\@tempcnta\m@ne + \ifnum\@tempcnta=\@ne \fref@and + \else\ifnum\@tempcnta>\@ne \fref@comma \fi\fi}} +\ifDS@english +\def\fref@and{ and~} +\def\fref@comma{, } +\else +\def\fref@and{\ipsj@j@comma} +\let\fref@comma\fref@and +\fi + +\ifDS@printer +\def\figures{{\bf\fname@figures}} +\def\Figures{{\bf\fname@Figures}} +\def\tables{{\bf\fname@tables}} +\let\Tables\tables +\def\Ref{\fref@iref\bf\relax} +\fi % 2.12(8)<< + +\def\fig@extraspace{3mm} %1.04(4) +\def\figspace#1{\vskip#1\vskip\fig@extraspace} %1.04(4) + +%%%%%% Footnote %%%%%% + +%% The following codes are from pfnote.sty, by H. Nakashima of Kyoto Univ., +%% to reset footnote counter at the begining of every page. (H.N.) + +% 1.04(2c)>> +\def\footnote{\@ifnextchar[%] + {\@xfootnote}{{\PF@adjustfnote \stepcounter{\@mpfn}% + \def\protect{\noexpand\protect\noexpand}% + \xdef\@thefnmark{\thempfn}}\@footnotemark\@footnotetext}} +\def\footnotemark{\@ifnextchar[%] + {\@xfootnotemark}{{\PF@adjustfnote \stepcounter{footnote}% + \def\protect{\noexpand\protect\noexpand}% + \xdef\@thefnmark{\thefootnote}}\@footnotemark}} +% 1.04(2c)<< + +\newcount\PF@fnotectr\global\PF@fnotectr=\z@ +\newcount\PF@page\global\PF@page=-\@M +\def\PF@thepage{\number\c@page} +\def\PF@adjustfnote{\global\advance\PF@fnotectr\@ne + \expandafter\ifx\csname PF@fn\number\PF@fnotectr\endcsname\relax + \global\c@footnote\z@\else + \expandafter\@tempcnta\csname PF@fn\number\PF@fnotectr\endcsname\relax + \ifnum\@tempcnta=\PF@page\else + \global\PF@page\@tempcnta \global\c@footnote\z@ \fi\fi + \@tempcnta\c@footnote \multiply\@tempcnta\@M + \advance\@tempcnta\PF@fnotectr + \if@filesw{\let\PF@thepage\relax + \xdef\@gtempa{\write\@auxout{\string\PF@fnpage + {\number\@tempcnta}{\PF@thepage}}}}% + \@gtempa\fi} +% 1.04(2a)<< + +% 1.04(2a)>> +\def\PF@fnpage#1#2{\@tempcnta#1\relax \@tempcntb\@tempcnta \divide\@tempcnta\@M + \expandafter\xdef\csname PF@fnpage#2\endcsname{\number\@tempcnta} + \multiply\@tempcnta\@M \advance\@tempcntb-\@tempcnta + \global\@namedef{PF@fn\number\@tempcntb}{#2}} +% 1.04(2a)<< +%% End of quote from pfnote.sty. (H.N.) + +\long\def\@makefntext#1{\leftskip20\@Q + \noindent\llap{\@makefnmarkforfn\hskip-\scriptspace\hskip5\@Q}#1} + % 1.04(2e) +\def\@makefnmarkstar{$\@thefnmark$} % 2.12(3) +\def\@makefnmarkdagger{$\@thefnmark$} +\def\@makefnmarkast{$\@thefnmark$} % 2.12(3) +\let\@makefnmarkforfn\@makefnmarkstar + +\def\@makefnmark{\smash{$^{\@thefnmark}$}} % 2.12(3) + % 1.04(2d) + % smashed to make it + % zero height + +\def\thefootnote{\ifnum\c@footnote>0\relax{\star}\number\c@footnote\fi} + % 2.12(3) + +%%%%%% Citation %%%%%% + +%% The following codes for \cite are from overcite.sty by D. Arseneau, but +%% modified for Trans. IPSJ (H.N.) +% O V E R C I T E . S T Y +% +% version 3.2 (Mar 1993) +% +% Compressed, sorted lists of superscript numerical citations. +% see also CITE.STY and DRFTCITE.STY +% +% Copyright (C) 1989-1993 by Donald Arseneau +% These macros may be freely transmitted, reproduced, or modified for +% non-commercial purposes provided that this notice is left intact. +% +\def\cite{\protect\@p@cite} +\def\@p@cite{\let\@citeY\@citey \@p@@cite} +\def\Cite{\protect\@p@Cite} +\def\@p@Cite{\let\@citeY\@Citey \@p@@cite} +\def\@p@@cite{\@ifnextchar[%] + {\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} +\def\@citex[#1]#2{\@citeY{\@p@citen{#2}}\if@tempswa\space[#1]\fi} +\def\@citey#1{\leavevmode\unskip\kern\z@$\let\@cite@tiestyle\ipsj@j@citescript +% % 2.06(2) + % 2.12(4) + \def\@cite@punct{,}\m@th^{\hbox{\scriptsize#1}}$\spacefactor\@m} +\def\@Citey#1{\let\@cite@tiestyle\ipsj@j@citetext % 2.12(4) + % 1.04(1)>> + \ifDS@english \def\@cite@punct{,\space\penalty\@highpenalty} + \else\def\@cite@punct{\ipsj@j@comma}\fi#1\spacefactor\@m} + % 1.04(1)<< + % 2.12(1b) +\def\@p@citen#1{% + \edef\@tempa{\@ignspaftercomma,#1, \@end, }% + \edef\@tempa{\expandafter\@ignendcommas\@tempa\@end}% + \if@filesw \immediate\write\@auxout{\string\citation{\@tempa}}\fi + \@tempcntb\m@ne \let\@h@ld\relax \let\@citea\@empty + \let\@celt\relax \def\@cite@list{}% % 2.06(3) + \@for\@citeb:=\@tempa\do{\@make@cite@list}% + \def\protect{\noexpand\protect\noexpand}% + \@tempcnta\m@ne \let\@celt\@compress@cite \@cite@list + \let\protect\relax \@h@ld} +\def\@ignspaftercomma#1, {\ifx\@end#1\@empty\else + #1,\expandafter\@ignspaftercomma\fi} +\def\@ignendcommas,#1,\@end{#1} + +%( +\let\@cite@rp) +\chardef\@cite@escape`\\ +\def\@make@cite@list{% + \expandafter\let\expandafter\@B@citeB\csname b@\@citeb\endcsname + \ifx\@B@citeB\relax + \@citea {\bf ?}\@cite@rp \let\@citea\@cite@punct + \@latex@warning{Citation `\@citeb' on page \thepage\space undefined}% + % 2.00(3) + \global\@namedef{b@\@citeb}{{\bf ?}}% + \else + \ifcat \@cite@escape\ifnum\z@<0\@B@citeB \@cite@escape\else A\fi + \@tempcnta\@B@citeB \relax + \ifnum \@tempcnta>\@tempcntb + \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}% + \@tempcntb\@tempcnta + \else + \edef\@cite@list{\expandafter\@sort@celt\@cite@list\@gobble @}% + \fi + \else \@citea \@B@citeB \@cite@rp \let\@citea\@cite@punct + \fi\fi} + +\def\@sort@celt#1#2{\ifx \@celt #1% parameters are \@celt {num} + \ifnum #2<\@tempcnta % number goes later in list + \@celt{#2}\expandafter\expandafter\expandafter\@sort@celt + \else \@celt{\number\@tempcnta}\@celt{#2}\fi\fi} + +\def\@compress@cite#1{\advance\@tempcnta\@ne + \ifnum #1=\@tempcnta + \ifx\@h@ld\relax \edef\@h@ld{\@citea #1\@cite@rp}% + \else \edef\@h@ld{\@cite@tie{\protect\@cite@tiestyle}% + % 2.12(4) + \penalty\@highpenalty #1\@cite@rp}\fi + \else \@h@ld \@citea #1\@cite@rp + \let\@h@ld\relax + \fi \@tempcnta#1\relax \let\@citea\@cite@punct} + +%% End of quote from overcite.sty. (H.N.) + +\def\multicite{\protect\@p@multicite} +\def\@p@multicite#1#2{\@citey{\@p@citen{#1}% + \@cite@tie\ipsj@j@citescript \@p@citen{#2}}} % 2.12(4) +\def\multiCite{\protect\@p@multiCite} +\def\@p@multiCite#1#2{\@Citey{\@p@citen{#1}\@cite@tie\relax % 2.12(4) + \penalty\@highpenalty \@p@citen{#2}}} + + +%%%%%% Box Height Adjustment and Displayed Math %%%%%% + +\newbox\adj@boxa \newbox\adj@boxb +\newdimen\adj@height +\@tempdima\baselineskip \advance\@tempdima-\topskip +\edef\adj@minaboveclearance{\the\@tempdima} +\@tempdima\baselineskip \advance\@tempdima-1ex +\edef\adj@maxaboveclearance{\the\@tempdima} + +\def\adj@setbhd#1{\setbox0\hbox{#1} % 2.12(1c)>> + \@tempdima\baselineskip \advance\@tempdima-\ht0 \advance\@tempdima\dp0 + \edef\adj@bhd{\the\@tempdima}} % 2.12(1c)<< + +% 2.01(1) >> +\def\adjustvboxheight{\ifinner \let\@tempa\relax + \let\endadjustvboxheight\relax \let\@endadjustvboxheight\relax + \else \let\@tempa\@adjustvboxheight \fi \@tempa} +\def\@adjustvboxheight{\par\penalty\z@ + \global\setbox\adj@boxa\vbox\bgroup\relax % 1.01(3) + \let\@footnotetext\@mpfootnotetext % 2.02(1) +% % 2.05(1) + \hsize\columnwidth} +% 2.01(1) << +\def\endadjustvboxheight{\adj@closebox \adj@putbox + \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi +% % 2.02(1) + \global\@ignoretrue\@endparenv} +\def\adj@closebox{\egroup \normalsize \boxmaxdepth\@maxdepth % 1.01(1,3) + \setbox\adj@boxa\vbox{\unvbox\adj@boxa} % 1.01(3) + \adj@height\ht\adj@boxa + \advance\adj@height\adj@minaboveclearance\relax + \@tempdima\adj@height \divide\adj@height\baselineskip + \@tempcnta\adj@height \adj@height\@tempcnta\baselineskip + \ifdim\adj@height<\@tempdima \advance\adj@height\baselineskip\fi} +\def\adj@putbox{\vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip + \vspace*{-\baselineskip}\advance\@tempdima-\adj@height + \@tempdima-\@tempdima \advance\@tempdima\adj@minaboveclearance\relax + \@tempdimb\dp\adj@boxa + \ifdim\@tempdima>\adj@maxaboveclearance\relax + \advance\@tempdima-\@tempdimb \advance\@tempdima\adj@bhd\relax + \divide\@tempdima\tw@ + \vbox to\adj@height{\vskip\@tempdima \box\adj@boxa \vss} + \else \vbox to\adj@height{\vfil\box\adj@boxa\vskip-\@tempdimb}\fi} + +\newcount\adj@deadcycle +\@namedef{adjustvboxheight*}{\adjustvboxheight} +\@namedef{endadjustvboxheight*}{\@endadjustvboxheight} +\def\@endadjustvboxheight{\global\adj@deadcycle10\relax + \@iendadjustvboxheight + \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi +% % 2.05(2) + \global\@ignoretrue\@endparenv} +\def\@iendadjustvboxheight{\adj@closebox + \ifnum\adj@deadcycle<\@ne + \ipsj@error{I cannot adjust too tall/deep box}{\@ehd}\fi % 2.00(3) + \global\advance\adj@deadcycle\m@ne + \ifdim\pagegoal=\maxdimen + \@tempdimb\@colht \advance\@tempdimb-\topskip + \advance\@tempdimb\baselineskip + \else \@tempdimb\pagegoal + \advance\@tempdimb-\pagetotal \advance\@tempdimb-\pagedepth + \advance\@tempdimb\prevdepth \fi % 1.01(4a) + \let\next\relax + \ifdim\adj@height<\@tempdimb \adj@putbox \else + \ifdim\adj@height=\@tempdimb \adj@putbox \else + \divide\@tempdimb\baselineskip \@tempcnta\@tempdimb % 1.01(4b)>> + \@tempdimb\@tempcnta\baselineskip + \advance\@tempdimb-\adj@minaboveclearance\relax % 1.01(4b)<< + \setbox\adj@boxa\vbox{\allowbreak\unvbox\adj@boxa} + \vbadness\@M \splittopskip\z@ \splitmaxdepth\@maxdepth %1.01(1) + \setbox\@tempboxa\vsplit\adj@boxa to\@tempdimb + \setbox\adj@boxb\copy\adj@boxa + \setbox\@tempboxa\vbox{\unvbox\@tempboxa} + \@tempdimb\ht\@tempboxa \advance\@tempdimb\dp\@tempboxa + \ifdim\@tempdimb>\z@ + \setbox\adj@boxa\vbox\bgroup\unvbox\@tempboxa + \adj@closebox \adj@putbox \newpage + \else \newpage \fi + \setbox\adj@boxa\vbox\bgroup\unvbox\adj@boxb + \let\next\@iendadjustvboxheight \fi\fi \next} + +\def\adj@eqindent{2\@mojihaba} +\def\[{\adjustvboxheight\advance\@totalleftmargin\adj@eqindent\relax + \hbox to\hsize\bgroup\hskip\@totalleftmargin$\displaystyle} +\def\]{$\hfill\egroup\endadjustvboxheight\@doendpe\ignorespaces} % 2.03(1) +\def\equation{\refstepcounter{equation}\[} +\def\endequation{\hfill\@eqnnum$\egroup\endadjustvboxheight} +\def\theequation{\arabic{equation}} +\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}} + +\def\adj@eqnlineskip{3pt} +\def\adj@eqnlineskiplimit{2pt} +\def\eqnarray{\futurelet\@tempa\adj@eqnarray} +\def\adj@eqnarray{\ifx\@tempa[%] + \let\next\adj@ieqnarray\else\let\next\adj@xeqnarray\fi\next} +\def\adj@ieqnarray[#1]{\@ifundefined{adj@xeqnarray#1}% + {\ipsj@warning{Unknown eqnarray option `#1'}\adj@xeqnarray}% 2.00(3) + {\@nameuse{adj@xeqnarray#1}}} +\def\adj@xeqnarray{\adjustvboxheight + \advance\@totalleftmargin\adj@eqindent\relax + \stepcounter{equation}\let\@currentlabel=\theequation + \global\@eqnswtrue + \global\@eqcnt\z@\tabskip\z@\let\\=\@eqncr + \lineskip\adj@eqnlineskip \lineskiplimit\adj@eqnlineskiplimit \jot\z@ + \halign to \hsize\bgroup\@eqnsel\hskip\@totalleftmargin + \hfil$\displaystyle{##}$&\global\@eqcnt\@ne % 1.01(2) + \hfil$\displaystyle{}\mathrel{##}{}$\hfil + &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} +\def\adj@xeqnarrays{\let\endadjustvboxheight\@endadjustvboxheight + \adj@xeqnarray} +\@namedef{adj@xeqnarrays!}{\par\let\adjustvboxheight\relax + \let\endadjustvboxheight\relax \adj@xeqnarray} +\def\endeqnarray{\@@eqncr \egroup \global\advance\c@equation\m@ne + \endadjustvboxheight} + + +%%%%%% Miscellaneous %%%%%% + +%% \doublerulesep is 1pt (H.N.) +\arraycolsep5pt \tabcolsep6pt \arrayrulewidth.4pt \doublerulesep1pt +\tabbingsep.5\@mojihaba + +\skip\@mpfootins\skip\footins +\fboxsep3pt \fboxrule.4pt + +%% We simply allow (not encourage) club and widow lines. (H.N.) +\clubpenalty\z@ \widowpenalty\z@ \displaywidowpenalty\z@ + +% The following redefinition influences \linebreak etc. +\def\sloppy{\tolerance9999\hbadness9999\hfuzz.5\p@ \vfuzz.5\p@} + +%% For heading of TBIO papers +\ifDS@TBIO % 2.11(1)>> +\def\TBIOpapercategory#1{\def\ipsj@TBIO@pcat{#1}\ignorespaces} +\def\ipsj@TBIO@pcat{original} +\def\ipsj@TBIO@pcat@original{Original Paper} +\def\ipsj@TBIO@pcat@survey{Survey Paper} +\def\ipsj@TBIO@pcat@database{Database/Software Paper} +\def\ipsj@TBIO@pcatref{\@ifundefined{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}% + {\ipsj@warning{TBIO paper category \ipsj@TBIO@pcat\space is undefined.}}% + \relax + \@nameuse{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}} +\fi % 2.11(1)<< + + +% 2.12(1a)>> +\let\ipsj@j@citescript\scriptsize % 2.12(4)>> +\let\ipsj@j@citetext\normalsize +\def\@cite@tie#1{\hbox{#1--}} % 2.12(4)<< +\def\bib@refname{References} +\adj@setbhd{A} + +\ifipsj@nonjp \let\next\endinput \else \let\next\relax \fi +\next + +\def\ipsj@j@a{あ} +\def\ipsj@j@app{付録} +\def\ipsj@j@ack{謝辞} +\def\ipsj@j@bib{参考文献} +\def\ipsj@j@fig{図} +\def\ipsj@j@tab{表} +\def\ipsj@j@comma{,} +\def\ipsj@j@technote{テクニカルノート} +\def\ipsj@j@invited{招待論文} +\def\ipsj@j@sigrec{研究会推薦論文} +\def\ipsj@j@talkabst{発表概要} +\def\ipsj@j@presently{現在,} +\def\ipsj@j@jipsj{情報処理学会論文誌} +\def\ipsj@j@regpaper{論文} +\def\ipsj@j@contactto{連絡先} +\def\ipsj@j@abstract{概要} +\def\ipsj@j@colon{:} +\def\ipsj@j@year{年} +\def\ipsj@j@month{月} +\def\ipsj@j@day{日} +\def\ipsj@j@lp{(} +\def\ipsj@j@rp{)} +\def\ipsj@j@edinch{担当編集委員} +\def\ipsj@j@rerec{再受付} +\def\ipsj@j@received{受付} +\def\ipsj@j@accepted{採録} +\def\ipsj@j@presented{発表} +\def\ipsj@j@member{正会員} +\def\ipsj@j@stmember{学生会員} +\def\ipsj@j@nomember{非会員} + +\ifDS@english\else \ifDS@draft\else +\sec@setskips{\ipsj@j@a} +\fi\fi + +\expandafter\let\csname c@巻数\endcsname\c@volume +\expandafter\let\csname c@号数\endcsname\c@number +\expandafter\let\csname c@月数\endcsname\c@number +\expandafter\let\csname c@年数\endcsname\c@year + +\def\ipsj@sig@PRO@j{プログラミング} +\def\ipsj@sig@TOM@j{数理モデル化と応用} +\def\ipsj@sig@TOD@j{データベース} +\def\ipsj@sig@HPS@j{ハイパフォーマンスコンピューティングシステム} +\def\ipsj@sig@CVIM@j{コンピュータビジョンとイメージメディア} +\def\ipsj@sig@ACS@j{コンピューティングシステム} % 2.09(2) + +\def\ra@nengo{平成} %% Change here when ... +\let\受付\received +\let\採録\accepted +\let\発表\presented % 2.07(7) +\let\再受付\rereceived + +\def\々{\hskip\jintercharskip\hbox to\jspaceskip{\hfil 々\hfil}%% 2.12(5) + \hskip\jintercharskip} + +\ifDS@english\else \ifDS@draft\else +{\fs@sec \@tempdima7\jspaceskip +\xdef\bib@refname{\hbox to\the\@tempdima{\jintercharskip\fill\ipsj@j@bib}}} +\adj@setbhd\ipsj@j@a +\fi\fi + +\def\ipsj@j@colon@command{{\nobreak % 2.12(2)>> + \hbox to.7\jspaceskip{:\hss}\allowbreak + \@tempdima.3\jspaceskip \hskip\@tempdima minus\@tempdima + \allowbreak + \hskip\z@ minus-\@tempdima}\ignorespaces} +\def\ipsj@defcolonforbib{\let\:\ipsj@j@colon@command} +\ifDS@printer \ipsj@defcolonforbib \fi % 2.12(2)<< + + +%%%%%% Kinsoku Parameters %%%%%% + +% 1.04(3)>> +\ifASCII +\postbreakpenalty`\`=\@M +\prebreakpenalty`'=\@M +\prebreakpenalty`)=\@M +\postbreakpenalty`(=\@M +\prebreakpenalty`]=\@M +\postbreakpenalty`[=\@M +\prebreakpenalty`\}=\@M +\postbreakpenalty`\{=\@M + +\prebreakpenalty`・=\@M +\prebreakpenalty`:=\@M +\prebreakpenalty`;=\@M +\prebreakpenalty`?=\@M +\prebreakpenalty`!=\@M + +\prebreakpenalty\jis"212D=\@M % ´ +\postbreakpenalty\jis"212E=\@M % ` +\postbreakpenalty\jis"2146=\@M % ‘ +\prebreakpenalty\jis"2147=\@M % ’ +\postbreakpenalty\jis"2148=\@M % “ +\prebreakpenalty\jis"2149=\@M % ” + +\prebreakpenalty`)=\@M +\postbreakpenalty`(=\@M +\prebreakpenalty`}=\@M +\postbreakpenalty`{=\@M +\prebreakpenalty`]=\@M +\postbreakpenalty`[=\@M +\postbreakpenalty`‘=\@M +\prebreakpenalty`’=\@M + +\postbreakpenalty\jis"214C=\@M %〔 +\prebreakpenalty\jis"214D=\@M % 〕 +\postbreakpenalty\jis"2152=\@M % 〈 +\prebreakpenalty\jis"2153=\@M % 〉 +\postbreakpenalty\jis"2154=\@M % 《 +\prebreakpenalty\jis"2155=\@M % 》 +\postbreakpenalty\jis"2156=\@M % 「 +\prebreakpenalty\jis"2157=\@M % 」 +\postbreakpenalty\jis"2158=\@M % 『 +\prebreakpenalty\jis"2159=\@M % 』 +\postbreakpenalty\jis"215A=\@M % 【 +\prebreakpenalty\jis"215B=\@M % 】 + +\prebreakpenalty`ー=\@M % 2.12(6) +\prebreakpenalty`〜=\@M % 2.12(6) + +\prebreakpenalty`ぁ=\@M +\prebreakpenalty`ぃ=\@M +\prebreakpenalty`ぅ=\@M +\prebreakpenalty`ぇ=\@M +\prebreakpenalty`ぉ=\@M +\prebreakpenalty`っ=\@M +\prebreakpenalty`ゃ=\@M +\prebreakpenalty`ゅ=\@M +\prebreakpenalty`ょ=\@M +\prebreakpenalty\jis"246E=\@M % ゎ +\prebreakpenalty`ァ=\@M +\prebreakpenalty`ィ=\@M +\prebreakpenalty`ゥ=\@M +\prebreakpenalty`ェ=\@M +\prebreakpenalty`ォ=\@M +\prebreakpenalty`ッ=\@M +\prebreakpenalty`ャ=\@M +\prebreakpenalty`ュ=\@M +\prebreakpenalty`ョ=\@M +\prebreakpenalty\jis"256E=\@M % ヮ +\prebreakpenalty\jis"2575=\@M % ヵ +\prebreakpenalty\jis"2576=\@M % ヶ + +\fi +% 1.04(3)<< +% 2.12(1a)<< diff -r 000000000000 -r a5facba1adbc Paper/ipsjpapers.cls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/ipsjpapers.cls Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,16 @@ +% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal +% +% ipsjpapers.cls 13-Mar-07 by Hiroshi Nakashima (ver 2.12) +% (revision history deleted) +% ipsjpapers.cls 1-Apr-96 by Hiroshi Nakashima (ver 2.00) + +\ifx\pfmtname\undefined +\NeedsTeXFormat{LaTeX2e} +\else +\NeedsTeXFormat{pLaTeX2e} +\fi + +\ProvidesClass{ipsjpapers}[2007/06/15 ver 2.12] +\input{ipsjpapers.sty} +\endinput diff -r 000000000000 -r a5facba1adbc Paper/ipsjpapers.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/ipsjpapers.sty Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,1919 @@ +% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal +% +% ipsjpapers.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12) +% (revision history deleted) +% ipsjpapers.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0) +% ipsjpapers.sty 30-Nov-93 by Hiroshi Nakashima +% ipsjpapers.sty 3-Feb-93 by Yaski Saito +% compsoft.sty 22-April-92 by Yaski Saito +% compsoft.sty 18-July-90 by Hideki Isozaki +% j-article.sty 10-Feb-89 from report.sty 16-Mar-88 + +%%%%%% LaTeX Version %%%%%% + +% 2.00(1) >> +%% \ifASCII is true if ASCII version Japanese TeX, which doesn't have +%% \jintercharskip (H.N.) +\newif\ifipsj@nonjp \ipsj@nonjpfalse % 2.12(1a) +\newif\ifASCII \ASCIIfalse +\ifx\jintercharskip\undefined \ASCIItrue +\ifx\kanjiskip\undefined \ipsj@nonjptrue % 2.12(1a) +\fi\fi +\newif\if@LaTeX@e \@LaTeX@efalse % 1.06(1) +\newif\if@LaTeX@eN \@LaTeX@eNfalse % 2.00(1) +\def\@tempa{LaTeX2e} % 1.06(1) +\ifx\fmtname\@tempa \@LaTeX@etrue % 1.06(1) +\ifx\xpt\undefined \@LaTeX@eNtrue \fi\fi % 2.00(1) +% 2.00(1) << + + + +%%%%%% Document Styles %%%%%% + +% 2.00(2) >> +\newif\ifDS@printer \DS@printerfalse +\newif\ifDS@english \DS@englishfalse +\newif\ifDS@technote \DS@technotefalse +\newif\ifDS@preface \DS@prefacefalse +\newif\ifDS@draft \DS@draftfalse +\newif\ifDS@techrep \DS@techrepfalse % 1.05(2) +\newif\ifDS@sigrecommended \DS@sigrecommendedfalse % 2.04(1) +\newif\ifDS@invited \DS@invitedfalse % 2.06(1) +\newif\ifDS@abstract \DS@abstractfalse % 2.07(7) +\newif\ifDS@private \DS@privatefalse % 2.07(8) +\newif\ifDS@anonymous \DS@anonymousfalse % 2.10(1) +\newif\ifDS@TBIO \DS@TBIOfalse % 2.11(1) +\newif\ifDS@online \DS@onlinefalse % 2.12(4a) + +\if@LaTeX@eN +\DeclareOption{printer}{\DS@printertrue} % 2.09(1) + % 2.12(2) +\DeclareOption{english}{\DS@englishtrue} +\DeclareOption{technote}{\DS@technotetrue} +\DeclareOption{preface}{\DS@prefacetrue} +\DeclareOption{draft}{\DS@drafttrue} +\DeclareOption{techrep}{\DS@techreptrue} +\DeclareOption{sigrecommended}{\DS@sigrecommendedtrue} % 2.04(1) +\DeclareOption{invited}{\DS@invitedtrue} % 2.06(1) +\DeclareOption{abstract}{\DS@abstracttrue} % 2.07(7) +\DeclareOption{private}{\DS@privatetrue} % 2.07(8) +\DeclareOption{anonymous}{\DS@anonymoustrue} % 2.10(1) +\DeclareOption{TBIO}{\DS@TBIOtrue \DS@englishtrue} % 2.11(1) +\DeclareOption{online}{\DS@onlinetrue \DS@printertrue \DS@englishtrue} + % 2.12(4a) +\DeclareOption{10pt}{\def\@ptsize{0}} +\DeclareOption{11pt}{\def\@ptsize{1}} +\DeclareOption{12pt}{\def\@ptsize{2}} +\ExecuteOptions{10pt} +\ProcessOptions +\def\ipsj@warning{\ClassWarning{ipsjpapers}} % 2.00(3) +\def\ipsj@error{\ClassError{ipsjpapers}} % 2.00(3) +\newskip \old@latex@skip % 2.00(14) +\let\@maxsep\old@latex@skip % 2.00(14) +\let\@dblmaxsep\old@latex@skip % 2.00(14) + +\else +\expandafter\ifx\csname ver@ipsjpapers.cls\endcsname\relax +\typeout{Document Style `ipsjpapers' (ver 2.12) <15 Jun 2007>.} % 2.05(1) +\fi % \ifx + +\def\ds@printer{\relax} % 2.09(1) +\def\ds@english{\DS@englishtrue} +\def\ds@technote{\DS@technotetrue} +\def\ds@preface{\DS@prefacetrue} +\def\ds@draft{\DS@drafttrue} +\def\ds@techrep{\DS@techreptrue} % 1.05(2) +\def\ds@sigrecommended{\DS@sigrecommendedtrue} % 2.04(1) +\def\ds@invited{\DS@invitedtrue} % 2.06(1) +\def\ds@abstract{\DS@abstracttrue} % 2.07(7) +\def\ds@private{\DS@privatetrue} % 2.07(8) +\def\ds@anonymous{\DS@anonymoustrue} % 2.10(1) +\def\ds@TBIO{\DS@TBIOtrue \DS@englishtrue} % 2.11(1) +\def\ds@online{\DS@onlinetrue \DS@printertrue \DS@englishtrue} % 2.12(4a) + +% 1.04(3)>> +\def\@ptsize{0} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +% 1.04(3)<< + +\@options +\let\ipsj@warning\@warning % 2.00(3) +\let\@latex@warning\@warning % 2.00(3) +\def\ipsj@error#1#2{\errhlp{#2}\errmessge{#1}} % 2.00(3) +\fi % \if@LaTeX@eN +% 2.00(2) << + +\ifx\@classoptionslist\undefined\else % 2.03(1) >> +\def\ipsj@draft@option{draft} +\def\ipsj@remove@draft@option{\def\@tempb{}% + \@for\@tempa:=\@classoptionslist\do{% + \ifx\@tempa\ipsj@draft@option\else + \edef\@tempb{\@tempb,\@tempa}\fi}% + \ifx\@tempb\@empty \def\@classoptionslist{}\else + \expandafter\ipsj@remove@draft@ption\@tempb\@nil\fi} +\def\ipsj@remove@draft@ption,#1\@nil{% + \def\@classoptionslist{#1}} +\ipsj@remove@draft@option +\fi % \ifx % 2.03(1) << + +\ifipsj@nonjp \DS@englishtrue \fi % 2.12(1a) + +%%%%%% Basics %%%%%% + +\newdimen\@Q \@Q=0.25mm + +\lineskip\z@ \normallineskip\z@ +\lineskiplimit\z@ \normallineskiplimit\z@ +\abovedisplayskip\z@ \belowdisplayskip\z@ +\abovedisplayshortskip\z@ \belowdisplayshortskip\z@ + +\def\baselinestretch{1} +\jot\z@ + +\ifDS@draft\def\next{\input{ipsjdrafts.sty}\endinput}\else\let\next\relax\fi +\next + +\@twosidetrue + +%%%%%% Fonts %%%%%% +% \finvedm(dg) dm5 \vpt \tiny fn-mark +% \sixdm(dg) dm6 \vipt \scriptsize +% \sevendm(dg) dm7 \vipt \footnotesize f-note, capt +% 10Q = 7.11304pt -> w(min7) = 6.73550pt +% \eightdm(dg) dm8 \viiipt \small abst, header +% 11Q = 7.82434pt -> w(min8) = 7.69772pt +% \eightdm(dg)half dm9 \ixpt \normalsize main text +% 12Q = 8.53564pt -> w(min9) = 8.65994 +% \tendm(dg) dm10 \xpt \large sec title +% 13Q = 9.24695pt -> w(min10) = 9.62216pt +% \tendm(dg)half dm10*1095 \xipt \Large author names +% 15Q =10.66956pt -> w(min10*1095) = 10.53625pt +% (\twlvdm) (dm12) \xiipt \LARGE e-title +% \twelvedm(dg)half dm12*1095 \xivpt \huge title +% min10*1440 +% 18Q =12.80347pt -> w(min10*1440) = 13.8559pt +% +% Note that cm fonts follows LaTeX standard. (e.g. \viiipt -> cmr8, etc.) + +% 2.00(4)>> +\if@LaTeX@e +\ifASCII +\def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)>> + \edef\@tempa{\ifipsj@nonjp \the\font \else \the\jfont \fi} % 2.12(1b) + \expandafter\global\expandafter\let\expandafter#1\@tempa}} % 2.00(5)<< + +\iffalse % ASCII LaTeX2e printer settings is removed % 2.12(2a) +\else % ASCII LaTeX2e non-printer +\ifipsj@nonjp % 2.12(1b)>> +\ipsj@declare@font\fn@fontv\rmfamily\@vpt +\ipsj@declare@font\fn@fontvi\rmfamily\@vpt +\ipsj@declare@font\fn@fontvii\rmfamily\@vpt +% no declaration for \fn@fontxv % 2.12(1b)<< +\else % \ifipsj@nonjp +\ipsj@declare@font\fn@fontv\mcfamily\@vpt +\ipsj@declare@font\fn@fontvi\mcfamily\@vpt +\ipsj@declare@font\fn@fontvii\mcfamily\@vpt +\ipsj@declare@font\fn@fontxv\gtfamily\@xipt +\fi\fi %\ifipsj@nonjp\iffalse + +\else % \ifASCII = NTT LaTeX2e +\def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5) + \xdef#1{\expandafter\noexpand\csname\jf@ntn@me\endcsname}}} % 2.00(5) +\ipsj@declare@font\fn@fontv\dm\@vpt +\ipsj@declare@font\fn@fontvi\dm\@vpt +\ipsj@declare@font\fn@fontvii\dm\@vpt +\ipsj@declare@font\fn@fontxv\dg\@xipt +\fi % \ifASCII +% 2.00(4) << + +\else % \if@LaTeX@e = LaTeX 2.09 % 2.00(4) +%% Fonts for ASCII TeX. (H.N.) +\ifASCII +\iffalse % ASCII LaTeX 2.09 printer settings is removed % 2.12(2a) +\else \ifipsj@nonjp\else % 2.12(1b) +\font\fivedm min5 +\font\fivedg goth5 +\font\sixdm min6 +\font\sixdg goth6 +\font\sevendm min7 +\font\sevendg goth7 +\font\eightdm min8 +\font\eightdg goth8 +\font\eightdmhalf min9 +\font\eightdghalf goth9 +\font\tendm min10 +\font\tendg goth10 +\font\tendmhalf min10 scaled\magstephalf +\font\tendghalf goth10 scaled\magstephalf +\font\twelvedm min10 scaled\magstep1 +\font\twelvedg goth10 scaled\magstep1 +\font\twelvedmhalf min10 scaled\magstep2 +\font\twelvedghalf goth10 scaled\magstep2 +\let\fn@fontv\fivedm +\let\fn@fontvi\fivedm +\let\fn@fontvii\fivedm +\let\fn@fontxv\tendghalf + +\fi\fi % \ifipsj@nonjp\iffalse + +%% ASCII doesn't have \old@Npt. (H.N.) +\let\old@@vpt\vpt +\let\old@@vipt\vipt +\let\old@@viipt\viipt +\let\old@@viiipt\viiipt +\let\old@@ixpt\ixpt +\let\old@@xpt\xpt +\let\old@@xipt\xipt +\let\old@@xiipt\xiipt +\let\old@@xivpt\xivpt + +\ifipsj@nonjp % 2.12(1b)>> +\def\old@vpt{\old@@vpt} +\def\old@vipt{\old@@vipt} +\def\old@viipt{\old@@viipt} +\def\old@viiipt{\old@@viiipt} +\def\old@ixpt{\old@@ixpt} +\def\old@xpt{\old@@xpt} +\def\old@xipt{\old@@xipt} +\def\old@xiipt{\old@@xiipt} +\def\old@xivpt{\old@@xivpt} % 2.12(1b)<< +\else % \ifipsj@nonjp +\def\old@vpt{\old@@vpt\jspaceskip1zw\relax} +\def\old@vipt{\old@@vipt\jspaceskip1zw\relax} +\def\old@viipt{\old@@viipt\jspaceskip1zw\relax} +\def\old@viiipt{\old@@viiipt\jspaceskip1zw\relax} +\def\old@ixpt{\old@@ixpt\jspaceskip1zw\relax} +\def\old@xpt{\old@@xpt\jspaceskip1zw\relax} +\def\old@xipt{\old@@xipt\jspaceskip1zw\relax} +\def\old@xiipt{\old@@xiipt\jspaceskip1zw\relax} +\def\old@xivpt{\old@@xivpt\jspaceskip1zw\relax} +\fi % \ifipsj@nonjp + % 2.00(6) + % 1.06(2) + +%% ASCII doesn't have \dg nor \dm. (H.N.) +\ifipsj@nonjp\else % 2.12(1b) +\def\dg{\protect\pdg} +\def\dm{\protect\pdm} +%% Redefine \gt and \mc +\def\gt{\protect\pdg} +\def\mc{\protect\pdm} +\let\pdm\relax +\fi % \ifipsj@nonjp + +\else % \ifASCII +%% Fonts for NTT jTeX +%% \magstephalf and \magstep1 may cause trouble in older versions. + +\jfont\fivedm=dm5 +\jfont\fivedg=dg5 +\jfont\sixdm=dm6 +\jfont\sixdg=dg6 +\jfont\sevendm=dm7 +\jfont\sevendg=dg7 +\jfont\eightdm=dm8 +\jfont\eightdg=dg8 +\jfont\eightdmhalf=dm9 +\jfont\eightdghalf=dg9 +\jfont\tendm=dm10 +\jfont\tendg=dg10 +\jfont\tendmhalf=dm10 scaled 1095 +\jfont\tendghalf=dg10 scaled 1095 +\jfont\twelvedm=dm12 +\jfont\twelvedg=dg12 +\jfont\twelvedmhalf=dm12 scaled 1095 +\jfont\twelvedghalf=dg12 scaled 1095 +\let\fn@fontv\fivedm +\let\fn@fontvi\fivedm +\let\fn@fontvii\fivedm +\let\fn@fontxv\tendghalf + % 1.06(3) +\fi % \ifASCII +\fi % \if@LaTeX@e + +\ifx\jfsize\undefined \newcount\jfsize \fi % 1.06(2) + +\ifASCII % 1.06(3),2.00(6)>> +\ifipsj@nonjp\else % 2.12(1b) +\let\setjglues\relax +\let\jintercharskip\kanjiskip +\let\jasciikanjiskip\xkanjiskip +\let\jmathkanjiskip\xkanjiskip +\newdimen\jspaceskip + +\def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}} +\def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}} +\def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}} +\def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}} + +\def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(3) + is not supported in ASCII version}} + % 1.06(3),2.00(6)<< +\fi % \ifipsj@nonjp +\else % \ifASCII % 2.00(7)>> +\if@LaTeX@e +\ipsj@declare@font\fn@eightdmhalf\dm\@ixpt +\ipsj@declare@font\fn@eightdghalf\dg\@ixpt +\else +\def\fn@eightdmhalf{\eightdmhalf} +\def\fn@eightdghalf{\eightdghalf} +\fi % \if@LaTeX@e +\ifx\setjglues\undefined\else +\expandafter\defjintercharskip\fn@eightdmhalf{0pt}{1.4pt}{0.5pt} +\expandafter\defjintercharskip\fn@eightdghalf{0pt}{1.4pt}{0.5pt} +\expandafter\defjasciikanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt} +\expandafter\defjasciikanjiskip\fn@eightdghalf{2pt}{1pt}{1pt} +\expandafter\defjmathkanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt} +\expandafter\defjmathkanjiskip\fn@eightdghalf{2pt}{1pt}{1pt} +\fi % \if@LaTeX@e % 2.00(7)<< +\fi % \ifASCII % 2.00(4) + +\if@LaTeX@e % 2.00(8)>> +\if@LaTeX@eN +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} +\ifASCII \ifipsj@nonjp\else % 2.12(1b) +\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} +\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} +\fi\fi\fi % \ifipsj@nonjp\ifASCII\if@LaTeX@eN + +\ifASCII \ifipsj@nonjp\else % 2.12(1b) +\def\dm{\mc} +\def\dg{\gt} +\fi\fi\fi % \ifipsj@nonjp\ifASCII\if@LaTeX@e % 2.00(8)<< + +%%%%%% Basic Font Size Macros %%%%%% + +\if@LaTeX@e % 1.06(4),2.00(9),2.04(3)>> +\def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}\ipsj@setjspaceskip} +\let\ipsj@setjspaceskip\relax % 2.12(1b)>> +\ifASCII \ifipsj@nonjp\else +\def\ipsj@setjspaceskip{\jspaceskip1zw\relax} +\fi\fi % \ifipsj@nonjp\ifASCII % 2.12(1b)<< + % 1.06(4),2.00(9),2.04(3)<< + +%% \vipt etc. are redefined to use appropriate Japanese fonts. +\else % \if@LaTeX@e % 2.00(9) +\ifipsj@nonjp\else % 2.12(1b) +\def\vpt{\old@vpt\fivedm\let\pdg\fivedg\let\pdm\fivedm\jfsize=5\relax} +\def\vipt{\old@vipt\sixdm\let\pdg\sixdg\let\pdm\sixdm\jfsize=6\relax} +\def\viipt{\old@viipt\sevendm\let\pdg\sevendg\let\pdm\sevendm\jfsize=7\relax} +\def\viiipt{\old@viiipt\eightdm\let\pdg\eightdg\let\pdm\eightdm\jfsize=8\relax} +\def\ixpt{\old@ixpt\eightdmhalf\let\pdg\eightdghalf\let\pdm\eightdmhalf + \jfsize=9\relax \@ixptboldmath} % 1.02(2) +\def\xpt{\old@xpt\tendm\let\pdg\tendg\let\pdm\tendm\jfsize=10\relax} +\def\xipt{\old@xipt\tendmhalf\let\pdg\tendghalf\let\pdm\tendmhalf\jfsize=11 + \relax} +\def\xiipt{\old@xiipt\twelvedm\let\pdg\twelvedg\let\pdm\twelvedm + \jfsize=12\relax} +\def\xivpt{\old@xivpt\twelvedmhalf\let\pdg\twelvedghalf\let\pdm\twelvedmhalf + \jfsize=14\relax} +\fi\fi % \ifipsj@nonjp\if@LaTeX@e % 2.00(9) + +\if@LaTeX@e % 1.06(5) +\let\@ixptboldmath\relax % 1.06(5) +\else % 1.06(5) +% 1.02(2) >> +\iffalse % printer setting removed % 2.12(2a) +\else +\def\@ixptboldmath{% + \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\ninmi + \textfont\tw@\ninsy \textfont\lyfam\ninly + \@boldfalse}\@boldfalse +% 1.03(1) >> + \def\boldmath{\@ifundefined{ninmib}{\global\font\ninmib\@mbi + \global\font\ninsyb\@mbsy\relax + \global\font\ninlyb\@lasyb\relax + \@addfontinfo\@ixpt + {\def\boldmath{\everymath{\mit}\everydisplay{\mit}% + \@prtct\@nomathbold + \textfont\@ne\ninmib \textfont\tw@\ninsyb + \textfont\lyfam\ninlyb \@prtct\@boldtrue}}}{}% + \@ixpt\boldmath}} +% 1.03(1) << +\fi % \iffalse +% 1.02(2) << +\fi % \if@LaTeX@e % 1.06(5) + + +%%%%%% Font Size Macros %%%%%% + +\def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip + \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}% + {\@setsize{#1}{#2}{#3}{#4}}} + +% s = (3*b - (h' + d') - (h + d))/2 +% s_a = s + h' + d - b +% s_b = s + h + d' - b +\def\sec@setskips#1{\setbox0\hbox{\fs@sec\bf#1}\setbox1\hbox{#1} + \@tempdima3\baselineskip + \advance\@tempdima-\ht0 \advance\@tempdima-\dp0 + \advance\@tempdima-\ht1 \advance\@tempdima-\dp1 + \divide\@tempdima\tw@ \advance\@tempdima-\baselineskip + \@tempdimb\@tempdima + \advance\@tempdima\ht0 \advance\@tempdima\dp1 + \advance\@tempdimb\ht1 \advance\@tempdimb\dp0 + \edef\sec@aboveskip{\the\@tempdima} + \edef\sec@belowskip{\the\@tempdimb}} + +\ifDS@english +% size pt \baselineskip size \?pt \baselineskip +% \normalsize 10 16Q \large 11 18Q (*) +% \small 9 15Q \Large 12 22Q +% \footnotesize 8 13Q \LARGE 14 26Q (*) +% \scriptsize 6 8pt (*) \huge 18 30Q (*) +% \tiny 5 6pt (*) \Huge 18 30Q (*) +% * : not measured + +\def\@normalsize{\@setsize\normalsize{16\@Q}\xpt\@xpt} +\def\small{\fs@setsize\small{15\@Q}\ixpt\@ixpt} +\def\footnotesize{\fs@setsize\footnotesize{13\@Q}\viiipt\@viiipt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\Large{18\@Q}\xipt\@xipt} +\def\Large{\@setsize\LARGE{22\@Q}\xiipt\@xiipt} +\def\LARGE{\@setsize\LARGE{26\@Q}\xivpt\@xivpt} +\def\huge{\@setsize\Huge{30\@Q}\xviipt\@xviipt} +\let\Huge\huge + +\ifDS@techrep % 1.05(2)>> +\def\@normalsize{\@setsize\normalsize{17\@Q}\xpt\@xpt} +\fi % 1.05(2)<< + +\if@LaTeX@e % 2.00(10)>> +\let\normalsize\@normalsize +\fi % 2.00(10)<< + +\let\fs@footnote\footnotesize +\let\fs@caption\footnotesize +\let\fs@table\footnotesize +\let\fs@eabst\footnotesize +\let\fs@header\footnotesize +\let\fs@footer\footnotesize +\let\fs@bibliography\small +\let\fs@subsec\normalsize +\let\fs@sec\normalsize +\let\fs@type\large +\let\fs@eauthor\large +\let\fs@title\Large + +\@normalsize + +\sec@setskips{A} + +\else % \ifDS@english +% size pt \baselineskip size \?pt \baselineskip +% \normalsize 9 19Q \large 10 19Q +% \small 8 14Q \Large 11 22Q +% \footnotesize 7 14Q \LARGE 12 18Q +% \scriptsize 6 8pt (*) \huge 14 26Q +% \tiny 5 6pt (*) \Huge 14 26Q +% * : not measured + +\def\@normalsize{\@setsize\normalsize{19\@Q}\ixpt\@ixpt} +\def\small{\fs@setsize\small{14\@Q}\viiipt\@viiipt} +\def\footnotesize{\fs@setsize\footnotesize{14\@Q}\viipt\@viipt} +\def\scriptsize{\@setsize\scriptsize{8pt}\vipt\@vipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{19\@Q}\xpt\@xpt} +\def\Large{\@setsize\Large{22\@Q}\xipt\@xipt} +\def\LARGE{\@setsize\LARGE{18\@Q}\xiipt\@xiipt} +\def\huge{\@setsize\Huge{26\@Q}\xivpt\@xivpt} +\let\Huge\huge + +\ifDS@techrep % 1.05(2)>> +\def\@normalsize{\@setsize\normalsize{17\@Q}\ixpt\@ixpt} +\fi % 1.05(2)<< + +\if@LaTeX@e % 2.00(10)>> +\let\normalsize\@normalsize +\fi % 2.00(10)<< + +\let\fs@footnote\footnotesize +\let\fs@caption\footnotesize +\let\fs@table\footnotesize +\let\fs@abst\small +\def\fs@eabst{\small\baselineskip13\@Q} +\let\fs@header\small +\let\fs@footer\small +\let\fs@subsec\normalsize +\def\fs@bibliography{\normalsize\baselineskip16\@Q} +\let\fs@sec\large +\let\fs@type\fn@fontxv +\let\fs@author\Large +\def\fs@eauthor{\Large\baselineskip20\@Q} % 2.12(7) +\let\fs@etitle\LARGE +\let\fs@title\huge + +\@normalsize + % 2.00(7) +\ifx\setjglues\undefined\else +\setjglues +\fi + +% \sec@setskips{<A of hiragana>} is moved to ipsjcommon % 2.12(1c) +\fi % \ifDS@englisth + +\if@LaTeX@e\else \ifipsj@nonjp\else % 2.00(11),2.12(1b) +\let\latex@bf\bf % 1.06(6) +\def\bf{\latex@bf \dg} % 1.06(6) +\fi\fi % 2.00(11) + + +%%%%%% Page Layout Parameters %%%%%% + +\newdimen\@mojihaba +\ifipsj@nonjp \let\jspaceskip\@mojihaba \fi % 2.12(1b) + +\ifDS@printer % 2.12(2b) >> +\voffset=-20mm +\hoffset=-14mm +\fi % 2.12(2b) << + +\headheight 12\@Q + +% We want to allow a line containing $\displaystyle X^X$ to be a first line. +\setbox0\hbox{$\displaystyle X^X$} +\topskip\ht0 + +\ifdim\maxdepth<\dp\strutbox \maxdepth\dp\strutbox \@maxdepth\maxdepth\fi + +\@tempswafalse % 1.05(2)>> +\ifDS@english \ifDS@techrep \else \@tempswatrue \fi\fi +\if@tempswa % 1.05(2)<< +\topmargin 138\@Q \advance\topmargin-1in + +% \textheight = 53\baselineskip + \topskip + epsilon(100sp) +\textheight53\baselineskip \advance\textheight\topskip \advance\textheight100sp + +% \headsep = 24Q - \topskip +\headsep28\@Q \advance\headsep-\topskip % 2.02(2) + +% Only first page has page number (footer) at the bottom +\footskip 27\@Q + +\@mojihaba13\@Q + +\else % \if@tempswa +\topmargin 131\@Q \advance\topmargin-1in + +% \textheight = 45\baselineskip + \topskip + epsilon(100sp) +\textheight45\baselineskip \advance\textheight\topskip \advance\textheight100sp + +\ifDS@techrep % 1.05(2)>> +\textheight50\baselineskip \advance\textheight\topskip \advance\textheight100sp +\fi % \ifDS@techrep % 1.05(2)<< + +% \headsep = 28Q - \topskip +\headsep28\@Q \advance\headsep-\topskip + +% Only first page has page number (footer) at the bottom +\footskip24\@Q + +\@mojihaba12\@Q +\fi % \if@tempswa + +\columnsep30\@Q + +% \textwidth - \columnwidth = 24 * 12Q * 2 + \columnsep = 606Q +\textwidth606\@Q +\columnseprule0pt + +\oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@ +\advance\oddsidemargin-1in \evensidemargin\oddsidemargin + +\skip\footins\baselineskip \advance\skip\footins-.5\@mojihaba +% \footnotesep = \baselineskip - depth(\strutbox) +{\fs@footnote + \footnotesep\baselineskip + \global\advance\footnotesep-\dp\strutbox} + +\def\footnoterule{{\fs@footnote\kern-\dp\strutbox \hrule \kern-.4\p@ + \kern\dp\strutbox}} + +\floatsep \baselineskip \textfloatsep \baselineskip +\intextsep \baselineskip \@maxsep \baselineskip +\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip +\@dblmaxsep \baselineskip +\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil + +\parskip\z@ \parindent\@mojihaba +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty + + +%%%%%% Title and Authors %%%%%% +% +% Format of title, author names and abstract. +% +% \huge\bf <Japanese title> +% \vskip 32Q +% \Large <Japanese author names> +% \vskip 32Q +% \small <Japanese abstract> +% \vskip 34Q +% \LARGE\bf <English title> +% \vskip 28Q +% \Large\sc <English author names> +% \vskip 28Q +% \small <English abstract> +% \vskip 25Q + +% 2.07(3)>> +\def\ipsj@ohcheck#1#2#3{\fs@header\hskip12\@Q#1\qquad#2\qquad#3\hskip12\@Q} +\def\ipsj@ohcvolno{Vol.~00\hskip12\@Q No.~SIG\ 00(\ipsj@sig@code\ 00)} + +\newif\ifipsj@trans \ipsj@transfalse % 2.12(4f) +\def\maketitle{\let\ipsj@oddhead@t\ipsj@oddhead@a + \ifipsj@trans + \settowidth\@tempdima{% + \ipsj@ohcheck\ipsj@ohcvolno\@titlestring\ipsj@ohcvolno}% + \ifdim\@tempdima>\textwidth + \let\ipsj@oddhead@t\ipsj@oddhead@b + \settowidth\@tempdima{% + \ipsj@ohcheck\ipsj@ohcvolno\@titlestring{000}}% + \ifdim\@tempdima>\textwidth + \ipsj@warning{% % 2.00(3) + \string\title\space for headding is too wide}% + \fi \fi + \else + \settowidth\@tempdima{\fs@header + \hskip12\@Q Vol.~00\hskip12\@Q No.~00\qquad\@titlestring\qquad + Vol.~00\hskip12\@Q No.~00\hskip12\@Q} + \ifdim\@tempdima>\textwidth + \ipsj@warning{% % 2.00(3) + \string\title\space for headding is too wide}% + \fi \fi + \par\twocolumn[\@maketitle]\thispagestyle{myheadings}\@thanks} +% 2.07(3)<< + +% default title header + +\def\title{\@dblarg{\@xtitle}} +\def\@xtitle[#1]#2{\gdef\@title{#2}% + {\def\protect{\noexpand\protect\noexpand}% + \ifDS@english\def\\{\unskip\ \ignorespaces}% + \else\def\\{\unskip\ignorespaces}\fi + \xdef\@titlestring{#1}}} % 2.07(3) + +\def\@title{\mkt@warning\title}\def\@titlestring{} +\long\def\author#1{\long\gdef\@author{#1}} +\def\@author{\mkt@warning\author} + +\newbox\@abstractbox +%% Introduce \@titlewidth because we now use this dimen repeatedly. (H.N.) +%% \@titlewidth = 44 * 11Q = 484Q +\newdimen\@titlewidth \@titlewidth 484\@Q + +\def\abstract{\global\let\@abstract\relax + \global\setbox\@abstractbox\hbox\bgroup + \begin{minipage}[b]{\@titlewidth}\fs@abst\parindent11\@Q} +\def\endabstract{\end{minipage}\egroup} +\def\@abstract{\mkt@warning{abstract env}} + +%% We need English title, author name(s) and abstract. (H.N.) +\def\etitle#1{\gdef\@etitle{#1}} +\def\@etitle{\mkt@warning\etitle} +\long\def\eauthor#1{\long\gdef\@eauthor{#1}} +\def\@eauthor{\mkt@warning\eauthor} + +\newbox\@eabstractbox +\def\eabstract{\global\let\@eabstract\relax + \global\setbox\@eabstractbox\hbox\bgroup + \begin{minipage}[b]{\@titlewidth}\fs@eabst\parindent11\@Q} +\let\endeabstract\endabstract +\def\@eabstract{\mkt@warning{eabstract env}} + +\ifDS@english +\let\author\eauthor \let\abstract\eabstract +\let\@eauthor\@author \let\@eabstract\@abstract +\fi + +\def\mkt@warning#1{\ipsj@warning{Missing \string#1}} % 2.00(3) + +\newdimen\mkt@prevdepth +\newbox\mkt@titlebox +\def\@maketitle{\setbox\mkt@titlebox\vbox{ + \ifDS@english \ifDS@preface + \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip + \else + \hbox{}\vskip26\@Q \vskip-\headsep \vskip-\baselineskip + \leftline{\fs@type\it + \ifDS@TBIO \ipsj@TBIO@pcatref % 2.11(2) + \else\ifDS@technote Technical Note + \else\ifDS@invited Invited Paper % 2.06(1) + \else\ifDS@sigrecommended % 2.04(1) + Recommended Paper % 2.04(1) + \else\ifDS@abstract % 2.07(7) + Abstract % 2.07(7) + \else\ifDS@techrep\else % 2.02(1) + Regular Paper\fi\fi\fi\fi\fi\fi}% 2.06(1) +% % 2.04(1) + \vskip32\@Q \vskip-\baselineskip \fi + \else % 2.04(1) >> + \@tempswafalse \ifDS@technote\@tempswatrue\fi + \ifDS@sigrecommended\@tempswatrue\fi + \ifDS@invited\@tempswatrue\fi % 2.06(1) + \ifDS@abstract\@tempswatrue\fi % 2.07(7) + \if@tempswa + \vskip18\@Q \vskip-\headsep + \leftline{\vbox to28\@Q{\hrule height.8pt\vss + \hbox{\hskip7\@Q \fs@type + \ifDS@technote \ipsj@j@technote % 2.12(1c)>> + \else\ifDS@invited + \ipsj@j@invited % 2.06(1) + \else\ifDS@sigrecommended + \ipsj@j@sigrec % 2.06(1) + \else \ipsj@j@talkabst % 2.07(7) + \fi\fi\fi % 2.12(1c)<< + \hskip7\@Q}\vss\hrule height.8pt}} +% % 2.04(1) << + \vskip40\@Q \vskip-\baselineskip + \else + \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip + \fi\fi + \@tempswafalse \ifDS@english\else\ifDS@preface\@tempswatrue\fi\fi + \mkt@maketitle{\fs@title\bf}\@title\title + \affi@labels + \ifDS@english\else + \vskip-\mkt@prevdepth \nointerlineskip\vskip32\@Q + \centerline{\vbox{\centering\hsize\@titlewidth\fs@author + \mkt@makeauthor}} + \ifDS@preface\else + \vskip-\prevdepth \nointerlineskip\vskip32\@Q + \centerline{\@abstract\box\@abstractbox} + \vskip-\prevdepth \nointerlineskip\vskip34\@Q + \mkt@maketitle{\fs@etitle\bf}\@etitle\etitle + \fi\fi + \if@tempswa\else + \vskip-\mkt@prevdepth \nointerlineskip\vskip28\@Q + \centerline{\vbox{\centering\hsize\@titlewidth\fs@eauthor\sc + \mkt@makeeauthor}} + \fi + \ifDS@preface\else + \vskip-\prevdepth \nointerlineskip\vskip28\@Q + \centerline{\@eabstract\box\@eabstractbox} + \fi + \vskip-\prevdepth \nointerlineskip\vskip25\@Q} + \@tempdimb\ht\mkt@titlebox \advance\@tempdimb\dp\mkt@titlebox + \@tempcnta\@tempdimb \@tempcntb\baselineskip + \divide\@tempcnta\@tempcntb \@tempdima\@tempcnta\baselineskip + \advance\@tempdima-\@tempdimb + \box\mkt@titlebox + \ifdim\@tempdima=\z@\else\advance\@tempdima\baselineskip + \vskip\@tempdima\fi} + +%% \mkt@maketitle puts Japanese/English title, whose lines should be +%% properly broken with \\ by the user. The result is flushed to left, then +%% centered with respect to the longest line. (H.N.) +\def\mkt@maketitle#1#2#3{\setbox\@tempboxa\vtop{ + \def\\{\unskip\egroup\hbox\bgroup\ignorespaces} + #1\hbox\bgroup#2\unskip\egroup + \global\mkt@prevdepth\prevdepth} + \@tempdima\textwidth\advance\@tempdima-4\@mojihaba + \ifdim\wd\@tempboxa>\@tempdima + \ipsj@warning{% % 2.00(3) + \string#3 is too wide. Break line(s) by \string\\}\fi + \centerline{\box\@tempboxa}} + +% Assignment of Japanese author names to lines: +% 1 -> 1, 2 -> 2, 3 -> 3, 4 -> 2+2, 5 -> 3+2, 6 -> 3+3, 7 -> 3+2+2, 8 -> 3+3+2, +% ... +% Rule for N authors (N > 2, q := N div 3) +% N mod 3 = 0 -> 3 * q +% N mod 3 = 1 -> 3 * (q - 2) + 2 + 2 +% N mod 3 = 2 -> 3 * (q - 1) + 2 + +\newcount\mkt@cnta\newcount\mkt@cntb +\newcount\mkt@sname\newcount\mkt@gname +\newbox\mkt@boxa +\newdimen\mkt@namewidth +\def\mkt@makeauthor{\let\member\@gobble \let\nomember\relax + \let\stmember\@gobble % Those are not necessary in final manuscript. + \def\@makefnmark{\smash{\rlap{$^{\affi@thefnmark}$}}}% % 2.12(7) + \gdef\affi@thefnmark{}\leavevmode\let\+\ignorespaces + \settowidth\@tempdima{\ifipsj@nonjp x\else\ipsj@j@a \fi}% 2.12(1c) + \mkt@namewidth7\@tempdima\@tempcnta\z@ + \expandafter\mkt@countauthor\@author\and\@nil\and + \ifnum\@tempcnta=\@ne\let\mkt@anhbox\mkt@anhboxc\mkt@makesingleauthor + \else + \@tempcntb\@tempcnta \divide\@tempcntb\thr@@ + \multiply\@tempcntb\thr@@ \advance\@tempcntb-\@tempcnta + \ifnum\@tempcntb=\m@ne\relax\@tempcntb\tw@\else\@tempcntb\z@\fi + \mkt@cnta\thr@@ + \let\mkt@anhbox\mkt@anhboxl + \expandafter\mkt@makemultiauthor\@author\and\and\fi} +\def\mkt@countauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax + \else\advance\@tempcnta\@ne \let\next\mkt@countauthor\fi\next} + +% If single author, author name has 9 KC width instead of 7. +\def\mkt@makesingleauthor{\divide\mkt@namewidth7\multiply\mkt@namewidth9\relax + \expandafter\mkt@putauthor\@author\+ \@nil} + +\def\mkt@makemultiauthor#1\and{\ifnum\@tempcnta=\z@\unskip\let\next\relax\else + \leavevmode + \advance\mkt@cnta\m@ne \advance\@tempcnta\m@ne + \ifnum\mkt@cnta=\z@\mkt@maleft{#1}\mkt@cnta\thr@@\else + \ifnum\@tempcnta=\@tempcntb\mkt@maleft{#1}\mkt@cnta\tw@\else + \mkt@putauthor#1\+ \@nil\let\mkt@anhbox\mkt@anhboxc\fi\fi + \let\next\mkt@makemultiauthor\fi\next} +\def\mkt@maleft#1{\let\mkt@anhbox\mkt@anhboxr\mkt@putauthor#1\+ \@nil + \par\let\mkt@anhbox\mkt@anhboxl} + +% Japanese author name format: +% Non Japanese : As is. +% Japanese w/o s/g delimitor : As is with warning. +% Japanese (s+g>6) : As is. +% Japanese (s+g<7) : Give 1-KC space to s/g delimitor, then insert +% infinit stretch between each character pair, assuming the +% s/g delimitor as a charcter, to make the name have 7-KC +% width. An exception is 2s + 2g case, in which s/g +% delimitor has 0 width in order to have the result +% "S_S_G_G". + +\def\mkt@putauthor#1 #2\@nil{% + \ifipsj@nonjp \mkt@anhbox{#1 #2}\else + \setbox\@tempboxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble + \jintercharskip\z@#1#2}% + \setbox\mkt@boxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble + \jintercharskip1cm#1#2}% + \ifdim\wd\@tempboxa=\wd\mkt@boxa \mkt@anhbox{#1 #2}\else + % probably no Kanjis + \def\@tempa{#2}\ifx\@tempa\empty % without space btwn s/g-name + {\let\affiref\@gobble \def\+{}% + \ipsj@warning{Author name #1 doesn't have a space}}% + % 2.00(3) + \mkt@anhbox{#1}\else + \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}% + \mkt@cntb\mkt@sname \advance\mkt@cntb\mkt@gname + \ifnum\mkt@cntb>6\relax\mkt@anhbox{#1\ #2}\else + \jintercharskip\fill% + \@tempskipa\@tempdima plus2fill\relax + \ifnum\mkt@sname=\tw@ \ifnum\mkt@gname=\tw@ \@tempskipa\fill\fi\fi + \hbox to\mkt@namewidth{#1\hskip-\lastskip + \hskip\@tempskipa#2\hskip-\lastskip\@makefnmark}\fi\fi\fi + \fi + \gdef\affi@thefnmark{}\hskip\columnsep} + +% When an author name is formatted "as is", the following macros are used +% according to their position (left, right, or center). +\def\mkt@anhboxl#1{\hbox to\mkt@namewidth{\hss#1\@makefnmark}} +\def\mkt@anhboxr#1{\hbox to\mkt@namewidth{#1\@makefnmark\hss}} +\def\mkt@anhboxc#1{\setbox\@tempboxa\hbox{#1\@makefnmark}% + \ifdim\wd\@tempboxa>\mkt@namewidth\box\@tempboxa + \else\hbox to\mkt@namewidth{\hss\box\@tempboxa\hss}\fi} % 2.08(1) + +\def\mkt@getnamewidth#1#2{\setbox\@tempboxa\hbox{\let\affiref\@gobble#2}% + \@tempdimb\wd\@tempboxa + \advance\@tempdimb.5\@tempdima #1\@tempdimb \mkt@cntb\@tempdima + \divide#1\mkt@cntb} + +% English author name format +% 1 -> <name-1>^* +% 2 -> <name-1>^* and~<name-2>^* +% 3 or more -> <name-1>,^* <name-2>,^* ... <name-n-1>^* and~<name-n>^* +% (be careful the position of comma). +% +% No special tricks for assignment names to line. Names are simply put in a +% \centering paragraph. + +\def\mkt@makeeauthor{\let\member\@gobble \let\nomember\relax + \let\stmember\@gobble % Those are not necessary in final manuscript. + \leavevmode\let\mkt@and\relax\gdef\affi@thefnmark{}% + \def\@thefnmark{\affi@thefnmark}% + \expandafter\mkt@imakeeauthor\@eauthor\and\@nil\and} +\def\mkt@imakeeauthor#1\and#2\and{\def\@tempa{#2}\ifx\@tempa\@nnil + #1\@makefnmark\let\next\relax + \else + \def\@tempb{#1}\def\next{\mkt@iimakeeauthor#2\and}% + \fi\next} +\def\mkt@iimakeeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil + \@makefnmark\ {\rm{and}~}\gdef\affi@thefnmark{}\hbox{\@tempb}% + \@makefnmark\let\next\relax + \else + \mkt@and\hbox{\@tempb}\let\mkt@and\mkt@andmid + \let\next\mkt@iimakeeauthor + \fi\def\@tempb{#1}\next} +\def\mkt@andmid{,\@makefnmark\ \gdef\affi@thefnmark{}} + +% Macros to specify author's affiliation easily. +% 2.12(7)>> +\newcounter{affi@footnote} \c@affi@footnote\z@ +\newcounter{affi@pfootnote} \c@affi@pfootnote\z@ +\def\affilabel{\affi@deflabels\affi@affilabel} +\def\paffilabel{\affi@deflabels\affi@paffilabel} +\def\affi@deflabels#1#2#3{{\def\protect{\noexpand\protect\noexpand}% + \let\affi@affilabel\relax \let\affi@paffilabel\relax \let\\\relax + \xdef\affi@labels{\affi@labels#1{#2}{#3}}}} +\def\affi@labels{} +\def\affi@affilabel{\begingroup \affi@label{affi@footnote}\@makefnmarkdagger} +\def\affi@paffilabel#1#2{\begingroup + \def\protect{\noexpand\protect\noexpand}% + \def\\{\noexpand\\Presently with \ignorespaces}% + \edef\@tempa{\ifDS@english Presently with \else % 1.04(1d) + \ipsj@j@presently\fi#2}% % 2.12(1c) + \affi@label{affi@pfootnote}\@makefnmarkast{#1}\@tempa} +\def\affi@label#1#2#3#4{\stepcounter{#1}% + \@ifundefined{affi@r@#3}% + {\expandafter\xdef\csname affi@r@#3\endcsname{% + \csname the#1\endcsname}}% + {\ipsj@warning{Affiliation label `#3' multiply defined}}% + % 2.00(3) + \let\affi@footnotetext\relax\let\\\relax + \def\protect{\noexpand\protect\noexpand}% + \xdef\@thanks{\@thanks + \affi@footnotetext + {\csname the#1\endcsname}{\protect#2}{#4}}\endgroup} + +\def\affiref#1{\@ifundefined{affi@r@#1}% + {\ipsj@warning{Affiliation reference `#1' undefined}% 2.00(3) + \def\@tempa{?}}% + {\def\@tempa{\csname affi@r@#1\endcsname}}% + {\def\protect{\noexpand\protect\noexpand}% + \ifx\affi@thefnmark\empty \xdef\affi@thefnmark{\@tempa}\else + \xdef\affi@thefnmark{\affi@thefnmark,\hskip\z@\@tempa}\fi}} +\def\affi@footnotetext#1#2#3{{\def\@thefnmark{#1}% + \def\@makefnmarkforfn{#2}\@footnotetext{#3}}} + +\def\theaffi@footnote{{\dagger}\number\c@affi@footnote} +\def\theaffi@pfootnote{{\ast}\number\c@affi@pfootnote} + +\def\thanks#1{\begingroup + \stepcounter{affi@pfootnote}\let\thempfn\theaffi@pfootnote + \let\@thefnmark\thempfn \@makefnmark + \let\affi@footnotetext\relax\let\\\relax + \def\protect{\noexpand\protect\noexpand}% + \xdef\@thanks{\@thanks + \affi@footnotetext{\thempfn}{\protect\@makefnmarkast}{#1}}% + \endgroup} +% 2.12(7)<< + +% \contact is necessary only for drafts. +\long\def\contact#1{} + + +%%%%%% Page Header and Footer %%%%%% + +\mark{{}{}} + +\newcounter{volpageoffset} % You must set this to appropriate value +\setcounter{volpageoffset}{1} % for each issue! +\ifDS@printer % 2.12(4d)>> +\def\LastPageNumber{\gdef\ipsj@last@page} +\fi % 2.12(4d)<< + +% 2.00(16)>> +\let\latex@document\document +\def\document{\latex@document + \ifDS@private\else + \ifDS@online \global\c@page\ipsj@olh@page % 2.12(4) + \else \global\c@page\c@volpageoffset \fi \fi} % 2.07(8) +\let\c@volpage\c@page % for backward compatibility +\def\thevolpage{\thepage} % for backward compatibility +% 2.00(16)<< + +\newcounter{volume} % 2.12(1c)>> +\newcounter{number} +\let\c@month\c@number % 2.07(4) +\newcounter{year} % 2.12(1c)<< + +\ifDS@printer % 2.12(4b)>> +\def\SetOnlineHeaderInfo#1#2#3#4{% % <vol><year><month><page>[<lastpage>] + \def\ipsj@olh@vol{#1}% + \def\ipsj@olh@year{#2}% + \def\ipsj@olh@month{#3}% + \def\ipsj@olh@page{#4}% + \@ifnextchar[%] + \ipsj@olh@setlastpage\relax} +\def\ipsj@olh@setlastpage[#1]{\def\ipsj@olh@lastpage{#1}} +\fi % 2.12(4b)<< + +% 2.07(4)>> +\ifDS@online % 2.12(4b) +\def\@thevolno{Vol.~\ipsj@olh@vol} % 2.12(4b) +\else +\def\@thevolno{Vol.~\arabic{volume}\hskip\@mojihaba No.~% % 2.12(1c)>> + \ifipsj@trans SIG\ \ipsj@sig@numa(\ipsj@sig@code\ \ipsj@sig@numb)% + \else \arabic{number}\fi} % 2.12(1c)<< +\fi +% 2.07(4)<< +% 2.00(15)>> +% 2.12(1c)(4b)>> +\def\@monthyear{% + \ifDS@online \ipsj@monthyear\ipsj@olh@month\ipsj@olh@year + \else \c@year1959 \advance\c@year\c@volume + \ipsj@monthyear\c@number\c@year \fi} +\def\ipsj@monthyear#1#2{\ifcase#1\or Jan.\or Feb.\or Mar.\or Apr.\or May\or + June\or July\or Aug.\or Sep.\or Oct.\or Nov.\or Dec.\else\fi + \hskip.5\@mojihaba \number#2} +% 2.12(1c)(4b)<< +% 2.00(15)<< + +% 2.07(2)>> +\def\transaction#1#2#3{\ipsj@transtrue + \def\ipsj@sig@code{#1}\def\ipsj@sig@numa{#2}\def\ipsj@sig@numb{#3}% + \expandafter\let\expandafter\ipsj@sig@title + \csname ipsj@sig@#1@\ifDS@english e\else j\fi\endcsname + \ifx\ipsj@sig@title\relax + \ipsj@warning{Transaction code #1 is unknown}\fi + \let\ipsj@oddhead@s\ipsj@oddhead@a + \ifDS@online\else % 2.12(4c) + \settowidth\@tempdima{% + \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\ipsj@ohcvolno}% + \ifdim\@tempdima>\textwidth + \let\ipsj@oddhead@s\ipsj@oddhead@b + \settowidth\@tempdima{\c@month3\relax % "Mar." is longest + \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\@monthyear}% + \ifdim\@tempdima>\textwidth + \let\ipsj@oddhead@s\ipsj@oddhead@c + \fi \fi \fi} + +\def\ipsj@sig@PRO@e{Programming} +\def\ipsj@sig@TOM@e{Mathematical Modeling and Its Applications} +\def\ipsj@sig@TOD@e{Databases} +\def\ipsj@sig@HPS@e{High Performance Computing Systems} +\def\ipsj@sig@CVIM@e{Computer Vision and Image Media} +\def\ipsj@sig@ACS@e{Advanced Computing Systems} % 2.09(2) +\def\ipsj@sig@TBIO@e{Bioinformatics} % 2.11(3) +\def\ipsj@sig@SLDM@e{System LSI Design Methodology} % 2.12(8) +% 2.07(2)<< + +\def\copyrightnotice{\long\def\ipsj@cnotice} + +% 1.05(2)>> +\ifDS@techrep +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\@checklines\hss}\let\@evenhead\@oddhead + \def\@oddfoot{}\def\@evenfoot{}} +\let\ps@myheadings\ps@headings + +\else\ifDS@private % 2.07(8)>> +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\@checklines\hfil\thepage\hskip12\@Q}% + \def\@evenhead{\@checklines\hskip12\@Q\thepage\hfil} + \def\@oddfoot{}\def\@evenfoot{}} +\def\ps@myheadings{\ps@headings + \def\@oddhead{\@checklines + \smash{\parbox[b]{.75\textwidth}{\@nameuse{ipsj@cnotice}}}% + \hfil\thepage\hskip12\@Q}% + \let\@evenhead\@oddhead} + % 2.07(8)<< +\else +% 1.05(2)<< +\def\ps@headings{\let\@mkboth\markboth + \def\@oddfoot{} + \def\@evenfoot{} + \def\@evenhead{\fs@header \@checklines + \hskip12\@Q\rlap{\thepage}\hss % 2.07(3) + \hdr@tipsj\hss\llap{\@monthyear}\hskip12\@Q} + \def\@oddhead{\fs@header \@checklines + \ipsj@oddhead@t\@titlestring\thepage} % 2.07(3) + \def\sectionmark##1{}\def\subsectionmark##1{}} + +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{\fs@header \@checklines + \ipsj@oddhead@s\hdr@tipsj\@monthyear} % 2.07(3) + \def\@oddfoot{\fs@footer\hfil\thepage\hfil} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + \def\sectionmark##1{}\def\subsectionmark##1{}} +\fi\fi % 1.05(2) + % 2.07(8) + +% 2.12(9)>> +\def\ipsj@lc@Rtop{\rlap{\smash{\rule[-\headsep]{0.05mm}{10mm}% + \rule[-\headsep]{10mm}{0.05mm}}}} +\def\ipsj@lc@Ltop{\llap{\smash{\rule[-\headsep]{10mm}{0.05mm}% + \rule[-\headsep]{0.05mm}{10mm}}}} +\def\ipsj@lc@Lbot{\llap{\smash{\raisebox{-\textheight}{% + \raisebox{-\headsep}{\rule{10mm}{0.05mm}\rule[-10mm]{0.05mm}{10mm}}}}}} +\def\ipsj@lc@Rbot{\rlap{\smash{\raisebox{-\textheight}{% + \raisebox{-\headsep}{\rule[-10mm]{0.05mm}{10mm}\rule{10mm}{0.05mm}}}}}} + +\def\ps@layoutcheck{\ps@headings + \let\ipsj@lc@evenhead\@evenhead + \def\@evenhead{\ipsj@lc@Lbot \ipsj@lc@Ltop + \ipsj@lc@evenhead + \ipsj@lc@Rtop \ipsj@lc@Rbot}% + \let\ipsj@lc@oddhead\@oddhead + \def\@oddhead{\ipsj@lc@Lbot \ipsj@lc@Ltop + \ipsj@lc@oddhead + \ipsj@lc@Rtop \ipsj@lc@Rbot}% + \let\ipsj@lc@myheadings\ps@myheadings + \def\ps@myheadings{\ipsj@lc@myheadings + \let\ipsj@lc@fpoddhead\@oddhead + \def\@oddhead{\ipsj@lc@Lbot \ipsj@lc@Ltop + \ipsj@lc@fpoddhead + \ipsj@lc@Rtop \ipsj@lc@Rbot}% + \let\@evenhead\@oddhead}} +% 2.12(9)<< + +% 2.07(3)>> +\def\ipsj@oddhead@a#1#2{\hskip12\@Q \rlap{\@thevolno}\hss#1\hss + \llap{#2}\hskip12\@Q} +\def\ipsj@oddhead@b#1#2{\hskip12\@Q \@thevolno\qquad#1\hss + \llap{#2}\hskip12\@Q} +\def\ipsj@oddhead@c#1#2{\hskip12\@Q \@thevolno\hss#1\hss#2\hskip12\@Q} +\let\ipsj@oddhead@t\ipsj@oddhead@a +\let\ipsj@oddhead@s\ipsj@oddhead@a +% 2.07(3)<< + +\def\ipsj@online@trans{IPSJ Digital Courier} % 2.12(4c) +\def\ipsj@online@journal{IPSJ Digital Courier} % 2.12(4c) +% 2.02(2),2.07(4)>> +\ifDS@english +\def\hdr@tipsj{\smash{% + \ifDS@online % 2.12(4c)>> + \ifipsj@trans + \ipsj@online@trans + \else + \ipsj@online@journal\fi % 2.12(4c)<< + \else + \ifipsj@trans + IPSJ Transactions on \ipsj@sig@title + \else + IPSJ Journal\fi + \fi}} +\else +\def\hdr@tipsj{\smash{\ipsj@j@jipsj % 2.12(1c)>> + \ifipsj@trans \ipsj@j@colon \ipsj@sig@title \fi}} % 2.12(1c)<< +\fi +% 2.02(2),2.07(4)<< + +% \checklines enables to draw a horizontal rule onto each baselines. + +\newif\if@checklines \@checklinesfalse +\def\checklines{\@checklinestrue} +\def\@checklines{\if@checklines \rlap{\smash{\vtop{\normalsize + \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip + \hrule\vskip-.4pt + \ifDS@techrep\@tempcnta50\else % 1.05(2) + \ifDS@english\@tempcnta53\else\@tempcnta45\fi\fi % 1.05(2) + \relax\@@checklines}}}\fi + \ifDS@english\@tempcnta-7\else\@tempcnta\z@\fi\relax +% 1.05(2)>> + % register marks are removed % 2.12(2d) +% 1.05(2)<< + } +\def\@@checklines{\ifnum\@tempcnta>\z@ + \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne + \let\next\@@checklines\else\let\next\relax\fi\next} + +\pagestyle{headings} +\pagenumbering{arabic} + +\ifDS@english\else +\def\today{\the\year\ipsj@j@year \the\month\ipsj@j@month \the\day\ipsj@j@day} + % 2.12(1c) +\fi + + +%%%%%% Output Routine %%%%%% + +% To balance the final page, +% following code is borrowed from nicetwocolumn style + +% you can refrain from balancing by falsifying following switch! +%% Initial value of \if@lastpagebalancing is false. It may be turned true by +%% biography processing macros. (H.N.) + +\newif\if@lastpagebalancing \@lastpagebalancingfalse +\newif\if@finalpageoutput \@finalpageoutputfalse +% incorporate balanced output to \enddocument +\let\latex@enddocument\enddocument +\def\enddocument{\@finalpageoutputtrue + \if@lastpagebalancing + \global\let\@outputdblcol\opt@balanceoutputdblcol\fi + \ifDS@preface + \global\let\@outputdblcol\opt@balanceoutputdblcol\fi + \ifDS@abstract % 2.07(7)>> + \hbox{}\newpage + \ifDS@english \rightline{(Presented \ra@presented)} + \else \expandafter\ra@putpresented\ra@presented \fi + \fi % 2.07(7)<< +% % 2.12(4d)>> + \if@filesw \write\@auxout{\string\gdef\string\ipsj@lastpage + {\number\c@page}}\fi % 2.12(4d)<< + \latex@enddocument} + +\newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote +\newif\if@leftfootnoteexist \@leftfootnoteexistfalse +\newif\if@rightfootnoteexist \@rightfootnoteexistfalse +\newif\ifopt@floatexist \opt@floatexistfalse + +% 2.00(12) \color@{begin/end}group ignored +\def\enlargethispage{\ipsj@warning{\string\enlargepage is ignored}} + % 2.00(3,12) +\def\@makecol{\vbadness10000 \lineskiplimit\normallineskiplimit % 1.05(1) + \setbox\@outputbox\box\@cclv + \if@firstcolumn + \ifvoid\footins \global\@leftfootnoteexistfalse + \else + \global\@leftfootnoteexisttrue + \@tempdima\dp\footins + \global\setbox\@leftcolumnfootnote\vbox{ + \unvbox\footins\vskip-\@tempdima} + \fi + \ifx\@botlist\@empty\else\global\opt@floatexisttrue\fi + \else + \ifvoid\footins \global\@rightfootnoteexistfalse + \else + \global\@rightfootnoteexisttrue + \@tempdima\dp\footins + \global\setbox\@rightcolumnfootnote\vbox{ + \unvbox\footins \vskip-\@tempdima} + \ifx\@toplist\@empty\else\global\opt@floatexisttrue\fi + \fi + \fi + \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats + \global\maxdepth\@maxdepth} + +% 2.01(1) >> +\let\latex@vtryfc\@vtryfc +\def\@vtryfc{\if@firstcolumn \global\@leftfootnoteexistfalse + \else \global\@rightfootnoteexistfalse \fi \latex@vtryfc} +% 2.01(1) << + +% 1.01(1,2) >> +\let\latex@addtobot\@addtobot +\def\@addtobot{\latex@addtobot\global\maxdepth\@maxdepth} +\let\latex@combinefloats\@combinefloats +\def\@combinefloats{\ifx\@botlist\@empty\else \dimen@\dp\@outputbox + \setbox\@outputbox\vbox{\unvbox\@outputbox \vskip-\dimen@}\fi + \latex@combinefloats} +% 1.01(1,2) << + +\newskip\opt@baselineskip +\def\@outputdblcol{ + \if@firstcolumn \global\@firstcolumnfalse + \global\setbox\@leftcolumn\box\@outputbox + \global\opt@baselineskip\baselineskip + \else \global\@firstcolumntrue \global\opt@floatexistfalse + \global\bib@adjustheight-\maxdimen + \setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3) + \unvbox\@leftcolumn + \if@leftfootnoteexist\vfil + \footnoterule\box\@leftcolumnfootnote\fi} + \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3) + \unvbox\@outputbox + \if@rightfootnoteexist\vfil + \footnoterule\box\@rightcolumnfootnote\fi} + \global\maxdepth\@maxdepth + \if@finalpageoutput + \if@leftfootnoteexist\else\if@rightfootnoteexist\else + \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn}% + \setbox\@outputbox\vbox{\unvbox\@outputbox} + \ifdim\ht\@leftcolumn<\ht\@outputbox + \setbox\@leftcolumn\vbox to\ht\@outputbox{ + \unvbox\@leftcolumn}% + \else + \setbox\@outputbox\vbox to\ht\@leftcolumn{ + \unvbox\@outputbox}% + \fi + \fi\fi\fi + \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth + {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil + \hbox to\columnwidth{\box\@outputbox \hss}}} + \@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}% + \endgroup + \fi} + +\let\opt@outputdblcol\@outputdblcol +\chardef\opt@boxa\z@ +\chardef\opt@boxb\@ne +\chardef\opt@boxc\tw@ +\def\opt@magicpenalty{1234} +\def\opt@balanceoutputdblcol{\let\next\opt@ibalanceoutputdblcol + \if@firstcolumn \let\next\opt@outputdblcol + \else \ifopt@floatexist \opt@warning \let\next\opt@outputdblcol + \else\ifx\@deferlist\@empty\else + \opt@warning \let\next\opt@outputdblcol\fi\fi\fi + \next} +\def\opt@ibalanceoutputdblcol{% + \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn + \ifnum\lastpenalty=\opt@magicpenalty\relax\else + \@tempcnta10\relax\@whilenum\@tempcnta>0\do{% + \unskip\unskip\unkern\unpenalty + \advance\@tempcnta\m@ne}\fi} + \advance\opt@baselineskip-\dp\@leftcolumn + \ifdim\dp\@leftcolumn=\z@ \ifdim\opt@baselineskip=\baselineskip + \@tempdima\ht\@leftcolumn \advance\@tempdima-\topskip + \divide\@tempdima\baselineskip + \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip + \advance\@tempdima\topskip + \advance\@tempdima-\ht\@leftcolumn + \advance\opt@baselineskip\@tempdima \fi\fi + \advance\opt@baselineskip-\topskip + \setbox\@outputbox\vbox{\unvbox\@outputbox} + \ifdim\ht\@outputbox=\topskip \ifdim\dp\@outputbox=\z@ + \setbox\opt@boxa\vbox{\unvcopy\@outputbox\unskip + \global\setbox\opt@boxb\lastbox + \global\dimen@\lastskip} + \ifvoid\opt@boxb\else\ifdim\ht\opt@boxb=\z@ + \ifdim\dp\opt@boxb=\z@\ifdim\dimen@=\topskip + \@firstcolumntrue\fi\fi\fi\fi\fi\fi + \setbox\opt@boxa\copy\@outputbox + \setbox\@outputbox\vbox{\unvcopy\@leftcolumn + \if@firstcolumn\else + \vskip\opt@baselineskip + \penalty\interlinepenalty\unvbox\@outputbox\fi} + \@tempdima\ht\@outputbox \advance\@tempdima\topskip + \divide\@tempdima\tw@ \advance\@tempdima100sp + \splittopskip\topskip \splitmaxdepth\@maxdepth + \ifdim\bib@adjustheight<\@M pt + \opt@split\@outputbox\opt@boxb\@tempdima + \ifdim\ht\opt@boxb<\bib@adjustheight + \opt@split\@leftcolumn\opt@boxc\bib@adjustheight + \opt@split\opt@boxc\opt@boxb\@tempdima + \if@firstcolumn + \opt@adjust\opt@boxc{\unvbox\@leftcolumn} + \else\opt@adjust\opt@boxc{\ifvoid\@leftcolumn\else + \unvbox\@leftcolumn\vskip\opt@baselineskip\fi + \unvbox\opt@boxa}\fi\fi + \else + \advance\bib@adjustheight-\@M pt + \opt@split\opt@boxa\opt@boxc\bib@adjustheight + \setbox\@outputbox\vbox{\unvbox\@leftcolumn + \vskip\opt@baselineskip\unvbox\opt@boxc} + \opt@split\@outputbox\opt@boxb\@tempdima + \opt@adjust\@outputbox{\unvbox\opt@boxa} + \fi + \if@leftfootnoteexist + \setbox\opt@boxb\vbox to\@colht{\box\opt@boxb\vfill + \footnoterule\box\@leftcolumnfootnote}\fi + \if@rightfootnoteexist + \setbox\@outputbox\vbox to\@colht{\box\@outputbox\vfill + \footnoterule\box\@rightcolumnfootnote}\fi + \ifdim\ht\@outputbox>\ht\opt@boxb + \setbox\opt@boxb\vbox to\ht\@outputbox{\unvbox\opt@boxb} + \else + \setbox\@outputbox\vbox to\ht\opt@boxb{\unvbox\@outputbox} + \fi + \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth + {\box\opt@boxb \hss}\hfil \vrule width\columnseprule\hfil + \hbox to\columnwidth{\box\@outputbox \hss}}} + \global\@firstcolumntrue \@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup} + +\if@LaTeX@eN % 2.00(3)>> +\def\opt@warning{\ClassWarning{ipsjpapers}{% + Single column floats still remain on biography\MessageBreak + processing.\MessageBreak + Do \string\verbbiography\space for manual balcing}} +\else +\def\opt@warning{\@warning{Single column floats still remain on biography + processing.^^J\space\space\space\space\space + \space\space\space\space\space\space\space\space\space\space + Do \string\verbbiography\space for manual balancing}} +\fi % 2.00(3)<< +\def\opt@split#1#2#3{\setbox#2\vsplit#1to#3\setbox#2\vbox{\unvbox#2}} +\def\opt@adjust#1#2{\@tempdima\ht#1 \advance\@tempdima-\topskip + \@tempdimb\@tempdima \divide\@tempdima\baselineskip + \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip + \advance\@tempdima-\@tempdimb + \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi + \advance\@tempdima\baselineskip \advance\@tempdima-\dp#1 + \advance\@tempdima-\topskip + \setbox\@outputbox\vbox{\ifvoid#1\else\unvbox#1\vskip\@tempdima\fi#2}} + +\let\latex@outputpage\@outputpage +% \opt@finalgap: vertical space above the \hrule at the end of paper. +% \opt@finallinewidth: width of the \hrule at the end of paper. +\@tempdima2\baselineskip % This might be changed +\edef\opt@finalgap{\the\@tempdima} +\def\opt@finallinewidth{220\@Q} % This might be changed +\ifDS@techrep \let\opt@finallinewidth\z@ \fi % 1.05(2) + +\def\@outputpage{\if@finalpageoutput + \setbox\@outputbox\vbox{\unvbox\@outputbox} + \@tempdima\dp\@outputbox + \@tempdimb\ht\@outputbox \advance\@tempdimb\opt@finalgap\relax + \ifdim\@tempdimb>\textheight\else + \setbox\@outputbox\vbox{\unvbox\@outputbox\vskip-\@tempdima + \nointerlineskip\vbox to\z@{\vskip\opt@finalgap + \hbox to\textwidth{\hss + \vrule height0.4pt width\opt@finallinewidth\hss} + \vss}}\fi\fi + \ifASCII\if@LaTeX@e\ifipsj@nonjp\else + \@@topmargin\topmargin \fi\fi\fi % 2.00(13),2.12(1b) + \latex@outputpage} + +%%%%%% Biography %%%%%% + +% If you want to control the allocation of biographies manually, do +% \verbbiography and insert \adjust{<vertical materials>} just before +% \member (or its relatives). For example; +% \verbbiography +% \begin{biography} +% \member{...} ... +% \adjust{\protect\newpage} +% \member{...} ... +% \adjust{\protect\vspace{1.3cm}} +% \member{...} ... +% \end{biography} +% will make page break just after the biography of the 1st author, and will +% insert a vertical space of 1.3cm just after that of the 2nd. It is +% strongly recommended to \protect any control sequence in the argument of +% \adjust. + +% \received and \accepted define the dates of receipt/acceptance. +% They are put at the end of manuscript (just before biographies) by +% \ra@putrcvacc. + +% 2.12(1c)>> +% \def\ra@nengo is moved to the tail % 2.12(1c) +\ifDS@english +\def\received#1#2#3{\def\ra@received{\ra@date{#1}{#2}{#3}}\ignorespaces} +\def\accepted#1#2#3{\def\ra@accepted{\ra@date{#1}{#2}{#3}}\ignorespaces} + % 2.07(5) +% \rereceived is moved below % 2.12(5) +\def\presented#1#2#3{\def\ra@presented{\ra@date{#1}{#2}{#3}}\ignorespaces} + % 2.07(7) +\ifDS@printer % 2.12(4e)>> +\def\ReleasedToOnline#1#2#3{\ifDS@online + \def\ra@released{\ra@date{#1}{#2}{#3}}\fi} +\fi % 2.12(4e)<< +\def\ra@received{??? ??, ????} +\def\ra@accepted{??? ??, ????} +\def\ra@presented{??? ??, ????} % 2.07(7) +\def\ipsj@TOD@editor{(Editor in Charge:\quad{\it\ipsj@TOD@ename\/})} + % 2.07(6) + % 2.12(6) + +\ifDS@TBIO % 2.11(4)>> +\def\ipsj@TOD@editor{(Communicated by\quad{\it\ipsj@TOD@ename\/})}% 2.12(6) +\fi % 2.11(4)<< +\else +\def\received#1#2#3{\def\ra@received{#1&}\ignorespaces} +\def\accepted#1#2#3{\def\ra@accepted{#1&}\ignorespaces} + % 2.07(5) +% \rereceived is moved below % 2.12(5) +\def\presented#1#2#3{\def\ra@presented{#1&}\ignorespaces} % 2.07(7) +\def\ra@received{?&?&?&} +\def\ra@accepted{?&?&?&} +\def\ra@presented{?&?&?&} % 2.07(7) +\def\ipsj@TOD@editor{\ipsj@j@lp\ipsj@j@edinch + \quad\ipsj@TOD@ename\ipsj@j@rp} % 2.07(6) + % 2.08(2) + % 2.12(6) +\fi +% aliasing of \received etc. is moved to the tail. + +% 2.12(1c)<< + +\let\ra@elt\relax % 2.12(5)>> +\def\rereceived#1#2#3{\ifx\ra@rereceived\undefined + \def\ra@rereceived{\ra@elt{}{#1}{#2}{#3}}\def\ra@rerecnum{1}% + \else + \@tempcnta\ra@rerecnum \advance\@tempcnta\@ne + \edef\ra@rerecnum{\number\@tempcnta}% + \edef\ra@rereceived{\ra@rereceived + \ra@elt{(\ra@rerecnum)}{#1}{#2}{#3}}% + \fi \ignorespaces} % 2.12(5)<< + +\def\edInCharge#1{\def\ipsj@TOD@ename{#1}\ignorespaces} % 2.07(6) + +\def\ra@putrcvacc{\rightline{\vtop{\normalsize\tabskip\z@ + \ifDS@english + \llap{(Received \ra@received)} + \def\ra@elt##1##2##3##4{% % 2.12(5)>> + \llap{(Revised##1 \ra@date{##2}{##3}{##4})}} + \ifx\ra@rereceived\undefined \else \ra@rereceived \fi + % 2.12(5)<< + \llap{(Accepted \ra@accepted)} + \ifx\ra@released\undefined\else % 2.12(4e) + \llap{(Released \ra@released)}\fi % 2.12(4e) + \hbox{} + \else % 2.12(1c)>> + \def\ra@elt##1##2##3##4{##2&##3&##4&\ipsj@j@rerec##1)\cr}% + % 2.12(5) + \halign{(\ra@nengo\hskip\jasciikanjiskip + \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@year + \hskip\jasciikanjiskip& + \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@month + \hskip\jasciikanjiskip& + \hfil##\hfil\hskip\jasciikanjiskip \ipsj@j@day + &##\hfil\cr % 2.07(5)>> + \ra@received \ipsj@j@received)\cr + \ifx\ra@rereceived\undefined \else \ra@rereceived \fi + % 2.12(5) + \ra@accepted \ipsj@j@accepted)\cr\multispan3\cr}\fi}% + % 2.07(5)<< + % 2.12(1c)<< + \hskip\@mojihaba} + \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{} + \ifDS@printer \ifDS@english % 2.12(4d)>> + \ifipsj@trans + \ifDS@online \noindent \ipsj@refer@trans \par \fi + \else + \ifDS@online\else \noindent \ipsj@refer@online \par \fi + \fi \fi \fi % 2.12(4d)<< + \ifipsj@recommendation\else % 2.04(2) + \ifx\ipsj@TOD@ename\undefined\else % 2.07(6)>> + \nobreak\vskip\baselineskip + \hbox{\ipsj@TOD@editor}\fi % 2.07(6)<< + \vskip\baselineskip\penalty\opt@magicpenalty\fi}% 2.04(2) +\def\ra@date#1#2#3{\ifcase#2\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space#3, #1} +\def\ra@jdate#1#2#3{#1&} +\def\ra@putpresented#1&{\rightline{% % 2.12(1c)>> + (\ra@nengo\hskip\jasciikanjiskip % 2.07(7)>> + #1\hskip\jasciikanjiskip \ipsj@j@year \hskip\jasciikanjiskip + #2\hskip\jasciikanjiskip \ipsj@j@month \hskip\jasciikanjiskip + #3\hskip\jasciikanjiskip \ipsj@j@day\ipsj@j@presented)}} + % 2.07(7)<< + % 2.12(1c)<< + +% 2.12(4d)>> +\def\ipsj@space{\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax} +\def\ipsj@refer@trans{% + (Paper version of this article can be found in the IPSJ Transactions on + \csname ipsj@sig@\ipsj@sig@code @e\endcsname, + Vol.\ipsj@space\number\c@volume, + No.\ipsj@space SIG\ipsj@sig@numa\ipsj@space + (\ipsj@sig@code\ipsj@space\ipsj@sig@numb), + pp.\ipsj@space\number\c@volpageoffset--\penalty5000\relax + \ipsj@thelastpage\c@volpageoffset\ipsj@last@page.)} +\def\ipsj@refer@online{% + (Online version of this article can be found in the + IPSJ Digital Courier, + Vol.\ipsj@space\ipsj@olh@vol, + pp.\ipsj@space\ipsj@olh@page--\penalty5000\relax + \ipsj@thelastpage\ipsj@olh@page\ipsj@olh@lastpage.)} +\def\ipsj@thelastpage#1#2{\begingroup + \@tempcnta#1\relax + \ifDS@online \@tempcntb\ipsj@olh@page + \else \@tempcntb\c@volpageoffset\fi + \ifx#2\undefined + \ifx\ipsj@lastpage\undefined \def\@tempa{???}% + \else \advance\@tempcntb-\ipsj@lastpage + \advance\@tempcnta-\@tempcntb + \def\@tempa{\number\@tempcnta}% + \fi + \else \def\@tempa{#2}% + \fi + \@tempa \endgroup} +% 2.12(4d)<< + +\newbox\bio@picbox +% The following define the height and width of a picture for biography, and +% the indentation of the first 6 lines. They might be changed. +\def\bio@picheight{100\@Q} +\def\bio@picwidth{80\@Q} + +\newif\ifbio@showpicbox +\bio@showpicboxtrue +% Do \bio@showpicboxfalse if you don't want to put a frame box at the +% position for picture. +\ifDS@english +\def\bio@lineheight{9\@Q} +\def\bio@piclines{7} +\def\bio@indent{91\@Q} +\def\bio@hangafter{7} +\else +\def\bio@lineheight{8\@Q} +\def\bio@piclines{6} +\def\bio@indent{96\@Q} +\def\bio@hangafter{5} +\fi + +% \verbbiography forces verbatim output of biography (i.e. not ballanced). +\newif\ifbio@verb \bio@verbfalse +\def\verbbiography{\global\bio@verbtrue} +% The environment biography saves texts for biographies into the list of +% \inserts (for floats). +\def\biography{\ifipsj@recommendation\else\par\ra@putrcvacc\fi % 2.04(2) + \def\member{\bio@member{}{\ipsj@j@member}}% %2.12(3a)(1c)>> + \def\nomember{\bio@member{}{}}% + \def\stmember{\bio@member{}{\ipsj@j@stmember}}% + \def\xmember{\bio@member{}}% + \ifDS@printer + \def\Kmember{\bio@Kmember{\ipsj@j@member}}% + \def\Knomember{\bio@Kmember{}}% + \def\Kstmember{\bio@Kmember{\ipsj@j@stmember}} + \let\Kxmember\bio@Kmember + \fi %2.12(3a)(1c)<< + \ifDS@english \let\author\nomember % 2.12(3d)>> + \ifDS@printer \let\Kauthor\Knomember \fi + \fi % 2.12(3d)<< + \let\adjust\bio@adjust + \ifbio@showpicbox + \setbox\bio@picbox\hbox{\hbox to\z@{\vrule\hskip-0.4pt% + \vtop to\bio@picheight{\vskip\z@\hrule width\bio@picwidth + \vfil\hrule}\hskip-0.4pt\vrule\hss}} + \else + \setbox\bio@picbox\hbox{} + \fi + \@tempdima\bio@piclines\baselineskip \advance\@tempdima\bio@lineheight + \dp\bio@picbox\@tempdima + \let\bio@egroup\relax\let\+\ignorespaces\let\@elt\relax + \def\bio@list{}\global\bio@th\z@} + +\def\bio@Kmember#1#2#3{\bio@member{#3}{#1}{#2}} % 2.12(3a) +\def\bio@member#1#2#3{\bio@egroup\let\bio@egroup\bio@@egroup % 2.12(3b)>> + \@next\@currbox\@freelist\relax + {\@latexerr{Too many unprocessed floats and biographies}\@ehb}% + \def\@tempa{#3}\def\@tempb{#1}% + \global\setbox\@currbox\hbox\bgroup + \@tempswatrue + \ifx\@tempb\@empty + \ifDS@printer \@tempswafalse + \else \raise\bio@lineheight\copy\bio@picbox + \fi + \else + \setbox\@tempboxa\hbox to\z@{\vtop{\vskip\z@ + \hbox{\includegraphics + [width=\bio@picwidth,height=\bio@picheight]{#1.eps}}}% + \hss} + \dp\@tempboxa\dp\bio@picbox + \raise\bio@lineheight\box\@tempboxa + \fi % 2.12(3b)<< + \vtop\bgroup + \let\par\\ + \if@tempswa \hangindent\bio@indent\hangafter-\bio@hangafter \fi + \ifDS@english {\bf #3\ }% + \else {\bf\bio@putauthor#3\+ \@nil}% + \def\@tempb{#2}\ifx\@tempb\@empty\else % 2.12(3c) + \ipsj@j@lp#2\ipsj@j@rp\fi{\@@par}\fi % 2.12(3c)(1c) + \ignorespaces} + +% Author name format: +% S + G < 5 -> fill space between S/G (like SS__G) +% otherwise -> 1 KC space between S/G (like SS_GG) +\def\bio@putauthor#1 #2\@nil{% + \ifipsj@nonjp#1 #2\else + \setbox\@tempboxa\hbox{\jintercharskip\z@#1#2}% + \setbox\mkt@boxa\hbox{\jintercharskip1cm#1#2}% + \ifdim\wd\@tempboxa=\wd\mkt@boxa #1 #2\else + \def\@tempa{#2}\ifx\@tempa\empty + {\def\+{}\ipsj@warning{Author name #1 doesn't have a space}}% + % 2.00(3) + #1\else + \@tempdima\@mojihaba + \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}% + \advance\mkt@sname\mkt@gname + \ifnum\mkt@sname<5\leavevmode\hbox to5\@mojihaba{#1\hfil#2}\else + #1#2\fi\fi\fi\fi} +\def\bio@@egroup{\@@par\hbox{}\egroup\egroup\@tempdima\dp\@currbox + \ifdim\@tempdima>\textheight + \ipsj@warning{Biography of \@tempa\space is too long}% 2.00(3) + \bio@verbtrue \fi + \advance\@tempdima\baselineskip\global\advance\bio@th\@tempdima + \global\dimen\@currbox\@tempdima \global\count\@currbox\z@ + {\let\protect\bio@protect\xdef\bio@list{\bio@list\@elt\@currbox}}} +\def\bio@adjust#1{\bio@egroup\let\bio@egroup\relax + \ifbio@verb {\let\protect\bio@protect\xdef\bio@list{\bio@list#1}\fi}} +\def\bio@protect{\noexpand\protect\noexpand} + +\def\endbiography{\bio@egroup \@tempswatrue + \ifx\@botlist\@empty\ifx\@deferlist\@empty \@tempswafalse \fi\fi + \ifbio@verb\else\if@tempswa \bio@verbtrue \opt@warning\fi\fi + \ifbio@verb{\let\@elt\bio@putelt \let\protect\relax \bio@list}% + \else\bio@putbio\fi} + +\newdimen\bio@colht \newdimen\bio@splitheight +\newdimen\bio@maxgap \newdimen\bio@lastgap +\newdimen\bio@th \newdimen\bio@lhA \newdimen\bio@hA \newdimen\bio@hB +\newdimen\bio@lh \newdimen\bio@rh +\newdimen\bio@tempdim +\newif\ifbio@awful +\newinsert\bio@pbox \count\bio@pbox\@ne + +\def\bio@putbio{\let\@elt\relax \let\bio@vskip\relax \allowbreak + \bio@colht\@colht \advance\bio@colht-\topskip + \advance\bio@colht\baselineskip + \@tempdima\bio@colht \advance\@tempdima-\@colroom + \advance\@tempdima\pagetotal + \if@firstcolumn + \ifdim\@tempdima>\bio@th + \global\@lastpagebalancingtrue + {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip + \else + \ifdim\pagetotal=\z@\else + \dimen\bio@pbox\@tempdima \advance\bio@th\@tempdima + \edef\bio@list{\@elt\bio@pbox\bio@list}\fi + \bio@splitheight\bio@colht \bio@splitpage + \bio@splitheight.5\bio@th + \let\bio@awfulput\bio@specialawfulput + \bio@trybalance\fi + \else \advance\@tempdima\bio@th + \ifdim\@tempdima<\bio@colht + \global\@lastpagebalancingtrue + \ifdim\pagetotal=\z@ \global\opt@baselineskip2\baselineskip\fi + {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip + \else + \let\bio@awfulput\bio@normalawfulput + \bio@splitheight\z@ \advance\@tempdima-\bio@th + \advance\bio@colht-\@tempdima \bio@splitpage + {\let\@elt\bio@putelt\bio@list}\bio@nextpage + \bio@trybalance\fi + \fi} + +\def\bio@trybalance{\bio@split + \let\bio@right\bio@rightA \let\bio@left\bio@leftA + \def\bio@rightx{}\def\bio@leftx{}% + \let\bio@hX\bio@hA \bio@balance + \let\bio@rightxA\bio@rightx \let\bio@leftxA\bio@leftx + \ifbio@awful\@tempcnta\tw@\else\@tempcnta\z@\fi + \let\bio@right\bio@rightB \let\bio@left\bio@leftB + \def\bio@rightx{}\def\bio@leftx{}% + \let\bio@hX\bio@hB \bio@balance + \let\bio@rightxB\bio@rightx \let\bio@leftxB\bio@leftx + \ifbio@awful\advance\@tempcnta\@ne\fi + \ifcase\@tempcnta + \ifdim\bio@hA<\bio@hB \bio@balanceput\bio@leftxA\bio@rightxA + \else \bio@balanceput\bio@leftxB\bio@rightxB\fi + \or \bio@balanceput\bio@leftxA\bio@rightxA + \or \bio@balanceput\bio@leftxB\bio@rightxB + \else \bio@awfulput\fi + \ifx\bio@deferred\empty\vskip-\baselineskip\let\next\relax + \else\bio@nextpage\let\next\bio@trybalance\fi\next} + +\def\bio@split{\def\bio@leftA{}\def\bio@leftB{}% + \def\bio@rightA{}\def\bio@rightB{}% + \bio@lhA\z@\@tempdimb\z@ \bio@isplit} +\def\bio@isplit{\ifx\bio@list\empty\let\next\relax\else + \bio@car\@tempdima\@currbox\bio@list + \bio@lhA\@tempdimb\advance\@tempdimb\@tempdima + \edef\bio@leftB{\bio@leftB\@elt\@currbox}% + \ifdim\@tempdimb>\bio@splitheight + \edef\bio@rightA{\@elt\@currbox\bio@list}% + \let\bio@rightB\bio@list \let\next\relax + \else\edef\bio@leftA{\bio@leftA\@elt\@currbox}\let\next\bio@isplit + \fi\fi\next} + +\def\bio@balanceput#1#2{{\let\@elt\bio@putelt\let\bio@vskip\bio@xvskip + #1\bio@newpage#2}} +\def\bio@normalawfulput{{\let\bio@vskip\@gobble \@tempcnta\z@ + \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxB + \ifdim\@tempdima<\bio@colht + \@tempdima\z@ \bio@addheight\@tempdima\bio@rightxB + \ifdim\@tempdima<\bio@colht \@tempcnta\@ne + \let\@elt\bio@putelt + \bio@leftxB\bio@newpage\bio@rightxB\fi\fi + \ifnum\@tempcnta=\z@ + \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxA + \ifdim\@tempdima<\bio@colht + \@tempdima\z@\bio@addheight\@tempdima\bio@rightxA + \ifdim\@tempdima<\bio@colht \@tempcnta\@ne + \let\@elt\bio@putelt + \bio@leftxA\bio@newpage\bio@rightxA\fi\fi\fi +% The following may be redundant. + \ifnum\@tempcnta=\z@ + \let\@elt\bio@putelt\bio@listsave\fi}} +\def\bio@specialawfulput{{\advance\bio@th-\dimen\bio@pbox + \ifdim\bio@th<\bio@colht\bio@newpage + \let\bio@newpage\relax\fi\bio@normalawfulput}} + +\def\bio@putelt#1{\ifnum\count#1>\z@\else\box#1 + \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{} + \vskip\baselineskip\fi} +\def\bio@xvskip#1{\vskip#1\prevdepth\z@} +\def\bio@newpage{\vskip-\baselineskip\newpage} + +\def\bio@nextpage{\bio@newpage \let\bio@list\bio@deferred + \bio@th\z@ \bio@addheight\bio@th\bio@list + \bio@colht\@colht \advance\bio@colht-\topskip + \advance\bio@colht\baselineskip + \bio@splitheight\bio@colht \bio@splitpage + \bio@splitheight.5\bio@th + \let\bio@awfulput\bio@normalawfulput} +\def\bio@splitpage{\let\bio@listsave\bio@list \bio@split + \@tempdima\bio@th \advance\@tempdima-\bio@lhA + \ifdim\@tempdima>\bio@colht + \let\bio@leftAsave\bio@leftA \bio@th\bio@lhA + \let\bio@list\bio@rightA \bio@splitheight\bio@colht + \bio@split \edef\bio@list{\bio@leftAsave\bio@leftA}% + \advance\bio@th\bio@lhA + \let\bio@deferred\bio@rightA + \else\def\bio@deferred{}\let\bio@list\bio@listsave\fi} + +% \bio@tolerablegap: maximum tolerable gap between adjacent bio's. +% \bio@tolerablestretch:maximum stretch of a column. + +\@tempdima10\baselineskip % This might be changed +\edef\bio@tolerablegap{\the\@tempdima} +\@tempdima15\baselineskip +\edef\bio@tolerablelastgap{\the\@tempdima} +\def\bio@tolerablestretch{2} % This might be changed + +\def\bio@balance{\let\@elt\relax \edef\bio@bstack{% + \@elt{{\bio@left}{\bio@right}{}{}{0pt}}} + \bio@xbalance} +\def\bio@xbalance{% + \expandafter\bio@popstack\bio@bstack\@nil + \let\bio@nextA\bio@xbalance \@tempdima\z@ + \ifx\bio@left\empty \ifx\bio@right\empty + \let\bio@nextA\bio@balanceend + \else + \bio@addheight\@tempdima\bio@right + \edef\bio@leftx{\bio@leftx\bio@vskip{\the\@tempdima}}% + \advance\bio@hX\@tempdima + \edef\bio@rightx{\bio@rightx\bio@right}\def\bio@right{}% + \bio@pushstack \fi\else + \ifx\bio@right\empty + \bio@addheight\@tempdima\bio@left + \edef\bio@rightx{\bio@rightx\bio@vskip{\the\@tempdima}}% + \advance\bio@hX\@tempdima + \edef\bio@leftx{\bio@leftx\bio@left}\def\bio@left{}% + \bio@pushstack \else + \bio@car\@tempdima\bio@leftbox\bio@left + \bio@car\@tempdimb\bio@rightbox\bio@right + \edef\bio@leftx{\bio@leftx\@elt\bio@leftbox}% + \edef\bio@rightx{\bio@rightx\@elt\bio@rightbox}% + \ifdim\@tempdima>\@tempdimb + \advance\bio@hX\@tempdima + \let\bio@da\@tempdima\let\bio@db\@tempdimb + \bio@ibalance\bio@left\bio@right\bio@leftx\bio@rightx + \else \advance\bio@hX\@tempdimb + \let\bio@da\@tempdimb\let\bio@db\@tempdima + \bio@ibalance\bio@right\bio@left\bio@rightx\bio@leftx\fi + \fi\fi\bio@nextA} +\def\bio@ibalance#1#2#3#4{\let\bio@nextB\relax + \ifx#2\empty + \advance\bio@da-\bio@db + \edef#4{#4\bio@vskip{\the\bio@da}}\bio@pushstack\else + \bio@car\bio@tempdim\@currbox#2 \advance\bio@db\bio@tempdim + \ifdim\bio@da<\bio@db + \advance\bio@db-\bio@da + \let\@tempa#3\edef#3{#3\bio@vskip{\the\bio@db}}% + \let\@tempb#4\edef#4{#4\@elt\@currbox}% + \advance\bio@hX\bio@db \bio@pushstack + \advance\bio@hX-\bio@db + \edef#2{\@elt\@currbox#2}% + \advance\bio@tempdim-\bio@db + \let#3\@tempa \edef#4{\@tempb\bio@vskip{\the\bio@tempdim}}% + \bio@pushstack + \else \edef#4{#4\@elt\@currbox}\def\bio@nextB{\bio@ibalance#1#2#3#4}% + \fi\fi\bio@nextB} +\def\bio@balanceend{\bio@awfulfalse \def\bio@bstack{}% + \bio@maxgap\z@ \bio@lastgap\z@ + \bio@checkgap\bio@leftx \bio@checkgap\bio@rightx + \ifdim\bio@maxgap>\bio@tolerablegap\relax\bio@awfultrue\fi + \ifdim\bio@lastgap>\bio@tolerablelastgap\relax\bio@awfultrue\fi + \ifdim\bio@hX>\bio@tolerablestretch\bio@splitheight\bio@awfultrue\fi + \ifdim\bio@hX>\bio@colht\bio@awfultrue\fi} +\def\bio@checkgap#1{{\@tempdima\z@ \@tempdimb\z@ \bio@tempdim\z@ + \let\@elt\bio@cgelt \let\bio@vskip\bio@cgvskip #1\relax + \ifdim\@tempdima>\bio@maxgap \global\bio@maxgap\@tempdima \fi + \ifdim\bio@tempdim>\bio@lastgap \global\bio@lastgap\bio@tempdim \fi}} +\def\bio@cgvskip#1{\advance\bio@tempdim#1\relax + \ifdim\bio@tempdim>\@tempdimb \@tempdimb\bio@tempdim\fi} +\def\bio@cgelt#1{\@tempdima\@tempdimb \bio@tempdim\z@} +\def\bio@popstack\@elt#1#2\@nil{\edef\bio@bstack{#2}\bio@ipopstack#1} +\def\bio@ipopstack#1#2#3#4#5{\def\bio@left{#1}\def\bio@right{#2}% + \def\bio@leftx{#3}\def\bio@rightx{#4}\bio@hX#5\relax} +\def\bio@pushstack{\def\bio@bstackx{}% + \expandafter\bio@ipushstack\bio@bstack\@elt\@nil} +\def\bio@ipushstack\@elt#1{\def\@tempc{#1}% + \ifx\@tempc\@nnil \edef\bio@bstack{\bio@bstackx\bio@stackelt}% + \let\bio@nextC\relax \else + \bio@iipushstack#1\fi\bio@nextC} +\def\bio@iipushstack#1#2#3#4#5{\ifdim#5>\bio@hX + \edef\bio@bstackx{\bio@bstackx\bio@stackelt + \@elt{{#1}{#2}{#3}{#4}{#5}}}% + \let\bio@nextC\bio@pushstackend\else + \edef\bio@bstackx{\bio@bstackx + \@elt{{#1}{#2}{#3}{#4}{#5}}}% + \let\bio@nextC\bio@ipushstack\fi} +\def\bio@pushstackend#1\@elt\@nil{\edef\bio@bstack{\bio@bstackx#1}} +\def\bio@stackelt{\@elt{{\bio@left}{\bio@right}{\bio@leftx}{\bio@rightx}% + {\the\bio@hX}}} +\def\bio@addheight#1#2{\def\@elt##1{\advance#1\dimen##1}#2\let\@elt\relax} +\def\bio@car#1#2#3{\expandafter\bio@icar#3\@nil#1#2#3} +\def\bio@icar\@elt#1#2\@nil#3#4#5{#3=\dimen#1\relax\def#4{#1}\def#5{#2}} + + +%%%%%% Miscellaneous %%%%%% + +\flushbottom + +\ifDS@english +\hbadness9999 \tolerance9999 +\else +\hbadness5000 \tolerance5000 +\pretolerance\m@ne +\fi + +\input{ipsjcommon.sty} + +\twocolumn + +\endinput diff -r 000000000000 -r a5facba1adbc Paper/ipsjsort.bst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/ipsjsort.bst Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,1285 @@ +% ipsjsort.bst 15-Jun-07 by Hiroshi Nakashima (ver 2.12) +% ipsjsort.bst 30-Jan-02 by Hiroshi Nakashima (ver 2.00) +% ipsjsort.bst 28-Dec-93 by Hiroshi Nakashima (ver 1.00) +% jssst.bst tomura@etl.go.jp (Satoru Tomura) +% BibTeX standard bibliography style `jplain' + % version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09. + % by Shouichi Matsui, matsui@denken.junet + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + yomi + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { before.year } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'before.year := % 1.00(1) +} + +STRINGS { s t } + +FUNCTION {is.kanji} +{ is.kanji.str$ } % 1.00(2), 2.00(1) + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { duplicate$ is.kanji % 2.00(2) + { "," * write$ } + { ", " * write$ } + if$ + } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { output.state before.year = % 1.00(1) + { " " * write$ } + { add.period$ " " * write$ } + if$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {required.argument} +{ 't := + empty$ + {"Missing required argument " t * " in " * cite$ * warning$} + 'skip$ + if$ +} + +FUNCTION {required.exclusive.or.argument} +{ 't := + empty$ + { 's := + empty$ + { t " or " * s * " is missing in " * cite$ * warning$} + 'skip$ + if$ + } + { 's := + empty$ + 'skip$ + { "You can use only one of " t * " and " * s * " in " * cite$ * warning$} + if$ + } + if$ +} + +FUNCTION {required.and.or.argument} +{ 't := empty$ + { 's := empty$ + { "there's no " t * " and/or " * s * cite$ * warning$ } + 'skip$ + if$ + } + { pop$ pop$ } + if$ +} + +FUNCTION {optional.series.volume.number.argument} +{ series empty$ + { volume empty$ + { number empty$ + 'skip$ + { "there's a number but no series in " cite$ * warning$ } + if$ + } + { number empty$ + { "there's a volume but no series in " cite$ * warning$ } + { "you can use only one of volume and number in " cite$ * warning$} + if$ + } + if$ + } + { volume empty$ + { number empty$ + { "there's a series but neither volume nor number in " cite$ * warning$ } + 'skip$ + if$ + } + { number empty$ + 'skip$ + { "you can use only one of volume and number in " cite$ * warning$ } + if$ + } + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { duplicate$ is.kanji + 'skip$ % 1.00(3) + { "{\em " swap$ * "}" * } % 2.00(3) + if$ + } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} % 1.00(4), 2.00(4) +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff}{ll}" format.name$ duplicate$ is.kanji + { duplicate$ text.length$ #6 > + { 't := } + { pop$ s nameptr "{ff} {ll}" format.name$ 't := } + if$ + } + { pop$ s nameptr "{vv }{ll}{, jj}{, f.}" format.name$ 't := } + if$ + nameptr #1 > + { namesleft #1 > + { s is.kanji + { "," } + { ", " } + if$ + * t * } + { t "others" = + { s is.kanji + {"ほか" * } + {" et al." * } + if$ + } + { s is.kanji + {"," * t * } % put "," here for Kanji (H.N.) + {" and " * t * } + if$ + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {add.colon} % 2.00(5) +{ duplicate$ is.kanji + { "\:" * } % 2.12(1) + { ": " * } + if$ +} + +FUNCTION {format.editors.inparen} % 2.00(6) +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { editor is.kanji + {",編" * } {", eds." *} if$ + } + { editor is.kanji + {",編" *} {", ed." *} if$ + } + if$ + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { editor is.kanji + {"(編)" * } {"(eds.)" *} if$ % 2.00(7) + } + { editor is.kanji + {"(編)" *} {"(ed.)" *} if$ % 2.00(7) + } + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ before.year 'output.state := % 1.00(1) + year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + "" % 1.00(5) + } + if$ + } + { "(" year ")" * * } % 1.00(5) + if$ +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { "\ " } % 1.00(6) + if$ + swap$ * * +} + +FUNCTION {output.volume} +{ + volume empty$ + 'skip$ + { "Vol.~" volume * output} + if$ + +} + +FUNCTION {output.number} +{ + number empty$ + 'skip$ + { "No.~" number * output} + if$ +} + +FUNCTION {output.series.volume.number} +{ series empty$ + { output.volume + output.number } + { series is.kanji + volume empty$ + number empty$ + or + and + { series " " * volume * number * output} + { series output + output.volume + output.number} + if$ + } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} % 1.00(7) +{ pages empty$ + { "" } + { pages multi.page.check + { "pp." pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} % 1.00(8) +{ volume empty$ + { ""} + { " Vol.~" volume * } + if$ + number empty$ + 'skip$ + { volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + { "," *} + if$ + " No.~" number * * + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" chapter tie.or.space.connect } + { type is.kanji + { chapter type tie.or.space.connect } + { type "l" change.case$ chapter tie.or.space.connect } + if$ + } + if$ + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { booktitle emphasize + editor empty$ + 'skip$ + { booktitle is.kanji + { "(" * format.editors.inparen * ")" *} % 2.00(6,7) + { " (" * format.editors.inparen * ")" *} % 1.00(9), 2.00(6) + if$ + } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { title empty$ + { "Technical Report" } + { title is.kanji + { "技術報告" } + { "Technical Report" } + if$ + } + if$ + } + {type} + if$ + number empty$ + { "t" change.case$ } + { " " number * * } + if$ +} + +FUNCTION {format.article.crossref} % 2.00(8) +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { journal emphasize } % 1.00(10) + if$ + } + { "In " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} % 1.00(11) +{ editor #1 + editor is.kanji { "{ff}" } { "{vv }{ll}" } if$ + format.name$ + editor num.names$ duplicate$ + #2 > + { editor is.kanji + {pop$ "ほか" *} {pop$ " et al." * } if$ + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { editor is.kanji + {"ほか" *} {" et al." * } if$ + } + { editor is.kanji + {"・" * editor #2 "{ff}" format.name$ * } + {" and " * editor #2 "{vv }{ll}" format.name$ * } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} % 2.00(8) +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { series emphasize } % 1.00(10) + if$ + } + { "In " key * } + if$ + } + { format.crossref.editor } + if$ + " \cite{" * crossref * "}" * + volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ } + { duplicate$ is.kanji { "," } { ", "} if$ * + "Vol." * volume tie.or.space.connect + } + if$ +} + +FUNCTION {format.incoll.inproc.crossref} % 2.00(8) +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { booktitle emphasize } % 1.00(10) + if$ + } + { "In " key * } + if$ + } + { format.crossref.editor } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ +%%%% + author "author" required.argument + title "title" required.argument + journal "journal" required.argument + year "year" required.argument +%%%% jssst + volume "volume" + number "number" + required.and.or.argument + pages "pages" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + crossref missing$ + { journal emphasize output + format.vol.num.pages output % 1.00(12) + format.date output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ +%%%% + author "author" + editor "editor" + required.exclusive.or.argument + title "title" required.argument + publisher "publisher" required.argument + year "year" required.argument + optional.series.volume.number.argument +%%%% + output.bibitem + author empty$ + { format.editors} + { format.authors} + if$ + add.colon % 2.00(5) + title emphasize output + crossref missing$ + { output.series.volume.number + publisher output + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ +%%%% + title "title" required.argument +%%%% jssst + author "author" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ +%%%% + author "author" + editor "editor" + required.exclusive.or.argument + title "title" required.argument + chapter "chapter" + pages "pages" + required.and.or.argument + publisher "publisher" required.argument + year "year" required.argument + + optional.series.volume.number.argument +%%%% + output.bibitem + author empty$ + { format.editors} + { format.authors} + if$ + add.colon % 2.00(5) + title emphasize output + crossref missing$ + { output.series.volume.number + format.chapter.pages output + publisher output + } + { format.chapter.pages output + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date output % 1.00(13) + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ +%%%% + author "author" required.argument + title "title" required.argument + booktitle "booktitle" required.argument + publisher "publisher" required.argument + year "year" required.argument + + optional.series.volume.number.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + crossref missing$ + { format.in.ed.booktitle output + output.series.volume.number + publisher output + address output + format.edition output + format.chapter.pages output % 1.00(13) + format.date output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ +%%%% + author "author" required.argument + title "title" required.argument + year "year" required.argument + + optional.series.volume.number.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + crossref missing$ + { format.in.ed.booktitle output + booktitle "booktitle" required.argument + output.series.volume.number + address output + organization output + publisher output + format.pages output + format.date output % 1.00(13) + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ +%%%% + title "title" required.argument +%%%% jssst + author "author" + organization "organazaion" + required.exclusive.or.argument +%%%% + output.bibitem + author empty$ + { organization} + { format.authors} + if$ + add.colon % 2.00(5) + title emphasize output + author empty$ + 'skip$ + { organization output } + if$ + address output + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ +%%%% + author "author" required.argument + title "title" required.argument + school "school" required.argument + year "year" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + author empty$ + { "Master's thesis" } + { author is.kanji + { "修士論文" } + { "Master's thesis" } + if$ + } + if$ + format.thesis.type output.nonnull + school output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ +%%%% +%%%% jssst + author "author" required.argument + title "title" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ +%%%% + author "author" required.argument + title "title" required.argument + school "school" required.argument + year "year" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output % 2.00(9) + author empty$ + { "PhD Thesis" } + { author is.kanji + { "博士論文" } + { "PhD Thesis" } + if$ + } + if$ + format.thesis.type output.nonnull + school output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ +%%%% + title "title" required.argument + year "year" required.argument + + optional.series.volume.number.argument +%%%% jssst + editor "editor" + organization "organization" + required.exclusive.or.argument +%%%% + output.bibitem + editor empty$ + { organization } + { format.editors } + if$ + add.colon % 2.00(5) + title emphasize output + output.series.volume.number + address output + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ +%%%% + author "author" required.argument + title "title" required.argument + institution "institution" required.argument + year "year" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + format.tr.number output.nonnull + institution output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ +%%%% + author "author" required.argument + title "title" required.argument + note "note" required.argument +%%%% + output.bibitem + format.authors add.colon % 2.00(5) + title output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + yomi empty$ + 'skip$ + { yomi 's := } + if$ + + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + + diff -r 000000000000 -r a5facba1adbc Paper/ipsjtech.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/ipsjtech.sty Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,354 @@ + +% ipsjtech.sty (C) 2012 Information Processing Society of Japan +% Copyright (C) 1995-2010 by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal + + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{ipsj} +% [2012/03/26-05/02 v1.00-2.00 IPSJTECH.STY] + [2012/06/01 v3.00 IPSJTECH.STY] + + + + +%%%%%%%% +%techrep +%%%%%%%% +\def\biography{\ipsjnobiography} +\def\endbiography{\ipsjendnobiography} + +\def\ipsjnobiography{\let\profile\@gobble + \ifDS@english \let\author\@gobble \fi + \let\adjust\@gobble \setbox0\vbox\bgroup + \tolerance\@M \hbadness\@M \hfuzz\maxdimen} +\def\ipsjendnobiography{\egroup\setbox0\hbox{}} + + + + +\def\@uketsuke{% +\leavevmode% +\phantom{@received} +\@ifundefined{@rereceived}{\phantom{, }}{% + \phantom{\@rereceived} + \@ifundefined{@rerereceived}{\phantom{, }}{\phantom{\@rerereceived}}% + \par +}% +\phantom{\@accepted}% +\@ifundefined{@released}{}{, \@released}% +} + + +\def\@euketsuke{% +\leavevmode% +\phantom{\@ereceived} +\@ifundefined{@erereceived}{\phantom{, }}{% + \phantom{\@erereceived} + \@ifundefined{@ererereceived}{\phantom{, }}{\phantom{\@ererereceived}}% + \par +}% +\phantom{\@eaccepted} +} + + + + + +%% +\def\SIGHead{\ifDS@english% +{IPSJ SIG Technical Report}% +\else $B>pJs=hM}3X2q8&5fJs9p(B\fi}%% +% + +\def\signame@DAM{\ifDS@english% +IPSJ SIG Technical Report% +\else $B>pJs=hM}3X2q8&5fJs9p(B\fi}%% + + + +\def\signame@ACS{\SIGHead} +\def\signame@PRO{\SIGHead} +\def\signame@TOM{\SIGHead} +\def\signame@TOD{\SIGHead} +\def\signame@CDS{\SIGHead} +\def\signame@CVA{\SIGHead} +\def\signame@TBIO{\SIGHead} +\def\signame@SLDM{\SIGHead} +\def\signame@JIP{\SIGHead} + + +\def\HeadfontE{% +\ifDS@english + \fontsize{13\Q}{0\h}\sffamily\bfseries\selectfont% +\else + \fontsize{13\Q}{0\h}\bfseries\selectfont% +\fi +} + +\def\DOIHeadfont{\fontsize{11\Q}{0\h}%\usefont{OT1}{phv}{m}{n}\selectfont +\selectfont} + + + +%%%<<<< 1.02 +\ifDS@english +\def\ps@IPSJTITLEheadings{% + \def\@oddhead{\@Ltop% +\rlap{\small{%% +%% +{\HeadfontE{\signame}}%% +}}% +%%%%% +%}}}}% +\hfil\@Rtop}% +%%%%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{%\fontsize{10\Q}{0\h}% +{\bothashira% +\copyright \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil +{\botnomble +{\thepage} +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +}} +%%% +%%%%%%%%% +\else +%%%%%%%%% +%%% +\def\ps@IPSJTITLEheadings{% + \def\@oddhead{\@Ltop% +\rlap{\small% +%% +{\HeadfontJ{\signame}}%% +%%%%% +{%% +\ifDS@abstract\else\fi +}}% +%%%% +\smash{\raisebox{-4mm}{\rlap{% +{\DOIHeadfont%% +IPSJ SIG Technical Report% +}% +}}}% +\hfil\@Rtop}% +%% + \let\@evenhead\@oddhead + \def\@oddfoot{\@Lbot% +\rlap{% +{\bothashira% +{\textcopyrighttx} \ {\@footyear} Information Processing Society of Japan% +}}% +\hfil% +{\botnomble% +{\thepage}}% +\@Rbot}% + \let\@evenfoot\@oddfoot + \let\@mkboth\@gobbletwo +} +\fi + + + + + +%========================================== + +\newif\if@ET +\def\etitle#1{\global\@ETtrue% +\gdef\@etitle{#1}} + +\newif\if@JK + +\def\jkeyword{\@par% +\global\@JKtrue% +\global\setbox\@jkeywordbox\hbox\bgroup + \begin{minipage}[t]{.8\textwidth}% +\fontsize{12\JQ}{15\h}\selectfont% +{\noindent{\JKEYWORD}}% +\ignorespaces} +\def\endjkeyword{% +\par\end{minipage}% +\egroup\ignorespaces} + + + +\newif\if@EAB + +\def\eabstract{% +\global\@EABtrue% + \global\setbox\@eabstractbox\hbox\bgroup% + \begin{minipage}[t]{.8\textwidth}% 12Q 16H +\fontsize{12\Q}{15\h}\selectfont% +\noindent{\EGAIYOU}% +\ignorespaces} + + + +\newif\if@EK + +\def\ekeyword{\@par% +\global\@EKtrue% + \global\setbox\@ekeywordbox\hbox\bgroup + \begin{minipage}[t]{.8\textwidth}% +\fontsize{12\Q}{15\h}\selectfont% +{\noindent{\EKEYWORD}}% +\ignorespaces} +\def\endekeyword{% +\par\end{minipage}% +\egroup\ignorespaces} + + + +\def\@maketitle{% +\newpage\null +%%%%%%%%%% +\ifDS@english +%% +\vskip-1.3mm%<-- +\ifx\SHUBETUname\relax% +{\SHUBETUfontE{\vphantom{\SHUBETUname@DEF}}}%% +\else +{\SHUBETUfontE{\vphantom{\SHUBETUname}}}%% +\fi +%% +\else +\ifx\SHUBETUname\relax% +{\SHUBETUfontJ{\SHUBETUname@DEF}}%% +\else +{\SHUBETUfontJ{\SHUBETUname}}%% +\fi\fi +%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\shubetutitlesep% +%%%%%%%%%%%%%%%%%%%%%%%% +%% +%\vskip 10mm% +\begin{center} +\authortitle %%<--- +\end{center} +%%%%%%%%%%%%%%%%%%% +% +} + + + + + + +\ifDS@english +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\Engtitlefont% +{\@title}\par} +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Etitleauthorsep% +%%%%%%%%%%%%%%%%%%%%%%% +{\Engeauthorfont% +\authoroutput{e}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eauthorreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%% +{\Enguketukefont% +{\@uketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Ereceiveabstsep% +%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Eabstkeywordsep% +%%%%%%%%%%%%%%%%%%%%%%% +\let\@keywordbox\@ekeywordbox +\mbox{\box\@ekeywordbox}\par% +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +%=========== +\else +%========== +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\authortitle{% +{\jtitlefont% +{\@title}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jtitlejauthorsep% +%%%%%%%%%%%%%%%%%%%%%%%% +%====== +{\authorfont% +\authoroutput{}\par}% +%%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jauthorjreceivesep% +%%%%%%%%%%%%%%%%%%%%%%%%%% +%====== +{\juketukefont% +{\@uketsuke}\par}% +%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jreceivejabstsep% +%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@abstractbox}\par% +%%%%%%%%%%%%%%%%%%%%%%%% +\if@JK%<----- +\vskip\Jabstsepjkeyword% +% +\mbox{\box\@jkeywordbox}\par% +\fi%<----- +\if@ET%<----- +%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jkeywordetitle% +%%%%%%%%%%%%%%%%%%%%%% +{\etitlefont% +{\bfseries{\@etitle}}}\par% +\fi%<----- +%%%%%%%%%%%%%%%%%%%%%% +\ifDS@noauthor%%%%!!!!!!!!!!!!!! +\else% +\vskip\Jetitleeauthor% +%%%%%%%%%%%%%%%%%%%%%% +%% eauthor +{\eauthorfont% +\authoroutput{e} +\par}% +\vskip\Jeauthorereceivesep% +\fi%%%%%%!!!!!!!!!!!!!!!!! +%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\ifDS@noauthor%%%%!!!!!!!!!!!!!! +%\else%% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +{\euketukefont% +{\@euketsuke}\par}% +%\fi%%%!!!! +%%%%%%%%%%%%%%%%%%%%%%%%% +\if@EAB%<----- +\vskip\Jereceiveeabstsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@eabstractbox}\par% +\fi%<-----j +\if@EK%<----- +%%%%%%%%%%%%%%%%%%%%%%%%% +\vskip\Jeabstekeywordsep% +%%%%%%%%%%%%%%%%%%%%%%%%% +\mbox{\box\@ekeywordbox}\par% +\fi%<----- +%%%%%%%%%%%%%%%%%%% +\vskip\JEhonbunsep% +%%%%%%%%%%%%%%%%%%% +} +\fi + + + + +\pagestyle{IPSJTITLEheadings} + + + +\endinput + + diff -r 000000000000 -r a5facba1adbc Paper/jlisting.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/jlisting.sty Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,216 @@ +\NeedsTeXFormat{LaTeX2e} +\def\filedate{2006/02/20} +\def\fileversion{0.2} +\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)] +% +\newcount\lst@nextchar +\let\lst@@ProcessSpace\lst@ProcessSpace +\def\lst@ProcessSpace#1{% + \lst@check@chartype{#1}% + \lst@@ProcessSpace + \lst@whitespacetrue} +\let\lst@@ProcessLetter\lst@ProcessLetter +\def\lst@ProcessLetter#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessLetter{#1}}% + \relax} +\let\lst@@ProcessDigit\lst@ProcessDigit +\def\lst@ProcessDigit#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessDigit{#1}}% + \relax} +\let\lst@@ProcessOther\lst@ProcessOther +\def\lst@ProcessOther#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessOther{#1}}% + \relax} +\let\lst@@ProcessTabulator\lst@ProcessTabulator +\def\lst@ProcessTabulator#1{% + \lst@check@chartype{#1}% + \lst@@ProcessTabulator + \relax} +\def\lst@check@chartype#1#2#3{% + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \afterassignment\remove@to@nnil + \@tempa\@nnil + #2% + \ifnum\lst@nextchar<\@cclvi + #3% + \else + \lst@ifletter \else \lst@OutputOther \fi + \lst@whitespacefalse + \expandafter\lst@AppendJchar + \fi + #1} +\def\lst@AppendJchar#1#2{% + \lst@check@chartype{#2}% + {\advance\lst@length\@ne\lst@Append{#1}}% + \relax} +\def\lst@check@chartype@BOL#1{% + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \afterassignment\remove@to@nnil + \@tempa\@nnil + \ifnum\lst@nextchar<\@cclvi\else + \lst@whitespacefalse + \expandafter\lst@AppendJchar + \fi + #1} +\def\lst@InputListing#1{% + \begingroup + \lsthk@PreSet \gdef\lst@intname{#1}% + \expandafter\lstset\expandafter{\lst@set}% + \lsthk@DisplayStyle + \catcode\active=\active + \lst@Init\relax \let\lst@gobble\z@ + \lst@SkipToFirst + \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}% + \else \let\lst@next\@empty + \fi + \lst@next + \lst@DeInit + \endgroup} +\newread\lst@inputfile +\def\lst@get@filecontents#1{% + \let\lst@filecontents\@empty + \openin\lst@inputfile=#1\relax + \let\@lst@get@filecontents@prevline\relax + \lst@get@filecontents@loop + \closein\lst@inputfile + \lst@filecontents\empty} +\def\lst@get@filecontents@loop{% + \read\lst@inputfile to\@lst@get@filecontents@currline + \ifx\@lst@get@filecontents@prevline\relax\else + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\lst@filecontents + \expandafter\expandafter\expandafter{% + \expandafter\lst@filecontents\@lst@get@filecontents@prevline}% + \fi + \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline + \ifeof\lst@inputfile\else + \expandafter\lst@get@filecontents@loop + \fi} +%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B] +\def\lst@BOLGobble{% + \ifnum\lst@gobble>\z@ + \@tempcnta\lst@gobble\relax + \expandafter\lst@BOLGobble@ + \else + \expandafter\lst@check@chartype@BOL + \fi} +\def\lst@BOLGobble@#1{% + \let\lst@next#1% + \ifx \lst@next\relax\else + \ifx \lst@next\lst@MProcessListing\else + \ifx \lst@next\lst@ProcessFormFeed\else + \ifx \lst@next\lstenv@backslash + \let\lst@next\lstenv@BOLGobble@@ + \else + \let\lst@next\lst@BOLGobble@@ + \ifx #1\lst@ProcessTabulator + \advance\@tempcnta-\lst@tabsize\relax + \ifnum\@tempcnta<\z@ + \lst@length-\@tempcnta \lst@PreGotoTabStop + \fi + \else + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \@tempa + \ifnum\lst@nextchar<\@cclvi\else + \advance\@tempcnta\m@ne + \fi + \advance\@tempcnta\m@ne + \fi + \fi \fi \fi \fi + \lst@next} +\def\lst@BOLGobble@@{% + \ifnum\@tempcnta>\z@ + \expandafter\lst@BOLGobble@ + \else + \expandafter\lst@check@chartype@BOL + \fi +} +% +% \begin{$B=$@5;v9`(B}{1.3} +% $B$A$g$C$H$7$?=$@5(B +\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1} +% $B%=!<%9%3!<%IL\<!$K$*$1$kJ8;z$HHV9f$N6u$-(B +\let \l@lstlisting = \l@figure +% $B%-%c%W%7%g%s$H%=!<%9%3!<%IL\<!$KBP$9$kF|K\8lBP1~(B +\def\lstlistingname{$B%=!<%9%3!<%I(B} +\def\lstlistlistingname{$B%=!<%9%3!<%IL\<!(B} +% \end{$B=$@5;v9`(B} +\endinput +% +%#!platex +\documentclass[papersize]{jsarticle} +% Macros +\IfFileExists{dvipdfmx.def}{% + \usepackage[dvipdfmx]{color,graphicx}% +}{% + \usepackage[dvipdfm]{color,graphicx}% +} +\usepackage{listings}[2004/09/07] +\usepackage{jlisting}[2006/02/20] +\usepackage{url} +\usepackage{verbatim} + +\makeatletter +% Original Macros +\def\email#1{\gdef\@email{\texttt{#1}}} +\def\homepage#1{\gdef\@homepage{\texttt{#1}}} +\def\mac#1{\textsf{#1}} +\def\URL#1{\texttt{#1}} +\def\src#1{\texttt{#1}} + +% Dvipdfmx.def +\def\dvipdfmxDefi{http://tex.dante.jp/ok/dvipdfmx/} +\def\dvipdfmxDefii{http://ftp.ktug.or.kr/KTUG/dvipdfmx/contrib/latex/} + +\IfFileExists{dvipdfmx.def}{% + \let \IfDvipdfmxDef = \empty \relax}{% + \typeout{^^Jget dvipdfmx.def at \dvipdfmxDefi^^J + or \dvipdfmxDefii^^J}% + \def\IfDvipdfmxDef{Get \src{dvipdfmx.def} at \URL \dvipdfmxDefii \\ + or \URL \dvipdfmxDefi.}% +} + +% Author Info +\author {Th\'or Watanabe\thanks \@email \space \thanks \@homepage} +\title {\mac{jlisting.sty}\\ + ---Japanese Localized Patch File of \mac{listings}---} +\email {thor@tex.dante.jp} +\homepage {http://tex.dante.jp/typo/} +\date {2006/02/20} + +\makeatother + +\begin{document} +\maketitle +%\IfDvipdfmxDef + +\section{$B$A$g$C$H$7$?@bL@(B}% Short Description + +$B1|B<@2I';a$N7G<(HD$N!VHFMQE*$JIbF0BN!W$H$$$&0lO"$N=q$-9~$_$+$i(B +$BE>:\$7$^$7$?!#(B + +\begin{quote} + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html} +\end{quote} + + Copyright $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B + +\section{$B99?7MzNr(B}% ChageLogs + +\begin{description} + \item[ver.~0.1 (2004/03/24)] + $B$H$j$"$($:8x3+!%(B + \item[ver.~0.2 (2006/02/20)] + \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B +\end{description} + +\section{$B%=!<%9%3!<%I(B} +\par\narrowbaselines +\verbatiminput{jlisting.sty} +\end{document} diff -r 000000000000 -r a5facba1adbc Paper/main.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/main.tex Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,71 @@ +% withpage: ページ番号をつける (著者確認用) + % english: 英語原稿用フォーマット + \documentclass{ipsjprosym} + %\documentclass[withpage,english]{ipsjprosym} + \usepackage{listings} + \usepackage[dvipdfmx]{graphicx} + \usepackage{latexsym} + \usepackage{comment} + \lstset{ + language=C, + tabsize=2, + frame=single, + basicstyle={\ttfamily\footnotesize},% + identifierstyle={\footnotesize},% + commentstyle={\footnotesize\itshape},% + keywordstyle={\footnotesize\bfseries},% + ndkeywordstyle={\footnotesize},% + stringstyle={\footnotesize\ttfamily}, + breaklines=true, + captionpos=b, + columns=[l]{fullflexible},% + xrightmargin=0zw,% + xleftmargin=1zw,% + aboveskip=1zw, + numberstyle={\scriptsize},% + stepnumber=1, + numbersep=0.5zw,% + lineskip=-0.5ex, + } + \renewcommand{\lstlistingname}{Code} + \usepackage{caption} + \captionsetup[lstlisting]{font={small,tt}} + +\begin{document} + +% Title, Author %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{GearsOS の Agda による記述と検証} + +\affiliate{IPSJ}{情報処理学会} + +\author{外間 政尊}{Masastaka HOKAMA}{}[masataka@cr.ie.u-ryukyu.ac.jp] +\author{河野 真治}{Shinji KONO}{IPSJ}[kono@ie.u-ryukyu.ac.jp] + +% はじめに +\begin{abstract} +Gears OS は継続を主とするプログラミング言語 CbC で記述されている。 OS やアプリケーションの信頼性を上げるには仕様を満たしていることを確認する必要がある。 確認方法にはモデル検査と証明がある。 ここでは定理証明支援系Agdaを用いた、CbC 言語の証明方法を考える。 CbC は関数呼び出しを用いず goto 文により遷移する。 これを継続を用いた関数型プログラムとして記述することができる。 この記述はAgda上で決まった形を持つ関数として表すことができる。 Gears OS のモジュールシステムは、実装とAPI を分離することを可能にしている。 このモジュールシステムを Agda 上で記述することができた。 継続は不定の型を返す関数で表されるので、継続に直接要求仕様を Agda の論理式として渡すことができる。 継続には仕様以外にも関数を呼び出すときの前提条件(pre-condition)を追加することが可能である。 これにより、Hoare Logic 的な証明を Agda で記述した CbC に直接載せることが可能になる。 Agda で記述された CbC と実装に用いる CbC は並行した形で存在する。 つまり、CbC のモジュールシステムで記述されたプログラムを比較的機械的に Agda で記述された CbC 変換することができる。 本論文ではAgda 上での CbC の記述手法とその上での Hoare Logic 的な証明手法について考察する。 +\end{abstract} + +\begin{jkeyword} +OS, プログラミング言語, CbC, Gears OS, Agda +\end{jkeyword} + +\maketitle + +% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{} + +% BibTeX を使用する場合 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\bibliographystyle{ipsjsort} +\bibliography{prosym} + +% BibTeX を使用しない場合 +%\begin{thebibliography}{9} +%\bibitem{latex}玉城将士、谷成雄,河野真治 : \textbf{Cassandraを使ったスケーラビリティのあるCMSの設計 }. 情報処理学会システムソフトウェアとオペレーティング・システム研究会、 2011. +%\bibitem{latex}玉城将士 : \textbf{非破壊的木構造を用いた分散CMSの設計と実装 }. 琉球大学理工学研究科修士論文、2013 +%\bibitem{latex}大城信康 、杉本優 、河野真治 : \textbf{Data Segment の分散データベースへの応用}. 日本ソフトウェア科学会第30回大会論文集. 、2013 +%\bibitem{latex}大城信康 : \textbf{分散Database Jungleに関する研究}. 琉球大学理工学研究科修士論文、2014 +%\bibitem{latex}金川竜己、河野真治 : \textbf{非破壊的木構造データベースJungleとその評価 }. 情報処理学会システムソフトウェアとオペレーティング・システム研究会、 2015. +%\end{thebibliography} +\end{document} + diff -r 000000000000 -r a5facba1adbc Paper/pic/00.graffle Binary file Paper/pic/00.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/03.graffle Binary file Paper/pic/03.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/06.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/06.eps Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,2719 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%HiResBoundingBox: 0.000000 0.000000 886.000000 652.000000 +%APL_DSC_Encoding: UTF8 +%%Title: (Unknown) +%%Creator: (Unknown) +%%CreationDate: (Unknown) +%%For: (Unknown) +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 0 0 886 652 +%%EndComments +%%BeginProlog +%%BeginFile: cg-pdf.ps +%%Copyright: Copyright 2000-2004 Apple Computer Incorporated. +%%Copyright: All Rights Reserved. +currentpacking true setpacking +/cg_md 141 dict def +cg_md begin +/L3? languagelevel 3 ge def +/bd{bind def}bind def +/ld{load def}bd +/xs{exch store}bd +/xd{exch def}bd +/cmmtx matrix def +mark +/sc/setcolor +/scs/setcolorspace +/dr/defineresource +/fr/findresource +/T/true +/F/false +/d/setdash +/w/setlinewidth +/J/setlinecap +/j/setlinejoin +/M/setmiterlimit +/i/setflat +/rc/rectclip +/rf/rectfill +/rs/rectstroke +/f/fill +/f*/eofill +/sf/selectfont +/s/show +%/as/ashow +/xS/xshow +/yS/yshow +/xyS/xyshow +/S/stroke +/m/moveto +/l/lineto +/c/curveto +/h/closepath +/n/newpath +/q/gsave +/Q/grestore +counttomark 2 idiv +%dup (number of ld's = )print == flush % *** how many +{ld}repeat pop +/SC{ % CSname + /ColorSpace fr scs +}bd +/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld +/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld +/cgmtx matrix def +/sdmtx{cgmtx currentmatrix pop}bd +/CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity +/cm {cmmtx astore CM concat}bd % reset the matrix and then concat +/W{clip newpath}bd +/W*{eoclip newpath}bd + +statusdict begin product end dup (HP) anchorsearch{ + pop pop pop % pop off the search results + true +}{ + pop % previous search result + (hp) anchorsearch{ + pop pop true + }{ + pop false + }ifelse +}ifelse + +{ % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts + { + { % charCode Wx Wy + pop pop % charCode + (0)dup 0 4 -1 roll put + F charpath + }cshow + } +}{ + {F charpath} +}ifelse +/cply exch bd +/cps {cply stroke}bd +/pgsave 0 def +/bp{/pgsave save store}bd +/ep{pgsave restore showpage}def % dont' bind +/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd + +/scrdict 10 dict def +/scrmtx matrix def +/patarray 0 def +/createpat{patarray 3 1 roll put}bd +/makepat{ +scrmtx astore pop +gsave +initgraphics +CM +patarray exch get +scrmtx +makepattern +grestore +setpattern +}bd + +/cg_BeginEPSF{ + userdict save/cg_b4_Inc_state exch put + userdict/cg_endepsf/cg_EndEPSF load put + count userdict/cg_op_count 3 -1 roll put + countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put + 3 sub{end}repeat + /showpage {} def + 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + false setstrokeadjust false setoverprint % don't use F +}bd +/cg_EndEPSF{ + countdictstack 3 sub { end } repeat + cg_dict_array 3 1 index length 3 sub getinterval + {begin}forall + count userdict/cg_op_count get sub{pop}repeat + userdict/cg_b4_Inc_state get restore + F setpacking +}bd + +/cg_biproc{currentfile/RunLengthDecode filter}bd +/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd +/ImageDataSource 0 def +L3?{ + /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd + /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd +}{ + /ImageBandMask 0 def + /ImageBandData 0 def + /cg_mibiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd + /cg_miaiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter + dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd +}ifelse +/imsave 0 def +/BI{save/imsave xd mark}bd +/EI{imsave restore}bd +/ID{ +counttomark 2 idiv +dup 2 add % leave room for imagetype and imagematrix +dict begin +{def} repeat +pop % remove mark +/ImageType 1 def +/ImageMatrix[Width 0 0 Height neg 0 Height]def +currentdict dup/ImageMask known{ImageMask}{F}ifelse exch +% currentdict on stack +L3?{ + dup/MaskedImage known + { + pop + << + /ImageType 3 + /InterleaveType 2 + /DataDict currentdict + /MaskDict + << /ImageType 1 + /Width Width + /Height Height + /ImageMatrix ImageMatrix + /BitsPerComponent 1 + /Decode [0 1] + currentdict/Interpolate known + {/Interpolate Interpolate}if + >> + >> + }if +}if +exch +{imagemask}{image}ifelse +end % pop imagedict from dict stack +}bd + +/cguidfix{statusdict begin mark version end +{cvr}stopped{cleartomark 0}{exch pop}ifelse +2012 lt{dup findfont dup length dict begin +{1 index/FID ne 2 index/UniqueID ne and +{def} {pop pop} ifelse}forall +currentdict end definefont pop +}{pop}ifelse +}bd +/t_array 0 def +/t_i 0 def +/t_c 1 string def +/x_proc{ % x y + exch t_array t_i get add exch moveto + /t_i t_i 1 add store +}bd +/y_proc{ % x y + t_array t_i get add moveto + /t_i t_i 1 add store +}bd +/xy_proc{ + % x y + t_array t_i 2 copy 1 add get 3 1 roll get + 4 -1 roll add 3 1 roll add moveto + /t_i t_i 2 add store +}bd +/sop 0 def % don't bind sop +/cp_proc/x_proc ld % default moveto proc is for xwidths only +/base_charpath % string array +{ + /t_array xs + /t_i 0 def + { % char + t_c 0 3 -1 roll put + currentpoint + t_c cply sop + cp_proc + }forall + /t_array 0 def +}bd +/sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath + +% default sop is stroke +/nop{}def +/xsp/base_charpath ld +/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd +/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd +/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd +/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd +/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd +/refnt{ % newname encoding fontname +findfont dup length dict copy dup +/Encoding 4 -1 roll put +definefont pop +}bd +/renmfont{ % newname fontname +findfont dup length dict copy definefont pop +}bd + +L3? dup dup{save exch}if + +% languagelevel2 ONLY code goes here + +/Range 0 def +/DataSource 0 def +/val 0 def +/nRange 0 def +/mulRange 0 def +/d0 0 def +/r0 0 def +/di 0 def +/ri 0 def +/a0 0 def +/a1 0 def +/r1 0 def +/r2 0 def +/dx 0 def +/Nsteps 0 def +/sh3tp 0 def +/ymax 0 def +/ymin 0 def +/xmax 0 def +/xmin 0 def + +/setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation. +{ + begin + /nRange Range length 2 idiv store + /mulRange % precompute the range data needed to map a sample value from the table to a range value + % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ] + [ + 0 1 nRange 1 sub + { % index + 2 mul/nDim2 xd % 2*dimension# we are dealing with + Range nDim2 get % ymin + Range nDim2 1 add get % ymin ymax + 1 index sub % ymin (ymax-ymin) + % xmin = 0, xmax = 255 (2^bitspersample - 1) + 255 div % ymin (ymax-ymin)/(xmax - xmin) + exch % (ymax-ymin)/(xmax - xmin) ymin + }for + ]store + end +}bd + +/FunEval % val1 fundict -> comp1 comp2 ... compN +{ + begin + % the value passed in is the base index into the table + nRange mul /val xd % compute the actual index to the table + % since there are nRange entries per base index + 0 1 nRange 1 sub + { + dup 2 mul/nDim2 xd % dim + val % base value to use to do our lookup + add DataSource exch get % lookedupval + mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin) + mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin + add % interpolated result + }for % comp1 comp2 ... compN + end +}bd + +/max % a b -> max(a, b) +{ + 2 copy lt + {exch pop}{pop}ifelse +}bd + +/sh2 +{ % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack + /Coords load aload pop % x0 y0 x1 y1 + 3 index 3 index translate % origin is now at beginning point of shading + % x0 y0 x1 y1 + 3 -1 roll sub % x0 x1 y1-y0 + 3 1 roll exch % y1-y0 x1 x0 + sub % y1-y0 x1-x0 + 2 copy + dup mul exch dup mul add sqrt % length of segment between two points + dup + scale + atan % atan (dy/dx) + %dup (rotation angle = )print == + rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn + + /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval + + % this is now specific to axial shadings. Compute the maximum bounds to fill + clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1 + /ymax xs + /xmax xs + /ymin xs + /xmin xs + currentdict/Extend known + { + /Extend load 0 get + { + 0/Function load FunEval sc % evaluate the function to get a color and set it + xmin ymin xmin abs ymax ymin sub rectfill + }if + }if + % paint the rects. The sampling frequency is that of our table + /Nsteps/Function load/Size get 0 get 1 sub store + /dx 1 Nsteps div store + gsave + /di ymax ymin sub store + /Function load + % loop Nsteps + 1 times, incrementing the index by 1 each time + 0 1 Nsteps + { + 1 index FunEval sc + 0 ymin dx di rectfill + dx 0 translate + }for + pop % pop our function + grestore % origin is back to start point + currentdict/Extend known + { + /Extend load 1 get + { + Nsteps/Function load FunEval sc % last element + 1 ymin xmax 1 sub abs ymax ymin sub rectfill + }if + }if +}bd + +/shp % this paints our shape for shading type 3 +{ % x1 r1 x0 r0 - + 4 copy + + % fill interior arc + dup 0 gt{ + 0 exch a1 a0 arc + }{ + pop 0 moveto + }ifelse + + dup 0 gt{ + 0 exch a0 a1 arcn + }{ + pop 0 lineto + }ifelse + + fill + + % fill exterior arc + dup 0 gt{ + 0 exch a0 a1 arc + }{ + pop 0 moveto + }ifelse + + dup 0 gt{ + 0 exch a1 a0 arcn + }{ + pop 0 lineto + }ifelse + + fill +}bd + +/calcmaxs +{ % calculate maximum distance vector from origin to corner points + % of bbox + xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2) + xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2) + xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2) + xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2) + max max max % maximum value +}bd + +/sh3 +{ % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack + /Coords load aload pop % x0 y0 r1 x1 y1 r2 + 5 index 5 index translate % origin is now at first circle origin + 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx + 3 -1 roll 5 -1 roll sub % r1 r2 dx dy + 2 copy dup mul exch dup mul add sqrt + /dx xs % r1 r2 dx dy + 2 copy 0 ne exch 0 ne or + { + % r1 r2 dx dy + exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected + }{ + pop pop + }ifelse + % r1 r2 + /r2 xs + /r1 xs + /Function load + dup/Size get 0 get 1 sub % this is the size of our table minus 1 + /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device + setupFunEval % may need to setup function dictionary by calling setupFunEval + % determine the case: + % case 0: circle1 inside circle2 + % case 1: circle 2 inside circle 1 + % case 2: r1 = r2 + % case 3: r1 != r2 + dx r2 add r1 lt{ + % circle 2 inside of circle 1 + 0 + }{ + dx r1 add r2 le + { % circle 1 inside of circle 2 + 1 + }{ % circles don't contain each other + r1 r2 eq + { % equal + 2 + }{ % r1 != r2 + 3 + }ifelse + }ifelse + }ifelse + /sh3tp xs % sh3tp has the number of our different cases + clippath {pathbbox}stopped {0 0 0 0}if + newpath % x0 y0 x1 y1 + /ymax xs + /xmax xs + /ymin xs + /xmin xs + + % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr) + dx dup mul r2 r1 sub dup mul sub dup 0 gt + { + sqrt r2 r1 sub atan + /a0 exch 180 exch sub store + /a1 a0 neg store + }{ + pop + /a0 0 store + /a1 360 store + }ifelse + + currentdict/Extend known + { + /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0 + { + 0/Function load FunEval sc % evaluate the function to get a color and set it + % case 0: circle1 inside circle2 + % case 1: circle 2 inside circle 1 + % case 2: circles don't contain each other and r1 == r2 + % case 3: circles don't contain each other and r1 != r2 + { + { % case 0 + dx 0 r1 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill % for the bigger radius we fill everything except our circle + } + { % case 1 + r1 0 gt{0 0 r1 0 360 arc fill}if + } + { % case 2 + % r1 == r2, extend 0 + % r3 = r, x3 = -(abs(minx) + r), x1 = 0 + + % x(i+1) r(i+1) x(i) r(i) shp + 0 r1 xmin abs r1 add neg r1 shp + } + { % case 3 + % no containment, r1 != r2 + + r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius + % x(i+1) r(i+1) x(i) r(i) shp + 0 r1 + r1 neg r2 r1 sub div dx mul % this is point of beginning circle + 0 % point of ending circle + shp % takes x(i+1) r(i+1) x(i) r(i) + }{ % the first circle is the bigger of the two + % we find a circle on our line which is outside the bbox in the + % negative direction + % x(i+1) r(i+1) x(i) r(i) shp + 0 r1 calcmaxs % 0 r1 maxs + dup + % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2)) + r2 add dx mul dx r1 r2 sub sub div + neg % maxs xs' + exch 1 index % xs' maxs xs' + abs exch sub + shp + }ifelse + } + }sh3tp get exec % execute the extend at beginning proc for our shading type + }if + }if + + % now do the shading + /d0 0 store + /r0 r1 store + /di dx Nsteps div store + /ri r2 r1 sub Nsteps div store + /Function load + 0 1 Nsteps + { % function t(i) + 1 index FunEval sc + d0 di add r0 ri add d0 r0 shp + { + % fill interior arc + d0 0 r0 a1 a0 arc + d0 di add 0 r0 ri add a0 a1 arcn + fill + + % fill exterior arc + d0 0 r0 a0 a1 arc + d0 di add 0 r0 ri add a1 a0 arcn + fill + }pop + + % advance to next + /d0 d0 di add store + /r0 r0 ri add store + }for + pop % pop our function dict + + % handle Extend + currentdict/Extend known + { + /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0 + { + Nsteps/Function load FunEval sc % last element + % case 0: circle1 inside circle2 + % case 1: circle 2 inside circle 1 + % case 2: circles don't contain each other and r1 == r2 + % case 3: circles don't contain each other and r1 != r2 + { + { + dx 0 r2 0 360 arc fill + } + { + dx 0 r2 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill % for the bigger radius we fill everything except our circle + } + { % r1 == r2, extend 1 + % r3 = r, x3 = (abs(xmax) + r), x1 = dx + % x(i+1) r(i+1) x(i) r(i) shp + xmax abs r1 add r1 dx r1 shp + } + { % no containment, r1 != r2 + + r2 r1 gt{ + % we find a circle on our line which is outside the bbox in the + % positive direction + % x(i+1) r(i+1) x(i) r(i) shp + calcmaxs dup % maxs maxs + % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1)) + r1 add dx mul dx r2 r1 sub sub div % maxs xs + exch 1 index % xs maxs xs + exch sub + dx r2 + shp + }{ % the endpoint we are drawing is that with a circle of zero radius + % x(i+1) r(i+1) x(i) r(i) shp + r1 neg r2 r1 sub div dx mul % this is point of ending circle + 0 % radius of ending circle + dx % point of starting circle + r2 % radius of starting circle + shp + }ifelse + } + } + sh3tp get exec % execute the extend at end proc for our shading type + }if + }if +}bd +/sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions +{ % shadingDict -- + begin + /ShadingType load dup dup 2 eq exch 3 eq or + { % shadingtype + gsave + newpath + /ColorSpace load scs + currentdict/BBox known + { + /BBox load aload pop % llx lly urx ury + 2 index sub % llx lly urx ury-lly + 3 index % llx lly urx ury-lly llx + 3 -1 roll exch sub + exch rectclip + }if + 2 eq + {sh2}{sh3}ifelse + grestore + }{ + % shadingtype + pop + (DEBUG: shading type unimplemented\n)print flush + }ifelse + end +}bd + +% end of language level 2 ONLY code + +{restore}if not dup{save exch}if +% languagelevel3 ONLY code goes here + L3?{ % we do these loads conditionally or else they will fail on a level 2 printer + /sh/shfill ld + /csq/clipsave ld + /csQ/cliprestore ld + }if +{restore}if + +%currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free +end +setpacking +% count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack +%%EndFile +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 0 0 886 652 +%%BeginPageSetup +cg_md begin +bp +sdmtx +[ /CIEBasedABC 4 dict dup begin +/WhitePoint [ 0.9505 1.0000 1.0891 ] def +/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def +/MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def +/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def +end ] /Cs1 exch/ColorSpace dr pop +[ /CIEBasedABC 4 dict dup begin +/WhitePoint [ 0.9505 1.0000 1.0891 ] def +/DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def +/MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def +/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def +end ] /Cs2 exch/ColorSpace dr pop +[ /CIEBasedABC 4 dict dup begin +/WhitePoint [ 0.9505 1.0000 1.0891 ] def +/DecodeABC [ +{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse + 1 index 1 index ge { exch pop } { pop } ifelse < +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000001010101010101010101010101 +0101010101010101010101010101010101010101010101020202020202020202 +0202020202020202020202020202020202030303030303030303030303030303 +0303030303030304040404040404040404040404040404040404050505050505 +0505050505050505050506060606060606060606060606060607070707070707 +0707070707070708080808080808080808080808090909090909090909090909 +0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c +0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010 +1010101010111111111111111112121212121212121313131313131313141414 +1414141414151515151515151616161616161616171717171717171818181818 +18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d +1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223 +2323232323242424242425252525252526262626262727272727282828282829 +292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f +2f2f303030303131313131323232323333333333343434343535353535363636 +36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e +3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646 +4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f +4f50505051515151525252535353535454545555555656565657575758585859 +59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263 +63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e +6e6e6f6f6f707070717171727273737374747475757576767677777878787979 +797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585 +86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292 +9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f +a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae +aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd +bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc +cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd +dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee +eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff +> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling + cvi 3 index exch get 4 -1 roll 3 -1 roll get + dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind + +{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse + 1 index 1 index ge { exch pop } { pop } ifelse < +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000001010101010101010101010101 +0101010101010101010101010101010101010101010101020202020202020202 +0202020202020202020202020202020202030303030303030303030303030303 +0303030303030304040404040404040404040404040404040404050505050505 +0505050505050505050506060606060606060606060606060607070707070707 +0707070707070708080808080808080808080808090909090909090909090909 +0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c +0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010 +1010101010111111111111111112121212121212121313131313131313141414 +1414141414151515151515151616161616161616171717171717171818181818 +18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d +1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223 +2323232323242424242425252525252526262626262727272727282828282829 +292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f +2f2f303030303131313131323232323333333333343434343535353535363636 +36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e +3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646 +4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f +4f50505051515151525252535353535454545555555656565657575758585859 +59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263 +63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e +6e6e6f6f6f707070717171727273737374747475757576767677777878787979 +797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585 +86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292 +9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f +a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae +aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd +bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc +cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd +dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee +eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff +> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling + cvi 3 index exch get 4 -1 roll 3 -1 roll get + dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind + +{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse + 1 index 1 index ge { exch pop } { pop } ifelse < +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000001010101010101010101010101 +0101010101010101010101010101010101010101010101020202020202020202 +0202020202020202020202020202020202030303030303030303030303030303 +0303030303030304040404040404040404040404040404040404050505050505 +0505050505050505050506060606060606060606060606060607070707070707 +0707070707070708080808080808080808080808090909090909090909090909 +0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c +0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010 +1010101010111111111111111112121212121212121313131313131313141414 +1414141414151515151515151616161616161616171717171717171818181818 +18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d +1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223 +2323232323242424242425252525252526262626262727272727282828282829 +292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f +2f2f303030303131313131323232323333333333343434343535353535363636 +36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e +3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646 +4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f +4f50505051515151525252535353535454545555555656565657575758585859 +59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263 +63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e +6e6e6f6f6f707070717171727273737374747475757576767677777878787979 +797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585 +86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292 +9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f +a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae +aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd +bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc +cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd +dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee +eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff +> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling + cvi 3 index exch get 4 -1 roll 3 -1 roll get + dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind +] def +/MatrixABC [ 0.4124 0.2126 0.0193 0.3576 0.7151 0.1192 0.1805 0.0722 0.9508 ] def +/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def +end ] /Cs3 exch/ColorSpace dr pop +%%EndPageSetup +/Cs1 SC +1 1 1 sc +q +0 0 886 652 rc +-423 1152 m +890 1152 l +890 -4 l +-423 -4 l +h +-423 1152 m +f +Q +0.60000002 i +/Cs2 SC +1 1 1 sc +q +0.11275324 592.76953 m +844.05194 651.78351 l +885.4873 59.230465 l +41.5481 0.21648867 l +h +0.11275324 592.76953 m +W +41.747593 0.23043863 m +885.68677 59.244415 l +844.2514 651.79749 l +0.31224689 592.78351 l +h +W +41.747593 0.23043863 m +885.68677 59.244415 l +844.2514 651.79749 l +0.31224689 592.78351 l +h +W +0 0 886 652 rc +41.747593 0.23043863 m +885.68677 59.244415 l +844.2514 651.79749 l +0.31224689 592.78351 l +h +f +1 j +0 0 0 sc +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +92.400002 577.20001 m +99.400002 577.20001 l +S +CM +83.715683 580.64484 m +83.914536 581.39435 83.965485 582.46228 83.868523 583.84894 c +83.791275 584.95361 83.654594 585.83032 83.458473 586.479 c +83.090767 587.68683 82.5205 588.26361 81.74765 588.20959 c +80.974792 588.15552 80.489349 587.48663 80.291313 586.20282 c +80.188332 585.51947 80.175316 584.62769 80.252251 583.52747 c +80.324417 582.49548 80.459396 581.67578 80.657204 581.0683 c +81.028908 579.9339 81.614815 579.39478 82.414955 579.45068 c +83.083244 579.49744 83.516815 579.89545 83.715683 580.64484 c +h +84.305397 587.10699 m +84.826561 586.25262 85.12735 585.25037 85.207779 584.10016 c +85.271042 583.19543 85.189713 582.33319 84.963799 581.51331 c +84.537109 579.97137 83.669136 579.15454 82.359825 579.06299 c +81.464218 579.00037 80.699295 579.35577 80.065018 580.12921 c +79.386017 580.95428 78.994385 582.11237 78.890106 583.60352 c +78.80809 584.77649 78.944374 585.80017 79.298943 586.67474 c +79.777695 587.86401 80.596703 588.49921 81.755989 588.58026 c +82.80162 588.65338 83.651413 588.16229 84.305397 587.10699 c +h +86.074097 579.45294 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 577.20001 m +818 577.20001 l +S +92.400002 524.09998 m +99.400002 524.09998 l +S +CM +78.139099 526.48053 m +78.580132 526.21661 78.914291 526.09271 79.141602 526.10864 c +79.664421 526.1452 80.105164 526.4079 80.463882 526.89661 c +80.822586 527.38538 80.978409 527.96619 80.931358 528.63904 c +80.84903 529.81647 80.162369 530.62054 78.871376 531.05103 c +78.155777 531.28876 77.49794 531.38672 76.897835 531.34479 c +76.797821 531.33777 76.735077 531.33679 76.709587 531.3418 c +76.68412 531.34686 76.651756 531.36865 76.612526 531.40704 c +76.619072 531.44397 76.624886 531.47522 76.629951 531.50073 c +76.635033 531.52618 76.641304 531.55066 76.648819 531.57397 c +77.907486 534.93756 l +80.832962 535.14209 l +80.978447 535.15228 81.089211 535.18518 81.165268 535.24072 c +81.241325 535.29639 81.338234 535.39679 81.455986 535.54205 c +81.571777 535.45422 l +81.128098 534.1554 l +81.11277 534.11322 81.06459 534.08362 80.983559 534.06653 c +80.902512 534.04938 80.81427 534.03754 80.718788 534.03082 c +78.079735 533.84631 l +77.583534 532.61249 l +78.33802 532.53723 78.891975 532.45496 79.245445 532.36542 c +79.827072 532.21423 80.321846 531.96564 80.729805 531.61951 c +81.079697 531.31964 81.352806 530.97443 81.549164 530.58386 c +81.745514 530.19324 81.859406 529.77295 81.890877 529.32281 c +81.961128 528.31818 81.661781 527.45428 80.992798 526.73145 c +80.323822 526.00854 79.441536 525.6087 78.345894 525.5321 c +77.900368 525.50098 77.538193 525.51904 77.259392 525.58636 c +76.794907 525.6955 76.549957 525.93188 76.524529 526.29559 c +76.514992 526.43201 76.555511 526.55481 76.646103 526.66388 c +76.736702 526.77301 76.884285 526.83472 77.088852 526.84906 c +77.347992 526.86719 77.698074 526.74426 78.139099 526.48053 c +h +87.74025 527.69659 m +87.93911 528.44611 87.990059 529.51404 87.893097 530.9007 c +87.815849 532.00537 87.679169 532.88208 87.483047 533.53076 c +87.115341 534.73859 86.545074 535.31537 85.772224 535.26135 c +84.999359 535.20734 84.513931 534.53839 84.31588 533.25458 c +84.212906 532.57123 84.199898 531.67944 84.276833 530.57922 c +84.348991 529.54724 84.483971 528.7276 84.681778 528.12012 c +85.05349 526.98566 85.639389 526.44653 86.439529 526.50244 c +87.107819 526.54919 87.541389 526.9472 87.74025 527.69659 c +h +88.329979 534.15881 m +88.851135 533.30438 89.151924 532.30212 89.232353 531.15192 c +89.295616 530.24719 89.214287 529.38495 88.988373 528.56506 c +88.561684 527.02319 87.69371 526.2063 86.384399 526.11475 c +85.488792 526.05212 84.723869 526.40753 84.089592 527.18097 c +83.410599 528.00604 83.018959 529.16412 82.914688 530.65527 c +82.832664 531.82825 82.968948 532.85193 83.323517 533.7265 c +83.802269 534.91577 84.621277 535.55096 85.780563 535.63202 c +86.826195 535.70514 87.675995 535.21405 88.329979 534.15881 c +h +90.098679 526.5047 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 524.09998 m +818 524.09998 l +S +92.400002 470.95001 m +99.400002 470.95001 l +S +CM +77.473663 481.70621 m +77.476738 481.69501 77.479698 481.66895 77.482559 481.62805 c +78.056686 473.41769 l +78.081169 473.06754 78.189941 472.85132 78.383011 472.76889 c +78.57608 472.68643 78.927826 472.65399 79.438286 472.67136 c +79.451637 472.48041 l +75.605553 472.21149 l +75.591248 472.41608 l +76.139427 472.48187 76.49334 472.58191 76.652962 472.71646 c +76.812592 472.85092 76.878098 473.12277 76.84948 473.53195 c +76.407921 479.84665 l +76.392662 480.06482 76.353775 480.22888 76.291283 480.33871 c +76.228775 480.44852 76.106598 480.4971 75.924751 480.48441 c +75.806549 480.47614 75.655418 480.43246 75.471359 480.35333 c +75.2873 480.2742 75.11599 480.19257 74.957413 480.1084 c +74.944061 480.29932 l +77.357567 481.74951 l +77.4394 481.75525 l +77.459183 481.73376 77.470596 481.71744 77.473663 481.70621 c +h +85.569588 474.26505 m +85.76844 475.01453 85.819389 476.08249 85.722427 477.46909 c +85.64518 478.57379 85.508499 479.4505 85.312378 480.09921 c +84.944672 481.30701 84.374405 481.88382 83.601555 481.82977 c +82.828705 481.77573 82.343262 481.10684 82.145233 479.82291 c +82.042244 479.13965 82.029228 478.24786 82.106163 477.14764 c +82.178322 476.11566 82.313301 475.29599 82.511108 474.68851 c +82.88282 473.55408 83.468727 473.01492 84.26886 473.07089 c +84.937149 473.11761 85.37072 473.51562 85.569588 474.26505 c +h +86.159309 480.7272 m +86.680466 479.87277 86.981255 478.87051 87.061684 477.72034 c +87.124947 476.81564 87.043617 475.95337 86.817711 475.13351 c +86.391014 473.59158 85.523041 472.77475 84.213737 472.6832 c +83.318123 472.62057 82.5532 472.97598 81.918922 473.74942 c +81.239929 474.57446 80.848289 475.73257 80.744019 477.22372 c +80.661995 478.39667 80.798279 479.42035 81.152855 480.29492 c +81.631599 481.48422 82.450607 482.11938 83.609901 482.20047 c +84.655525 482.27359 85.505325 481.78247 86.159309 480.7272 c +h +92.552536 474.75333 m +92.751389 475.50284 92.802338 476.57077 92.705376 477.9574 c +92.628128 479.0621 92.491447 479.93878 92.295326 480.58749 c +91.92762 481.79529 91.357353 482.3721 90.584503 482.31808 c +89.811653 482.26404 89.32621 481.59512 89.128181 480.31119 c +89.025192 479.62796 89.012177 478.73618 89.089111 477.63596 c +89.16127 476.60397 89.296249 475.7843 89.494057 475.17682 c +89.865768 474.04239 90.451675 473.50323 91.251808 473.55917 c +91.920097 473.60593 92.353668 474.00394 92.552536 474.75333 c +h +93.142258 481.21552 m +93.663414 480.36108 93.964203 479.35883 94.044632 478.20862 c +94.107895 477.30392 94.026566 476.44165 93.800659 475.6218 c +93.373962 474.0799 92.505989 473.26306 91.196686 473.17151 c +90.301071 473.10886 89.536148 473.46426 88.901871 474.2377 c +88.222878 475.06274 87.831238 476.22086 87.726967 477.71201 c +87.644943 478.88495 87.781227 479.90866 88.135803 480.78323 c +88.614548 481.9725 89.433556 482.6077 90.59285 482.68875 c +91.638474 482.76187 92.488274 482.27075 93.142258 481.21552 c +h +94.910957 473.56143 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 470.95001 m +818 470.95001 l +S +92.400002 417.85001 m +99.400002 417.85001 l +S +CM +81.177734 428.73557 m +81.180809 428.72437 81.183769 428.6983 81.18663 428.65738 c +81.760757 420.44705 l +81.78524 420.09689 81.894005 419.88065 82.087074 419.79822 c +82.280151 419.71579 82.631897 419.68335 83.142349 419.70071 c +83.155701 419.50977 l +79.309624 419.24081 l +79.295319 419.44543 l +79.843491 419.51123 80.197411 419.61127 80.357033 419.74582 c +80.516663 419.88028 80.582169 420.1521 80.553551 420.56131 c +80.111984 426.87598 l +80.096733 427.09415 80.057838 427.25824 79.995346 427.36804 c +79.932846 427.47787 79.810669 427.52646 79.628822 427.51373 c +79.51062 427.50546 79.359489 427.46182 79.17543 427.38269 c +78.991371 427.30356 78.820061 427.22192 78.661484 427.13776 c +78.648132 427.32867 l +81.06163 428.77887 l +81.143471 428.78461 l +81.163246 428.76312 81.174667 428.74677 81.177734 428.73557 c +h +86.655449 420.56656 m +87.096481 420.3027 87.430634 420.1788 87.657951 420.1947 c +88.180763 420.23126 88.621513 420.49393 88.980225 420.98267 c +89.338936 421.47147 89.494759 422.05225 89.447708 422.7251 c +89.365379 423.90253 88.678711 424.7066 87.387733 425.13708 c +86.672134 425.37485 86.01429 425.47281 85.414185 425.43085 c +85.314163 425.42383 85.251419 425.42285 85.225937 425.42789 c +85.200462 425.43292 85.168106 425.45471 85.128876 425.49307 c +85.135422 425.53003 85.141235 425.56131 85.146309 425.58682 c +85.151375 425.61224 85.157661 425.63675 85.165169 425.66003 c +86.423843 429.02362 l +89.349304 429.22818 l +89.494789 429.23834 89.60556 429.27127 89.681618 429.32681 c +89.757675 429.38245 89.854584 429.48285 89.972351 429.62811 c +90.088127 429.54028 l +89.644447 428.24146 l +89.62912 428.19931 89.58094 428.16968 89.499908 428.15256 c +89.418869 428.13547 89.330612 428.1236 89.235146 428.11691 c +86.596085 427.93237 l +86.099884 426.69855 l +86.85437 426.62329 87.408325 426.54105 87.761795 426.45148 c +88.343414 426.30029 88.838203 426.0517 89.246147 425.7056 c +89.596054 425.40567 89.869171 425.06049 90.065506 424.66995 c +90.261856 424.2793 90.375763 423.85901 90.407234 423.40891 c +90.477486 422.40427 90.178131 421.54037 89.509155 420.81754 c +88.840172 420.0946 87.957886 419.69479 86.862251 419.61819 c +86.416718 419.58704 86.05455 419.6051 85.775742 419.67242 c +85.311264 419.78159 85.066307 420.01797 85.040871 420.38168 c +85.031334 420.51807 85.071861 420.6409 85.16246 420.74997 c +85.253052 420.85907 85.400635 420.92081 85.605209 420.93512 c +85.864342 420.95322 86.214424 420.83035 86.655449 420.56656 c +h +96.256607 421.78268 m +96.45546 422.53217 96.506409 423.60013 96.409447 424.98676 c +96.332199 426.09143 96.195518 426.96814 95.999397 427.61685 c +95.631691 428.82465 95.061424 429.40146 94.288574 429.34741 c +93.515717 429.29337 93.030273 428.62448 92.832237 427.34064 c +92.729256 426.65729 92.71624 425.7655 92.793175 424.66531 c +92.865341 423.63333 93.00032 422.81363 93.198128 422.20615 c +93.569832 421.07172 94.155739 420.53259 94.955879 420.58853 c +95.624168 420.63525 96.057739 421.03326 96.256607 421.78268 c +h +96.846321 428.24484 m +97.367485 427.39041 97.668274 426.38815 97.748703 425.23798 c +97.811966 424.33328 97.730637 423.47101 97.504723 422.65115 c +97.078033 421.10922 96.21006 420.29239 94.900757 420.20084 c +94.005142 420.13821 93.240219 420.49362 92.605942 421.26706 c +91.926941 422.0921 91.535309 423.25021 91.43103 424.74136 c +91.349014 425.91431 91.485298 426.93802 91.839874 427.81256 c +92.318619 429.00186 93.137627 429.63702 94.296913 429.71811 c +95.342545 429.79123 96.192337 429.30011 96.846321 428.24484 c +h +98.615021 420.59079 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 417.85001 m +818 417.85001 l +S +92.400002 364.70001 m +99.400002 364.70001 l +S +CM +80.646729 366.21222 m +82.18985 368.05606 83.230873 369.40344 83.769844 370.25433 c +84.308807 371.10519 84.551422 371.91479 84.497696 372.68311 c +84.450645 373.35596 84.232956 373.8558 83.844627 374.18271 c +83.456284 374.50961 83.009819 374.65543 82.50518 374.62015 c +81.882355 374.5766 81.393631 374.31396 81.038994 373.83234 c +80.842804 373.56732 80.665092 373.16885 80.505844 372.63693 c +80.208328 372.6778 l +80.362511 373.73932 80.697021 374.49249 81.211838 374.93738 c +81.726662 375.38229 82.295471 375.62646 82.918312 375.67001 c +83.686615 375.72375 84.325233 375.52521 84.83416 375.07422 c +85.343102 374.6232 85.62204 374.04776 85.671005 373.34756 c +85.723137 372.60199 85.51651 371.86578 85.051102 371.13885 c +84.585701 370.41193 83.555618 369.10406 81.960808 367.21542 c +85.090866 367.4343 l +85.527306 367.46481 85.830521 367.53854 86.000496 367.65561 c +86.170494 367.77255 86.352715 368.04111 86.547188 368.4613 c +86.730209 368.39188 l +86.106316 366.43631 l +80.6577 366.0553 l +h +91.849205 368.1947 m +92.048058 368.94418 92.099014 370.01215 92.00206 371.39877 c +91.924805 372.50345 91.788116 373.38016 91.592003 374.02887 c +91.224304 375.23666 90.654037 375.81348 89.881172 375.75943 c +89.108322 375.70538 88.622879 375.0365 88.42485 373.75256 c +88.321869 373.06931 88.308846 372.17752 88.38578 371.07733 c +88.457947 370.04535 88.592934 369.22565 88.790741 368.61816 c +89.162437 367.48373 89.748344 366.94461 90.548477 367.00055 c +91.216774 367.04727 91.650352 367.44528 91.849205 368.1947 c +h +92.438927 374.65686 m +92.960091 373.80243 93.260872 372.80017 93.341301 371.64999 c +93.404564 370.7453 93.32325 369.88303 93.097328 369.06317 c +92.670647 367.52124 91.802673 366.70441 90.493362 366.61285 c +89.597755 366.55023 88.832832 366.90564 88.198555 367.67908 c +87.519547 368.50412 87.127914 369.66223 87.023643 371.15338 c +86.941628 372.32632 87.077896 373.35004 87.432472 374.22458 c +87.911232 375.41388 88.73024 376.04907 89.889519 376.13013 c +90.93515 376.20325 91.784943 375.71213 92.438927 374.65686 c +h +98.832153 368.68298 m +99.031006 369.4325 99.081963 370.50043 98.985008 371.88705 c +98.907753 372.99176 98.771065 373.86847 98.574951 374.51715 c +98.207253 375.72495 97.636986 376.30179 96.86412 376.24774 c +96.09127 376.1937 95.605827 375.52481 95.407799 374.24084 c +95.304817 373.55762 95.291794 372.66583 95.368729 371.56561 c +95.440895 370.53363 95.575882 369.71396 95.773689 369.10648 c +96.145386 367.97205 96.731293 367.43289 97.531425 367.48883 c +98.199722 367.53558 98.633301 367.93359 98.832153 368.68298 c +h +99.421875 375.14517 m +99.943039 374.29074 100.24382 373.28848 100.32425 372.13828 c +100.38751 371.23361 100.3062 370.37134 100.08028 369.55148 c +99.653595 368.00955 98.785622 367.19272 97.476311 367.10117 c +96.580704 367.03854 95.815781 367.39395 95.181503 368.16739 c +94.502495 368.99243 94.110863 370.15051 94.006592 371.64169 c +93.924576 372.81461 94.060844 373.83832 94.415421 374.71289 c +94.89418 375.90216 95.713188 376.53735 96.872467 376.61841 c +97.918098 376.69153 98.767891 376.20041 99.421875 375.14517 c +h +101.19057 367.49109 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 364.70001 m +818 364.70001 l +S +92.400002 311.60001 m +99.400002 311.60001 l +S +CM +84.3508 313.24158 m +85.893921 315.08539 86.934944 316.4328 87.473915 317.28366 c +88.012871 318.13455 88.255493 318.94412 88.201759 319.71246 c +88.154709 320.38531 87.937027 320.88516 87.548698 321.21207 c +87.160355 321.53897 86.71389 321.68478 86.209251 321.64948 c +85.586418 321.60593 85.097702 321.34329 84.743065 320.86169 c +84.546867 320.59665 84.369164 320.19818 84.209908 319.66629 c +83.912399 319.70712 l +84.066582 320.76868 84.401085 321.52185 84.915909 321.96674 c +85.430725 322.41165 85.999542 322.65582 86.622383 322.69937 c +87.390686 322.75308 88.029297 322.55457 88.538231 322.10355 c +89.047165 321.65256 89.326111 321.07712 89.375069 320.37692 c +89.427208 319.63135 89.220581 318.89514 88.755173 318.16821 c +88.289764 317.44125 87.259689 316.13342 85.664879 314.24478 c +88.794937 314.46365 l +89.231369 314.49417 89.534584 314.5679 89.704567 314.68494 c +89.874565 314.80188 90.056786 315.07047 90.251251 315.49063 c +90.43428 315.42123 l +89.810387 313.46567 l +84.361771 313.08466 l +h +92.935066 314.49625 m +93.376099 314.23236 93.710266 314.10846 93.937569 314.12436 c +94.460396 314.16092 94.901146 314.42361 95.259857 314.91232 c +95.618561 315.40112 95.774391 315.9819 95.727341 316.65475 c +95.645004 317.83218 94.958344 318.63626 93.667351 319.06674 c +92.951752 319.3045 92.293907 319.40247 91.69381 319.3605 c +91.593796 319.35352 91.531044 319.35251 91.505569 319.35754 c +91.480087 319.36258 91.447723 319.3844 91.408493 319.42273 c +91.415054 319.45969 91.420853 319.49097 91.425926 319.51648 c +91.431007 319.5419 91.437286 319.56641 91.444794 319.58969 c +92.703461 322.95328 l +95.628937 323.15784 l +95.774414 323.16803 95.885178 323.20093 95.96125 323.25647 c +96.0373 323.3121 96.134216 323.41251 96.251968 323.55777 c +96.36776 323.46994 l +95.924065 322.17114 l +95.908737 322.12897 95.860558 322.09933 95.779526 322.08224 c +95.698494 322.06512 95.610237 322.05325 95.514771 322.04657 c +92.875702 321.86203 l +92.379509 320.6282 l +93.133995 320.55295 93.687958 320.4707 94.041412 320.38113 c +94.623047 320.22995 95.117821 319.98135 95.525772 319.63525 c +95.875671 319.33536 96.148788 318.99014 96.345131 318.59961 c +96.541481 318.20895 96.65538 317.78867 96.686859 317.33856 c +96.757111 316.33392 96.457764 315.47003 95.788773 314.74722 c +95.119789 314.02429 94.237503 313.62445 93.141869 313.54785 c +92.696335 313.51669 92.334175 313.53476 92.055359 313.60208 c +91.590881 313.71124 91.345932 313.94763 91.320503 314.31134 c +91.310966 314.44772 91.351486 314.57056 91.442078 314.67963 c +91.532669 314.78873 91.680252 314.85046 91.884834 314.86478 c +92.143967 314.8829 92.494041 314.76001 92.935066 314.49625 c +h +102.53622 315.71234 m +102.73508 316.46182 102.78603 317.52979 102.68907 318.91641 c +102.61182 320.02112 102.47514 320.8978 102.27901 321.54651 c +101.91132 322.7543 101.34106 323.33112 100.56819 323.27707 c +99.795341 323.22305 99.309898 322.55414 99.111862 321.27029 c +99.008888 320.58694 98.995865 319.69519 99.0728 318.59497 c +99.144958 317.56299 99.279945 316.74332 99.477753 316.13583 c +99.849457 315.00137 100.43536 314.46225 101.2355 314.51819 c +101.90379 314.56494 102.33736 314.96295 102.53622 315.71234 c +h +103.12595 322.17453 m +103.6471 321.3201 103.94789 320.31784 104.02832 319.16763 c +104.09158 318.26294 104.01026 317.40067 103.78435 316.58081 c +103.35767 315.03891 102.48969 314.22205 101.18037 314.13049 c +100.28477 314.06787 99.519844 314.42328 98.885567 315.19672 c +98.206566 316.02176 97.814934 317.17987 97.710663 318.67102 c +97.628647 319.84396 97.764915 320.86768 98.119492 321.74222 c +98.598251 322.93152 99.417252 323.56671 100.57654 323.64777 c +101.62217 323.72089 102.47196 323.22977 103.12595 322.17453 c +h +104.89465 314.52045 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 311.60001 m +818 311.60001 l +S +92.400002 258.45001 m +99.400002 258.45001 l +S +CM +89.864975 260.99142 m +90.294525 260.76114 90.652504 260.65594 90.938919 260.67599 c +91.575386 260.72049 92.033173 260.96832 92.312263 261.41959 c +92.59137 261.87076 92.713272 262.34872 92.677986 262.85339 c +92.643974 263.33981 92.489059 263.75842 92.21328 264.10913 c +91.746925 264.70245 91.011406 264.9639 90.006699 264.89362 c +89.947594 264.8895 89.890839 264.88443 89.836449 264.87833 c +89.782051 264.87231 89.718803 264.86218 89.646698 264.8479 c +89.620659 265.02432 l +90.32962 265.33884 90.881287 265.68124 91.275703 266.05148 c +91.670105 266.42169 91.847763 266.88632 91.808655 267.44556 c +91.77401 267.94104 91.582817 268.30688 91.235107 268.54291 c +90.887383 268.77902 90.502129 268.88229 90.07933 268.85275 c +89.579239 268.81778 89.151146 268.60278 88.795013 268.20789 c +88.599876 267.99326 88.396461 267.66837 88.184753 267.23325 c +87.970016 267.26614 l +88.103554 267.96988 88.40361 268.54599 88.870216 268.99435 c +89.33683 269.44269 89.89518 269.68954 90.545296 269.73499 c +91.240852 269.78363 91.791794 269.63028 92.198097 269.27496 c +92.604416 268.91965 92.825058 268.492 92.860031 267.99182 c +92.890862 267.5509 92.762306 267.13531 92.474373 266.74518 c +92.311691 266.52359 92.053024 266.27023 91.698349 265.98511 c +92.147827 265.82916 92.513138 265.63547 92.794296 265.40384 c +93.323219 264.96115 93.613258 264.37384 93.664452 263.64185 c +93.724846 262.77814 93.438263 261.99283 92.80471 261.28613 c +92.171143 260.57941 91.226997 260.18219 89.972252 260.09442 c +89.413063 260.05533 89.015152 260.1109 88.778519 260.26108 c +88.541878 260.41122 88.416885 260.58182 88.403534 260.77277 c +88.395264 260.89096 88.42482 261.0072 88.492203 261.12158 c +88.559586 261.23596 88.677376 261.29904 88.845581 261.31082 c +89.095627 261.32828 89.435417 261.22183 89.864975 260.99142 c +h +99.451775 262.21686 m +99.650627 262.96637 99.701576 264.03433 99.604614 265.42093 c +99.527367 266.52563 99.390686 267.40234 99.194572 268.05103 c +98.826866 269.25882 98.256599 269.83566 97.483742 269.78162 c +96.710892 269.72757 96.225449 269.05869 96.02742 267.77472 c +95.924438 267.09149 95.911415 266.19971 95.98835 265.09949 c +96.060509 264.0675 96.195488 263.24783 96.393295 262.64035 c +96.765007 261.50592 97.350914 260.96677 98.151047 261.02274 c +98.819336 261.06946 99.252907 261.46747 99.451775 262.21686 c +h +100.0415 268.67905 m +100.56266 267.82462 100.86344 266.82236 100.94387 265.67218 c +101.00713 264.76749 100.9258 263.90521 100.6999 263.08536 c +100.27322 261.54343 99.405228 260.72659 98.095924 260.63504 c +97.200325 260.57242 96.435387 260.92783 95.801109 261.70126 c +95.122116 262.52631 94.730484 263.68439 94.626213 265.17557 c +94.544197 266.34848 94.680466 267.37219 95.035042 268.24677 c +95.513802 269.43607 96.332794 270.07123 97.492088 270.15228 c +98.537712 270.2254 99.387512 269.73428 100.0415 268.67905 c +h +106.43472 262.70517 m +106.63358 263.45465 106.68452 264.52261 106.58756 265.90924 c +106.51031 267.01392 106.37363 267.89062 106.17752 268.53934 c +105.80981 269.74713 105.23955 270.32394 104.46669 270.2699 c +103.69384 270.21585 103.2084 269.54697 103.01037 268.26303 c +102.90739 267.57977 102.89436 266.68799 102.9713 265.5878 c +103.04346 264.55582 103.17844 263.73611 103.37624 263.12863 c +103.74796 261.9942 104.33386 261.45508 105.134 261.51102 c +105.80228 261.55774 106.23586 261.95575 106.43472 262.70517 c +h +107.02444 269.16733 m +107.54561 268.3129 107.84639 267.31064 107.92682 266.16046 c +107.99008 265.25577 107.90875 264.39349 107.68285 263.57364 c +107.25616 262.03171 106.38818 261.21487 105.07887 261.12332 c +104.18327 261.0607 103.41833 261.41611 102.78406 262.18954 c +102.10506 263.01459 101.71343 264.1727 101.60916 265.66385 c +101.52715 266.83679 101.66341 267.86047 102.01799 268.73505 c +102.49675 269.92435 103.31574 270.55951 104.47504 270.64059 c +105.52066 270.71371 106.37046 270.2226 107.02444 269.16733 c +h +108.79314 261.51328 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 258.45001 m +818 258.45001 l +S +92.400002 205.35001 m +99.400002 205.35001 l +S +CM +93.569046 208.02078 m +93.998596 207.7905 94.356575 207.6853 94.642982 207.70534 c +95.279449 207.74983 95.737236 207.99768 96.016327 208.44894 c +96.295441 208.90012 96.417343 209.37808 96.38205 209.88275 c +96.348038 210.36916 96.19313 210.78778 95.917343 211.13849 c +95.450989 211.73181 94.715477 211.99324 93.71077 211.92297 c +93.651665 211.91884 93.59491 211.91377 93.54052 211.90767 c +93.486115 211.90166 93.422867 211.89153 93.350769 211.87726 c +93.32473 212.05367 l +94.033684 212.36819 94.585358 212.7106 94.979774 213.08083 c +95.374176 213.45103 95.551826 213.91566 95.512726 214.4749 c +95.478073 214.97038 95.286888 215.33624 94.939178 215.57225 c +94.591454 215.80838 94.2062 215.91165 93.783401 215.8821 c +93.28331 215.84712 92.855217 215.63214 92.499084 215.23723 c +92.30394 215.0226 92.100525 214.69771 91.888824 214.26259 c +91.674088 214.29549 l +91.807625 214.99922 92.107674 215.57535 92.574287 216.0237 c +93.040901 216.47203 93.599251 216.71889 94.249359 216.76434 c +94.944923 216.81299 95.495865 216.65964 95.902168 216.30432 c +96.308487 215.94899 96.529121 215.52135 96.564102 215.02116 c +96.594933 214.58025 96.466377 214.16466 96.178444 213.77452 c +96.015762 213.55293 95.757095 213.29958 95.40242 213.01443 c +95.851891 212.85852 96.217201 212.66483 96.498367 212.43318 c +97.027283 211.99049 97.317329 211.4032 97.368515 210.67119 c +97.428909 209.8075 97.142334 209.02219 96.508781 208.31548 c +95.875214 207.60875 94.931061 207.21153 93.676315 207.12378 c +93.117134 207.08469 92.719215 207.14026 92.48259 207.29042 c +92.245949 207.44058 92.120949 207.61118 92.107597 207.80211 c +92.099335 207.92032 92.128883 208.03656 92.196274 208.15094 c +92.263657 208.26532 92.381447 208.3284 92.549652 208.34015 c +92.79969 208.35764 93.139488 208.25119 93.569046 208.02078 c +h +100.53764 208.5184 m +100.97867 208.25453 101.31283 208.13063 101.54014 208.14653 c +102.06296 208.18309 102.50372 208.44577 102.86242 208.93448 c +103.22112 209.42329 103.37695 210.00409 103.3299 210.67694 c +103.24757 211.85437 102.56091 212.65843 101.26992 213.08891 c +100.55432 213.32668 99.896477 213.42464 99.296371 213.38266 c +99.196358 213.37567 99.133614 213.37469 99.108139 213.37973 c +99.082657 213.38477 99.050293 213.40656 99.011063 213.44492 c +99.017609 213.48186 99.023422 213.51314 99.028496 213.53867 c +99.033569 213.56407 99.039856 213.58858 99.047356 213.61185 c +100.30603 216.97545 l +103.2315 217.18002 l +103.37698 217.19019 103.48775 217.2231 103.5638 217.27864 c +103.63987 217.33427 103.73677 217.43468 103.85454 217.57996 c +103.97031 217.49211 l +103.52663 216.1933 l +103.51131 216.15112 103.46313 216.12149 103.3821 216.1044 c +103.30106 216.08731 103.21281 216.07542 103.11734 216.06874 c +100.47827 215.8842 l +99.982071 214.65039 l +100.73656 214.57513 101.29051 214.49287 101.64398 214.40332 c +102.22561 214.25212 102.72039 214.00352 103.12833 213.65744 c +103.47824 213.35751 103.75136 213.01233 103.9477 212.62178 c +104.14405 212.23112 104.25795 211.81084 104.28943 211.36073 c +104.35968 210.35609 104.06032 209.4922 103.39134 208.76938 c +102.72236 208.04645 101.84007 207.64664 100.74444 207.57002 c +100.2989 207.53886 99.936745 207.55695 99.657928 207.62427 c +99.193451 207.73343 98.948494 207.96982 98.923058 208.33353 c +98.913528 208.46989 98.954048 208.59271 99.044647 208.7018 c +99.135239 208.81088 99.282822 208.87263 99.487404 208.88695 c +99.746529 208.90506 100.09661 208.78218 100.53764 208.5184 c +h +110.13879 209.73451 m +110.33765 210.48401 110.3886 211.55196 110.29163 212.93857 c +110.21439 214.04327 110.07771 214.91998 109.88158 215.56868 c +109.51388 216.77647 108.94361 217.3533 108.17076 217.29926 c +107.39791 217.24521 106.91247 216.57632 106.71444 215.29237 c +106.61146 214.60913 106.59843 213.71735 106.67537 212.61714 c +106.74753 211.58516 106.88251 210.76547 107.08031 210.15799 c +107.45203 209.02356 108.03793 208.48442 108.83807 208.54036 c +109.50636 208.5871 109.93993 208.98511 110.13879 209.73451 c +h +110.72852 216.19669 m +111.24967 215.34225 111.55046 214.34 111.63089 213.1898 c +111.69415 212.28513 111.61282 211.42285 111.38691 210.60298 c +110.96024 209.06107 110.09225 208.24423 108.78294 208.15268 c +107.88734 208.09006 107.12241 208.44545 106.48813 209.2189 c +105.80914 210.04395 105.4175 211.20204 105.31323 212.69321 c +105.23121 213.86613 105.36749 214.88983 105.72206 215.7644 c +106.20081 216.95369 107.01981 217.58887 108.1791 217.66994 c +109.22473 217.74306 110.07453 217.25194 110.72852 216.19669 c +h +112.49722 208.54262 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 205.35001 m +818 205.35001 l +S +92.400002 152.2 m +99.400002 152.2 l +S +CM +98.32 162.27536 m +95.302666 157.30869 l +98.650932 157.54282 l +h +98.671837 163.71161 m +99.319672 163.75691 l +99.74884 157.6196 l +101.17406 157.71925 l +101.23749 156.81227 l +99.812263 156.7126 l +99.974869 154.38719 l +98.890594 154.31137 l +98.727989 156.6368 l +94.800079 156.36212 l +94.736656 157.2691 l +h +106.41333 156.19421 m +106.61218 156.94371 106.66313 158.01166 106.56617 159.39828 c +106.48892 160.50298 106.35224 161.37968 106.15613 162.02838 c +105.78841 163.23618 105.21815 163.813 104.4453 163.75896 c +103.67243 163.70491 103.187 163.03603 102.98898 161.75208 c +102.88599 161.06883 102.87297 160.17705 102.94991 159.07684 c +103.02206 158.04486 103.15704 157.22517 103.35485 156.61769 c +103.72656 155.48326 104.31247 154.94412 105.1126 155.00008 c +105.78089 155.0468 106.21446 155.44481 106.41333 156.19421 c +h +107.00305 162.65639 m +107.52421 161.80196 107.825 160.7997 107.90543 159.64951 c +107.96869 158.74483 107.88736 157.88255 107.66145 157.0627 c +107.23476 155.52077 106.36678 154.70393 105.05747 154.61238 c +104.16187 154.54976 103.39694 154.90517 102.76266 155.6786 c +102.08367 156.50365 101.69203 157.66174 101.58776 159.15291 c +101.50574 160.32584 101.64202 161.34955 101.99659 162.22411 c +102.47534 163.41339 103.29435 164.04857 104.45364 164.12964 c +105.49927 164.20276 106.34907 163.71164 107.00305 162.65639 c +h +113.39628 156.68251 m +113.59513 157.43201 113.64608 158.49995 113.54912 159.88658 c +113.47187 160.99127 113.33519 161.86798 113.13908 162.51668 c +112.77136 163.72447 112.2011 164.3013 111.42825 164.24725 c +110.65538 164.19321 110.16995 163.52432 109.97192 162.24037 c +109.86893 161.55713 109.85592 160.66534 109.93285 159.56514 c +110.00501 158.53316 110.13999 157.71347 110.3378 157.10599 c +110.70951 155.97156 111.29542 155.43242 112.09555 155.48836 c +112.76384 155.5351 113.19741 155.93311 113.39628 156.68251 c +h +113.986 163.14468 m +114.50716 162.29025 114.80795 161.28799 114.88837 160.1378 c +114.95164 159.23312 114.87031 158.37085 114.6444 157.55099 c +114.2177 156.00906 113.34973 155.19223 112.04042 155.10068 c +111.14482 155.03806 110.37989 155.39345 109.74561 156.1669 c +109.06662 156.99194 108.67498 158.15004 108.57071 159.6412 c +108.48869 160.81413 108.62497 161.83783 108.97954 162.7124 c +109.45829 163.90169 110.2773 164.53687 111.43659 164.61794 c +112.48222 164.69106 113.33202 164.19994 113.986 163.14468 c +h +115.7547 155.49062 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 152.2 m +818 152.2 l +S +92.400002 99.099998 m +99.400002 99.099998 l +S +CM +102.02406 109.30471 m +99.006737 104.33801 l +102.355 104.57214 l +h +102.37591 110.74095 m +103.02374 110.78625 l +103.45291 104.64891 l +104.87814 104.74857 l +104.94156 103.84161 l +103.51633 103.74194 l +103.67894 101.41656 l +102.59467 101.34074 l +102.43206 103.66613 l +98.50415 103.39146 l +98.440727 104.29842 l +h +107.49919 102.49574 m +107.94022 102.23191 108.27438 102.10795 108.50169 102.12385 c +109.02451 102.16041 109.46526 102.42307 109.82397 102.91185 c +110.18268 103.40063 110.3385 103.98143 110.29145 104.65428 c +110.20912 105.83171 109.52246 106.63577 108.23146 107.06627 c +107.51586 107.30402 106.85803 107.40198 106.25793 107.36002 c +106.15791 107.35302 106.09516 107.35204 106.06968 107.35708 c +106.0442 107.36211 106.01185 107.3839 105.97262 107.42226 c +105.97916 107.45921 105.98498 107.49049 105.99004 107.51601 c +105.99512 107.54142 106.0014 107.56593 106.00891 107.5892 c +107.26758 110.9528 l +110.19305 111.15736 l +110.33854 111.16754 110.4493 111.20045 110.52536 111.25599 c +110.60142 111.31163 110.69833 111.41203 110.81609 111.5573 c +110.93187 111.46946 l +110.48819 110.17065 l +110.47286 110.12848 110.42468 110.09885 110.34365 110.08175 c +110.26261 110.06466 110.17435 110.05277 110.07889 110.0461 c +107.43983 109.86155 l +106.94363 108.62773 l +107.69811 108.55248 108.25207 108.47022 108.60554 108.38066 c +109.18716 108.22946 109.68194 107.98087 110.08989 107.63479 c +110.4398 107.33486 110.71291 106.98968 110.90926 106.59912 c +111.1056 106.20847 111.21951 105.78819 111.25098 105.33809 c +111.32124 104.33339 111.02187 103.4696 110.3529 102.74669 c +109.68391 102.02378 108.80162 101.62402 107.70598 101.54741 c +107.26046 101.51625 106.89829 101.53432 106.61948 101.60163 c +106.155 101.71077 105.91005 101.94719 105.88461 102.31088 c +105.87508 102.44727 105.9156 102.57003 106.0062 102.67915 c +106.09679 102.78828 106.24438 102.84999 106.44894 102.8643 c +106.70808 102.88242 107.05817 102.75957 107.49919 102.49574 c +h +117.10034 103.71191 m +117.2992 104.46133 117.35015 105.52932 117.25319 106.91592 c +117.17594 108.02062 117.03926 108.89732 116.84314 109.54603 c +116.47543 110.75382 115.90517 111.33064 115.13232 111.2766 c +114.35945 111.22256 113.87402 110.55367 113.67599 109.26972 c +113.573 108.58648 113.55998 107.69469 113.63692 106.59448 c +113.70908 105.5625 113.84406 104.7428 114.04187 104.13533 c +114.41357 103.00094 114.99949 102.46172 115.79962 102.51768 c +116.46791 102.56441 116.90148 102.96248 117.10034 103.71191 c +h +117.69006 110.17403 m +118.21123 109.31961 118.51202 108.31734 118.59245 107.16716 c +118.65571 106.26247 118.57438 105.40022 118.34846 104.58038 c +117.92178 103.03838 117.05379 102.22163 115.74448 102.13007 c +114.84888 102.06744 114.08396 102.42282 113.44968 103.19622 c +112.77068 104.02132 112.37904 105.17942 112.27477 106.67055 c +112.19276 107.84348 112.32904 108.86719 112.68361 109.74175 c +113.16236 110.93105 113.98137 111.56622 115.14066 111.64729 c +116.18629 111.72041 117.03608 111.22929 117.69006 110.17403 c +h +119.45876 102.52 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +825 99.099998 m +818 99.099998 l +S +92.400002 67.199997 m +92.400002 74.199997 l +S +CM +132.56599 51.764194 m +132.76486 52.513611 132.81581 53.581608 132.71886 54.968201 c +132.6416 56.072933 132.50491 56.949646 132.30879 57.598354 c +131.9411 58.806118 131.37083 59.382973 130.59798 59.32893 c +129.82512 59.274883 129.33968 58.605934 129.14163 57.32206 c +129.03867 56.638733 129.02565 55.746983 129.10258 54.646801 c +129.17474 53.614811 129.30972 52.79509 129.50754 52.187618 c +129.87924 51.053223 130.46515 50.514011 131.26527 50.569962 c +131.93358 50.616692 132.36714 51.014767 132.56599 51.764194 c +h +133.15572 58.226341 m +133.67688 57.371937 133.97766 56.369656 134.05809 55.219463 c +134.12135 54.314762 134.04004 53.452511 133.81413 52.632664 c +133.38744 51.090675 132.51945 50.273918 131.21014 50.182362 c +130.31454 50.119736 129.54962 50.475113 128.91534 51.248512 c +128.23634 52.073605 127.84471 53.231709 127.74044 54.722866 c +127.65842 55.895794 127.7947 56.919502 128.14928 57.794025 c +128.62802 58.983322 129.44704 59.618488 130.60632 59.699554 c +131.65195 59.772671 132.50174 59.281605 133.15572 58.226341 c +h +134.92442 50.572285 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +92.400002 577.20001 m +92.400002 570.20001 l +S +194.14999 67.199997 m +194.14999 74.199997 l +S +CM +226.68481 66.352921 m +226.68791 66.341713 226.69083 66.315651 226.6937 66.274734 c +227.26782 58.064316 l +227.2923 57.714252 227.40115 57.498016 227.59418 57.415581 c +227.78729 57.333141 228.13902 57.300636 228.64944 57.318054 c +228.6628 57.127113 l +224.8167 56.858166 l +224.80238 57.062744 l +225.35063 57.12849 225.70451 57.228619 225.86412 57.363129 c +226.02373 57.497631 226.08922 57.769463 226.06061 58.178623 c +225.61905 64.493286 l +225.60379 64.711502 225.56494 64.875534 225.50244 64.985367 c +225.43993 65.095207 225.31773 65.143768 225.13588 65.13105 c +225.01776 65.122795 224.86665 65.079109 224.68251 64.999992 c +224.49849 64.920876 224.32716 64.839233 224.16855 64.755043 c +224.1552 64.945984 l +226.56871 66.396194 l +226.65062 66.401924 l +226.67036 66.380455 226.68173 66.36412 226.68481 66.352921 c +h +234.78072 58.911743 m +234.97961 59.661163 235.03055 60.729156 234.93358 62.115753 c +234.85634 63.220486 234.71965 64.097191 234.52351 64.745903 c +234.15587 65.953667 233.58554 66.530518 232.81273 66.476479 c +232.03992 66.42244 231.5544 65.753479 231.35637 64.469612 c +231.25339 63.786282 231.24036 62.894531 231.31729 61.79435 c +231.38945 60.76236 231.52446 59.942638 231.72232 59.335171 c +232.09396 58.200771 232.6799 57.661564 233.48004 57.717514 c +234.14832 57.764244 234.58191 58.162319 234.78072 58.911743 c +h +235.37047 65.373894 m +235.89165 64.519485 236.19238 63.517204 236.27281 62.367016 c +236.33607 61.462315 236.25484 60.600063 236.02887 59.780216 c +235.60219 58.238228 234.73425 57.421471 233.42496 57.329918 c +232.52934 57.267288 231.76439 57.622665 231.1301 58.396061 c +230.45108 59.221157 230.05945 60.379257 229.95517 61.870419 c +229.87315 63.043343 230.00948 64.067055 230.36403 64.941582 c +230.84274 66.130867 231.66182 66.766045 232.82109 66.847107 c +233.86674 66.920227 234.71646 66.429153 235.37047 65.373894 c +h +241.76366 59.40004 m +241.96257 60.14946 242.01349 61.217453 241.91653 62.604046 c +241.83928 63.708778 241.70259 64.585487 241.50645 65.2342 c +241.13881 66.441963 240.56848 67.018814 239.79567 66.964775 c +239.02286 66.910736 238.53734 66.241776 238.33932 64.957909 c +238.23633 64.274582 238.22331 63.382828 238.30025 62.282646 c +238.37241 61.250656 238.50742 60.430935 238.70528 59.823467 c +239.0769 58.689068 239.66286 58.149857 240.463 58.205811 c +241.13127 58.252541 241.56485 58.650616 241.76366 59.40004 c +h +242.35342 65.86219 m +242.87459 65.007782 243.17534 64.005501 243.25577 62.855309 c +243.31903 61.950607 243.23778 61.08836 243.01181 60.268513 c +242.58514 58.726521 241.71721 57.909767 240.4079 57.818211 c +239.51228 57.755585 238.74733 58.110958 238.11304 58.884357 c +237.43402 59.709454 237.04239 60.867554 236.93811 62.358711 c +236.85609 63.531639 236.99242 64.555351 237.34698 65.429878 c +237.82568 66.619164 238.64478 67.254341 239.80405 67.335403 c +240.84969 67.408524 241.69942 66.91745 242.35342 65.86219 c +h +244.12215 58.208134 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +194.14999 577.20001 m +194.14999 570.20001 l +S +295.89999 67.199997 m +295.89999 74.199997 l +S +CM +324.51443 63.987324 m +326.05759 65.831238 327.09851 67.178604 327.63748 68.029472 c +328.17654 68.880348 328.41916 69.689934 328.36545 70.458237 c +328.31839 71.131081 328.10068 71.630936 327.71234 71.957848 c +327.32397 72.284744 326.87753 72.430542 326.37286 72.395256 c +325.75009 72.351707 325.26132 72.089111 324.90665 71.607468 c +324.71045 71.342476 324.53281 70.944031 324.37354 70.412086 c +324.07605 70.452965 l +324.23019 71.514481 324.56476 72.267677 325.07959 72.712555 c +325.59439 73.157425 326.16315 73.401634 326.78604 73.44519 c +327.55435 73.498917 328.19296 73.300301 328.70187 72.84935 c +329.21075 72.398392 329.48978 71.822876 329.53873 71.122765 c +329.59088 70.377182 329.38422 69.64093 328.91879 68.913979 c +328.45337 68.187035 327.42331 66.87925 325.82846 64.990608 c +328.95853 65.209488 l +329.39496 65.240005 329.69824 65.313751 329.86819 65.430702 c +330.03815 65.547661 330.22037 65.816238 330.41492 66.236435 c +330.5979 66.167 l +329.974 64.211479 l +324.52542 63.830479 l +h +335.71695 65.969894 m +335.91574 66.719307 335.96667 67.7873 335.86972 69.173897 c +335.79245 70.278625 335.65576 71.155334 335.45975 71.804054 c +335.09198 73.01181 334.52176 73.588669 333.74884 73.534622 c +332.97604 73.480583 332.49063 72.81163 332.29251 71.527756 c +332.18961 70.844429 332.17657 69.952682 332.25351 68.852501 c +332.32568 67.820511 332.4606 67.000778 332.65845 66.393311 c +333.03009 65.258911 333.61603 64.719704 334.41617 64.775658 c +335.08444 64.822388 335.51804 65.220459 335.71695 65.969894 c +h +336.30658 72.432037 m +336.82776 71.577629 337.1286 70.575356 337.20905 69.425163 c +337.27231 68.520462 337.19095 67.658203 336.965 66.838356 c +336.53833 65.296364 335.67038 64.479614 334.36108 64.388062 c +333.46545 64.325432 332.7005 64.680809 332.06622 65.454201 c +331.38721 66.279297 330.99557 67.437401 330.8913 68.928558 c +330.80927 70.101486 330.94559 71.125198 331.30017 71.999718 c +331.77896 73.189018 332.59796 73.824188 333.75723 73.905251 c +334.80286 73.978371 335.65259 73.487297 336.30658 72.432037 c +h +342.69989 66.458183 m +342.89868 67.207603 342.94962 68.275597 342.85266 69.662186 c +342.77539 70.766922 342.6387 71.643631 342.44269 72.292351 c +342.07495 73.500107 341.5047 74.076965 340.73181 74.022919 c +339.95898 73.96888 339.47357 73.299927 339.27545 72.016052 c +339.17255 71.332726 339.15955 70.440979 339.23648 69.34079 c +339.30862 68.3088 339.44354 67.489075 339.64139 66.881607 c +340.01303 65.747208 340.59897 65.208 341.39911 65.263954 c +342.06738 65.310684 342.50098 65.708755 342.69989 66.458183 c +h +343.28955 72.920334 m +343.8107 72.065926 344.11157 71.063652 344.19199 69.91346 c +344.25525 69.008759 344.17389 68.1465 343.94794 67.326653 c +343.52127 65.78466 342.65332 64.967911 341.34402 64.87635 c +340.44843 64.813728 339.68347 65.169098 339.04916 65.942497 c +338.37015 66.767593 337.97852 67.925697 337.87424 69.416855 c +337.79224 70.589783 337.92856 71.613495 338.28311 72.488014 c +338.7619 73.677315 339.5809 74.312477 340.74017 74.393547 c +341.78583 74.46666 342.63553 73.975594 343.28955 72.920334 c +h +345.05826 65.266273 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +295.89999 577.20001 m +295.89999 570.20001 l +S +397.64999 67.199997 m +397.64999 74.199997 l +S +CM +427.72766 71.848846 m +428.15729 71.618484 428.5152 71.513313 428.8017 71.533348 c +429.43814 71.57785 429.89587 71.825714 430.17496 72.276947 c +430.45407 72.72818 430.57602 73.206116 430.54074 73.710739 c +430.50674 74.197182 430.35187 74.615784 430.07602 74.966545 c +429.60968 75.559807 428.87415 75.821312 427.86942 75.751053 c +427.81036 75.746918 427.75357 75.741806 427.69916 75.735718 c +427.64478 75.72963 427.58151 75.719498 427.50943 75.705315 c +427.48337 75.881668 l +428.19235 76.196213 428.74402 76.538589 429.13846 76.908791 c +429.53287 77.279007 429.71051 77.743698 429.67139 78.302887 c +429.63675 78.798424 429.44556 79.16423 429.09784 79.400322 c +428.75012 79.636398 428.3649 79.739662 427.94202 79.710091 c +427.44196 79.675117 427.01389 79.460175 426.65778 79.065224 c +426.46259 78.850563 426.25925 78.525696 426.04749 78.090599 c +425.83276 78.12355 l +425.96628 78.827286 426.26633 79.40332 426.733 79.851685 c +427.19955 80.300041 427.7579 80.546944 428.40802 80.592407 c +429.10361 80.641045 429.65454 80.487701 430.06082 80.132355 c +430.46719 79.777031 430.68777 79.349312 430.72275 78.849236 c +430.75357 78.408249 430.62506 77.992683 430.33707 77.602493 c +430.17444 77.380981 429.91577 77.127617 429.5611 76.842415 c +430.01056 76.686539 430.37589 76.492798 430.65701 76.261192 c +431.18597 75.818497 431.47595 75.231186 431.52716 74.499245 c +431.58755 73.63546 431.30103 72.85022 430.66748 72.143494 c +430.03384 71.43676 429.08975 71.039536 427.83502 70.951797 c +427.27579 70.912697 426.87793 70.968246 426.64127 71.118446 c +426.40463 71.268654 426.27963 71.439217 426.26627 71.630165 c +426.258 71.74836 426.28757 71.864639 426.35495 71.978989 c +426.42233 72.093346 426.54013 72.156395 426.70831 72.168159 c +426.9584 72.185646 427.29816 72.079208 427.72766 71.848846 c +h +437.31454 73.074287 m +437.51334 73.8237 437.56427 74.891693 437.46732 76.27829 c +437.39008 77.383018 437.25339 78.259735 437.05734 78.908447 c +436.68961 80.116211 436.11938 80.693069 435.34647 80.639015 c +434.57364 80.584976 434.08823 79.916031 433.89011 78.632149 c +433.78723 77.94883 433.7742 77.057076 433.85114 75.956894 c +433.92328 74.924904 434.0582 74.105179 434.25604 73.497711 c +434.62781 72.363319 435.21362 71.824104 436.01379 71.880051 c +436.68204 71.926781 437.11563 72.32486 437.31454 73.074287 c +h +437.90421 79.53643 m +438.42538 78.68203 438.72623 77.679749 438.80664 76.529556 c +438.8699 75.624855 438.78857 74.762604 438.56259 73.942757 c +438.13593 72.400764 437.26797 71.584007 435.95868 71.492455 c +435.06308 71.429825 434.29813 71.785202 433.66382 72.558601 c +432.9848 73.383698 432.59317 74.541794 432.48889 76.032959 c +432.40689 77.205879 432.54321 78.229591 432.89777 79.104118 c +433.37656 80.293411 434.19556 80.928581 435.35483 81.009644 c +436.40048 81.082764 437.25031 80.591698 437.90421 79.53643 c +h +444.29749 73.562584 m +444.49631 74.311996 444.54721 75.37999 444.45026 76.766586 c +444.37302 77.871315 444.23633 78.748032 444.04028 79.396744 c +443.67255 80.6045 443.10233 81.181358 442.32941 81.127312 c +441.55661 81.073273 441.07117 80.40432 440.87305 79.120445 c +440.77017 78.437126 440.75714 77.545372 440.83408 76.44519 c +440.90625 75.4132 441.04114 74.593475 441.23901 73.986008 c +441.61075 72.851616 442.19659 72.312393 442.99673 72.368347 c +443.66501 72.415077 444.09857 72.813156 444.29749 73.562584 c +h +444.88715 80.024727 m +445.40833 79.170319 445.70917 78.168045 445.78961 77.017853 c +445.85287 76.113152 445.77151 75.2509 445.54556 74.431046 c +445.11887 72.889061 444.25095 72.072304 442.94162 71.980751 c +442.04602 71.918121 441.28107 72.273499 440.64676 73.046898 c +439.96777 73.871994 439.57611 75.03009 439.47186 76.521248 c +439.38983 77.694176 439.52615 78.717888 439.88071 79.592415 c +440.35953 80.781708 441.1785 81.416878 442.33777 81.49794 c +443.38342 81.57106 444.23325 81.079994 444.88715 80.024727 c +h +446.65588 72.370674 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +397.64999 577.20001 m +397.64999 570.20001 l +S +499.39999 67.199997 m +499.39999 74.199997 l +S +CM +530.49835 86.237381 m +527.48096 81.27066 l +530.82928 81.504799 l +h +530.8501 87.673622 m +531.49799 87.718925 l +531.92719 81.581573 l +533.35242 81.681236 l +533.41583 80.774269 l +531.9906 80.674606 l +532.1532 78.349228 l +531.06885 78.273399 l +530.90625 80.598785 l +526.97833 80.32412 l +526.91492 81.231087 l +h +538.59161 80.156273 m +538.79047 80.905685 538.84149 81.973686 538.74451 83.360283 c +538.66724 84.465012 538.53058 85.341721 538.33441 85.990433 c +537.96667 87.198189 537.39648 87.775047 536.62354 87.721001 c +535.85077 87.666962 535.3653 86.998009 535.1673 85.714142 c +535.06433 85.030815 535.05127 84.139061 535.12823 83.038879 c +535.20038 82.006889 535.33527 81.187164 535.53314 80.579697 c +535.90491 79.445305 536.49072 78.906082 537.29089 78.962036 c +537.95917 79.008766 538.3927 79.406845 538.59161 80.156273 c +h +539.18127 86.618416 m +539.70245 85.764008 540.0033 84.761734 540.08374 83.611542 c +540.14703 82.706841 540.06567 81.844589 539.83972 81.024734 c +539.41302 79.48275 538.5451 78.665993 537.23578 78.57444 c +536.34015 78.51181 535.5752 78.867188 534.94092 79.640587 c +534.26202 80.465683 533.87036 81.623787 533.76611 83.114944 c +533.68408 84.287872 533.82031 85.311577 534.17487 86.186104 c +534.65369 87.375397 535.47266 88.010567 536.6319 88.091629 c +537.67755 88.164749 538.5274 87.673683 539.18127 86.618416 c +h +545.57458 80.644569 m +545.77338 81.393982 545.8244 82.461983 545.72748 83.848579 c +545.65021 84.953308 545.51349 85.830017 545.31738 86.478729 c +544.94965 87.686485 544.37939 88.263344 543.60651 88.209297 c +542.83368 88.155258 542.34827 87.486305 542.15027 86.202438 c +542.04724 85.519112 542.03424 84.627357 542.11115 83.527176 c +542.18335 82.495186 542.31824 81.675461 542.51611 81.067993 c +542.88782 79.933601 543.47369 79.394379 544.2738 79.450333 c +544.94208 79.497063 545.37567 79.895134 545.57458 80.644569 c +h +546.16425 87.106712 m +546.68542 86.252304 546.98627 85.250031 547.06671 84.099838 c +547.12994 83.195137 547.04858 82.332886 546.82263 81.513031 c +546.396 79.971046 545.52802 79.154289 544.21875 79.062737 c +543.32312 79.000107 542.55817 79.355484 541.92389 80.128883 c +541.24493 80.953979 540.85333 82.112083 540.74902 83.603241 c +540.66705 84.776169 540.80322 85.799873 541.15778 86.6744 c +541.6366 87.863693 542.45563 88.498863 543.61487 88.579926 c +544.66052 88.653046 545.51031 88.16198 546.16425 87.106712 c +h +547.93298 79.45266 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +499.39999 577.20001 m +499.39999 570.20001 l +S +601.15002 67.199997 m +601.15002 74.199997 l +S +CM +630.6358 86.047836 m +631.07684 85.784012 631.41101 85.660049 631.63837 85.675949 c +632.16119 85.712509 632.60193 85.975174 632.96063 86.463951 c +633.31927 86.952736 633.47516 87.533531 633.4281 88.206383 c +633.34576 89.383842 632.65912 90.187836 631.36816 90.618362 c +630.65253 90.856125 629.99469 90.954025 629.39453 90.912064 c +629.29456 90.905075 629.23181 90.904114 629.2063 90.909187 c +629.18085 90.914253 629.1485 90.935974 629.10919 90.97435 c +629.11584 91.011353 629.12158 91.042603 629.12671 91.068077 c +629.13171 91.093567 629.13806 91.117981 629.14557 91.14135 c +630.40417 94.504921 l +633.32965 94.709496 l +633.47516 94.719666 633.58594 94.752533 633.66199 94.808105 c +633.7381 94.863678 633.83502 94.964111 633.95276 95.109406 c +634.06848 95.021553 l +633.62476 93.722786 l +633.6095 93.680611 633.56134 93.650963 633.48022 93.633881 c +633.39923 93.616791 633.31091 93.604904 633.21545 93.598228 c +630.57642 93.413689 l +630.08026 92.179787 l +630.83478 92.10463 631.38867 92.022301 631.74213 91.932808 c +632.32379 91.781609 632.81854 91.532967 633.2265 91.186874 c +633.57635 90.886986 633.84955 90.541756 634.04584 90.151176 c +634.24219 89.760605 634.35614 89.340279 634.38763 88.890213 c +634.45789 87.88549 634.15851 87.021698 633.4895 86.29879 c +632.8205 85.575882 631.93823 85.176125 630.84265 85.09951 c +630.39709 85.068352 630.03485 85.086418 629.7561 85.153725 c +629.29169 85.262878 629.04669 85.49929 629.02124 85.862984 c +629.01172 85.999374 629.05225 86.122124 629.14282 86.231255 c +629.23346 86.340378 629.38098 86.402092 629.58563 86.416397 c +629.84467 86.434517 630.19482 86.311668 630.6358 86.047836 c +h +640.23694 87.264 m +640.43585 88.013428 640.48676 89.081421 640.38977 90.46801 c +640.31256 91.572746 640.17584 92.449455 639.97974 93.098167 c +639.61206 94.305931 639.04175 94.882782 638.26892 94.828743 c +637.49603 94.774696 637.01062 94.105743 636.81256 92.821869 c +636.70959 92.138542 636.69659 91.246796 636.7735 90.146606 c +636.8457 89.114616 636.98071 88.294899 637.17853 87.687431 c +637.55017 86.553032 638.13611 86.013824 638.93628 86.069778 c +639.60455 86.116508 640.03815 86.51458 640.23694 87.264 c +h +640.82666 93.726158 m +641.34784 92.87175 641.64862 91.869469 641.72906 90.719276 c +641.7923 89.814575 641.71106 88.952324 641.48511 88.132477 c +641.05841 86.590485 640.19049 85.773735 638.88104 85.682167 c +637.98553 85.619553 637.22058 85.974922 636.5863 86.748322 c +635.90729 87.573418 635.51569 88.731522 635.41138 90.222679 c +635.32935 91.395607 635.4657 92.419319 635.82025 93.293839 c +636.29895 94.483131 637.11804 95.118301 638.27728 95.199371 c +639.32294 95.272484 640.17267 94.781418 640.82666 93.726158 c +h +647.21985 87.752296 m +647.41876 88.501717 647.46973 89.56971 647.37274 90.956306 c +647.29547 92.061043 647.15881 92.937752 646.96271 93.586456 c +646.59503 94.794228 646.02472 95.371078 645.25189 95.317039 c +644.479 95.262993 643.99359 94.59404 643.79553 93.310165 c +643.69257 92.626839 643.6795 91.735092 643.75647 90.634903 c +643.82861 89.602913 643.96362 88.783195 644.1615 88.175728 c +644.53314 87.041328 645.11908 86.502121 645.91919 86.558067 c +646.58746 86.604797 647.02106 87.002876 647.21985 87.752296 c +h +647.80963 94.214447 m +648.33081 93.360046 648.63153 92.357758 648.71198 91.207573 c +648.77527 90.302872 648.69397 89.44062 648.46802 88.620773 c +648.04138 87.078781 647.1734 86.262032 645.86401 86.170464 c +644.96851 86.107841 644.20355 86.463219 643.56927 87.236618 c +642.89026 88.061714 642.4986 89.219818 642.39435 90.710976 c +642.31232 91.883896 642.44861 92.907616 642.80322 93.782135 c +643.28192 94.971428 644.10101 95.606598 645.26025 95.68766 c +646.30591 95.76078 647.15564 95.269707 647.80963 94.214447 c +h +649.57837 86.560394 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +601.15002 577.20001 m +601.15002 570.20001 l +S +702.90002 67.199997 m +702.90002 74.199997 l +S +CM +735.82074 93.447624 m +735.33325 92.741982 734.66223 92.359283 733.8075 92.299515 c +733.00739 92.243561 732.25262 92.567673 731.54327 93.271866 c +730.8338 93.976051 730.43561 94.950966 730.34851 96.196632 c +730.23633 97.801445 730.77643 99.223419 731.96887 100.46263 c +733.03815 101.50591 734.28192 102.07713 735.70026 102.1763 c +735.75012 101.95366 l +735.18909 101.80936 734.70923 101.63304 734.31036 101.42469 c +733.91144 101.21635 733.56189 100.9395 733.26178 100.59415 c +732.95276 100.24361 732.67041 99.80587 732.41473 99.280884 c +732.15912 98.755913 731.99408 98.241859 731.91956 97.738686 c +732.18933 97.931152 732.42365 98.075447 732.6225 98.171585 c +732.97601 98.342491 733.33698 98.440826 733.70514 98.466576 c +734.42798 98.51712 735.05237 98.309525 735.57837 97.843781 c +736.10431 97.378021 736.39972 96.681442 736.4646 95.754021 c +736.52277 94.922058 736.30811 94.153267 735.82074 93.447624 c +h +734.85443 96.730995 m +734.48151 97.490685 733.91321 97.843834 733.14935 97.790421 c +732.44476 97.74115 731.99115 97.499275 731.78845 97.064812 c +731.66925 96.809784 731.62976 96.395859 731.6698 95.823036 c +731.72162 95.082008 731.93024 94.367943 732.29584 93.680832 c +732.66138 92.993713 733.18518 92.674004 733.86713 92.721687 c +734.40808 92.759521 734.78516 93.017731 734.99841 93.496346 c +735.21167 93.974953 735.29657 94.523384 735.25336 95.141678 c +735.21106 95.746315 735.07812 96.276085 734.85443 96.730995 c +h +741.7561 94.362915 m +741.95502 95.112335 742.00598 96.180336 741.909 97.566925 c +741.83173 98.671661 741.69507 99.54837 741.4989 100.19707 c +741.13129 101.40485 740.56097 101.9817 739.78815 101.92766 c +739.01526 101.87361 738.52979 101.20466 738.33179 99.920784 c +738.22882 99.237457 738.21576 98.345711 738.29272 97.245522 c +738.36487 96.213531 738.49988 95.393814 738.69763 94.786339 c +739.0694 93.651947 739.65533 93.11274 740.45544 93.168686 c +741.12372 93.215416 741.55731 93.613495 741.7561 94.362915 c +h +742.34589 100.82507 m +742.86707 99.970665 743.16779 98.968384 743.24823 97.818192 c +743.31152 96.91349 743.23016 96.051231 743.00427 95.231392 c +742.57764 93.6894 741.70959 92.872643 740.40027 92.781082 c +739.50464 92.71846 738.73981 93.073837 738.10553 93.847237 c +737.42651 94.672333 737.03485 95.830437 736.9306 97.321594 c +736.84857 98.494514 736.98486 99.518234 737.33948 100.39275 c +737.81818 101.58205 738.63715 102.21721 739.79651 102.29828 c +740.84204 102.37139 741.69189 101.88033 742.34589 100.82507 c +h +748.73907 94.851212 m +748.93799 95.600632 748.98889 96.668625 748.89197 98.055222 c +748.8147 99.15995 748.67798 100.03667 748.48187 100.68537 c +748.11426 101.89314 747.54388 102.46999 746.77112 102.41595 c +745.99817 102.3619 745.51276 101.69296 745.31476 100.40908 c +745.21173 99.725754 745.19873 98.834 745.27563 97.733818 c +745.34784 96.701828 745.48285 95.882111 745.6806 95.274635 c +746.05231 94.140244 746.63824 93.601036 747.43842 93.656982 c +748.10669 93.703712 748.54028 94.101791 748.73907 94.851212 c +h +749.32886 101.31336 m +749.85004 100.45896 750.15076 99.456673 750.2312 98.30648 c +750.29443 97.401787 750.21307 96.539528 749.98724 95.719688 c +749.56055 94.177696 748.6925 93.360931 747.38324 93.269379 c +746.48761 93.206749 745.72278 93.562134 745.08844 94.335533 c +744.40942 95.160629 744.01782 96.318726 743.91351 97.809891 c +743.83154 98.982811 743.96783 100.00652 744.32239 100.88105 c +744.80109 102.07034 745.62012 102.70551 746.77948 102.78658 c +747.82501 102.85969 748.6748 102.36862 749.32886 101.31336 c +h +751.09753 93.659309 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +702.90002 577.20001 m +702.90002 570.20001 l +S +804.65002 67.199997 m +804.65002 74.199997 l +S +CM +837.16925 108.96335 m +837.185 108.7383 l +834.86487 99.386696 l +833.96478 99.323753 l +836.14343 107.85686 l +833.17023 107.64896 l +832.72919 107.61812 832.41724 107.52321 832.23419 107.36422 c +832.05115 107.20523 831.82806 106.88354 831.565 106.39917 c +831.31873 106.49159 l +831.56335 107.23965 831.7149 107.70138 831.77344 107.87679 c +831.83203 108.0522 831.90765 108.29389 832.00031 108.6019 c +h +843.15601 101.45349 m +843.3548 102.2029 843.40582 103.2709 843.3089 104.6575 c +843.23163 105.76223 843.09497 106.63894 842.8988 107.28765 c +842.53107 108.49541 841.96088 109.07227 841.18793 109.01822 c +840.4151 108.96418 839.92969 108.29523 839.73169 107.01136 c +839.62872 106.32803 839.61566 105.43628 839.69263 104.3361 c +839.76477 103.30411 839.89978 102.48438 840.09753 101.87691 c +840.4693 100.74252 841.05511 100.2033 841.85529 100.25925 c +842.52362 100.30599 842.95709 100.70406 843.15601 101.45349 c +h +843.74567 107.91563 m +844.26685 107.06123 844.56769 106.05895 844.64813 104.90876 c +844.71136 104.00406 844.63007 103.14181 844.40417 102.32196 c +843.97742 100.77997 843.10944 99.963211 841.80017 99.871658 c +840.90454 99.809029 840.13959 100.16441 839.50537 100.93781 c +838.82642 101.7629 838.43475 102.92101 838.33051 104.41216 c +838.24847 105.58509 838.3847 106.6088 838.73926 107.48331 c +839.21802 108.67262 840.03705 109.30779 841.19629 109.38885 c +842.24194 109.46197 843.0918 108.9709 843.74567 107.91563 c +h +850.13898 101.94179 m +850.33777 102.6912 850.38879 103.7592 850.29187 105.14579 c +850.2146 106.25053 850.07788 107.12724 849.88177 107.77595 c +849.51404 108.9837 848.94379 109.56056 848.1709 109.50652 c +847.39807 109.45248 846.91266 108.78352 846.7146 107.49966 c +846.61163 106.81632 846.59863 105.92458 846.67554 104.82439 c +846.74774 103.7924 846.88275 102.97268 847.08051 102.3652 c +847.45221 101.23081 848.03809 100.6916 848.8382 100.74755 c +849.50659 100.79429 849.94006 101.19235 850.13898 101.94179 c +h +850.72864 108.40393 m +851.24982 107.54952 851.55066 106.54725 851.6311 105.39706 c +851.69434 104.49236 851.61298 103.6301 851.38715 102.81026 c +850.96033 101.26826 850.09241 100.45151 848.78308 100.35995 c +847.88751 100.29733 847.12256 100.6527 846.48834 101.4261 c +845.80933 102.2512 845.41772 103.4093 845.31342 104.90046 c +845.23138 106.07339 845.36761 107.09709 845.72217 107.97161 c +846.20099 109.16091 847.01996 109.79607 848.17926 109.87714 c +849.22491 109.95026 850.07471 109.4592 850.72864 108.40393 c +h +852.49738 100.74987 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +804.65002 577.20001 m +804.65002 570.20001 l +S +CM +49.391197 302.32791 m +49.189964 305.20569 l +49.401367 305.22049 l +49.421803 304.99344 49.454025 304.82669 49.498028 304.72009 c +49.571743 304.51514 49.694981 304.4187 49.867741 304.43079 c +49.931385 304.43524 49.99538 304.45114 50.059708 304.47849 c +50.124043 304.50574 50.220055 304.55365 50.347763 304.62195 c +53.775391 306.46512 l +50.119259 307.4978 l +50.081936 307.50882 49.998592 307.52475 49.869228 307.54538 c +49.739876 307.56601 49.652466 307.57474 49.607006 307.57156 c +49.488804 307.56329 49.405285 307.51636 49.356449 307.43073 c +49.30761 307.34512 49.283108 307.23825 49.282921 307.11032 c +49.284065 306.89798 l +49.072662 306.88321 l +48.941525 308.75851 l +49.152927 308.77332 l +49.188683 308.58856 49.262108 308.45312 49.373188 308.36728 c +49.484268 308.28143 49.635387 308.21088 49.826553 308.1557 c +55.66404 306.40533 l +56.672092 306.1012 57.408516 305.79413 57.873341 305.48401 c +58.338169 305.17386 58.588863 304.75732 58.625423 304.23453 c +58.643227 303.97995 58.596268 303.73688 58.484543 303.50522 c +58.372837 303.27347 58.178318 303.14798 57.900993 303.1286 c +57.719147 303.11588 57.565575 303.17249 57.440266 303.29855 c +57.314964 303.42453 57.245152 303.58987 57.23085 303.79437 c +57.222584 303.91257 57.25346 304.09177 57.323467 304.33194 c +57.393475 304.57211 57.424973 304.74222 57.417976 304.84225 c +57.400177 305.09683 57.085926 305.34433 56.475208 305.5849 c +55.864487 305.8255 55.459122 305.93869 55.259083 305.92471 c +55.21817 305.92184 55.168636 305.91156 55.110489 305.89377 c +55.052349 305.87598 55.001175 305.85645 54.956985 305.83511 c +50.390629 303.32297 l +50.065025 303.14481 49.852856 302.99405 49.75412 302.87067 c +49.655399 302.74728 49.598064 302.57083 49.582142 302.34128 c +h +47.36747 311.08118 m +46.594837 311.61188 45.958118 312.25714 45.457268 313.01706 c +45.673248 313.16235 l +46.306335 312.47113 46.908894 311.98788 47.48093 311.71262 c +48.478642 311.22964 49.775341 311.04395 51.371056 311.15555 c +52.55307 311.23819 53.520908 311.41092 54.274601 311.67374 c +55.594521 312.13614 56.553013 312.89987 57.150101 313.9649 c +57.387539 313.80338 l +57.158409 313.22537 56.67561 312.58405 55.939121 311.87924 c +54.7188 310.71118 53.283512 310.06949 51.633244 309.9541 c +50.051155 309.84348 48.62925 310.21909 47.36747 311.08118 c +h +54.102482 316.92804 m +54.238407 317.17282 54.295254 317.45425 54.272999 317.77249 c +54.238667 318.26349 53.964989 318.66577 53.451935 318.97946 c +52.938904 319.29303 52.245968 319.41928 51.373089 319.35825 c +50.536591 319.29977 49.924122 319.07541 49.535702 318.68494 c +49.147263 318.29462 48.969746 317.86075 49.00312 317.38342 c +49.026646 317.04706 49.151527 316.74744 49.377766 316.48456 c +49.604012 316.22171 49.817154 316.09729 50.017185 316.11127 c +53.447289 316.35114 l +53.748158 316.49094 53.966553 316.68326 54.102482 316.92804 c +h +57.67004 314.46719 m +57.612885 314.89264 57.50296 315.15793 57.340282 315.26303 c +57.177597 315.36826 56.930328 315.40918 56.598457 315.38599 c +50.051945 314.92822 l +49.706429 314.90405 49.487755 314.84647 49.395882 314.75552 c +49.30402 314.66458 49.266201 314.50317 49.282413 314.27133 c +49.285908 314.22134 49.291439 314.17493 49.299007 314.13205 c +49.306568 314.08917 49.320038 314.02725 49.339394 313.94641 c +49.114365 313.93066 l +48.857662 314.56372 l +48.851521 314.58615 48.662735 315.03204 48.291286 315.90146 c +48.289696 315.92419 48.298737 315.94199 48.31839 315.95477 c +48.338055 315.96759 48.36153 315.97495 48.388805 315.97684 c +49.309406 316.04123 l +48.988384 316.32022 48.747173 316.56839 48.585808 316.78546 c +48.302605 317.17685 48.145912 317.58844 48.115707 318.02039 c +48.071838 318.64774 48.301174 319.2063 48.803722 319.69595 c +49.306263 320.1857 50.021244 320.46295 50.948669 320.5278 c +51.857922 320.59137 52.702042 320.37744 53.48106 319.88599 c +54.260078 319.39453 54.678356 318.7374 54.735901 317.91452 c +54.7537 317.65994 54.737297 317.43726 54.68668 317.24637 c +54.611561 316.9487 54.455288 316.6683 54.217865 316.405 c +56.447773 316.56094 l +56.90694 316.59305 57.183556 316.68777 57.277618 316.84512 c +57.3717 317.00235 57.419273 317.33469 57.420361 317.8418 c +57.659039 317.85849 l +57.895081 314.48294 l +h +44.966927 321.89114 m +44.81646 322.01776 44.73423 322.18103 44.720242 322.38104 c +44.70657 322.57657 44.764225 322.74841 44.893188 322.89676 c +45.022144 323.0451 45.186642 323.12628 45.386677 323.14029 c +45.582169 323.15396 45.754089 323.09631 45.902435 322.96735 c +46.050793 322.83838 46.131802 322.67624 46.145473 322.48071 c +46.159458 322.2807 46.101891 322.10767 45.972771 321.96149 c +45.843655 321.81543 45.681347 321.73563 45.485855 321.72195 c +45.290371 321.70828 45.117397 321.76465 44.966927 321.89114 c +h +54.159649 321.45132 m +54.080177 321.93457 53.975754 322.23563 53.846378 322.35449 c +53.716999 322.47336 53.386368 322.51419 52.854454 322.47699 c +49.601658 322.24954 l +49.30616 322.22888 49.103008 322.19412 48.992218 322.14526 c +48.810593 322.064 48.727402 321.91434 48.742664 321.69608 c +48.746159 321.64609 48.754124 321.59753 48.766556 321.55048 c +48.778988 321.50333 48.824978 321.36832 48.90451 321.14551 c +48.693119 321.13074 l +48.577141 321.41724 l +48.262375 322.19476 48.028107 322.73566 47.874329 323.04016 c +47.810883 323.16364 47.777878 323.24353 47.77533 323.27994 c +47.806519 323.29126 47.840294 323.29822 47.876667 323.30075 c +52.772911 323.64316 l +53.291183 323.67938 53.611862 323.76456 53.734962 323.89877 c +53.858051 324.03308 53.922367 324.32199 53.927906 324.76544 c +54.118851 324.77881 l +54.350594 321.46469 l +h +47.605389 327.86615 m +47.796333 327.87952 l +47.812962 327.70706 47.847073 327.56219 47.898693 327.4447 c +47.950306 327.32721 48.044308 327.27322 48.180695 327.28278 c +48.267063 327.28882 48.501865 327.42633 48.885082 327.69522 c +49.085308 327.83713 49.330875 328.01648 49.621799 328.23331 c +49.234802 328.4758 48.932129 328.65564 48.713787 328.77289 c +48.361794 328.97211 48.135792 329.06818 48.035774 329.06119 c +47.917576 329.05292 47.841354 328.99969 47.80711 328.90137 c +47.772865 328.80304 47.754974 328.66696 47.753418 328.49323 c +47.562473 328.47986 l +47.408928 330.67569 l +47.599869 330.68906 l +47.634266 330.4585 47.711876 330.24689 47.832703 330.05435 c +47.953518 329.86182 48.106876 329.71033 48.292763 329.59995 c +50.058666 328.55167 l +52.660488 330.54269 l +52.998878 330.79935 53.214718 331.01202 53.307987 331.18073 c +53.401264 331.34946 53.445145 331.53867 53.43961 331.74838 c +53.630554 331.76175 l +53.827492 328.94543 l +53.636547 328.93207 l +53.609085 329.12885 l +53.592686 329.23276 53.554737 329.31812 53.495258 329.3847 c +53.435776 329.45132 53.365112 329.48187 53.283283 329.47617 c +53.196903 329.47012 53.012012 329.37036 52.728584 329.17694 c +52.588829 329.08496 52.399658 328.94833 52.161049 328.76724 c +52.043716 328.68134 51.88126 328.5546 51.673695 328.38702 c +51.466122 328.21954 51.288712 328.078 51.141453 327.96265 c +52.929867 326.98444 l +53.143661 326.86694 53.285774 326.79459 53.356194 326.76755 c +53.426613 326.74048 53.484543 326.72861 53.53001 326.73178 c +53.61639 326.73782 53.67075 326.77701 53.693108 326.84933 c +53.71545 326.92178 53.734268 327.07727 53.749557 327.31592 c +53.940502 327.32925 l +54.081654 325.3107 l +53.890713 325.29733 l +53.823536 325.53934 53.747173 325.71677 53.661629 325.82956 c +53.576069 325.94238 53.385532 326.08664 53.09 326.26245 c +50.667145 327.6897 l +48.774296 326.24164 l +48.397217 325.95023 48.175804 325.75201 48.110062 325.64697 c +48.044315 325.54181 48.00729 325.32001 47.998997 324.98129 c +47.808052 324.96793 l +h +47.537006 336.5368 m +47.946568 337.04974 48.558224 337.33459 49.371998 337.39151 c +49.674797 333.06128 l +50.726341 333.18051 51.477947 333.47287 51.929649 333.93851 c +52.381344 334.40405 52.586533 334.93234 52.545208 335.52328 c +52.511822 336.00073 52.358665 336.39432 52.085739 336.70413 c +51.812813 337.01395 51.437065 337.2915 50.958504 337.53671 c +51.023647 337.78107 l +51.614048 337.6351 52.172623 337.32349 52.699379 336.84637 c +53.226135 336.36926 53.515411 335.76025 53.567234 335.01917 c +53.626995 334.16455 53.350399 333.4816 52.737419 332.97049 c +52.124439 332.45938 51.397442 332.17438 50.556393 332.11557 c +49.642605 332.05167 48.834923 332.26706 48.133354 332.76163 c +47.431778 333.2562 47.050632 333.93765 46.989914 334.80594 c +46.945091 335.44696 47.12746 336.0239 47.537006 336.5368 c +h +48.287094 333.30685 m +48.542767 333.17859 48.859219 333.09555 49.236458 333.05798 c +49.035225 335.93576 l +48.584099 335.854 48.25145 335.74393 48.037277 335.60553 c +47.652782 335.3548 47.478821 334.96802 47.515377 334.44522 c +47.551617 333.92697 47.808853 333.54749 48.287094 333.30685 c +h +52.965622 338.52673 m +52.895142 338.94675 52.789871 339.2272 52.649807 339.36816 c +52.509754 339.50912 52.251057 339.56644 51.873726 339.54004 c +45.211285 339.07416 l +44.911228 339.05319 44.706135 339.01367 44.595978 338.95575 c +44.411396 338.85141 44.3288 338.66071 44.34819 338.38336 c +44.352642 338.31973 44.364304 338.25089 44.383186 338.17682 c +44.402077 338.10275 44.429127 338.0098 44.464355 337.8981 c +44.239315 337.88235 l +44.032742 338.48462 43.762863 339.20816 43.429691 340.05276 c +43.427467 340.08459 43.439751 340.10489 43.466553 340.11368 c +43.493351 340.12238 43.552219 340.12991 43.643139 340.13626 c +51.819462 340.70801 l +52.214985 340.73566 52.465931 340.82178 52.572323 340.96625 c +52.678722 341.11072 52.73288 341.3978 52.734825 341.82727 c +52.92577 341.84064 l +53.156567 338.5401 l +h +51.131973 345.7377 m +51.749012 345.60272 52.337685 345.38345 52.897976 345.07999 c +53.495911 344.76093 54.063625 344.31863 54.601124 343.75327 c +54.9561 343.38062 55.208889 343.06479 55.359493 342.80576 c +55.143517 342.66043 l +54.562641 343.32343 53.98362 343.79678 53.406414 344.08081 c +52.384377 344.58496 51.066429 344.78061 49.452518 344.66772 c +48.147755 344.57651 47.090904 344.37018 46.281929 344.04868 c +45.139309 343.59866 44.267551 342.86847 43.66666 341.85788 c +43.429218 342.01953 l +43.779057 342.76575 44.336971 343.47629 45.102959 344.15118 c +46.282173 345.18845 47.644627 345.76108 49.190342 345.86917 c +49.867729 345.91653 50.514927 345.87277 51.131973 345.7377 c +h +52.580048 346.78467 m +f +479.78537 49.407963 m +479.79874 49.217022 l +479.62628 49.20039 479.48129 49.166275 479.36392 49.114658 c +479.24643 49.063049 479.19244 48.969044 479.202 48.832657 c +479.20804 48.746288 479.34555 48.51149 479.61444 48.128273 c +479.75635 47.928043 479.9357 47.682476 480.15253 47.391552 c +480.39493 47.778545 480.57486 48.081223 480.69202 48.299557 c +480.89124 48.651554 480.9874 48.87756 480.98041 48.977577 c +480.97214 49.095779 480.91879 49.171993 480.82047 49.206238 c +480.72214 49.240482 480.58615 49.258381 480.41245 49.259933 c +480.39908 49.450878 l +482.59491 49.604427 l +482.60828 49.413483 l +482.37772 49.379086 482.16611 49.301476 481.97357 49.180649 c +481.78091 49.05983 481.62955 48.906475 481.51917 48.720592 c +480.47089 46.954685 l +482.46191 44.352867 l +482.71857 44.014473 482.93124 43.798634 483.09995 43.705364 c +483.26855 43.61208 483.45789 43.568211 483.6676 43.573742 c +483.68097 43.382801 l +480.86453 43.185856 l +480.8512 43.376801 l +481.04807 43.40427 l +481.15195 43.420666 481.23721 43.458607 481.30392 43.518097 c +481.37054 43.577576 481.401 43.648232 481.39526 43.730064 c +481.38922 43.816441 481.28949 44.001335 481.09616 44.284767 c +481.00409 44.424515 480.86755 44.613693 480.68637 44.852295 c +480.60056 44.969639 480.47382 45.132092 480.30624 45.339657 c +480.13864 45.547222 479.99722 45.72464 479.88187 45.871902 c +478.90366 44.083488 l +478.78607 43.869686 478.71381 43.727577 478.68677 43.657158 c +478.6597 43.586742 478.64771 43.528805 478.65091 43.483334 c +478.65695 43.396954 478.69623 43.342602 478.76855 43.320244 c +478.84088 43.297897 478.99649 43.279083 479.23505 43.263786 c +479.24838 43.072842 l +477.22992 42.931698 l +477.21655 43.122643 l +477.45856 43.189816 477.63599 43.266178 477.74878 43.351727 c +477.86157 43.437283 478.00586 43.627819 478.18155 43.923347 c +479.60883 46.346199 l +478.16077 48.239048 l +477.86945 48.616135 477.67123 48.837547 477.56607 48.903282 c +477.46103 48.969036 477.23911 49.006058 476.90051 49.014359 c +476.88715 49.205299 l +h +485.49716 51.219009 m +486.02786 51.991642 486.67322 52.628368 487.43301 53.129211 c +487.57834 52.913231 l +486.88712 52.280144 486.40387 51.677586 486.12872 51.105556 c +485.64563 50.107838 485.45993 48.811138 485.57153 47.215424 c +485.65417 46.033409 485.8269 45.065571 486.08981 44.311886 c +486.55212 42.991959 487.31586 42.03347 488.38089 41.436378 c +488.21936 41.198944 l +487.64136 41.428066 487.00003 41.91087 486.29523 42.647362 c +485.12717 43.867683 484.48547 45.302967 484.37009 46.953236 c +484.25946 48.535324 484.63519 49.957237 485.49716 51.219009 c +h +491.34402 44.483997 m +491.58881 44.348072 491.87024 44.291229 492.18848 44.31348 c +492.67947 44.347813 493.08176 44.621494 493.39545 45.134544 c +493.70901 45.647575 493.83527 46.340515 493.77423 47.21339 c +493.71576 48.049889 493.49136 48.662361 493.10104 49.050785 c +492.71069 49.439224 492.27686 49.616745 491.79941 49.583359 c +491.46304 49.559837 491.16342 49.434952 490.90054 49.208714 c +490.6377 48.982468 490.51328 48.769329 490.52725 48.569298 c +490.76709 45.139191 l +490.90692 44.838322 491.09924 44.619926 491.34402 44.483997 c +h +488.88327 40.916447 m +489.30872 40.973606 489.57401 41.083523 489.67911 41.246201 c +489.78421 41.408878 489.82516 41.656151 489.80197 41.988022 c +489.34418 48.534534 l +489.32004 48.880051 489.26245 49.098728 489.17151 49.190598 c +489.08057 49.282459 488.91916 49.320278 488.68732 49.30407 c +488.63733 49.300575 488.59091 49.29504 488.54803 49.287472 c +488.50516 49.279911 488.44324 49.266441 488.3624 49.247086 c +488.34665 49.472115 l +488.97971 49.728817 l +489.00214 49.734959 489.44803 49.923744 490.31744 50.295197 c +490.34018 50.296787 490.35797 50.287743 490.37076 50.268089 c +490.38358 50.248425 490.39093 50.224949 490.39282 50.197678 c +490.45721 49.277073 l +490.7363 49.598103 490.98438 49.839306 491.20154 50.000679 c +491.59283 50.283875 492.00452 50.440575 492.43637 50.470772 c +493.06372 50.514641 493.62228 50.285305 494.11194 49.782757 c +494.60168 49.280216 494.87894 48.565235 494.94379 47.63781 c +495.00735 46.728558 494.79343 45.884438 494.30197 45.105419 c +493.81052 44.326401 493.15338 43.908123 492.33051 43.850578 c +492.07593 43.832779 491.85324 43.849186 491.66235 43.899803 c +491.36478 43.974926 491.08429 44.131191 490.82098 44.368614 c +490.97693 42.13871 l +491.00903 41.679539 491.10376 41.402927 491.26111 41.308857 c +491.41846 41.214783 491.75067 41.167206 492.25787 41.166126 c +492.27457 40.927452 l +488.89902 40.69141 l +h +496.30725 53.61956 m +496.43375 53.770023 496.59702 53.852249 496.79703 53.866238 c +496.99255 53.87991 497.16449 53.822262 497.31284 53.693298 c +497.46121 53.564342 497.54239 53.399845 497.55637 53.19981 c +497.57004 53.004318 497.51239 52.832397 497.38342 52.684052 c +497.25446 52.535694 497.09222 52.454678 496.8967 52.441006 c +496.69669 52.427021 496.52365 52.484589 496.37756 52.613716 c +496.23141 52.742825 496.15161 52.905132 496.13794 53.100624 c +496.12427 53.296108 496.18063 53.469082 496.30725 53.61956 c +h +495.86731 44.42683 m +496.35056 44.506302 496.65161 44.610725 496.77048 44.740105 c +496.88934 44.86948 496.93018 45.200115 496.89297 45.732025 c +496.66553 48.984821 l +496.64487 49.280319 496.61011 49.483471 496.56125 49.594265 c +496.48007 49.775894 496.33032 49.859077 496.11215 49.843822 c +496.06207 49.840321 496.01352 49.832355 495.96646 49.819923 c +495.91931 49.807495 495.78439 49.761509 495.56149 49.681969 c +495.54672 49.89336 l +495.83331 50.009346 l +496.61075 50.324104 497.15173 50.55838 497.45615 50.712151 c +497.57962 50.7756 497.65961 50.808609 497.69592 50.81115 c +497.70724 50.779961 497.7142 50.746185 497.71674 50.709816 c +498.05911 45.813572 l +498.09537 45.295296 498.18054 44.974617 498.31485 44.851524 c +498.44907 44.728428 498.73798 44.664112 499.18143 44.658573 c +499.19479 44.467632 l +495.88068 44.235886 l +h +502.28214 50.981091 m +502.2955 50.790146 l +502.12314 50.773525 501.97815 50.739407 501.86069 50.687786 c +501.74319 50.636177 501.68933 50.542179 501.69885 50.405792 c +501.7049 50.319424 501.84232 50.084618 502.1113 49.701405 c +502.2532 49.501179 502.43259 49.255611 502.64929 48.96468 c +502.89178 49.351677 503.07162 49.65435 503.18887 49.872692 c +503.38809 50.224686 503.48416 50.450687 503.47717 50.550705 c +503.4689 50.668907 503.41568 50.745129 503.31735 50.779369 c +503.21902 50.813614 503.08292 50.831505 502.9093 50.833069 c +502.89594 51.024014 l +505.09167 51.177555 l +505.10504 50.98661 l +504.87448 50.952213 504.66287 50.874603 504.47034 50.753777 c +504.2778 50.632961 504.12631 50.479603 504.01602 50.293724 c +502.96765 48.527813 l +504.95868 45.925995 l +505.21533 45.587601 505.42801 45.371761 505.59671 45.278492 c +505.76544 45.185215 505.95465 45.141338 506.16437 45.14687 c +506.17773 44.955925 l +503.36142 44.758991 l +503.34805 44.949932 l +503.54483 44.977394 l +503.64883 44.993801 503.7341 45.031742 503.80069 45.091221 c +503.8674 45.150711 503.89786 45.221367 503.89215 45.303196 c +503.88611 45.389576 503.78635 45.574471 503.59293 45.857895 c +503.50095 45.99765 503.36432 46.186821 503.18323 46.42543 c +503.09732 46.542763 502.97058 46.705219 502.8031 46.912792 c +502.63553 47.120358 502.49411 47.297775 502.37863 47.44503 c +501.40051 45.65662 l +501.28293 45.442818 501.21066 45.300713 501.18362 45.230293 c +501.15659 45.159874 501.14459 45.101936 501.14777 45.056469 c +501.15381 44.970089 501.19299 44.91573 501.26541 44.893379 c +501.33777 44.871029 501.49326 44.852211 501.7319 44.836922 c +501.74524 44.645977 l +499.72678 44.504833 l +499.71344 44.695774 l +499.95532 44.762943 500.13275 44.839306 500.24554 44.924854 c +500.35834 45.01041 500.50262 45.200947 500.67844 45.496483 c +502.10568 47.919334 l +500.65762 49.812183 l +500.3663 50.18927 500.16809 50.410683 500.06296 50.476418 c +499.95779 50.542164 499.73599 50.579189 499.39737 50.58749 c +499.38403 50.778435 l +h +510.95279 51.049473 m +511.46573 50.639912 511.75058 50.028255 511.8075 49.214481 c +507.47726 48.911682 l +507.5965 47.860138 507.88882 47.108532 508.35449 46.656834 c +508.82004 46.205135 509.34833 45.99995 509.93939 46.041279 c +510.41672 46.074657 510.8103 46.227818 511.12012 46.500744 c +511.43002 46.773674 511.70749 47.149418 511.9527 47.627975 c +512.19714 47.56284 l +512.05109 46.972431 511.73956 46.413864 511.26245 45.887108 c +510.78534 45.360352 510.17624 45.071068 509.43524 45.019253 c +508.58054 44.959488 507.89758 45.23608 507.38647 45.84906 c +506.87537 46.46204 506.59036 47.189041 506.53156 48.030087 c +506.46765 48.943874 506.68304 49.751556 507.17761 50.453125 c +507.67215 51.154701 508.35364 51.535847 509.22192 51.596565 c +509.86295 51.641392 510.43997 51.459026 510.95279 51.049473 c +h +507.72284 50.299385 m +507.59457 50.043713 507.51166 49.727268 507.47406 49.350029 c +510.35175 49.551254 l +510.26999 50.00238 510.15991 50.335033 510.02164 50.54921 c +509.7709 50.933704 509.38412 51.107666 508.8613 51.07111 c +508.34296 51.034863 507.96356 50.777634 507.72284 50.299385 c +h +512.94281 45.620865 m +513.36273 45.691338 513.64319 45.796608 513.78412 45.936672 c +513.92511 46.076729 513.98242 46.335423 513.95605 46.712753 c +513.49011 53.375195 l +513.46918 53.675251 513.42969 53.880344 513.3717 53.990501 c +513.2674 54.175083 513.07666 54.257683 512.79938 54.238289 c +512.73572 54.233837 512.66687 54.222176 512.59277 54.203285 c +512.51874 54.184402 512.42578 54.157352 512.31409 54.122124 c +512.29834 54.347164 l +512.90057 54.553741 513.62415 54.82362 514.46887 55.156796 c +514.50067 55.159019 514.52087 55.146729 514.52966 55.119926 c +514.53833 55.093128 514.5459 55.03426 514.55225 54.94334 c +515.12396 46.767017 l +515.15167 46.371494 515.23773 46.120548 515.3822 46.014156 c +515.52673 45.907757 515.81378 45.8536 516.24335 45.851662 c +516.25671 45.660717 l +512.95618 45.42992 l +h +520.15381 47.454514 m +520.01868 46.837467 519.7995 46.248802 519.49609 45.688511 c +519.17688 45.090572 518.73462 44.522858 518.16925 43.985359 c +517.79657 43.630379 517.48077 43.377586 517.22174 43.22699 c +517.07654 43.44297 l +517.73944 44.023838 518.21289 44.602867 518.49683 45.180069 c +519.00104 46.20211 519.19666 47.520058 519.0838 49.133968 c +518.99255 50.438732 518.78613 51.495575 518.46466 52.30455 c +518.01465 53.44717 517.28442 54.318932 516.27399 54.919827 c +516.43549 55.157261 l +517.1817 54.807423 517.8924 54.249519 518.56726 53.483528 c +519.60443 52.304306 520.17719 50.94186 520.28528 49.396145 c +520.33264 48.718758 520.28876 48.071552 520.15381 47.454514 c +h +521.20062 46.006432 m +f +0.99756408 0.069756471 -0.069756471 0.99756408 42.211494 0.76409888 cm +92.400002 577.20001 m +92.400002 67.199997 l +825 67.199997 l +825 577.20001 l +92.400002 577.20001 l +h +92.400002 577.20001 m +S +1 0 0 sc +625.54999 168.14999 m +625.54999 168.14999 l +623.54999 172.39999 l +621.5 175.60001 l +620.5 178.75 l +618.45001 181.95 l +617.45001 186.2 l +616.40002 189.39999 l +614.40002 193.64999 l +613.34998 196.85001 l +612.34998 200 l +611.34998 204.25 l +610.29999 207.45 l +608.25 211.7 l +607.25 214.89999 l +605.20001 219.14999 l +602.15002 223.39999 l +599.09998 228.7 l +596.04999 232.95 l +593 237.2 l +589.95001 242.5 l +586.90002 246.75 l +583.84998 252.10001 l +580.79999 257.39999 l +578.75 261.64999 l +576.75 265.89999 l +575.70001 270.14999 l +574.70001 274.39999 l +572.65002 278.64999 l +571.65002 283.95001 l +570.65002 288.20001 l +569.59998 291.39999 l +568.59998 296.70001 l +566.54999 302 l +565.54999 306.25 l +565.54999 307.35001 l +566.54999 307.35001 l +566.54999 308.39999 l +566.54999 309.45001 l +566.54999 312.64999 l +567.54999 310.5 l +565.54999 312.64999 l +565.54999 313.70001 l +568.59998 313.70001 l +567.54999 314.75 l +563.5 313.70001 l +566.54999 314.75 l +566.54999 314.75 l +562.5 314.75 l +562.5 314.75 l +562.5 314.75 l +559.45001 314.75 l +555.34998 314.75 l +552.29999 315.85001 l +549.25 315.85001 l +547.20001 315.85001 l +544.15002 316.89999 l +542.15002 316.89999 l +539.09998 316.89999 l +537.04999 316.89999 l +534 316.89999 l +531.95001 316.89999 l +529.95001 317.95001 l +527.90002 317.95001 l +S +527.90002 317.95001 m +524.84998 317.95001 l +521.79999 317.95001 l +519.75 317.95001 l +515.70001 317.95001 l +512.65002 316.89999 l +507.54999 316.89999 l +503.45001 315.85001 l +500.39999 315.85001 l +494.29999 312.64999 l +491.25 310.5 l +486.14999 309.45001 l +482.10001 306.25 l +477 304.14999 l +471.95001 300.95001 l +467.85001 297.75 l +463.79999 293.5 l +460.75 290.35001 l +457.70001 287.14999 l +453.60001 283.95001 l +450.54999 281.85001 l +446.5 278.64999 l +443.45001 275.45001 l +440.39999 274.39999 l +436.29999 272.25 l +432.25 271.20001 l +428.20001 269.10001 l +424.10001 268 l +419 265.89999 l +414.95001 264.85001 l +411.89999 262.70001 l +406.79999 261.64999 l +400.70001 258.45001 l +397.64999 256.35001 l +392.54999 253.14999 l +388.5 249.95 l +384.39999 246.75 l +381.35001 243.60001 l +377.29999 240.39999 l +373.25 237.2 l +S +0 0 0 sc +92.400002 577.20001 m +92.400002 67.199997 l +825 67.199997 l +825 577.20001 l +92.400002 577.20001 l +h +92.400002 577.20001 m +S +Q +0 i +/Cs3 SC +0.64349812 0.64019811 0.64679807 sc +q +0 0 886 652 rc +110.60001 371.39999 m +843 371.39999 l +843 355.89999 l +110.60001 355.89999 l +h +110.60001 371.39999 m +f +1 J +1 j +0.60000002 i +/Cs1 SC +0 0 0 sc +1 0 0 -1 -423 1152 cm +533.60004 780.60004 m +1266 780.60004 l +1266 796.10004 l +533.60004 796.10004 l +h +533.60004 780.60004 m +S +ep +end diff -r 000000000000 -r a5facba1adbc Paper/pic/MetaGear.graffle Binary file Paper/pic/MetaGear.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/MetaGear.pdf Binary file Paper/pic/MetaGear.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/cbc_goto.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/cbc_goto.graffle Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,1037 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle6</string> + <string>167.2.0.244490</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2011-11-12 11:03:25 +0000</string> + <key>Creator</key> + <string>Nobuyasu Oshiro</string> + <key>DisplayScale</key> + <string>1 in = 1.00000 in</string> + <key>GraphDocumentVersion</key> + <integer>12</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{315.5, 89.625}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>32</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{315.5, 171}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>31</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{190.20312000000001, 167}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>30</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{405.93358999999998, 125}, {54, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>29</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>28</integer> + <key>Points</key> + <array> + <string>{412.93358999999998, 143.02043}</string> + <string>{462.43358999999998, 143}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{90, 126}, {54, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>27</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{252, 134.3125}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>26</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>23</integer> + <key>Points</key> + <array> + <string>{97, 144.03550999999999}</string> + <string>{146.49998746293761, 144.0150711098278}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>5</integer> + </dict> + <key>ID</key> + <integer>11</integer> + <key>Points</key> + <array> + <string>{307.06832644961662, 99.005708590904717}</string> + <string>{348.41386755785959, 126.00973315833174}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>1</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>5</integer> + </dict> + <key>ID</key> + <integer>38</integer> + <key>Points</key> + <array> + <string>{307.26186045457405, 188.16336426740673}</string> + <string>{348.23813954515032, 161.83663573235037}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + <key>ID</key> + <integer>37</integer> + <key>Points</key> + <array> + <string>{210.76185637532367, 161.83663311602177}</string> + <string>{251.73814361460188, 188.16336689285151}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>1</integer> + </dict> + <key>ID</key> + <integer>8</integer> + <key>Points</key> + <array> + <string>{210.56036004631343, 125.98738390291257}</string> + <string>{251.89396917594394, 98.972989609515338}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + <key>ID</key> + <integer>36</integer> + <key>Points</key> + <array> + <string>{293.55569627859614, 106.37834050302079}</string> + <string>{315.5, 146}</string> + <string>{294.53436892560063, 180.94271845733229}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>1</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>1</integer> + </dict> + <key>ID</key> + <integer>35</integer> + <key>Points</key> + <array> + <string>{263.99039783562887, 181.10804590903402}</string> + <string>{239, 141}</string> + <string>{262.95578718585557, 105.50994490984354}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{340, 117}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>5</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment\ +D}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{243.5, 179}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>34</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment\ +C}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{147, 117}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>3</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment A}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{243.5, 54}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 code segment\ +B}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{197.56640999999999, 98.625}, {45.933593999999999, 18.375}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>25</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199, 0.26006298999999999}</string> + <string>{0.50711799000000002, -0.22408600000000001}</string> + <string>{0.50711799000000002, 0.26717900999999999}</string> + <string>{-0.27430999, -0.47402799000000001}</string> + <string>{0.27977999999999997, -0.47847801000000001}</string> + <string>{0.29393801000000003, 0.54304397000000004}</string> + <string>{-0.28623198999999999, 0.55380397999999997}</string> + </array> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 goto}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoLineLength</key> + <real>0.20000000298023224</real> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2015-10-27 21:38:00 +0000</string> + <key>Modifier</key> + <string>Tatsuki IHA</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>Expanded_Canvases</key> + <array/> + <key>Frame</key> + <string>{{4, -0}, {1913, 983}}</string> + <key>ShowInfo</key> + <true/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>200</integer> + <key>TopSlabHeight</key> + <real>250</real> + <key>VisibleRegion</key> + <string>{{-420, -21}, {1399, 826}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist> diff -r 000000000000 -r a5facba1adbc Paper/pic/cbc_goto.pdf Binary file Paper/pic/cbc_goto.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/codeGear_dataGear.graffle Binary file Paper/pic/codeGear_dataGear.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/codeGear_dataGear.pdf Binary file Paper/pic/codeGear_dataGear.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/codeGear_dataGear.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/codeGear_dataGear.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,201 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="535pt" height="427pt" viewBox="0 0 535 427" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 0.390625 0 L 0.390625 -8.609375 L 7.21875 -8.609375 L 7.21875 0 Z M 6.140625 -1.078125 L 6.140625 -7.53125 L 1.46875 -7.53125 L 1.46875 -1.078125 Z M 6.140625 -1.078125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 4.546875 -8.84375 C 5.628906 -8.84375 6.472656 -8.554688 7.078125 -7.984375 C 7.679688 -7.410156 8.015625 -6.757812 8.078125 -6.03125 L 6.9375 -6.03125 C 6.8125 -6.582031 6.554688 -7.019531 6.171875 -7.34375 C 5.785156 -7.664062 5.242188 -7.828125 4.546875 -7.828125 C 3.703125 -7.828125 3.019531 -7.53125 2.5 -6.9375 C 1.976562 -6.34375 1.71875 -5.429688 1.71875 -4.203125 C 1.71875 -3.191406 1.953125 -2.367188 2.421875 -1.734375 C 2.890625 -1.109375 3.59375 -0.796875 4.53125 -0.796875 C 5.382812 -0.796875 6.039062 -1.128906 6.5 -1.796875 C 6.726562 -2.140625 6.90625 -2.597656 7.03125 -3.171875 L 8.15625 -3.171875 C 8.0625 -2.265625 7.726562 -1.503906 7.15625 -0.890625 C 6.46875 -0.148438 5.546875 0.21875 4.390625 0.21875 C 3.390625 0.21875 2.550781 -0.0820312 1.875 -0.6875 C 0.976562 -1.488281 0.53125 -2.722656 0.53125 -4.390625 C 0.53125 -5.660156 0.863281 -6.703125 1.53125 -7.515625 C 2.257812 -8.398438 3.265625 -8.84375 4.546875 -8.84375 Z M 4.3125 -8.84375 Z M 4.3125 -8.84375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 3.265625 -0.6875 C 3.960938 -0.6875 4.441406 -0.945312 4.703125 -1.46875 C 4.960938 -2 5.09375 -2.585938 5.09375 -3.234375 C 5.09375 -3.828125 5 -4.304688 4.8125 -4.671875 C 4.507812 -5.242188 4 -5.53125 3.28125 -5.53125 C 2.632812 -5.53125 2.164062 -5.285156 1.875 -4.796875 C 1.582031 -4.304688 1.4375 -3.710938 1.4375 -3.015625 C 1.4375 -2.347656 1.582031 -1.789062 1.875 -1.34375 C 2.164062 -0.90625 2.628906 -0.6875 3.265625 -0.6875 Z M 3.3125 -6.453125 C 4.113281 -6.453125 4.789062 -6.179688 5.34375 -5.640625 C 5.90625 -5.109375 6.1875 -4.316406 6.1875 -3.265625 C 6.1875 -2.253906 5.941406 -1.414062 5.453125 -0.75 C 4.960938 -0.09375 4.203125 0.234375 3.171875 0.234375 C 2.304688 0.234375 1.617188 -0.0546875 1.109375 -0.640625 C 0.597656 -1.234375 0.34375 -2.019531 0.34375 -3 C 0.34375 -4.050781 0.609375 -4.890625 1.140625 -5.515625 C 1.679688 -6.140625 2.40625 -6.453125 3.3125 -6.453125 Z M 3.265625 -6.421875 Z M 3.265625 -6.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 1.4375 -3.0625 C 1.4375 -2.394531 1.578125 -1.832031 1.859375 -1.375 C 2.148438 -0.925781 2.609375 -0.703125 3.234375 -0.703125 C 3.722656 -0.703125 4.125 -0.910156 4.4375 -1.328125 C 4.757812 -1.742188 4.921875 -2.347656 4.921875 -3.140625 C 4.921875 -3.929688 4.753906 -4.515625 4.421875 -4.890625 C 4.097656 -5.273438 3.703125 -5.46875 3.234375 -5.46875 C 2.703125 -5.46875 2.269531 -5.265625 1.9375 -4.859375 C 1.601562 -4.453125 1.4375 -3.851562 1.4375 -3.0625 Z M 3.03125 -6.390625 C 3.507812 -6.390625 3.910156 -6.285156 4.234375 -6.078125 C 4.421875 -5.960938 4.632812 -5.757812 4.875 -5.46875 L 4.875 -8.640625 L 5.890625 -8.640625 L 5.890625 0 L 4.9375 0 L 4.9375 -0.875 C 4.695312 -0.488281 4.40625 -0.207031 4.0625 -0.03125 C 3.726562 0.132812 3.34375 0.21875 2.90625 0.21875 C 2.207031 0.21875 1.601562 -0.0703125 1.09375 -0.65625 C 0.582031 -1.25 0.328125 -2.03125 0.328125 -3 C 0.328125 -3.914062 0.5625 -4.707031 1.03125 -5.375 C 1.5 -6.050781 2.164062 -6.390625 3.03125 -6.390625 Z M 3.03125 -6.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 3.390625 -6.421875 C 3.835938 -6.421875 4.269531 -6.316406 4.6875 -6.109375 C 5.101562 -5.898438 5.421875 -5.628906 5.640625 -5.296875 C 5.847656 -4.972656 5.988281 -4.601562 6.0625 -4.1875 C 6.125 -3.894531 6.15625 -3.429688 6.15625 -2.796875 L 1.546875 -2.796875 C 1.566406 -2.160156 1.71875 -1.648438 2 -1.265625 C 2.28125 -0.878906 2.71875 -0.6875 3.3125 -0.6875 C 3.863281 -0.6875 4.300781 -0.867188 4.625 -1.234375 C 4.8125 -1.441406 4.945312 -1.6875 5.03125 -1.96875 L 6.0625 -1.96875 C 6.039062 -1.738281 5.953125 -1.484375 5.796875 -1.203125 C 5.640625 -0.921875 5.46875 -0.6875 5.28125 -0.5 C 4.957031 -0.1875 4.554688 0.0195312 4.078125 0.125 C 3.828125 0.1875 3.539062 0.21875 3.21875 0.21875 C 2.4375 0.21875 1.773438 -0.0625 1.234375 -0.625 C 0.691406 -1.195312 0.421875 -1.992188 0.421875 -3.015625 C 0.421875 -4.023438 0.691406 -4.84375 1.234375 -5.46875 C 1.785156 -6.101562 2.503906 -6.421875 3.390625 -6.421875 Z M 5.0625 -3.640625 C 5.019531 -4.097656 4.921875 -4.460938 4.765625 -4.734375 C 4.484375 -5.242188 4.003906 -5.5 3.328125 -5.5 C 2.835938 -5.5 2.425781 -5.320312 2.09375 -4.96875 C 1.769531 -4.625 1.597656 -4.179688 1.578125 -3.640625 Z M 3.28125 -6.421875 Z M 3.28125 -6.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 4.640625 -8.828125 C 5.441406 -8.828125 6.140625 -8.671875 6.734375 -8.359375 C 7.585938 -7.910156 8.109375 -7.125 8.296875 -6 L 7.15625 -6 C 7.007812 -6.625 6.710938 -7.082031 6.265625 -7.375 C 5.828125 -7.664062 5.273438 -7.8125 4.609375 -7.8125 C 3.804688 -7.8125 3.132812 -7.507812 2.59375 -6.90625 C 2.050781 -6.3125 1.78125 -5.421875 1.78125 -4.234375 C 1.78125 -3.210938 2.003906 -2.378906 2.453125 -1.734375 C 2.898438 -1.097656 3.628906 -0.78125 4.640625 -0.78125 C 5.421875 -0.78125 6.066406 -1.003906 6.578125 -1.453125 C 7.085938 -1.898438 7.347656 -2.628906 7.359375 -3.640625 L 4.671875 -3.640625 L 4.671875 -4.609375 L 8.4375 -4.609375 L 8.4375 0 L 7.6875 0 L 7.40625 -1.109375 C 7.019531 -0.671875 6.671875 -0.367188 6.359375 -0.203125 C 5.847656 0.0859375 5.195312 0.234375 4.40625 0.234375 C 3.394531 0.234375 2.519531 -0.0976562 1.78125 -0.765625 C 0.976562 -1.585938 0.578125 -2.722656 0.578125 -4.171875 C 0.578125 -5.609375 0.96875 -6.753906 1.75 -7.609375 C 2.488281 -8.421875 3.453125 -8.828125 4.640625 -8.828125 Z M 4.4375 -8.84375 Z M 4.4375 -8.84375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 1.578125 -1.671875 C 1.578125 -1.367188 1.6875 -1.128906 1.90625 -0.953125 C 2.132812 -0.773438 2.398438 -0.6875 2.703125 -0.6875 C 3.078125 -0.6875 3.4375 -0.769531 3.78125 -0.9375 C 4.375 -1.226562 4.671875 -1.695312 4.671875 -2.34375 L 4.671875 -3.1875 C 4.535156 -3.113281 4.363281 -3.046875 4.15625 -2.984375 C 3.957031 -2.929688 3.757812 -2.894531 3.5625 -2.875 L 2.9375 -2.796875 C 2.550781 -2.742188 2.257812 -2.660156 2.0625 -2.546875 C 1.738281 -2.367188 1.578125 -2.078125 1.578125 -1.671875 Z M 4.140625 -3.796875 C 4.378906 -3.828125 4.539062 -3.929688 4.625 -4.109375 C 4.664062 -4.203125 4.6875 -4.335938 4.6875 -4.515625 C 4.6875 -4.867188 4.554688 -5.125 4.296875 -5.28125 C 4.046875 -5.445312 3.6875 -5.53125 3.21875 -5.53125 C 2.664062 -5.53125 2.273438 -5.382812 2.046875 -5.09375 C 1.910156 -4.925781 1.820312 -4.679688 1.78125 -4.359375 L 0.796875 -4.359375 C 0.816406 -5.128906 1.066406 -5.664062 1.546875 -5.96875 C 2.035156 -6.269531 2.597656 -6.421875 3.234375 -6.421875 C 3.972656 -6.421875 4.570312 -6.28125 5.03125 -6 C 5.488281 -5.71875 5.71875 -5.28125 5.71875 -4.6875 L 5.71875 -1.078125 C 5.71875 -0.972656 5.738281 -0.882812 5.78125 -0.8125 C 5.832031 -0.75 5.929688 -0.71875 6.078125 -0.71875 C 6.117188 -0.71875 6.164062 -0.71875 6.21875 -0.71875 C 6.28125 -0.726562 6.347656 -0.738281 6.421875 -0.75 L 6.421875 0.03125 C 6.253906 0.0703125 6.125 0.0976562 6.03125 0.109375 C 5.945312 0.128906 5.832031 0.140625 5.6875 0.140625 C 5.320312 0.140625 5.0625 0.0078125 4.90625 -0.25 C 4.8125 -0.382812 4.75 -0.578125 4.71875 -0.828125 C 4.5 -0.546875 4.1875 -0.300781 3.78125 -0.09375 C 3.382812 0.113281 2.945312 0.21875 2.46875 0.21875 C 1.882812 0.21875 1.40625 0.0390625 1.03125 -0.3125 C 0.664062 -0.664062 0.484375 -1.109375 0.484375 -1.640625 C 0.484375 -2.222656 0.664062 -2.675781 1.03125 -3 C 1.394531 -3.320312 1.867188 -3.519531 2.453125 -3.59375 Z M 3.265625 -6.421875 Z M 3.265625 -6.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 0.796875 -6.28125 L 1.8125 -6.28125 L 1.8125 -5.1875 C 1.882812 -5.40625 2.082031 -5.664062 2.40625 -5.96875 C 2.726562 -6.269531 3.097656 -6.421875 3.515625 -6.421875 C 3.535156 -6.421875 3.566406 -6.414062 3.609375 -6.40625 C 3.660156 -6.40625 3.742188 -6.398438 3.859375 -6.390625 L 3.859375 -5.28125 C 3.796875 -5.289062 3.738281 -5.296875 3.6875 -5.296875 C 3.632812 -5.296875 3.578125 -5.296875 3.515625 -5.296875 C 2.984375 -5.296875 2.570312 -5.125 2.28125 -4.78125 C 2 -4.445312 1.859375 -4.054688 1.859375 -3.609375 L 1.859375 0 L 0.796875 0 Z M 0.796875 -6.28125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 4.21875 -1 C 4.613281 -1 4.9375 -1.039062 5.1875 -1.125 C 5.644531 -1.269531 6.019531 -1.5625 6.3125 -2 C 6.539062 -2.34375 6.703125 -2.785156 6.796875 -3.328125 C 6.859375 -3.660156 6.890625 -3.960938 6.890625 -4.234375 C 6.890625 -5.304688 6.675781 -6.132812 6.25 -6.71875 C 5.832031 -7.3125 5.148438 -7.609375 4.203125 -7.609375 L 2.140625 -7.609375 L 2.140625 -1 Z M 0.96875 -8.609375 L 4.453125 -8.609375 C 5.640625 -8.609375 6.554688 -8.1875 7.203125 -7.34375 C 7.785156 -6.59375 8.078125 -5.625 8.078125 -4.4375 C 8.078125 -3.519531 7.90625 -2.691406 7.5625 -1.953125 C 6.957031 -0.648438 5.914062 0 4.4375 0 L 0.96875 0 Z M 0.96875 -8.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 0.984375 -8.03125 L 2.046875 -8.03125 L 2.046875 -6.28125 L 3.046875 -6.28125 L 3.046875 -5.421875 L 2.046875 -5.421875 L 2.046875 -1.3125 C 2.046875 -1.09375 2.125 -0.945312 2.28125 -0.875 C 2.351562 -0.832031 2.488281 -0.8125 2.6875 -0.8125 C 2.738281 -0.8125 2.789062 -0.8125 2.84375 -0.8125 C 2.90625 -0.820312 2.972656 -0.828125 3.046875 -0.828125 L 3.046875 0 C 2.929688 0.03125 2.804688 0.0507812 2.671875 0.0625 C 2.546875 0.0820312 2.40625 0.09375 2.25 0.09375 C 1.757812 0.09375 1.425781 -0.03125 1.25 -0.28125 C 1.070312 -0.53125 0.984375 -0.859375 0.984375 -1.265625 L 0.984375 -5.421875 L 0.140625 -5.421875 L 0.140625 -6.28125 L 0.984375 -6.28125 Z M 0.984375 -8.03125 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 1.3125 -11.421875 L 1.3125 0 L 2.828125 0 L 2.828125 -11.421875 Z M 1.3125 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -4.671875 C 2.390625 -5.046875 2.4375 -5.390625 2.53125 -5.703125 C 2.632812 -6.015625 2.785156 -6.285156 2.984375 -6.515625 C 3.191406 -6.753906 3.445312 -6.9375 3.75 -7.0625 C 4.050781 -7.195312 4.410156 -7.265625 4.828125 -7.265625 C 5.347656 -7.265625 5.757812 -7.113281 6.0625 -6.8125 C 6.363281 -6.519531 6.515625 -6.113281 6.515625 -5.59375 L 6.515625 0 L 7.875 0 L 7.875 -5.4375 C 7.875 -5.882812 7.828125 -6.289062 7.734375 -6.65625 C 7.640625 -7.03125 7.476562 -7.347656 7.25 -7.609375 C 7.03125 -7.878906 6.738281 -8.085938 6.375 -8.234375 C 6.019531 -8.390625 5.570312 -8.46875 5.03125 -8.46875 C 3.800781 -8.46875 2.90625 -7.960938 2.34375 -6.953125 L 2.296875 -6.953125 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M 1.078125 -8.265625 L 1.078125 3.15625 L 2.4375 3.15625 L 2.4375 -1.109375 L 2.46875 -1.109375 C 2.613281 -0.859375 2.796875 -0.648438 3.015625 -0.484375 C 3.234375 -0.316406 3.460938 -0.1875 3.703125 -0.09375 C 3.953125 0 4.203125 0.0664062 4.453125 0.109375 C 4.703125 0.148438 4.929688 0.171875 5.140625 0.171875 C 5.765625 0.171875 6.3125 0.0625 6.78125 -0.15625 C 7.257812 -0.382812 7.65625 -0.691406 7.96875 -1.078125 C 8.289062 -1.460938 8.523438 -1.914062 8.671875 -2.4375 C 8.828125 -2.96875 8.90625 -3.523438 8.90625 -4.109375 C 8.90625 -4.691406 8.828125 -5.242188 8.671875 -5.765625 C 8.515625 -6.296875 8.273438 -6.757812 7.953125 -7.15625 C 7.640625 -7.5625 7.242188 -7.878906 6.765625 -8.109375 C 6.296875 -8.347656 5.742188 -8.46875 5.109375 -8.46875 C 4.523438 -8.46875 3.992188 -8.363281 3.515625 -8.15625 C 3.035156 -7.945312 2.6875 -7.613281 2.46875 -7.15625 L 2.4375 -7.15625 L 2.4375 -8.265625 Z M 7.46875 -4.203125 C 7.46875 -3.796875 7.425781 -3.398438 7.34375 -3.015625 C 7.257812 -2.640625 7.117188 -2.300781 6.921875 -2 C 6.734375 -1.695312 6.484375 -1.457031 6.171875 -1.28125 C 5.859375 -1.101562 5.460938 -1.015625 4.984375 -1.015625 C 4.515625 -1.015625 4.113281 -1.097656 3.78125 -1.265625 C 3.457031 -1.441406 3.191406 -1.675781 2.984375 -1.96875 C 2.773438 -2.257812 2.625 -2.59375 2.53125 -2.96875 C 2.4375 -3.34375 2.390625 -3.734375 2.390625 -4.140625 C 2.390625 -4.523438 2.429688 -4.90625 2.515625 -5.28125 C 2.609375 -5.65625 2.753906 -5.988281 2.953125 -6.28125 C 3.160156 -6.570312 3.421875 -6.804688 3.734375 -6.984375 C 4.054688 -7.171875 4.445312 -7.265625 4.90625 -7.265625 C 5.34375 -7.265625 5.722656 -7.175781 6.046875 -7 C 6.378906 -6.832031 6.648438 -6.601562 6.859375 -6.3125 C 7.066406 -6.03125 7.21875 -5.703125 7.3125 -5.328125 C 7.414062 -4.960938 7.46875 -4.585938 7.46875 -4.203125 Z M 7.46875 -4.203125 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 7.875 0 L 7.875 -8.265625 L 6.515625 -8.265625 L 6.515625 -3.59375 C 6.515625 -3.226562 6.460938 -2.882812 6.359375 -2.5625 C 6.253906 -2.25 6.097656 -1.972656 5.890625 -1.734375 C 5.691406 -1.503906 5.441406 -1.328125 5.140625 -1.203125 C 4.835938 -1.078125 4.476562 -1.015625 4.0625 -1.015625 C 3.539062 -1.015625 3.128906 -1.160156 2.828125 -1.453125 C 2.535156 -1.753906 2.390625 -2.160156 2.390625 -2.671875 L 2.390625 -8.265625 L 1.03125 -8.265625 L 1.03125 -2.828125 C 1.03125 -2.378906 1.070312 -1.972656 1.15625 -1.609375 C 1.25 -1.242188 1.40625 -0.925781 1.625 -0.65625 C 1.851562 -0.382812 2.148438 -0.175781 2.515625 -0.03125 C 2.878906 0.101562 3.332031 0.171875 3.875 0.171875 C 4.476562 0.171875 5.003906 0.0507812 5.453125 -0.1875 C 5.898438 -0.425781 6.269531 -0.800781 6.5625 -1.3125 L 6.59375 -1.3125 L 6.59375 0 Z M 7.875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M 2.90625 -8.265625 L 2.90625 -10.75 L 1.546875 -10.75 L 1.546875 -8.265625 L 0.140625 -8.265625 L 0.140625 -7.078125 L 1.546875 -7.078125 L 1.546875 -1.8125 C 1.546875 -1.425781 1.582031 -1.113281 1.65625 -0.875 C 1.738281 -0.644531 1.851562 -0.460938 2 -0.328125 C 2.15625 -0.203125 2.359375 -0.113281 2.609375 -0.0625 C 2.859375 -0.0195312 3.160156 0 3.515625 0 L 4.5625 0 L 4.5625 -1.203125 L 3.9375 -1.203125 C 3.71875 -1.203125 3.539062 -1.207031 3.40625 -1.21875 C 3.28125 -1.238281 3.175781 -1.273438 3.09375 -1.328125 C 3.019531 -1.378906 2.96875 -1.453125 2.9375 -1.546875 C 2.914062 -1.648438 2.90625 -1.78125 2.90625 -1.9375 L 2.90625 -7.078125 L 4.5625 -7.078125 L 4.5625 -8.265625 Z M 2.90625 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 2.765625 -1.28125 L 2.765625 -10.140625 L 5.328125 -10.140625 C 6.035156 -10.140625 6.628906 -10.039062 7.109375 -9.84375 C 7.585938 -9.644531 7.976562 -9.359375 8.28125 -8.984375 C 8.582031 -8.609375 8.800781 -8.148438 8.9375 -7.609375 C 9.070312 -7.066406 9.140625 -6.457031 9.140625 -5.78125 C 9.140625 -5.070312 9.066406 -4.46875 8.921875 -3.96875 C 8.773438 -3.476562 8.585938 -3.066406 8.359375 -2.734375 C 8.140625 -2.398438 7.890625 -2.132812 7.609375 -1.9375 C 7.328125 -1.75 7.039062 -1.601562 6.75 -1.5 C 6.457031 -1.40625 6.179688 -1.34375 5.921875 -1.3125 C 5.671875 -1.289062 5.460938 -1.28125 5.296875 -1.28125 Z M 1.25 -11.421875 L 1.25 0 L 5.171875 0 C 6.117188 0 6.9375 -0.128906 7.625 -0.390625 C 8.320312 -0.660156 8.894531 -1.046875 9.34375 -1.546875 C 9.789062 -2.054688 10.117188 -2.679688 10.328125 -3.421875 C 10.546875 -4.171875 10.65625 -5.023438 10.65625 -5.984375 C 10.65625 -7.816406 10.179688 -9.179688 9.234375 -10.078125 C 8.285156 -10.972656 6.929688 -11.421875 5.171875 -11.421875 Z M 1.25 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M 9.796875 -1.421875 L 10.1875 0 L 11.15625 0 L 11.15625 -6.015625 L 6.140625 -6.015625 L 6.140625 -4.734375 L 9.796875 -4.734375 C 9.816406 -4.210938 9.742188 -3.722656 9.578125 -3.265625 C 9.421875 -2.816406 9.1875 -2.421875 8.875 -2.078125 C 8.5625 -1.742188 8.175781 -1.484375 7.71875 -1.296875 C 7.257812 -1.109375 6.726562 -1.015625 6.125 -1.015625 C 5.488281 -1.015625 4.925781 -1.140625 4.4375 -1.390625 C 3.957031 -1.640625 3.550781 -1.972656 3.21875 -2.390625 C 2.882812 -2.816406 2.628906 -3.300781 2.453125 -3.84375 C 2.285156 -4.394531 2.203125 -4.96875 2.203125 -5.5625 C 2.203125 -6.175781 2.273438 -6.769531 2.421875 -7.34375 C 2.578125 -7.925781 2.8125 -8.441406 3.125 -8.890625 C 3.4375 -9.347656 3.84375 -9.71875 4.34375 -10 C 4.84375 -10.28125 5.4375 -10.421875 6.125 -10.421875 C 6.550781 -10.421875 6.953125 -10.367188 7.328125 -10.265625 C 7.710938 -10.160156 8.050781 -10.003906 8.34375 -9.796875 C 8.644531 -9.597656 8.894531 -9.34375 9.09375 -9.03125 C 9.300781 -8.71875 9.441406 -8.34375 9.515625 -7.90625 L 11.046875 -7.90625 C 10.929688 -8.570312 10.726562 -9.144531 10.4375 -9.625 C 10.144531 -10.101562 9.78125 -10.492188 9.34375 -10.796875 C 8.914062 -11.109375 8.425781 -11.335938 7.875 -11.484375 C 7.332031 -11.628906 6.75 -11.703125 6.125 -11.703125 C 5.21875 -11.703125 4.425781 -11.53125 3.75 -11.1875 C 3.070312 -10.851562 2.503906 -10.398438 2.046875 -9.828125 C 1.597656 -9.265625 1.257812 -8.609375 1.03125 -7.859375 C 0.800781 -7.109375 0.6875 -6.316406 0.6875 -5.484375 C 0.6875 -4.742188 0.804688 -4.023438 1.046875 -3.328125 C 1.296875 -2.628906 1.65625 -2.015625 2.125 -1.484375 C 2.59375 -0.953125 3.160156 -0.53125 3.828125 -0.21875 C 4.503906 0.09375 5.269531 0.25 6.125 0.25 C 6.800781 0.25 7.46875 0.117188 8.125 -0.140625 C 8.789062 -0.398438 9.347656 -0.828125 9.796875 -1.421875 Z M 9.796875 -1.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 6.765625 -4.921875 L 2.015625 -4.921875 C 2.035156 -5.242188 2.101562 -5.546875 2.21875 -5.828125 C 2.34375 -6.109375 2.503906 -6.351562 2.703125 -6.5625 C 2.910156 -6.78125 3.15625 -6.953125 3.4375 -7.078125 C 3.71875 -7.203125 4.035156 -7.265625 4.390625 -7.265625 C 4.722656 -7.265625 5.03125 -7.203125 5.3125 -7.078125 C 5.601562 -6.953125 5.851562 -6.785156 6.0625 -6.578125 C 6.269531 -6.367188 6.429688 -6.117188 6.546875 -5.828125 C 6.671875 -5.546875 6.742188 -5.242188 6.765625 -4.921875 Z M 8.078125 -2.625 L 6.734375 -2.625 C 6.617188 -2.082031 6.375 -1.675781 6 -1.40625 C 5.632812 -1.144531 5.164062 -1.015625 4.59375 -1.015625 C 4.144531 -1.015625 3.753906 -1.085938 3.421875 -1.234375 C 3.085938 -1.378906 2.8125 -1.578125 2.59375 -1.828125 C 2.382812 -2.078125 2.234375 -2.363281 2.140625 -2.6875 C 2.046875 -3.019531 2.003906 -3.367188 2.015625 -3.734375 L 8.203125 -3.734375 C 8.222656 -4.234375 8.175781 -4.757812 8.0625 -5.3125 C 7.957031 -5.863281 7.757812 -6.375 7.46875 -6.84375 C 7.175781 -7.3125 6.785156 -7.695312 6.296875 -8 C 5.804688 -8.3125 5.195312 -8.46875 4.46875 -8.46875 C 3.894531 -8.46875 3.367188 -8.359375 2.890625 -8.140625 C 2.421875 -7.929688 2.015625 -7.632812 1.671875 -7.25 C 1.328125 -6.863281 1.054688 -6.410156 0.859375 -5.890625 C 0.671875 -5.367188 0.578125 -4.789062 0.578125 -4.15625 C 0.597656 -3.53125 0.691406 -2.945312 0.859375 -2.40625 C 1.023438 -1.875 1.269531 -1.414062 1.59375 -1.03125 C 1.925781 -0.65625 2.332031 -0.359375 2.8125 -0.140625 C 3.300781 0.0664062 3.878906 0.171875 4.546875 0.171875 C 5.484375 0.171875 6.257812 -0.0625 6.875 -0.53125 C 7.5 -1 7.898438 -1.695312 8.078125 -2.625 Z M 8.078125 -2.625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 0.96875 -8.265625 L 0.96875 0 L 2.34375 0 L 2.34375 -3.6875 C 2.34375 -4.21875 2.394531 -4.6875 2.5 -5.09375 C 2.601562 -5.507812 2.769531 -5.859375 3 -6.140625 C 3.238281 -6.429688 3.550781 -6.648438 3.9375 -6.796875 C 4.320312 -6.953125 4.785156 -7.03125 5.328125 -7.03125 L 5.328125 -8.46875 C 4.585938 -8.488281 3.976562 -8.335938 3.5 -8.015625 C 3.019531 -7.691406 2.613281 -7.195312 2.28125 -6.53125 L 2.25 -6.53125 L 2.25 -8.265625 Z M 0.96875 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M 2.125 -5.71875 C 2.125 -6.289062 2.195312 -6.851562 2.34375 -7.40625 C 2.5 -7.96875 2.734375 -8.472656 3.046875 -8.921875 C 3.367188 -9.367188 3.78125 -9.726562 4.28125 -10 C 4.789062 -10.28125 5.390625 -10.421875 6.078125 -10.421875 C 6.773438 -10.421875 7.375 -10.28125 7.875 -10 C 8.375 -9.726562 8.78125 -9.367188 9.09375 -8.921875 C 9.414062 -8.472656 9.648438 -7.96875 9.796875 -7.40625 C 9.953125 -6.851562 10.03125 -6.289062 10.03125 -5.71875 C 10.03125 -5.132812 9.953125 -4.5625 9.796875 -4 C 9.648438 -3.445312 9.414062 -2.945312 9.09375 -2.5 C 8.78125 -2.050781 8.375 -1.691406 7.875 -1.421875 C 7.375 -1.148438 6.773438 -1.015625 6.078125 -1.015625 C 5.390625 -1.015625 4.789062 -1.148438 4.28125 -1.421875 C 3.78125 -1.691406 3.367188 -2.050781 3.046875 -2.5 C 2.734375 -2.945312 2.5 -3.445312 2.34375 -4 C 2.195312 -4.5625 2.125 -5.132812 2.125 -5.71875 Z M 0.609375 -5.71875 C 0.609375 -4.9375 0.722656 -4.1875 0.953125 -3.46875 C 1.179688 -2.75 1.523438 -2.109375 1.984375 -1.546875 C 2.441406 -0.992188 3.007812 -0.554688 3.6875 -0.234375 C 4.375 0.0859375 5.171875 0.25 6.078125 0.25 C 6.984375 0.25 7.773438 0.0859375 8.453125 -0.234375 C 9.140625 -0.554688 9.710938 -0.992188 10.171875 -1.546875 C 10.628906 -2.109375 10.972656 -2.75 11.203125 -3.46875 C 11.429688 -4.1875 11.546875 -4.9375 11.546875 -5.71875 C 11.546875 -6.488281 11.429688 -7.234375 11.203125 -7.953125 C 10.972656 -8.679688 10.628906 -9.320312 10.171875 -9.875 C 9.710938 -10.425781 9.140625 -10.867188 8.453125 -11.203125 C 7.773438 -11.535156 6.984375 -11.703125 6.078125 -11.703125 C 5.171875 -11.703125 4.375 -11.535156 3.6875 -11.203125 C 3.007812 -10.867188 2.441406 -10.425781 1.984375 -9.875 C 1.523438 -9.320312 1.179688 -8.679688 0.953125 -7.953125 C 0.722656 -7.234375 0.609375 -6.488281 0.609375 -5.71875 Z M 0.609375 -5.71875 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<rect x="0" y="0" width="535" height="427" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 486 333 L 585 333 L 585 387 L 486 387 Z M 486 333 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="238.15039" y="231"/> + <use xlink:href="#glyph0-2" x="246.81679" y="231"/> + <use xlink:href="#glyph0-3" x="253.49119" y="231"/> + <use xlink:href="#glyph0-4" x="260.16559" y="231"/> + <use xlink:href="#glyph0-5" x="266.83999" y="231"/> + <use xlink:href="#glyph0-6" x="270.17839" y="231"/> + <use xlink:href="#glyph0-4" x="279.51679" y="231"/> + <use xlink:href="#glyph0-7" x="286.19119" y="231"/> + <use xlink:href="#glyph0-8" x="292.86559" y="231"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 279 144 L 459 144 L 459 549 L 279 549 Z M 279 144 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.5 240.589844 C 418.832031 249.375 418.832031 263.625 399.5 272.410156 C 380.171875 281.195312 348.828125 281.195312 329.5 272.410156 C 310.167969 263.625 310.167969 249.375 329.5 240.589844 C 348.828125 231.804688 380.171875 231.804688 399.5 240.589844 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="68.82031" y="127.5"/> + <use xlink:href="#glyph0-7" x="77.48671" y="127.5"/> + <use xlink:href="#glyph0-10" x="84.16111" y="127.5"/> + <use xlink:href="#glyph0-7" x="87.49951" y="127.5"/> + <use xlink:href="#glyph0-5" x="94.17391" y="127.5"/> + <use xlink:href="#glyph0-6" x="97.51231" y="127.5"/> + <use xlink:href="#glyph0-4" x="106.85071" y="127.5"/> + <use xlink:href="#glyph0-7" x="113.52511" y="127.5"/> + <use xlink:href="#glyph0-8" x="120.19951" y="127.5"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.902344 275.011719 L 477.203125 327.453125 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 483.972656 331.714844 L 478.800781 324.914062 L 475.605469 329.992188 Z M 483.972656 331.714844 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="44.248" y="58.776001"/> + <use xlink:href="#glyph1-2" x="48.392" y="58.776001"/> + <use xlink:href="#glyph1-3" x="57.288" y="58.776001"/> + <use xlink:href="#glyph1-4" x="66.776" y="58.776001"/> + <use xlink:href="#glyph1-5" x="75.672" y="58.776001"/> + <use xlink:href="#glyph1-6" x="80.712" y="58.776001"/> + <use xlink:href="#glyph1-7" x="85.16" y="58.776001"/> + <use xlink:href="#glyph1-8" x="96.424" y="58.776001"/> + <use xlink:href="#glyph1-5" x="105.016" y="58.776001"/> + <use xlink:href="#glyph1-8" x="110.056" y="58.776001"/> + <use xlink:href="#glyph1-6" x="118.648" y="58.776001"/> + <use xlink:href="#glyph1-9" x="123.096" y="58.776001"/> + <use xlink:href="#glyph1-10" x="135.24" y="58.776001"/> + <use xlink:href="#glyph1-8" x="143.832" y="58.776001"/> + <use xlink:href="#glyph1-11" x="152.424" y="58.776001"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.5 339.589844 C 418.832031 348.375 418.832031 362.625 399.5 371.410156 C 380.171875 380.195312 348.828125 380.195312 329.5 371.410156 C 310.167969 362.625 310.167969 348.375 329.5 339.589844 C 348.828125 330.804688 380.171875 330.804688 399.5 339.589844 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="68.82031" y="226.5"/> + <use xlink:href="#glyph0-7" x="77.48671" y="226.5"/> + <use xlink:href="#glyph0-10" x="84.16111" y="226.5"/> + <use xlink:href="#glyph0-7" x="87.49951" y="226.5"/> + <use xlink:href="#glyph0-5" x="94.17391" y="226.5"/> + <use xlink:href="#glyph0-6" x="97.51231" y="226.5"/> + <use xlink:href="#glyph0-4" x="106.85071" y="226.5"/> + <use xlink:href="#glyph0-7" x="113.52511" y="226.5"/> + <use xlink:href="#glyph0-8" x="120.19951" y="226.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.5 438.589844 C 418.832031 447.375 418.832031 461.625 399.5 470.410156 C 380.171875 479.195312 348.828125 479.195312 329.5 470.410156 C 310.167969 461.625 310.167969 447.375 329.5 438.589844 C 348.828125 429.804688 380.171875 429.804688 399.5 438.589844 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="68.82031" y="325.5"/> + <use xlink:href="#glyph0-7" x="77.48671" y="325.5"/> + <use xlink:href="#glyph0-10" x="84.16111" y="325.5"/> + <use xlink:href="#glyph0-7" x="87.49951" y="325.5"/> + <use xlink:href="#glyph0-5" x="94.17391" y="325.5"/> + <use xlink:href="#glyph0-6" x="97.51231" y="325.5"/> + <use xlink:href="#glyph0-4" x="106.85071" y="325.5"/> + <use xlink:href="#glyph0-7" x="113.52511" y="325.5"/> + <use xlink:href="#glyph0-8" x="120.19951" y="325.5"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.339844 357.335938 L 475.609375 359.589844 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 483.601562 359.886719 L 475.71875 356.59375 L 475.5 362.589844 Z M 483.601562 359.886719 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 396.285156 436.84375 L 477.347656 391.808594 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 484.339844 387.921875 L 475.890625 389.183594 L 478.804688 394.429688 Z M 484.339844 387.921875 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 612 216 L 792 216 L 792 477 L 612 477 Z M 612 216 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 732.5 303.589844 C 751.832031 312.375 751.832031 326.625 732.5 335.410156 C 713.171875 344.195312 681.828125 344.195312 662.5 335.410156 C 643.167969 326.625 643.167969 312.375 662.5 303.589844 C 681.828125 294.804688 713.171875 294.804688 732.5 303.589844 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="401.82031" y="190.5"/> + <use xlink:href="#glyph0-7" x="410.48671" y="190.5"/> + <use xlink:href="#glyph0-10" x="417.16111" y="190.5"/> + <use xlink:href="#glyph0-7" x="420.49951" y="190.5"/> + <use xlink:href="#glyph0-5" x="427.17391" y="190.5"/> + <use xlink:href="#glyph0-6" x="430.51231" y="190.5"/> + <use xlink:href="#glyph0-4" x="439.85071" y="190.5"/> + <use xlink:href="#glyph0-7" x="446.52511" y="190.5"/> + <use xlink:href="#glyph0-8" x="453.19951" y="190.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-12" x="370.72" y="130.776001"/> + <use xlink:href="#glyph1-4" x="382.88" y="130.776001"/> + <use xlink:href="#glyph1-5" x="391.776" y="130.776001"/> + <use xlink:href="#glyph1-3" x="396.816" y="130.776001"/> + <use xlink:href="#glyph1-4" x="406.304" y="130.776001"/> + <use xlink:href="#glyph1-5" x="415.2" y="130.776001"/> + <use xlink:href="#glyph1-6" x="420.24" y="130.776001"/> + <use xlink:href="#glyph1-7" x="424.688" y="130.776001"/> + <use xlink:href="#glyph1-8" x="435.952" y="130.776001"/> + <use xlink:href="#glyph1-5" x="444.544" y="130.776001"/> + <use xlink:href="#glyph1-8" x="449.584" y="130.776001"/> + <use xlink:href="#glyph1-6" x="458.176" y="130.776001"/> + <use xlink:href="#glyph1-9" x="462.624" y="130.776001"/> + <use xlink:href="#glyph1-10" x="474.768" y="130.776001"/> + <use xlink:href="#glyph1-8" x="483.36" y="130.776001"/> + <use xlink:href="#glyph1-11" x="491.952" y="130.776001"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 732.5 384.589844 C 751.832031 393.375 751.832031 407.625 732.5 416.410156 C 713.171875 425.195312 681.828125 425.195312 662.5 416.410156 C 643.167969 407.625 643.167969 393.375 662.5 384.589844 C 681.828125 375.804688 713.171875 375.804688 732.5 384.589844 " transform="matrix(1,0,0,1,-268,-133)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="401.82031" y="271.5"/> + <use xlink:href="#glyph0-7" x="410.48671" y="271.5"/> + <use xlink:href="#glyph0-10" x="417.16111" y="271.5"/> + <use xlink:href="#glyph0-7" x="420.49951" y="271.5"/> + <use xlink:href="#glyph0-5" x="427.17391" y="271.5"/> + <use xlink:href="#glyph0-6" x="430.51231" y="271.5"/> + <use xlink:href="#glyph0-4" x="439.85071" y="271.5"/> + <use xlink:href="#glyph0-7" x="446.52511" y="271.5"/> + <use xlink:href="#glyph0-8" x="453.19951" y="271.5"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 585 348.378906 L 644.3125 333.152344 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 652.0625 331.164062 L 643.566406 330.246094 L 645.058594 336.058594 Z M 652.0625 331.164062 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 585 378 L 641.980469 389.394531 " transform="matrix(1,0,0,1,-268,-133)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 649.828125 390.964844 L 642.570312 386.453125 L 641.394531 392.339844 Z M 649.828125 390.964844 " transform="matrix(1,0,0,1,-268,-133)"/> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Paper/pic/codeGear_dataGear_dependency.graffle Binary file Paper/pic/codeGear_dataGear_dependency.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/codeGear_dataGear_dependency.pdf Binary file Paper/pic/codeGear_dataGear_dependency.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/codesegment.pdf Binary file Paper/pic/codesegment.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/codesegment.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/codesegment.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: ./pic/codesegment.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 393 201 +%%HiResBoundingBox: 0.000000 0.000000 393.000000 201.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Fri Nov 24 17:30:26 2017 + diff -r 000000000000 -r a5facba1adbc Paper/pic/gears_structure.graffle Binary file Paper/pic/gears_structure.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/gears_structure.pdf Binary file Paper/pic/gears_structure.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/gears_structure.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/gears_structure.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: ./pic/gears_structure.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 713 418 +%%HiResBoundingBox: 0.000000 0.000000 713.000000 418.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Fri Nov 24 17:30:26 2017 + diff -r 000000000000 -r a5facba1adbc Paper/pic/gearsos.graffle Binary file Paper/pic/gearsos.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/gearsos.pdf Binary file Paper/pic/gearsos.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/generate_context.graffle Binary file Paper/pic/generate_context.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/generate_context.pdf Binary file Paper/pic/generate_context.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/generate_context2.pdf Binary file Paper/pic/generate_context2.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/generate_context3.pdf Binary file Paper/pic/generate_context3.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/generate_context3.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/generate_context3.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: ./pic/generate_context3.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 706 265 +%%HiResBoundingBox: 0.000000 0.000000 706.000000 265.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Fri Nov 24 17:30:33 2017 + diff -r 000000000000 -r a5facba1adbc Paper/pic/generate_context_2.graffle Binary file Paper/pic/generate_context_2.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/metaCS.pdf Binary file Paper/pic/metaCS.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/metaCS.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/metaCS.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: ./fig/metaCS.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 31 511 515 732 +%%HiResBoundingBox: 30.601520 511.100000 515.413800 732.012800 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Mon Feb 15 05:21:55 2016 + diff -r 000000000000 -r a5facba1adbc Paper/pic/meta_cg_dg.graffle Binary file Paper/pic/meta_cg_dg.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/meta_cg_dg.pdf Binary file Paper/pic/meta_cg_dg.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/meta_gear.graffle Binary file Paper/pic/meta_gear.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/meta_gear.pdf Binary file Paper/pic/meta_gear.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/persistent_date_tree.graffle Binary file Paper/pic/persistent_date_tree.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/persistent_date_tree.pdf Binary file Paper/pic/persistent_date_tree.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/persistent_date_tree_2.graffle Binary file Paper/pic/persistent_date_tree_2.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/persistent_date_tree_2.pdf Binary file Paper/pic/persistent_date_tree_2.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/taskManager.graffle Binary file Paper/pic/taskManager.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/taskManager.pdf Binary file Paper/pic/taskManager.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/twice_640.pdf Binary file Paper/pic/twice_640.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/verification.graffle Binary file Paper/pic/verification.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/verification.pdf Binary file Paper/pic/verification.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/worker.graffle Binary file Paper/pic/worker.graffle has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/worker.pdf Binary file Paper/pic/worker.pdf has changed diff -r 000000000000 -r a5facba1adbc Paper/pic/worker.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/pic/worker.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,409 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="901pt" height="644pt" viewBox="0 0 901 644" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 0.78125 0 L 0.78125 -17.21875 L 14.4375 -17.21875 L 14.4375 0 Z M 12.28125 -2.15625 L 12.28125 -15.0625 L 2.9375 -15.0625 L 2.9375 -2.15625 Z M 12.28125 -2.15625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 9.265625 -17.65625 C 10.890625 -17.65625 12.289062 -17.34375 13.46875 -16.71875 C 15.175781 -15.820312 16.222656 -14.25 16.609375 -12 L 14.296875 -12 C 14.015625 -13.257812 13.429688 -14.175781 12.546875 -14.75 C 11.671875 -15.320312 10.5625 -15.609375 9.21875 -15.609375 C 7.625 -15.609375 6.28125 -15.007812 5.1875 -13.8125 C 4.09375 -12.625 3.546875 -10.84375 3.546875 -8.46875 C 3.546875 -6.425781 3.992188 -4.757812 4.890625 -3.46875 C 5.796875 -2.1875 7.265625 -1.546875 9.296875 -1.546875 C 10.847656 -1.546875 12.132812 -1.992188 13.15625 -2.890625 C 14.175781 -3.796875 14.695312 -5.257812 14.71875 -7.28125 L 9.328125 -7.28125 L 9.328125 -9.21875 L 16.890625 -9.21875 L 16.890625 0 L 15.390625 0 L 14.828125 -2.21875 C 14.035156 -1.351562 13.335938 -0.75 12.734375 -0.40625 C 11.703125 0.164062 10.398438 0.453125 8.828125 0.453125 C 6.785156 0.453125 5.03125 -0.207031 3.5625 -1.53125 C 1.957031 -3.1875 1.15625 -5.457031 1.15625 -8.34375 C 1.15625 -11.226562 1.9375 -13.519531 3.5 -15.21875 C 4.988281 -16.84375 6.910156 -17.65625 9.265625 -17.65625 Z M 8.890625 -17.6875 Z M 8.890625 -17.6875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 6.78125 -12.828125 C 7.664062 -12.828125 8.523438 -12.617188 9.359375 -12.203125 C 10.203125 -11.785156 10.84375 -11.242188 11.28125 -10.578125 C 11.695312 -9.953125 11.976562 -9.21875 12.125 -8.375 C 12.25 -7.789062 12.3125 -6.867188 12.3125 -5.609375 L 3.109375 -5.609375 C 3.148438 -4.328125 3.453125 -3.300781 4.015625 -2.53125 C 4.578125 -1.769531 5.445312 -1.390625 6.625 -1.390625 C 7.726562 -1.390625 8.609375 -1.75 9.265625 -2.46875 C 9.640625 -2.894531 9.90625 -3.382812 10.0625 -3.9375 L 12.125 -3.9375 C 12.070312 -3.476562 11.890625 -2.960938 11.578125 -2.390625 C 11.273438 -1.828125 10.929688 -1.367188 10.546875 -1.015625 C 9.910156 -0.390625 9.117188 0.0351562 8.171875 0.265625 C 7.660156 0.390625 7.085938 0.453125 6.453125 0.453125 C 4.890625 0.453125 3.5625 -0.113281 2.46875 -1.25 C 1.382812 -2.394531 0.84375 -3.988281 0.84375 -6.03125 C 0.84375 -8.050781 1.390625 -9.6875 2.484375 -10.9375 C 3.578125 -12.195312 5.007812 -12.828125 6.78125 -12.828125 Z M 10.140625 -7.28125 C 10.054688 -8.195312 9.859375 -8.925781 9.546875 -9.46875 C 8.960938 -10.488281 7.992188 -11 6.640625 -11 C 5.671875 -11 4.859375 -10.644531 4.203125 -9.9375 C 3.546875 -9.238281 3.203125 -8.351562 3.171875 -7.28125 Z M 6.578125 -12.859375 Z M 6.578125 -12.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 1.96875 -16.0625 L 4.109375 -16.0625 L 4.109375 -12.546875 L 6.109375 -12.546875 L 6.109375 -10.828125 L 4.109375 -10.828125 L 4.109375 -2.640625 C 4.109375 -2.203125 4.253906 -1.910156 4.546875 -1.765625 C 4.710938 -1.671875 4.988281 -1.625 5.375 -1.625 C 5.46875 -1.625 5.570312 -1.625 5.6875 -1.625 C 5.8125 -1.632812 5.953125 -1.648438 6.109375 -1.671875 L 6.109375 0 C 5.867188 0.0703125 5.613281 0.125 5.34375 0.15625 C 5.082031 0.1875 4.800781 0.203125 4.5 0.203125 C 3.519531 0.203125 2.851562 -0.046875 2.5 -0.546875 C 2.144531 -1.054688 1.96875 -1.710938 1.96875 -2.515625 L 1.96875 -10.828125 L 0.265625 -10.828125 L 0.265625 -12.546875 L 1.96875 -12.546875 Z M 1.96875 -16.0625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 14.359375 -17.21875 L 14.359375 -15.171875 L 8.5625 -15.171875 L 8.5625 0 L 6.1875 0 L 6.1875 -15.171875 L 0.390625 -15.171875 L 0.390625 -17.21875 Z M 14.359375 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 3.171875 -3.34375 C 3.171875 -2.726562 3.390625 -2.242188 3.828125 -1.890625 C 4.273438 -1.546875 4.804688 -1.375 5.421875 -1.375 C 6.160156 -1.375 6.878906 -1.546875 7.578125 -1.890625 C 8.742188 -2.460938 9.328125 -3.394531 9.328125 -4.6875 L 9.328125 -6.390625 C 9.066406 -6.222656 8.734375 -6.082031 8.328125 -5.96875 C 7.921875 -5.863281 7.523438 -5.789062 7.140625 -5.75 L 5.859375 -5.578125 C 5.097656 -5.472656 4.523438 -5.3125 4.140625 -5.09375 C 3.492188 -4.726562 3.171875 -4.144531 3.171875 -3.34375 Z M 8.28125 -7.609375 C 8.757812 -7.671875 9.082031 -7.875 9.25 -8.21875 C 9.34375 -8.40625 9.390625 -8.675781 9.390625 -9.03125 C 9.390625 -9.75 9.132812 -10.269531 8.625 -10.59375 C 8.113281 -10.914062 7.378906 -11.078125 6.421875 -11.078125 C 5.316406 -11.078125 4.535156 -10.78125 4.078125 -10.1875 C 3.816406 -9.851562 3.648438 -9.363281 3.578125 -8.71875 L 1.609375 -8.71875 C 1.648438 -10.269531 2.148438 -11.347656 3.109375 -11.953125 C 4.078125 -12.554688 5.195312 -12.859375 6.46875 -12.859375 C 7.945312 -12.859375 9.144531 -12.578125 10.0625 -12.015625 C 10.976562 -11.453125 11.4375 -10.578125 11.4375 -9.390625 L 11.4375 -2.15625 C 11.4375 -1.9375 11.476562 -1.757812 11.5625 -1.625 C 11.65625 -1.5 11.847656 -1.4375 12.140625 -1.4375 C 12.234375 -1.4375 12.335938 -1.441406 12.453125 -1.453125 C 12.578125 -1.460938 12.703125 -1.476562 12.828125 -1.5 L 12.828125 0.0625 C 12.503906 0.15625 12.253906 0.210938 12.078125 0.234375 C 11.910156 0.253906 11.675781 0.265625 11.375 0.265625 C 10.65625 0.265625 10.128906 0.0078125 9.796875 -0.5 C 9.628906 -0.78125 9.507812 -1.171875 9.4375 -1.671875 C 9.007812 -1.109375 8.390625 -0.617188 7.578125 -0.203125 C 6.773438 0.210938 5.890625 0.421875 4.921875 0.421875 C 3.753906 0.421875 2.800781 0.0664062 2.0625 -0.640625 C 1.332031 -1.347656 0.96875 -2.234375 0.96875 -3.296875 C 0.96875 -4.460938 1.328125 -5.363281 2.046875 -6 C 2.773438 -6.644531 3.726562 -7.039062 4.90625 -7.1875 Z M 6.53125 -12.859375 Z M 6.53125 -12.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 2.796875 -3.9375 C 2.859375 -3.238281 3.035156 -2.703125 3.328125 -2.328125 C 3.859375 -1.640625 4.78125 -1.296875 6.09375 -1.296875 C 6.875 -1.296875 7.5625 -1.46875 8.15625 -1.8125 C 8.75 -2.15625 9.046875 -2.679688 9.046875 -3.390625 C 9.046875 -3.929688 8.804688 -4.34375 8.328125 -4.625 C 8.023438 -4.789062 7.425781 -4.988281 6.53125 -5.21875 L 4.859375 -5.640625 C 3.785156 -5.898438 2.992188 -6.195312 2.484375 -6.53125 C 1.578125 -7.101562 1.125 -7.890625 1.125 -8.890625 C 1.125 -10.078125 1.550781 -11.035156 2.40625 -11.765625 C 3.257812 -12.503906 4.410156 -12.875 5.859375 -12.875 C 7.753906 -12.875 9.117188 -12.320312 9.953125 -11.21875 C 10.472656 -10.507812 10.726562 -9.75 10.71875 -8.9375 L 8.71875 -8.9375 C 8.675781 -9.414062 8.507812 -9.851562 8.21875 -10.25 C 7.726562 -10.800781 6.890625 -11.078125 5.703125 -11.078125 C 4.898438 -11.078125 4.289062 -10.921875 3.875 -10.609375 C 3.46875 -10.304688 3.265625 -9.90625 3.265625 -9.40625 C 3.265625 -8.863281 3.535156 -8.425781 4.078125 -8.09375 C 4.390625 -7.90625 4.851562 -7.734375 5.46875 -7.578125 L 6.859375 -7.25 C 8.367188 -6.875 9.382812 -6.515625 9.90625 -6.171875 C 10.726562 -5.640625 11.140625 -4.796875 11.140625 -3.640625 C 11.140625 -2.515625 10.710938 -1.546875 9.859375 -0.734375 C 9.015625 0.078125 7.722656 0.484375 5.984375 0.484375 C 4.117188 0.484375 2.796875 0.0625 2.015625 -0.78125 C 1.242188 -1.632812 0.832031 -2.6875 0.78125 -3.9375 Z M 5.921875 -12.859375 Z M 5.921875 -12.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 1.5 -17.21875 L 3.53125 -17.21875 L 3.53125 -7.21875 L 8.9375 -12.546875 L 11.640625 -12.546875 L 6.828125 -7.859375 L 11.90625 0 L 9.21875 0 L 5.296875 -6.328125 L 3.53125 -4.71875 L 3.53125 0 L 1.5 0 Z M 1.5 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 9.828125 -9.328125 C 10.921875 -9.328125 11.785156 -9.546875 12.421875 -9.984375 C 13.066406 -10.421875 13.390625 -11.210938 13.390625 -12.359375 C 13.390625 -13.578125 12.941406 -14.410156 12.046875 -14.859375 C 11.566406 -15.097656 10.929688 -15.21875 10.140625 -15.21875 L 4.4375 -15.21875 L 4.4375 -9.328125 Z M 2.109375 -17.21875 L 10.078125 -17.21875 C 11.390625 -17.21875 12.472656 -17.023438 13.328125 -16.640625 C 14.941406 -15.910156 15.75 -14.554688 15.75 -12.578125 C 15.75 -11.546875 15.535156 -10.703125 15.109375 -10.046875 C 14.679688 -9.390625 14.085938 -8.863281 13.328125 -8.46875 C 13.992188 -8.1875 14.5 -7.820312 14.84375 -7.375 C 15.1875 -6.9375 15.375 -6.21875 15.40625 -5.21875 L 15.5 -2.90625 C 15.519531 -2.25 15.570312 -1.757812 15.65625 -1.4375 C 15.800781 -0.894531 16.050781 -0.546875 16.40625 -0.390625 L 16.40625 0 L 13.546875 0 C 13.472656 -0.144531 13.410156 -0.332031 13.359375 -0.5625 C 13.316406 -0.800781 13.28125 -1.257812 13.25 -1.9375 L 13.109375 -4.8125 C 13.046875 -5.9375 12.625 -6.6875 11.84375 -7.0625 C 11.40625 -7.28125 10.707031 -7.390625 9.75 -7.390625 L 4.4375 -7.390625 L 4.4375 0 L 2.109375 0 Z M 2.109375 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 2.890625 -6.125 C 2.890625 -4.78125 3.171875 -3.65625 3.734375 -2.75 C 4.304688 -1.84375 5.222656 -1.390625 6.484375 -1.390625 C 7.460938 -1.390625 8.265625 -1.8125 8.890625 -2.65625 C 9.515625 -3.5 9.828125 -4.703125 9.828125 -6.265625 C 9.828125 -7.859375 9.503906 -9.035156 8.859375 -9.796875 C 8.210938 -10.554688 7.410156 -10.9375 6.453125 -10.9375 C 5.390625 -10.9375 4.53125 -10.53125 3.875 -9.71875 C 3.21875 -8.90625 2.890625 -7.707031 2.890625 -6.125 Z M 6.0625 -12.78125 C 7.019531 -12.78125 7.820312 -12.578125 8.46875 -12.171875 C 8.84375 -11.929688 9.269531 -11.519531 9.75 -10.9375 L 9.75 -17.28125 L 11.78125 -17.28125 L 11.78125 0 L 9.875 0 L 9.875 -1.75 C 9.382812 -0.976562 8.800781 -0.414062 8.125 -0.0625 C 7.457031 0.28125 6.691406 0.453125 5.828125 0.453125 C 4.429688 0.453125 3.21875 -0.132812 2.1875 -1.3125 C 1.164062 -2.488281 0.65625 -4.054688 0.65625 -6.015625 C 0.65625 -7.835938 1.117188 -9.421875 2.046875 -10.765625 C 2.984375 -12.109375 4.320312 -12.78125 6.0625 -12.78125 Z M 6.0625 -12.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 8.4375 -2 C 9.226562 -2 9.878906 -2.078125 10.390625 -2.234375 C 11.296875 -2.546875 12.035156 -3.132812 12.609375 -4 C 13.066406 -4.695312 13.398438 -5.585938 13.609375 -6.671875 C 13.722656 -7.316406 13.78125 -7.914062 13.78125 -8.46875 C 13.78125 -10.601562 13.351562 -12.257812 12.5 -13.4375 C 11.65625 -14.625 10.296875 -15.21875 8.421875 -15.21875 L 4.28125 -15.21875 L 4.28125 -2 Z M 1.9375 -17.21875 L 8.90625 -17.21875 C 11.269531 -17.21875 13.109375 -16.378906 14.421875 -14.703125 C 15.578125 -13.179688 16.15625 -11.238281 16.15625 -8.875 C 16.15625 -7.039062 15.8125 -5.390625 15.125 -3.921875 C 13.914062 -1.304688 11.835938 0 8.890625 0 L 1.9375 0 Z M 1.9375 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 2.046875 -17.21875 L 14.609375 -17.21875 L 14.609375 -15.109375 L 4.328125 -15.109375 L 4.328125 -9.875 L 13.828125 -9.875 L 13.828125 -7.890625 L 4.328125 -7.890625 L 4.328125 -2.046875 L 14.78125 -2.046875 L 14.78125 0 L 2.046875 0 Z M 8.421875 -17.21875 Z M 8.421875 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 0.359375 -12.546875 L 3.078125 -12.546875 L 5.96875 -8.140625 L 8.890625 -12.546875 L 11.453125 -12.5 L 7.21875 -6.4375 L 11.640625 0 L 8.9375 0 L 5.828125 -4.71875 L 2.796875 0 L 0.125 0 L 4.546875 -6.4375 Z M 0.359375 -12.546875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 6.390625 -12.921875 C 7.804688 -12.921875 8.957031 -12.578125 9.84375 -11.890625 C 10.726562 -11.203125 11.257812 -10.015625 11.4375 -8.328125 L 9.390625 -8.328125 C 9.265625 -9.109375 8.976562 -9.753906 8.53125 -10.265625 C 8.082031 -10.773438 7.367188 -11.03125 6.390625 -11.03125 C 5.046875 -11.03125 4.082031 -10.375 3.5 -9.0625 C 3.125 -8.207031 2.9375 -7.15625 2.9375 -5.90625 C 2.9375 -4.644531 3.203125 -3.582031 3.734375 -2.71875 C 4.265625 -1.863281 5.101562 -1.4375 6.25 -1.4375 C 7.125 -1.4375 7.816406 -1.703125 8.328125 -2.234375 C 8.835938 -2.773438 9.191406 -3.507812 9.390625 -4.4375 L 11.4375 -4.4375 C 11.207031 -2.78125 10.625 -1.566406 9.6875 -0.796875 C 8.75 -0.0234375 7.546875 0.359375 6.078125 0.359375 C 4.441406 0.359375 3.132812 -0.238281 2.15625 -1.4375 C 1.175781 -2.632812 0.6875 -4.132812 0.6875 -5.9375 C 0.6875 -8.132812 1.222656 -9.847656 2.296875 -11.078125 C 3.367188 -12.304688 4.734375 -12.921875 6.390625 -12.921875 Z M 6.0625 -12.859375 Z M 6.0625 -12.859375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 2.96875 -17.21875 L 6.21875 -3.21875 L 10.109375 -17.21875 L 12.640625 -17.21875 L 16.53125 -3.21875 L 19.765625 -17.21875 L 22.328125 -17.21875 L 17.796875 0 L 15.359375 0 L 11.375 -14.28125 L 7.390625 0 L 4.9375 0 L 0.4375 -17.21875 Z M 2.96875 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 1.609375 -12.546875 L 3.609375 -12.546875 L 3.609375 -10.390625 C 3.773438 -10.804688 4.175781 -11.316406 4.8125 -11.921875 C 5.457031 -12.523438 6.195312 -12.828125 7.03125 -12.828125 C 7.070312 -12.828125 7.140625 -12.820312 7.234375 -12.8125 C 7.328125 -12.8125 7.488281 -12.800781 7.71875 -12.78125 L 7.71875 -10.546875 C 7.59375 -10.566406 7.472656 -10.582031 7.359375 -10.59375 C 7.253906 -10.601562 7.140625 -10.609375 7.015625 -10.609375 C 5.953125 -10.609375 5.132812 -10.265625 4.5625 -9.578125 C 4 -8.898438 3.71875 -8.113281 3.71875 -7.21875 L 3.71875 0 L 1.609375 0 Z M 1.609375 -12.546875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.546875 -12.5 L 3.6875 -12.5 L 3.6875 0 L 1.546875 0 Z M 1.546875 -17.21875 L 3.6875 -17.21875 L 3.6875 -14.828125 L 1.546875 -14.828125 Z M 1.546875 -17.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 9.8125 -15.984375 L 2.453125 -15.984375 L 2.453125 -1.125 L 9.8125 -1.125 Z M 11.046875 -17.09375 L 11.046875 -0.03125 L 1.21875 -0.03125 L 1.21875 -17.09375 Z M 11.046875 -17.09375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 17.359375 0 L 21.9375 -17.140625 L 19.65625 -17.140625 L 16.171875 -2.875 L 16.125 -2.875 L 12.34375 -17.140625 L 9.859375 -17.140625 L 6.03125 -2.875 L 5.96875 -2.875 L 2.609375 -17.140625 L 0.28125 -17.140625 L 4.6875 0 L 7.0625 0 L 11.015625 -14.40625 L 11.0625 -14.40625 L 14.96875 0 Z M 17.359375 0 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 3.03125 -6.1875 C 3.03125 -6.9375 3.128906 -7.601562 3.328125 -8.1875 C 3.523438 -8.78125 3.800781 -9.273438 4.15625 -9.671875 C 4.507812 -10.066406 4.921875 -10.367188 5.390625 -10.578125 C 5.859375 -10.785156 6.359375 -10.890625 6.890625 -10.890625 C 7.421875 -10.890625 7.921875 -10.785156 8.390625 -10.578125 C 8.859375 -10.367188 9.269531 -10.066406 9.625 -9.671875 C 9.976562 -9.273438 10.253906 -8.78125 10.453125 -8.1875 C 10.648438 -7.601562 10.75 -6.9375 10.75 -6.1875 C 10.75 -5.4375 10.648438 -4.769531 10.453125 -4.1875 C 10.253906 -3.601562 9.976562 -3.113281 9.625 -2.71875 C 9.269531 -2.332031 8.859375 -2.035156 8.390625 -1.828125 C 7.921875 -1.617188 7.421875 -1.515625 6.890625 -1.515625 C 6.359375 -1.515625 5.859375 -1.617188 5.390625 -1.828125 C 4.921875 -2.035156 4.507812 -2.332031 4.15625 -2.71875 C 3.800781 -3.113281 3.523438 -3.601562 3.328125 -4.1875 C 3.128906 -4.769531 3.03125 -5.4375 3.03125 -6.1875 Z M 0.859375 -6.1875 C 0.859375 -5.28125 0.984375 -4.429688 1.234375 -3.640625 C 1.492188 -2.859375 1.878906 -2.175781 2.390625 -1.59375 C 2.910156 -1.007812 3.546875 -0.550781 4.296875 -0.21875 C 5.046875 0.101562 5.910156 0.265625 6.890625 0.265625 C 7.878906 0.265625 8.742188 0.101562 9.484375 -0.21875 C 10.234375 -0.550781 10.863281 -1.007812 11.375 -1.59375 C 11.882812 -2.175781 12.265625 -2.859375 12.515625 -3.640625 C 12.773438 -4.429688 12.90625 -5.28125 12.90625 -6.1875 C 12.90625 -7.101562 12.773438 -7.957031 12.515625 -8.75 C 12.265625 -9.539062 11.882812 -10.226562 11.375 -10.8125 C 10.863281 -11.394531 10.234375 -11.851562 9.484375 -12.1875 C 8.742188 -12.53125 7.878906 -12.703125 6.890625 -12.703125 C 5.910156 -12.703125 5.046875 -12.53125 4.296875 -12.1875 C 3.546875 -11.851562 2.910156 -11.394531 2.390625 -10.8125 C 1.878906 -10.226562 1.492188 -9.539062 1.234375 -8.75 C 0.984375 -7.957031 0.859375 -7.101562 0.859375 -6.1875 Z M 0.859375 -6.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M 1.46875 -12.40625 L 1.46875 0 L 3.5 0 L 3.5 -5.515625 C 3.5 -6.316406 3.578125 -7.023438 3.734375 -7.640625 C 3.898438 -8.253906 4.160156 -8.773438 4.515625 -9.203125 C 4.867188 -9.640625 5.332031 -9.96875 5.90625 -10.1875 C 6.476562 -10.414062 7.171875 -10.53125 7.984375 -10.53125 L 7.984375 -12.703125 C 6.890625 -12.734375 5.976562 -12.503906 5.25 -12.015625 C 4.53125 -11.535156 3.925781 -10.796875 3.4375 -9.796875 L 3.390625 -9.796875 L 3.390625 -12.40625 Z M 1.46875 -12.40625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 1.65625 -17.140625 L 1.65625 0 L 3.703125 0 L 3.703125 -4.703125 L 5.609375 -6.484375 L 9.859375 0 L 12.453125 0 L 7.171875 -7.890625 L 12.09375 -12.40625 L 9.359375 -12.40625 L 3.703125 -6.984375 L 3.703125 -17.140625 Z M 1.65625 -17.140625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M 10.15625 -7.390625 L 3.03125 -7.390625 C 3.0625 -7.867188 3.160156 -8.320312 3.328125 -8.75 C 3.503906 -9.175781 3.742188 -9.546875 4.046875 -9.859375 C 4.359375 -10.179688 4.722656 -10.429688 5.140625 -10.609375 C 5.566406 -10.796875 6.046875 -10.890625 6.578125 -10.890625 C 7.085938 -10.890625 7.550781 -10.796875 7.96875 -10.609375 C 8.394531 -10.429688 8.765625 -10.1875 9.078125 -9.875 C 9.390625 -9.5625 9.640625 -9.1875 9.828125 -8.75 C 10.015625 -8.320312 10.125 -7.867188 10.15625 -7.390625 Z M 12.125 -3.9375 L 10.109375 -3.9375 C 9.929688 -3.125 9.566406 -2.515625 9.015625 -2.109375 C 8.460938 -1.710938 7.753906 -1.515625 6.890625 -1.515625 C 6.210938 -1.515625 5.625 -1.625 5.125 -1.84375 C 4.632812 -2.070312 4.226562 -2.375 3.90625 -2.75 C 3.59375 -3.125 3.363281 -3.554688 3.21875 -4.046875 C 3.070312 -4.535156 3.007812 -5.050781 3.03125 -5.59375 L 12.3125 -5.59375 C 12.34375 -6.34375 12.273438 -7.132812 12.109375 -7.96875 C 11.941406 -8.800781 11.632812 -9.566406 11.1875 -10.265625 C 10.75 -10.972656 10.164062 -11.554688 9.4375 -12.015625 C 8.71875 -12.472656 7.804688 -12.703125 6.703125 -12.703125 C 5.847656 -12.703125 5.0625 -12.539062 4.34375 -12.21875 C 3.632812 -11.894531 3.019531 -11.445312 2.5 -10.875 C 1.988281 -10.300781 1.585938 -9.617188 1.296875 -8.828125 C 1.003906 -8.046875 0.859375 -7.179688 0.859375 -6.234375 C 0.890625 -5.296875 1.03125 -4.425781 1.28125 -3.625 C 1.53125 -2.820312 1.898438 -2.132812 2.390625 -1.5625 C 2.890625 -0.988281 3.503906 -0.539062 4.234375 -0.21875 C 4.960938 0.101562 5.820312 0.265625 6.8125 0.265625 C 8.21875 0.265625 9.382812 -0.0820312 10.3125 -0.78125 C 11.25 -1.488281 11.851562 -2.539062 12.125 -3.9375 Z M 12.125 -3.9375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M 4.15625 -8.921875 L 4.15625 -15.21875 L 8.609375 -15.21875 C 9.910156 -15.21875 10.859375 -14.945312 11.453125 -14.40625 C 12.054688 -13.875 12.359375 -13.097656 12.359375 -12.078125 C 12.359375 -11.046875 12.054688 -10.257812 11.453125 -9.71875 C 10.859375 -9.175781 9.910156 -8.910156 8.609375 -8.921875 Z M 1.875 -17.140625 L 1.875 0 L 4.15625 0 L 4.15625 -7.015625 L 9.390625 -7.015625 C 11.109375 -6.992188 12.410156 -7.429688 13.296875 -8.328125 C 14.191406 -9.222656 14.640625 -10.472656 14.640625 -12.078125 C 14.640625 -13.671875 14.191406 -14.910156 13.296875 -15.796875 C 12.410156 -16.691406 11.109375 -17.140625 9.390625 -17.140625 Z M 1.875 -17.140625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 2.78125 -3.90625 L 0.75 -3.90625 C 0.78125 -3.144531 0.9375 -2.492188 1.21875 -1.953125 C 1.507812 -1.421875 1.894531 -0.988281 2.375 -0.65625 C 2.851562 -0.332031 3.40625 -0.0976562 4.03125 0.046875 C 4.65625 0.191406 5.3125 0.265625 6 0.265625 C 6.625 0.265625 7.25 0.203125 7.875 0.078125 C 8.507812 -0.0351562 9.078125 -0.242188 9.578125 -0.546875 C 10.085938 -0.859375 10.5 -1.257812 10.8125 -1.75 C 11.125 -2.25 11.28125 -2.875 11.28125 -3.625 C 11.28125 -4.21875 11.160156 -4.710938 10.921875 -5.109375 C 10.691406 -5.515625 10.390625 -5.847656 10.015625 -6.109375 C 9.640625 -6.367188 9.207031 -6.578125 8.71875 -6.734375 C 8.226562 -6.898438 7.726562 -7.039062 7.21875 -7.15625 C 6.738281 -7.257812 6.257812 -7.363281 5.78125 -7.46875 C 5.300781 -7.570312 4.867188 -7.703125 4.484375 -7.859375 C 4.097656 -8.015625 3.78125 -8.207031 3.53125 -8.4375 C 3.289062 -8.664062 3.171875 -8.957031 3.171875 -9.3125 C 3.171875 -9.632812 3.25 -9.894531 3.40625 -10.09375 C 3.5625 -10.289062 3.769531 -10.445312 4.03125 -10.5625 C 4.289062 -10.6875 4.578125 -10.769531 4.890625 -10.8125 C 5.203125 -10.863281 5.507812 -10.890625 5.8125 -10.890625 C 6.144531 -10.890625 6.472656 -10.851562 6.796875 -10.78125 C 7.128906 -10.71875 7.429688 -10.601562 7.703125 -10.4375 C 7.972656 -10.28125 8.195312 -10.066406 8.375 -9.796875 C 8.550781 -9.535156 8.65625 -9.207031 8.6875 -8.8125 L 10.734375 -8.8125 C 10.679688 -9.5625 10.519531 -10.1875 10.25 -10.6875 C 9.976562 -11.195312 9.613281 -11.597656 9.15625 -11.890625 C 8.695312 -12.191406 8.171875 -12.398438 7.578125 -12.515625 C 6.992188 -12.640625 6.347656 -12.703125 5.640625 -12.703125 C 5.097656 -12.703125 4.550781 -12.628906 4 -12.484375 C 3.445312 -12.347656 2.945312 -12.140625 2.5 -11.859375 C 2.0625 -11.585938 1.703125 -11.226562 1.421875 -10.78125 C 1.148438 -10.332031 1.015625 -9.796875 1.015625 -9.171875 C 1.015625 -8.367188 1.210938 -7.742188 1.609375 -7.296875 C 2.003906 -6.847656 2.503906 -6.5 3.109375 -6.25 C 3.710938 -6 4.363281 -5.804688 5.0625 -5.671875 C 5.769531 -5.535156 6.421875 -5.382812 7.015625 -5.21875 C 7.617188 -5.050781 8.117188 -4.832031 8.515625 -4.5625 C 8.921875 -4.289062 9.125 -3.890625 9.125 -3.359375 C 9.125 -2.972656 9.023438 -2.65625 8.828125 -2.40625 C 8.640625 -2.164062 8.394531 -1.976562 8.09375 -1.84375 C 7.800781 -1.71875 7.476562 -1.628906 7.125 -1.578125 C 6.769531 -1.535156 6.4375 -1.515625 6.125 -1.515625 C 5.707031 -1.515625 5.300781 -1.550781 4.90625 -1.625 C 4.507812 -1.707031 4.15625 -1.835938 3.84375 -2.015625 C 3.539062 -2.203125 3.289062 -2.453125 3.09375 -2.765625 C 2.90625 -3.078125 2.800781 -3.457031 2.78125 -3.90625 Z M 2.78125 -3.90625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 3.703125 -14.640625 L 3.703125 -17.140625 L 1.65625 -17.140625 L 1.65625 -14.640625 Z M 1.65625 -12.40625 L 1.65625 0 L 3.703125 0 L 3.703125 -12.40625 Z M 1.65625 -12.40625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M 4.375 -12.40625 L 4.375 -16.125 L 2.328125 -16.125 L 2.328125 -12.40625 L 0.21875 -12.40625 L 0.21875 -10.609375 L 2.328125 -10.609375 L 2.328125 -2.71875 C 2.328125 -2.132812 2.378906 -1.664062 2.484375 -1.3125 C 2.597656 -0.96875 2.769531 -0.695312 3 -0.5 C 3.238281 -0.3125 3.546875 -0.179688 3.921875 -0.109375 C 4.296875 -0.0351562 4.75 0 5.28125 0 L 6.84375 0 L 6.84375 -1.796875 L 5.90625 -1.796875 C 5.582031 -1.796875 5.320312 -1.804688 5.125 -1.828125 C 4.925781 -1.859375 4.769531 -1.910156 4.65625 -1.984375 C 4.539062 -2.066406 4.460938 -2.179688 4.421875 -2.328125 C 4.390625 -2.472656 4.375 -2.664062 4.375 -2.90625 L 4.375 -10.609375 L 6.84375 -10.609375 L 6.84375 -12.40625 Z M 4.375 -12.40625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 1.53125 -12.40625 L 1.53125 0 L 3.578125 0 L 3.578125 -7.015625 C 3.578125 -7.566406 3.648438 -8.078125 3.796875 -8.546875 C 3.953125 -9.023438 4.179688 -9.4375 4.484375 -9.78125 C 4.785156 -10.132812 5.164062 -10.40625 5.625 -10.59375 C 6.082031 -10.789062 6.625 -10.890625 7.25 -10.890625 C 8.03125 -10.890625 8.644531 -10.664062 9.09375 -10.21875 C 9.539062 -9.769531 9.765625 -9.164062 9.765625 -8.40625 L 9.765625 0 L 11.8125 0 L 11.8125 -8.15625 C 11.8125 -8.832031 11.742188 -9.445312 11.609375 -10 C 11.472656 -10.550781 11.234375 -11.023438 10.890625 -11.421875 C 10.554688 -11.828125 10.117188 -12.140625 9.578125 -12.359375 C 9.035156 -12.585938 8.351562 -12.703125 7.53125 -12.703125 C 5.695312 -12.703125 4.351562 -11.945312 3.5 -10.4375 L 3.453125 -10.4375 L 3.453125 -12.40625 Z M 1.53125 -12.40625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M 4.15625 -1.921875 L 4.15625 -15.21875 L 7.984375 -15.21875 C 9.046875 -15.21875 9.9375 -15.066406 10.65625 -14.765625 C 11.375 -14.472656 11.960938 -14.039062 12.421875 -13.46875 C 12.878906 -12.90625 13.207031 -12.21875 13.40625 -11.40625 C 13.601562 -10.601562 13.703125 -9.6875 13.703125 -8.65625 C 13.703125 -7.601562 13.59375 -6.703125 13.375 -5.953125 C 13.164062 -5.210938 12.890625 -4.59375 12.546875 -4.09375 C 12.210938 -3.601562 11.832031 -3.210938 11.40625 -2.921875 C 10.988281 -2.640625 10.5625 -2.421875 10.125 -2.265625 C 9.695312 -2.117188 9.289062 -2.023438 8.90625 -1.984375 C 8.519531 -1.941406 8.195312 -1.921875 7.9375 -1.921875 Z M 1.875 -17.140625 L 1.875 0 L 7.75 0 C 9.175781 0 10.410156 -0.195312 11.453125 -0.59375 C 12.492188 -1 13.347656 -1.582031 14.015625 -2.34375 C 14.691406 -3.101562 15.1875 -4.035156 15.5 -5.140625 C 15.820312 -6.253906 15.984375 -7.53125 15.984375 -8.96875 C 15.984375 -11.726562 15.269531 -13.78125 13.84375 -15.125 C 12.425781 -16.46875 10.394531 -17.140625 7.75 -17.140625 Z M 1.875 -17.140625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M 12.53125 -0.046875 C 12.175781 0.160156 11.6875 0.265625 11.0625 0.265625 C 10.53125 0.265625 10.109375 0.117188 9.796875 -0.171875 C 9.492188 -0.472656 9.34375 -0.957031 9.34375 -1.625 C 8.78125 -0.957031 8.125 -0.472656 7.375 -0.171875 C 6.632812 0.117188 5.832031 0.265625 4.96875 0.265625 C 4.40625 0.265625 3.867188 0.195312 3.359375 0.0625 C 2.859375 -0.0625 2.425781 -0.257812 2.0625 -0.53125 C 1.695312 -0.800781 1.40625 -1.15625 1.1875 -1.59375 C 0.96875 -2.03125 0.859375 -2.5625 0.859375 -3.1875 C 0.859375 -3.894531 0.976562 -4.472656 1.21875 -4.921875 C 1.457031 -5.367188 1.773438 -5.734375 2.171875 -6.015625 C 2.566406 -6.296875 3.015625 -6.503906 3.515625 -6.640625 C 4.015625 -6.785156 4.53125 -6.910156 5.0625 -7.015625 C 5.625 -7.117188 6.15625 -7.195312 6.65625 -7.25 C 7.164062 -7.3125 7.609375 -7.394531 7.984375 -7.5 C 8.367188 -7.601562 8.671875 -7.753906 8.890625 -7.953125 C 9.117188 -8.148438 9.234375 -8.441406 9.234375 -8.828125 C 9.234375 -9.273438 9.148438 -9.632812 8.984375 -9.90625 C 8.816406 -10.175781 8.597656 -10.382812 8.328125 -10.53125 C 8.066406 -10.675781 7.769531 -10.769531 7.4375 -10.8125 C 7.113281 -10.863281 6.796875 -10.890625 6.484375 -10.890625 C 5.617188 -10.890625 4.894531 -10.722656 4.3125 -10.390625 C 3.738281 -10.066406 3.429688 -9.453125 3.390625 -8.546875 L 1.34375 -8.546875 C 1.375 -9.316406 1.53125 -9.960938 1.8125 -10.484375 C 2.101562 -11.015625 2.488281 -11.441406 2.96875 -11.765625 C 3.457031 -12.097656 4.007812 -12.335938 4.625 -12.484375 C 5.238281 -12.628906 5.894531 -12.703125 6.59375 -12.703125 C 7.15625 -12.703125 7.710938 -12.660156 8.265625 -12.578125 C 8.816406 -12.492188 9.316406 -12.328125 9.765625 -12.078125 C 10.210938 -11.835938 10.570312 -11.492188 10.84375 -11.046875 C 11.113281 -10.597656 11.25 -10.007812 11.25 -9.28125 L 11.25 -2.90625 C 11.25 -2.425781 11.273438 -2.070312 11.328125 -1.84375 C 11.390625 -1.625 11.582031 -1.515625 11.90625 -1.515625 C 12.082031 -1.515625 12.289062 -1.550781 12.53125 -1.625 Z M 9.21875 -6.40625 C 8.957031 -6.21875 8.617188 -6.078125 8.203125 -5.984375 C 7.785156 -5.898438 7.347656 -5.828125 6.890625 -5.765625 C 6.441406 -5.710938 5.984375 -5.648438 5.515625 -5.578125 C 5.054688 -5.503906 4.640625 -5.382812 4.265625 -5.21875 C 3.898438 -5.0625 3.601562 -4.835938 3.375 -4.546875 C 3.144531 -4.253906 3.03125 -3.851562 3.03125 -3.34375 C 3.03125 -3 3.097656 -2.710938 3.234375 -2.484375 C 3.367188 -2.253906 3.539062 -2.066406 3.75 -1.921875 C 3.96875 -1.773438 4.21875 -1.671875 4.5 -1.609375 C 4.789062 -1.546875 5.097656 -1.515625 5.421875 -1.515625 C 6.097656 -1.515625 6.675781 -1.601562 7.15625 -1.78125 C 7.632812 -1.96875 8.023438 -2.203125 8.328125 -2.484375 C 8.628906 -2.765625 8.851562 -3.066406 9 -3.390625 C 9.144531 -3.722656 9.21875 -4.03125 9.21875 -4.3125 Z M 9.21875 -6.40625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 5.765625 -15.21875 L 5.765625 0 L 8.046875 0 L 8.046875 -15.21875 L 13.75 -15.21875 L 13.75 -17.140625 L 0.046875 -17.140625 L 0.046875 -15.21875 Z M 5.765625 -15.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-15"> +<path style="stroke:none;" d="M 10.796875 -4.890625 L 9.59375 -3.5 L 11.5 -1.984375 C 10.726562 -1.671875 9.9375 -1.515625 9.125 -1.515625 C 8.082031 -1.515625 7.179688 -1.71875 6.421875 -2.125 C 5.671875 -2.53125 5.054688 -3.066406 4.578125 -3.734375 C 4.097656 -4.410156 3.742188 -5.164062 3.515625 -6 C 3.296875 -6.84375 3.1875 -7.695312 3.1875 -8.5625 C 3.1875 -9.425781 3.296875 -10.28125 3.515625 -11.125 C 3.742188 -11.96875 4.097656 -12.722656 4.578125 -13.390625 C 5.054688 -14.066406 5.671875 -14.609375 6.421875 -15.015625 C 7.179688 -15.421875 8.082031 -15.625 9.125 -15.625 C 10.164062 -15.625 11.0625 -15.421875 11.8125 -15.015625 C 12.5625 -14.609375 13.175781 -14.066406 13.65625 -13.390625 C 14.132812 -12.722656 14.484375 -11.96875 14.703125 -11.125 C 14.929688 -10.28125 15.046875 -9.425781 15.046875 -8.5625 C 15.046875 -7.507812 14.882812 -6.5 14.5625 -5.53125 C 14.25 -4.5625 13.753906 -3.742188 13.078125 -3.078125 Z M 15.84375 1.46875 L 16.984375 0.03125 L 14.734375 -1.75 C 15.597656 -2.613281 16.242188 -3.632812 16.671875 -4.8125 C 17.109375 -6 17.328125 -7.25 17.328125 -8.5625 C 17.328125 -9.726562 17.15625 -10.851562 16.8125 -11.9375 C 16.46875 -13.019531 15.953125 -13.976562 15.265625 -14.8125 C 14.578125 -15.644531 13.71875 -16.304688 12.6875 -16.796875 C 11.664062 -17.296875 10.476562 -17.546875 9.125 -17.546875 C 7.757812 -17.546875 6.566406 -17.296875 5.546875 -16.796875 C 4.523438 -16.304688 3.664062 -15.644531 2.96875 -14.8125 C 2.28125 -13.976562 1.765625 -13.019531 1.421875 -11.9375 C 1.078125 -10.851562 0.90625 -9.726562 0.90625 -8.5625 C 0.90625 -7.394531 1.078125 -6.269531 1.421875 -5.1875 C 1.765625 -4.113281 2.28125 -3.160156 2.96875 -2.328125 C 3.664062 -1.492188 4.523438 -0.832031 5.546875 -0.34375 C 6.566406 0.144531 7.757812 0.390625 9.125 0.390625 C 10.707031 0.390625 12.070312 0.0507812 13.21875 -0.625 Z M 15.84375 1.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-16"> +<path style="stroke:none;" d="M 11.8125 0 L 11.8125 -12.40625 L 9.765625 -12.40625 L 9.765625 -5.40625 C 9.765625 -4.84375 9.6875 -4.320312 9.53125 -3.84375 C 9.382812 -3.375 9.160156 -2.960938 8.859375 -2.609375 C 8.554688 -2.265625 8.175781 -1.992188 7.71875 -1.796875 C 7.257812 -1.609375 6.71875 -1.515625 6.09375 -1.515625 C 5.3125 -1.515625 4.695312 -1.738281 4.25 -2.1875 C 3.800781 -2.632812 3.578125 -3.242188 3.578125 -4.015625 L 3.578125 -12.40625 L 1.53125 -12.40625 L 1.53125 -4.25 C 1.53125 -3.570312 1.597656 -2.957031 1.734375 -2.40625 C 1.867188 -1.851562 2.101562 -1.378906 2.4375 -0.984375 C 2.78125 -0.585938 3.222656 -0.28125 3.765625 -0.0625 C 4.304688 0.15625 4.988281 0.265625 5.8125 0.265625 C 6.71875 0.265625 7.503906 0.0859375 8.171875 -0.265625 C 8.847656 -0.628906 9.40625 -1.195312 9.84375 -1.96875 L 9.890625 -1.96875 L 9.890625 0 Z M 11.8125 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 9 -14.65625 L 2.25 -14.65625 L 2.25 -1.03125 L 9 -1.03125 Z M 10.125 -15.65625 L 10.125 -0.015625 L 1.125 -0.015625 L 1.125 -15.65625 Z M 10.125 -15.65625 "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 0.96875 -10.078125 L 2.84375 -10.078125 C 2.820312 -10.546875 2.863281 -11.007812 2.96875 -11.46875 C 3.082031 -11.9375 3.265625 -12.351562 3.515625 -12.71875 C 3.765625 -13.082031 4.082031 -13.378906 4.46875 -13.609375 C 4.863281 -13.835938 5.332031 -13.953125 5.875 -13.953125 C 6.28125 -13.953125 6.664062 -13.882812 7.03125 -13.75 C 7.40625 -13.613281 7.726562 -13.421875 8 -13.171875 C 8.269531 -12.921875 8.484375 -12.625 8.640625 -12.28125 C 8.804688 -11.9375 8.890625 -11.550781 8.890625 -11.125 C 8.890625 -10.582031 8.800781 -10.109375 8.625 -9.703125 C 8.457031 -9.296875 8.207031 -8.914062 7.875 -8.5625 C 7.550781 -8.207031 7.140625 -7.859375 6.640625 -7.515625 C 6.140625 -7.171875 5.5625 -6.789062 4.90625 -6.375 C 4.363281 -6.050781 3.84375 -5.707031 3.34375 -5.34375 C 2.84375 -4.976562 2.394531 -4.550781 2 -4.0625 C 1.601562 -3.582031 1.273438 -3.015625 1.015625 -2.359375 C 0.765625 -1.710938 0.601562 -0.925781 0.53125 0 L 10.71875 0 L 10.71875 -1.65625 L 2.703125 -1.65625 C 2.796875 -2.132812 2.984375 -2.5625 3.265625 -2.9375 C 3.554688 -3.3125 3.898438 -3.660156 4.296875 -3.984375 C 4.703125 -4.304688 5.144531 -4.609375 5.625 -4.890625 C 6.113281 -5.179688 6.597656 -5.472656 7.078125 -5.765625 C 7.566406 -6.066406 8.035156 -6.382812 8.484375 -6.71875 C 8.941406 -7.0625 9.347656 -7.441406 9.703125 -7.859375 C 10.054688 -8.273438 10.335938 -8.75 10.546875 -9.28125 C 10.765625 -9.8125 10.875 -10.421875 10.875 -11.109375 C 10.875 -11.835938 10.742188 -12.476562 10.484375 -13.03125 C 10.222656 -13.59375 9.875 -14.0625 9.4375 -14.4375 C 9 -14.8125 8.484375 -15.097656 7.890625 -15.296875 C 7.296875 -15.492188 6.660156 -15.59375 5.984375 -15.59375 C 5.160156 -15.59375 4.425781 -15.453125 3.78125 -15.171875 C 3.132812 -14.898438 2.59375 -14.515625 2.15625 -14.015625 C 1.726562 -13.523438 1.410156 -12.941406 1.203125 -12.265625 C 1.003906 -11.597656 0.925781 -10.867188 0.96875 -10.078125 Z M 0.96875 -10.078125 "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 1.828125 -2.4375 L 1.828125 0 L 4.265625 0 L 4.265625 -2.4375 Z M 1.828125 -2.4375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 1.71875 -15.703125 L 1.71875 0 L 3.8125 0 L 3.8125 -6.703125 L 8.90625 -6.703125 C 9.425781 -6.703125 9.835938 -6.625 10.140625 -6.46875 C 10.453125 -6.320312 10.703125 -6.117188 10.890625 -5.859375 C 11.078125 -5.609375 11.210938 -5.304688 11.296875 -4.953125 C 11.390625 -4.609375 11.46875 -4.25 11.53125 -3.875 C 11.601562 -3.488281 11.644531 -3.097656 11.65625 -2.703125 C 11.675781 -2.304688 11.691406 -1.9375 11.703125 -1.59375 C 11.710938 -1.25 11.742188 -0.9375 11.796875 -0.65625 C 11.847656 -0.375 11.945312 -0.15625 12.09375 0 L 14.4375 0 C 14.21875 -0.257812 14.050781 -0.5625 13.9375 -0.90625 C 13.820312 -1.257812 13.734375 -1.625 13.671875 -2 C 13.617188 -2.382812 13.582031 -2.773438 13.5625 -3.171875 C 13.550781 -3.566406 13.535156 -3.953125 13.515625 -4.328125 C 13.460938 -4.710938 13.394531 -5.082031 13.3125 -5.4375 C 13.238281 -5.789062 13.113281 -6.109375 12.9375 -6.390625 C 12.769531 -6.671875 12.546875 -6.914062 12.265625 -7.125 C 11.984375 -7.332031 11.613281 -7.476562 11.15625 -7.5625 L 11.15625 -7.609375 C 12.101562 -7.878906 12.789062 -8.367188 13.21875 -9.078125 C 13.65625 -9.796875 13.875 -10.632812 13.875 -11.59375 C 13.875 -12.875 13.453125 -13.878906 12.609375 -14.609375 C 11.773438 -15.335938 10.609375 -15.703125 9.109375 -15.703125 Z M 8.15625 -8.46875 L 3.8125 -8.46875 L 3.8125 -13.953125 L 9 -13.953125 C 9.976562 -13.953125 10.6875 -13.703125 11.125 -13.203125 C 11.570312 -12.703125 11.796875 -12.054688 11.796875 -11.265625 C 11.796875 -10.691406 11.695312 -10.222656 11.5 -9.859375 C 11.300781 -9.503906 11.035156 -9.21875 10.703125 -9 C 10.367188 -8.789062 9.984375 -8.648438 9.546875 -8.578125 C 9.109375 -8.503906 8.644531 -8.46875 8.15625 -8.46875 Z M 8.15625 -8.46875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 9.3125 -6.78125 L 2.765625 -6.78125 C 2.796875 -7.21875 2.890625 -7.628906 3.046875 -8.015625 C 3.210938 -8.410156 3.4375 -8.753906 3.71875 -9.046875 C 4 -9.335938 4.332031 -9.566406 4.71875 -9.734375 C 5.101562 -9.898438 5.539062 -9.984375 6.03125 -9.984375 C 6.5 -9.984375 6.925781 -9.898438 7.3125 -9.734375 C 7.695312 -9.566406 8.03125 -9.335938 8.3125 -9.046875 C 8.601562 -8.765625 8.832031 -8.425781 9 -8.03125 C 9.175781 -7.632812 9.28125 -7.21875 9.3125 -6.78125 Z M 11.109375 -3.609375 L 9.265625 -3.609375 C 9.097656 -2.859375 8.757812 -2.300781 8.25 -1.9375 C 7.75 -1.570312 7.101562 -1.390625 6.3125 -1.390625 C 5.695312 -1.390625 5.160156 -1.488281 4.703125 -1.6875 C 4.253906 -1.894531 3.878906 -2.171875 3.578125 -2.515625 C 3.285156 -2.859375 3.070312 -3.253906 2.9375 -3.703125 C 2.8125 -4.148438 2.753906 -4.625 2.765625 -5.125 L 11.28125 -5.125 C 11.3125 -5.8125 11.25 -6.535156 11.09375 -7.296875 C 10.945312 -8.066406 10.671875 -8.773438 10.265625 -9.421875 C 9.859375 -10.066406 9.320312 -10.597656 8.65625 -11.015625 C 7.988281 -11.429688 7.148438 -11.640625 6.140625 -11.640625 C 5.359375 -11.640625 4.640625 -11.492188 3.984375 -11.203125 C 3.335938 -10.910156 2.773438 -10.5 2.296875 -9.96875 C 1.816406 -9.4375 1.445312 -8.8125 1.1875 -8.09375 C 0.925781 -7.375 0.796875 -6.582031 0.796875 -5.71875 C 0.828125 -4.851562 0.953125 -4.050781 1.171875 -3.3125 C 1.398438 -2.582031 1.738281 -1.953125 2.1875 -1.421875 C 2.644531 -0.898438 3.207031 -0.492188 3.875 -0.203125 C 4.550781 0.0859375 5.34375 0.234375 6.25 0.234375 C 7.539062 0.234375 8.609375 -0.0820312 9.453125 -0.71875 C 10.304688 -1.363281 10.859375 -2.328125 11.109375 -3.609375 Z M 11.109375 -3.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d="M 11.484375 -0.046875 C 11.160156 0.140625 10.710938 0.234375 10.140625 0.234375 C 9.660156 0.234375 9.273438 0.0976562 8.984375 -0.171875 C 8.703125 -0.441406 8.5625 -0.882812 8.5625 -1.5 C 8.039062 -0.882812 7.4375 -0.441406 6.75 -0.171875 C 6.070312 0.0976562 5.335938 0.234375 4.546875 0.234375 C 4.035156 0.234375 3.546875 0.175781 3.078125 0.0625 C 2.617188 -0.0507812 2.222656 -0.234375 1.890625 -0.484375 C 1.554688 -0.734375 1.289062 -1.054688 1.09375 -1.453125 C 0.894531 -1.859375 0.796875 -2.347656 0.796875 -2.921875 C 0.796875 -3.566406 0.90625 -4.09375 1.125 -4.5 C 1.34375 -4.914062 1.628906 -5.25 1.984375 -5.5 C 2.347656 -5.757812 2.757812 -5.957031 3.21875 -6.09375 C 3.6875 -6.226562 4.160156 -6.335938 4.640625 -6.421875 C 5.148438 -6.523438 5.632812 -6.601562 6.09375 -6.65625 C 6.5625 -6.707031 6.972656 -6.78125 7.328125 -6.875 C 7.679688 -6.96875 7.957031 -7.101562 8.15625 -7.28125 C 8.363281 -7.46875 8.46875 -7.738281 8.46875 -8.09375 C 8.46875 -8.507812 8.390625 -8.835938 8.234375 -9.078125 C 8.085938 -9.328125 7.890625 -9.519531 7.640625 -9.65625 C 7.398438 -9.789062 7.128906 -9.878906 6.828125 -9.921875 C 6.523438 -9.960938 6.226562 -9.984375 5.9375 -9.984375 C 5.144531 -9.984375 4.484375 -9.832031 3.953125 -9.53125 C 3.429688 -9.238281 3.148438 -8.671875 3.109375 -7.828125 L 1.234375 -7.828125 C 1.265625 -8.535156 1.410156 -9.128906 1.671875 -9.609375 C 1.929688 -10.097656 2.28125 -10.488281 2.71875 -10.78125 C 3.164062 -11.082031 3.671875 -11.300781 4.234375 -11.4375 C 4.796875 -11.570312 5.398438 -11.640625 6.046875 -11.640625 C 6.554688 -11.640625 7.066406 -11.601562 7.578125 -11.53125 C 8.085938 -11.457031 8.546875 -11.304688 8.953125 -11.078125 C 9.359375 -10.847656 9.6875 -10.523438 9.9375 -10.109375 C 10.1875 -9.703125 10.3125 -9.171875 10.3125 -8.515625 L 10.3125 -2.65625 C 10.3125 -2.21875 10.335938 -1.894531 10.390625 -1.6875 C 10.441406 -1.488281 10.613281 -1.390625 10.90625 -1.390625 C 11.070312 -1.390625 11.265625 -1.425781 11.484375 -1.5 Z M 8.453125 -5.875 C 8.210938 -5.695312 7.898438 -5.566406 7.515625 -5.484375 C 7.140625 -5.410156 6.742188 -5.347656 6.328125 -5.296875 C 5.910156 -5.242188 5.488281 -5.179688 5.0625 -5.109375 C 4.632812 -5.046875 4.25 -4.941406 3.90625 -4.796875 C 3.570312 -4.648438 3.296875 -4.441406 3.078125 -4.171875 C 2.867188 -3.898438 2.765625 -3.53125 2.765625 -3.0625 C 2.765625 -2.75 2.828125 -2.484375 2.953125 -2.265625 C 3.078125 -2.054688 3.238281 -1.882812 3.4375 -1.75 C 3.632812 -1.625 3.863281 -1.53125 4.125 -1.46875 C 4.394531 -1.414062 4.675781 -1.390625 4.96875 -1.390625 C 5.582031 -1.390625 6.109375 -1.472656 6.546875 -1.640625 C 6.992188 -1.804688 7.351562 -2.015625 7.625 -2.265625 C 7.90625 -2.523438 8.113281 -2.804688 8.25 -3.109375 C 8.382812 -3.410156 8.453125 -3.691406 8.453125 -3.953125 Z M 8.453125 -5.875 "/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 2.765625 -5.59375 C 2.765625 -6.144531 2.820312 -6.6875 2.9375 -7.21875 C 3.0625 -7.75 3.253906 -8.21875 3.515625 -8.625 C 3.785156 -9.03125 4.140625 -9.359375 4.578125 -9.609375 C 5.015625 -9.859375 5.550781 -9.984375 6.1875 -9.984375 C 6.832031 -9.984375 7.378906 -9.863281 7.828125 -9.625 C 8.285156 -9.382812 8.65625 -9.066406 8.9375 -8.671875 C 9.226562 -8.273438 9.4375 -7.816406 9.5625 -7.296875 C 9.695312 -6.773438 9.765625 -6.234375 9.765625 -5.671875 C 9.765625 -5.148438 9.703125 -4.628906 9.578125 -4.109375 C 9.453125 -3.597656 9.25 -3.140625 8.96875 -2.734375 C 8.695312 -2.335938 8.335938 -2.015625 7.890625 -1.765625 C 7.453125 -1.515625 6.921875 -1.390625 6.296875 -1.390625 C 5.691406 -1.390625 5.164062 -1.503906 4.71875 -1.734375 C 4.269531 -1.972656 3.898438 -2.289062 3.609375 -2.6875 C 3.328125 -3.082031 3.113281 -3.53125 2.96875 -4.03125 C 2.832031 -4.539062 2.765625 -5.0625 2.765625 -5.59375 Z M 11.578125 0 L 11.578125 -15.703125 L 9.703125 -15.703125 L 9.703125 -9.859375 L 9.65625 -9.859375 C 9.445312 -10.191406 9.191406 -10.472656 8.890625 -10.703125 C 8.597656 -10.929688 8.28125 -11.113281 7.9375 -11.25 C 7.601562 -11.394531 7.265625 -11.492188 6.921875 -11.546875 C 6.585938 -11.609375 6.273438 -11.640625 5.984375 -11.640625 C 5.117188 -11.640625 4.359375 -11.476562 3.703125 -11.15625 C 3.054688 -10.84375 2.515625 -10.421875 2.078125 -9.890625 C 1.648438 -9.359375 1.328125 -8.734375 1.109375 -8.015625 C 0.898438 -7.296875 0.796875 -6.53125 0.796875 -5.71875 C 0.796875 -4.914062 0.90625 -4.15625 1.125 -3.4375 C 1.34375 -2.71875 1.664062 -2.082031 2.09375 -1.53125 C 2.53125 -0.988281 3.070312 -0.554688 3.71875 -0.234375 C 4.375 0.078125 5.144531 0.234375 6.03125 0.234375 C 6.820312 0.234375 7.546875 0.0976562 8.203125 -0.171875 C 8.867188 -0.453125 9.351562 -0.910156 9.65625 -1.546875 L 9.703125 -1.546875 L 9.703125 0 Z M 11.578125 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 3.8125 -1.765625 L 3.8125 -13.953125 L 7.328125 -13.953125 C 8.296875 -13.953125 9.109375 -13.816406 9.765625 -13.546875 C 10.429688 -13.273438 10.972656 -12.878906 11.390625 -12.359375 C 11.804688 -11.835938 12.101562 -11.203125 12.28125 -10.453125 C 12.46875 -9.710938 12.5625 -8.875 12.5625 -7.9375 C 12.5625 -6.96875 12.460938 -6.140625 12.265625 -5.453125 C 12.066406 -4.773438 11.8125 -4.207031 11.5 -3.75 C 11.195312 -3.300781 10.847656 -2.941406 10.453125 -2.671875 C 10.066406 -2.410156 9.675781 -2.210938 9.28125 -2.078125 C 8.882812 -1.941406 8.507812 -1.851562 8.15625 -1.8125 C 7.8125 -1.78125 7.519531 -1.765625 7.28125 -1.765625 Z M 1.71875 -15.703125 L 1.71875 0 L 7.109375 0 C 8.410156 0 9.535156 -0.179688 10.484375 -0.546875 C 11.441406 -0.910156 12.226562 -1.441406 12.84375 -2.140625 C 13.457031 -2.835938 13.910156 -3.695312 14.203125 -4.71875 C 14.503906 -5.738281 14.65625 -6.910156 14.65625 -8.234375 C 14.65625 -10.753906 14 -12.628906 12.6875 -13.859375 C 11.382812 -15.085938 9.523438 -15.703125 7.109375 -15.703125 Z M 1.71875 -15.703125 "/> +</symbol> +<symbol overflow="visible" id="glyph2-9"> +<path style="stroke:none;" d="M 4 -11.375 L 4 -14.78125 L 2.140625 -14.78125 L 2.140625 -11.375 L 0.203125 -11.375 L 0.203125 -9.71875 L 2.140625 -9.71875 L 2.140625 -2.484375 C 2.140625 -1.953125 2.1875 -1.523438 2.28125 -1.203125 C 2.382812 -0.878906 2.539062 -0.628906 2.75 -0.453125 C 2.96875 -0.285156 3.25 -0.164062 3.59375 -0.09375 C 3.9375 -0.03125 4.351562 0 4.84375 0 L 6.265625 0 L 6.265625 -1.65625 L 5.40625 -1.65625 C 5.113281 -1.65625 4.875 -1.664062 4.6875 -1.6875 C 4.507812 -1.707031 4.367188 -1.753906 4.265625 -1.828125 C 4.160156 -1.898438 4.085938 -2 4.046875 -2.125 C 4.015625 -2.257812 4 -2.4375 4 -2.65625 L 4 -9.71875 L 6.265625 -9.71875 L 6.265625 -11.375 Z M 4 -11.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-10"> +<path style="stroke:none;" d="M 13.46875 -1.953125 L 14.015625 0 L 15.328125 0 L 15.328125 -8.265625 L 8.453125 -8.265625 L 8.453125 -6.515625 L 13.46875 -6.515625 C 13.5 -5.796875 13.398438 -5.125 13.171875 -4.5 C 12.953125 -3.875 12.625 -3.328125 12.1875 -2.859375 C 11.757812 -2.398438 11.226562 -2.039062 10.59375 -1.78125 C 9.96875 -1.519531 9.242188 -1.390625 8.421875 -1.390625 C 7.546875 -1.390625 6.773438 -1.5625 6.109375 -1.90625 C 5.441406 -2.25 4.878906 -2.707031 4.421875 -3.28125 C 3.960938 -3.863281 3.613281 -4.53125 3.375 -5.28125 C 3.144531 -6.039062 3.03125 -6.832031 3.03125 -7.65625 C 3.03125 -8.488281 3.132812 -9.304688 3.34375 -10.109375 C 3.550781 -10.910156 3.867188 -11.617188 4.296875 -12.234375 C 4.734375 -12.859375 5.289062 -13.363281 5.96875 -13.75 C 6.65625 -14.132812 7.472656 -14.328125 8.421875 -14.328125 C 9.015625 -14.328125 9.570312 -14.253906 10.09375 -14.109375 C 10.613281 -13.972656 11.078125 -13.765625 11.484375 -13.484375 C 11.890625 -13.203125 12.234375 -12.84375 12.515625 -12.40625 C 12.796875 -11.976562 12.988281 -11.46875 13.09375 -10.875 L 15.1875 -10.875 C 15.03125 -11.789062 14.75 -12.578125 14.34375 -13.234375 C 13.945312 -13.890625 13.453125 -14.425781 12.859375 -14.84375 C 12.265625 -15.269531 11.585938 -15.582031 10.828125 -15.78125 C 10.078125 -15.976562 9.273438 -16.078125 8.421875 -16.078125 C 7.179688 -16.078125 6.09375 -15.847656 5.15625 -15.390625 C 4.226562 -14.929688 3.453125 -14.3125 2.828125 -13.53125 C 2.203125 -12.75 1.734375 -11.84375 1.421875 -10.8125 C 1.109375 -9.78125 0.953125 -8.691406 0.953125 -7.546875 C 0.953125 -6.515625 1.117188 -5.519531 1.453125 -4.5625 C 1.785156 -3.613281 2.273438 -2.773438 2.921875 -2.046875 C 3.566406 -1.316406 4.351562 -0.734375 5.28125 -0.296875 C 6.207031 0.140625 7.253906 0.359375 8.421875 0.359375 C 9.347656 0.359375 10.265625 0.179688 11.171875 -0.171875 C 12.085938 -0.535156 12.851562 -1.128906 13.46875 -1.953125 Z M 13.46875 -1.953125 "/> +</symbol> +<symbol overflow="visible" id="glyph2-11"> +<path style="stroke:none;" d="M 1.34375 -11.375 L 1.34375 0 L 3.21875 0 L 3.21875 -5.0625 C 3.21875 -5.789062 3.289062 -6.4375 3.4375 -7 C 3.582031 -7.570312 3.816406 -8.054688 4.140625 -8.453125 C 4.460938 -8.847656 4.882812 -9.144531 5.40625 -9.34375 C 5.9375 -9.550781 6.578125 -9.65625 7.328125 -9.65625 L 7.328125 -11.640625 C 6.316406 -11.671875 5.476562 -11.460938 4.8125 -11.015625 C 4.15625 -10.578125 3.597656 -9.894531 3.140625 -8.96875 L 3.109375 -8.96875 L 3.109375 -11.375 Z M 1.34375 -11.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-12"> +<path style="stroke:none;" d="M 4.796875 -8.90625 L 4.796875 -7.328125 C 5.148438 -7.367188 5.523438 -7.390625 5.921875 -7.390625 C 6.390625 -7.390625 6.820312 -7.328125 7.21875 -7.203125 C 7.625 -7.078125 7.972656 -6.882812 8.265625 -6.625 C 8.566406 -6.375 8.800781 -6.0625 8.96875 -5.6875 C 9.144531 -5.3125 9.234375 -4.882812 9.234375 -4.40625 C 9.234375 -3.9375 9.140625 -3.515625 8.953125 -3.140625 C 8.773438 -2.765625 8.53125 -2.445312 8.21875 -2.1875 C 7.914062 -1.925781 7.554688 -1.726562 7.140625 -1.59375 C 6.734375 -1.457031 6.304688 -1.390625 5.859375 -1.390625 C 4.785156 -1.390625 3.96875 -1.707031 3.40625 -2.34375 C 2.851562 -2.976562 2.5625 -3.800781 2.53125 -4.8125 L 0.65625 -4.8125 C 0.644531 -4.007812 0.757812 -3.289062 1 -2.65625 C 1.238281 -2.03125 1.585938 -1.5 2.046875 -1.0625 C 2.503906 -0.632812 3.050781 -0.3125 3.6875 -0.09375 C 4.332031 0.125 5.054688 0.234375 5.859375 0.234375 C 6.585938 0.234375 7.273438 0.132812 7.921875 -0.0625 C 8.578125 -0.257812 9.144531 -0.554688 9.625 -0.953125 C 10.113281 -1.347656 10.5 -1.84375 10.78125 -2.4375 C 11.070312 -3.03125 11.21875 -3.710938 11.21875 -4.484375 C 11.21875 -5.421875 10.984375 -6.234375 10.515625 -6.921875 C 10.054688 -7.617188 9.351562 -8.066406 8.40625 -8.265625 L 8.40625 -8.3125 C 9.019531 -8.59375 9.53125 -9.003906 9.9375 -9.546875 C 10.351562 -10.085938 10.5625 -10.710938 10.5625 -11.421875 C 10.5625 -12.140625 10.4375 -12.757812 10.1875 -13.28125 C 9.945312 -13.8125 9.613281 -14.242188 9.1875 -14.578125 C 8.769531 -14.921875 8.269531 -15.175781 7.6875 -15.34375 C 7.101562 -15.507812 6.476562 -15.59375 5.8125 -15.59375 C 5.03125 -15.59375 4.34375 -15.46875 3.75 -15.21875 C 3.15625 -14.96875 2.660156 -14.625 2.265625 -14.1875 C 1.867188 -13.75 1.5625 -13.222656 1.34375 -12.609375 C 1.132812 -11.992188 1.015625 -11.3125 0.984375 -10.5625 L 2.859375 -10.5625 C 2.859375 -11.007812 2.914062 -11.4375 3.03125 -11.84375 C 3.15625 -12.257812 3.335938 -12.617188 3.578125 -12.921875 C 3.816406 -13.234375 4.125 -13.484375 4.5 -13.671875 C 4.875 -13.859375 5.3125 -13.953125 5.8125 -13.953125 C 6.601562 -13.953125 7.257812 -13.738281 7.78125 -13.3125 C 8.3125 -12.894531 8.578125 -12.269531 8.578125 -11.4375 C 8.578125 -11.03125 8.492188 -10.664062 8.328125 -10.34375 C 8.171875 -10.019531 7.957031 -9.75 7.6875 -9.53125 C 7.414062 -9.320312 7.097656 -9.160156 6.734375 -9.046875 C 6.378906 -8.941406 6.003906 -8.890625 5.609375 -8.890625 L 5.21875 -8.890625 C 5.144531 -8.890625 5.070312 -8.890625 5 -8.890625 C 4.9375 -8.890625 4.867188 -8.894531 4.796875 -8.90625 Z M 4.796875 -8.90625 "/> +</symbol> +<symbol overflow="visible" id="glyph2-13"> +<path style="stroke:none;" d="M 15.90625 0 L 20.109375 -15.703125 L 18.015625 -15.703125 L 14.828125 -2.640625 L 14.78125 -2.640625 L 11.3125 -15.703125 L 9.046875 -15.703125 L 5.515625 -2.640625 L 5.484375 -2.640625 L 2.390625 -15.703125 L 0.265625 -15.703125 L 4.296875 0 L 6.46875 0 L 10.09375 -13.203125 L 10.140625 -13.203125 L 13.734375 0 Z M 15.90625 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-14"> +<path style="stroke:none;" d="M 3.390625 -13.421875 L 3.390625 -15.703125 L 1.515625 -15.703125 L 1.515625 -13.421875 Z M 1.515625 -11.375 L 1.515625 0 L 3.390625 0 L 3.390625 -11.375 Z M 1.515625 -11.375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-15"> +<path style="stroke:none;" d="M 7.828125 0 L 7.828125 -15.59375 L 6.40625 -15.59375 C 6.300781 -15.007812 6.109375 -14.523438 5.828125 -14.140625 C 5.546875 -13.765625 5.203125 -13.460938 4.796875 -13.234375 C 4.398438 -13.015625 3.953125 -12.863281 3.453125 -12.78125 C 2.953125 -12.707031 2.4375 -12.671875 1.90625 -12.671875 L 1.90625 -11.171875 L 5.96875 -11.171875 L 5.96875 0 Z M 7.828125 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-16"> +<path style="stroke:none;" d="M 2.765625 -5.59375 C 2.765625 -6.144531 2.820312 -6.6875 2.9375 -7.21875 C 3.0625 -7.75 3.253906 -8.21875 3.515625 -8.625 C 3.785156 -9.03125 4.140625 -9.359375 4.578125 -9.609375 C 5.015625 -9.859375 5.550781 -9.984375 6.1875 -9.984375 C 6.832031 -9.984375 7.378906 -9.863281 7.828125 -9.625 C 8.285156 -9.382812 8.65625 -9.066406 8.9375 -8.671875 C 9.226562 -8.273438 9.4375 -7.816406 9.5625 -7.296875 C 9.695312 -6.773438 9.765625 -6.234375 9.765625 -5.671875 C 9.765625 -5.148438 9.703125 -4.628906 9.578125 -4.109375 C 9.453125 -3.597656 9.25 -3.140625 8.96875 -2.734375 C 8.695312 -2.335938 8.335938 -2.015625 7.890625 -1.765625 C 7.453125 -1.515625 6.921875 -1.390625 6.296875 -1.390625 C 5.691406 -1.390625 5.164062 -1.503906 4.71875 -1.734375 C 4.269531 -1.972656 3.898438 -2.289062 3.609375 -2.6875 C 3.328125 -3.082031 3.113281 -3.53125 2.96875 -4.03125 C 2.832031 -4.539062 2.765625 -5.0625 2.765625 -5.59375 Z M 11.578125 4.328125 L 11.578125 -11.375 L 9.703125 -11.375 L 9.703125 -9.859375 L 9.65625 -9.859375 C 9.445312 -10.191406 9.191406 -10.472656 8.890625 -10.703125 C 8.597656 -10.929688 8.28125 -11.113281 7.9375 -11.25 C 7.601562 -11.394531 7.265625 -11.492188 6.921875 -11.546875 C 6.585938 -11.609375 6.273438 -11.640625 5.984375 -11.640625 C 5.117188 -11.640625 4.359375 -11.476562 3.703125 -11.15625 C 3.054688 -10.84375 2.515625 -10.421875 2.078125 -9.890625 C 1.648438 -9.359375 1.328125 -8.734375 1.109375 -8.015625 C 0.898438 -7.296875 0.796875 -6.53125 0.796875 -5.71875 C 0.796875 -4.914062 0.90625 -4.15625 1.125 -3.4375 C 1.34375 -2.71875 1.664062 -2.082031 2.09375 -1.53125 C 2.53125 -0.988281 3.070312 -0.554688 3.71875 -0.234375 C 4.375 0.078125 5.144531 0.234375 6.03125 0.234375 C 6.820312 0.234375 7.546875 0.0976562 8.203125 -0.171875 C 8.867188 -0.453125 9.351562 -0.910156 9.65625 -1.546875 L 9.703125 -1.546875 L 9.703125 4.328125 Z M 11.578125 4.328125 "/> +</symbol> +<symbol overflow="visible" id="glyph2-17"> +<path style="stroke:none;" d="M 10.828125 0 L 10.828125 -11.375 L 8.953125 -11.375 L 8.953125 -4.953125 C 8.953125 -4.441406 8.878906 -3.96875 8.734375 -3.53125 C 8.597656 -3.09375 8.390625 -2.710938 8.109375 -2.390625 C 7.835938 -2.066406 7.492188 -1.816406 7.078125 -1.640625 C 6.660156 -1.472656 6.164062 -1.390625 5.59375 -1.390625 C 4.875 -1.390625 4.304688 -1.59375 3.890625 -2 C 3.484375 -2.414062 3.28125 -2.972656 3.28125 -3.671875 L 3.28125 -11.375 L 1.40625 -11.375 L 1.40625 -3.890625 C 1.40625 -3.273438 1.46875 -2.710938 1.59375 -2.203125 C 1.71875 -1.703125 1.929688 -1.269531 2.234375 -0.90625 C 2.546875 -0.539062 2.953125 -0.257812 3.453125 -0.0625 C 3.953125 0.132812 4.578125 0.234375 5.328125 0.234375 C 6.160156 0.234375 6.882812 0.0703125 7.5 -0.25 C 8.113281 -0.582031 8.617188 -1.097656 9.015625 -1.796875 L 9.0625 -1.796875 L 9.0625 0 Z M 10.828125 0 "/> +</symbol> +<symbol overflow="visible" id="glyph2-18"> +<path style="stroke:none;" d="M 5.28125 -13.953125 L 5.28125 0 L 7.375 0 L 7.375 -13.953125 L 12.609375 -13.953125 L 12.609375 -15.703125 L 0.046875 -15.703125 L 0.046875 -13.953125 Z M 5.28125 -13.953125 "/> +</symbol> +<symbol overflow="visible" id="glyph2-19"> +<path style="stroke:none;" d="M 2.546875 -3.59375 L 0.6875 -3.59375 C 0.707031 -2.882812 0.847656 -2.285156 1.109375 -1.796875 C 1.378906 -1.304688 1.734375 -0.910156 2.171875 -0.609375 C 2.617188 -0.304688 3.125 -0.09375 3.6875 0.03125 C 4.257812 0.164062 4.863281 0.234375 5.5 0.234375 C 6.070312 0.234375 6.644531 0.175781 7.21875 0.0625 C 7.800781 -0.0390625 8.320312 -0.226562 8.78125 -0.5 C 9.25 -0.78125 9.625 -1.144531 9.90625 -1.59375 C 10.195312 -2.050781 10.34375 -2.628906 10.34375 -3.328125 C 10.34375 -3.867188 10.234375 -4.320312 10.015625 -4.6875 C 9.804688 -5.050781 9.53125 -5.351562 9.1875 -5.59375 C 8.84375 -5.84375 8.445312 -6.039062 8 -6.1875 C 7.550781 -6.332031 7.09375 -6.457031 6.625 -6.5625 C 6.1875 -6.65625 5.742188 -6.75 5.296875 -6.84375 C 4.859375 -6.945312 4.460938 -7.066406 4.109375 -7.203125 C 3.765625 -7.335938 3.476562 -7.507812 3.25 -7.71875 C 3.019531 -7.9375 2.90625 -8.207031 2.90625 -8.53125 C 2.90625 -8.820312 2.976562 -9.0625 3.125 -9.25 C 3.269531 -9.4375 3.457031 -9.582031 3.6875 -9.6875 C 3.925781 -9.800781 4.1875 -9.878906 4.46875 -9.921875 C 4.757812 -9.960938 5.046875 -9.984375 5.328125 -9.984375 C 5.628906 -9.984375 5.929688 -9.953125 6.234375 -9.890625 C 6.535156 -9.828125 6.8125 -9.71875 7.0625 -9.5625 C 7.3125 -9.414062 7.515625 -9.222656 7.671875 -8.984375 C 7.835938 -8.742188 7.9375 -8.441406 7.96875 -8.078125 L 9.828125 -8.078125 C 9.785156 -8.765625 9.640625 -9.335938 9.390625 -9.796875 C 9.140625 -10.265625 8.804688 -10.632812 8.390625 -10.90625 C 7.972656 -11.175781 7.492188 -11.363281 6.953125 -11.46875 C 6.410156 -11.582031 5.816406 -11.640625 5.171875 -11.640625 C 4.671875 -11.640625 4.164062 -11.578125 3.65625 -11.453125 C 3.15625 -11.328125 2.703125 -11.132812 2.296875 -10.875 C 1.890625 -10.625 1.554688 -10.289062 1.296875 -9.875 C 1.046875 -9.46875 0.921875 -8.976562 0.921875 -8.40625 C 0.921875 -7.664062 1.101562 -7.09375 1.46875 -6.6875 C 1.84375 -6.28125 2.300781 -5.960938 2.84375 -5.734375 C 3.394531 -5.503906 3.992188 -5.328125 4.640625 -5.203125 C 5.285156 -5.078125 5.882812 -4.9375 6.4375 -4.78125 C 6.988281 -4.625 7.445312 -4.421875 7.8125 -4.171875 C 8.175781 -3.929688 8.359375 -3.566406 8.359375 -3.078125 C 8.359375 -2.722656 8.269531 -2.429688 8.09375 -2.203125 C 7.914062 -1.984375 7.691406 -1.8125 7.421875 -1.6875 C 7.148438 -1.570312 6.851562 -1.492188 6.53125 -1.453125 C 6.207031 -1.410156 5.898438 -1.390625 5.609375 -1.390625 C 5.222656 -1.390625 4.847656 -1.425781 4.484375 -1.5 C 4.128906 -1.570312 3.8125 -1.691406 3.53125 -1.859375 C 3.25 -2.023438 3.019531 -2.25 2.84375 -2.53125 C 2.664062 -2.820312 2.566406 -3.175781 2.546875 -3.59375 Z M 2.546875 -3.59375 "/> +</symbol> +<symbol overflow="visible" id="glyph2-20"> +<path style="stroke:none;" d="M 1.515625 -15.703125 L 1.515625 0 L 3.390625 0 L 3.390625 -4.3125 L 5.140625 -5.9375 L 9.046875 0 L 11.421875 0 L 6.578125 -7.234375 L 11.09375 -11.375 L 8.578125 -11.375 L 3.390625 -6.40625 L 3.390625 -15.703125 Z M 1.515625 -15.703125 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<rect x="0" y="0" width="901" height="644" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 669.667969 694.078125 L 915 694.078125 L 915 311.34375 L 669.667969 311.34375 Z M 669.667969 694.078125 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 654.332031 725.972656 L 899.667969 725.972656 L 899.667969 343.238281 L 654.332031 343.238281 Z M 654.332031 725.972656 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 639 757.867188 L 884.332031 757.867188 L 884.332031 375.132812 L 639 375.132812 Z M 639 757.867188 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 820.15625 407.25 C 850.617188 419.359375 850.617188 438.992188 820.15625 451.101562 C 789.695312 463.210938 740.304688 463.210938 709.84375 451.101562 C 679.382812 438.992188 679.382812 419.359375 709.84375 407.25 C 740.304688 395.140625 789.695312 395.140625 820.15625 407.25 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="692.86133" y="312.6765"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="711.52853" y="312.6765"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="724.87733" y="312.6765"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-4" x="731.54453" y="312.6765"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="737.79173" y="312.6765"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="749.79173" y="312.6765"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="763.14053" y="312.6765"/> + <use xlink:href="#glyph0-8" x="775.14053" y="312.6765"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 820.15625 494.074219 C 850.617188 506.183594 850.617188 525.816406 820.15625 537.925781 C 789.695312 550.035156 740.304688 550.035156 709.84375 537.925781 C 679.382812 525.816406 679.382812 506.183594 709.84375 494.074219 C 740.304688 481.964844 789.695312 481.964844 820.15625 494.074219 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="682.63086" y="399.5"/> + <use xlink:href="#glyph0-2" x="699.96366" y="399.5"/> + <use xlink:href="#glyph0-6" x="713.31246" y="399.5"/> + <use xlink:href="#glyph0-10" x="726.66126" y="399.5"/> + <use xlink:href="#glyph0-4" x="740.01006" y="399.5"/> + <use xlink:href="#glyph0-11" x="746.68686" y="399.5"/> + <use xlink:href="#glyph0-6" x="764.01966" y="399.5"/> + <use xlink:href="#glyph0-3" x="777.36846" y="399.5"/> + <use xlink:href="#glyph0-6" x="784.04526" y="399.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 820.15625 580.898438 C 850.617188 593.007812 850.617188 612.640625 820.15625 624.75 C 789.695312 636.859375 740.304688 636.859375 709.84375 624.75 C 679.382812 612.640625 679.382812 593.007812 709.84375 580.898438 C 740.304688 568.789062 789.695312 568.789062 820.15625 580.898438 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-12" x="685.52539" y="486.3235"/> + <use xlink:href="#glyph0-13" x="701.53339" y="486.3235"/> + <use xlink:href="#glyph0-2" x="713.53339" y="486.3235"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-14" x="726.88219" y="486.3235"/> + <use xlink:href="#glyph0-4" x="738.88219" y="486.3235"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="745.12939" y="486.3235"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="757.12939" y="486.3235"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="770.47819" y="486.3235"/> + <use xlink:href="#glyph0-8" x="782.47819" y="486.3235"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 820.15625 667.722656 C 850.617188 679.832031 850.617188 699.464844 820.15625 711.574219 C 789.695312 723.683594 740.304688 723.683594 709.84375 711.574219 C 679.382812 699.464844 679.382812 679.832031 709.84375 667.722656 C 740.304688 655.609375 789.695312 655.609375 820.15625 667.722656 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-15" x="683.5332" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-16" x="705.7644" y="573.14706"/> + <use xlink:href="#glyph0-17" x="713.7564" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="719.0892" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="725.7564" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-4" x="739.1052" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="745.7724" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="763.1052" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="776.454" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="783.1212" y="573.14706"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="720.43663" y="174.336301"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="741.29263" y="174.336301"/> + <use xlink:href="#glyph1-3" x="755.06863" y="174.336301"/> + <use xlink:href="#glyph1-4" x="763.06063" y="174.336301"/> + <use xlink:href="#glyph1-5" x="775.51663" y="174.336301"/> + <use xlink:href="#glyph1-3" x="788.40463" y="174.336301"/> +</g> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 765 460.683594 L 765 472.984375 L 765 472.191406 L 765 475.191406 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 765 481.191406 L 768.601562 471.589844 L 765 475.191406 L 761.398438 471.589844 Z M 765 481.191406 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 765 547.507812 L 765 559.808594 L 765 559.015625 L 765 562.015625 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 765 568.015625 L 768.601562 558.414062 L 765 562.015625 L 761.398438 558.414062 Z M 765 568.015625 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 765 634.332031 L 765 646.632812 L 765 645.839844 L 765 648.839844 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 765 654.839844 L 768.601562 645.238281 L 765 648.839844 L 761.398438 645.238281 Z M 765 654.839844 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 842.480469 684.605469 L 862.4375 684.605469 L 862.4375 435.378906 L 843.300781 435.378906 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 837.300781 435.378906 L 846.898438 438.976562 L 843.300781 435.378906 L 846.898438 431.777344 Z M 837.300781 435.378906 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 387 522 L 673.664062 517.449219 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 683.261719 517.296875 L 673.605469 513.851562 L 673.71875 521.050781 Z M 683.261719 517.296875 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.898438 692.886719 L 686.519531 690.34375 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 365.300781 567.972656 L 374.929688 571.484375 L 374.867188 564.285156 Z M 365.300781 567.972656 "/> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 390.300781 692.96875 L 399.929688 696.484375 L 399.867188 689.285156 Z M 390.300781 692.96875 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134 676.265625 L 294 676.265625 L 294 569.949219 L 134 569.949219 Z M 134 676.265625 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 124 685.125 L 284 685.125 L 284 578.808594 L 124 578.808594 Z M 124 685.125 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114 693.984375 L 390 693.984375 L 390 507.933594 L 114 507.933594 Z M 114 693.984375 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110 701.070312 L 270 701.070312 L 270 594.757812 L 110 594.757812 Z M 110 701.070312 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100 709.929688 L 260 709.929688 L 260 603.617188 L 100 603.617188 Z M 100 709.929688 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 90 718.789062 L 366 718.789062 L 366 532.738281 L 90 532.738281 Z M 90 718.789062 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.714844 550.816406 C 252.035156 558.382812 252.035156 570.648438 244.714844 578.210938 C 237.390625 585.777344 225.519531 585.777344 218.199219 578.210938 C 210.878906 570.648438 210.878906 558.382812 218.199219 550.816406 C 225.519531 543.25 237.390625 543.25 244.714844 550.816406 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 201.132812 610.835938 C 208.457031 618.402344 208.457031 630.667969 201.132812 638.234375 C 193.8125 645.796875 181.941406 645.796875 174.621094 638.234375 C 167.296875 630.667969 167.296875 618.402344 174.621094 610.835938 C 181.941406 603.273438 193.8125 603.273438 201.132812 610.835938 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288.507812 610.835938 C 295.832031 618.402344 295.832031 630.667969 288.507812 638.234375 C 281.1875 645.796875 269.316406 645.796875 261.996094 638.234375 C 254.671875 630.667969 254.671875 618.402344 261.996094 610.835938 C 269.316406 603.273438 281.1875 603.273438 288.507812 610.835938 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.003906 670.355469 C 177.328125 677.921875 177.328125 690.1875 170.003906 697.75 C 162.683594 705.316406 150.8125 705.316406 143.492188 697.75 C 136.167969 690.1875 136.167969 677.921875 143.492188 670.355469 C 150.8125 662.789062 162.683594 662.789062 170.003906 670.355469 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 224.480469 670.355469 C 231.804688 677.921875 231.804688 690.1875 224.480469 697.75 C 217.160156 705.316406 205.289062 705.316406 197.96875 697.75 C 190.644531 690.1875 190.644531 677.921875 197.96875 670.355469 C 205.289062 662.789062 217.160156 662.789062 224.480469 670.355469 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 220.203125 580.011719 L 199.128906 609.039062 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.746094 579.984375 L 263.964844 609.066406 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.960938 641.582031 L 165.664062 667.007812 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 194.921875 642.492188 L 204.179688 666.097656 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="118.204" y="372.336301"/> + <use xlink:href="#glyph1-5" x="133.756" y="372.336301"/> + <use xlink:href="#glyph1-3" x="146.644" y="372.336301"/> + <use xlink:href="#glyph1-7" x="154.636" y="372.336301"/> + <use xlink:href="#glyph1-8" x="166.636" y="372.336301"/> + <use xlink:href="#glyph1-7" x="171.964" y="372.336301"/> + <use xlink:href="#glyph1-9" x="183.964" y="372.336301"/> + <use xlink:href="#glyph1-5" x="191.524" y="372.336301"/> + <use xlink:href="#glyph1-10" x="204.412" y="372.336301"/> + <use xlink:href="#glyph1-9" x="217.756" y="372.336301"/> + <use xlink:href="#glyph1-11" x="225.316" y="372.336301"/> + <use xlink:href="#glyph1-12" x="231.988" y="372.336301"/> + <use xlink:href="#glyph1-13" x="248.884" y="372.336301"/> + <use xlink:href="#glyph1-9" x="261.772" y="372.336301"/> + <use xlink:href="#glyph1-13" x="269.332" y="372.336301"/> + <use xlink:href="#glyph1-11" x="282.22" y="372.336301"/> + <use xlink:href="#glyph1-14" x="288.892" y="372.336301"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="300.46" y="372.336301"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="308.02" y="372.336301"/> + <use xlink:href="#glyph1-5" x="320.908" y="372.336301"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="387.9935" y="390.192001"/> + <use xlink:href="#glyph2-2" x="400.2255" y="390.192001"/> + <use xlink:href="#glyph2-3" x="406.3415" y="390.192001"/> + <use xlink:href="#glyph2-4" x="412.4575" y="390.192001"/> + <use xlink:href="#glyph2-5" x="427.5275" y="390.192001"/> + <use xlink:href="#glyph2-6" x="439.3415" y="390.192001"/> + <use xlink:href="#glyph2-7" x="451.1555" y="390.192001"/> + <use xlink:href="#glyph2-3" x="464.2015" y="390.192001"/> + <use xlink:href="#glyph2-8" x="470.3175" y="390.192001"/> + <use xlink:href="#glyph2-6" x="485.8055" y="390.192001"/> + <use xlink:href="#glyph2-9" x="497.6195" y="390.192001"/> + <use xlink:href="#glyph2-6" x="504.5495" y="390.192001"/> + <use xlink:href="#glyph2-3" x="516.3635" y="390.192001"/> + <use xlink:href="#glyph2-10" x="522.4795" y="390.192001"/> + <use xlink:href="#glyph2-5" x="539.1775" y="390.192001"/> + <use xlink:href="#glyph2-6" x="550.9915" y="390.192001"/> + <use xlink:href="#glyph2-11" x="562.8055" y="390.192001"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-12" x="388.0548" y="549.192001"/> + <use xlink:href="#glyph2-2" x="400.2868" y="549.192001"/> + <use xlink:href="#glyph2-3" x="406.4028" y="549.192001"/> + <use xlink:href="#glyph2-13" x="412.5188" y="549.192001"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-11" x="432.4948" y="549.192001"/> + <use xlink:href="#glyph2-14" x="439.8208" y="549.192001"/> + <use xlink:href="#glyph2-9" x="444.7048" y="549.192001"/> + <use xlink:href="#glyph2-5" x="451.6348" y="549.192001"/> + <use xlink:href="#glyph2-3" x="463.4488" y="549.192001"/> + <use xlink:href="#glyph2-8" x="469.5648" y="549.192001"/> + <use xlink:href="#glyph2-6" x="485.0528" y="549.192001"/> + <use xlink:href="#glyph2-9" x="496.8668" y="549.192001"/> + <use xlink:href="#glyph2-6" x="503.7968" y="549.192001"/> + <use xlink:href="#glyph2-3" x="515.6108" y="549.192001"/> + <use xlink:href="#glyph2-10" x="521.7268" y="549.192001"/> + <use xlink:href="#glyph2-5" x="538.4248" y="549.192001"/> + <use xlink:href="#glyph2-6" x="550.2388" y="549.192001"/> + <use xlink:href="#glyph2-11" x="562.0528" y="549.192001"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36 175.386719 L 144 175.386719 L 144 225 L 36 225 Z M 36 175.386719 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 144 175.386719 L 252 175.386719 L 252 225 L 144 225 Z M 144 175.386719 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252 175.386719 L 360 175.386719 L 360 225 L 252 225 Z M 252 175.386719 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360 175.386719 L 468 175.386719 L 468 225 L 360 225 Z M 360 175.386719 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 468 175.386719 L 576 175.386719 L 576 225 L 468 225 Z M 468 175.386719 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-14" x="221.42" y="38.378301"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-13" x="232.532" y="38.378301"/> + <use xlink:href="#glyph1-7" x="245.42" y="38.378301"/> + <use xlink:href="#glyph1-4" x="257.42" y="38.378301"/> + <use xlink:href="#glyph1-15" x="269.876" y="38.378301"/> + <use xlink:href="#glyph1-16" x="288.116" y="38.378301"/> + <use xlink:href="#glyph1-5" x="301.46" y="38.378301"/> + <use xlink:href="#glyph1-16" x="314.348" y="38.378301"/> + <use xlink:href="#glyph1-5" x="327.692" y="38.378301"/> +</g> +<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 468 225 L 714.902344 394.734375 " transform="matrix(1,0,0,1,-25,-125)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 722.8125 400.171875 L 716.941406 391.769531 L 712.863281 397.703125 Z M 722.8125 400.171875 " transform="matrix(1,0,0,1,-25,-125)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-15" x="512.281" y="144.192001"/> + <use xlink:href="#glyph2-2" x="524.513" y="144.192001"/> + <use xlink:href="#glyph2-3" x="530.629" y="144.192001"/> + <use xlink:href="#glyph2-8" x="536.745" y="144.192001"/> + <use xlink:href="#glyph2-5" x="552.233" y="144.192001"/> + <use xlink:href="#glyph2-16" x="564.047" y="144.192001"/> + <use xlink:href="#glyph2-17" x="577.093" y="144.192001"/> + <use xlink:href="#glyph2-5" x="589.325" y="144.192001"/> + <use xlink:href="#glyph2-17" x="601.139" y="144.192001"/> + <use xlink:href="#glyph2-5" x="613.371" y="144.192001"/> + <use xlink:href="#glyph2-3" x="625.185" y="144.192001"/> + <use xlink:href="#glyph2-18" x="631.301" y="144.192001"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-6" x="641.487" y="144.192001"/> + <use xlink:href="#glyph2-19" x="653.301" y="144.192001"/> + <use xlink:href="#glyph2-20" x="664.301" y="144.192001"/> +</g> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Paper/sigos.bib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/sigos.bib Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,147 @@ +@article{ + gears, + author = "河野 真治 and 伊波 立樹 and 東恩納 琢偉", + title = "Code Gear、Data Gear に基づく OS のプロトタイプ", + journal = "情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS)", + month = "May", + year = 2016 +} + +@article{ + cbc, + author = "Kaito TOKKMORI and Shinji KONO", + title = "Implementing Continuation based language in LLVM and Clang", + journal = "LOLA 2015", + month = "July", + year = 2015 +} + +@Misc{mitsuki:2017, + author = "{宮城 光希, 河野 真治}", + title = "{CbC 言語による OS 記述}", + journal = "{琉球大学工学部情報工学科平成 29 年度学位論文}", + year = 2017 +} + + +@Comment Reflection-Refarence +@article{weko_5056_1, + author = "菅野,博靖 and 田中,二郎", + title = "非標準理論とその応用:メタ推論とリフレクション", + journal = "情報処理", + year = "1989", + volume = "30", + number = "6", + month = "jun" +} + +@Comment Agda-Reference + +@article{170000148438, + author="比嘉, 健太 and 河野, 真治", + title="Verification Method of Programs Using Continuation based C", + journal="情報処理学会論文誌プログラミング(PRO)", + ISSN="1882-7802", + publisher="", + year="2017", + month="feb", + volume="10", + number="2", + pages="5-5", + URL="https://ci.nii.ac.jp/naid/170000148438/en/", + DOI="", +} + + +@misc{agda, + title = {The Agda wiki}, + howpublished = {\url{http://wiki.portal.chalmers.se/agda/pmwiki.php}}, + note = {Accessed: 2018/2/9(Fri)} +} + +@misc{coq, + title = {Welcome! | The Coq Proof Assistant}, + howpublished = {\url{https://coq.inria.fr/}}, + note = {Accessed: 2018/02/09(Fri)} +} + +@misc{ats2, + title = {ATS-PL-SYS}, + howpublished = {\url{http://www.ats-lang.org/}}, + note = {Accessed: 2018/02/09(Fri)} +} + +@misc{spin, + title = {Spin - Formal Verification}, + howpublished = {\url{http://spinroot.com/spin/whatispin.html}}, + note = {Accessed: 2018/02/09(Fri)} +} + +@misc{nusmv, + title = {NuSMV home page}, + howpublished = {\url{http://nusmv.fbk.eu/}}, + note = {Accessed: 2018/02/09(Fri)} +} + +@misc{cbmc, + title = {The CBMC Homepage}, + howpublished = {\url{http://www.cprover.org/cbmc/}}, + note = {Accessed: 2018/02/09(Fri)} +} + + +@phdthesis{norell:thesis, + author = {Ulf Norell}, + title = {Towards a practical programming language based on dependent type + theory}, + school = {Department of Computer Science and Engineering, Chalmers University of Technology}, + year = 2007, + month = {September}, + address = {SE-412 96 G\"{o}teborg, Sweden} +} + +@Comment attomisc{agda-tutorial, +@Comment title = {agda-tutorial}, +@Comment howpublished = {\url{http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf}}, +@Comment } +@Comment \bibtem{Agda-Tutorial} +@Comment % {Ulf Norell and James Chapman}: Dependently Typed Programming in Agda +@Comment % \\\verb|http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf| + +@misc{agda-documentation, + title = {Welcome to Agda’s documentation! — Agda 2.6.0 documentation}, + howpublished = {\url{http://agda.readthedocs.io/en/latest/index.html}}, + note = {Accessed: 2018/2/9(Fri)} +} + +@book{Stump:2016:VFP:2841316, + author = {Stump, Aaron}, + title = {Verified Functional Programming in Agda}, + year = {2016}, + isbn = {978-1-97000-127-3}, + publisher = {Association for Computing Machinery and Morgan \&\#38; Claypool}, + address = {New York, NY, USA}, +} + + +@Comment Hoare-Reference + +@article{Hoare1969AnAB, + title={An Axiomatic Basis for Computer Programming}, + author={C. A. R. Hoare}, + journal={Commun. ACM}, + year={1969}, + volume={12}, + pages={576-580} +} + +@book{Girard:1989:PT:64805, + author = {Girard, Jean-Yves and Taylor, Paul and Lafont, Yves}, + title = {Proofs and Types}, + year = {1989}, + isbn = {0-521-37181-3}, + publisher = {Cambridge University Press}, + address = {New York, NY, USA}, +} + + diff -r 000000000000 -r a5facba1adbc Paper/sigos.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/sigos.tex Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,97 @@ +\documentclass[techrep]{ipsjpapers} +\usepackage[dvipdfmx]{graphicx} +\usepackage{url} +\usepackage{listings,jlisting} +\usepackage{enumitem} + +\lstset{ + language=C, + tabsize=2, + frame=single, + basicstyle={\ttfamily\footnotesize},% + identifierstyle={\footnotesize},% + commentstyle={\footnotesize\itshape},% + keywordstyle={\footnotesize\bfseries},% + ndkeywordstyle={\footnotesize},% + stringstyle={\footnotesize\ttfamily}, + breaklines=true, + captionpos=b, + columns=[l]{fullflexible},% + xrightmargin=0zw,% + xleftmargin=1zw,% + aboveskip=1zw, + numberstyle={\scriptsize},% + stepnumber=1, + numbersep=0.5zw,% + lineskip=-0.5ex, +} +\renewcommand{\lstlistingname}{Code} +\usepackage{caption} +\captionsetup[lstlisting]{font={small,tt}} + +\input{dummy.tex} %% Font + +% ユーザが定義したマクロなど. +\makeatletter + +\begin{document} + +% 和文表題 +\title{GearsOS の Agda による記述と検証} +% 英文表題 +\etitle{} + +% 所属ラベルの定義 +\affilabel{1}{琉球大学大学院理工学研究科情報工学専攻 \\Interdisciplinary Information Engineering, Graduate School of Engineering and Science, University of the Ryukyus.} +\affilabel{2}{琉球大学工学部情報工学科\\Information Engineering, University of the Ryukyus.} + +% 和文著者名 +\author{ + 外間 政尊\affiref{1} + \and + 河野 真治\affiref{2} +} + +% 英文著者名 +\eauthor{ + Masataka HOKAMA\affiref{1} + \and + Shinji KONO\affiref{2} +} + +% 連絡先(投稿時に必要.製版用では無視される.) +\contact{外間 政尊\\ + 〒903-0213 沖縄県西原町千原1番地\\ + 琉球大学工学部情報工学科\\ + TEL: (098)895-2221\qquad FAX: (098)895-8727\\ + email: masataka@cr.ie.u-ryukyu.ac.jp} + +% 和文概要 +\begin{abstract} + Gears OS は継続を主とするプログラミング言語 CbC で記述されている。 OS やアプリケーションの信頼性を上げるには仕様を満たしていることを確認する必要がある。 確認方法にはモデル検査と証明がある。 ここでは定理証明支援系Agdaを用いた、CbC 言語の証明方法を考える。 CbC は関数呼び出しを用いず goto 文により遷移する。 これを継続を用いた関数型プログラムとして記述することができる。 この記述はAgda上で決まった形を持つ関数として表すことができる。 Gears OS のモジュールシステムは、実装とAPI を分離することを可能にしている。 このモジュールシステムを Agda 上で記述することができた。 継続は不定の型を返す関数で表されるので、継続に直接要求仕様を Agda の論理式として渡すことができる。 継続には仕様以外にも関数を呼び出すときの前提条件(pre-condition)を追加することが可能である。 これにより、Hoare Logic 的な証明を Agda で記述した CbC に直接載せることが可能になる。 Agda で記述された CbC と実装に用いる CbC は並行した形で存在する。 つまり、CbC のモジュールシステムで記述されたプログラムを比較的機械的に Agda で記述された CbC 変換することができる。 本論文ではAgda 上での CbC の記述手法とその上での Hoare Logic 的な証明手法について考察する。 +\end{abstract} + +% 英文概要 +\begin{eabstract} +\end{eabstract} + +% 表題などの出力 +\maketitle + +% 本文はここから始まる + +% Introduce +% Code Gear は関数に比べて細かく分割されているのでメタ計算をより柔軟に記述できる。 + +% 研究目的 + +% 信頼性の高いOS + +\section{OS での信頼性の保証} +test + +\nocite{*} +\bibliographystyle{ipsjunsrt} +\bibliography{sigos} + +\end{document} diff -r 000000000000 -r a5facba1adbc Paper/src/Stack.cbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/Stack.cbc Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,14 @@ +typedef struct Stack<Impl>{ + union Data* stack; + union Data* data; + union Data* data1; + __code whenEmpty(...); + __code clear(Impl* stack,__code next(...)); + __code push(Impl* stack,union Data* data, __code next(...)); + __code pop(Impl* stack, __code next(union Data*, ...)); + __code pop2(Impl* stack, union Data** data, union Data** data1, __code next(union Data**, union Data**, ...)); + __code isEmpty(Impl* stack, __code next(...), __code whenEmpty(...)); + __code get(Impl* stack, union Data** data, __code next(...)); + __code get2(Impl* stack,..., __code next(...)); + __code next(...); +} Stack; diff -r 000000000000 -r a5facba1adbc Paper/src/atomicImpl.cbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/atomicImpl.cbc Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,6 @@ +__code checkAndSetAtomicReference(struct AtomicReference* atomic, union Data** ptr, union Data* oldData, union Data* newData, __code next(...), __code fail(...)) { + if (__sync_bool_compare_and_swap(ptr, oldData, newData)) { + goto next(...); + } + goto fail(...); +} diff -r 000000000000 -r a5facba1adbc Paper/src/atomicInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/atomicInterface.h Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,9 @@ +typedef struct Atomic<Impl>{ + union Data* atomic; + union Data** ptr; + union Data* oldData; + union Data* newData; + __code checkAndSet(Impl* atomic, union Data** ptr, union Data* oldData, union Data* newData, __code next(...), __code fail(...)); + __code next(...); + __code fail(...); +} Atomic; diff -r 000000000000 -r a5facba1adbc Paper/src/context.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/context.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,23 @@ +#include <stdlib.h> + +#include "context.h" + +extern __code code1_stub(struct Context*); +extern __code code2_stub(struct Context*); +extern __code code3_stub(struct Context*); + +__code initContext(struct Context* context) { + context->heapLimit = sizeof(union Data)*ALLOCATE_SIZE; + context->code = (__code(**) (struct Context*)) NEWN(ALLOCATE_SIZE, void*); + context->data = NEWN(ALLOCATE_SIZE, union Data*); + context->heapStart = NEWN(context->heapLimit, char); + context->heap = context->heapStart; + + context->code[Code1] = code1_stub; + context->code[Code2] = code2_stub; + context->code[Code3] = code3_stub; + +#include "dataGearInit.c" + context->dataNum = 39; + context->tasks = createSingleLinkedQueue(context); +} diff -r 000000000000 -r a5facba1adbc Paper/src/context.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/context.h Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,58 @@ +/* define context */ + +#define ALLOCATE_SIZE 20000000 +#define NEWN(n, type) (type*)(calloc(n, sizeof(type))) +#define ALLOC_DATA(context, dseg) ({ context->data[dseg] = context->heap; context->heap += sizeof(struct dseg); (struct dseg *)context->data[dseg]; }) + +enum Code { + Code1, + Code2, + Code3, +}; + +enum UniqueData { + Allocate, + Tree, + Queue, + Worker, +}; + +struct Context { + enum Code next; + int codeNum; + __code (**code) (struct Context*); + void* heapStart; + void* heap; + long heapLimit; + pthread_t thread; + int thread_num; + int dataNum; + union Data **data; +}; + +union Data { + struct Worker { + int num; + struct Context* contexts; + } worker; + struct Tree { + struct Node* root; + } tree; + struct Node { + // need to tree + enum Code next; + int key; // comparable data segment + union Data* value; + struct Node* left; + struct Node* right; + // need to balancing + enum Color { + Red, + Black, + } color; + } node; + struct Allocate { + enum Code next; + long size; + } allocate; +}; diff -r 000000000000 -r a5facba1adbc Paper/src/context1.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/context1.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,43 @@ +enum Code { + C_cs1, + C_cs2, +}; +enum DataType { + D_Meta, + D_TaskManager, + ... +}; +struct Context { + enum Code next; + struct Worker* worker; + struct TaskManager* taskManager; + int codeNum; + __code (**code) (struct Context*); + void* heapStart; + void* heap; + long heapLimit; + int dataNum; + int idgCount; + int idg; + int maxIdg; + int odg; + int maxOdg; + int workerId; + int gpu; + struct Context* task; + struct Queue* tasks; + union Data **data; +}; +union Data { + struct Meta { + enum DataType type; + long size; + struct Queue* wait; + } meta; + struct Task { + enum Code code; + struct Queue* dataGears; + int idsCount; + } Task; + ... +}; diff -r 000000000000 -r a5facba1adbc Paper/src/context2.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/context2.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,37 @@ +#include <stdlib.h> + +#include "../context.h" + +void initContext(struct Context* context) { + context->heapLimit = sizeof(union Data)*ALLOCATE_SIZE; + context->code = (__code(**) (struct Context*)) NEWN(ALLOCATE_SIZE, void*); + context->data = NEWN(ALLOCATE_SIZE, union Data*); + context->heapStart = NEWN(context->heapLimit, char); + context->heap = context->heapStart; + + context->code[C_cs1] = cs1_stub; + context->code[C_cs2] = cs2_stub; + context->code[C_exit_code] = exit_code_stub; + context->code[C_start_code] = start_code_stub; + +#include "dataGearInit.c" +} +__code meta(struct Context* context, enum Code next) { + // printf("meta %d\n",next); + goto (context->code[next])(context); +} +__code start_code(struct Context* context) { + goto meta(context, context->next); +} +__code start_code_stub(struct Context* context) { + goto start_code(context); +} +__code exit_code(struct Context* context) { + free(context->code); + free(context->data); + free(context->heapStart); + goto exit(0); +} +__code exit_code_stub(struct Context* context) { + goto exit_code(context); +} diff -r 000000000000 -r a5facba1adbc Paper/src/ex_cbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/ex_cbc Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,4 @@ +__code clearSingleLinkedStack(struct SingleLinkedStack* stack,__code next(...)) { + stack->top = NULL; + goto next(...); +} diff -r 000000000000 -r a5facba1adbc Paper/src/ex_code1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/ex_code1 Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,5 @@ +__code pushSingleLinkedStack_stub(struct Context* context) { + SingleLinkedStack* stack = (SingleLinkedStack*)context->data[D_Stack]->Stack.stack->Stack.stack; + Data* data = context->data[D_Stack]->Stack.data; + enum Code next = context->data[D_Stack]->Stack.next; + goto pushSingleLinkedStack(context, stack, data, next); diff -r 000000000000 -r a5facba1adbc Paper/src/ex_code2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/ex_code2 Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,7 @@ +__code pushSingleLinkedStack_stub(struct Context* context) { + SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack); + Data* data = Gearef(context, Stack)->data; + enum Code next = Gearef(context, Stack)->next; + goto pushSingleLinkedStack(context, stack, data, next); +} + diff -r 000000000000 -r a5facba1adbc Paper/src/ex_stack.cbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/ex_stack.cbc Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,12 @@ +__code clearSingleLinkedStack(struct SingleLinkedStack* stack,__code next(...)) { + stack->top = NULL; + goto next(...); +} + +__code pushSingleLinkedStack(struct SingleLinkedStack* stack,union Data* data, __code next(...)) { + Element* element = new Element(); + element->next = stack->top; + element->data = data; + stack->top = element; + goto next(...); +} diff -r 000000000000 -r a5facba1adbc Paper/src/ex_stub --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/ex_stub Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,11 @@ +__code clearSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack,enum Code next) { + stack->top = NULL; + goto meta(context, next); +} + +__code clearSingleLinkedStack_stub(struct Context* context) { + SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack); + enum Code next = Gearef(context, Stack)->next; + goto clearSingleLinkedStack(context, stack, next); +} + diff -r 000000000000 -r a5facba1adbc Paper/src/excbc.cbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/excbc.cbc Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,7 @@ +__code cs0(int a, int b) { + goto cs1(a+b); +} + +__code cs1(int c) { + goto cs2(c); +} diff -r 000000000000 -r a5facba1adbc Paper/src/gencontext.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/gencontext.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,34 @@ +#include <stdlib.h> +#include "../context.h" +void initContext(struct Context* context) { + context->heapLimit = sizeof(union Data)* ALLOCATE_SIZE; + context->code = (__code(**) (struct Context*)) NEWN(ALLOCATE_SIZE, void*); + context->data = NEWN(ALLOCATE_SIZE, union Data*); + context->heapStart = NEWN(context->heapLimit, char); + context->heap = context->heapStart; + context->code[C_cs1] = cs1_stub; + context->code[C_cs2] = cs2_stub; + context->code[C_exit_code] = exit_code_stub; + context->code[C_start_code] = start_code_stub; +#include "dataGearInit.c" +} +__code meta(struct Context* context, enum Code next) { + // printf("meta %d\n",next); + goto (context->code[next])(context); +} +__code start_code(struct Context* context) { + goto meta(context, context->next); +} +__code start_code_stub(struct Context* + context) { + goto start_code(context); +} +__code exit_code(struct Context* context) { + free(context->code); + free(context->data); + free(context->heapStart); + goto exit(0); +} +__code exit_code_stub(struct Context* context ){ + goto exit_code(context); +} diff -r 000000000000 -r a5facba1adbc Paper/src/initcontext.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/initcontext.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,15 @@ +void initContext(struct Context* context) { + context->heapLimit = sizeof(union Data)*ALLOCATE_SIZE; + context->code = (__code(**) (struct Context*)) NEWN(ALLOCATE_SIZE, void*); + context->data = NEWN(ALLOCATE_SIZE, union Data*); + context->heapStart = NEWN(context->heapLimit, char); + context->heap = context->heapStart; + + context->code[C_cs1] = cs1_stub; + context->code[C_cs2] = cs2_stub; + context->code[C_exit_code] = exit_code_stub; + context->code[C_start_code] = start_code_stub; + + ALLOC_DATA(context, Context); + ... +} diff -r 000000000000 -r a5facba1adbc Paper/src/openmp.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/openmp.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,4 @@ +#pragma omp parallel for +for(int i=0;i<N;i++) { + // Processing +} diff -r 000000000000 -r a5facba1adbc Paper/src/stackimpl.cbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/stackimpl.cbc Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,27 @@ +Stack* createSingleLinkedStack(struct Context* context) { + struct Stack* stack = new Stack(); + struct SingleLinkedStack* singleLinkedStack = new SingleLinkedStack(); + stack->stack = (union Data*)singleLinkedStack; + singleLinkedStack->top = NULL; + stack->push = C_pushSingleLinkedStack; + stack->pop = C_popSingleLinkedStack; + stack->pop2 = C_pop2SingleLinkedStack; + stack->get = C_getSingleLinkedStack; + stack->get2 = C_get2SingleLinkedStack; + stack->isEmpty = C_isEmptySingleLinkedStack; + stack->clear = C_clearSingleLinkedStack; + return stack; +} + +__code clearSingleLinkedStack(struct SingleLinkedStack* stack,__code next(...)) { + stack->top = NULL; + goto next(...); +} + +__code pushSingleLinkedStack(struct SingleLinkedStack* stack,union Data* data, __code next(...)) { + Element* element = new Element(); + element->next = stack->top; + element->data = data; + stack->top = element; + goto next(...); +} diff -r 000000000000 -r a5facba1adbc Paper/src/sync_dequeue.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/sync_dequeue.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,20 @@ +// Dequeue +__code getQueue(struct Context* context, struct Queue* queue, struct Node* node) { + if (queue->first == 0) + return; + + struct Element* first = queue->first; + if (__sync_bool_compare_and_swap(&queue->first, first, first->next)) { + queue->count--; + + context->next = GetQueue; + stack_push(context->code_stack, &context->next); + + context->next = first->task->code; + node->key = first->task->key; + + goto meta(context, Get); + } else { + goto meta(context, GetQueue); + } +} diff -r 000000000000 -r a5facba1adbc Paper/src/sync_enqueue.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/sync_enqueue.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,25 @@ +// Enqueue(normal) +__code putQueue3(struct Context* context, struct Queue* queue, struct Element* new_element) { + struct Element* last = queue->last; + + if (__sync_bool_compare_and_swap(&queue->last, last, new_element)) { + last->next = new_element; + queue->count++; + + goto meta(context, context->next); + } else { + goto meta(context, PutQueue3); + } +} + +// Enqueue(nothing element) +__code putQueue4(struct Context* context, struct Queue* queue, struct Element* new_element) { + if (__sync_bool_compare_and_swap(&queue->first, 0, new_element)) { + queue->last = new_element; + queue->count++; + + goto meta(context, context->next); + } else { + goto meta(context, PutQueue3); + } +} diff -r 000000000000 -r a5facba1adbc Paper/src/synchronizedQueue.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/synchronizedQueue.h Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,11 @@ +struct SynchronizedQueue { + struct Element* top; + struct Element* last; + struct Atomic* atomic; +}; + +// Singly Linked List element +struct Element { + union Data* top; + struct Element* next; +}; diff -r 000000000000 -r a5facba1adbc Paper/src/twice.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Paper/src/twice.c Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,16 @@ +// Twice +__code twice(struct Context* context, struct LoopCounter* loopCounter, int index, int alignment, int* array) { + int i = loopCounter->i; + + if (i < alignment) { + array[i+index*alignment] = array[i+index*alignment]*2; + loopCounter->i++; + + goto meta(context, Twice); + } + + loopCounter->i = 0; + + stack_pop(context->code_stack, &context->next); + goto meta(context, context->next); +} diff -r 000000000000 -r a5facba1adbc Slide/fig/Gearef.graffle Binary file Slide/fig/Gearef.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/Gearef.pdf Binary file Slide/fig/Gearef.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/MetaGear.pdf Binary file Slide/fig/MetaGear.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/cbc-hoare.pdf Binary file Slide/fig/cbc-hoare.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/cbc-hoare.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/cbc-hoare.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: cbc-hoare.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 580 175 +%%HiResBoundingBox: 0.000000 0.000000 580.000000 175.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Wed Feb 21 01:38:18 2018 + diff -r 000000000000 -r a5facba1adbc Slide/fig/cgdg.pdf Binary file Slide/fig/cgdg.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/cgdg.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/cgdg.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="580pt" height="76pt" viewBox="0 0 580 76" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 9.28125 -7.984375 L 10.796875 -7.984375 C 10.710938 -8.585938 10.53125 -9.117188 10.25 -9.578125 C 9.976562 -10.046875 9.632812 -10.4375 9.21875 -10.75 C 8.800781 -11.0625 8.320312 -11.296875 7.78125 -11.453125 C 7.25 -11.617188 6.6875 -11.703125 6.09375 -11.703125 C 5.21875 -11.703125 4.441406 -11.539062 3.765625 -11.21875 C 3.085938 -10.90625 2.519531 -10.476562 2.0625 -9.9375 C 1.613281 -9.394531 1.269531 -8.753906 1.03125 -8.015625 C 0.800781 -7.285156 0.6875 -6.507812 0.6875 -5.6875 C 0.6875 -4.851562 0.796875 -4.070312 1.015625 -3.34375 C 1.234375 -2.613281 1.5625 -1.984375 2 -1.453125 C 2.4375 -0.921875 2.984375 -0.503906 3.640625 -0.203125 C 4.304688 0.0976562 5.082031 0.25 5.96875 0.25 C 7.425781 0.25 8.578125 -0.144531 9.421875 -0.9375 C 10.265625 -1.738281 10.757812 -2.859375 10.90625 -4.296875 L 9.390625 -4.296875 C 9.359375 -3.828125 9.257812 -3.390625 9.09375 -2.984375 C 8.9375 -2.585938 8.71875 -2.238281 8.4375 -1.9375 C 8.15625 -1.644531 7.816406 -1.414062 7.421875 -1.25 C 7.035156 -1.09375 6.59375 -1.015625 6.09375 -1.015625 C 5.414062 -1.015625 4.828125 -1.140625 4.328125 -1.390625 C 3.835938 -1.648438 3.4375 -1.992188 3.125 -2.421875 C 2.8125 -2.859375 2.578125 -3.363281 2.421875 -3.9375 C 2.273438 -4.519531 2.203125 -5.140625 2.203125 -5.796875 C 2.203125 -6.390625 2.273438 -6.960938 2.421875 -7.515625 C 2.578125 -8.078125 2.8125 -8.570312 3.125 -9 C 3.4375 -9.425781 3.835938 -9.769531 4.328125 -10.03125 C 4.816406 -10.289062 5.398438 -10.421875 6.078125 -10.421875 C 6.878906 -10.421875 7.570312 -10.21875 8.15625 -9.8125 C 8.738281 -9.40625 9.113281 -8.796875 9.28125 -7.984375 Z M 9.28125 -7.984375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 2.015625 -4.125 C 2.015625 -4.625 2.082031 -5.066406 2.21875 -5.453125 C 2.351562 -5.847656 2.535156 -6.175781 2.765625 -6.4375 C 3.003906 -6.707031 3.28125 -6.910156 3.59375 -7.046875 C 3.90625 -7.191406 4.238281 -7.265625 4.59375 -7.265625 C 4.945312 -7.265625 5.28125 -7.191406 5.59375 -7.046875 C 5.90625 -6.910156 6.175781 -6.707031 6.40625 -6.4375 C 6.644531 -6.175781 6.832031 -5.847656 6.96875 -5.453125 C 7.101562 -5.066406 7.171875 -4.625 7.171875 -4.125 C 7.171875 -3.625 7.101562 -3.175781 6.96875 -2.78125 C 6.832031 -2.394531 6.644531 -2.070312 6.40625 -1.8125 C 6.175781 -1.550781 5.90625 -1.351562 5.59375 -1.21875 C 5.28125 -1.082031 4.945312 -1.015625 4.59375 -1.015625 C 4.238281 -1.015625 3.90625 -1.082031 3.59375 -1.21875 C 3.28125 -1.351562 3.003906 -1.550781 2.765625 -1.8125 C 2.535156 -2.070312 2.351562 -2.394531 2.21875 -2.78125 C 2.082031 -3.175781 2.015625 -3.625 2.015625 -4.125 Z M 0.578125 -4.125 C 0.578125 -3.519531 0.660156 -2.953125 0.828125 -2.421875 C 1.003906 -1.898438 1.257812 -1.445312 1.59375 -1.0625 C 1.9375 -0.675781 2.359375 -0.375 2.859375 -0.15625 C 3.359375 0.0625 3.9375 0.171875 4.59375 0.171875 C 5.25 0.171875 5.828125 0.0625 6.328125 -0.15625 C 6.828125 -0.375 7.242188 -0.675781 7.578125 -1.0625 C 7.921875 -1.445312 8.175781 -1.898438 8.34375 -2.421875 C 8.519531 -2.953125 8.609375 -3.519531 8.609375 -4.125 C 8.609375 -4.738281 8.519531 -5.304688 8.34375 -5.828125 C 8.175781 -6.359375 7.921875 -6.816406 7.578125 -7.203125 C 7.242188 -7.597656 6.828125 -7.90625 6.328125 -8.125 C 5.828125 -8.351562 5.25 -8.46875 4.59375 -8.46875 C 3.9375 -8.46875 3.359375 -8.351562 2.859375 -8.125 C 2.359375 -7.90625 1.9375 -7.597656 1.59375 -7.203125 C 1.257812 -6.816406 1.003906 -6.359375 0.828125 -5.828125 C 0.660156 -5.304688 0.578125 -4.738281 0.578125 -4.125 Z M 0.578125 -4.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 2.015625 -4.0625 C 2.015625 -4.46875 2.054688 -4.863281 2.140625 -5.25 C 2.222656 -5.632812 2.359375 -5.972656 2.546875 -6.265625 C 2.742188 -6.566406 3.003906 -6.804688 3.328125 -6.984375 C 3.648438 -7.171875 4.039062 -7.265625 4.5 -7.265625 C 4.96875 -7.265625 5.363281 -7.175781 5.6875 -7 C 6.019531 -6.820312 6.289062 -6.585938 6.5 -6.296875 C 6.707031 -6.015625 6.859375 -5.679688 6.953125 -5.296875 C 7.054688 -4.921875 7.109375 -4.53125 7.109375 -4.125 C 7.109375 -3.738281 7.0625 -3.359375 6.96875 -2.984375 C 6.875 -2.617188 6.722656 -2.285156 6.515625 -1.984375 C 6.316406 -1.691406 6.054688 -1.457031 5.734375 -1.28125 C 5.421875 -1.101562 5.035156 -1.015625 4.578125 -1.015625 C 4.140625 -1.015625 3.753906 -1.097656 3.421875 -1.265625 C 3.097656 -1.429688 2.832031 -1.660156 2.625 -1.953125 C 2.414062 -2.242188 2.257812 -2.570312 2.15625 -2.9375 C 2.0625 -3.300781 2.015625 -3.675781 2.015625 -4.0625 Z M 8.421875 0 L 8.421875 -11.421875 L 7.0625 -11.421875 L 7.0625 -7.171875 L 7.03125 -7.171875 C 6.875 -7.410156 6.6875 -7.613281 6.46875 -7.78125 C 6.25 -7.945312 6.015625 -8.082031 5.765625 -8.1875 C 5.523438 -8.289062 5.28125 -8.363281 5.03125 -8.40625 C 4.789062 -8.445312 4.566406 -8.46875 4.359375 -8.46875 C 3.722656 -8.46875 3.164062 -8.351562 2.6875 -8.125 C 2.21875 -7.894531 1.828125 -7.582031 1.515625 -7.1875 C 1.203125 -6.800781 0.96875 -6.347656 0.8125 -5.828125 C 0.65625 -5.304688 0.578125 -4.75 0.578125 -4.15625 C 0.578125 -3.570312 0.65625 -3.019531 0.8125 -2.5 C 0.976562 -1.976562 1.21875 -1.519531 1.53125 -1.125 C 1.84375 -0.726562 2.234375 -0.410156 2.703125 -0.171875 C 3.179688 0.0546875 3.742188 0.171875 4.390625 0.171875 C 4.960938 0.171875 5.488281 0.0703125 5.96875 -0.125 C 6.445312 -0.332031 6.800781 -0.664062 7.03125 -1.125 L 7.0625 -1.125 L 7.0625 0 Z M 8.421875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 6.765625 -4.921875 L 2.015625 -4.921875 C 2.035156 -5.242188 2.101562 -5.546875 2.21875 -5.828125 C 2.34375 -6.109375 2.503906 -6.351562 2.703125 -6.5625 C 2.910156 -6.78125 3.15625 -6.953125 3.4375 -7.078125 C 3.71875 -7.203125 4.035156 -7.265625 4.390625 -7.265625 C 4.722656 -7.265625 5.03125 -7.203125 5.3125 -7.078125 C 5.601562 -6.953125 5.851562 -6.785156 6.0625 -6.578125 C 6.269531 -6.367188 6.429688 -6.117188 6.546875 -5.828125 C 6.671875 -5.546875 6.742188 -5.242188 6.765625 -4.921875 Z M 8.078125 -2.625 L 6.734375 -2.625 C 6.617188 -2.082031 6.375 -1.675781 6 -1.40625 C 5.632812 -1.144531 5.164062 -1.015625 4.59375 -1.015625 C 4.144531 -1.015625 3.753906 -1.085938 3.421875 -1.234375 C 3.085938 -1.378906 2.8125 -1.578125 2.59375 -1.828125 C 2.382812 -2.078125 2.234375 -2.363281 2.140625 -2.6875 C 2.046875 -3.019531 2.003906 -3.367188 2.015625 -3.734375 L 8.203125 -3.734375 C 8.222656 -4.234375 8.175781 -4.757812 8.0625 -5.3125 C 7.957031 -5.863281 7.757812 -6.375 7.46875 -6.84375 C 7.175781 -7.3125 6.785156 -7.695312 6.296875 -8 C 5.804688 -8.3125 5.195312 -8.46875 4.46875 -8.46875 C 3.894531 -8.46875 3.367188 -8.359375 2.890625 -8.140625 C 2.421875 -7.929688 2.015625 -7.632812 1.671875 -7.25 C 1.328125 -6.863281 1.054688 -6.410156 0.859375 -5.890625 C 0.671875 -5.367188 0.578125 -4.789062 0.578125 -4.15625 C 0.597656 -3.53125 0.691406 -2.945312 0.859375 -2.40625 C 1.023438 -1.875 1.269531 -1.414062 1.59375 -1.03125 C 1.925781 -0.65625 2.332031 -0.359375 2.8125 -0.140625 C 3.300781 0.0664062 3.878906 0.171875 4.546875 0.171875 C 5.484375 0.171875 6.257812 -0.0625 6.875 -0.53125 C 7.5 -1 7.898438 -1.695312 8.078125 -2.625 Z M 8.078125 -2.625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 9.796875 -1.421875 L 10.1875 0 L 11.15625 0 L 11.15625 -6.015625 L 6.140625 -6.015625 L 6.140625 -4.734375 L 9.796875 -4.734375 C 9.816406 -4.210938 9.742188 -3.722656 9.578125 -3.265625 C 9.421875 -2.816406 9.1875 -2.421875 8.875 -2.078125 C 8.5625 -1.742188 8.175781 -1.484375 7.71875 -1.296875 C 7.257812 -1.109375 6.726562 -1.015625 6.125 -1.015625 C 5.488281 -1.015625 4.925781 -1.140625 4.4375 -1.390625 C 3.957031 -1.640625 3.550781 -1.972656 3.21875 -2.390625 C 2.882812 -2.816406 2.628906 -3.300781 2.453125 -3.84375 C 2.285156 -4.394531 2.203125 -4.96875 2.203125 -5.5625 C 2.203125 -6.175781 2.273438 -6.769531 2.421875 -7.34375 C 2.578125 -7.925781 2.8125 -8.441406 3.125 -8.890625 C 3.4375 -9.347656 3.84375 -9.71875 4.34375 -10 C 4.84375 -10.28125 5.4375 -10.421875 6.125 -10.421875 C 6.550781 -10.421875 6.953125 -10.367188 7.328125 -10.265625 C 7.710938 -10.160156 8.050781 -10.003906 8.34375 -9.796875 C 8.644531 -9.597656 8.894531 -9.34375 9.09375 -9.03125 C 9.300781 -8.71875 9.441406 -8.34375 9.515625 -7.90625 L 11.046875 -7.90625 C 10.929688 -8.570312 10.726562 -9.144531 10.4375 -9.625 C 10.144531 -10.101562 9.78125 -10.492188 9.34375 -10.796875 C 8.914062 -11.109375 8.425781 -11.335938 7.875 -11.484375 C 7.332031 -11.628906 6.75 -11.703125 6.125 -11.703125 C 5.21875 -11.703125 4.425781 -11.53125 3.75 -11.1875 C 3.070312 -10.851562 2.503906 -10.398438 2.046875 -9.828125 C 1.597656 -9.265625 1.257812 -8.609375 1.03125 -7.859375 C 0.800781 -7.109375 0.6875 -6.316406 0.6875 -5.484375 C 0.6875 -4.742188 0.804688 -4.023438 1.046875 -3.328125 C 1.296875 -2.628906 1.65625 -2.015625 2.125 -1.484375 C 2.59375 -0.953125 3.160156 -0.53125 3.828125 -0.21875 C 4.503906 0.09375 5.269531 0.25 6.125 0.25 C 6.800781 0.25 7.46875 0.117188 8.125 -0.140625 C 8.789062 -0.398438 9.347656 -0.828125 9.796875 -1.421875 Z M 9.796875 -1.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 0.96875 -8.265625 L 0.96875 0 L 2.34375 0 L 2.34375 -3.6875 C 2.34375 -4.21875 2.394531 -4.6875 2.5 -5.09375 C 2.601562 -5.507812 2.769531 -5.859375 3 -6.140625 C 3.238281 -6.429688 3.550781 -6.648438 3.9375 -6.796875 C 4.320312 -6.953125 4.785156 -7.03125 5.328125 -7.03125 L 5.328125 -8.46875 C 4.585938 -8.488281 3.976562 -8.335938 3.5 -8.015625 C 3.019531 -7.691406 2.613281 -7.195312 2.28125 -6.53125 L 2.25 -6.53125 L 2.25 -8.265625 Z M 0.96875 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 3.21875 -4.71875 L 5.15625 -10.046875 L 5.1875 -10.046875 L 7.09375 -4.71875 Z M 4.359375 -11.421875 L -0.09375 0 L 1.453125 0 L 2.734375 -3.4375 L 7.5625 -3.4375 L 8.8125 0 L 10.5 0 L 6.03125 -11.421875 Z M 4.359375 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 2.765625 -6.515625 L 2.765625 -10.140625 L 5.8125 -10.140625 C 6.132812 -10.140625 6.441406 -10.117188 6.734375 -10.078125 C 7.035156 -10.046875 7.296875 -9.960938 7.515625 -9.828125 C 7.742188 -9.703125 7.921875 -9.519531 8.046875 -9.28125 C 8.171875 -9.050781 8.234375 -8.738281 8.234375 -8.34375 C 8.234375 -7.726562 8.046875 -7.269531 7.671875 -6.96875 C 7.296875 -6.664062 6.675781 -6.515625 5.8125 -6.515625 Z M 1.25 -11.421875 L 1.25 0 L 6.765625 0 C 7.328125 0 7.820312 -0.09375 8.25 -0.28125 C 8.6875 -0.46875 9.050781 -0.710938 9.34375 -1.015625 C 9.644531 -1.316406 9.867188 -1.664062 10.015625 -2.0625 C 10.160156 -2.457031 10.234375 -2.863281 10.234375 -3.28125 C 10.234375 -3.988281 10.046875 -4.585938 9.671875 -5.078125 C 9.304688 -5.566406 8.769531 -5.882812 8.0625 -6.03125 L 8.0625 -6.0625 C 8.601562 -6.28125 9.019531 -6.609375 9.3125 -7.046875 C 9.613281 -7.492188 9.765625 -8.019531 9.765625 -8.625 C 9.765625 -9.195312 9.628906 -9.679688 9.359375 -10.078125 C 9.097656 -10.472656 8.785156 -10.785156 8.421875 -11.015625 C 8.242188 -11.117188 8.035156 -11.195312 7.796875 -11.25 C 7.554688 -11.300781 7.296875 -11.335938 7.015625 -11.359375 C 6.742188 -11.390625 6.46875 -11.40625 6.1875 -11.40625 C 5.90625 -11.414062 5.640625 -11.421875 5.390625 -11.421875 Z M 2.765625 -1.28125 L 2.765625 -5.234375 L 6.234375 -5.234375 C 6.554688 -5.234375 6.863281 -5.203125 7.15625 -5.140625 C 7.457031 -5.085938 7.722656 -4.988281 7.953125 -4.84375 C 8.179688 -4.695312 8.363281 -4.5 8.5 -4.25 C 8.644531 -4.007812 8.71875 -3.703125 8.71875 -3.328125 C 8.71875 -2.691406 8.523438 -2.191406 8.140625 -1.828125 C 7.765625 -1.460938 7.242188 -1.28125 6.578125 -1.28125 Z M 2.765625 -1.28125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 2.765625 -1.28125 L 2.765625 -10.140625 L 5.328125 -10.140625 C 6.035156 -10.140625 6.628906 -10.039062 7.109375 -9.84375 C 7.585938 -9.644531 7.976562 -9.359375 8.28125 -8.984375 C 8.582031 -8.609375 8.800781 -8.148438 8.9375 -7.609375 C 9.070312 -7.066406 9.140625 -6.457031 9.140625 -5.78125 C 9.140625 -5.070312 9.066406 -4.46875 8.921875 -3.96875 C 8.773438 -3.476562 8.585938 -3.066406 8.359375 -2.734375 C 8.140625 -2.398438 7.890625 -2.132812 7.609375 -1.9375 C 7.328125 -1.75 7.039062 -1.601562 6.75 -1.5 C 6.457031 -1.40625 6.179688 -1.34375 5.921875 -1.3125 C 5.671875 -1.289062 5.460938 -1.28125 5.296875 -1.28125 Z M 1.25 -11.421875 L 1.25 0 L 5.171875 0 C 6.117188 0 6.9375 -0.128906 7.625 -0.390625 C 8.320312 -0.660156 8.894531 -1.046875 9.34375 -1.546875 C 9.789062 -2.054688 10.117188 -2.679688 10.328125 -3.421875 C 10.546875 -4.171875 10.65625 -5.023438 10.65625 -5.984375 C 10.65625 -7.816406 10.179688 -9.179688 9.234375 -10.078125 C 8.285156 -10.972656 6.929688 -11.421875 5.171875 -11.421875 Z M 1.25 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 2.90625 -8.265625 L 2.90625 -10.75 L 1.546875 -10.75 L 1.546875 -8.265625 L 0.140625 -8.265625 L 0.140625 -7.078125 L 1.546875 -7.078125 L 1.546875 -1.8125 C 1.546875 -1.425781 1.582031 -1.113281 1.65625 -0.875 C 1.738281 -0.644531 1.851562 -0.460938 2 -0.328125 C 2.15625 -0.203125 2.359375 -0.113281 2.609375 -0.0625 C 2.859375 -0.0195312 3.160156 0 3.515625 0 L 4.5625 0 L 4.5625 -1.203125 L 3.9375 -1.203125 C 3.71875 -1.203125 3.539062 -1.207031 3.40625 -1.21875 C 3.28125 -1.238281 3.175781 -1.273438 3.09375 -1.328125 C 3.019531 -1.378906 2.96875 -1.453125 2.9375 -1.546875 C 2.914062 -1.648438 2.90625 -1.78125 2.90625 -1.9375 L 2.90625 -7.078125 L 4.5625 -7.078125 L 4.5625 -8.265625 Z M 2.90625 -8.265625 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 194.910156 154.542969 C 223.03125 168.601562 223.03125 191.398438 194.910156 205.457031 C 166.792969 219.515625 121.207031 219.515625 93.089844 205.457031 C 64.96875 191.398438 64.96875 168.601562 93.089844 154.542969 C 121.207031 140.484375 166.792969 140.484375 194.910156 154.542969 " transform="matrix(1,0,0,1,-70,-142)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="37.264" y="34.552002"/> + <use xlink:href="#glyph0-2" x="48.816" y="34.552002"/> + <use xlink:href="#glyph0-3" x="58" y="34.552002"/> + <use xlink:href="#glyph0-4" x="67.488" y="34.552002"/> + <use xlink:href="#glyph0-5" x="76.08" y="34.552002"/> + <use xlink:href="#glyph0-4" x="88.224" y="34.552002"/> + <use xlink:href="#glyph0-6" x="96.816" y="34.552002"/> + <use xlink:href="#glyph0-7" x="105.408" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-8" x="68.816" y="53"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 626.910156 154.542969 C 655.03125 168.601562 655.03125 191.398438 626.910156 205.457031 C 598.792969 219.515625 553.207031 219.515625 525.089844 205.457031 C 496.96875 191.398438 496.96875 168.601562 525.089844 154.542969 C 553.207031 140.484375 598.792969 140.484375 626.910156 154.542969 " transform="matrix(1,0,0,1,-70,-142)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="469.264" y="34.552002"/> + <use xlink:href="#glyph0-2" x="480.816" y="34.552002"/> + <use xlink:href="#glyph0-3" x="490" y="34.552002"/> + <use xlink:href="#glyph0-4" x="499.488" y="34.552002"/> + <use xlink:href="#glyph0-5" x="508.08" y="34.552002"/> + <use xlink:href="#glyph0-4" x="520.224" y="34.552002"/> + <use xlink:href="#glyph0-6" x="528.816" y="34.552002"/> + <use xlink:href="#glyph0-7" x="537.408" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="498.296" y="53"/> + <use xlink:href="#glyph0-10" x="502.744" y="53"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216 180 L 361.5 180 " transform="matrix(1,0,0,1,-70,-142)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288 180 L 498.601562 180 " transform="matrix(1,0,0,1,-70,-142)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 506.601562 180 L 498.601562 177 L 498.601562 183 Z M 506.601562 180 " transform="matrix(1,0,0,1,-70,-142)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288 144 L 423 144 L 423 216 L 288 216 Z M 288 144 " transform="matrix(1,0,0,1,-70,-142)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="251.428" y="43.776001"/> + <use xlink:href="#glyph0-6" x="262.692" y="43.776001"/> + <use xlink:href="#glyph0-12" x="271.284" y="43.776001"/> + <use xlink:href="#glyph0-6" x="276.324" y="43.776001"/> + <use xlink:href="#glyph0-5" x="284.916" y="43.776001"/> + <use xlink:href="#glyph0-4" x="297.06" y="43.776001"/> + <use xlink:href="#glyph0-6" x="305.652" y="43.776001"/> + <use xlink:href="#glyph0-7" x="314.244" y="43.776001"/> +</g> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Slide/fig/clang_llvm_structure.pdf Binary file Slide/fig/clang_llvm_structure.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/clang_llvm_structure.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/clang_llvm_structure.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,545 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="790.5pt" height="463.5pt" viewBox="0 0 790.5 463.5" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 0.78125 0 L 0.78125 -17.21875 L 14.4375 -17.21875 L 14.4375 0 Z M 12.28125 -2.15625 L 12.28125 -15.0625 L 2.9375 -15.0625 L 2.9375 -2.15625 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 1.828125 -17.21875 L 4.15625 -17.21875 L 4.15625 -2.046875 L 12.875 -2.046875 L 12.875 0 L 1.828125 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 3.1875 -17.21875 L 8.140625 -2.5625 L 13.015625 -17.21875 L 15.640625 -17.21875 L 9.359375 0 L 6.875 0 L 0.609375 -17.21875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 1.765625 -17.21875 L 5.109375 -17.21875 L 10.0625 -2.65625 L 14.96875 -17.21875 L 18.265625 -17.21875 L 18.265625 0 L 16.0625 0 L 16.0625 -10.15625 C 16.0625 -10.507812 16.066406 -11.09375 16.078125 -11.90625 C 16.097656 -12.71875 16.109375 -13.585938 16.109375 -14.515625 L 11.1875 0 L 8.890625 0 L 3.9375 -14.515625 L 3.9375 -14 C 3.9375 -13.570312 3.945312 -12.925781 3.96875 -12.0625 C 3.988281 -11.195312 4 -10.5625 4 -10.15625 L 4 0 L 1.765625 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 2.359375 -17.21875 L 4.71875 -17.21875 L 4.71875 0 L 2.359375 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 9.828125 -9.328125 C 10.921875 -9.328125 11.785156 -9.546875 12.421875 -9.984375 C 13.066406 -10.421875 13.390625 -11.210938 13.390625 -12.359375 C 13.390625 -13.578125 12.941406 -14.410156 12.046875 -14.859375 C 11.566406 -15.097656 10.929688 -15.21875 10.140625 -15.21875 L 4.4375 -15.21875 L 4.4375 -9.328125 Z M 2.109375 -17.21875 L 10.078125 -17.21875 C 11.390625 -17.21875 12.472656 -17.023438 13.328125 -16.640625 C 14.941406 -15.910156 15.75 -14.554688 15.75 -12.578125 C 15.75 -11.546875 15.535156 -10.703125 15.109375 -10.046875 C 14.679688 -9.390625 14.085938 -8.863281 13.328125 -8.46875 C 13.992188 -8.1875 14.5 -7.820312 14.84375 -7.375 C 15.1875 -6.9375 15.375 -6.21875 15.40625 -5.21875 L 15.5 -2.90625 C 15.519531 -2.25 15.570312 -1.757812 15.65625 -1.4375 C 15.800781 -0.894531 16.050781 -0.546875 16.40625 -0.390625 L 16.40625 0 L 13.546875 0 C 13.472656 -0.144531 13.410156 -0.332031 13.359375 -0.5625 C 13.316406 -0.800781 13.28125 -1.257812 13.25 -1.9375 L 13.109375 -4.8125 C 13.046875 -5.9375 12.625 -6.6875 11.84375 -7.0625 C 11.40625 -7.28125 10.707031 -7.390625 9.75 -7.390625 L 4.4375 -7.390625 L 4.4375 0 L 2.109375 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 10.671875 -7.0625 L 8.046875 -14.65625 L 5.28125 -7.0625 Z M 6.828125 -17.21875 L 9.46875 -17.21875 L 15.71875 0 L 13.15625 0 L 11.421875 -5.15625 L 4.609375 -5.15625 L 2.75 0 L 0.359375 0 Z M 8.046875 -17.21875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 2.796875 -3.9375 C 2.859375 -3.238281 3.035156 -2.703125 3.328125 -2.328125 C 3.859375 -1.640625 4.78125 -1.296875 6.09375 -1.296875 C 6.875 -1.296875 7.5625 -1.46875 8.15625 -1.8125 C 8.75 -2.15625 9.046875 -2.679688 9.046875 -3.390625 C 9.046875 -3.929688 8.804688 -4.34375 8.328125 -4.625 C 8.023438 -4.789062 7.425781 -4.988281 6.53125 -5.21875 L 4.859375 -5.640625 C 3.785156 -5.898438 2.992188 -6.195312 2.484375 -6.53125 C 1.578125 -7.101562 1.125 -7.890625 1.125 -8.890625 C 1.125 -10.078125 1.550781 -11.035156 2.40625 -11.765625 C 3.257812 -12.503906 4.410156 -12.875 5.859375 -12.875 C 7.753906 -12.875 9.117188 -12.320312 9.953125 -11.21875 C 10.472656 -10.507812 10.726562 -9.75 10.71875 -8.9375 L 8.71875 -8.9375 C 8.675781 -9.414062 8.507812 -9.851562 8.21875 -10.25 C 7.726562 -10.800781 6.890625 -11.078125 5.703125 -11.078125 C 4.898438 -11.078125 4.289062 -10.921875 3.875 -10.609375 C 3.46875 -10.304688 3.265625 -9.90625 3.265625 -9.40625 C 3.265625 -8.863281 3.535156 -8.425781 4.078125 -8.09375 C 4.390625 -7.90625 4.851562 -7.734375 5.46875 -7.578125 L 6.859375 -7.25 C 8.367188 -6.875 9.382812 -6.515625 9.90625 -6.171875 C 10.726562 -5.640625 11.140625 -4.796875 11.140625 -3.640625 C 11.140625 -2.515625 10.710938 -1.546875 9.859375 -0.734375 C 9.015625 0.078125 7.722656 0.484375 5.984375 0.484375 C 4.117188 0.484375 2.796875 0.0625 2.015625 -0.78125 C 1.242188 -1.632812 0.832031 -2.6875 0.78125 -3.9375 Z M 5.921875 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 6.78125 -12.828125 C 7.664062 -12.828125 8.523438 -12.617188 9.359375 -12.203125 C 10.203125 -11.785156 10.84375 -11.242188 11.28125 -10.578125 C 11.695312 -9.953125 11.976562 -9.21875 12.125 -8.375 C 12.25 -7.789062 12.3125 -6.867188 12.3125 -5.609375 L 3.109375 -5.609375 C 3.148438 -4.328125 3.453125 -3.300781 4.015625 -2.53125 C 4.578125 -1.769531 5.445312 -1.390625 6.625 -1.390625 C 7.726562 -1.390625 8.609375 -1.75 9.265625 -2.46875 C 9.640625 -2.894531 9.90625 -3.382812 10.0625 -3.9375 L 12.125 -3.9375 C 12.070312 -3.476562 11.890625 -2.960938 11.578125 -2.390625 C 11.273438 -1.828125 10.929688 -1.367188 10.546875 -1.015625 C 9.910156 -0.390625 9.117188 0.0351562 8.171875 0.265625 C 7.660156 0.390625 7.085938 0.453125 6.453125 0.453125 C 4.890625 0.453125 3.5625 -0.113281 2.46875 -1.25 C 1.382812 -2.394531 0.84375 -3.988281 0.84375 -6.03125 C 0.84375 -8.050781 1.390625 -9.6875 2.484375 -10.9375 C 3.578125 -12.195312 5.007812 -12.828125 6.78125 -12.828125 Z M 10.140625 -7.28125 C 10.054688 -8.195312 9.859375 -8.925781 9.546875 -9.46875 C 8.960938 -10.488281 7.992188 -11 6.640625 -11 C 5.671875 -11 4.859375 -10.644531 4.203125 -9.9375 C 3.546875 -9.238281 3.203125 -8.351562 3.171875 -7.28125 Z M 6.578125 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 1.546875 -12.546875 L 3.640625 -12.546875 L 3.640625 -10.765625 C 4.140625 -11.390625 4.59375 -11.84375 5 -12.125 C 5.6875 -12.59375 6.472656 -12.828125 7.359375 -12.828125 C 8.359375 -12.828125 9.164062 -12.582031 9.78125 -12.09375 C 10.125 -11.8125 10.4375 -11.398438 10.71875 -10.859375 C 11.1875 -11.523438 11.734375 -12.019531 12.359375 -12.34375 C 12.992188 -12.664062 13.707031 -12.828125 14.5 -12.828125 C 16.1875 -12.828125 17.332031 -12.21875 17.9375 -11 C 18.269531 -10.34375 18.4375 -9.460938 18.4375 -8.359375 L 18.4375 0 L 16.25 0 L 16.25 -8.71875 C 16.25 -9.550781 16.035156 -10.125 15.609375 -10.4375 C 15.191406 -10.75 14.6875 -10.90625 14.09375 -10.90625 C 13.257812 -10.90625 12.539062 -10.628906 11.9375 -10.078125 C 11.34375 -9.523438 11.046875 -8.597656 11.046875 -7.296875 L 11.046875 0 L 8.90625 0 L 8.90625 -8.1875 C 8.90625 -9.039062 8.804688 -9.664062 8.609375 -10.0625 C 8.285156 -10.644531 7.6875 -10.9375 6.8125 -10.9375 C 6.007812 -10.9375 5.28125 -10.625 4.625 -10 C 3.976562 -9.382812 3.65625 -8.269531 3.65625 -6.65625 L 3.65625 0 L 1.546875 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 1.390625 -17.28125 L 3.4375 -17.28125 L 3.4375 -11.03125 C 3.894531 -11.632812 4.441406 -12.09375 5.078125 -12.40625 C 5.722656 -12.71875 6.421875 -12.875 7.171875 -12.875 C 8.734375 -12.875 10 -12.335938 10.96875 -11.265625 C 11.945312 -10.191406 12.4375 -8.609375 12.4375 -6.515625 C 12.4375 -4.535156 11.953125 -2.882812 10.984375 -1.5625 C 10.023438 -0.25 8.695312 0.40625 7 0.40625 C 6.039062 0.40625 5.234375 0.171875 4.578125 -0.296875 C 4.191406 -0.566406 3.773438 -1.003906 3.328125 -1.609375 L 3.328125 0 L 1.390625 0 Z M 6.875 -1.46875 C 8.007812 -1.46875 8.859375 -1.921875 9.421875 -2.828125 C 9.992188 -3.734375 10.28125 -4.925781 10.28125 -6.40625 C 10.28125 -7.726562 9.992188 -8.820312 9.421875 -9.6875 C 8.859375 -10.5625 8.023438 -11 6.921875 -11 C 5.960938 -11 5.117188 -10.640625 4.390625 -9.921875 C 3.671875 -9.210938 3.3125 -8.039062 3.3125 -6.40625 C 3.3125 -5.226562 3.460938 -4.273438 3.765625 -3.546875 C 4.316406 -2.160156 5.351562 -1.46875 6.875 -1.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 1.609375 -17.21875 L 3.71875 -17.21875 L 3.71875 0 L 1.609375 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 9.390625 -12.546875 L 11.71875 -12.546875 C 11.425781 -11.742188 10.765625 -9.910156 9.734375 -7.046875 C 8.972656 -4.890625 8.332031 -3.128906 7.8125 -1.765625 C 6.59375 1.429688 5.734375 3.378906 5.234375 4.078125 C 4.734375 4.785156 3.875 5.140625 2.65625 5.140625 C 2.363281 5.140625 2.132812 5.128906 1.96875 5.109375 C 1.8125 5.085938 1.617188 5.046875 1.390625 4.984375 L 1.390625 3.0625 C 1.753906 3.164062 2.015625 3.226562 2.171875 3.25 C 2.335938 3.269531 2.484375 3.28125 2.609375 3.28125 C 3.003906 3.28125 3.289062 3.210938 3.46875 3.078125 C 3.65625 2.953125 3.8125 2.796875 3.9375 2.609375 C 3.976562 2.546875 4.117188 2.222656 4.359375 1.640625 C 4.597656 1.066406 4.773438 0.640625 4.890625 0.359375 L 0.25 -12.546875 L 2.640625 -12.546875 L 6 -2.328125 Z M 5.984375 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 9.078125 -17.6875 C 11.265625 -17.6875 12.957031 -17.109375 14.15625 -15.953125 C 15.363281 -14.804688 16.03125 -13.503906 16.15625 -12.046875 L 13.890625 -12.046875 C 13.628906 -13.160156 13.113281 -14.039062 12.34375 -14.6875 C 11.570312 -15.332031 10.492188 -15.65625 9.109375 -15.65625 C 7.410156 -15.65625 6.039062 -15.054688 5 -13.859375 C 3.957031 -12.671875 3.4375 -10.847656 3.4375 -8.390625 C 3.4375 -6.378906 3.90625 -4.742188 4.84375 -3.484375 C 5.789062 -2.234375 7.195312 -1.609375 9.0625 -1.609375 C 10.78125 -1.609375 12.085938 -2.269531 12.984375 -3.59375 C 13.460938 -4.28125 13.816406 -5.191406 14.046875 -6.328125 L 16.328125 -6.328125 C 16.117188 -4.515625 15.445312 -2.992188 14.3125 -1.765625 C 12.945312 -0.285156 11.101562 0.453125 8.78125 0.453125 C 6.78125 0.453125 5.097656 -0.15625 3.734375 -1.375 C 1.953125 -2.976562 1.0625 -5.453125 1.0625 -8.796875 C 1.0625 -11.328125 1.734375 -13.40625 3.078125 -15.03125 C 4.523438 -16.800781 6.523438 -17.6875 9.078125 -17.6875 Z M 8.609375 -17.6875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 6.53125 -1.359375 C 7.925781 -1.359375 8.882812 -1.882812 9.40625 -2.9375 C 9.925781 -4 10.1875 -5.179688 10.1875 -6.484375 C 10.1875 -7.648438 10 -8.601562 9.625 -9.34375 C 9.03125 -10.5 8.003906 -11.078125 6.546875 -11.078125 C 5.265625 -11.078125 4.328125 -10.582031 3.734375 -9.59375 C 3.148438 -8.613281 2.859375 -7.425781 2.859375 -6.03125 C 2.859375 -4.695312 3.148438 -3.582031 3.734375 -2.6875 C 4.328125 -1.800781 5.257812 -1.359375 6.53125 -1.359375 Z M 6.609375 -12.921875 C 8.222656 -12.921875 9.585938 -12.378906 10.703125 -11.296875 C 11.828125 -10.222656 12.390625 -8.640625 12.390625 -6.546875 C 12.390625 -4.515625 11.894531 -2.835938 10.90625 -1.515625 C 9.925781 -0.203125 8.398438 0.453125 6.328125 0.453125 C 4.597656 0.453125 3.222656 -0.128906 2.203125 -1.296875 C 1.191406 -2.460938 0.6875 -4.03125 0.6875 -6 C 0.6875 -8.113281 1.222656 -9.796875 2.296875 -11.046875 C 3.367188 -12.296875 4.804688 -12.921875 6.609375 -12.921875 Z M 6.546875 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 2.890625 -6.125 C 2.890625 -4.78125 3.171875 -3.65625 3.734375 -2.75 C 4.304688 -1.84375 5.222656 -1.390625 6.484375 -1.390625 C 7.460938 -1.390625 8.265625 -1.8125 8.890625 -2.65625 C 9.515625 -3.5 9.828125 -4.703125 9.828125 -6.265625 C 9.828125 -7.859375 9.503906 -9.035156 8.859375 -9.796875 C 8.210938 -10.554688 7.410156 -10.9375 6.453125 -10.9375 C 5.390625 -10.9375 4.53125 -10.53125 3.875 -9.71875 C 3.21875 -8.90625 2.890625 -7.707031 2.890625 -6.125 Z M 6.0625 -12.78125 C 7.019531 -12.78125 7.820312 -12.578125 8.46875 -12.171875 C 8.84375 -11.929688 9.269531 -11.519531 9.75 -10.9375 L 9.75 -17.28125 L 11.78125 -17.28125 L 11.78125 0 L 9.875 0 L 9.875 -1.75 C 9.382812 -0.976562 8.800781 -0.414062 8.125 -0.0625 C 7.457031 0.28125 6.691406 0.453125 5.828125 0.453125 C 4.429688 0.453125 3.21875 -0.132812 2.1875 -1.3125 C 1.164062 -2.488281 0.65625 -4.054688 0.65625 -6.015625 C 0.65625 -7.835938 1.117188 -9.421875 2.046875 -10.765625 C 2.984375 -12.109375 4.320312 -12.78125 6.0625 -12.78125 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 5.46875 -17.21875 L 7.25 -17.21875 L 1.78125 0 L 0 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 1.078125 -5.140625 L 1.078125 -7.109375 L 6.1875 -7.109375 L 6.1875 -12.25 L 8.1875 -12.25 L 8.1875 -7.109375 L 13.296875 -7.109375 L 13.296875 -5.140625 L 8.1875 -5.140625 L 8.1875 0 L 6.1875 0 L 6.1875 -5.140625 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 9.265625 -17.6875 C 12.296875 -17.6875 14.546875 -16.707031 16.015625 -14.75 C 17.148438 -13.226562 17.71875 -11.28125 17.71875 -8.90625 C 17.71875 -6.332031 17.066406 -4.195312 15.765625 -2.5 C 14.234375 -0.5 12.050781 0.5 9.21875 0.5 C 6.5625 0.5 4.476562 -0.375 2.96875 -2.125 C 1.613281 -3.8125 0.9375 -5.941406 0.9375 -8.515625 C 0.9375 -10.847656 1.515625 -12.84375 2.671875 -14.5 C 4.160156 -16.625 6.359375 -17.6875 9.265625 -17.6875 Z M 9.5 -1.578125 C 11.550781 -1.578125 13.035156 -2.3125 13.953125 -3.78125 C 14.867188 -5.257812 15.328125 -6.957031 15.328125 -8.875 C 15.328125 -10.894531 14.796875 -12.519531 13.734375 -13.75 C 12.679688 -14.988281 11.238281 -15.609375 9.40625 -15.609375 C 7.625 -15.609375 6.171875 -14.992188 5.046875 -13.765625 C 3.921875 -12.546875 3.359375 -10.75 3.359375 -8.375 C 3.359375 -6.46875 3.835938 -4.859375 4.796875 -3.546875 C 5.765625 -2.234375 7.332031 -1.578125 9.5 -1.578125 Z M 9.328125 -17.6875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d="M 3.65625 -14.78125 L 1.546875 -14.78125 L 1.546875 -17.21875 L 3.65625 -17.21875 Z M -0.453125 3.171875 C 0.492188 3.140625 1.0625 3.054688 1.25 2.921875 C 1.445312 2.785156 1.546875 2.359375 1.546875 1.640625 L 1.546875 -12.5 L 3.65625 -12.5 L 3.65625 1.859375 C 3.65625 2.773438 3.507812 3.460938 3.21875 3.921875 C 2.71875 4.679688 1.78125 5.0625 0.40625 5.0625 C 0.3125 5.0625 0.207031 5.054688 0.09375 5.046875 C -0.0195312 5.046875 -0.203125 5.03125 -0.453125 5 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 1 -7.765625 L 6.875 -7.765625 L 6.875 -5.609375 L 1 -5.609375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-22"> +<path style="stroke:none;" d="M 6.390625 -12.921875 C 7.804688 -12.921875 8.957031 -12.578125 9.84375 -11.890625 C 10.726562 -11.203125 11.257812 -10.015625 11.4375 -8.328125 L 9.390625 -8.328125 C 9.265625 -9.109375 8.976562 -9.753906 8.53125 -10.265625 C 8.082031 -10.773438 7.367188 -11.03125 6.390625 -11.03125 C 5.046875 -11.03125 4.082031 -10.375 3.5 -9.0625 C 3.125 -8.207031 2.9375 -7.15625 2.9375 -5.90625 C 2.9375 -4.644531 3.203125 -3.582031 3.734375 -2.71875 C 4.265625 -1.863281 5.101562 -1.4375 6.25 -1.4375 C 7.125 -1.4375 7.816406 -1.703125 8.328125 -2.234375 C 8.835938 -2.773438 9.191406 -3.507812 9.390625 -4.4375 L 11.4375 -4.4375 C 11.207031 -2.78125 10.625 -1.566406 9.6875 -0.796875 C 8.75 -0.0234375 7.546875 0.359375 6.078125 0.359375 C 4.441406 0.359375 3.132812 -0.238281 2.15625 -1.4375 C 1.175781 -2.632812 0.6875 -4.132812 0.6875 -5.9375 C 0.6875 -8.132812 1.222656 -9.847656 2.296875 -11.078125 C 3.367188 -12.304688 4.734375 -12.921875 6.390625 -12.921875 Z M 6.0625 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-23"> +<path style="stroke:none;" d="M 3.171875 -3.34375 C 3.171875 -2.726562 3.390625 -2.242188 3.828125 -1.890625 C 4.273438 -1.546875 4.804688 -1.375 5.421875 -1.375 C 6.160156 -1.375 6.878906 -1.546875 7.578125 -1.890625 C 8.742188 -2.460938 9.328125 -3.394531 9.328125 -4.6875 L 9.328125 -6.390625 C 9.066406 -6.222656 8.734375 -6.082031 8.328125 -5.96875 C 7.921875 -5.863281 7.523438 -5.789062 7.140625 -5.75 L 5.859375 -5.578125 C 5.097656 -5.472656 4.523438 -5.3125 4.140625 -5.09375 C 3.492188 -4.726562 3.171875 -4.144531 3.171875 -3.34375 Z M 8.28125 -7.609375 C 8.757812 -7.671875 9.082031 -7.875 9.25 -8.21875 C 9.34375 -8.40625 9.390625 -8.675781 9.390625 -9.03125 C 9.390625 -9.75 9.132812 -10.269531 8.625 -10.59375 C 8.113281 -10.914062 7.378906 -11.078125 6.421875 -11.078125 C 5.316406 -11.078125 4.535156 -10.78125 4.078125 -10.1875 C 3.816406 -9.851562 3.648438 -9.363281 3.578125 -8.71875 L 1.609375 -8.71875 C 1.648438 -10.269531 2.148438 -11.347656 3.109375 -11.953125 C 4.078125 -12.554688 5.195312 -12.859375 6.46875 -12.859375 C 7.945312 -12.859375 9.144531 -12.578125 10.0625 -12.015625 C 10.976562 -11.453125 11.4375 -10.578125 11.4375 -9.390625 L 11.4375 -2.15625 C 11.4375 -1.9375 11.476562 -1.757812 11.5625 -1.625 C 11.65625 -1.5 11.847656 -1.4375 12.140625 -1.4375 C 12.234375 -1.4375 12.335938 -1.441406 12.453125 -1.453125 C 12.578125 -1.460938 12.703125 -1.476562 12.828125 -1.5 L 12.828125 0.0625 C 12.503906 0.15625 12.253906 0.210938 12.078125 0.234375 C 11.910156 0.253906 11.675781 0.265625 11.375 0.265625 C 10.65625 0.265625 10.128906 0.0078125 9.796875 -0.5 C 9.628906 -0.78125 9.507812 -1.171875 9.4375 -1.671875 C 9.007812 -1.109375 8.390625 -0.617188 7.578125 -0.203125 C 6.773438 0.210938 5.890625 0.421875 4.921875 0.421875 C 3.753906 0.421875 2.800781 0.0664062 2.0625 -0.640625 C 1.332031 -1.347656 0.96875 -2.234375 0.96875 -3.296875 C 0.96875 -4.460938 1.328125 -5.363281 2.046875 -6 C 2.773438 -6.644531 3.726562 -7.039062 4.90625 -7.1875 Z M 6.53125 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-24"> +<path style="stroke:none;" d="M 1.546875 -12.546875 L 3.546875 -12.546875 L 3.546875 -10.765625 C 4.140625 -11.503906 4.769531 -12.03125 5.4375 -12.34375 C 6.101562 -12.664062 6.84375 -12.828125 7.65625 -12.828125 C 9.4375 -12.828125 10.640625 -12.207031 11.265625 -10.96875 C 11.609375 -10.289062 11.78125 -9.316406 11.78125 -8.046875 L 11.78125 0 L 9.640625 0 L 9.640625 -7.90625 C 9.640625 -8.675781 9.523438 -9.296875 9.296875 -9.765625 C 8.921875 -10.546875 8.238281 -10.9375 7.25 -10.9375 C 6.75 -10.9375 6.34375 -10.882812 6.03125 -10.78125 C 5.445312 -10.613281 4.9375 -10.269531 4.5 -9.75 C 4.144531 -9.332031 3.914062 -8.90625 3.8125 -8.46875 C 3.707031 -8.03125 3.65625 -7.398438 3.65625 -6.578125 L 3.65625 0 L 1.546875 0 Z M 6.5 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-25"> +<path style="stroke:none;" d="M 5.984375 -12.78125 C 6.960938 -12.78125 7.820312 -12.535156 8.5625 -12.046875 C 8.957031 -11.773438 9.363281 -11.378906 9.78125 -10.859375 L 9.78125 -12.4375 L 11.71875 -12.4375 L 11.71875 -1.015625 C 11.71875 0.578125 11.484375 1.832031 11.015625 2.75 C 10.140625 4.457031 8.488281 5.3125 6.0625 5.3125 C 4.707031 5.3125 3.566406 5.007812 2.640625 4.40625 C 1.722656 3.800781 1.210938 2.851562 1.109375 1.5625 L 3.25 1.5625 C 3.351562 2.125 3.554688 2.554688 3.859375 2.859375 C 4.335938 3.328125 5.085938 3.5625 6.109375 3.5625 C 7.722656 3.5625 8.78125 2.992188 9.28125 1.859375 C 9.582031 1.179688 9.71875 -0.0195312 9.6875 -1.75 C 9.269531 -1.101562 8.765625 -0.625 8.171875 -0.3125 C 7.578125 0 6.789062 0.15625 5.8125 0.15625 C 4.457031 0.15625 3.269531 -0.328125 2.25 -1.296875 C 1.226562 -2.265625 0.71875 -3.859375 0.71875 -6.078125 C 0.71875 -8.179688 1.226562 -9.820312 2.25 -11 C 3.28125 -12.1875 4.523438 -12.78125 5.984375 -12.78125 Z M 9.78125 -6.328125 C 9.78125 -7.878906 9.457031 -9.03125 8.8125 -9.78125 C 8.175781 -10.53125 7.359375 -10.90625 6.359375 -10.90625 C 4.878906 -10.90625 3.863281 -10.210938 3.3125 -8.828125 C 3.03125 -8.085938 2.890625 -7.113281 2.890625 -5.90625 C 2.890625 -4.488281 3.175781 -3.410156 3.75 -2.671875 C 4.320312 -1.941406 5.09375 -1.578125 6.0625 -1.578125 C 7.570312 -1.578125 8.640625 -2.257812 9.265625 -3.625 C 9.609375 -4.394531 9.78125 -5.296875 9.78125 -6.328125 Z M 6.21875 -12.859375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-26"> +<path style="stroke:none;" d="M 3.359375 -5.5625 C 3.410156 -4.582031 3.640625 -3.785156 4.046875 -3.171875 C 4.816406 -2.035156 6.179688 -1.46875 8.140625 -1.46875 C 9.015625 -1.46875 9.8125 -1.59375 10.53125 -1.84375 C 11.914062 -2.320312 12.609375 -3.1875 12.609375 -4.4375 C 12.609375 -5.375 12.316406 -6.046875 11.734375 -6.453125 C 11.140625 -6.835938 10.207031 -7.175781 8.9375 -7.46875 L 6.609375 -8 C 5.085938 -8.34375 4.007812 -8.71875 3.375 -9.125 C 2.28125 -9.84375 1.734375 -10.921875 1.734375 -12.359375 C 1.734375 -13.898438 2.269531 -15.164062 3.34375 -16.15625 C 4.414062 -17.15625 5.929688 -17.65625 7.890625 -17.65625 C 9.691406 -17.65625 11.222656 -17.21875 12.484375 -16.34375 C 13.742188 -15.46875 14.375 -14.078125 14.375 -12.171875 L 12.1875 -12.171875 C 12.070312 -13.085938 11.820312 -13.789062 11.4375 -14.28125 C 10.726562 -15.1875 9.519531 -15.640625 7.8125 -15.640625 C 6.4375 -15.640625 5.445312 -15.347656 4.84375 -14.765625 C 4.25 -14.191406 3.953125 -13.519531 3.953125 -12.75 C 3.953125 -11.90625 4.300781 -11.289062 5 -10.90625 C 5.46875 -10.65625 6.515625 -10.34375 8.140625 -9.96875 L 10.546875 -9.40625 C 11.710938 -9.144531 12.613281 -8.785156 13.25 -8.328125 C 14.34375 -7.515625 14.890625 -6.34375 14.890625 -4.8125 C 14.890625 -2.90625 14.191406 -1.539062 12.796875 -0.71875 C 11.410156 0.09375 9.800781 0.5 7.96875 0.5 C 5.832031 0.5 4.15625 -0.046875 2.9375 -1.140625 C 1.726562 -2.222656 1.132812 -3.695312 1.15625 -5.5625 Z M 8.0625 -17.6875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph0-27"> +<path style="stroke:none;" d="M 14.359375 -17.21875 L 14.359375 -15.171875 L 8.5625 -15.171875 L 8.5625 0 L 6.1875 0 L 6.1875 -15.171875 L 0.390625 -15.171875 L 0.390625 -17.21875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 0.671875 0 L 0.671875 -15.0625 L 12.640625 -15.0625 L 12.640625 0 Z M 10.75 -1.890625 L 10.75 -13.171875 L 2.5625 -13.171875 L 2.5625 -1.890625 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 2.9375 -4.859375 C 2.976562 -4.003906 3.175781 -3.3125 3.53125 -2.78125 C 4.207031 -1.78125 5.398438 -1.28125 7.109375 -1.28125 C 7.878906 -1.28125 8.578125 -1.390625 9.203125 -1.609375 C 10.421875 -2.035156 11.03125 -2.796875 11.03125 -3.890625 C 11.03125 -4.703125 10.773438 -5.285156 10.265625 -5.640625 C 9.742188 -5.984375 8.929688 -6.28125 7.828125 -6.53125 L 5.78125 -7 C 4.445312 -7.289062 3.503906 -7.617188 2.953125 -7.984375 C 1.992188 -8.617188 1.515625 -9.5625 1.515625 -10.8125 C 1.515625 -12.164062 1.984375 -13.273438 2.921875 -14.140625 C 3.859375 -15.003906 5.1875 -15.4375 6.90625 -15.4375 C 8.476562 -15.4375 9.816406 -15.054688 10.921875 -14.296875 C 12.023438 -13.535156 12.578125 -12.316406 12.578125 -10.640625 L 10.671875 -10.640625 C 10.566406 -11.453125 10.347656 -12.070312 10.015625 -12.5 C 9.390625 -13.28125 8.332031 -13.671875 6.84375 -13.671875 C 5.632812 -13.671875 4.765625 -13.414062 4.234375 -12.90625 C 3.710938 -12.40625 3.453125 -11.820312 3.453125 -11.15625 C 3.453125 -10.414062 3.757812 -9.875 4.375 -9.53125 C 4.78125 -9.3125 5.691406 -9.039062 7.109375 -8.71875 L 9.234375 -8.234375 C 10.242188 -8.003906 11.03125 -7.6875 11.59375 -7.28125 C 12.539062 -6.570312 13.015625 -5.550781 13.015625 -4.21875 C 13.015625 -2.550781 12.40625 -1.359375 11.1875 -0.640625 C 9.976562 0.078125 8.570312 0.4375 6.96875 0.4375 C 5.09375 0.4375 3.628906 -0.0390625 2.578125 -1 C 1.515625 -1.945312 0.992188 -3.234375 1.015625 -4.859375 Z M 7.0625 -15.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d="M 5.921875 -11.234375 C 6.703125 -11.234375 7.457031 -11.046875 8.1875 -10.671875 C 8.925781 -10.304688 9.484375 -9.835938 9.859375 -9.265625 C 10.234375 -8.703125 10.484375 -8.054688 10.609375 -7.328125 C 10.710938 -6.816406 10.765625 -6.007812 10.765625 -4.90625 L 2.71875 -4.90625 C 2.75 -3.789062 3.007812 -2.894531 3.5 -2.21875 C 4 -1.539062 4.765625 -1.203125 5.796875 -1.203125 C 6.753906 -1.203125 7.519531 -1.519531 8.09375 -2.15625 C 8.425781 -2.53125 8.660156 -2.960938 8.796875 -3.453125 L 10.609375 -3.453125 C 10.566406 -3.046875 10.410156 -2.59375 10.140625 -2.09375 C 9.867188 -1.601562 9.566406 -1.195312 9.234375 -0.875 C 8.671875 -0.332031 7.972656 0.03125 7.140625 0.21875 C 6.703125 0.332031 6.203125 0.390625 5.640625 0.390625 C 4.273438 0.390625 3.113281 -0.101562 2.15625 -1.09375 C 1.207031 -2.09375 0.734375 -3.488281 0.734375 -5.28125 C 0.734375 -7.039062 1.210938 -8.472656 2.171875 -9.578125 C 3.128906 -10.679688 4.378906 -11.234375 5.921875 -11.234375 Z M 8.875 -6.375 C 8.789062 -7.164062 8.613281 -7.800781 8.34375 -8.28125 C 7.84375 -9.175781 7 -9.625 5.8125 -9.625 C 4.96875 -9.625 4.253906 -9.316406 3.671875 -8.703125 C 3.097656 -8.085938 2.796875 -7.3125 2.765625 -6.375 Z M 5.75 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M 1.40625 -15.0625 L 3.25 -15.0625 L 3.25 0 L 1.40625 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 5.59375 -11.296875 C 6.820312 -11.296875 7.820312 -10.992188 8.59375 -10.390625 C 9.375 -9.796875 9.847656 -8.765625 10.015625 -7.296875 L 8.21875 -7.296875 C 8.101562 -7.972656 7.847656 -8.535156 7.453125 -8.984375 C 7.066406 -9.429688 6.445312 -9.65625 5.59375 -9.65625 C 4.414062 -9.65625 3.570312 -9.078125 3.0625 -7.921875 C 2.738281 -7.179688 2.578125 -6.265625 2.578125 -5.171875 C 2.578125 -4.066406 2.804688 -3.140625 3.265625 -2.390625 C 3.734375 -1.640625 4.46875 -1.265625 5.46875 -1.265625 C 6.226562 -1.265625 6.832031 -1.5 7.28125 -1.96875 C 7.726562 -2.4375 8.039062 -3.078125 8.21875 -3.890625 L 10.015625 -3.890625 C 9.804688 -2.429688 9.289062 -1.363281 8.46875 -0.6875 C 7.644531 -0.0195312 6.597656 0.3125 5.328125 0.3125 C 3.890625 0.3125 2.742188 -0.207031 1.890625 -1.25 C 1.035156 -2.300781 0.609375 -3.613281 0.609375 -5.1875 C 0.609375 -7.113281 1.078125 -8.613281 2.015625 -9.6875 C 2.953125 -10.757812 4.144531 -11.296875 5.59375 -11.296875 Z M 5.296875 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M 1.71875 -14.046875 L 3.59375 -14.046875 L 3.59375 -10.984375 L 5.34375 -10.984375 L 5.34375 -9.46875 L 3.59375 -9.46875 L 3.59375 -2.3125 C 3.59375 -1.925781 3.722656 -1.664062 3.984375 -1.53125 C 4.117188 -1.457031 4.359375 -1.421875 4.703125 -1.421875 C 4.785156 -1.421875 4.878906 -1.421875 4.984375 -1.421875 C 5.085938 -1.429688 5.207031 -1.441406 5.34375 -1.453125 L 5.34375 0 C 5.132812 0.0625 4.914062 0.101562 4.6875 0.125 C 4.457031 0.15625 4.207031 0.171875 3.9375 0.171875 C 3.070312 0.171875 2.484375 -0.046875 2.171875 -0.484375 C 1.867188 -0.929688 1.71875 -1.503906 1.71875 -2.203125 L 1.71875 -9.46875 L 0.234375 -9.46875 L 0.234375 -10.984375 L 1.71875 -10.984375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M 1.359375 -10.9375 L 3.234375 -10.9375 L 3.234375 0 L 1.359375 0 Z M 1.359375 -15.0625 L 3.234375 -15.0625 L 3.234375 -12.96875 L 1.359375 -12.96875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 5.71875 -1.1875 C 6.9375 -1.1875 7.769531 -1.648438 8.21875 -2.578125 C 8.675781 -3.503906 8.90625 -4.535156 8.90625 -5.671875 C 8.90625 -6.691406 8.742188 -7.523438 8.421875 -8.171875 C 7.898438 -9.179688 7.003906 -9.6875 5.734375 -9.6875 C 4.609375 -9.6875 3.785156 -9.253906 3.265625 -8.390625 C 2.753906 -7.535156 2.5 -6.5 2.5 -5.28125 C 2.5 -4.113281 2.753906 -3.140625 3.265625 -2.359375 C 3.785156 -1.578125 4.601562 -1.1875 5.71875 -1.1875 Z M 5.78125 -11.296875 C 7.195312 -11.296875 8.394531 -10.820312 9.375 -9.875 C 10.351562 -8.9375 10.84375 -7.550781 10.84375 -5.71875 C 10.84375 -3.945312 10.410156 -2.484375 9.546875 -1.328125 C 8.679688 -0.171875 7.34375 0.40625 5.53125 0.40625 C 4.019531 0.40625 2.820312 -0.101562 1.9375 -1.125 C 1.050781 -2.15625 0.609375 -3.53125 0.609375 -5.25 C 0.609375 -7.09375 1.078125 -8.5625 2.015625 -9.65625 C 2.953125 -10.75 4.207031 -11.296875 5.78125 -11.296875 Z M 5.71875 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 1.359375 -10.984375 L 3.109375 -10.984375 L 3.109375 -9.421875 C 3.628906 -10.066406 4.175781 -10.53125 4.75 -10.8125 C 5.332031 -11.09375 5.984375 -11.234375 6.703125 -11.234375 C 8.253906 -11.234375 9.304688 -10.6875 9.859375 -9.59375 C 10.160156 -9 10.3125 -8.148438 10.3125 -7.046875 L 10.3125 0 L 8.421875 0 L 8.421875 -6.921875 C 8.421875 -7.585938 8.320312 -8.128906 8.125 -8.546875 C 7.800781 -9.222656 7.207031 -9.5625 6.34375 -9.5625 C 5.90625 -9.5625 5.546875 -9.519531 5.265625 -9.4375 C 4.765625 -9.28125 4.320312 -8.976562 3.9375 -8.53125 C 3.625 -8.164062 3.421875 -7.789062 3.328125 -7.40625 C 3.242188 -7.019531 3.203125 -6.46875 3.203125 -5.75 L 3.203125 0 L 1.359375 0 Z M 5.6875 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M 7.390625 -1.75 C 8.078125 -1.75 8.640625 -1.816406 9.078125 -1.953125 C 9.878906 -2.222656 10.53125 -2.738281 11.03125 -3.5 C 11.4375 -4.101562 11.726562 -4.878906 11.90625 -5.828125 C 12.007812 -6.398438 12.0625 -6.925781 12.0625 -7.40625 C 12.0625 -9.28125 11.6875 -10.734375 10.9375 -11.765625 C 10.195312 -12.796875 9.003906 -13.3125 7.359375 -13.3125 L 3.75 -13.3125 L 3.75 -1.75 Z M 1.6875 -15.0625 L 7.796875 -15.0625 C 9.867188 -15.0625 11.472656 -14.328125 12.609375 -12.859375 C 13.628906 -11.535156 14.140625 -9.835938 14.140625 -7.765625 C 14.140625 -6.160156 13.835938 -4.710938 13.234375 -3.421875 C 12.179688 -1.140625 10.359375 0 7.765625 0 L 1.6875 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 9.328125 -6.171875 L 7.046875 -12.828125 L 4.609375 -6.171875 Z M 5.984375 -15.0625 L 8.28125 -15.0625 L 13.75 0 L 11.515625 0 L 9.984375 -4.515625 L 4.03125 -4.515625 L 2.40625 0 L 0.3125 0 Z M 7.03125 -15.0625 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 8.109375 -15.453125 C 9.523438 -15.453125 10.75 -15.175781 11.78125 -14.625 C 13.28125 -13.84375 14.195312 -12.46875 14.53125 -10.5 L 12.515625 -10.5 C 12.265625 -11.601562 11.753906 -12.40625 10.984375 -12.90625 C 10.210938 -13.40625 9.238281 -13.65625 8.0625 -13.65625 C 6.664062 -13.65625 5.488281 -13.128906 4.53125 -12.078125 C 3.582031 -11.035156 3.109375 -9.476562 3.109375 -7.40625 C 3.109375 -5.625 3.5 -4.171875 4.28125 -3.046875 C 5.070312 -1.921875 6.351562 -1.359375 8.125 -1.359375 C 9.488281 -1.359375 10.613281 -1.75 11.5 -2.53125 C 12.394531 -3.320312 12.851562 -4.601562 12.875 -6.375 L 8.15625 -6.375 L 8.15625 -8.0625 L 14.78125 -8.0625 L 14.78125 0 L 13.46875 0 L 12.96875 -1.9375 C 12.28125 -1.175781 11.671875 -0.648438 11.140625 -0.359375 C 10.242188 0.148438 9.101562 0.40625 7.71875 0.40625 C 5.9375 0.40625 4.40625 -0.171875 3.125 -1.328125 C 1.71875 -2.773438 1.015625 -4.765625 1.015625 -7.296875 C 1.015625 -9.816406 1.695312 -11.820312 3.0625 -13.3125 C 4.363281 -14.738281 6.046875 -15.453125 8.109375 -15.453125 Z M 7.765625 -15.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M 2.0625 -15.0625 L 4.125 -15.0625 L 4.125 0 L 2.0625 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M 1.546875 -15.0625 L 4.46875 -15.0625 L 8.796875 -2.328125 L 13.09375 -15.0625 L 15.984375 -15.0625 L 15.984375 0 L 14.046875 0 L 14.046875 -8.890625 C 14.046875 -9.203125 14.050781 -9.710938 14.0625 -10.421875 C 14.082031 -11.128906 14.09375 -11.890625 14.09375 -12.703125 L 9.796875 0 L 7.765625 0 L 3.453125 -12.703125 L 3.453125 -12.25 C 3.453125 -11.875 3.457031 -11.304688 3.46875 -10.546875 C 3.488281 -9.796875 3.5 -9.242188 3.5 -8.890625 L 3.5 0 L 1.546875 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-14"> +<path style="stroke:none;" d="M 2.765625 -2.921875 C 2.765625 -2.390625 2.957031 -1.96875 3.34375 -1.65625 C 3.738281 -1.351562 4.203125 -1.203125 4.734375 -1.203125 C 5.390625 -1.203125 6.019531 -1.351562 6.625 -1.65625 C 7.644531 -2.15625 8.15625 -2.972656 8.15625 -4.109375 L 8.15625 -5.59375 C 7.9375 -5.445312 7.644531 -5.328125 7.28125 -5.234375 C 6.925781 -5.140625 6.582031 -5.070312 6.25 -5.03125 L 5.125 -4.875 C 4.457031 -4.789062 3.957031 -4.648438 3.625 -4.453125 C 3.050781 -4.140625 2.765625 -3.628906 2.765625 -2.921875 Z M 7.234375 -6.65625 C 7.660156 -6.707031 7.945312 -6.882812 8.09375 -7.1875 C 8.175781 -7.351562 8.21875 -7.585938 8.21875 -7.890625 C 8.21875 -8.523438 7.992188 -8.984375 7.546875 -9.265625 C 7.097656 -9.546875 6.457031 -9.6875 5.625 -9.6875 C 4.65625 -9.6875 3.96875 -9.425781 3.5625 -8.90625 C 3.34375 -8.625 3.195312 -8.195312 3.125 -7.625 L 1.40625 -7.625 C 1.4375 -8.976562 1.875 -9.921875 2.71875 -10.453125 C 3.5625 -10.984375 4.539062 -11.25 5.65625 -11.25 C 6.945312 -11.25 8 -11.003906 8.8125 -10.515625 C 9.613281 -10.015625 10.015625 -9.25 10.015625 -8.21875 L 10.015625 -1.890625 C 10.015625 -1.691406 10.050781 -1.535156 10.125 -1.421875 C 10.207031 -1.304688 10.375 -1.25 10.625 -1.25 C 10.707031 -1.25 10.796875 -1.253906 10.890625 -1.265625 C 10.992188 -1.273438 11.109375 -1.289062 11.234375 -1.3125 L 11.234375 0.046875 C 10.941406 0.128906 10.71875 0.179688 10.5625 0.203125 C 10.414062 0.222656 10.210938 0.234375 9.953125 0.234375 C 9.316406 0.234375 8.859375 0.0078125 8.578125 -0.4375 C 8.421875 -0.675781 8.3125 -1.015625 8.25 -1.453125 C 7.875 -0.960938 7.332031 -0.535156 6.625 -0.171875 C 5.925781 0.191406 5.15625 0.375 4.3125 0.375 C 3.289062 0.375 2.457031 0.0664062 1.8125 -0.546875 C 1.164062 -1.171875 0.84375 -1.945312 0.84375 -2.875 C 0.84375 -3.894531 1.160156 -4.6875 1.796875 -5.25 C 2.429688 -5.8125 3.265625 -6.15625 4.296875 -6.28125 Z M 5.71875 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-15"> +<path style="stroke:none;" d="M 1.359375 -15.109375 L 3.203125 -15.109375 L 3.203125 -9.5 C 3.640625 -10.050781 4.03125 -10.441406 4.375 -10.671875 C 4.96875 -11.054688 5.710938 -11.25 6.609375 -11.25 C 8.203125 -11.25 9.28125 -10.691406 9.84375 -9.578125 C 10.15625 -8.972656 10.3125 -8.128906 10.3125 -7.046875 L 10.3125 0 L 8.40625 0 L 8.40625 -6.921875 C 8.40625 -7.722656 8.300781 -8.316406 8.09375 -8.703125 C 7.757812 -9.296875 7.132812 -9.59375 6.21875 -9.59375 C 5.445312 -9.59375 4.75 -9.328125 4.125 -8.796875 C 3.507812 -8.273438 3.203125 -7.285156 3.203125 -5.828125 L 3.203125 0 L 1.359375 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-16"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-17"> +<path style="stroke:none;" d="M 7.953125 -15.46875 C 9.859375 -15.46875 11.335938 -14.960938 12.390625 -13.953125 C 13.441406 -12.953125 14.023438 -11.816406 14.140625 -10.546875 L 12.15625 -10.546875 C 11.925781 -11.515625 11.472656 -12.28125 10.796875 -12.84375 C 10.128906 -13.414062 9.1875 -13.703125 7.96875 -13.703125 C 6.488281 -13.703125 5.289062 -13.179688 4.375 -12.140625 C 3.457031 -11.097656 3 -9.5 3 -7.34375 C 3 -5.582031 3.410156 -4.148438 4.234375 -3.046875 C 5.054688 -1.953125 6.285156 -1.40625 7.921875 -1.40625 C 9.429688 -1.40625 10.578125 -1.984375 11.359375 -3.140625 C 11.773438 -3.742188 12.085938 -4.539062 12.296875 -5.53125 L 14.28125 -5.53125 C 14.101562 -3.945312 13.515625 -2.617188 12.515625 -1.546875 C 11.316406 -0.253906 9.707031 0.390625 7.6875 0.390625 C 5.9375 0.390625 4.460938 -0.140625 3.265625 -1.203125 C 1.703125 -2.597656 0.921875 -4.757812 0.921875 -7.6875 C 0.921875 -9.90625 1.507812 -11.726562 2.6875 -13.15625 C 3.957031 -14.695312 5.710938 -15.46875 7.953125 -15.46875 Z M 7.53125 -15.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-18"> +<path style="stroke:none;" d="M 2.515625 -5.359375 C 2.515625 -4.179688 2.765625 -3.195312 3.265625 -2.40625 C 3.765625 -1.613281 4.566406 -1.21875 5.671875 -1.21875 C 6.523438 -1.21875 7.226562 -1.582031 7.78125 -2.3125 C 8.332031 -3.050781 8.609375 -4.109375 8.609375 -5.484375 C 8.609375 -6.867188 8.320312 -7.894531 7.75 -8.5625 C 7.1875 -9.226562 6.488281 -9.5625 5.65625 -9.5625 C 4.71875 -9.5625 3.957031 -9.207031 3.375 -8.5 C 2.800781 -7.789062 2.515625 -6.742188 2.515625 -5.359375 Z M 5.296875 -11.171875 C 6.140625 -11.171875 6.84375 -10.992188 7.40625 -10.640625 C 7.738281 -10.441406 8.113281 -10.082031 8.53125 -9.5625 L 8.53125 -15.109375 L 10.3125 -15.109375 L 10.3125 0 L 8.640625 0 L 8.640625 -1.53125 C 8.210938 -0.851562 7.703125 -0.363281 7.109375 -0.0625 C 6.523438 0.238281 5.851562 0.390625 5.09375 0.390625 C 3.875 0.390625 2.816406 -0.125 1.921875 -1.15625 C 1.023438 -2.1875 0.578125 -3.554688 0.578125 -5.265625 C 0.578125 -6.859375 0.984375 -8.238281 1.796875 -9.40625 C 2.617188 -10.582031 3.785156 -11.171875 5.296875 -11.171875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-19"> +<path style="stroke:none;" d="M 5.984375 -1.234375 C 6.847656 -1.234375 7.566406 -1.59375 8.140625 -2.3125 C 8.710938 -3.039062 9 -4.125 9 -5.5625 C 9 -6.4375 8.867188 -7.1875 8.609375 -7.8125 C 8.128906 -9.019531 7.253906 -9.625 5.984375 -9.625 C 4.710938 -9.625 3.835938 -8.988281 3.359375 -7.71875 C 3.109375 -7.03125 2.984375 -6.160156 2.984375 -5.109375 C 2.984375 -4.253906 3.109375 -3.53125 3.359375 -2.9375 C 3.835938 -1.800781 4.710938 -1.234375 5.984375 -1.234375 Z M 1.203125 -10.9375 L 3 -10.9375 L 3 -9.46875 C 3.375 -9.96875 3.78125 -10.359375 4.21875 -10.640625 C 4.832031 -11.046875 5.5625 -11.25 6.40625 -11.25 C 7.65625 -11.25 8.710938 -10.769531 9.578125 -9.8125 C 10.441406 -8.863281 10.875 -7.503906 10.875 -5.734375 C 10.875 -3.335938 10.25 -1.628906 9 -0.609375 C 8.207031 0.046875 7.285156 0.375 6.234375 0.375 C 5.410156 0.375 4.71875 0.191406 4.15625 -0.171875 C 3.820312 -0.378906 3.457031 -0.734375 3.0625 -1.234375 L 3.0625 4.375 L 1.203125 4.375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-20"> +<path style="stroke:none;" d="M 1.359375 -10.984375 L 3.171875 -10.984375 L 3.171875 -9.421875 C 3.609375 -9.960938 4.007812 -10.359375 4.375 -10.609375 C 4.976562 -11.023438 5.664062 -11.234375 6.4375 -11.234375 C 7.3125 -11.234375 8.015625 -11.015625 8.546875 -10.578125 C 8.847656 -10.335938 9.125 -9.976562 9.375 -9.5 C 9.78125 -10.082031 10.257812 -10.515625 10.8125 -10.796875 C 11.375 -11.085938 12 -11.234375 12.6875 -11.234375 C 14.164062 -11.234375 15.171875 -10.695312 15.703125 -9.625 C 15.984375 -9.050781 16.125 -8.28125 16.125 -7.3125 L 16.125 0 L 14.21875 0 L 14.21875 -7.625 C 14.21875 -8.351562 14.03125 -8.851562 13.65625 -9.125 C 13.289062 -9.40625 12.847656 -9.546875 12.328125 -9.546875 C 11.597656 -9.546875 10.972656 -9.300781 10.453125 -8.8125 C 9.929688 -8.332031 9.671875 -7.523438 9.671875 -6.390625 L 9.671875 0 L 7.796875 0 L 7.796875 -7.171875 C 7.796875 -7.910156 7.707031 -8.453125 7.53125 -8.796875 C 7.25 -9.304688 6.722656 -9.5625 5.953125 -9.5625 C 5.253906 -9.5625 4.617188 -9.289062 4.046875 -8.75 C 3.484375 -8.21875 3.203125 -7.242188 3.203125 -5.828125 L 3.203125 0 L 1.359375 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-21"> +<path style="stroke:none;" d="M 0.53125 -1.453125 L 7.046875 -9.328125 L 1.015625 -9.328125 L 1.015625 -10.984375 L 9.53125 -10.984375 L 9.53125 -9.46875 L 3.0625 -1.65625 L 9.71875 -1.65625 L 9.71875 0 L 0.53125 0 Z M 5.28125 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-22"> +<path style="stroke:none;" d="M 2.453125 -3.453125 C 2.503906 -2.828125 2.65625 -2.351562 2.90625 -2.03125 C 3.375 -1.4375 4.179688 -1.140625 5.328125 -1.140625 C 6.015625 -1.140625 6.617188 -1.285156 7.140625 -1.578125 C 7.660156 -1.878906 7.921875 -2.34375 7.921875 -2.96875 C 7.921875 -3.4375 7.710938 -3.796875 7.296875 -4.046875 C 7.023438 -4.191406 6.5 -4.363281 5.71875 -4.5625 L 4.25 -4.9375 C 3.3125 -5.164062 2.617188 -5.425781 2.171875 -5.71875 C 1.378906 -6.207031 0.984375 -6.894531 0.984375 -7.78125 C 0.984375 -8.820312 1.359375 -9.660156 2.109375 -10.296875 C 2.859375 -10.941406 3.863281 -11.265625 5.125 -11.265625 C 6.78125 -11.265625 7.972656 -10.78125 8.703125 -9.8125 C 9.160156 -9.195312 9.382812 -8.535156 9.375 -7.828125 L 7.625 -7.828125 C 7.59375 -8.242188 7.445312 -8.625 7.1875 -8.96875 C 6.757812 -9.445312 6.023438 -9.6875 4.984375 -9.6875 C 4.285156 -9.6875 3.753906 -9.550781 3.390625 -9.28125 C 3.035156 -9.019531 2.859375 -8.671875 2.859375 -8.234375 C 2.859375 -7.753906 3.09375 -7.367188 3.5625 -7.078125 C 3.84375 -6.910156 4.25 -6.765625 4.78125 -6.640625 L 6 -6.34375 C 7.320312 -6.019531 8.210938 -5.707031 8.671875 -5.40625 C 9.378906 -4.9375 9.734375 -4.191406 9.734375 -3.171875 C 9.734375 -2.203125 9.363281 -1.359375 8.625 -0.640625 C 7.882812 0.0664062 6.753906 0.421875 5.234375 0.421875 C 3.609375 0.421875 2.453125 0.0507812 1.765625 -0.6875 C 1.085938 -1.4375 0.722656 -2.359375 0.671875 -3.453125 Z M 5.171875 -11.25 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-23"> +<path style="stroke:none;" d="M 1.796875 -15.0625 L 12.78125 -15.0625 L 12.78125 -13.21875 L 3.78125 -13.21875 L 3.78125 -8.640625 L 12.09375 -8.640625 L 12.09375 -6.90625 L 3.78125 -6.90625 L 3.78125 -1.796875 L 12.9375 -1.796875 L 12.9375 0 L 1.796875 0 Z M 7.359375 -15.0625 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-24"> +<path style="stroke:none;" d="M 1.796875 -15.0625 L 8.578125 -15.0625 C 9.910156 -15.0625 10.988281 -14.679688 11.8125 -13.921875 C 12.632812 -13.171875 13.046875 -12.113281 13.046875 -10.75 C 13.046875 -9.570312 12.675781 -8.546875 11.9375 -7.671875 C 11.207031 -6.804688 10.085938 -6.375 8.578125 -6.375 L 3.828125 -6.375 L 3.828125 0 L 1.796875 0 Z M 10.984375 -10.734375 C 10.984375 -11.835938 10.570312 -12.585938 9.75 -12.984375 C 9.300781 -13.203125 8.679688 -13.3125 7.890625 -13.3125 L 3.828125 -13.3125 L 3.828125 -8.09375 L 7.890625 -8.09375 C 8.804688 -8.09375 9.550781 -8.285156 10.125 -8.671875 C 10.695312 -9.066406 10.984375 -9.753906 10.984375 -10.734375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph1-25"> +<path style="stroke:none;" d="M 1.40625 -10.984375 L 3.15625 -10.984375 L 3.15625 -9.078125 C 3.300781 -9.453125 3.65625 -9.90625 4.21875 -10.4375 C 4.78125 -10.96875 5.425781 -11.234375 6.15625 -11.234375 C 6.1875 -11.234375 6.242188 -11.226562 6.328125 -11.21875 C 6.410156 -11.207031 6.550781 -11.191406 6.75 -11.171875 L 6.75 -9.234375 C 6.632812 -9.253906 6.53125 -9.265625 6.4375 -9.265625 C 6.351562 -9.273438 6.253906 -9.28125 6.140625 -9.28125 C 5.210938 -9.28125 4.5 -8.976562 4 -8.375 C 3.5 -7.78125 3.25 -7.09375 3.25 -6.3125 L 3.25 0 L 1.40625 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-0"> +<path style="stroke:none;" d="M 0.875 0 L 0.875 -19.359375 L 16.25 -19.359375 L 16.25 0 Z M 13.8125 -2.421875 L 13.8125 -16.9375 L 3.296875 -16.9375 L 3.296875 -2.421875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-1"> +<path style="stroke:none;" d="M 7.1875 -14.53125 C 8.78125 -14.53125 10.070312 -14.140625 11.0625 -13.359375 C 12.0625 -12.585938 12.664062 -11.257812 12.875 -9.375 L 10.5625 -9.375 C 10.414062 -10.238281 10.09375 -10.957031 9.59375 -11.53125 C 9.09375 -12.113281 8.289062 -12.40625 7.1875 -12.40625 C 5.675781 -12.40625 4.59375 -11.664062 3.9375 -10.1875 C 3.519531 -9.226562 3.3125 -8.046875 3.3125 -6.640625 C 3.3125 -5.222656 3.609375 -4.03125 4.203125 -3.0625 C 4.804688 -2.101562 5.75 -1.625 7.03125 -1.625 C 8.007812 -1.625 8.785156 -1.921875 9.359375 -2.515625 C 9.941406 -3.117188 10.34375 -3.945312 10.5625 -5 L 12.875 -5 C 12.601562 -3.125 11.941406 -1.753906 10.890625 -0.890625 C 9.835938 -0.0234375 8.488281 0.40625 6.84375 0.40625 C 5 0.40625 3.523438 -0.265625 2.421875 -1.609375 C 1.328125 -2.960938 0.78125 -4.648438 0.78125 -6.671875 C 0.78125 -9.148438 1.378906 -11.078125 2.578125 -12.453125 C 3.785156 -13.835938 5.320312 -14.53125 7.1875 -14.53125 Z M 6.8125 -14.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-2"> +<path style="stroke:none;" d="M 1.8125 -19.359375 L 4.171875 -19.359375 L 4.171875 0 L 1.8125 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-3"> +<path style="stroke:none;" d="M 3.5625 -3.75 C 3.5625 -3.070312 3.8125 -2.535156 4.3125 -2.140625 C 4.8125 -1.742188 5.40625 -1.546875 6.09375 -1.546875 C 6.925781 -1.546875 7.734375 -1.738281 8.515625 -2.125 C 9.835938 -2.757812 10.5 -3.8125 10.5 -5.28125 L 10.5 -7.1875 C 10.207031 -7 9.832031 -6.84375 9.375 -6.71875 C 8.914062 -6.601562 8.46875 -6.515625 8.03125 -6.453125 L 6.59375 -6.28125 C 5.726562 -6.164062 5.082031 -5.984375 4.65625 -5.734375 C 3.925781 -5.316406 3.5625 -4.65625 3.5625 -3.75 Z M 9.3125 -8.5625 C 9.851562 -8.625 10.21875 -8.847656 10.40625 -9.234375 C 10.507812 -9.453125 10.5625 -9.757812 10.5625 -10.15625 C 10.5625 -10.957031 10.269531 -11.539062 9.6875 -11.90625 C 9.113281 -12.269531 8.289062 -12.453125 7.21875 -12.453125 C 5.976562 -12.453125 5.101562 -12.117188 4.59375 -11.453125 C 4.300781 -11.085938 4.109375 -10.539062 4.015625 -9.8125 L 1.8125 -9.8125 C 1.851562 -11.550781 2.414062 -12.757812 3.5 -13.4375 C 4.582031 -14.125 5.84375 -14.46875 7.28125 -14.46875 C 8.9375 -14.46875 10.285156 -14.148438 11.328125 -13.515625 C 12.359375 -12.878906 12.875 -11.894531 12.875 -10.5625 L 12.875 -2.421875 C 12.875 -2.179688 12.921875 -1.984375 13.015625 -1.828125 C 13.117188 -1.679688 13.332031 -1.609375 13.65625 -1.609375 C 13.757812 -1.609375 13.878906 -1.613281 14.015625 -1.625 C 14.148438 -1.632812 14.289062 -1.65625 14.4375 -1.6875 L 14.4375 0.0625 C 14.0625 0.164062 13.773438 0.226562 13.578125 0.25 C 13.390625 0.28125 13.128906 0.296875 12.796875 0.296875 C 11.984375 0.296875 11.390625 0.0078125 11.015625 -0.5625 C 10.828125 -0.875 10.691406 -1.3125 10.609375 -1.875 C 10.128906 -1.238281 9.4375 -0.6875 8.53125 -0.21875 C 7.625 0.238281 6.625 0.46875 5.53125 0.46875 C 4.226562 0.46875 3.160156 0.0703125 2.328125 -0.71875 C 1.492188 -1.507812 1.078125 -2.503906 1.078125 -3.703125 C 1.078125 -5.015625 1.484375 -6.03125 2.296875 -6.75 C 3.117188 -7.46875 4.195312 -7.910156 5.53125 -8.078125 Z M 7.34375 -14.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-4"> +<path style="stroke:none;" d="M 1.734375 -14.125 L 4 -14.125 L 4 -12.109375 C 4.664062 -12.941406 5.367188 -13.535156 6.109375 -13.890625 C 6.859375 -14.253906 7.691406 -14.4375 8.609375 -14.4375 C 10.609375 -14.4375 11.960938 -13.738281 12.671875 -12.34375 C 13.054688 -11.570312 13.25 -10.476562 13.25 -9.0625 L 13.25 0 L 10.84375 0 L 10.84375 -8.90625 C 10.84375 -9.757812 10.710938 -10.453125 10.453125 -10.984375 C 10.035156 -11.859375 9.269531 -12.296875 8.15625 -12.296875 C 7.59375 -12.296875 7.132812 -12.238281 6.78125 -12.125 C 6.125 -11.9375 5.550781 -11.550781 5.0625 -10.96875 C 4.664062 -10.5 4.40625 -10.015625 4.28125 -9.515625 C 4.164062 -9.023438 4.109375 -8.316406 4.109375 -7.390625 L 4.109375 0 L 1.734375 0 Z M 7.3125 -14.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-5"> +<path style="stroke:none;" d="M 6.71875 -14.375 C 7.832031 -14.375 8.800781 -14.097656 9.625 -13.546875 C 10.070312 -13.242188 10.53125 -12.796875 11 -12.203125 L 11 -13.984375 L 13.1875 -13.984375 L 13.1875 -1.140625 C 13.1875 0.648438 12.921875 2.0625 12.390625 3.09375 C 11.410156 5.007812 9.550781 5.96875 6.8125 5.96875 C 5.289062 5.96875 4.007812 5.625 2.96875 4.9375 C 1.9375 4.257812 1.359375 3.195312 1.234375 1.75 L 3.65625 1.75 C 3.769531 2.382812 4 2.875 4.34375 3.21875 C 4.875 3.75 5.71875 4.015625 6.875 4.015625 C 8.6875 4.015625 9.875 3.367188 10.4375 2.078125 C 10.769531 1.328125 10.925781 -0.0195312 10.90625 -1.96875 C 10.425781 -1.25 9.851562 -0.710938 9.1875 -0.359375 C 8.519531 -0.00390625 7.640625 0.171875 6.546875 0.171875 C 5.015625 0.171875 3.671875 -0.367188 2.515625 -1.453125 C 1.367188 -2.535156 0.796875 -4.332031 0.796875 -6.84375 C 0.796875 -9.207031 1.375 -11.050781 2.53125 -12.375 C 3.6875 -13.707031 5.082031 -14.375 6.71875 -14.375 Z M 11 -7.125 C 11 -8.875 10.632812 -10.171875 9.90625 -11.015625 C 9.1875 -11.859375 8.269531 -12.28125 7.15625 -12.28125 C 5.488281 -12.28125 4.347656 -11.492188 3.734375 -9.921875 C 3.410156 -9.085938 3.25 -7.992188 3.25 -6.640625 C 3.25 -5.054688 3.570312 -3.847656 4.21875 -3.015625 C 4.863281 -2.179688 5.726562 -1.765625 6.8125 -1.765625 C 8.519531 -1.765625 9.722656 -2.535156 10.421875 -4.078125 C 10.804688 -4.941406 11 -5.957031 11 -7.125 Z M 7 -14.46875 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-6"> +<path style="stroke:none;" d="M 2.0625 -19.359375 L 4.6875 -19.359375 L 4.6875 -2.3125 L 14.484375 -2.3125 L 14.484375 0 L 2.0625 0 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-7"> +<path style="stroke:none;" d="M 3.59375 -19.359375 L 9.15625 -2.875 L 14.640625 -19.359375 L 17.59375 -19.359375 L 10.515625 0 L 7.734375 0 L 0.6875 -19.359375 Z "/> +</symbol> +<symbol overflow="visible" id="glyph2-8"> +<path style="stroke:none;" d="M 1.984375 -19.359375 L 5.75 -19.359375 L 11.3125 -3 L 16.828125 -19.359375 L 20.546875 -19.359375 L 20.546875 0 L 18.0625 0 L 18.0625 -11.4375 C 18.0625 -11.832031 18.066406 -12.484375 18.078125 -13.390625 C 18.097656 -14.304688 18.109375 -15.285156 18.109375 -16.328125 L 12.59375 0 L 10 0 L 4.4375 -16.328125 L 4.4375 -15.734375 C 4.4375 -15.265625 4.445312 -14.539062 4.46875 -13.5625 C 4.488281 -12.59375 4.5 -11.882812 4.5 -11.4375 L 4.5 0 L 1.984375 0 Z "/> +</symbol> +</g> +<clipPath id="clip1"> + <path d="M 0 0.5 L 790 0.5 L 790 463.5 L 0 463.5 Z "/> +</clipPath> +<image id="image7" width="182" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAByCAAAAADb4nR6AAAAAmJLR0QA/4ePzL8AAAQRSURBVHic7Zzbbus2EEXnQlLJ/39sj0nO3n2gbMnxaVH0gVILrgBGLPlheWcokYGGIovF4kboPz54GfzNMf3xTvdjdzHn0OYP+bOeqoiqiuptrIXjh3w3T6/fVEVV1URNVPQW4hRSSBICOZfLS1tV1NTUTE1V71AoFCFJElAKefI+0hZTM3Ozk/jVEAICCEBBHN5PbVVVM3d3d3M1vb7AKUIQACIiQqDUD20xM0+eUkrupi52le4BSQSiR1cRERqe3q8iMVX3lHLOKY3Ar0+bICJ6bz5KNl7ndm0VNfeUcikl5+TJ/PLqJglG7716HV9CVX6krarmKZevbSs55+Smdr12oEdr+WEqQhj5zPuZtqq5p1y2r++tlJyS29VjkoKIqK0mVyEAQGQv7iNtM0+5bN/fX1spObldnbYQEbXUbApEhIfpx5A8xf21lZLS5dqUiKg1u0hEczc77t3ntC2lXMr29b1tJV+vLUTvKbkwWsttjLYfRSKq6uYplW3bvrctJ9eLr9xk9HBTRq/J3ew02l5DUsTUPOWcy7Z9lZLS5dpA76qC1nJy8/Nf/0h7TElSzqVsZds8XV0kJJoLEaWm5PY2Tzpu7qpqPu45qZTiya5Om6EGREvu5vs8aedIW/RZ3p5TStmvTlugIjk8uftQPoROE1dVNVUzc0/u7n51kZgS7j5m0+9T6XT+oO4VrupmN0ibHmY2pkfvM6Sh/T651h2fKvkBjPrKeH99Wh7DTvfyljutgcfacF8jnpxusBj4NyztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmRzae4Mf97a5C51O7L2SpIjwo/Hw3ZM7IdcCkNxl99efPWX7udF7RgYQVz/nSiIAAEHyLes3bZIgAUR0DxNe/Xju6NwLIDCCP069tEdhB6L3aMmdd3jIv/XWo0cE+Nbl+dLms8svem+5qjqufuycROuttt4jEEGc8j7SHm2gve09XClu0cDyqLXW1nu8l8muTYqAiN5aq25C3KRd6PF4PGprPRD4bW3vhV0fboK4S3NWrY9f9dF6BAB+9AKTAHpvNScTRL9PK1z99auOvHl4n9JGRG81maC3epvGw1brH78etUcAn7cbEojezHVY36nNc5R3BPBTmyTCuqkJe71ZU219PB6198Bx6T7SJkJVBNFu18Lcaq0tRlft4Jm2EmO/DKK32zWM9xE2P6dSUIYoibhje37vERG/ubkrxgcR/Z6bIQSIz+u2CDG077n1BHBeFJwmrlAhcc+NPsDTkkHOanffVuVtpfAf3cTmf7Bl0N8fvIyb/BNhsVj8NX8CCe75m8J3N8sAAAAASUVORK5CYII="/> +<mask id="mask0"> +<use xlink:href="#image7"/> +</mask> +<image id="image6" width="182" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAByCAIAAABx67zxAAAABmJLR0QA/wD/AP+gvaeTAAAAU0lEQVR4nO3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgz85YAATtvztcAAAAASUVORK5CYII="/> +<image id="image13" width="182" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAByCAAAAADb4nR6AAAAAmJLR0QA/4ePzL8AAAQRSURBVHic7Zzbbus2EEXnQlLJ/39sj0nO3n2gbMnxaVH0gVILrgBGLPlheWcokYGGIovF4kboPz54GfzNMf3xTvdjdzHn0OYP+bOeqoiqiuptrIXjh3w3T6/fVEVV1URNVPQW4hRSSBICOZfLS1tV1NTUTE1V71AoFCFJElAKefI+0hZTM3Ozk/jVEAICCEBBHN5PbVVVM3d3d3M1vb7AKUIQACIiQqDUD20xM0+eUkrupi52le4BSQSiR1cRERqe3q8iMVX3lHLOKY3Ar0+bICJ6bz5KNl7ndm0VNfeUcikl5+TJ/PLqJglG7716HV9CVX6krarmKZevbSs55+Smdr12oEdr+WEqQhj5zPuZtqq5p1y2r++tlJyS29VjkoKIqK0mVyEAQGQv7iNtM0+5bN/fX1spObldnbYQEbXUbApEhIfpx5A8xf21lZLS5dqUiKg1u0hEczc77t3ntC2lXMr29b1tJV+vLUTvKbkwWsttjLYfRSKq6uYplW3bvrctJ9eLr9xk9HBTRq/J3ew02l5DUsTUPOWcy7Z9lZLS5dpA76qC1nJy8/Nf/0h7TElSzqVsZds8XV0kJJoLEaWm5PY2Tzpu7qpqPu45qZTiya5Om6EGREvu5vs8aedIW/RZ3p5TStmvTlugIjk8uftQPoROE1dVNVUzc0/u7n51kZgS7j5m0+9T6XT+oO4VrupmN0ibHmY2pkfvM6Sh/T651h2fKvkBjPrKeH99Wh7DTvfyljutgcfacF8jnpxusBj4NyztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmSztmRzae4Mf97a5C51O7L2SpIjwo/Hw3ZM7IdcCkNxl99efPWX7udF7RgYQVz/nSiIAAEHyLes3bZIgAUR0DxNe/Xju6NwLIDCCP069tEdhB6L3aMmdd3jIv/XWo0cE+Nbl+dLms8svem+5qjqufuycROuttt4jEEGc8j7SHm2gve09XClu0cDyqLXW1nu8l8muTYqAiN5aq25C3KRd6PF4PGprPRD4bW3vhV0fboK4S3NWrY9f9dF6BAB+9AKTAHpvNScTRL9PK1z99auOvHl4n9JGRG81maC3epvGw1brH78etUcAn7cbEojezHVY36nNc5R3BPBTmyTCuqkJe71ZU219PB6198Bx6T7SJkJVBNFu18Lcaq0tRlft4Jm2EmO/DKK32zWM9xE2P6dSUIYoibhje37vERG/ubkrxgcR/Z6bIQSIz+u2CDG077n1BHBeFJwmrlAhcc+NPsDTkkHOanffVuVtpfAf3cTmf7Bl0N8fvIyb/BNhsVj8NX8CCe75m8J3N8sAAAAASUVORK5CYII="/> +<mask id="mask1"> +<use xlink:href="#image13"/> +</mask> +<image id="image12" width="182" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAByCAIAAABx67zxAAAABmJLR0QA/wD/AP+gvaeTAAAAU0lEQVR4nO3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgz85YAATtvztcAAAAASUVORK5CYII="/> +<image id="image19" width="155" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJsAAAByCAAAAABhQfwaAAAAAmJLR0QA/4ePzL8AAAP6SURBVHic7ZvbbuM4EET7QlLJ/3/sxiS7ah8ox3I8WCwIDD0D8OQpsgEfFFsiBXSLbDYbERH93xd/L/zFNf3xn57XlupxuPGH4dVBVURVRXVxchx/5LNeupqpqpqoiYqus6OQQpIQyHV1v91URU1NzdRUddm6UoQkSUAp5EXukZuYmpmbXeyWQAgIIAAF8ZC7u6mqmrm7u5ur6aKiowhBAIiICIFSX9zEzDx5Sim5m7rYAjMREZIIRI+uIiI03OW+19RU3VPKOac0oluUG0FE9N58lFF8f3a6qai5p5RLKTknT+ZrKo4kGL336nWYqsqP3FTVPOXycRwl55zc1Ba5BXq0lm+mIoSR9+Tuuamae8rl+Pg8SskpuS25GSiIiNpqchUCAETOgnvkZuYpl+Pz8+MoJSe3JbkJEVFLzaZARHiYvtwLl+A+jlJSWuNGiYhas4tENHezx5Z0zc1SyqUcH5/HUfIiNyF6T8mF0Vpuo8x/rKmoqpunVI7j+DyOnFxXPOHI6OGmjF6Tu9mlzL/vBRFT85RzLsfxUUpKa9yA3lUFreXk5tfFeuQ2ttOUcylHOQ5Pi54haC5ElJqS29NG/tizVNV8PIBTKcWTLVpTNSBacjc/N/IfbkNulJznlFL2NfcCVCSHJ3cfXo9fvZyRVNVUzcw9ubv7kjU1Jdx9nM6ej2bp+kU9q07VzVblRg8zG/v38xY+3J4Pa3riK9SM+p2W3mUGj3rXs+Rk+cvMOP+f7wGXH151gpxhu82x3ebYbnNstzm22xzbbY7tNsd2m2O7zbHd5thuc2y3ObbbHNttju02x3abY7vNsd3m2G5zbLc5ttsc222O7TbHdptju82x3ebYbnNstzkebmebPs+++IUO5+wCKSJ8mRF4luFJyAIAkqcR7zJXt7vU2XdOBhBreraJAAAEyafUntxIggQQ0T1MuKbHLCIiAgiMCH/hNootEL1HS+5c1tPYeuvRIwJ8Gq34duO9Vz96b7mqOpb1gvZWW+8RiCAuyT1yG7MXvZ2t3SnW9dDeaq219R7Pq5ru+iIgorfWqpsQK3uPb7fbrbbWA4Ff1ttZbPXmJoilPdu13r7qrfUIAHyZlyEB9N5qTiaIvrjXvX591ZEcH3KX3BDRW00m6K2unRFotf7zdas9Anh99pJA9GauQ235bMUouQjgpxtJhHVTE/b6jpmUervdau+BxyPukRsRqiKI9p5ZnlZrbTGGUp7cqMSYoiR6e88MVB+x8XWvhzJEScTbZsd6j4j4xZ6lGF9E9DfO3AWI1+ebCDHc3jirCFxPkpczElRIvHHGE7ycM59+/4+YjX06Xv7JM8V/yyz2f1/8vax8r9ts/jb+BcGZ+ZtBwoaRAAAAAElFTkSuQmCC"/> +<mask id="mask2"> +<use xlink:href="#image19"/> +</mask> +<image id="image18" width="155" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJsAAAByCAIAAADLSDSRAAAABmJLR0QA/wD/AP+gvaeTAAAASUlEQVR4nO3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8GLPhAABRNWUtgAAAABJRU5ErkJggg=="/> +<image id="image25" width="141" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAByCAAAAABL8Q21AAAAAmJLR0QA/4ePzL8AAAPaSURBVGiB7ZvdruM2DIT5Jzvn/R+2a4nk9MKO7eSstkVRBdtCA+QichB+GFGSL0ZEU1P/dfHfHvy3hb8szMTH2GAgnJ8XqHtVZiJmJubx7oAAAkCEG89VlpmYmYVYiImH8gAESlACwI3H7jDCwiIszDxwtkBEAJBIRiLB53TZ9SthEVGRG88gHSyZGZyEPB88aZiZRVRVVUVZeFzzgAAkIiOCgyj5XGAnDYmImpqZqQoryRgWIqKkQEa4+z4DwW80JMyqZqUUs92ecd7sxrg3YQaB5TlXBw0Ti6pZWZalFFMTHdY5ACI9vDXhfccBHebc+kbUyvJY16WUYioso2gSGd5aqypEQCa/zRQzi6qVZX18rctSzFQGtTEIGe6tVmPaV9aJc3kjolaW9evrsS5LMZVx3mR4q8WE9oUlZ0/cdr/TnMe6LGYjadxrMaH05qoXzIs3YlaWZX18retSxtI0U6H0Vps1+ak3rKJmy7quX+taTHnQjpMIbyqU0TbTl8V7djGRsKiVUpZ1fSyL2Tgad2HKaMfapfOMvrzZjykrZVnWZV3Vxs2UGhPCazHdT8Xno+tkYGbRfQu0ZVnUZJQ3KQHEsee/nIiXN8TP1tFiZkXHeSMtolQ7mua2r93eKJhZmEVE1VRVdRRNUKqpigjvLwun7P47PrqHWUXGeUMQZT465qXITvP6MsOHdAxNHH9/K0jH0SD3ITpmcfhr+lHiWe4cH/hO9Q80afqaNH1Nmr4mTV+Tpq9J09ek6WvS9DVp+po0fU2aviZNX5Omr0nT16Tpa9L0NWn6mjR9TZq+Jk1fk6avSdPXpOlr0vQ1afqaNH1Nmr4mTV8XDfbIJI6w7dCqR4lnuXN8z1G8lsehGIRy6A3uorlGE5kJRGYMS2ZGZgCZiXybhBsNgAQyM8I1hDAsDRQRHpGZQL6YdNLssxgZ7tFMFQOTUh7uLdwj42idN5o99HtEW0tl1hyXlPKo1Zt7REbecS5vEpkZ3lo1ZYLFyIRdrVutrXkc3fNKAxDdo63IwenDbdtqa80jkVdu//LmaJq6qVDG6GRm3bZtq8/WeT46+waZ6Ue0NcOHp1br9mOrtblnJr73DTLCW92jrXV8orduP7baPCJ/7k14E+Ud5hNp5+2PrTaP794AyBAXFoLXTyXBt9Octy4GkMFMlNE+lpKvtTa/wZzeMHJP3iG9fewGQdu3QLzfrqBkBDGQ8cnbFR4RuK6enDPFSbSvLP/gzZOIyMxvJwOI9k0x46O3cjIT3/qGiCiZgPzojaXE/ZT63W5z/a433fZvv88twF8PjgCamvr/6U864P55tHfMVgAAAABJRU5ErkJggg=="/> +<mask id="mask3"> +<use xlink:href="#image25"/> +</mask> +<image id="image24" width="141" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAByCAIAAADh+MU+AAAABmJLR0QA/wD/AP+gvaeTAAAARklEQVR4nO3BMQEAAADCoPVPbQo/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAlwG80AAB9SjYpwAAAABJRU5ErkJggg=="/> +<image id="image31" width="141" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAByCAAAAABL8Q21AAAAAmJLR0QA/4ePzL8AAAPaSURBVGiB7ZvdruM2DIT5Jzvn/R+2a4nk9MKO7eSstkVRBdtCA+QichB+GFGSL0ZEU1P/dfHfHvy3hb8szMTH2GAgnJ8XqHtVZiJmJubx7oAAAkCEG89VlpmYmYVYiImH8gAESlACwI3H7jDCwiIszDxwtkBEAJBIRiLB53TZ9SthEVGRG88gHSyZGZyEPB88aZiZRVRVVUVZeFzzgAAkIiOCgyj5XGAnDYmImpqZqQoryRgWIqKkQEa4+z4DwW80JMyqZqUUs92ecd7sxrg3YQaB5TlXBw0Ti6pZWZalFFMTHdY5ACI9vDXhfccBHebc+kbUyvJY16WUYioso2gSGd5aqypEQCa/zRQzi6qVZX18rctSzFQGtTEIGe6tVmPaV9aJc3kjolaW9evrsS5LMZVx3mR4q8WE9oUlZ0/cdr/TnMe6LGYjadxrMaH05qoXzIs3YlaWZX18retSxtI0U6H0Vps1+ak3rKJmy7quX+taTHnQjpMIbyqU0TbTl8V7djGRsKiVUpZ1fSyL2Tgad2HKaMfapfOMvrzZjykrZVnWZV3Vxs2UGhPCazHdT8Xno+tkYGbRfQu0ZVnUZJQ3KQHEsee/nIiXN8TP1tFiZkXHeSMtolQ7mua2r93eKJhZmEVE1VRVdRRNUKqpigjvLwun7P47PrqHWUXGeUMQZT465qXITvP6MsOHdAxNHH9/K0jH0SD3ITpmcfhr+lHiWe4cH/hO9Q80afqaNH1Nmr4mTV+Tpq9J09ek6WvS9DVp+po0fU2aviZNX5Omr0nT16Tpa9L0NWn6mjR9TZq+Jk1fk6avSdPXpOlr0vQ1afqaNH1Nmr4mTV8XDfbIJI6w7dCqR4lnuXN8z1G8lsehGIRy6A3uorlGE5kJRGYMS2ZGZgCZiXybhBsNgAQyM8I1hDAsDRQRHpGZQL6YdNLssxgZ7tFMFQOTUh7uLdwj42idN5o99HtEW0tl1hyXlPKo1Zt7REbecS5vEpkZ3lo1ZYLFyIRdrVutrXkc3fNKAxDdo63IwenDbdtqa80jkVdu//LmaJq6qVDG6GRm3bZtq8/WeT46+waZ6Ue0NcOHp1br9mOrtblnJr73DTLCW92jrXV8orduP7baPCJ/7k14E+Ud5hNp5+2PrTaP794AyBAXFoLXTyXBt9Octy4GkMFMlNE+lpKvtTa/wZzeMHJP3iG9fewGQdu3QLzfrqBkBDGQ8cnbFR4RuK6enDPFSbSvLP/gzZOIyMxvJwOI9k0x46O3cjIT3/qGiCiZgPzojaXE/ZT63W5z/a433fZvv88twF8PjgCamvr/6U864P55tHfMVgAAAABJRU5ErkJggg=="/> +<mask id="mask4"> +<use xlink:href="#image31"/> +</mask> +<image id="image30" width="141" height="114" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAByCAIAAADh+MU+AAAABmJLR0QA/wD/AP+gvaeTAAAARklEQVR4nO3BMQEAAADCoPVPbQo/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAlwG80AAB9SjYpwAAAABJRU5ErkJggg=="/> +<clipPath id="clip2"> + <path d="M 29 0.5 L 111 0.5 L 111 33 L 29 33 Z "/> +</clipPath> +</defs> +<g id="surface1"> +<g clip-path="url(#clip1)" clip-rule="nonzero"> +<rect x="0" y="0" width="790.5" height="463.5" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +</g> +<use xlink:href="#image6" mask="url(#mask0)" transform="matrix(0.997253,0,0,1,270.5,193.5)"/> +<use xlink:href="#image12" mask="url(#mask1)" transform="matrix(0.997253,0,0,1,162.5,328.5)"/> +<use xlink:href="#image18" mask="url(#mask2)" transform="matrix(0.996774,0,0,1,419,328.5)"/> +<use xlink:href="#image24" mask="url(#mask3)" transform="matrix(1,0,0,1,189.5,31.5)"/> +<use xlink:href="#image30" mask="url(#mask4)" transform="matrix(1,0,0,1,594.5,31.5)"/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 192 204 L 84 204 L 84 285 L 192 285 Z "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="92.203125" y="252.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="105.551925" y="252.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="117.129525" y="252.75"/> + <use xlink:href="#glyph0-3" x="133.137525" y="252.75"/> + <use xlink:href="#glyph0-4" x="153.129525" y="252.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="159.796725" y="252.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-6" x="166.463925" y="252.75"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 180 297 L 224.098958 297 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 232.098958 297 L 224.098958 294 L 224.098958 300 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342 270 L 243 270 L 243 324 L 342 324 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="294.802005" y="240"/> + <use xlink:href="#glyph1-2" x="308.809005" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="320.489205" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="325.155405" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="336.835605" y="240"/> + <use xlink:href="#glyph1-5" x="347.335605" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="353.169405" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="357.835605" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="369.515805" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-9" x="381.196005" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-10" x="396.362205" y="240"/> + <use xlink:href="#glyph1-11" x="410.369205" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-12" x="342.656985" y="265.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="348.490785" y="265.5"/> + <use xlink:href="#glyph1-2" x="362.497785" y="265.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-3" x="374.177985" y="265.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270 360 L 171 360 L 171 414 L 270 414 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-13" x="213.06225" y="362.25"/> + <use xlink:href="#glyph1-14" x="230.55525" y="362.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="242.23545" y="362.25"/> + <use xlink:href="#glyph1-15" x="252.73545" y="362.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="264.41565" y="362.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="269.08185" y="362.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="280.76205" y="362.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-16" x="292.44225" y="362.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-17" x="227.64843" y="387.75"/> + <use xlink:href="#glyph1-7" x="242.81463" y="387.75"/> + <use xlink:href="#glyph1-18" x="254.49483" y="387.75"/> + <use xlink:href="#glyph1-2" x="266.17503" y="387.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="191.47266" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-19" x="203.15286" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="214.83306" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="220.66686" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-20" x="225.33306" y="413.25"/> + <use xlink:href="#glyph1-6" x="242.82606" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-21" x="247.49226" y="413.25"/> + <use xlink:href="#glyph1-14" x="257.99226" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-5" x="269.67246" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="275.50626" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="280.17246" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="291.85266" y="413.25"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-22" x="303.53286" y="413.25"/> +</g> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 651 204 L 529.5 204 L 529.5 285 L 651 285 Z "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-13" x="550.56225" y="240"/> + <use xlink:href="#glyph1-14" x="568.05525" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="579.73545" y="240"/> + <use xlink:href="#glyph1-15" x="590.23545" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-6" x="601.91565" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="606.58185" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-2" x="618.26205" y="240"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-17" x="565.14843" y="265.5"/> + <use xlink:href="#glyph1-7" x="580.31463" y="265.5"/> + <use xlink:href="#glyph1-18" x="591.99483" y="265.5"/> + <use xlink:href="#glyph1-2" x="603.67503" y="265.5"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 540 189 L 550 189 L 550 244 L 144 244 L 144 269.098958 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 144 277.098958 L 147 269.098958 L 141 269.098958 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423 360 L 342 360 L 342 414 L 423 414 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-17" x="470.64843" y="375"/> + <use xlink:href="#glyph1-7" x="485.81463" y="375"/> + <use xlink:href="#glyph1-18" x="497.49483" y="375"/> + <use xlink:href="#glyph1-2" x="509.17503" y="375"/> + <use xlink:href="#glyph1-16" x="520.85523" y="375"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-23" x="453.15528" y="400.5"/> + <use xlink:href="#glyph1-20" x="467.16228" y="400.5"/> + <use xlink:href="#glyph1-6" x="484.65528" y="400.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-22" x="489.32148" y="400.5"/> + <use xlink:href="#glyph1-22" x="499.82148" y="400.5"/> + <use xlink:href="#glyph1-6" x="510.32148" y="400.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-7" x="514.98768" y="400.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-8" x="526.66788" y="400.5"/> +</g> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 772.5 339 L 651 339 L 651 420 L 772.5 420 Z "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="659.73633" y="373.5"/> + <use xlink:href="#glyph0-8" x="675.74433" y="373.5"/> + <use xlink:href="#glyph0-8" x="687.74433" y="373.5"/> + <use xlink:href="#glyph0-9" x="699.74433" y="373.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-10" x="713.09313" y="373.5"/> + <use xlink:href="#glyph0-11" x="733.08513" y="373.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-12" x="746.43393" y="373.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-13" x="751.76673" y="373.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-14" x="683.0625" y="402"/> + <use xlink:href="#glyph0-15" x="700.3953" y="402"/> + <use xlink:href="#glyph0-16" x="713.7441" y="402"/> + <use xlink:href="#glyph0-9" x="727.0929" y="402"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 432 387 L 476.098958 387 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 484.098958 387 L 476.098958 384 L 476.098958 390 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 279 387 L 323.098958 387 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.098958 387 L 323.098958 384 L 323.098958 390 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 111 42 L 3 42 L 3 123 L 111 123 Z "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-14" x="22.318365" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-17" x="39.651165" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-14" x="46.318365" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-18" x="63.651165" y="76.5"/> + <use xlink:href="#glyph0-18" x="77.667165" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-19" x="25.66407" y="105"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="44.33127" y="105"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-20" x="57.68007" y="105"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-21" x="63.01287" y="105"/> + <use xlink:href="#glyph0-14" x="71.00487" y="105"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 126 189 L 170.098958 189 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.098958 189 L 170.098958 186 L 170.098958 192 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261 162 L 189 162 L 189 216 L 261 216 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-24" x="228.574215" y="90.75"/> + <use xlink:href="#glyph1-14" x="242.581215" y="90.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-25" x="254.261415" y="90.75"/> + <use xlink:href="#glyph1-22" x="261.254415" y="90.75"/> + <use xlink:href="#glyph1-2" x="271.754415" y="90.75"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-25" x="283.434615" y="90.75"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270 189 L 314.098958 189 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 322.098958 189 L 314.098958 186 L 314.098958 192 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 516 42 L 408 42 L 408 123 L 516 123 Z "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-22" x="433.3125" y="76.5"/> + <use xlink:href="#glyph0-12" x="445.3125" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-23" x="450.6453" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-24" x="463.9941" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-25" x="477.3429" y="76.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-7" x="438.662115" y="105"/> + <use xlink:href="#glyph0-26" x="454.670115" y="105"/> + <use xlink:href="#glyph0-27" x="470.678115" y="105"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 531 162 L 459 162 L 459 216 L 531 216 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-17" x="619.552005" y="90.75"/> + <use xlink:href="#glyph1-7" x="634.718205" y="90.75"/> + <use xlink:href="#glyph1-18" x="646.398405" y="90.75"/> + <use xlink:href="#glyph1-2" x="658.078605" y="90.75"/> + <use xlink:href="#glyph1-11" x="669.758805" y="90.75"/> + <use xlink:href="#glyph1-2" x="686.101005" y="90.75"/> + <use xlink:href="#glyph1-8" x="697.781205" y="90.75"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 486 297 L 486 296 L 499 296 L 499 345 L 216 345 L 216 350.098958 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216 358.098958 L 219 350.098958 L 213 350.098958 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 396 189 L 440.098958 189 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 448.098958 189 L 440.098958 186 L 440.098958 192 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 351 297 L 395.098958 297 " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 403.098958 297 L 395.098958 294 L 395.098958 300 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 566 261 L 64 261 C 58.476562 261 54 265.476562 54 271 L 54 431 C 54 436.523438 58.476562 441 64 441 L 566 441 C 571.523437 441 576 436.523438 576 431 L 576 271 C 576 265.476562 571.523437 261 566 261 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 566 144 L 64 144 C 58.476562 144 54 148.476562 54 154 L 54 215 C 54 220.523438 58.476562 225 64 225 L 566 225 C 571.523437 225 576 220.523438 576 215 L 576 154 C 576 148.476562 571.523437 144 566 144 Z " transform="matrix(1.5,0,0,1.5,-77.5,-201)"/> +<g clip-path="url(#clip2)" clip-rule="nonzero"> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 29.25 0 L 111 0 L 111 33 L 29.25 33 Z "/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-1" x="37.85157" y="27"/> + <use xlink:href="#glyph2-2" x="51.35157" y="27"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-3" x="57.35097" y="27"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-4" x="72.36837" y="27"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-5" x="87.38577" y="27"/> +</g> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 23.25 175.5 L 105 175.5 L 105 208.5 L 23.25 208.5 Z "/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-6" x="29.854245" y="202.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-6" x="44.871645" y="202.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph2-7" x="57.896445" y="202.5"/> + <use xlink:href="#glyph2-8" x="75.905445" y="202.5"/> +</g> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Slide/fig/context.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/context.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 522.42188 273.86725" + height="273.86725" + width="522.42188" + xml:space="preserve" + version="1.1" + id="svg2"><metadata + id="metadata8"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs6"><clipPath + id="clipPath18" + clipPathUnits="userSpaceOnUse"><path + id="path20" + d="m 0,0 417.9375,0 0,219.0938 L 0,219.0938 0,0 Z" /></clipPath></defs><g + transform="matrix(1.25,0,0,-1.25,0,273.86725)" + id="g10"><g + id="g12" /><g + id="g14"><g + clip-path="url(#clipPath18)" + id="g16"><path + id="path22" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m -16.03125,226.9688 856.00005,0 0,-739 -856.00005,0 0,739 z" /><path + id="path24" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 1.96875,189.1752 180.00005,0 0,-187.20645 -180.00005,0 0,187.20645 z" /><g + transform="matrix(1,0,0,-1,-16.03125,226.9688)" + id="g26"><path + id="path28" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 18,37.79359 180,0 L 198,225 18,225 18,37.79359 Z" /></g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g30"><text + id="text32" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,-67.79199)"><tspan + id="tspan34" + y="0" + x="0 8.592 17.488001 26.384001 40.032001 44.48 56.032001 65.216003 74.704002 83.295998 87.744003">enum Code {</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g36"><text + id="text38" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,-49.34399)"><tspan + id="tspan40" + y="0" + x="0">…</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g42"><text + id="text44" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,-30.896)"><tspan + id="tspan46" + y="0" + x="0">…</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g48"><text + id="text50" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,-12.448)"><tspan + id="tspan52" + y="0" + x="0">}</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g54"><text + id="text56" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,24)"><tspan + id="tspan58" + y="0" + x="0 8.8959999 17.792 21.344 30.528 39.424 43.872002 55.136002 63.728001 68.767998 77.360001 81.807999">union Data {</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g60"><text + id="text62" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,42.448)"><tspan + id="tspan64" + y="0" + x="0">…</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g66"><text + id="text68" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,60.896)"><tspan + id="tspan70" + y="0" + x="0">…</tspan></text> +</g><g + transform="matrix(1,0,0,-1,91.96875,95.57195)" + id="g72"><text + id="text74" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-85,79.34399)"><tspan + id="tspan76" + y="0" + x="0">}</tspan></text> +</g><g + transform="matrix(1,0,0,-1,90.1169,203.572)" + id="g78"><text + id="text80" + style="font-variant:normal;font-weight:normal;font-size:15px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-26.5275,5.290001)"><tspan + id="tspan82" + y="0" + x="0 10.83 19.440001 27.780001 32.505001 40.560001 48.330002">Context</tspan></text> +</g><path + id="path84" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 271.9688,118.9688 144,0 0,-54.00005 -144,0 0,54.00005 z" /><g + transform="matrix(1,0,0,-1,-16.03125,226.9688)" + id="g86"><path + id="path88" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 288,108 144,0 0,54 -144,0 0,-54 z" /></g><g + transform="matrix(1,0,0,-1,343.9688,91.96875)" + id="g90"><text + id="text92" + style="font-variant:normal;font-weight:normal;font-size:15px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-36.68701,6)"><tspan + id="tspan94" + y="0" + x="0 10.833 19.176001 27.518999 35.862 40.035 51.708 60.050999 68.393997">Code Gear</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16.03125,226.9688)" + id="g96"><path + id="path98" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 198,72 81.8896,57.3227" /></g><path + id="path100" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 270.4122,93.05833 -4.8335,7.04537 -3.4407,-4.91537 8.2742,-2.13 z" /><g + transform="matrix(1,0,0,-1,-16.03125,226.9688)" + id="g102"><path + id="path104" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 286.4435,133.9104 -4.8335,-7.0454 -3.4408,4.9154 8.2743,2.13 z" /></g></g></g></g></svg> \ No newline at end of file diff -r 000000000000 -r a5facba1adbc Slide/fig/csds.pdf Binary file Slide/fig/csds.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/csds.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/csds.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="580pt" height="76pt" viewBox="0 0 580 76" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 2.765625 -1.28125 L 2.765625 -10.140625 L 5.328125 -10.140625 C 6.035156 -10.140625 6.628906 -10.039062 7.109375 -9.84375 C 7.585938 -9.644531 7.976562 -9.359375 8.28125 -8.984375 C 8.582031 -8.609375 8.800781 -8.148438 8.9375 -7.609375 C 9.070312 -7.066406 9.140625 -6.457031 9.140625 -5.78125 C 9.140625 -5.070312 9.066406 -4.46875 8.921875 -3.96875 C 8.773438 -3.476562 8.585938 -3.066406 8.359375 -2.734375 C 8.140625 -2.398438 7.890625 -2.132812 7.609375 -1.9375 C 7.328125 -1.75 7.039062 -1.601562 6.75 -1.5 C 6.457031 -1.40625 6.179688 -1.34375 5.921875 -1.3125 C 5.671875 -1.289062 5.460938 -1.28125 5.296875 -1.28125 Z M 1.25 -11.421875 L 1.25 0 L 5.171875 0 C 6.117188 0 6.9375 -0.128906 7.625 -0.390625 C 8.320312 -0.660156 8.894531 -1.046875 9.34375 -1.546875 C 9.789062 -2.054688 10.117188 -2.679688 10.328125 -3.421875 C 10.546875 -4.171875 10.65625 -5.023438 10.65625 -5.984375 C 10.65625 -7.816406 10.179688 -9.179688 9.234375 -10.078125 C 8.285156 -10.972656 6.929688 -11.421875 5.171875 -11.421875 Z M 1.25 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 2.90625 -8.265625 L 2.90625 -10.75 L 1.546875 -10.75 L 1.546875 -8.265625 L 0.140625 -8.265625 L 0.140625 -7.078125 L 1.546875 -7.078125 L 1.546875 -1.8125 C 1.546875 -1.425781 1.582031 -1.113281 1.65625 -0.875 C 1.738281 -0.644531 1.851562 -0.460938 2 -0.328125 C 2.15625 -0.203125 2.359375 -0.113281 2.609375 -0.0625 C 2.859375 -0.0195312 3.160156 0 3.515625 0 L 4.5625 0 L 4.5625 -1.203125 L 3.9375 -1.203125 C 3.71875 -1.203125 3.539062 -1.207031 3.40625 -1.21875 C 3.28125 -1.238281 3.175781 -1.273438 3.09375 -1.328125 C 3.019531 -1.378906 2.96875 -1.453125 2.9375 -1.546875 C 2.914062 -1.648438 2.90625 -1.78125 2.90625 -1.9375 L 2.90625 -7.078125 L 4.5625 -7.078125 L 4.5625 -8.265625 Z M 2.90625 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 7.859375 -8.078125 L 9.296875 -8.078125 C 9.273438 -8.710938 9.15625 -9.253906 8.9375 -9.703125 C 8.71875 -10.160156 8.414062 -10.535156 8.03125 -10.828125 C 7.65625 -11.128906 7.21875 -11.347656 6.71875 -11.484375 C 6.21875 -11.628906 5.675781 -11.703125 5.09375 -11.703125 C 4.5625 -11.703125 4.046875 -11.632812 3.546875 -11.5 C 3.054688 -11.363281 2.613281 -11.160156 2.21875 -10.890625 C 1.832031 -10.617188 1.519531 -10.269531 1.28125 -9.84375 C 1.050781 -9.425781 0.9375 -8.929688 0.9375 -8.359375 C 0.9375 -7.828125 1.039062 -7.390625 1.25 -7.046875 C 1.457031 -6.703125 1.734375 -6.421875 2.078125 -6.203125 C 2.429688 -5.984375 2.828125 -5.804688 3.265625 -5.671875 C 3.703125 -5.535156 4.144531 -5.414062 4.59375 -5.3125 C 5.050781 -5.21875 5.5 -5.117188 5.9375 -5.015625 C 6.375 -4.921875 6.765625 -4.796875 7.109375 -4.640625 C 7.453125 -4.492188 7.726562 -4.296875 7.9375 -4.046875 C 8.144531 -3.804688 8.25 -3.488281 8.25 -3.09375 C 8.25 -2.675781 8.164062 -2.332031 8 -2.0625 C 7.832031 -1.789062 7.609375 -1.578125 7.328125 -1.421875 C 7.046875 -1.273438 6.734375 -1.171875 6.390625 -1.109375 C 6.046875 -1.046875 5.703125 -1.015625 5.359375 -1.015625 C 4.929688 -1.015625 4.515625 -1.066406 4.109375 -1.171875 C 3.703125 -1.273438 3.347656 -1.4375 3.046875 -1.65625 C 2.742188 -1.882812 2.5 -2.171875 2.3125 -2.515625 C 2.125 -2.867188 2.03125 -3.285156 2.03125 -3.765625 L 0.59375 -3.765625 C 0.59375 -3.066406 0.71875 -2.460938 0.96875 -1.953125 C 1.21875 -1.453125 1.554688 -1.035156 1.984375 -0.703125 C 2.421875 -0.378906 2.925781 -0.140625 3.5 0.015625 C 4.070312 0.171875 4.675781 0.25 5.3125 0.25 C 5.832031 0.25 6.359375 0.1875 6.890625 0.0625 C 7.421875 -0.0507812 7.894531 -0.242188 8.3125 -0.515625 C 8.738281 -0.785156 9.085938 -1.132812 9.359375 -1.5625 C 9.640625 -2 9.78125 -2.523438 9.78125 -3.140625 C 9.78125 -3.703125 9.675781 -4.171875 9.46875 -4.546875 C 9.257812 -4.921875 8.976562 -5.226562 8.625 -5.46875 C 8.28125 -5.71875 7.890625 -5.910156 7.453125 -6.046875 C 7.015625 -6.191406 6.566406 -6.316406 6.109375 -6.421875 C 5.660156 -6.535156 5.21875 -6.632812 4.78125 -6.71875 C 4.34375 -6.8125 3.953125 -6.925781 3.609375 -7.0625 C 3.265625 -7.207031 2.988281 -7.390625 2.78125 -7.609375 C 2.570312 -7.828125 2.46875 -8.113281 2.46875 -8.46875 C 2.46875 -8.84375 2.535156 -9.15625 2.671875 -9.40625 C 2.816406 -9.65625 3.007812 -9.851562 3.25 -10 C 3.488281 -10.144531 3.765625 -10.25 4.078125 -10.3125 C 4.390625 -10.382812 4.707031 -10.421875 5.03125 -10.421875 C 5.8125 -10.421875 6.457031 -10.234375 6.96875 -9.859375 C 7.476562 -9.492188 7.773438 -8.898438 7.859375 -8.078125 Z M 7.859375 -8.078125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 6.765625 -4.921875 L 2.015625 -4.921875 C 2.035156 -5.242188 2.101562 -5.546875 2.21875 -5.828125 C 2.34375 -6.109375 2.503906 -6.351562 2.703125 -6.5625 C 2.910156 -6.78125 3.15625 -6.953125 3.4375 -7.078125 C 3.71875 -7.203125 4.035156 -7.265625 4.390625 -7.265625 C 4.722656 -7.265625 5.03125 -7.203125 5.3125 -7.078125 C 5.601562 -6.953125 5.851562 -6.785156 6.0625 -6.578125 C 6.269531 -6.367188 6.429688 -6.117188 6.546875 -5.828125 C 6.671875 -5.546875 6.742188 -5.242188 6.765625 -4.921875 Z M 8.078125 -2.625 L 6.734375 -2.625 C 6.617188 -2.082031 6.375 -1.675781 6 -1.40625 C 5.632812 -1.144531 5.164062 -1.015625 4.59375 -1.015625 C 4.144531 -1.015625 3.753906 -1.085938 3.421875 -1.234375 C 3.085938 -1.378906 2.8125 -1.578125 2.59375 -1.828125 C 2.382812 -2.078125 2.234375 -2.363281 2.140625 -2.6875 C 2.046875 -3.019531 2.003906 -3.367188 2.015625 -3.734375 L 8.203125 -3.734375 C 8.222656 -4.234375 8.175781 -4.757812 8.0625 -5.3125 C 7.957031 -5.863281 7.757812 -6.375 7.46875 -6.84375 C 7.175781 -7.3125 6.785156 -7.695312 6.296875 -8 C 5.804688 -8.3125 5.195312 -8.46875 4.46875 -8.46875 C 3.894531 -8.46875 3.367188 -8.359375 2.890625 -8.140625 C 2.421875 -7.929688 2.015625 -7.632812 1.671875 -7.25 C 1.328125 -6.863281 1.054688 -6.410156 0.859375 -5.890625 C 0.671875 -5.367188 0.578125 -4.789062 0.578125 -4.15625 C 0.597656 -3.53125 0.691406 -2.945312 0.859375 -2.40625 C 1.023438 -1.875 1.269531 -1.414062 1.59375 -1.03125 C 1.925781 -0.65625 2.332031 -0.359375 2.8125 -0.140625 C 3.300781 0.0664062 3.878906 0.171875 4.546875 0.171875 C 5.484375 0.171875 6.257812 -0.0625 6.875 -0.53125 C 7.5 -1 7.898438 -1.695312 8.078125 -2.625 Z M 8.078125 -2.625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 8.15625 -0.703125 L 8.15625 -8.265625 L 6.875 -8.265625 L 6.875 -7.09375 L 6.859375 -7.09375 C 6.617188 -7.550781 6.28125 -7.894531 5.84375 -8.125 C 5.40625 -8.351562 4.925781 -8.46875 4.40625 -8.46875 C 3.6875 -8.46875 3.082031 -8.328125 2.59375 -8.046875 C 2.101562 -7.773438 1.707031 -7.429688 1.40625 -7.015625 C 1.101562 -6.597656 0.890625 -6.128906 0.765625 -5.609375 C 0.640625 -5.085938 0.578125 -4.582031 0.578125 -4.09375 C 0.578125 -3.53125 0.65625 -2.992188 0.8125 -2.484375 C 0.96875 -1.984375 1.195312 -1.539062 1.5 -1.15625 C 1.8125 -0.78125 2.195312 -0.476562 2.65625 -0.25 C 3.113281 -0.03125 3.648438 0.078125 4.265625 0.078125 C 4.804688 0.078125 5.3125 -0.0390625 5.78125 -0.28125 C 6.257812 -0.519531 6.613281 -0.894531 6.84375 -1.40625 L 6.875 -1.40625 L 6.875 -0.859375 C 6.875 -0.398438 6.828125 0.015625 6.734375 0.390625 C 6.648438 0.773438 6.503906 1.101562 6.296875 1.375 C 6.097656 1.65625 5.84375 1.867188 5.53125 2.015625 C 5.226562 2.171875 4.851562 2.25 4.40625 2.25 C 4.175781 2.25 3.9375 2.222656 3.6875 2.171875 C 3.445312 2.128906 3.222656 2.054688 3.015625 1.953125 C 2.804688 1.847656 2.628906 1.707031 2.484375 1.53125 C 2.335938 1.363281 2.257812 1.15625 2.25 0.90625 L 0.890625 0.90625 C 0.910156 1.351562 1.023438 1.734375 1.234375 2.046875 C 1.453125 2.359375 1.722656 2.609375 2.046875 2.796875 C 2.378906 2.992188 2.742188 3.132812 3.140625 3.21875 C 3.546875 3.300781 3.9375 3.34375 4.3125 3.34375 C 5.632812 3.34375 6.601562 3.003906 7.21875 2.328125 C 7.84375 1.660156 8.15625 0.648438 8.15625 -0.703125 Z M 4.359375 -1.109375 C 3.910156 -1.109375 3.535156 -1.195312 3.234375 -1.375 C 2.929688 -1.5625 2.6875 -1.804688 2.5 -2.109375 C 2.320312 -2.421875 2.195312 -2.765625 2.125 -3.140625 C 2.050781 -3.515625 2.015625 -3.882812 2.015625 -4.25 C 2.015625 -4.644531 2.054688 -5.023438 2.140625 -5.390625 C 2.234375 -5.753906 2.378906 -6.070312 2.578125 -6.34375 C 2.773438 -6.625 3.03125 -6.847656 3.34375 -7.015625 C 3.65625 -7.179688 4.03125 -7.265625 4.46875 -7.265625 C 4.894531 -7.265625 5.253906 -7.175781 5.546875 -7 C 5.847656 -6.832031 6.09375 -6.609375 6.28125 -6.328125 C 6.46875 -6.046875 6.601562 -5.726562 6.6875 -5.375 C 6.769531 -5.019531 6.8125 -4.660156 6.8125 -4.296875 C 6.8125 -3.921875 6.765625 -3.539062 6.671875 -3.15625 C 6.585938 -2.769531 6.445312 -2.421875 6.25 -2.109375 C 6.0625 -1.804688 5.8125 -1.5625 5.5 -1.375 C 5.1875 -1.195312 4.804688 -1.109375 4.359375 -1.109375 Z M 4.359375 -1.109375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -5.15625 C 2.390625 -5.3125 2.425781 -5.507812 2.5 -5.75 C 2.582031 -5.988281 2.710938 -6.21875 2.890625 -6.4375 C 3.066406 -6.664062 3.296875 -6.859375 3.578125 -7.015625 C 3.859375 -7.179688 4.195312 -7.265625 4.59375 -7.265625 C 4.90625 -7.265625 5.15625 -7.21875 5.34375 -7.125 C 5.539062 -7.03125 5.695312 -6.898438 5.8125 -6.734375 C 5.9375 -6.578125 6.019531 -6.382812 6.0625 -6.15625 C 6.113281 -5.9375 6.140625 -5.691406 6.140625 -5.421875 L 6.140625 0 L 7.5 0 L 7.5 -5.15625 C 7.5 -5.789062 7.691406 -6.300781 8.078125 -6.6875 C 8.460938 -7.070312 8.988281 -7.265625 9.65625 -7.265625 C 9.988281 -7.265625 10.257812 -7.210938 10.46875 -7.109375 C 10.675781 -7.015625 10.835938 -6.882812 10.953125 -6.71875 C 11.078125 -6.5625 11.160156 -6.367188 11.203125 -6.140625 C 11.242188 -5.921875 11.265625 -5.679688 11.265625 -5.421875 L 11.265625 0 L 12.625 0 L 12.625 -6.0625 C 12.625 -6.488281 12.554688 -6.851562 12.421875 -7.15625 C 12.285156 -7.457031 12.097656 -7.703125 11.859375 -7.890625 C 11.617188 -8.085938 11.332031 -8.234375 11 -8.328125 C 10.664062 -8.421875 10.289062 -8.46875 9.875 -8.46875 C 9.332031 -8.46875 8.832031 -8.34375 8.375 -8.09375 C 7.925781 -7.851562 7.5625 -7.507812 7.28125 -7.0625 C 7.113281 -7.570312 6.820312 -7.929688 6.40625 -8.140625 C 5.988281 -8.359375 5.523438 -8.46875 5.015625 -8.46875 C 3.847656 -8.46875 2.957031 -8 2.34375 -7.0625 L 2.296875 -7.0625 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -4.671875 C 2.390625 -5.046875 2.4375 -5.390625 2.53125 -5.703125 C 2.632812 -6.015625 2.785156 -6.285156 2.984375 -6.515625 C 3.191406 -6.753906 3.445312 -6.9375 3.75 -7.0625 C 4.050781 -7.195312 4.410156 -7.265625 4.828125 -7.265625 C 5.347656 -7.265625 5.757812 -7.113281 6.0625 -6.8125 C 6.363281 -6.519531 6.515625 -6.113281 6.515625 -5.59375 L 6.515625 0 L 7.875 0 L 7.875 -5.4375 C 7.875 -5.882812 7.828125 -6.289062 7.734375 -6.65625 C 7.640625 -7.03125 7.476562 -7.347656 7.25 -7.609375 C 7.03125 -7.878906 6.738281 -8.085938 6.375 -8.234375 C 6.019531 -8.390625 5.570312 -8.46875 5.03125 -8.46875 C 3.800781 -8.46875 2.90625 -7.960938 2.34375 -6.953125 L 2.296875 -6.953125 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 9.28125 -7.984375 L 10.796875 -7.984375 C 10.710938 -8.585938 10.53125 -9.117188 10.25 -9.578125 C 9.976562 -10.046875 9.632812 -10.4375 9.21875 -10.75 C 8.800781 -11.0625 8.320312 -11.296875 7.78125 -11.453125 C 7.25 -11.617188 6.6875 -11.703125 6.09375 -11.703125 C 5.21875 -11.703125 4.441406 -11.539062 3.765625 -11.21875 C 3.085938 -10.90625 2.519531 -10.476562 2.0625 -9.9375 C 1.613281 -9.394531 1.269531 -8.753906 1.03125 -8.015625 C 0.800781 -7.285156 0.6875 -6.507812 0.6875 -5.6875 C 0.6875 -4.851562 0.796875 -4.070312 1.015625 -3.34375 C 1.234375 -2.613281 1.5625 -1.984375 2 -1.453125 C 2.4375 -0.921875 2.984375 -0.503906 3.640625 -0.203125 C 4.304688 0.0976562 5.082031 0.25 5.96875 0.25 C 7.425781 0.25 8.578125 -0.144531 9.421875 -0.9375 C 10.265625 -1.738281 10.757812 -2.859375 10.90625 -4.296875 L 9.390625 -4.296875 C 9.359375 -3.828125 9.257812 -3.390625 9.09375 -2.984375 C 8.9375 -2.585938 8.71875 -2.238281 8.4375 -1.9375 C 8.15625 -1.644531 7.816406 -1.414062 7.421875 -1.25 C 7.035156 -1.09375 6.59375 -1.015625 6.09375 -1.015625 C 5.414062 -1.015625 4.828125 -1.140625 4.328125 -1.390625 C 3.835938 -1.648438 3.4375 -1.992188 3.125 -2.421875 C 2.8125 -2.859375 2.578125 -3.363281 2.421875 -3.9375 C 2.273438 -4.519531 2.203125 -5.140625 2.203125 -5.796875 C 2.203125 -6.390625 2.273438 -6.960938 2.421875 -7.515625 C 2.578125 -8.078125 2.8125 -8.570312 3.125 -9 C 3.4375 -9.425781 3.835938 -9.769531 4.328125 -10.03125 C 4.816406 -10.289062 5.398438 -10.421875 6.078125 -10.421875 C 6.878906 -10.421875 7.570312 -10.21875 8.15625 -9.8125 C 8.738281 -9.40625 9.113281 -8.796875 9.28125 -7.984375 Z M 9.28125 -7.984375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 2.015625 -4.125 C 2.015625 -4.625 2.082031 -5.066406 2.21875 -5.453125 C 2.351562 -5.847656 2.535156 -6.175781 2.765625 -6.4375 C 3.003906 -6.707031 3.28125 -6.910156 3.59375 -7.046875 C 3.90625 -7.191406 4.238281 -7.265625 4.59375 -7.265625 C 4.945312 -7.265625 5.28125 -7.191406 5.59375 -7.046875 C 5.90625 -6.910156 6.175781 -6.707031 6.40625 -6.4375 C 6.644531 -6.175781 6.832031 -5.847656 6.96875 -5.453125 C 7.101562 -5.066406 7.171875 -4.625 7.171875 -4.125 C 7.171875 -3.625 7.101562 -3.175781 6.96875 -2.78125 C 6.832031 -2.394531 6.644531 -2.070312 6.40625 -1.8125 C 6.175781 -1.550781 5.90625 -1.351562 5.59375 -1.21875 C 5.28125 -1.082031 4.945312 -1.015625 4.59375 -1.015625 C 4.238281 -1.015625 3.90625 -1.082031 3.59375 -1.21875 C 3.28125 -1.351562 3.003906 -1.550781 2.765625 -1.8125 C 2.535156 -2.070312 2.351562 -2.394531 2.21875 -2.78125 C 2.082031 -3.175781 2.015625 -3.625 2.015625 -4.125 Z M 0.578125 -4.125 C 0.578125 -3.519531 0.660156 -2.953125 0.828125 -2.421875 C 1.003906 -1.898438 1.257812 -1.445312 1.59375 -1.0625 C 1.9375 -0.675781 2.359375 -0.375 2.859375 -0.15625 C 3.359375 0.0625 3.9375 0.171875 4.59375 0.171875 C 5.25 0.171875 5.828125 0.0625 6.328125 -0.15625 C 6.828125 -0.375 7.242188 -0.675781 7.578125 -1.0625 C 7.921875 -1.445312 8.175781 -1.898438 8.34375 -2.421875 C 8.519531 -2.953125 8.609375 -3.519531 8.609375 -4.125 C 8.609375 -4.738281 8.519531 -5.304688 8.34375 -5.828125 C 8.175781 -6.359375 7.921875 -6.816406 7.578125 -7.203125 C 7.242188 -7.597656 6.828125 -7.90625 6.328125 -8.125 C 5.828125 -8.351562 5.25 -8.46875 4.59375 -8.46875 C 3.9375 -8.46875 3.359375 -8.351562 2.859375 -8.125 C 2.359375 -7.90625 1.9375 -7.597656 1.59375 -7.203125 C 1.257812 -6.816406 1.003906 -6.359375 0.828125 -5.828125 C 0.660156 -5.304688 0.578125 -4.738281 0.578125 -4.125 Z M 0.578125 -4.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 2.015625 -4.0625 C 2.015625 -4.46875 2.054688 -4.863281 2.140625 -5.25 C 2.222656 -5.632812 2.359375 -5.972656 2.546875 -6.265625 C 2.742188 -6.566406 3.003906 -6.804688 3.328125 -6.984375 C 3.648438 -7.171875 4.039062 -7.265625 4.5 -7.265625 C 4.96875 -7.265625 5.363281 -7.175781 5.6875 -7 C 6.019531 -6.820312 6.289062 -6.585938 6.5 -6.296875 C 6.707031 -6.015625 6.859375 -5.679688 6.953125 -5.296875 C 7.054688 -4.921875 7.109375 -4.53125 7.109375 -4.125 C 7.109375 -3.738281 7.0625 -3.359375 6.96875 -2.984375 C 6.875 -2.617188 6.722656 -2.285156 6.515625 -1.984375 C 6.316406 -1.691406 6.054688 -1.457031 5.734375 -1.28125 C 5.421875 -1.101562 5.035156 -1.015625 4.578125 -1.015625 C 4.140625 -1.015625 3.753906 -1.097656 3.421875 -1.265625 C 3.097656 -1.429688 2.832031 -1.660156 2.625 -1.953125 C 2.414062 -2.242188 2.257812 -2.570312 2.15625 -2.9375 C 2.0625 -3.300781 2.015625 -3.675781 2.015625 -4.0625 Z M 8.421875 0 L 8.421875 -11.421875 L 7.0625 -11.421875 L 7.0625 -7.171875 L 7.03125 -7.171875 C 6.875 -7.410156 6.6875 -7.613281 6.46875 -7.78125 C 6.25 -7.945312 6.015625 -8.082031 5.765625 -8.1875 C 5.523438 -8.289062 5.28125 -8.363281 5.03125 -8.40625 C 4.789062 -8.445312 4.566406 -8.46875 4.359375 -8.46875 C 3.722656 -8.46875 3.164062 -8.351562 2.6875 -8.125 C 2.21875 -7.894531 1.828125 -7.582031 1.515625 -7.1875 C 1.203125 -6.800781 0.96875 -6.347656 0.8125 -5.828125 C 0.65625 -5.304688 0.578125 -4.75 0.578125 -4.15625 C 0.578125 -3.570312 0.65625 -3.019531 0.8125 -2.5 C 0.976562 -1.976562 1.21875 -1.519531 1.53125 -1.125 C 1.84375 -0.726562 2.234375 -0.410156 2.703125 -0.171875 C 3.179688 0.0546875 3.742188 0.171875 4.390625 0.171875 C 4.960938 0.171875 5.488281 0.0703125 5.96875 -0.125 C 6.445312 -0.332031 6.800781 -0.664062 7.03125 -1.125 L 7.0625 -1.125 L 7.0625 0 Z M 8.421875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 3.21875 -4.71875 L 5.15625 -10.046875 L 5.1875 -10.046875 L 7.09375 -4.71875 Z M 4.359375 -11.421875 L -0.09375 0 L 1.453125 0 L 2.734375 -3.4375 L 7.5625 -3.4375 L 8.8125 0 L 10.5 0 L 6.03125 -11.421875 Z M 4.359375 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 2.765625 -6.515625 L 2.765625 -10.140625 L 5.8125 -10.140625 C 6.132812 -10.140625 6.441406 -10.117188 6.734375 -10.078125 C 7.035156 -10.046875 7.296875 -9.960938 7.515625 -9.828125 C 7.742188 -9.703125 7.921875 -9.519531 8.046875 -9.28125 C 8.171875 -9.050781 8.234375 -8.738281 8.234375 -8.34375 C 8.234375 -7.726562 8.046875 -7.269531 7.671875 -6.96875 C 7.296875 -6.664062 6.675781 -6.515625 5.8125 -6.515625 Z M 1.25 -11.421875 L 1.25 0 L 6.765625 0 C 7.328125 0 7.820312 -0.09375 8.25 -0.28125 C 8.6875 -0.46875 9.050781 -0.710938 9.34375 -1.015625 C 9.644531 -1.316406 9.867188 -1.664062 10.015625 -2.0625 C 10.160156 -2.457031 10.234375 -2.863281 10.234375 -3.28125 C 10.234375 -3.988281 10.046875 -4.585938 9.671875 -5.078125 C 9.304688 -5.566406 8.769531 -5.882812 8.0625 -6.03125 L 8.0625 -6.0625 C 8.601562 -6.28125 9.019531 -6.609375 9.3125 -7.046875 C 9.613281 -7.492188 9.765625 -8.019531 9.765625 -8.625 C 9.765625 -9.195312 9.628906 -9.679688 9.359375 -10.078125 C 9.097656 -10.472656 8.785156 -10.785156 8.421875 -11.015625 C 8.242188 -11.117188 8.035156 -11.195312 7.796875 -11.25 C 7.554688 -11.300781 7.296875 -11.335938 7.015625 -11.359375 C 6.742188 -11.390625 6.46875 -11.40625 6.1875 -11.40625 C 5.90625 -11.414062 5.640625 -11.421875 5.390625 -11.421875 Z M 2.765625 -1.28125 L 2.765625 -5.234375 L 6.234375 -5.234375 C 6.554688 -5.234375 6.863281 -5.203125 7.15625 -5.140625 C 7.457031 -5.085938 7.722656 -4.988281 7.953125 -4.84375 C 8.179688 -4.695312 8.363281 -4.5 8.5 -4.25 C 8.644531 -4.007812 8.71875 -3.703125 8.71875 -3.328125 C 8.71875 -2.691406 8.523438 -2.191406 8.140625 -1.828125 C 7.765625 -1.460938 7.242188 -1.28125 6.578125 -1.28125 Z M 2.765625 -1.28125 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288 144 L 423 144 L 423 216 L 288 216 Z M 288 144 " transform="matrix(1,0,0,1,-70,-142)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="236.596" y="43.776001"/> + <use xlink:href="#glyph0-2" x="247.86" y="43.776001"/> + <use xlink:href="#glyph0-3" x="256.452" y="43.776001"/> + <use xlink:href="#glyph0-2" x="261.492" y="43.776001"/> + <use xlink:href="#glyph0-4" x="270.084" y="43.776001"/> + <use xlink:href="#glyph0-5" x="280.452" y="43.776001"/> + <use xlink:href="#glyph0-6" x="289.044" y="43.776001"/> + <use xlink:href="#glyph0-7" x="298.228" y="43.776001"/> + <use xlink:href="#glyph0-5" x="311.876" y="43.776001"/> + <use xlink:href="#glyph0-8" x="320.468" y="43.776001"/> + <use xlink:href="#glyph0-3" x="329.364" y="43.776001"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 194.910156 154.542969 C 223.03125 168.601562 223.03125 191.398438 194.910156 205.457031 C 166.792969 219.515625 121.207031 219.515625 93.089844 205.457031 C 64.96875 191.398438 64.96875 168.601562 93.089844 154.542969 C 121.207031 140.484375 166.792969 140.484375 194.910156 154.542969 " transform="matrix(1,0,0,1,-70,-142)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="22.432" y="34.552002"/> + <use xlink:href="#glyph0-10" x="33.984" y="34.552002"/> + <use xlink:href="#glyph0-11" x="43.168" y="34.552002"/> + <use xlink:href="#glyph0-5" x="52.656" y="34.552002"/> + <use xlink:href="#glyph0-4" x="61.248" y="34.552002"/> + <use xlink:href="#glyph0-5" x="71.616" y="34.552002"/> + <use xlink:href="#glyph0-6" x="80.208" y="34.552002"/> + <use xlink:href="#glyph0-7" x="89.392" y="34.552002"/> + <use xlink:href="#glyph0-5" x="103.04" y="34.552002"/> + <use xlink:href="#glyph0-8" x="111.632" y="34.552002"/> + <use xlink:href="#glyph0-3" x="120.528" y="34.552002"/> + <use xlink:href="#glyph0-12" x="125.568" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-13" x="68.816" y="53"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 626.910156 154.542969 C 655.03125 168.601562 655.03125 191.398438 626.910156 205.457031 C 598.792969 219.515625 553.207031 219.515625 525.089844 205.457031 C 496.96875 191.398438 496.96875 168.601562 525.089844 154.542969 C 553.207031 140.484375 598.792969 140.484375 626.910156 154.542969 " transform="matrix(1,0,0,1,-70,-142)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-9" x="454.432" y="34.552002"/> + <use xlink:href="#glyph0-10" x="465.984" y="34.552002"/> + <use xlink:href="#glyph0-11" x="475.168" y="34.552002"/> + <use xlink:href="#glyph0-5" x="484.656" y="34.552002"/> + <use xlink:href="#glyph0-4" x="493.248" y="34.552002"/> + <use xlink:href="#glyph0-5" x="503.616" y="34.552002"/> + <use xlink:href="#glyph0-6" x="512.208" y="34.552002"/> + <use xlink:href="#glyph0-7" x="521.392" y="34.552002"/> + <use xlink:href="#glyph0-5" x="535.04" y="34.552002"/> + <use xlink:href="#glyph0-8" x="543.632" y="34.552002"/> + <use xlink:href="#glyph0-3" x="552.528" y="34.552002"/> + <use xlink:href="#glyph0-12" x="557.568" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-14" x="500.52" y="53"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216 180 L 288 180 " transform="matrix(1,0,0,1,-70,-142)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423 180 L 494.101562 180 " transform="matrix(1,0,0,1,-70,-142)"/> +<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 502.101562 180 L 494.101562 177 L 494.101562 183 Z M 502.101562 180 " transform="matrix(1,0,0,1,-70,-142)"/> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Slide/fig/fanctionLoop.graffle Binary file Slide/fig/fanctionLoop.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/funcLoopinAutomata.graffle Binary file Slide/fig/funcLoopinAutomata.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/gears_structure.pdf Binary file Slide/fig/gears_structure.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/generate_context.graffle Binary file Slide/fig/generate_context.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/generate_context.pdf Binary file Slide/fig/generate_context.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/generate_context.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/generate_context.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,328 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 837.5 532.5" + height="532.5" + width="837.5" + xml:space="preserve" + version="1.1" + id="svg2"><metadata + id="metadata8"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs6"><clipPath + id="clipPath18" + clipPathUnits="userSpaceOnUse"><path + id="path20" + d="M 0,0 670,0 670,426 0,426 0,0 Z" /></clipPath></defs><g + transform="matrix(1.25,0,0,-1.25,0,532.5)" + id="g10"><g + id="g12" /><g + id="g14"><g + clip-path="url(#clipPath18)" + id="g16"><path + id="path22" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m -16,425 856,0 0,-739 -856,0 0,739 z" /><path + id="path24" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 11,299 117,0 0,-36 -117,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g26"><path + id="path28" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 27,126 117,0 0,36 -117,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,69.5,281)" + id="g30"><text + id="text32" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-14.50781,4)"><tspan + id="tspan34" + y="0" + x="0 7.0079999 10.3416 16.3416 23.016001">~.cbc</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g36"><path + id="path38" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 359.9368,151.4437 c 26.751,8.5915 26.751,22.5211 0,31.1126 -26.7509,8.5916 -70.1227,8.5916 -96.8736,0 -26.751,-8.5915 -26.751,-22.5211 0,-31.1126 26.7509,-8.5916 70.1227,-8.5916 96.8736,0" /></g><g + transform="matrix(1,0,0,-1,295.5,258)" + id="g40"><text + id="text42" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-38.36426,4)"><tspan + id="tspan44" + y="0" + x="0 6.6743999 13.3488 20.023199 26.697599 30.6936 37.368 40.701599 47.375999 54.0504 60.0504 63.383999 70.058403">generate_stub</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g46"><path + id="path48" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 144.4954,144.068 93.6997,12.8663" /></g><path + id="path50" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 230.1207,266.9775 -7.5175,4.0604 -0.8162,-5.9443 8.3337,1.8839 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g52"><path + id="path54" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 246.1207,158.0225 -7.5175,-4.0604 -0.8162,5.9443 8.3337,-1.8839 z" /></g><path + id="path56" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 497,374.2028 162,0 L 659,11 l -162,0 0,363.2028 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g58"><path + id="path60" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 513,50.79715 162,0 L 675,414 513,414 513,50.79715 Z" /></g><g + transform="matrix(1,0,0,-1,576.3333,395.1014)" + id="g62"><text + id="text64" + style="font-variant:normal;font-weight:normal;font-size:15px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-4.0275,5.290001)"><tspan + id="tspan66" + y="0" + x="0">c</tspan></text> +</g><path + id="path68" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 524,344 108,0 0,-36 -108,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g70"><path + id="path72" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 540,81 108,0 0,36 -108,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,578,326)" + id="g74"><text + id="text76" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-8.170898,4)"><tspan + id="tspan78" + y="0" + x="0 7.0079999 10.3416">~.c</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g80"><path + id="path82" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 362.2257,151.9044 530.032,101.9664" /></g><path + id="path84" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 521.6997,325.3154 -8.5234,0.5936 1.7114,-5.7508 6.812,5.1572 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g86"><path + id="path88" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 537.6997,99.68455 -8.5234,-0.59353 1.7114,5.75078 6.812,-5.15725 z" /></g><path + id="path90" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 11,182 117,0 0,-36 -117,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g92"><path + id="path94" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 27,243 117,0 0,36 -117,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,69.5,164)" + id="g96"><text + id="text98" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-24.34863,4)"><tspan + id="tspan100" + y="0" + x="0 6 12.6744 19.348801 22.6824 29.3568 35.3568 38.690399 42.023998">context.h</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g102"><path + id="path104" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 359.9368,249.5901 c 26.751,8.7868 26.751,23.033 0,31.8198 -26.7509,8.7868 -70.1227,8.7868 -96.8736,0 -26.751,-8.7868 -26.751,-23.033 0,-31.8198 26.7509,-8.7868 70.1227,-8.7868 96.8736,0" /></g><g + transform="matrix(1,0,0,-1,295.5,159.5)" + id="g106"><text + id="text108" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-46.36816,4)"><tspan + id="tspan110" + y="0" + x="0 6.6743999 13.3488 20.023199 26.697599 30.6936 37.368 40.701599 47.375999 54.0504 60.0504 66.7248 73.3992 76.732803 83.407204 89.407204">generate_context</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g112"><path + id="path114" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 540,99 348.0633,238.8576" /></g><path + id="path116" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 325.5977,181.4312 8.2324,2.2866 -3.5335,4.8492 -4.6989,-7.1358 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g118"><path + id="path120" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 341.5977,243.5688 8.2324,-2.2866 -3.5335,-4.8492 -4.6989,7.1358 z" /></g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g122"><path + id="path124" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 144.4998,261.0134 88.3305,2.3731" /></g><path + id="path126" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 224.8274,161.3987 -7.9165,3.2137 -0.1612,-5.9978 8.0777,2.7841 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g128"><path + id="path130" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 240.8274,263.6013 -7.9165,-3.2137 -0.1612,5.9978 8.0777,-2.7841 z" /></g><path + id="path132" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 524,290 108,0 0,-36 -108,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g134"><path + id="path136" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 540,135 108,0 0,36 -108,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,578,272)" + id="g138"><text + id="text140" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-34.35645,4)"><tspan + id="tspan142" + y="0" + x="0 6.6743999 13.3488 20.023199 30.019199 38.6856 45.360001 52.034401 58.708801 62.0424">enumCode.h</tspan></text> +</g><path + id="path144" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 524,236 108,0 0,-36 -108,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g146"><path + id="path148" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 540,189 108,0 0,36 -108,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,578,218)" + id="g150"><text + id="text152" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-32.68652,4)"><tspan + id="tspan154" + y="0" + x="0 6.6743999 13.3488 20.023199 30.019199 38.6856 45.360001 48.6936 55.368 58.701599">enumData.h</tspan></text> +</g><path + id="path156" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 524,182 108,0 0,-36 -108,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g158"><path + id="path160" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 540,243 108,0 0,36 -108,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,578,164)" + id="g162"><text + id="text164" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-38.02441,4)"><tspan + id="tspan166" + y="0" + x="0 6.6743999 13.3488 16.6824 23.3568 32.690399 39.364799 46.0392 50.035198 53.368801 60.043201 62.709599 66.043198 69.376801">dataGearInit.h</tspan></text> +</g><path + id="path168" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 524,128 108,0 0,-36 -108,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g170"><path + id="path172" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 540,297 108,0 0,36 -108,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,578,110)" + id="g174"><text + id="text176" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-39.0293,4)"><tspan + id="tspan178" + y="0" + x="0 6.6743999 12.6744 19.348801 26.023199 32.697601 39.372002 42.705601 51.372002 58.046398 61.380001 68.054398 71.388">TypedefData.h</tspan></text> +</g><path + id="path180" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 524,74 108,0 0,-36 -108,0 0,36 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g182"><path + id="path184" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 540,351 108,0 0,36 -108,0 0,-36 z" /></g><g + transform="matrix(1,0,0,-1,578,56)" + id="g186"><text + id="text188" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-41.35254,4)"><tspan + id="tspan190" + y="0" + x="0 3.3336 10.008 14.004 20.6784 27.3528 30.686399 34.6824 40.6824 47.3568 54.0312 57.364799 64.0392 70.0392 73.372803 76.706398">target-context.c</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g192"><path + id="path194" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 349.972,246.5586 531.1181,157.3729" /></g><path + id="path196" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 522.2954,271.1608 -8.5024,-0.8422 2.6503,-5.383 5.8521,6.2252 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g198"><path + id="path200" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 538.2954,153.8392 -8.5024,0.8422 2.6503,5.383 5.8521,-6.2252 z" /></g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g202"><path + id="path204" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 366.0172,251.5426 530.4093,209.4554" /></g><path + id="path206" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 522.1594,217.5288 -8.4941,0.9221 1.4881,-5.8125 7.006,4.8904 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g208"><path + id="path210" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 538.1594,207.4712 -8.4941,-0.9221 1.4881,5.8125 7.006,-4.8904 z" /></g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g212"><path + id="path214" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 380.3779,264.1435 529.602,261.2048" /></g><path + id="path216" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 521.6005,163.9527 -8.0576,2.8419 0.1182,-5.9988 7.9394,3.1569 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g218"><path + id="path220" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 537.6005,261.0473 -8.0576,-2.8419 0.1182,5.9988 7.9394,-3.1569 z" /></g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g222"><path + id="path224" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 369.1833,277.9959 530.3244,312.904" /></g><path + id="path226" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 522.1431,110.4023 -7.1835,4.6257 -1.2703,-5.864 8.4538,1.2383 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g228"><path + id="path230" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 538.1431,314.5977 -7.1835,-4.6257 -1.2703,5.864 8.4538,-1.2383 z" /></g><g + transform="matrix(1,0,0,-1,-16,425)" + id="g232"><path + id="path234" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 352.1747,283.9237 178.3518,80.7852" /></g><path + id="path236" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 521.8138,56.99024 -6.0495,6.03355 -2.4756,-5.46547 8.5251,-0.56808 z" /><g + transform="matrix(1,0,0,-1,-16,425)" + id="g238"><path + id="path240" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 537.8138,368.0098 -6.0495,-6.0336 -2.4756,5.4655 8.5251,0.5681 z" /></g></g></g></g></svg> \ No newline at end of file diff -r 000000000000 -r a5facba1adbc Slide/fig/generate_context3.pdf Binary file Slide/fig/generate_context3.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/generate_stub.graffle Binary file Slide/fig/generate_stub.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/generate_stub.pdf Binary file Slide/fig/generate_stub.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/hoare-cbc.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/hoare-cbc.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="580pt" height="175pt" viewBox="0 0 580 175" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 2.765625 -5.953125 L 2.765625 -10.140625 L 5.75 -10.140625 C 6.613281 -10.140625 7.242188 -9.960938 7.640625 -9.609375 C 8.035156 -9.253906 8.234375 -8.734375 8.234375 -8.046875 C 8.234375 -7.367188 8.035156 -6.847656 7.640625 -6.484375 C 7.242188 -6.117188 6.613281 -5.941406 5.75 -5.953125 Z M 1.25 -11.421875 L 1.25 0 L 2.765625 0 L 2.765625 -4.671875 L 6.25 -4.671875 C 7.40625 -4.660156 8.28125 -4.953125 8.875 -5.546875 C 9.46875 -6.148438 9.765625 -6.984375 9.765625 -8.046875 C 9.765625 -9.109375 9.46875 -9.9375 8.875 -10.53125 C 8.28125 -11.125 7.40625 -11.421875 6.25 -11.421875 Z M 1.25 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 0.96875 -8.265625 L 0.96875 0 L 2.34375 0 L 2.34375 -3.6875 C 2.34375 -4.21875 2.394531 -4.6875 2.5 -5.09375 C 2.601562 -5.507812 2.769531 -5.859375 3 -6.140625 C 3.238281 -6.429688 3.550781 -6.648438 3.9375 -6.796875 C 4.320312 -6.953125 4.785156 -7.03125 5.328125 -7.03125 L 5.328125 -8.46875 C 4.585938 -8.488281 3.976562 -8.335938 3.5 -8.015625 C 3.019531 -7.691406 2.613281 -7.195312 2.28125 -6.53125 L 2.25 -6.53125 L 2.25 -8.265625 Z M 0.96875 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 6.765625 -4.921875 L 2.015625 -4.921875 C 2.035156 -5.242188 2.101562 -5.546875 2.21875 -5.828125 C 2.34375 -6.109375 2.503906 -6.351562 2.703125 -6.5625 C 2.910156 -6.78125 3.15625 -6.953125 3.4375 -7.078125 C 3.71875 -7.203125 4.035156 -7.265625 4.390625 -7.265625 C 4.722656 -7.265625 5.03125 -7.203125 5.3125 -7.078125 C 5.601562 -6.953125 5.851562 -6.785156 6.0625 -6.578125 C 6.269531 -6.367188 6.429688 -6.117188 6.546875 -5.828125 C 6.671875 -5.546875 6.742188 -5.242188 6.765625 -4.921875 Z M 8.078125 -2.625 L 6.734375 -2.625 C 6.617188 -2.082031 6.375 -1.675781 6 -1.40625 C 5.632812 -1.144531 5.164062 -1.015625 4.59375 -1.015625 C 4.144531 -1.015625 3.753906 -1.085938 3.421875 -1.234375 C 3.085938 -1.378906 2.8125 -1.578125 2.59375 -1.828125 C 2.382812 -2.078125 2.234375 -2.363281 2.140625 -2.6875 C 2.046875 -3.019531 2.003906 -3.367188 2.015625 -3.734375 L 8.203125 -3.734375 C 8.222656 -4.234375 8.175781 -4.757812 8.0625 -5.3125 C 7.957031 -5.863281 7.757812 -6.375 7.46875 -6.84375 C 7.175781 -7.3125 6.785156 -7.695312 6.296875 -8 C 5.804688 -8.3125 5.195312 -8.46875 4.46875 -8.46875 C 3.894531 -8.46875 3.367188 -8.359375 2.890625 -8.140625 C 2.421875 -7.929688 2.015625 -7.632812 1.671875 -7.25 C 1.328125 -6.863281 1.054688 -6.410156 0.859375 -5.890625 C 0.671875 -5.367188 0.578125 -4.789062 0.578125 -4.15625 C 0.597656 -3.53125 0.691406 -2.945312 0.859375 -2.40625 C 1.023438 -1.875 1.269531 -1.414062 1.59375 -1.03125 C 1.925781 -0.65625 2.332031 -0.359375 2.8125 -0.140625 C 3.300781 0.0664062 3.878906 0.171875 4.546875 0.171875 C 5.484375 0.171875 6.257812 -0.0625 6.875 -0.53125 C 7.5 -1 7.898438 -1.695312 8.078125 -2.625 Z M 8.078125 -2.625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 0.796875 -5.09375 L 0.796875 -3.8125 L 5.421875 -3.8125 L 5.421875 -5.09375 Z M 0.796875 -5.09375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 9.28125 -7.984375 L 10.796875 -7.984375 C 10.710938 -8.585938 10.53125 -9.117188 10.25 -9.578125 C 9.976562 -10.046875 9.632812 -10.4375 9.21875 -10.75 C 8.800781 -11.0625 8.320312 -11.296875 7.78125 -11.453125 C 7.25 -11.617188 6.6875 -11.703125 6.09375 -11.703125 C 5.21875 -11.703125 4.441406 -11.539062 3.765625 -11.21875 C 3.085938 -10.90625 2.519531 -10.476562 2.0625 -9.9375 C 1.613281 -9.394531 1.269531 -8.753906 1.03125 -8.015625 C 0.800781 -7.285156 0.6875 -6.507812 0.6875 -5.6875 C 0.6875 -4.851562 0.796875 -4.070312 1.015625 -3.34375 C 1.234375 -2.613281 1.5625 -1.984375 2 -1.453125 C 2.4375 -0.921875 2.984375 -0.503906 3.640625 -0.203125 C 4.304688 0.0976562 5.082031 0.25 5.96875 0.25 C 7.425781 0.25 8.578125 -0.144531 9.421875 -0.9375 C 10.265625 -1.738281 10.757812 -2.859375 10.90625 -4.296875 L 9.390625 -4.296875 C 9.359375 -3.828125 9.257812 -3.390625 9.09375 -2.984375 C 8.9375 -2.585938 8.71875 -2.238281 8.4375 -1.9375 C 8.15625 -1.644531 7.816406 -1.414062 7.421875 -1.25 C 7.035156 -1.09375 6.59375 -1.015625 6.09375 -1.015625 C 5.414062 -1.015625 4.828125 -1.140625 4.328125 -1.390625 C 3.835938 -1.648438 3.4375 -1.992188 3.125 -2.421875 C 2.8125 -2.859375 2.578125 -3.363281 2.421875 -3.9375 C 2.273438 -4.519531 2.203125 -5.140625 2.203125 -5.796875 C 2.203125 -6.390625 2.273438 -6.960938 2.421875 -7.515625 C 2.578125 -8.078125 2.8125 -8.570312 3.125 -9 C 3.4375 -9.425781 3.835938 -9.769531 4.328125 -10.03125 C 4.816406 -10.289062 5.398438 -10.421875 6.078125 -10.421875 C 6.878906 -10.421875 7.570312 -10.21875 8.15625 -9.8125 C 8.738281 -9.40625 9.113281 -8.796875 9.28125 -7.984375 Z M 9.28125 -7.984375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 2.015625 -4.125 C 2.015625 -4.625 2.082031 -5.066406 2.21875 -5.453125 C 2.351562 -5.847656 2.535156 -6.175781 2.765625 -6.4375 C 3.003906 -6.707031 3.28125 -6.910156 3.59375 -7.046875 C 3.90625 -7.191406 4.238281 -7.265625 4.59375 -7.265625 C 4.945312 -7.265625 5.28125 -7.191406 5.59375 -7.046875 C 5.90625 -6.910156 6.175781 -6.707031 6.40625 -6.4375 C 6.644531 -6.175781 6.832031 -5.847656 6.96875 -5.453125 C 7.101562 -5.066406 7.171875 -4.625 7.171875 -4.125 C 7.171875 -3.625 7.101562 -3.175781 6.96875 -2.78125 C 6.832031 -2.394531 6.644531 -2.070312 6.40625 -1.8125 C 6.175781 -1.550781 5.90625 -1.351562 5.59375 -1.21875 C 5.28125 -1.082031 4.945312 -1.015625 4.59375 -1.015625 C 4.238281 -1.015625 3.90625 -1.082031 3.59375 -1.21875 C 3.28125 -1.351562 3.003906 -1.550781 2.765625 -1.8125 C 2.535156 -2.070312 2.351562 -2.394531 2.21875 -2.78125 C 2.082031 -3.175781 2.015625 -3.625 2.015625 -4.125 Z M 0.578125 -4.125 C 0.578125 -3.519531 0.660156 -2.953125 0.828125 -2.421875 C 1.003906 -1.898438 1.257812 -1.445312 1.59375 -1.0625 C 1.9375 -0.675781 2.359375 -0.375 2.859375 -0.15625 C 3.359375 0.0625 3.9375 0.171875 4.59375 0.171875 C 5.25 0.171875 5.828125 0.0625 6.328125 -0.15625 C 6.828125 -0.375 7.242188 -0.675781 7.578125 -1.0625 C 7.921875 -1.445312 8.175781 -1.898438 8.34375 -2.421875 C 8.519531 -2.953125 8.609375 -3.519531 8.609375 -4.125 C 8.609375 -4.738281 8.519531 -5.304688 8.34375 -5.828125 C 8.175781 -6.359375 7.921875 -6.816406 7.578125 -7.203125 C 7.242188 -7.597656 6.828125 -7.90625 6.328125 -8.125 C 5.828125 -8.351562 5.25 -8.46875 4.59375 -8.46875 C 3.9375 -8.46875 3.359375 -8.351562 2.859375 -8.125 C 2.359375 -7.90625 1.9375 -7.597656 1.59375 -7.203125 C 1.257812 -6.816406 1.003906 -6.359375 0.828125 -5.828125 C 0.660156 -5.304688 0.578125 -4.738281 0.578125 -4.125 Z M 0.578125 -4.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -4.671875 C 2.390625 -5.046875 2.4375 -5.390625 2.53125 -5.703125 C 2.632812 -6.015625 2.785156 -6.285156 2.984375 -6.515625 C 3.191406 -6.753906 3.445312 -6.9375 3.75 -7.0625 C 4.050781 -7.195312 4.410156 -7.265625 4.828125 -7.265625 C 5.347656 -7.265625 5.757812 -7.113281 6.0625 -6.8125 C 6.363281 -6.519531 6.515625 -6.113281 6.515625 -5.59375 L 6.515625 0 L 7.875 0 L 7.875 -5.4375 C 7.875 -5.882812 7.828125 -6.289062 7.734375 -6.65625 C 7.640625 -7.03125 7.476562 -7.347656 7.25 -7.609375 C 7.03125 -7.878906 6.738281 -8.085938 6.375 -8.234375 C 6.019531 -8.390625 5.570312 -8.46875 5.03125 -8.46875 C 3.800781 -8.46875 2.90625 -7.960938 2.34375 -6.953125 L 2.296875 -6.953125 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 2.015625 -4.0625 C 2.015625 -4.46875 2.054688 -4.863281 2.140625 -5.25 C 2.222656 -5.632812 2.359375 -5.972656 2.546875 -6.265625 C 2.742188 -6.566406 3.003906 -6.804688 3.328125 -6.984375 C 3.648438 -7.171875 4.039062 -7.265625 4.5 -7.265625 C 4.96875 -7.265625 5.363281 -7.175781 5.6875 -7 C 6.019531 -6.820312 6.289062 -6.585938 6.5 -6.296875 C 6.707031 -6.015625 6.859375 -5.679688 6.953125 -5.296875 C 7.054688 -4.921875 7.109375 -4.53125 7.109375 -4.125 C 7.109375 -3.738281 7.0625 -3.359375 6.96875 -2.984375 C 6.875 -2.617188 6.722656 -2.285156 6.515625 -1.984375 C 6.316406 -1.691406 6.054688 -1.457031 5.734375 -1.28125 C 5.421875 -1.101562 5.035156 -1.015625 4.578125 -1.015625 C 4.140625 -1.015625 3.753906 -1.097656 3.421875 -1.265625 C 3.097656 -1.429688 2.832031 -1.660156 2.625 -1.953125 C 2.414062 -2.242188 2.257812 -2.570312 2.15625 -2.9375 C 2.0625 -3.300781 2.015625 -3.675781 2.015625 -4.0625 Z M 8.421875 0 L 8.421875 -11.421875 L 7.0625 -11.421875 L 7.0625 -7.171875 L 7.03125 -7.171875 C 6.875 -7.410156 6.6875 -7.613281 6.46875 -7.78125 C 6.25 -7.945312 6.015625 -8.082031 5.765625 -8.1875 C 5.523438 -8.289062 5.28125 -8.363281 5.03125 -8.40625 C 4.789062 -8.445312 4.566406 -8.46875 4.359375 -8.46875 C 3.722656 -8.46875 3.164062 -8.351562 2.6875 -8.125 C 2.21875 -7.894531 1.828125 -7.582031 1.515625 -7.1875 C 1.203125 -6.800781 0.96875 -6.347656 0.8125 -5.828125 C 0.65625 -5.304688 0.578125 -4.75 0.578125 -4.15625 C 0.578125 -3.570312 0.65625 -3.019531 0.8125 -2.5 C 0.976562 -1.976562 1.21875 -1.519531 1.53125 -1.125 C 1.84375 -0.726562 2.234375 -0.410156 2.703125 -0.171875 C 3.179688 0.0546875 3.742188 0.171875 4.390625 0.171875 C 4.960938 0.171875 5.488281 0.0703125 5.96875 -0.125 C 6.445312 -0.332031 6.800781 -0.664062 7.03125 -1.125 L 7.0625 -1.125 L 7.0625 0 Z M 8.421875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 2.46875 -9.765625 L 2.46875 -11.421875 L 1.109375 -11.421875 L 1.109375 -9.765625 Z M 1.109375 -8.265625 L 1.109375 0 L 2.46875 0 L 2.46875 -8.265625 Z M 1.109375 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 2.90625 -8.265625 L 2.90625 -10.75 L 1.546875 -10.75 L 1.546875 -8.265625 L 0.140625 -8.265625 L 0.140625 -7.078125 L 1.546875 -7.078125 L 1.546875 -1.8125 C 1.546875 -1.425781 1.582031 -1.113281 1.65625 -0.875 C 1.738281 -0.644531 1.851562 -0.460938 2 -0.328125 C 2.15625 -0.203125 2.359375 -0.113281 2.609375 -0.0625 C 2.859375 -0.0195312 3.160156 0 3.515625 0 L 4.5625 0 L 4.5625 -1.203125 L 3.9375 -1.203125 C 3.71875 -1.203125 3.539062 -1.207031 3.40625 -1.21875 C 3.28125 -1.238281 3.175781 -1.273438 3.09375 -1.328125 C 3.019531 -1.378906 2.96875 -1.453125 2.9375 -1.546875 C 2.914062 -1.648438 2.90625 -1.78125 2.90625 -1.9375 L 2.90625 -7.078125 L 4.5625 -7.078125 L 4.5625 -8.265625 Z M 2.90625 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 4.9375 -10.734375 L 4.9375 -11.703125 L 3.828125 -11.703125 C 3.617188 -11.703125 3.410156 -11.65625 3.203125 -11.5625 C 3.003906 -11.46875 2.820312 -11.332031 2.65625 -11.15625 C 2.5 -10.976562 2.363281 -10.757812 2.25 -10.5 C 2.144531 -10.238281 2.09375 -9.9375 2.09375 -9.59375 L 2.09375 -6.6875 C 2.09375 -6.40625 2.054688 -6.144531 1.984375 -5.90625 C 1.910156 -5.675781 1.8125 -5.476562 1.6875 -5.3125 C 1.5625 -5.15625 1.421875 -5.03125 1.265625 -4.9375 C 1.109375 -4.84375 0.941406 -4.796875 0.765625 -4.796875 L 0.765625 -3.71875 C 0.941406 -3.71875 1.109375 -3.671875 1.265625 -3.578125 C 1.421875 -3.492188 1.5625 -3.367188 1.6875 -3.203125 C 1.8125 -3.046875 1.910156 -2.847656 1.984375 -2.609375 C 2.054688 -2.378906 2.09375 -2.125 2.09375 -1.84375 L 2.09375 1.0625 C 2.09375 1.394531 2.144531 1.691406 2.25 1.953125 C 2.363281 2.222656 2.5 2.441406 2.65625 2.609375 C 2.820312 2.785156 3.003906 2.921875 3.203125 3.015625 C 3.410156 3.109375 3.617188 3.15625 3.828125 3.15625 L 4.9375 3.15625 L 4.9375 2.1875 L 4.140625 2.1875 C 3.984375 2.1875 3.851562 2.144531 3.75 2.0625 C 3.65625 1.988281 3.578125 1.882812 3.515625 1.75 C 3.460938 1.613281 3.425781 1.460938 3.40625 1.296875 C 3.382812 1.140625 3.375 0.976562 3.375 0.8125 L 3.375 -2.09375 C 3.375 -2.5 3.316406 -2.832031 3.203125 -3.09375 C 3.097656 -3.363281 2.96875 -3.582031 2.8125 -3.75 C 2.664062 -3.914062 2.515625 -4.035156 2.359375 -4.109375 C 2.203125 -4.179688 2.078125 -4.222656 1.984375 -4.234375 L 1.984375 -4.28125 C 2.078125 -4.300781 2.203125 -4.351562 2.359375 -4.4375 C 2.515625 -4.53125 2.664062 -4.660156 2.8125 -4.828125 C 2.96875 -5.003906 3.097656 -5.222656 3.203125 -5.484375 C 3.316406 -5.742188 3.375 -6.0625 3.375 -6.4375 L 3.375 -9.359375 C 3.375 -9.523438 3.382812 -9.691406 3.40625 -9.859375 C 3.425781 -10.023438 3.460938 -10.171875 3.515625 -10.296875 C 3.578125 -10.429688 3.65625 -10.535156 3.75 -10.609375 C 3.851562 -10.691406 3.984375 -10.734375 4.140625 -10.734375 Z M 4.9375 -10.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.390625 2.1875 L 0.390625 3.15625 L 1.5 3.15625 C 1.707031 3.15625 1.910156 3.109375 2.109375 3.015625 C 2.316406 2.921875 2.5 2.785156 2.65625 2.609375 C 2.820312 2.441406 2.957031 2.222656 3.0625 1.953125 C 3.175781 1.691406 3.234375 1.394531 3.234375 1.0625 L 3.234375 -1.84375 C 3.234375 -2.113281 3.269531 -2.363281 3.34375 -2.59375 C 3.414062 -2.820312 3.515625 -3.019531 3.640625 -3.1875 C 3.765625 -3.351562 3.90625 -3.484375 4.0625 -3.578125 C 4.21875 -3.671875 4.382812 -3.71875 4.5625 -3.71875 L 4.5625 -4.796875 C 4.382812 -4.796875 4.21875 -4.835938 4.0625 -4.921875 C 3.90625 -5.015625 3.765625 -5.140625 3.640625 -5.296875 C 3.515625 -5.460938 3.414062 -5.660156 3.34375 -5.890625 C 3.269531 -6.128906 3.234375 -6.394531 3.234375 -6.6875 L 3.234375 -9.59375 C 3.234375 -9.9375 3.175781 -10.238281 3.0625 -10.5 C 2.957031 -10.757812 2.820312 -10.976562 2.65625 -11.15625 C 2.5 -11.332031 2.316406 -11.46875 2.109375 -11.5625 C 1.910156 -11.65625 1.707031 -11.703125 1.5 -11.703125 L 0.390625 -11.703125 L 0.390625 -10.734375 L 1.1875 -10.734375 C 1.34375 -10.734375 1.46875 -10.691406 1.5625 -10.609375 C 1.664062 -10.535156 1.742188 -10.429688 1.796875 -10.296875 C 1.859375 -10.160156 1.898438 -10.007812 1.921875 -9.84375 C 1.941406 -9.675781 1.953125 -9.503906 1.953125 -9.328125 L 1.953125 -6.4375 C 1.953125 -6.03125 2.003906 -5.691406 2.109375 -5.421875 C 2.222656 -5.160156 2.351562 -4.945312 2.5 -4.78125 C 2.65625 -4.613281 2.8125 -4.488281 2.96875 -4.40625 C 3.125 -4.332031 3.25 -4.289062 3.34375 -4.28125 L 3.34375 -4.234375 C 3.25 -4.210938 3.125 -4.160156 2.96875 -4.078125 C 2.8125 -3.992188 2.65625 -3.863281 2.5 -3.6875 C 2.351562 -3.519531 2.222656 -3.304688 2.109375 -3.046875 C 2.003906 -2.785156 1.953125 -2.46875 1.953125 -2.09375 L 1.953125 0.8125 C 1.953125 0.988281 1.941406 1.15625 1.921875 1.3125 C 1.898438 1.476562 1.859375 1.625 1.796875 1.75 C 1.742188 1.882812 1.664062 1.988281 1.5625 2.0625 C 1.46875 2.144531 1.34375 2.1875 1.1875 2.1875 Z M 0.390625 2.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -5.15625 C 2.390625 -5.3125 2.425781 -5.507812 2.5 -5.75 C 2.582031 -5.988281 2.710938 -6.21875 2.890625 -6.4375 C 3.066406 -6.664062 3.296875 -6.859375 3.578125 -7.015625 C 3.859375 -7.179688 4.195312 -7.265625 4.59375 -7.265625 C 4.90625 -7.265625 5.15625 -7.21875 5.34375 -7.125 C 5.539062 -7.03125 5.695312 -6.898438 5.8125 -6.734375 C 5.9375 -6.578125 6.019531 -6.382812 6.0625 -6.15625 C 6.113281 -5.9375 6.140625 -5.691406 6.140625 -5.421875 L 6.140625 0 L 7.5 0 L 7.5 -5.15625 C 7.5 -5.789062 7.691406 -6.300781 8.078125 -6.6875 C 8.460938 -7.070312 8.988281 -7.265625 9.65625 -7.265625 C 9.988281 -7.265625 10.257812 -7.210938 10.46875 -7.109375 C 10.675781 -7.015625 10.835938 -6.882812 10.953125 -6.71875 C 11.078125 -6.5625 11.160156 -6.367188 11.203125 -6.140625 C 11.242188 -5.921875 11.265625 -5.679688 11.265625 -5.421875 L 11.265625 0 L 12.625 0 L 12.625 -6.0625 C 12.625 -6.488281 12.554688 -6.851562 12.421875 -7.15625 C 12.285156 -7.457031 12.097656 -7.703125 11.859375 -7.890625 C 11.617188 -8.085938 11.332031 -8.234375 11 -8.328125 C 10.664062 -8.421875 10.289062 -8.46875 9.875 -8.46875 C 9.332031 -8.46875 8.832031 -8.34375 8.375 -8.09375 C 7.925781 -7.851562 7.5625 -7.507812 7.28125 -7.0625 C 7.113281 -7.570312 6.820312 -7.929688 6.40625 -8.140625 C 5.988281 -8.359375 5.523438 -8.46875 5.015625 -8.46875 C 3.847656 -8.46875 2.957031 -8 2.34375 -7.0625 L 2.296875 -7.0625 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 1.859375 -2.609375 L 0.5 -2.609375 C 0.519531 -2.097656 0.625 -1.660156 0.8125 -1.296875 C 1.007812 -0.941406 1.265625 -0.65625 1.578125 -0.4375 C 1.898438 -0.21875 2.269531 -0.0625 2.6875 0.03125 C 3.101562 0.125 3.539062 0.171875 4 0.171875 C 4.414062 0.171875 4.832031 0.128906 5.25 0.046875 C 5.675781 -0.0234375 6.054688 -0.160156 6.390625 -0.359375 C 6.722656 -0.566406 6.992188 -0.832031 7.203125 -1.15625 C 7.410156 -1.488281 7.515625 -1.910156 7.515625 -2.421875 C 7.515625 -2.816406 7.4375 -3.144531 7.28125 -3.40625 C 7.132812 -3.675781 6.929688 -3.898438 6.671875 -4.078125 C 6.421875 -4.253906 6.132812 -4.394531 5.8125 -4.5 C 5.488281 -4.601562 5.15625 -4.691406 4.8125 -4.765625 C 4.5 -4.835938 4.179688 -4.910156 3.859375 -4.984375 C 3.535156 -5.054688 3.242188 -5.140625 2.984375 -5.234375 C 2.734375 -5.335938 2.523438 -5.46875 2.359375 -5.625 C 2.191406 -5.78125 2.109375 -5.972656 2.109375 -6.203125 C 2.109375 -6.421875 2.160156 -6.59375 2.265625 -6.71875 C 2.378906 -6.851562 2.519531 -6.960938 2.6875 -7.046875 C 2.851562 -7.128906 3.039062 -7.1875 3.25 -7.21875 C 3.457031 -7.25 3.664062 -7.265625 3.875 -7.265625 C 4.09375 -7.265625 4.3125 -7.238281 4.53125 -7.1875 C 4.75 -7.144531 4.945312 -7.066406 5.125 -6.953125 C 5.3125 -6.847656 5.460938 -6.707031 5.578125 -6.53125 C 5.703125 -6.351562 5.773438 -6.132812 5.796875 -5.875 L 7.15625 -5.875 C 7.125 -6.375 7.015625 -6.789062 6.828125 -7.125 C 6.648438 -7.457031 6.40625 -7.722656 6.09375 -7.921875 C 5.789062 -8.117188 5.441406 -8.257812 5.046875 -8.34375 C 4.660156 -8.425781 4.234375 -8.46875 3.765625 -8.46875 C 3.398438 -8.46875 3.03125 -8.421875 2.65625 -8.328125 C 2.289062 -8.234375 1.960938 -8.09375 1.671875 -7.90625 C 1.378906 -7.71875 1.140625 -7.472656 0.953125 -7.171875 C 0.765625 -6.878906 0.671875 -6.523438 0.671875 -6.109375 C 0.671875 -5.578125 0.800781 -5.160156 1.0625 -4.859375 C 1.332031 -4.566406 1.664062 -4.335938 2.0625 -4.171875 C 2.46875 -4.003906 2.90625 -3.875 3.375 -3.78125 C 3.84375 -3.6875 4.273438 -3.582031 4.671875 -3.46875 C 5.078125 -3.363281 5.410156 -3.21875 5.671875 -3.03125 C 5.941406 -2.851562 6.078125 -2.585938 6.078125 -2.234375 C 6.078125 -1.984375 6.015625 -1.773438 5.890625 -1.609375 C 5.765625 -1.441406 5.601562 -1.316406 5.40625 -1.234375 C 5.207031 -1.148438 4.988281 -1.09375 4.75 -1.0625 C 4.519531 -1.03125 4.296875 -1.015625 4.078125 -1.015625 C 3.796875 -1.015625 3.523438 -1.039062 3.265625 -1.09375 C 3.003906 -1.144531 2.769531 -1.226562 2.5625 -1.34375 C 2.351562 -1.46875 2.1875 -1.632812 2.0625 -1.84375 C 1.9375 -2.050781 1.867188 -2.304688 1.859375 -2.609375 Z M 1.859375 -2.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 7.203125 -3.265625 L 6.40625 -2.34375 L 7.65625 -1.328125 C 7.144531 -1.117188 6.617188 -1.015625 6.078125 -1.015625 C 5.390625 -1.015625 4.789062 -1.148438 4.28125 -1.421875 C 3.78125 -1.691406 3.367188 -2.050781 3.046875 -2.5 C 2.734375 -2.945312 2.5 -3.445312 2.34375 -4 C 2.195312 -4.5625 2.125 -5.132812 2.125 -5.71875 C 2.125 -6.289062 2.195312 -6.851562 2.34375 -7.40625 C 2.5 -7.96875 2.734375 -8.472656 3.046875 -8.921875 C 3.367188 -9.367188 3.78125 -9.726562 4.28125 -10 C 4.789062 -10.28125 5.390625 -10.421875 6.078125 -10.421875 C 6.773438 -10.421875 7.375 -10.28125 7.875 -10 C 8.375 -9.726562 8.78125 -9.367188 9.09375 -8.921875 C 9.414062 -8.472656 9.648438 -7.96875 9.796875 -7.40625 C 9.953125 -6.851562 10.03125 -6.289062 10.03125 -5.71875 C 10.03125 -5.007812 9.921875 -4.332031 9.703125 -3.6875 C 9.492188 -3.039062 9.164062 -2.492188 8.71875 -2.046875 Z M 10.5625 0.96875 L 11.328125 0.015625 L 9.828125 -1.171875 C 10.398438 -1.742188 10.828125 -2.425781 11.109375 -3.21875 C 11.398438 -4.007812 11.546875 -4.84375 11.546875 -5.71875 C 11.546875 -6.488281 11.429688 -7.234375 11.203125 -7.953125 C 10.972656 -8.679688 10.628906 -9.320312 10.171875 -9.875 C 9.710938 -10.425781 9.140625 -10.867188 8.453125 -11.203125 C 7.773438 -11.535156 6.984375 -11.703125 6.078125 -11.703125 C 5.171875 -11.703125 4.375 -11.535156 3.6875 -11.203125 C 3.007812 -10.867188 2.441406 -10.425781 1.984375 -9.875 C 1.523438 -9.320312 1.179688 -8.679688 0.953125 -7.953125 C 0.722656 -7.234375 0.609375 -6.488281 0.609375 -5.71875 C 0.609375 -4.9375 0.722656 -4.1875 0.953125 -3.46875 C 1.179688 -2.75 1.523438 -2.109375 1.984375 -1.546875 C 2.441406 -0.992188 3.007812 -0.554688 3.6875 -0.234375 C 4.375 0.0859375 5.171875 0.25 6.078125 0.25 C 7.128906 0.25 8.039062 0.0234375 8.8125 -0.421875 Z M 10.5625 0.96875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-17"> +<path style="stroke:none;" d="M 1.3125 -11.421875 L 1.3125 0 L 2.828125 0 L 2.828125 -11.421875 Z M 1.3125 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-18"> +<path style="stroke:none;" d="M 1.078125 -8.265625 L 1.078125 3.15625 L 2.4375 3.15625 L 2.4375 -1.109375 L 2.46875 -1.109375 C 2.613281 -0.859375 2.796875 -0.648438 3.015625 -0.484375 C 3.234375 -0.316406 3.460938 -0.1875 3.703125 -0.09375 C 3.953125 0 4.203125 0.0664062 4.453125 0.109375 C 4.703125 0.148438 4.929688 0.171875 5.140625 0.171875 C 5.765625 0.171875 6.3125 0.0625 6.78125 -0.15625 C 7.257812 -0.382812 7.65625 -0.691406 7.96875 -1.078125 C 8.289062 -1.460938 8.523438 -1.914062 8.671875 -2.4375 C 8.828125 -2.96875 8.90625 -3.523438 8.90625 -4.109375 C 8.90625 -4.691406 8.828125 -5.242188 8.671875 -5.765625 C 8.515625 -6.296875 8.273438 -6.757812 7.953125 -7.15625 C 7.640625 -7.5625 7.242188 -7.878906 6.765625 -8.109375 C 6.296875 -8.347656 5.742188 -8.46875 5.109375 -8.46875 C 4.523438 -8.46875 3.992188 -8.363281 3.515625 -8.15625 C 3.035156 -7.945312 2.6875 -7.613281 2.46875 -7.15625 L 2.4375 -7.15625 L 2.4375 -8.265625 Z M 7.46875 -4.203125 C 7.46875 -3.796875 7.425781 -3.398438 7.34375 -3.015625 C 7.257812 -2.640625 7.117188 -2.300781 6.921875 -2 C 6.734375 -1.695312 6.484375 -1.457031 6.171875 -1.28125 C 5.859375 -1.101562 5.460938 -1.015625 4.984375 -1.015625 C 4.515625 -1.015625 4.113281 -1.097656 3.78125 -1.265625 C 3.457031 -1.441406 3.191406 -1.675781 2.984375 -1.96875 C 2.773438 -2.257812 2.625 -2.59375 2.53125 -2.96875 C 2.4375 -3.34375 2.390625 -3.734375 2.390625 -4.140625 C 2.390625 -4.523438 2.429688 -4.90625 2.515625 -5.28125 C 2.609375 -5.65625 2.753906 -5.988281 2.953125 -6.28125 C 3.160156 -6.570312 3.421875 -6.804688 3.734375 -6.984375 C 4.054688 -7.171875 4.445312 -7.265625 4.90625 -7.265625 C 5.34375 -7.265625 5.722656 -7.175781 6.046875 -7 C 6.378906 -6.832031 6.648438 -6.601562 6.859375 -6.3125 C 7.066406 -6.03125 7.21875 -5.703125 7.3125 -5.328125 C 7.414062 -4.960938 7.46875 -4.585938 7.46875 -4.203125 Z M 7.46875 -4.203125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-19"> +<path style="stroke:none;" d="M 7.875 0 L 7.875 -8.265625 L 6.515625 -8.265625 L 6.515625 -3.59375 C 6.515625 -3.226562 6.460938 -2.882812 6.359375 -2.5625 C 6.253906 -2.25 6.097656 -1.972656 5.890625 -1.734375 C 5.691406 -1.503906 5.441406 -1.328125 5.140625 -1.203125 C 4.835938 -1.078125 4.476562 -1.015625 4.0625 -1.015625 C 3.539062 -1.015625 3.128906 -1.160156 2.828125 -1.453125 C 2.535156 -1.753906 2.390625 -2.160156 2.390625 -2.671875 L 2.390625 -8.265625 L 1.03125 -8.265625 L 1.03125 -2.828125 C 1.03125 -2.378906 1.070312 -1.972656 1.15625 -1.609375 C 1.25 -1.242188 1.40625 -0.925781 1.625 -0.65625 C 1.851562 -0.382812 2.148438 -0.175781 2.515625 -0.03125 C 2.878906 0.101562 3.332031 0.171875 3.875 0.171875 C 4.476562 0.171875 5.003906 0.0507812 5.453125 -0.1875 C 5.898438 -0.425781 6.269531 -0.800781 6.5625 -1.3125 L 6.59375 -1.3125 L 6.59375 0 Z M 7.875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-20"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph0-21"> +<path style="stroke:none;" d="M 2.765625 -1.28125 L 2.765625 -10.140625 L 5.328125 -10.140625 C 6.035156 -10.140625 6.628906 -10.039062 7.109375 -9.84375 C 7.585938 -9.644531 7.976562 -9.359375 8.28125 -8.984375 C 8.582031 -8.609375 8.800781 -8.148438 8.9375 -7.609375 C 9.070312 -7.066406 9.140625 -6.457031 9.140625 -5.78125 C 9.140625 -5.070312 9.066406 -4.46875 8.921875 -3.96875 C 8.773438 -3.476562 8.585938 -3.066406 8.359375 -2.734375 C 8.140625 -2.398438 7.890625 -2.132812 7.609375 -1.9375 C 7.328125 -1.75 7.039062 -1.601562 6.75 -1.5 C 6.457031 -1.40625 6.179688 -1.34375 5.921875 -1.3125 C 5.671875 -1.289062 5.460938 -1.28125 5.296875 -1.28125 Z M 1.25 -11.421875 L 1.25 0 L 5.171875 0 C 6.117188 0 6.9375 -0.128906 7.625 -0.390625 C 8.320312 -0.660156 8.894531 -1.046875 9.34375 -1.546875 C 9.789062 -2.054688 10.117188 -2.679688 10.328125 -3.421875 C 10.546875 -4.171875 10.65625 -5.023438 10.65625 -5.984375 C 10.65625 -7.816406 10.179688 -9.179688 9.234375 -10.078125 C 8.285156 -10.972656 6.929688 -11.421875 5.171875 -11.421875 Z M 1.25 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-22"> +<path style="stroke:none;" d="M 9.796875 -1.421875 L 10.1875 0 L 11.15625 0 L 11.15625 -6.015625 L 6.140625 -6.015625 L 6.140625 -4.734375 L 9.796875 -4.734375 C 9.816406 -4.210938 9.742188 -3.722656 9.578125 -3.265625 C 9.421875 -2.816406 9.1875 -2.421875 8.875 -2.078125 C 8.5625 -1.742188 8.175781 -1.484375 7.71875 -1.296875 C 7.257812 -1.109375 6.726562 -1.015625 6.125 -1.015625 C 5.488281 -1.015625 4.925781 -1.140625 4.4375 -1.390625 C 3.957031 -1.640625 3.550781 -1.972656 3.21875 -2.390625 C 2.882812 -2.816406 2.628906 -3.300781 2.453125 -3.84375 C 2.285156 -4.394531 2.203125 -4.96875 2.203125 -5.5625 C 2.203125 -6.175781 2.273438 -6.769531 2.421875 -7.34375 C 2.578125 -7.925781 2.8125 -8.441406 3.125 -8.890625 C 3.4375 -9.347656 3.84375 -9.71875 4.34375 -10 C 4.84375 -10.28125 5.4375 -10.421875 6.125 -10.421875 C 6.550781 -10.421875 6.953125 -10.367188 7.328125 -10.265625 C 7.710938 -10.160156 8.050781 -10.003906 8.34375 -9.796875 C 8.644531 -9.597656 8.894531 -9.34375 9.09375 -9.03125 C 9.300781 -8.71875 9.441406 -8.34375 9.515625 -7.90625 L 11.046875 -7.90625 C 10.929688 -8.570312 10.726562 -9.144531 10.4375 -9.625 C 10.144531 -10.101562 9.78125 -10.492188 9.34375 -10.796875 C 8.914062 -11.109375 8.425781 -11.335938 7.875 -11.484375 C 7.332031 -11.628906 6.75 -11.703125 6.125 -11.703125 C 5.21875 -11.703125 4.425781 -11.53125 3.75 -11.1875 C 3.070312 -10.851562 2.503906 -10.398438 2.046875 -9.828125 C 1.597656 -9.265625 1.257812 -8.609375 1.03125 -7.859375 C 0.800781 -7.109375 0.6875 -6.316406 0.6875 -5.484375 C 0.6875 -4.742188 0.804688 -4.023438 1.046875 -3.328125 C 1.296875 -2.628906 1.65625 -2.015625 2.125 -1.484375 C 2.59375 -0.953125 3.160156 -0.53125 3.828125 -0.21875 C 4.503906 0.09375 5.269531 0.25 6.125 0.25 C 6.800781 0.25 7.46875 0.117188 8.125 -0.140625 C 8.789062 -0.398438 9.347656 -0.828125 9.796875 -1.421875 Z M 9.796875 -1.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-23"> +<path style="stroke:none;" d="M 2.125 -5.71875 C 2.125 -6.289062 2.195312 -6.851562 2.34375 -7.40625 C 2.5 -7.96875 2.734375 -8.472656 3.046875 -8.921875 C 3.367188 -9.367188 3.78125 -9.726562 4.28125 -10 C 4.789062 -10.28125 5.390625 -10.421875 6.078125 -10.421875 C 6.773438 -10.421875 7.375 -10.28125 7.875 -10 C 8.375 -9.726562 8.78125 -9.367188 9.09375 -8.921875 C 9.414062 -8.472656 9.648438 -7.96875 9.796875 -7.40625 C 9.953125 -6.851562 10.03125 -6.289062 10.03125 -5.71875 C 10.03125 -5.132812 9.953125 -4.5625 9.796875 -4 C 9.648438 -3.445312 9.414062 -2.945312 9.09375 -2.5 C 8.78125 -2.050781 8.375 -1.691406 7.875 -1.421875 C 7.375 -1.148438 6.773438 -1.015625 6.078125 -1.015625 C 5.390625 -1.015625 4.789062 -1.148438 4.28125 -1.421875 C 3.78125 -1.691406 3.367188 -2.050781 3.046875 -2.5 C 2.734375 -2.945312 2.5 -3.445312 2.34375 -4 C 2.195312 -4.5625 2.125 -5.132812 2.125 -5.71875 Z M 0.609375 -5.71875 C 0.609375 -4.9375 0.722656 -4.1875 0.953125 -3.46875 C 1.179688 -2.75 1.523438 -2.109375 1.984375 -1.546875 C 2.441406 -0.992188 3.007812 -0.554688 3.6875 -0.234375 C 4.375 0.0859375 5.171875 0.25 6.078125 0.25 C 6.984375 0.25 7.773438 0.0859375 8.453125 -0.234375 C 9.140625 -0.554688 9.710938 -0.992188 10.171875 -1.546875 C 10.628906 -2.109375 10.972656 -2.75 11.203125 -3.46875 C 11.429688 -4.1875 11.546875 -4.9375 11.546875 -5.71875 C 11.546875 -6.488281 11.429688 -7.234375 11.203125 -7.953125 C 10.972656 -8.679688 10.628906 -9.320312 10.171875 -9.875 C 9.710938 -10.425781 9.140625 -10.867188 8.453125 -11.203125 C 7.773438 -11.535156 6.984375 -11.703125 6.078125 -11.703125 C 5.171875 -11.703125 4.375 -11.535156 3.6875 -11.203125 C 3.007812 -10.867188 2.441406 -10.425781 1.984375 -9.875 C 1.523438 -9.320312 1.179688 -8.679688 0.953125 -7.953125 C 0.722656 -7.234375 0.609375 -6.488281 0.609375 -5.71875 Z M 0.609375 -5.71875 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216 216 L 360 216 L 360 288 L 216 288 Z M 216 216 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="24.216" y="34.552002"/> + <use xlink:href="#glyph0-2" x="34.584" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="39.624" y="34.552002"/> + <use xlink:href="#glyph0-4" x="48.216" y="34.552002"/> + <use xlink:href="#glyph0-5" x="54.44" y="34.552002"/> + <use xlink:href="#glyph0-6" x="65.992" y="34.552002"/> + <use xlink:href="#glyph0-7" x="75.176" y="34.552002"/> + <use xlink:href="#glyph0-8" x="84.072" y="34.552002"/> + <use xlink:href="#glyph0-9" x="93.56" y="34.552002"/> + <use xlink:href="#glyph0-10" x="97.112" y="34.552002"/> + <use xlink:href="#glyph0-9" x="102.152" y="34.552002"/> + <use xlink:href="#glyph0-6" x="105.704" y="34.552002"/> + <use xlink:href="#glyph0-7" x="114.888" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="63.488" y="53"/> + <use xlink:href="#glyph0-1" x="68.816" y="53"/> + <use xlink:href="#glyph0-12" x="79.184" y="53"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 554.910156 226.542969 C 583.03125 240.601562 583.03125 263.398438 554.910156 277.457031 C 526.792969 291.515625 481.207031 291.515625 453.089844 277.457031 C 424.96875 263.398438 424.96875 240.601562 453.089844 226.542969 C 481.207031 212.484375 526.792969 212.484375 554.910156 226.542969 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="252.496" y="34.552002"/> + <use xlink:href="#glyph0-6" x="264.048" y="34.552002"/> + <use xlink:href="#glyph0-13" x="273.232" y="34.552002"/> + <use xlink:href="#glyph0-13" x="286.88" y="34.552002"/> + <use xlink:href="#glyph0-14" x="300.528" y="34.552002"/> + <use xlink:href="#glyph0-7" x="309.12" y="34.552002"/> + <use xlink:href="#glyph0-8" x="318.016" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="278.896" y="53"/> + <use xlink:href="#glyph0-5" x="284.224" y="53"/> + <use xlink:href="#glyph0-12" x="295.776" y="53"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 648 216 L 792 216 L 792 288 L 648 288 Z M 648 216 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="451.92" y="34.552002"/> + <use xlink:href="#glyph0-6" x="462.288" y="34.552002"/> + <use xlink:href="#glyph0-15" x="471.472" y="34.552002"/> + <use xlink:href="#glyph0-10" x="479.472" y="34.552002"/> + <use xlink:href="#glyph0-4" x="484.512" y="34.552002"/> + <use xlink:href="#glyph0-5" x="490.736" y="34.552002"/> + <use xlink:href="#glyph0-6" x="502.288" y="34.552002"/> + <use xlink:href="#glyph0-7" x="511.472" y="34.552002"/> + <use xlink:href="#glyph0-8" x="520.368" y="34.552002"/> + <use xlink:href="#glyph0-9" x="529.856" y="34.552002"/> + <use xlink:href="#glyph0-10" x="533.408" y="34.552002"/> + <use xlink:href="#glyph0-9" x="538.448" y="34.552002"/> + <use xlink:href="#glyph0-6" x="542" y="34.552002"/> + <use xlink:href="#glyph0-7" x="551.184" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="494.592" y="53"/> + <use xlink:href="#glyph0-16" x="499.92" y="53"/> + <use xlink:href="#glyph0-12" x="512.08" y="53"/> +</g> +<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360 252 L 432 252 " transform="matrix(1,0,0,1,-214,-214)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 648 252 L 576 252 " transform="matrix(1,0,0,1,-214,-214)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216 315 L 360 315 L 360 387 L 216 387 Z M 216 315 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-17" x="19.472" y="142.776001"/> + <use xlink:href="#glyph0-7" x="23.616" y="142.776001"/> + <use xlink:href="#glyph0-18" x="32.512" y="142.776001"/> + <use xlink:href="#glyph0-19" x="42" y="142.776001"/> + <use xlink:href="#glyph0-10" x="50.896" y="142.776001"/> + <use xlink:href="#glyph0-20" x="55.936" y="142.776001"/> + <use xlink:href="#glyph0-21" x="60.384" y="142.776001"/> + <use xlink:href="#glyph0-14" x="71.648" y="142.776001"/> + <use xlink:href="#glyph0-10" x="80.24" y="142.776001"/> + <use xlink:href="#glyph0-14" x="85.28" y="142.776001"/> + <use xlink:href="#glyph0-22" x="93.872" y="142.776001"/> + <use xlink:href="#glyph0-3" x="106.016" y="142.776001"/> + <use xlink:href="#glyph0-14" x="114.608" y="142.776001"/> + <use xlink:href="#glyph0-2" x="123.2" y="142.776001"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 554.910156 325.542969 C 583.03125 339.601562 583.03125 362.398438 554.910156 376.457031 C 526.792969 390.515625 481.207031 390.515625 453.089844 376.457031 C 424.96875 362.398438 424.96875 339.601562 453.089844 325.542969 C 481.207031 311.484375 526.792969 311.484375 554.910156 325.542969 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="251.04" y="142.776001"/> + <use xlink:href="#glyph0-6" x="262.592" y="142.776001"/> + <use xlink:href="#glyph0-8" x="271.776" y="142.776001"/> + <use xlink:href="#glyph0-3" x="281.264" y="142.776001"/> + <use xlink:href="#glyph0-20" x="289.856" y="142.776001"/> + <use xlink:href="#glyph0-22" x="294.304" y="142.776001"/> + <use xlink:href="#glyph0-3" x="306.448" y="142.776001"/> + <use xlink:href="#glyph0-14" x="315.04" y="142.776001"/> + <use xlink:href="#glyph0-2" x="323.632" y="142.776001"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 648 315 L 792 315 L 792 387 L 648 387 Z M 648 315 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-23" x="444.944" y="142.776001"/> + <use xlink:href="#glyph0-19" x="457.104" y="142.776001"/> + <use xlink:href="#glyph0-10" x="466" y="142.776001"/> + <use xlink:href="#glyph0-18" x="471.04" y="142.776001"/> + <use xlink:href="#glyph0-19" x="480.528" y="142.776001"/> + <use xlink:href="#glyph0-10" x="489.424" y="142.776001"/> + <use xlink:href="#glyph0-20" x="494.464" y="142.776001"/> + <use xlink:href="#glyph0-21" x="498.912" y="142.776001"/> + <use xlink:href="#glyph0-14" x="510.176" y="142.776001"/> + <use xlink:href="#glyph0-10" x="518.768" y="142.776001"/> + <use xlink:href="#glyph0-14" x="523.808" y="142.776001"/> + <use xlink:href="#glyph0-22" x="532.4" y="142.776001"/> + <use xlink:href="#glyph0-3" x="544.544" y="142.776001"/> + <use xlink:href="#glyph0-14" x="553.136" y="142.776001"/> + <use xlink:href="#glyph0-2" x="561.728" y="142.776001"/> +</g> +<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360 351 L 432 351 " transform="matrix(1,0,0,1,-214,-214)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 648 351 L 576 351 " transform="matrix(1,0,0,1,-214,-214)"/> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Slide/fig/hoare-logic.eps Binary file Slide/fig/hoare-logic.eps has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/hoare-logic.pdf Binary file Slide/fig/hoare-logic.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/hoare-logic.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/hoare-logic.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: hoare-logic.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 580 76 +%%HiResBoundingBox: 0.000000 0.000000 580.000000 76.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Wed Feb 21 01:38:18 2018 + diff -r 000000000000 -r a5facba1adbc Slide/fig/hoare.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/hoare.svg Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="580pt" height="76pt" viewBox="0 0 580 76" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 2.765625 -5.953125 L 2.765625 -10.140625 L 5.75 -10.140625 C 6.613281 -10.140625 7.242188 -9.960938 7.640625 -9.609375 C 8.035156 -9.253906 8.234375 -8.734375 8.234375 -8.046875 C 8.234375 -7.367188 8.035156 -6.847656 7.640625 -6.484375 C 7.242188 -6.117188 6.613281 -5.941406 5.75 -5.953125 Z M 1.25 -11.421875 L 1.25 0 L 2.765625 0 L 2.765625 -4.671875 L 6.25 -4.671875 C 7.40625 -4.660156 8.28125 -4.953125 8.875 -5.546875 C 9.46875 -6.148438 9.765625 -6.984375 9.765625 -8.046875 C 9.765625 -9.109375 9.46875 -9.9375 8.875 -10.53125 C 8.28125 -11.125 7.40625 -11.421875 6.25 -11.421875 Z M 1.25 -11.421875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 0.96875 -8.265625 L 0.96875 0 L 2.34375 0 L 2.34375 -3.6875 C 2.34375 -4.21875 2.394531 -4.6875 2.5 -5.09375 C 2.601562 -5.507812 2.769531 -5.859375 3 -6.140625 C 3.238281 -6.429688 3.550781 -6.648438 3.9375 -6.796875 C 4.320312 -6.953125 4.785156 -7.03125 5.328125 -7.03125 L 5.328125 -8.46875 C 4.585938 -8.488281 3.976562 -8.335938 3.5 -8.015625 C 3.019531 -7.691406 2.613281 -7.195312 2.28125 -6.53125 L 2.25 -6.53125 L 2.25 -8.265625 Z M 0.96875 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 6.765625 -4.921875 L 2.015625 -4.921875 C 2.035156 -5.242188 2.101562 -5.546875 2.21875 -5.828125 C 2.34375 -6.109375 2.503906 -6.351562 2.703125 -6.5625 C 2.910156 -6.78125 3.15625 -6.953125 3.4375 -7.078125 C 3.71875 -7.203125 4.035156 -7.265625 4.390625 -7.265625 C 4.722656 -7.265625 5.03125 -7.203125 5.3125 -7.078125 C 5.601562 -6.953125 5.851562 -6.785156 6.0625 -6.578125 C 6.269531 -6.367188 6.429688 -6.117188 6.546875 -5.828125 C 6.671875 -5.546875 6.742188 -5.242188 6.765625 -4.921875 Z M 8.078125 -2.625 L 6.734375 -2.625 C 6.617188 -2.082031 6.375 -1.675781 6 -1.40625 C 5.632812 -1.144531 5.164062 -1.015625 4.59375 -1.015625 C 4.144531 -1.015625 3.753906 -1.085938 3.421875 -1.234375 C 3.085938 -1.378906 2.8125 -1.578125 2.59375 -1.828125 C 2.382812 -2.078125 2.234375 -2.363281 2.140625 -2.6875 C 2.046875 -3.019531 2.003906 -3.367188 2.015625 -3.734375 L 8.203125 -3.734375 C 8.222656 -4.234375 8.175781 -4.757812 8.0625 -5.3125 C 7.957031 -5.863281 7.757812 -6.375 7.46875 -6.84375 C 7.175781 -7.3125 6.785156 -7.695312 6.296875 -8 C 5.804688 -8.3125 5.195312 -8.46875 4.46875 -8.46875 C 3.894531 -8.46875 3.367188 -8.359375 2.890625 -8.140625 C 2.421875 -7.929688 2.015625 -7.632812 1.671875 -7.25 C 1.328125 -6.863281 1.054688 -6.410156 0.859375 -5.890625 C 0.671875 -5.367188 0.578125 -4.789062 0.578125 -4.15625 C 0.597656 -3.53125 0.691406 -2.945312 0.859375 -2.40625 C 1.023438 -1.875 1.269531 -1.414062 1.59375 -1.03125 C 1.925781 -0.65625 2.332031 -0.359375 2.8125 -0.140625 C 3.300781 0.0664062 3.878906 0.171875 4.546875 0.171875 C 5.484375 0.171875 6.257812 -0.0625 6.875 -0.53125 C 7.5 -1 7.898438 -1.695312 8.078125 -2.625 Z M 8.078125 -2.625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-4"> +<path style="stroke:none;" d="M 0.796875 -5.09375 L 0.796875 -3.8125 L 5.421875 -3.8125 L 5.421875 -5.09375 Z M 0.796875 -5.09375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-5"> +<path style="stroke:none;" d="M 9.28125 -7.984375 L 10.796875 -7.984375 C 10.710938 -8.585938 10.53125 -9.117188 10.25 -9.578125 C 9.976562 -10.046875 9.632812 -10.4375 9.21875 -10.75 C 8.800781 -11.0625 8.320312 -11.296875 7.78125 -11.453125 C 7.25 -11.617188 6.6875 -11.703125 6.09375 -11.703125 C 5.21875 -11.703125 4.441406 -11.539062 3.765625 -11.21875 C 3.085938 -10.90625 2.519531 -10.476562 2.0625 -9.9375 C 1.613281 -9.394531 1.269531 -8.753906 1.03125 -8.015625 C 0.800781 -7.285156 0.6875 -6.507812 0.6875 -5.6875 C 0.6875 -4.851562 0.796875 -4.070312 1.015625 -3.34375 C 1.234375 -2.613281 1.5625 -1.984375 2 -1.453125 C 2.4375 -0.921875 2.984375 -0.503906 3.640625 -0.203125 C 4.304688 0.0976562 5.082031 0.25 5.96875 0.25 C 7.425781 0.25 8.578125 -0.144531 9.421875 -0.9375 C 10.265625 -1.738281 10.757812 -2.859375 10.90625 -4.296875 L 9.390625 -4.296875 C 9.359375 -3.828125 9.257812 -3.390625 9.09375 -2.984375 C 8.9375 -2.585938 8.71875 -2.238281 8.4375 -1.9375 C 8.15625 -1.644531 7.816406 -1.414062 7.421875 -1.25 C 7.035156 -1.09375 6.59375 -1.015625 6.09375 -1.015625 C 5.414062 -1.015625 4.828125 -1.140625 4.328125 -1.390625 C 3.835938 -1.648438 3.4375 -1.992188 3.125 -2.421875 C 2.8125 -2.859375 2.578125 -3.363281 2.421875 -3.9375 C 2.273438 -4.519531 2.203125 -5.140625 2.203125 -5.796875 C 2.203125 -6.390625 2.273438 -6.960938 2.421875 -7.515625 C 2.578125 -8.078125 2.8125 -8.570312 3.125 -9 C 3.4375 -9.425781 3.835938 -9.769531 4.328125 -10.03125 C 4.816406 -10.289062 5.398438 -10.421875 6.078125 -10.421875 C 6.878906 -10.421875 7.570312 -10.21875 8.15625 -9.8125 C 8.738281 -9.40625 9.113281 -8.796875 9.28125 -7.984375 Z M 9.28125 -7.984375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-6"> +<path style="stroke:none;" d="M 2.015625 -4.125 C 2.015625 -4.625 2.082031 -5.066406 2.21875 -5.453125 C 2.351562 -5.847656 2.535156 -6.175781 2.765625 -6.4375 C 3.003906 -6.707031 3.28125 -6.910156 3.59375 -7.046875 C 3.90625 -7.191406 4.238281 -7.265625 4.59375 -7.265625 C 4.945312 -7.265625 5.28125 -7.191406 5.59375 -7.046875 C 5.90625 -6.910156 6.175781 -6.707031 6.40625 -6.4375 C 6.644531 -6.175781 6.832031 -5.847656 6.96875 -5.453125 C 7.101562 -5.066406 7.171875 -4.625 7.171875 -4.125 C 7.171875 -3.625 7.101562 -3.175781 6.96875 -2.78125 C 6.832031 -2.394531 6.644531 -2.070312 6.40625 -1.8125 C 6.175781 -1.550781 5.90625 -1.351562 5.59375 -1.21875 C 5.28125 -1.082031 4.945312 -1.015625 4.59375 -1.015625 C 4.238281 -1.015625 3.90625 -1.082031 3.59375 -1.21875 C 3.28125 -1.351562 3.003906 -1.550781 2.765625 -1.8125 C 2.535156 -2.070312 2.351562 -2.394531 2.21875 -2.78125 C 2.082031 -3.175781 2.015625 -3.625 2.015625 -4.125 Z M 0.578125 -4.125 C 0.578125 -3.519531 0.660156 -2.953125 0.828125 -2.421875 C 1.003906 -1.898438 1.257812 -1.445312 1.59375 -1.0625 C 1.9375 -0.675781 2.359375 -0.375 2.859375 -0.15625 C 3.359375 0.0625 3.9375 0.171875 4.59375 0.171875 C 5.25 0.171875 5.828125 0.0625 6.328125 -0.15625 C 6.828125 -0.375 7.242188 -0.675781 7.578125 -1.0625 C 7.921875 -1.445312 8.175781 -1.898438 8.34375 -2.421875 C 8.519531 -2.953125 8.609375 -3.519531 8.609375 -4.125 C 8.609375 -4.738281 8.519531 -5.304688 8.34375 -5.828125 C 8.175781 -6.359375 7.921875 -6.816406 7.578125 -7.203125 C 7.242188 -7.597656 6.828125 -7.90625 6.328125 -8.125 C 5.828125 -8.351562 5.25 -8.46875 4.59375 -8.46875 C 3.9375 -8.46875 3.359375 -8.351562 2.859375 -8.125 C 2.359375 -7.90625 1.9375 -7.597656 1.59375 -7.203125 C 1.257812 -6.816406 1.003906 -6.359375 0.828125 -5.828125 C 0.660156 -5.304688 0.578125 -4.738281 0.578125 -4.125 Z M 0.578125 -4.125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-7"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -4.671875 C 2.390625 -5.046875 2.4375 -5.390625 2.53125 -5.703125 C 2.632812 -6.015625 2.785156 -6.285156 2.984375 -6.515625 C 3.191406 -6.753906 3.445312 -6.9375 3.75 -7.0625 C 4.050781 -7.195312 4.410156 -7.265625 4.828125 -7.265625 C 5.347656 -7.265625 5.757812 -7.113281 6.0625 -6.8125 C 6.363281 -6.519531 6.515625 -6.113281 6.515625 -5.59375 L 6.515625 0 L 7.875 0 L 7.875 -5.4375 C 7.875 -5.882812 7.828125 -6.289062 7.734375 -6.65625 C 7.640625 -7.03125 7.476562 -7.347656 7.25 -7.609375 C 7.03125 -7.878906 6.738281 -8.085938 6.375 -8.234375 C 6.019531 -8.390625 5.570312 -8.46875 5.03125 -8.46875 C 3.800781 -8.46875 2.90625 -7.960938 2.34375 -6.953125 L 2.296875 -6.953125 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-8"> +<path style="stroke:none;" d="M 2.015625 -4.0625 C 2.015625 -4.46875 2.054688 -4.863281 2.140625 -5.25 C 2.222656 -5.632812 2.359375 -5.972656 2.546875 -6.265625 C 2.742188 -6.566406 3.003906 -6.804688 3.328125 -6.984375 C 3.648438 -7.171875 4.039062 -7.265625 4.5 -7.265625 C 4.96875 -7.265625 5.363281 -7.175781 5.6875 -7 C 6.019531 -6.820312 6.289062 -6.585938 6.5 -6.296875 C 6.707031 -6.015625 6.859375 -5.679688 6.953125 -5.296875 C 7.054688 -4.921875 7.109375 -4.53125 7.109375 -4.125 C 7.109375 -3.738281 7.0625 -3.359375 6.96875 -2.984375 C 6.875 -2.617188 6.722656 -2.285156 6.515625 -1.984375 C 6.316406 -1.691406 6.054688 -1.457031 5.734375 -1.28125 C 5.421875 -1.101562 5.035156 -1.015625 4.578125 -1.015625 C 4.140625 -1.015625 3.753906 -1.097656 3.421875 -1.265625 C 3.097656 -1.429688 2.832031 -1.660156 2.625 -1.953125 C 2.414062 -2.242188 2.257812 -2.570312 2.15625 -2.9375 C 2.0625 -3.300781 2.015625 -3.675781 2.015625 -4.0625 Z M 8.421875 0 L 8.421875 -11.421875 L 7.0625 -11.421875 L 7.0625 -7.171875 L 7.03125 -7.171875 C 6.875 -7.410156 6.6875 -7.613281 6.46875 -7.78125 C 6.25 -7.945312 6.015625 -8.082031 5.765625 -8.1875 C 5.523438 -8.289062 5.28125 -8.363281 5.03125 -8.40625 C 4.789062 -8.445312 4.566406 -8.46875 4.359375 -8.46875 C 3.722656 -8.46875 3.164062 -8.351562 2.6875 -8.125 C 2.21875 -7.894531 1.828125 -7.582031 1.515625 -7.1875 C 1.203125 -6.800781 0.96875 -6.347656 0.8125 -5.828125 C 0.65625 -5.304688 0.578125 -4.75 0.578125 -4.15625 C 0.578125 -3.570312 0.65625 -3.019531 0.8125 -2.5 C 0.976562 -1.976562 1.21875 -1.519531 1.53125 -1.125 C 1.84375 -0.726562 2.234375 -0.410156 2.703125 -0.171875 C 3.179688 0.0546875 3.742188 0.171875 4.390625 0.171875 C 4.960938 0.171875 5.488281 0.0703125 5.96875 -0.125 C 6.445312 -0.332031 6.800781 -0.664062 7.03125 -1.125 L 7.0625 -1.125 L 7.0625 0 Z M 8.421875 0 "/> +</symbol> +<symbol overflow="visible" id="glyph0-9"> +<path style="stroke:none;" d="M 2.46875 -9.765625 L 2.46875 -11.421875 L 1.109375 -11.421875 L 1.109375 -9.765625 Z M 1.109375 -8.265625 L 1.109375 0 L 2.46875 0 L 2.46875 -8.265625 Z M 1.109375 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-10"> +<path style="stroke:none;" d="M 2.90625 -8.265625 L 2.90625 -10.75 L 1.546875 -10.75 L 1.546875 -8.265625 L 0.140625 -8.265625 L 0.140625 -7.078125 L 1.546875 -7.078125 L 1.546875 -1.8125 C 1.546875 -1.425781 1.582031 -1.113281 1.65625 -0.875 C 1.738281 -0.644531 1.851562 -0.460938 2 -0.328125 C 2.15625 -0.203125 2.359375 -0.113281 2.609375 -0.0625 C 2.859375 -0.0195312 3.160156 0 3.515625 0 L 4.5625 0 L 4.5625 -1.203125 L 3.9375 -1.203125 C 3.71875 -1.203125 3.539062 -1.207031 3.40625 -1.21875 C 3.28125 -1.238281 3.175781 -1.273438 3.09375 -1.328125 C 3.019531 -1.378906 2.96875 -1.453125 2.9375 -1.546875 C 2.914062 -1.648438 2.90625 -1.78125 2.90625 -1.9375 L 2.90625 -7.078125 L 4.5625 -7.078125 L 4.5625 -8.265625 Z M 2.90625 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-11"> +<path style="stroke:none;" d="M 4.9375 -10.734375 L 4.9375 -11.703125 L 3.828125 -11.703125 C 3.617188 -11.703125 3.410156 -11.65625 3.203125 -11.5625 C 3.003906 -11.46875 2.820312 -11.332031 2.65625 -11.15625 C 2.5 -10.976562 2.363281 -10.757812 2.25 -10.5 C 2.144531 -10.238281 2.09375 -9.9375 2.09375 -9.59375 L 2.09375 -6.6875 C 2.09375 -6.40625 2.054688 -6.144531 1.984375 -5.90625 C 1.910156 -5.675781 1.8125 -5.476562 1.6875 -5.3125 C 1.5625 -5.15625 1.421875 -5.03125 1.265625 -4.9375 C 1.109375 -4.84375 0.941406 -4.796875 0.765625 -4.796875 L 0.765625 -3.71875 C 0.941406 -3.71875 1.109375 -3.671875 1.265625 -3.578125 C 1.421875 -3.492188 1.5625 -3.367188 1.6875 -3.203125 C 1.8125 -3.046875 1.910156 -2.847656 1.984375 -2.609375 C 2.054688 -2.378906 2.09375 -2.125 2.09375 -1.84375 L 2.09375 1.0625 C 2.09375 1.394531 2.144531 1.691406 2.25 1.953125 C 2.363281 2.222656 2.5 2.441406 2.65625 2.609375 C 2.820312 2.785156 3.003906 2.921875 3.203125 3.015625 C 3.410156 3.109375 3.617188 3.15625 3.828125 3.15625 L 4.9375 3.15625 L 4.9375 2.1875 L 4.140625 2.1875 C 3.984375 2.1875 3.851562 2.144531 3.75 2.0625 C 3.65625 1.988281 3.578125 1.882812 3.515625 1.75 C 3.460938 1.613281 3.425781 1.460938 3.40625 1.296875 C 3.382812 1.140625 3.375 0.976562 3.375 0.8125 L 3.375 -2.09375 C 3.375 -2.5 3.316406 -2.832031 3.203125 -3.09375 C 3.097656 -3.363281 2.96875 -3.582031 2.8125 -3.75 C 2.664062 -3.914062 2.515625 -4.035156 2.359375 -4.109375 C 2.203125 -4.179688 2.078125 -4.222656 1.984375 -4.234375 L 1.984375 -4.28125 C 2.078125 -4.300781 2.203125 -4.351562 2.359375 -4.4375 C 2.515625 -4.53125 2.664062 -4.660156 2.8125 -4.828125 C 2.96875 -5.003906 3.097656 -5.222656 3.203125 -5.484375 C 3.316406 -5.742188 3.375 -6.0625 3.375 -6.4375 L 3.375 -9.359375 C 3.375 -9.523438 3.382812 -9.691406 3.40625 -9.859375 C 3.425781 -10.023438 3.460938 -10.171875 3.515625 -10.296875 C 3.578125 -10.429688 3.65625 -10.535156 3.75 -10.609375 C 3.851562 -10.691406 3.984375 -10.734375 4.140625 -10.734375 Z M 4.9375 -10.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-12"> +<path style="stroke:none;" d="M 0.390625 2.1875 L 0.390625 3.15625 L 1.5 3.15625 C 1.707031 3.15625 1.910156 3.109375 2.109375 3.015625 C 2.316406 2.921875 2.5 2.785156 2.65625 2.609375 C 2.820312 2.441406 2.957031 2.222656 3.0625 1.953125 C 3.175781 1.691406 3.234375 1.394531 3.234375 1.0625 L 3.234375 -1.84375 C 3.234375 -2.113281 3.269531 -2.363281 3.34375 -2.59375 C 3.414062 -2.820312 3.515625 -3.019531 3.640625 -3.1875 C 3.765625 -3.351562 3.90625 -3.484375 4.0625 -3.578125 C 4.21875 -3.671875 4.382812 -3.71875 4.5625 -3.71875 L 4.5625 -4.796875 C 4.382812 -4.796875 4.21875 -4.835938 4.0625 -4.921875 C 3.90625 -5.015625 3.765625 -5.140625 3.640625 -5.296875 C 3.515625 -5.460938 3.414062 -5.660156 3.34375 -5.890625 C 3.269531 -6.128906 3.234375 -6.394531 3.234375 -6.6875 L 3.234375 -9.59375 C 3.234375 -9.9375 3.175781 -10.238281 3.0625 -10.5 C 2.957031 -10.757812 2.820312 -10.976562 2.65625 -11.15625 C 2.5 -11.332031 2.316406 -11.46875 2.109375 -11.5625 C 1.910156 -11.65625 1.707031 -11.703125 1.5 -11.703125 L 0.390625 -11.703125 L 0.390625 -10.734375 L 1.1875 -10.734375 C 1.34375 -10.734375 1.46875 -10.691406 1.5625 -10.609375 C 1.664062 -10.535156 1.742188 -10.429688 1.796875 -10.296875 C 1.859375 -10.160156 1.898438 -10.007812 1.921875 -9.84375 C 1.941406 -9.675781 1.953125 -9.503906 1.953125 -9.328125 L 1.953125 -6.4375 C 1.953125 -6.03125 2.003906 -5.691406 2.109375 -5.421875 C 2.222656 -5.160156 2.351562 -4.945312 2.5 -4.78125 C 2.65625 -4.613281 2.8125 -4.488281 2.96875 -4.40625 C 3.125 -4.332031 3.25 -4.289062 3.34375 -4.28125 L 3.34375 -4.234375 C 3.25 -4.210938 3.125 -4.160156 2.96875 -4.078125 C 2.8125 -3.992188 2.65625 -3.863281 2.5 -3.6875 C 2.351562 -3.519531 2.222656 -3.304688 2.109375 -3.046875 C 2.003906 -2.785156 1.953125 -2.46875 1.953125 -2.09375 L 1.953125 0.8125 C 1.953125 0.988281 1.941406 1.15625 1.921875 1.3125 C 1.898438 1.476562 1.859375 1.625 1.796875 1.75 C 1.742188 1.882812 1.664062 1.988281 1.5625 2.0625 C 1.46875 2.144531 1.34375 2.1875 1.1875 2.1875 Z M 0.390625 2.1875 "/> +</symbol> +<symbol overflow="visible" id="glyph0-13"> +<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -5.15625 C 2.390625 -5.3125 2.425781 -5.507812 2.5 -5.75 C 2.582031 -5.988281 2.710938 -6.21875 2.890625 -6.4375 C 3.066406 -6.664062 3.296875 -6.859375 3.578125 -7.015625 C 3.859375 -7.179688 4.195312 -7.265625 4.59375 -7.265625 C 4.90625 -7.265625 5.15625 -7.21875 5.34375 -7.125 C 5.539062 -7.03125 5.695312 -6.898438 5.8125 -6.734375 C 5.9375 -6.578125 6.019531 -6.382812 6.0625 -6.15625 C 6.113281 -5.9375 6.140625 -5.691406 6.140625 -5.421875 L 6.140625 0 L 7.5 0 L 7.5 -5.15625 C 7.5 -5.789062 7.691406 -6.300781 8.078125 -6.6875 C 8.460938 -7.070312 8.988281 -7.265625 9.65625 -7.265625 C 9.988281 -7.265625 10.257812 -7.210938 10.46875 -7.109375 C 10.675781 -7.015625 10.835938 -6.882812 10.953125 -6.71875 C 11.078125 -6.5625 11.160156 -6.367188 11.203125 -6.140625 C 11.242188 -5.921875 11.265625 -5.679688 11.265625 -5.421875 L 11.265625 0 L 12.625 0 L 12.625 -6.0625 C 12.625 -6.488281 12.554688 -6.851562 12.421875 -7.15625 C 12.285156 -7.457031 12.097656 -7.703125 11.859375 -7.890625 C 11.617188 -8.085938 11.332031 -8.234375 11 -8.328125 C 10.664062 -8.421875 10.289062 -8.46875 9.875 -8.46875 C 9.332031 -8.46875 8.832031 -8.34375 8.375 -8.09375 C 7.925781 -7.851562 7.5625 -7.507812 7.28125 -7.0625 C 7.113281 -7.570312 6.820312 -7.929688 6.40625 -8.140625 C 5.988281 -8.359375 5.523438 -8.46875 5.015625 -8.46875 C 3.847656 -8.46875 2.957031 -8 2.34375 -7.0625 L 2.296875 -7.0625 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-14"> +<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/> +</symbol> +<symbol overflow="visible" id="glyph0-15"> +<path style="stroke:none;" d="M 1.859375 -2.609375 L 0.5 -2.609375 C 0.519531 -2.097656 0.625 -1.660156 0.8125 -1.296875 C 1.007812 -0.941406 1.265625 -0.65625 1.578125 -0.4375 C 1.898438 -0.21875 2.269531 -0.0625 2.6875 0.03125 C 3.101562 0.125 3.539062 0.171875 4 0.171875 C 4.414062 0.171875 4.832031 0.128906 5.25 0.046875 C 5.675781 -0.0234375 6.054688 -0.160156 6.390625 -0.359375 C 6.722656 -0.566406 6.992188 -0.832031 7.203125 -1.15625 C 7.410156 -1.488281 7.515625 -1.910156 7.515625 -2.421875 C 7.515625 -2.816406 7.4375 -3.144531 7.28125 -3.40625 C 7.132812 -3.675781 6.929688 -3.898438 6.671875 -4.078125 C 6.421875 -4.253906 6.132812 -4.394531 5.8125 -4.5 C 5.488281 -4.601562 5.15625 -4.691406 4.8125 -4.765625 C 4.5 -4.835938 4.179688 -4.910156 3.859375 -4.984375 C 3.535156 -5.054688 3.242188 -5.140625 2.984375 -5.234375 C 2.734375 -5.335938 2.523438 -5.46875 2.359375 -5.625 C 2.191406 -5.78125 2.109375 -5.972656 2.109375 -6.203125 C 2.109375 -6.421875 2.160156 -6.59375 2.265625 -6.71875 C 2.378906 -6.851562 2.519531 -6.960938 2.6875 -7.046875 C 2.851562 -7.128906 3.039062 -7.1875 3.25 -7.21875 C 3.457031 -7.25 3.664062 -7.265625 3.875 -7.265625 C 4.09375 -7.265625 4.3125 -7.238281 4.53125 -7.1875 C 4.75 -7.144531 4.945312 -7.066406 5.125 -6.953125 C 5.3125 -6.847656 5.460938 -6.707031 5.578125 -6.53125 C 5.703125 -6.351562 5.773438 -6.132812 5.796875 -5.875 L 7.15625 -5.875 C 7.125 -6.375 7.015625 -6.789062 6.828125 -7.125 C 6.648438 -7.457031 6.40625 -7.722656 6.09375 -7.921875 C 5.789062 -8.117188 5.441406 -8.257812 5.046875 -8.34375 C 4.660156 -8.425781 4.234375 -8.46875 3.765625 -8.46875 C 3.398438 -8.46875 3.03125 -8.421875 2.65625 -8.328125 C 2.289062 -8.234375 1.960938 -8.09375 1.671875 -7.90625 C 1.378906 -7.71875 1.140625 -7.472656 0.953125 -7.171875 C 0.765625 -6.878906 0.671875 -6.523438 0.671875 -6.109375 C 0.671875 -5.578125 0.800781 -5.160156 1.0625 -4.859375 C 1.332031 -4.566406 1.664062 -4.335938 2.0625 -4.171875 C 2.46875 -4.003906 2.90625 -3.875 3.375 -3.78125 C 3.84375 -3.6875 4.273438 -3.582031 4.671875 -3.46875 C 5.078125 -3.363281 5.410156 -3.21875 5.671875 -3.03125 C 5.941406 -2.851562 6.078125 -2.585938 6.078125 -2.234375 C 6.078125 -1.984375 6.015625 -1.773438 5.890625 -1.609375 C 5.765625 -1.441406 5.601562 -1.316406 5.40625 -1.234375 C 5.207031 -1.148438 4.988281 -1.09375 4.75 -1.0625 C 4.519531 -1.03125 4.296875 -1.015625 4.078125 -1.015625 C 3.796875 -1.015625 3.523438 -1.039062 3.265625 -1.09375 C 3.003906 -1.144531 2.769531 -1.226562 2.5625 -1.34375 C 2.351562 -1.46875 2.1875 -1.632812 2.0625 -1.84375 C 1.9375 -2.050781 1.867188 -2.304688 1.859375 -2.609375 Z M 1.859375 -2.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-16"> +<path style="stroke:none;" d="M 7.203125 -3.265625 L 6.40625 -2.34375 L 7.65625 -1.328125 C 7.144531 -1.117188 6.617188 -1.015625 6.078125 -1.015625 C 5.390625 -1.015625 4.789062 -1.148438 4.28125 -1.421875 C 3.78125 -1.691406 3.367188 -2.050781 3.046875 -2.5 C 2.734375 -2.945312 2.5 -3.445312 2.34375 -4 C 2.195312 -4.5625 2.125 -5.132812 2.125 -5.71875 C 2.125 -6.289062 2.195312 -6.851562 2.34375 -7.40625 C 2.5 -7.96875 2.734375 -8.472656 3.046875 -8.921875 C 3.367188 -9.367188 3.78125 -9.726562 4.28125 -10 C 4.789062 -10.28125 5.390625 -10.421875 6.078125 -10.421875 C 6.773438 -10.421875 7.375 -10.28125 7.875 -10 C 8.375 -9.726562 8.78125 -9.367188 9.09375 -8.921875 C 9.414062 -8.472656 9.648438 -7.96875 9.796875 -7.40625 C 9.953125 -6.851562 10.03125 -6.289062 10.03125 -5.71875 C 10.03125 -5.007812 9.921875 -4.332031 9.703125 -3.6875 C 9.492188 -3.039062 9.164062 -2.492188 8.71875 -2.046875 Z M 10.5625 0.96875 L 11.328125 0.015625 L 9.828125 -1.171875 C 10.398438 -1.742188 10.828125 -2.425781 11.109375 -3.21875 C 11.398438 -4.007812 11.546875 -4.84375 11.546875 -5.71875 C 11.546875 -6.488281 11.429688 -7.234375 11.203125 -7.953125 C 10.972656 -8.679688 10.628906 -9.320312 10.171875 -9.875 C 9.710938 -10.425781 9.140625 -10.867188 8.453125 -11.203125 C 7.773438 -11.535156 6.984375 -11.703125 6.078125 -11.703125 C 5.171875 -11.703125 4.375 -11.535156 3.6875 -11.203125 C 3.007812 -10.867188 2.441406 -10.425781 1.984375 -9.875 C 1.523438 -9.320312 1.179688 -8.679688 0.953125 -7.953125 C 0.722656 -7.234375 0.609375 -6.488281 0.609375 -5.71875 C 0.609375 -4.9375 0.722656 -4.1875 0.953125 -3.46875 C 1.179688 -2.75 1.523438 -2.109375 1.984375 -1.546875 C 2.441406 -0.992188 3.007812 -0.554688 3.6875 -0.234375 C 4.375 0.0859375 5.171875 0.25 6.078125 0.25 C 7.128906 0.25 8.039062 0.0234375 8.8125 -0.421875 Z M 10.5625 0.96875 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216 216 L 360 216 L 360 288 L 216 288 Z M 216 216 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="24.216" y="34.552002"/> + <use xlink:href="#glyph0-2" x="34.584" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="39.624" y="34.552002"/> + <use xlink:href="#glyph0-4" x="48.216" y="34.552002"/> + <use xlink:href="#glyph0-5" x="54.44" y="34.552002"/> + <use xlink:href="#glyph0-6" x="65.992" y="34.552002"/> + <use xlink:href="#glyph0-7" x="75.176" y="34.552002"/> + <use xlink:href="#glyph0-8" x="84.072" y="34.552002"/> + <use xlink:href="#glyph0-9" x="93.56" y="34.552002"/> + <use xlink:href="#glyph0-10" x="97.112" y="34.552002"/> + <use xlink:href="#glyph0-9" x="102.152" y="34.552002"/> + <use xlink:href="#glyph0-6" x="105.704" y="34.552002"/> + <use xlink:href="#glyph0-7" x="114.888" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="63.488" y="53"/> + <use xlink:href="#glyph0-1" x="68.816" y="53"/> + <use xlink:href="#glyph0-12" x="79.184" y="53"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 554.910156 226.542969 C 583.03125 240.601562 583.03125 263.398438 554.910156 277.457031 C 526.792969 291.515625 481.207031 291.515625 453.089844 277.457031 C 424.96875 263.398438 424.96875 240.601562 453.089844 226.542969 C 481.207031 212.484375 526.792969 212.484375 554.910156 226.542969 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-5" x="252.496" y="34.552002"/> + <use xlink:href="#glyph0-6" x="264.048" y="34.552002"/> + <use xlink:href="#glyph0-13" x="273.232" y="34.552002"/> + <use xlink:href="#glyph0-13" x="286.88" y="34.552002"/> + <use xlink:href="#glyph0-14" x="300.528" y="34.552002"/> + <use xlink:href="#glyph0-7" x="309.12" y="34.552002"/> + <use xlink:href="#glyph0-8" x="318.016" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="278.896" y="53"/> + <use xlink:href="#glyph0-5" x="284.224" y="53"/> + <use xlink:href="#glyph0-12" x="295.776" y="53"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 648 216 L 792 216 L 792 288 L 648 288 Z M 648 216 " transform="matrix(1,0,0,1,-214,-214)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="451.92" y="34.552002"/> + <use xlink:href="#glyph0-6" x="462.288" y="34.552002"/> + <use xlink:href="#glyph0-15" x="471.472" y="34.552002"/> + <use xlink:href="#glyph0-10" x="479.472" y="34.552002"/> + <use xlink:href="#glyph0-4" x="484.512" y="34.552002"/> + <use xlink:href="#glyph0-5" x="490.736" y="34.552002"/> + <use xlink:href="#glyph0-6" x="502.288" y="34.552002"/> + <use xlink:href="#glyph0-7" x="511.472" y="34.552002"/> + <use xlink:href="#glyph0-8" x="520.368" y="34.552002"/> + <use xlink:href="#glyph0-9" x="529.856" y="34.552002"/> + <use xlink:href="#glyph0-10" x="533.408" y="34.552002"/> + <use xlink:href="#glyph0-9" x="538.448" y="34.552002"/> + <use xlink:href="#glyph0-6" x="542" y="34.552002"/> + <use xlink:href="#glyph0-7" x="551.184" y="34.552002"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-11" x="494.592" y="53"/> + <use xlink:href="#glyph0-16" x="499.92" y="53"/> + <use xlink:href="#glyph0-12" x="512.08" y="53"/> +</g> +<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360 252 L 432 252 " transform="matrix(1,0,0,1,-214,-214)"/> +<path style="fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 648 252 L 576 252 " transform="matrix(1,0,0,1,-214,-214)"/> +</g> +</svg> diff -r 000000000000 -r a5facba1adbc Slide/fig/meta.graffle Binary file Slide/fig/meta.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/meta.pdf Binary file Slide/fig/meta.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/meta.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/fig/meta.xbb Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: meta.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 958 148 +%%HiResBoundingBox: 0.000000 0.000000 958.000000 148.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Wed Feb 21 01:38:18 2018 + diff -r 000000000000 -r a5facba1adbc Slide/fig/metaCS.pdf Binary file Slide/fig/metaCS.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/normal.graffle Binary file Slide/fig/normal.graffle has changed diff -r 000000000000 -r a5facba1adbc Slide/fig/normal.pdf Binary file Slide/fig/normal.pdf has changed diff -r 000000000000 -r a5facba1adbc Slide/prosym.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/prosym.html Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,567 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="content-type" content="text/html;charset=utf-8"> + <title>Code Gear と Data Gear を持つ Gears OS の設計 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + + + + + + +
+
+

Code Gear と Data Gear を持つ Gears OS の設計

+
+
+
+ Mitsuki Miyagi, Shinji Kono + 琉球大学 +
+
+
+
+ +
+ + + +

研究目的

+ +
    +
  • 現代の OS では拡張性と信頼性を両立させることが要求されている。 + +
  • +
  • 信頼性をノーマルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Gears OS を設計中である。
  • +
  • ノーマルレベルの計算とメタレベルの計算を切り離して記述するために Code Gear と Data Gear という単位を用いている。
  • +
  • Gears OS は Continuation based C(CbC) によってアプリケーションと OS そのものを記述する。
  • +
  • 本研究では、CbC を用いた Gears OS の実装を示す。
  • +
+ + + + + +
+
+ +

メタ計算

+
    +
  • プログラムを記述する際、ノーマルレベルの処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算をメタ計算と呼ぶ。
  • +
  • メタ計算はノーマルレベルの計算から切り離して記述したい。
  • +
  • そのためには処理を細かく分割する必要があるが、関数やクラスなどの単位は容易に分割できない。
  • +
  • そこで当研究室ではメタ計算を柔軟に記述するためのプログラミング言語の単位として Code Gear、Data Gear という単位を提案している。
  • +
+ + +
+
+ +

Continuation based C (CbC)

+
    +
  • Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。
  • +
  • Code Gear は 関数呼び出し時の環境を使わずに次の Code Gear へと goto 文によって遷移する。
  • +
  • この goto 文による遷移を軽量継続と呼ぶ。
  • +
  • CbC は軽量継続を持ち、C と互換性のある言語である。
  • +
+ + +
+
+ +

CbC のコード例

+
    +
  • CbC では Code Gear は __code という型を持つ関数の構文で定義される。
  • +
  • Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
  • +
  • goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
  • +
  • この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。
  • +
+ +
__code cg0(int a, int b){
+  goto cg1(a+b);
+}
+
+__code cg1(int c){
+  goto cg2(c);
+}
+
+ + +
+
+ +

Gears OS

+
    +
  • Gears OS は Code Gear とデータの単位である Data Gear を用いて開発されており、CbC で記述されている。
  • +
  • 並列実行するための Task を、実行する Code Gear 、実行に必要な Input Data Gear 、Output Data Gear の組で表現する。
  • +
  • Input/Output Data Gear の依存関係が解決された Code Gear を並列実行する。
  • +
+ +
+ MetaGear +
+ + +
+
+ +

Data Gear

+
    +
  • Data Gear は データの単位であり、int や文字列などの Primitive Type を持っている。
  • +
  • Code Gear は任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。
  • +
  • Code Gear は接続された Data Gear 以外には参照を行わない。
  • +
+ + +
+
+ +

Gears でのメタ計算

+
    +
  • Gears OS ではメタ計算を Meta Code Gear、Meta Data Gear で表現する。
  • +
  • Meta Code Gear はノーマルレベルの Code Gear の直後に遷移され、メタ計算を実行する。
  • +
  • Meta Code Gear で OS の機能であるメモリ管理やスレッド管理を行う。
  • +
+ +
+ MetaGear +
+ + +
+
+ +

Gears でのメタ計算の記述

+ +
    +
  • 各 Code Gear の引数は Data Gear である。
  • +
  • code1, node2 は ノーマルな Code Gear であり、meta は Meta Code Gear である。
  • +
+ +
__code code1 (struct Array* array) {
+    ...
+    goto code2(array);
+}
+
+__code meta(struct Context* context, enum Code next) {
+    goto (context->code[next])(context);
+}
+
+__code code2(struct Array* array) {
+    ...
+}
+
+ + +
+
+ +

Gears OS の構成

+
    +
  • Gears OS は以下の要素で構成される。 +
      +
    • Context +
        +
      • 使用されるCode/Data Gear のリストを持っておりTaskでもある。
      • +
      +
    • +
    • TaskQueue +
        +
      • Task のリストを扱う
      • +
      +
    • +
    • TaskManager +
        +
      • Task の依存関係の解決、作成や停止を行います。
      • +
      +
    • +
    • Worker +
        +
      • Task の実行を行う
      • +
      +
    • +
    +
  • +
+ + +
+
+ +

Gears OS の構成図

+ +
+ gears_structure +
+ + +
+
+ +

Context

+
    +
  • Context とは使用される Code Gear と Data Gear を全て格納した Meta Data Gear である。
  • +
  • Gears OSは必要なCode Gear、Data Gearに参照したい場合、このContext を通す必要がある。
  • +
+
+ gearef +
+ + +
+
+ +

context の定義

+ +
/* context define */
+struct Context {
+    int codeNum; //実行可能な Code Gear の数
+    __code (**code) (struct Context*); //実行可能な code Gear のリスト
+    void* heapStart; //Data Gear の Allocate用のヒープ
+    void* heap;
+    long heapLimit;
+    int dataNum; //Data Gear の数
+    union Data **data; //Data Gear のリスト
+};
+
+ + +
+
+ +

Context

+
    +
  • Code/Data Gear の名前は enum で定義される。
  • +
  • Code/Data Gear の名前とポインタの対応は enum を使って行われる。
  • +
+ +
enum Code {
+    C_cg1,
+    C_cg2,
+};
+
+ +
enum Data {
+    D_dg1,
+    D_dg2,
+};
+
+ + +
+
+ +

Data Gear の定義

+
    +
  • Data Gear は union と struxt を用いて定義される
  • +
  • これをもとに必要な Data Gear の allocate を行う
  • +
+ +
union Data {
+    struct Time {
+        enum Code next;
+        double time;
+    } time;
+    struct LoopCounter {
+        int i;
+    } loopCounter;
+    ...
+};
+
+ + + + +
+
+ +

Interface

+
    +
  • Code Gear と Data Gear は Interface と呼ばれるまとまりとして記述される。
  • +
  • Interface は使用される Data Gear の定義と、それに対する Code Gear の集合である。
  • +
  • Interface の操作に対応する Code Gear の引数は Interface に定義されている Data Gear を通して行われる。
  • +
+ + +
+
+ +

Interface のコード

+
typedef struct Stack<Type, Impl>{
+        union Data* stack;
+        union Data* data;
+        union Data* data1;
+        __code whenEmpty(...);
+        __code clear(Impl* stack,__code next(...));
+        __code push(Impl* stack,Type* data, __code next(...));
+        __code pop(Impl* stack, __code next(Type* data, ...));
+        __code pop2(Impl* stack, __code next(Type* data, Type* data1, ...));
+        __code isEmpty(Impl* stack, __code next(...), __code whenEmpty(...));
+        __code get(Impl* stack, __code next(Type* data, ...));
+        __code get2(Impl* stack, __code next(Type* data, Type* data1, ...));
+        __code next(...);
+} Stack;
+
+ + +
+
+ +

Interface の実装例

+ +
Stack* createSingleLinkedStack(struct Context* context) {
+    struct Stack* stack = new Stack();
+    struct SingleLinkedStack* singleLinkedStack = new SingleLinkedStack();
+    stack->stack = (union Data*)singleLinkedStack;
+    singleLinkedStack->top = NULL;
+    stack->push = C_pushSingleLinkedStack;
+    stack->pop  = C_popSingleLinkedStack;
+    stack->pop2  = C_pop2SingleLinkedStack;
+    stack->get  = C_getSingleLinkedStack;
+    stack->get2  = C_get2SingleLinkedStack;
+    stack->isEmpty = C_isEmptySingleLinkedStack;
+    stack->clear = C_clearSingleLinkedStack;
+    return stack;
+}
+
+ + +
+
+ +

Interface の実装例

+ +
__code pushSingleLinkedStack(struct SingleLinkedStack* stack, 
+                                union Data* data, __code next(...)) {
+    Element* element = new Element();
+    element->next = stack->top;
+    element->data = data;
+    stack->top = element;
+    goto next(...);
+}
+
+
+ + +
+
+ +

interface の使用例

+ +
    +
  • goto interface->code() と記述する。
  • +
+ +
__code stackTest1(struct Stack* stack) {
+    Node* node = new Node();
+    node->color = Red;
+    goto stack->push(node, stackTest2);
+}
+
+
+ + + + +
+
+ +

stub Code Gear

+ +
    +
  • Code Gear が必要とする Data Gear を取り出す際に Context を通す必要がある。
  • +
  • しかし、Meta Data Gear である Context をノーマルレベルの Code Gear から直接アクセスするのはよろしくない。
  • +
  • そこで Context から必要なデータを取り出して Code Gear に接続する、メタレベルの stub Code Gear を定義し、これを介して間接的に必要な Data Gear にアクセスする。
  • +
+ + +
+
+ +

stub Code Gear の例

+
__code clearSingleLinkedStack(struct Context *context,
+                    struct SingleLinkedStack* stack,enum Code next) {
+    stack->top = NULL;
+    goto meta(context, next);
+}
+
+__code clearSingleLinkedStack_stub(struct Context* context) {
+        SingleLinkedStack* stack = 
+                (SingleLinkedStack*)GearImpl(context, Stack, stack);
+        enum Code next = Gearef(context, Stack)->next;
+        goto clearSingleLinkedStack(context, stack, next);
+}
+
+ + +
+
+ +

Context、stub Code Gear の自動生成

+
    +
  • Gears OS ではノーマルレベルの計算の他に Context や stub などのメタ計算を記述する必要がある。
  • +
  • 現在の CbC で Gears OS を記述すると、このメタ計算の記述も行わなくてはならず、これには多くの労力を要する。
  • +
  • この記述を助けるために Context を生成する generate_context と stub Code Gear を生成する generate_stub を perl スクリプトで作成した。
  • +
+ + +
+
+ +

stub Code Gear の生成

+
    +
  • stub Code Gear は Code Gear 間の継続に挟まれ、Code Gear が必要な Data Gear を Context から取り出す処理を行うものである。
  • +
  • stub Code Gear は Code Gear 毎に記述する必要があり、そのCode Gear の引数を見て取り出す Data Gear を選択する。
  • +
  • generate_stub は指定された cbc ファイルの __code で記述された Code Gear を取得。
  • +
  • Code Gear の引数と interface を照らし合わせ、Gearef または GearImpl を決定する。
  • +
  • cbc ファイルの Code Gear から、生成した stub Code Gear を加えたファイルを生成する。
  • +
+ + +
+
+ +

生成された stub Code Gear

+ +
__code clearSingleLinkedStack(struct Context *context,
+                    struct SingleLinkedStack* stack,enum Code next) {
+    stack->top = NULL;
+    goto meta(context, next);
+}
+
+__code clearSingleLinkedStack_stub(struct Context* context) {
+        SingleLinkedStack* stack = 
+                (SingleLinkedStack*)GearImpl(context, Stack, stack);
+        enum Code next = Gearef(context, Stack)->next;
+        goto clearSingleLinkedStack(context, stack, next);
+}
+
+ + +
+
+ +

Context の生成

+ +
    +
  • generate_context は context.h から Data Gear、generate_stub から生成されたファイルから Code Gear を取得し、以下を生成する。 +
      +
    • Code/Data Gear を enum で定義した enumCode.h、enumData.h
    • +
    • 取得した Code/Data Gear から Context の生成を行う target-context
    • +
    • Context を生成する際の Data Gear の Allocation を行う dataGearInit.c
    • +
    +
  • +
+ +
+ generate_context3 +
+ + +
+
+ +

今後の課題

+
    +
  • 本研究では CbC を用いた Code Gear と Data Gear を持つ Gears OS の記述を行なった。
  • +
  • また、Gears OS の記述に必要な Meta の生成を行う perl スクリプトの作成を行なった。
  • +
  • これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。
  • +
  • 今後の課題は、今回 perl スクリプトによって Context や stub を含むファイルの生成を行なったが、LLVM/clang 上で実装しコンパイラから直接 CbC を実行できるようにすることを目的とする。
  • +
  • また、xv6 を Gears OS での書き換えや、継続ではスタックは積まないため、スタックトレースを使わない手法でのデバッグの考案などもある。
  • +
+ +

+ +
+ + +
+ + diff -r 000000000000 -r a5facba1adbc Slide/prosym.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/prosym.md Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,245 @@ +title: GearsOSのAgdaによる記述と検証 +author: Masataka Hokama, Shinji Kono +profile: 琉球大学 +lang: Japanese +code-engine: coderay + + + + +## プログラムの信頼性の保証 +* 動作するプログラムの信頼性を保証したい +* 信頼性の保証をするためにはプログラムの仕様を検証する必要がある +* プログラムの仕様を検証するにはモデル検査と **定理証明** の2つの手法がある + * モデル検査 はプログラムの持つ状態を数え上げて仕様を満たしているかを確認する + * 定理証明 はプログラムの性質を論理式で記述し、型を生成する関数を定義することで証明を記述できる +* また、当研究室では検証しやすい単位として CodeGear、DataGear という単位を用いてプログラムを記述する手法を提案している + +## プログラムの信頼性の保証 +* 今回は **定理証明** をつかって仕様を検証した +* 定理証明には定理証明支援系の言語 Agda を使用する + * Agda では型でプログラムの性質を論理式で記述し、型に対応する関数部分で論理式を解くことで証明を記述できる +* データ構造を仕様と実装に分けて記述するために現在ある Stack 実装とは別に Stack の仕様部分を Interface で記述した + +* 今回は Agda を用いて CodeGear 、DataGear、という単位と Interface を定義した +* CodeGear、DataGear という単位を用いて実装された Stack を Interface を通して呼び出し、その性質の一部について証明を行なった + + +## CodeGear と DataGear +* CodeGear とはプログラムを記述する際の処理の単位である +* DataGear は CodeGear で扱うデータの単位であり、処理に必要なデータが全て入っている +* CodeGear はメタ計算によって CodeGear へ接続される +* メタ計算を切り替えることで処理に変更を加えることなくプログラムの性質を検証できる + +
+ goto +
+ + +## Agda での popSingleLinkedStack の型 +* Agda の 関数部分は **関数名 = 値** +* この型は stack を受け取り、stack の先頭を取って、次の関数に渡すという関数の型 +* popSingleLinkedStack は Stack のpop のCodeGearで、継続に型Maybe aを受けとるCodeGear( ** (fa -> t) -> t** )に渡す +* stack は空の可能性があるので Maybe a を返す + + +```AGDA +popSingleLinkedStack : SingleLinkedStack a -> + (Code : SingleLinkedStack a -> (Maybe a) -> t) -> t +``` + +## Maybe +* **Maybe** はNothingかJustの2つの場合を持つ型でAgda の **data** として定義されている +* Just か Nothing はパターンマッチで場合分けする +Nothing と Just a は Maybe を生成する constructor + +```AGDA +data Maybe a : Set where + Nothing : Maybe a + Just : a -> Maybe a +``` + +## data を用いた等式の Agda での証明 +* x ≡ x はAgdaでは常に正しい論理式 +* data は **data データ名 : 型** と書く +* **refl** は左右の項が等しいことを表す x ≡ x を生成する項 +* x ≡ x を証明したい時には refl と書く + +```AGDA +data _≡_ {a} {A : Set a} (x : A) : A → Set a where + refl : x ≡ x +``` + +## Agda でのpopSingleLinkedStack での定義 +* Agdaでの関数の定義は **関数名 = 関数の実装** の書く +* 関数名と = の間にある stack と cs は引数 +* popSingleLinkedStack では stack を受け取り、 stack の中から data を取り出し、新しいstack を継続し、次の CodeGear に継続している +* stack の top は Maybe a なので Nothing と Just +* 関数部分では with で data のパターンマッチを行うことができる + + +```AGDA +popSingleLinkedStack stack cs with (top stack) +popSingleLinkedStack stack cs | Nothing = cs stack Nothing +popSingleLinkedStack stack cs | Just d = cs record { top = (next d) } (Just (datum d)) +``` + +## SingleLinkedStack の定義(recordの例) +* record は複数のデータをまとめて記述する型 +* **record レコード名** を書き、その次の行の **field** 後に **フィールド名:型名** と列挙する +* SingleLinkedStack では top というフィールドに Maybe のかかっている Element 型の要素aが定義されている +* Element では record で data と次の要素 next が定義されている + +```AGDA +record SingleLinkedStack (a : Set) : Set where + field + top : Maybe (Element a) +``` + +## pushSingleLinkedStackの定義とrecordの構築 +* 実際に record を構築するときの例として **pushSingleLinkedStack** の関数部分を扱う +* pushSingleLinkedStack では stack と data を受け取り、 CodeGear 中で Data を stack に入れ、新しいstack を継続し、次の CodeGear に継続している +* record の構築は関数側で行う +* **record** の後ろの {} 内部で **フィールド名 = 値** で列挙する +* 複数のレコードを書くときは **;** で区切る + +```Agda +pushSingleLinkedStack stack datum next = + next record {top = Just (record {datum = datum;next =(top stack)})} +``` + +## Agda での Interface の定義 +* singleLinkedStack の仕様を実装とは別に記述するために record を使い、 Stack の Interface を記述した +* ここでの push、 pop は仕様のみの記述で実装とはここでは関係ない +* t は継続を返す型を表す +* 実装は関数の中で record を構築し、singleLinkedStack での push 、 pop と繋げられる + +```AGDA +record StackMethods {n m : Level } (a : Set n ) + {t : Set m }(stackImpl : Set n ) : Set (m Level.⊔ n) where + field + push : stackImpl -> a -> (stackImpl -> t) -> t + pop : stackImpl -> (stackImpl -> Maybe a -> t) -> t +``` + + +## 証明の概要 +* 今回は singleLinkedStack の実装を抽象的に表す Interface を通し、 **任意の数** を push し pop したとき、 +push した値と pop した値が等しくなることを証明する +* このとき、どのような状態の Stack に push し、 pop をしても値が等しくなることを示したい +* そのため、**状態の不定な** Stack を作成する関数を作成した + +## 不定な Stack を作成する stackInSomeState という関数の定義 +* 不定なstackは入力(s : SingleLinkedStack a )で与える +* 入力は定義時点では決まっていないので不定 +* stackInSomeState は stack を受け取り、状態の決まっていない stack を record で作成する + +```AGDA +stackInSomeState : (s : SingleLinkedStack a ) -> Stack a ( SingleLinkedStack a ) +stackInSomeState s = record { stack = s ; stackMethods = singleLinkedStackSpec } +``` + +## Agda での Interface を含めた部分的な証明 +* push を2回したときの値と、直後に pop を2回して取れた値が等しいことを示している +* Agda 中では不明な部分を **?** と書くことができ、**?** 部分には証明が入る +* 証明部分はラムダ式で与える +* はじめにに型部分に注目する + +```AGDA +push->push->pop2 : {l : Level } {a : Set l} (x y : a ) (s : SingleLinkedStack a ) -> + pushStack ( stackInSomeState s ) x ( \s1 -> pushStack s1 y ( \s2 -> + pop2Stack s2 ( \s3 y1 x1 -> (Just x ≡ x1 ) ∧ (Just y ≡ y1 ) ) )) +push->push->pop2 {l} {a} x y s = ? +``` + +## ラムダ式 +* **\s1 ->** はラムダ式で push->push->pop2 の型では次の CodeGear 部分にラムダ式を使いStackを渡している + +```AGDA +push->push->pop2 : {l : Level } {a : Set l} (x y : a ) (s : SingleLinkedStack a ) -> + pushStack ( stackInSomeState s ) x ( \s1 -> pushStack s1 y ( \s2 -> + pop2Stack s2 ( \s3 y1 x1 -> (Just x ≡ x1 ) ∧ (Just y ≡ y1 ) ) )) +``` + + +## Agda での Interface を含めた部分的な証明 +* ? 部分はコンパイル時に Agda から内部に入る型を示してもらえる +* ここでは最終的に **(Just x ≡ x1) ∧ (Just y ≡ y1)** が返ってくる +* (x ≡ x1)と(y ≡ y1)の2つが同時成り立ってほしい +* そこで **∧** の部分を record で定義した + +```AGDA +push->push->pop2 {l} {a} x y s = { }0 +``` + +```AGDA +-- Goal +?0 : pushStack (stackInSomeState s) x +(λ s1 → + pushStack s1 y + (λ s2 → pop2Stack s2 (λ s3 y1 x1 → (Just x ≡ x1) ∧ (Just y ≡ y1)))) +``` + +## Agda での Interface を含めた部分的な証明(∧) +* a と b の2つの証明から a かつ b という証明をするために ** ∧ ** を定義した +* 異なる2つのものを引数にとり、それらがレコードに存在することを示せればよい + + +```AGDA +record _∧_ {n : Level } (a : Set n) (b : Set n): Set n where + field + pi1 : a + pi2 : b +``` + +## Agda での Interface を含めた部分的な証明 +* x と x1 が等しいことは **refl** で証明できる +* ∧ でまとめた pi1、pi2は両方共等しいはずなので両方に refl を使う +* pi1、pi2の両方に refl を代入することで証明することができた +* これにより証明の目的であった「どのような状態の Stack に push し、 pop をしても値が等しくなる」ことを証明することができた + +```AGDA +push->push->pop2 : {l : Level } {a : Set l} (x y : a ) (s : SingleLinkedStack a ) -> + pushStack ( stackInSomeState s ) x ( \s1 -> pushStack s1 y ( \s2 -> + pop2Stack s2 ( \s3 y1 x1 -> (Just x ≡ x1 ) ∧ (Just y ≡ y1 ) ) )) +push->push->pop2 {l} {a} x y s = record { pi1 = refl ; pi2 = refl } +``` + +## まとめと今後の課題 +* 本研究では CodeGear、DataGear を Agda で定義することができた +* また Agda で Interface の記述及び Interface を含めた一部の証明を行えた +* これにより、 Interface を経由しても一部の性質は実装と同様の働きをすることが証明できた + +* 今後の課題としては 継続を用いた Agda で Hoare Logic を表現し、その Hoare Logic をベースとして証明を行えるかを確認する +* また RedBlackTree の挿入、削除の性質に関する証明も行おうと考えている + + +## Hoare Logic +* Hoare Logic は Tony Hoare によって提案されたプログラムの部分的な正当性を検証するための手法 +* 前の状態を{P}(Pre-Condition)、後の状態を{Q}(Post-Condition)とし、前状態を C (Command) によって変更する +* この {P} C {Q} でプログラムを部分的に表すことができるp + +
+ hoare +
+ + +## Hoare Logic と CbC + +* Hoare Logic の状態と処理を CodeGear、 DataGear の単位で考えることができると考えている + +
+ cbc-hoare +
+ + +## Element +* Element の説明 +```AGDA +record Element {l : Level} (a : Set l) : Set l where + inductive + constructor cons + field + datum : a -- `data` is reserved by Agda. + next : Maybe (Element a) +``` diff -r 000000000000 -r a5facba1adbc Slide/slide_map.xmind Binary file Slide/slide_map.xmind has changed diff -r 000000000000 -r a5facba1adbc thesis.mm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thesis.mm Fri Apr 13 18:07:04 2018 +0900 @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +