From 264dc0448ae25f7972dec017690094b9874b24a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Sun, 7 Jul 2024 13:21:29 +0000 Subject: [PATCH] basic setup --- .devcontainer/Dockerfile | 3 + .devcontainer/devcontainer.json | 17 + .devcontainer/docker-compose.yml | 15 + .gitignore | 859 +++++++++++++ .latexmkrc | 4 + .obsidian/app.json | 1 + .obsidian/appearance.json | 3 + .obsidian/community-plugins.json | 5 + .obsidian/core-plugins-migration.json | 30 + .obsidian/core-plugins.json | 20 + .vscode/settings.json | 21 + src/IEEEbib.bst | 1021 +++++++++++++++ src/IFC-24.bib | 35 + src/IFC-24.sty | 494 ++++++++ src/IFC24-paper-template.tex | 436 +++++++ src/TwoColumnSine2.eps | 1652 +++++++++++++++++++++++++ src/TwoColumnSine2.pdf | Bin 0 -> 46275 bytes src/counter.pdf | Bin 0 -> 6938 bytes src/draft.md | 1 + src/listings-rust.sty | 75 ++ src/main.tex | 434 +++++++ src/ref.bib | 372 ++++++ 22 files changed, 5498 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/docker-compose.yml create mode 100644 .gitignore create mode 100644 .latexmkrc create mode 100644 .obsidian/app.json create mode 100644 .obsidian/appearance.json create mode 100644 .obsidian/community-plugins.json create mode 100644 .obsidian/core-plugins-migration.json create mode 100644 .obsidian/core-plugins.json create mode 100644 .vscode/settings.json create mode 100644 src/IEEEbib.bst create mode 100644 src/IFC-24.bib create mode 100644 src/IFC-24.sty create mode 100644 src/IFC24-paper-template.tex create mode 100644 src/TwoColumnSine2.eps create mode 100644 src/TwoColumnSine2.pdf create mode 100644 src/counter.pdf create mode 100644 src/draft.md create mode 100644 src/listings-rust.sty create mode 100644 src/main.tex create mode 100644 src/ref.bib diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..418a8ad --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,3 @@ +FROM tomoyanonymous/latex-remote-container-acmart:latest + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..0cafe2c --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,17 @@ +{ + "name": "latex-in-docker-on-vscode", + "dockerComposeFile": "docker-compose.yml", + "customizations": { + "vscode": { + "extensions": [ + "james-yu.latex-workshop", + ], + "settings": { + "terminal.integrated.shell": "/bin/bash" + }, + } + }, + "service": "texlive-ja", + "workspaceFolder": "/workdir", + "shutdownAction": "stopCompose" +} \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..9a7339c --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3" + +services: + texlive-ja: + # build: . + image: tomoyanonymous/latex-remote-container-acmart:latest + environment: + SHELL: "/bin/bash" + command: sleep infinity + volumes: + - ../:/workdir + - ../.latexmkrc:/root/.latexmkrc + - ~/.zshrc:/root/.zshrc #bashの設定 + - ~/.ssh:/root/.ssh #sshキー + #- ~/.gitconfig:/root/.gitconfig #gitの設定 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6030678 --- /dev/null +++ b/.gitignore @@ -0,0 +1,859 @@ +.DS_Store + +.pandoc/ +.obsidian/workspace** +.obsidian/plugins/ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..1113cb4 --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,4 @@ +#!/usr/bin/env perl + +@default_files = ("main"); +$pdf_mode = 1; \ No newline at end of file diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..c8c365d --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1,3 @@ +{ + "accentColor": "" +} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json new file mode 100644 index 0000000..ef38992 --- /dev/null +++ b/.obsidian/community-plugins.json @@ -0,0 +1,5 @@ +[ + "obsidian-zotero-desktop-connector", + "better-word-count", + "obsidian-pandoc-reference-list" +] \ No newline at end of file diff --git a/.obsidian/core-plugins-migration.json b/.obsidian/core-plugins-migration.json new file mode 100644 index 0000000..436f43c --- /dev/null +++ b/.obsidian/core-plugins-migration.json @@ -0,0 +1,30 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false +} \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..9405bfd --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,20 @@ +[ + "file-explorer", + "global-search", + "switcher", + "graph", + "backlink", + "canvas", + "outgoing-link", + "tag-pane", + "page-preview", + "daily-notes", + "templates", + "note-composer", + "command-palette", + "editor-status", + "bookmarks", + "outline", + "word-count", + "file-recovery" +] \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f81bf45 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,21 @@ +{ + "grammarly.overrides": [ + { + "files": [ + "**/src/main.tex" + ], + "config": { + "audience": "expert", + "dialect": "american", + "domain": "academic", + "emotions": [ + "neutral", + "analytical" + ], + "goals": [ + "describe" + ] + } + } + ] +} \ No newline at end of file diff --git a/src/IEEEbib.bst b/src/IEEEbib.bst new file mode 100644 index 0000000..f9bf3cc --- /dev/null +++ b/src/IEEEbib.bst @@ -0,0 +1,1021 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IEEE.bst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Bibliography Syle file for articles according to IEEE instructions +% balemi@aut.ee.ethz.ch <22-JUN-93> +% modified from unsrt.bib. Contributions by Richard H. Roy + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = +% next line commented out by rhr and changed to write comma +% { add.period$ write$ + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +% 5/24/89 rhr +% modified fin.entry function - prints note field after body of entry +%FUNCTION {fin.entry} +%{ add.period$ +% note empty$ +% 'write$ +% { "\par\bgroup\parindent=0em " * annote * "\par\egroup " * write$ +% } +% if$ +% newline$ +%} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +% new block without terminating last block with a comma +FUNCTION {new.ncblock} +{ + write$ + newline$ + "\newblock " + before.all 'output.state := +} + +FUNCTION {new.nccont} +{ + write$ + " " + before.all 'output.state := +} + +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$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {boldface} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +%FUNCTION {boldface} +%{ 's swap$ := +% s "" = +% { "" } +% { "{\bf " s * "}" * } +% if$ +%} +% +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", Eds." * } + { ", Ed." * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { "``" title "t" change.case$ * } + 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} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +% FUNCTION {format.date} +% { year empty$ +% 'year +% { " " year * } +% if$ +% } + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol." volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + 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} +{ 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} +{ +volume empty$ + {"" } + {"vol. " volume *} +if$ +number empty$ + 'skip$ + {", no. " number * *} +if$ +pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", pp. " * pages n.dashify * } + if$ + } +if$ +} + +%FUNCTION {format.vol.num.pages} +%%boldface added 3/17/87 rhr +%{ volume field.or.null boldface +% number empty$ +% 'skip$ +% { "(" number * ")" * * +% volume empty$ +% { "there's a number but no volume in " cite$ * warning$ } +% 'skip$ +% if$ +% } +% if$ +% pages empty$ +% 'skip$ +% { duplicate$ empty$ +% { pop$ format.pages } +% { ":" * pages n.dashify * } +% if$ +% } +% if$ +%} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "in " booktitle emphasize * } + { "in " booktitle emphasize * ", " * format.editors * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and 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$ + { "Tech. {R}ep." } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In {\em " journal * "\/}" * } + if$ + } + { "In " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "vol." volume tie.or.space.connect + " of " * + } + if$ + 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$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ 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$ + "" + } + { "In {\em " booktitle * "\/}" * } + if$ + } + { "In " key * } + if$ + } + { "In " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title ",''" * "title" output.check + new.ncblock + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title ",''" * "title" output.check + new.nccont + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title ",''" * "title" output.check + new.ncblock + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title ",''" * "title" output.check + new.ncblock + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + address empty$ + { organization publisher new.sentence.checkb + organization output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + organization output + } + if$ + format.bvolume output + format.number.series output + format.pages output + publisher output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title ",''" * "title" output.check + new.ncblock + "M.S. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title ",''" * output + new.nccont + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title ",''" * "title" output.check + new.ncblock + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title ",''" * "title" output.check + new.ncblock + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +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 + +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} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End of IEEE.bst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/IFC-24.bib b/src/IFC-24.bib new file mode 100644 index 0000000..b86f5c2 --- /dev/null +++ b/src/IFC-24.bib @@ -0,0 +1,35 @@ +@InBook{Orlarey2009, + Title = {New Computational Paradigms for Computer Music}, + Author = {Yann Orlarey and St\'ephane Letz and Dominique Fober}, + Chapter = {``{Faust}: an Efficient Functional Approach to {DSP} Programming''}, + Publisher = {Delatour}, + Year = {2009}, + Address = {Paris, France} +} + +@InProceedings{Smith2012, + Title = {Signal Processing Libraries for {Faust}}, + Author = {Julius O. Smith}, + Booktitle = {Proceedings of Linux Audio Conference (LAC-12)}, + Year = {2012}, + Address = {Stanford, USA}, + Month = {May} +} + +@InProceedings{Graef2012, + Title = {pd-faust: An Integrated Environment for Running {Faust} Objects in {Pd}}, + Author = {Albert Gräf}, + Booktitle = {Proceedings of the Linux Audio Conference (LAC-12)}, + Year = {2012}, + Address = {Stanford, USA}, + Month = {April} +} + +@InProceedings{Michon2011, + Title = {{Faust-STK}: a set of linear and nonlinear physical models for the {Faust} programming language}, + Author = {Romain Michon and Julius O. Smith}, + Booktitle = {Proceedings of the 14th International Conference on Digital Audio Effects (DAFx-11)}, + Year = {2011}, + Address = {Paris, France}, + Month = {September} +} diff --git a/src/IFC-24.sty b/src/IFC-24.sty new file mode 100644 index 0000000..4040b72 --- /dev/null +++ b/src/IFC-24.sty @@ -0,0 +1,494 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% +% File: IFC-24.sty (LaTeX Document style option "IFC-24") +% +% Usage: \documentclass{article} +% \usepackage{IFC-20} +% +% Or for LaTeX 2.09: +% Usage: \documentstyle[...,IFC-24,...]{article} +% +% Purpose: +% +% Style file for the International Faust Conference (IFC-24). +% Modified from DAFx-16.sty +% Features: +% - correct page size (175mm x 226mm) +% - use times-roman font as default font (roman font) in order to achieve +% best quality on paper and screen +% - twocolumn format +% - boldfaced, numbered, and centered section headings +% - correct subsection and subsubsection headings +% - use \title{xx} for title, will automatically be typeset uppercase (not need for the user to do so) +% +% NEW NEW NEW +% +% - use \affiliation{author1, author2, ... and authorN}{address} for author(s) +% with a single affiliation (address) +% - use \affiliationS{author}{address1}{address2} for author(s) +% with double affiliation (address) +% - use \twoaffiliations{author1}{address1}{author2}{address2} +% for two (or more) authors with two separate addresses +% - use \threeaffiliations{author1}{address1}{author2}{address2}{author3}{address3} +% for three (or more) authors with three separate addresses +% - use \fouraffiliations{author1}{address1}{author2}{address2}{author3}{address3}{author4}{address4} +% for four (or more) authors with four separate addresses +% - note: no need for \name \address \author nor \date +% +% - optional: can use \thanks{xx} within \affiliation, \affiliations, etc. +% asterisk is not printed after name nor in footnote +% - optional: can use \sthanks{xx} after each name within \name or +% \twoauthors if different thanks for each author, +% footnote symbol will appear for each name and footnote +% - optional: use \ninept to typeset text in 9 pt; default is 10pt. +% +% Example of use for one or more authors at a common address and +% common support. For distinct support acknowledgments, +% use \sthanks{xx} after each name. +% +% \documentstyle[dafx_14]{article} +% \title{Title of the paper} +% \affiliation{George P. Burdell and John Q. Professor +% \thanks{This work was supported by...}} +% {Common address, department \\ +% City, etc \\ +% optional e-mail address} +% +% \begin{document} +% OPTIONAL --> \ninept <-- OPTIONAL, for nine pt only +% \maketitle +% \begin{abstract} +% This is the abstract for my paper. +% \end{abstract} +% . +% Insert text of paper +% . +% \end{document} +% +% Example of use for authors at two distinct addresses with only +% one support acknowledgment. For distinct support acknowledgments, +% use \sthanks{xx} after each name. +% +% \documentstyle[dafx_14]{article} +% \title{Title of the paper} +% \twoaffiliations{John Doe +% \thanks{This work was supported by...}} +% {Doe's address, department \\ +% City, etc \\ +% optional e-mail address} +% {Judy Smith} +% {Smith's address, department \\ +% City, etc \\ +% optional e-mail address} +% +% \begin{document} +% OPTIONAL --> \ninept <-- OPTIONAL, for nine pt only +% \maketitle +% \begin{abstract} +% This is the abstract for my paper. +% \end{abstract} +% . +% Insert text of paper +% . +% \end{document} +% +% +% PLEASE REPORT ANY BUGS +% +% Author: Stephen Martucci -- martucci@cdg.nj.nec.com +% Modifications: Jyri Huopaniemi -- jyri.huopaniemi@research.nokia.com +% the Dafx crew -- dafx@sci.univr.it +% The DAFx04 crew -- dafx04@na.infn.it +% The DAFx06 crew -- dafx06@dafx.ca +% The DAFx07 crew -- dafx07@labri.fr +% The DAFx08 crew -- dafx08@acousctics.hut.fi +% The DAFx09 crew -- dafx09@como.polimi.it +% The DAFx10 crew -- dafx10@iem.at +% The DAFx12 crew -- papers@dafx12.york.ac.uk +% The DAFx13 crew -- papers@dafx13.nuim.ie +% The DAFx14 crew -- dafx14@audiolabs-erlangen.de +% The DAFx16 crew -- dafx16@vutbr.cz +% The IFC-20 crew -- ifc20@sciencesconf.org +% The IFC-22 crew -- ifc20@sciencesconf.org +% The IFC-24 crew -- ifc24@soundmit.com +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%change default font to times-roman +\renewcommand{\sfdefault}{phv} +\renewcommand{\rmdefault}{ptm} +\renewcommand{\ttdefault}{pcr} + +\oddsidemargin -0.31in +\evensidemargin -0.31in +%\oddsidemargin 0pt +%\evensidemargin -22pt + +\topmargin 0truept +\headheight 12truept +\footskip 0truept +\textheight 226truemm +\textwidth 175truemm +\voffset -14truept +\headsep 18truept + +\twocolumn +\columnsep 8truemm +\pagestyle{empty} +\def\ninept{\def\baselinestretch{0.95}\let\normalsize\small\normalsize} + +\def\maketitle{\par + \begingroup + \def\thefootnote{} + \def\@makefnmark{\hbox to 6pt{$^{\@thefnmark}$\hss}} + \if@twocolumn + \twocolumn[\@maketitle] + \else \newpage + \global\@topnum\z@ \@maketitle \fi\@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\thefootnote{\arabic{footnote}}\gdef\@@savethanks{}% + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} + +\def\@maketitle{\newpage + \null + \vskip 1em + \begin{center} + {\large \bf \@title \par} \vskip 2em + {% + %\large + %\ninept + \lineskip .5em + \begin{tabular}[t]{c}\@name \\ \@address + \end{tabular}\par} + \end{center} + \par + \vskip 1.4em} + +\def\title#1{\gdef\@title{\MakeUppercase{#1}}} +%\def\name#1{\gdef\@name{{\em #1}\\}} +%\def\address#1{\gdef\@address{#1}} +\gdef\@title{\uppercase{title of paper}} +\gdef\@name{{\em Name of author}\\} +\gdef\@address{Address - Line 1 \\ + Address - Line 2 \\ + Address - Line 3} + +\let\@@savethanks\thanks +\def\thanks#1{\gdef\thefootnote{}\@@savethanks{#1}} +\def\sthanks#1{\gdef\thefootnote{\fnsymbol{footnote}}\@@savethanks{#1}} + +\def\affiliationSpace{2mm} + +%\def\affiliation#1#2{\gdef\@address{} + %\gdef\@name{\begin{tabular}{@{}c@{}} + %{\em #1} \\ \vspace*{\affiliationSpace}\\ + %#2\relax + %\end{tabular} + %} +%} + +\def\affiliation#1#2{\gdef\@address{} + \gdef\@name{ + \begin{minipage}[t]{\linewidth} + \centering + {\em #1}\\[\affiliationSpace] + #2\relax + \end{minipage} + } +} + +\def\affiliations#1#2#3{\gdef\@address{} + \gdef\@name{\begin{tabular}{@{}c@{}} + {\em #1} \\ \vspace*{\affiliationSpace}\\ + \begin{tabular}{@{}c@{}} + #2\relax + \end{tabular}\hskip 0.3in + \begin{tabular}{@{}c@{}} + #3\relax + \end{tabular} + \end{tabular} + } +} + +%\def\twoaffiliations#1#2#3#4{\gdef\@address{} + %\gdef\@name{\begin{tabular}{@{}c@{}} + %{\em #1} \\ \vspace*{\affiliationSpace}\\ + %#2\relax + %\end{tabular}\hskip 0.3in + %\begin{tabular}{@{}c@{}} + %{\em #3} \\ \vspace*{\affiliationSpace}\\ + %#4\relax + %\end{tabular} + %} +%} + +\def\twoaffiliations#1#2#3#4{\gdef\@address{} + \gdef\@name{ + \begin{minipage}[t]{.5\linewidth} + \centering + {\em #1}\\[\affiliationSpace] + #2\relax + \end{minipage}% + \begin{minipage}[t]{.5\linewidth} + \centering + {\em #3}\\[\affiliationSpace] + #4\relax + \end{minipage}% + } +} + +%\def\threeaffiliations#1#2#3#4#5#6{\gdef\@address{} + %\gdef\@name{\begin{tabular}{@{}c@{}} + %{\em #1} \\ \vspace*{\affiliationSpace}\\ + %#2\relax + %\end{tabular}\hskip 0.3in + %\begin{tabular}{@{}c@{}} + %{\em #3} \\ \vspace*{\affiliationSpace}\\ + %#4\relax + %\end{tabular} \\ \\ + %\begin{tabular}{@{}c@{}} + %{\em #5} \\ \vspace*{\affiliationSpace}\\ + %#6\relax + %\end{tabular} + %} +%} +% +\def\threeaffiliations#1#2#3#4#5#6{\gdef\@address{} + \gdef\@name{ + \begin{minipage}[t]{.333\linewidth} + \centering + {\em #1}\\[\affiliationSpace] + #2\relax + \end{minipage}% + \hfill% + \begin{minipage}[t]{.333\linewidth} + \centering + {\em #3}\\[\affiliationSpace] + #4\relax + \end{minipage}% + \hfill% + \begin{minipage}[t]{.333\linewidth} + \centering + {\em #5}\\[\affiliationSpace] + #6\relax + \end{minipage}% + } +} + +%\def\fouraffiliations#1#2#3#4#5#6#7#8{\gdef\@address{} + %\gdef\@name{\begin{tabular}{@{}c@{}} + %{\em #1} \\ \vspace*{\affiliationSpace}\\ + %#2\relax + %\end{tabular}\hskip 0.3in + %\begin{tabular}{@{}c@{}} + %{\em #3} \\ \vspace*{\affiliationSpace}\\ + %#4\relax + %\end{tabular} \\ \\ + %\begin{tabular}{@{}c@{}} + %{\em #5} \\ \vspace*{\affiliationSpace}\\ + %#6\relax + %\end{tabular}\hskip 0.3in + %\begin{tabular}{@{}c@{}} + %{\em #7} \\ \vspace*{\affiliationSpace}\\ + %#8\relax + %\end{tabular} + %} +%} + +\def\fouraffiliations#1#2#3#4#5#6#7#8{\gdef\@address{} + \gdef\@name{ + \begin{minipage}[t]{.5\linewidth} + \centering + {\em #1}\\[\affiliationSpace] + #2\relax + \end{minipage}% + \begin{minipage}[t]{.5\linewidth} + \centering + {\em #3}\\[\affiliationSpace] + #4\relax + \end{minipage}% + \\[22mm]% + \begin{minipage}[t]{.5\linewidth} + \centering + {\em #5}\\[\affiliationSpace] + #6\relax + \end{minipage}% + \begin{minipage}[t]{.5\linewidth} + \centering + {\em #7}\\[\affiliationSpace] + #8\relax + \end{minipage}% + } +} + +\def\@sect#1#2#3#4#5#6[#7]#8{ + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip 0.6em} + \begingroup \ifnum #2=1\bf\centering + {\interlinepenalty \@M + \@svsec\uppercase{#8}\par}\else\ifnum #2=2\bf + \noindent{\interlinepenalty \@M \@svsec #8\par}\else\it + \@hangfrom{\hskip\parindent}{\interlinepenalty \@M + \@svsec #8\par}\fi\fi\endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\protect\numberline{\csname the#1\endcsname} #7} + \@tempskipa #5\relax + \@xsect{\@tempskipa}} + +\def\abstract{\begin{center} +{\bf ABSTRACT\vspace{-.5em}\vspace{0pt}} +\end{center}} +\def\endabstract{\par} + +\def\copyrightnotice#1{\gdef\@copyrightnotice{#1}}\let\@copyrightnotice\relax +\def\toappear#1{\gdef\@toappear{#1}}\let\@toappear\relax + +%%% Strings for the preprint titlepage footer: + +\newif\if@preprint\@preprintfalse +\def\ds@preprint{\@preprinttrue} +\def\ps@preprint{\let\@mkboth\@gobbletwo\def\@oddhead{} + \def\@oddfoot{\rlap{\@toappear}\hfil\thepage\hfil + \llap{\@copyrightnotice}\gdef\@toappear{}\gdef\@copyrightnotice{}}} + +\if@preprint\ps@preprint +\else\ps@empty\flushbottom\fi + +\def\thebibliography#1{\section{References}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + +\flushbottom +%%%%% fancyheading included +\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} +\def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}} +\def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} + +\def\chead{\@ifnextchar[{\@xchead}{\@ychead}} +\def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}} +\def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} + +\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} +\def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}} +\def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} + +\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} +\def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}} +\def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} + +\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} +\def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}} +\def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} + +\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} +\def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}} +\def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} + +\newdimen\headrulewidth +\newdimen\footrulewidth +\newdimen\plainheadrulewidth +\newdimen\plainfootrulewidth +\newdimen\headwidth +\newif\if@fancyplain +\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} + +% Command to reset various things in the headers: +% a.o. single spacing (taken from setspace.sty) +% and the catcode of ^^M (so that epsf files in the header work if a +% verbatim crosses a page boundary) +\def\fancy@reset{\restorecr + \def\baselinestretch{1}% + \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e + \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% + \else% NFSS (2.09) present + \@newbaseline% + \fi} + +% Initialization of the head and foot text. + +\headrulewidth 0.4pt +\footrulewidth\z@ +\plainheadrulewidth\z@ +\plainfootrulewidth\z@ + +\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}} +% i.e. empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages +\chead{} +%\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}} +% i.e. empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages +\lfoot{} +\cfoot{} +\rfoot{} + +% Put together a header or footer given the left, center and +% right text, fillers at left and right and a rule. +% The \lap commands put the text into an hbox of zero size, +% so overlapping text does not generate an errormessage. + +\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\hbox +{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill +\parbox[b]{\headwidth}{\centering#3\strut}\hfill +\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} + + +\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\footrule +\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill +\parbox[t]{\headwidth}{\centering#3\strut}\hfill +\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} + +\def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi +\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} + +\def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi +\vskip-0.3\normalbaselineskip\vskip-\footrulewidth +\hrule\@width\headwidth\@height\footrulewidth\vskip0.3\normalbaselineskip}} + +\def\ps@fancy{% +\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook +\@ifundefined{chapter}{\def\sectionmark##1{\markboth +{\uppercase{\ifnum \c@secnumdepth>\z@ + \thesection\hskip 1em\relax \fi ##1}}{}}% +\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne + \thesubsection\hskip 1em\relax \fi ##1}}}% +{\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\m@ne + \@chapapp\ \thechapter. \ \fi ##1}}{}} +\def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi ##1}}}}% +\csname ps@headings\endcsname % use \ps@headings defaults if they exist +\ps@@fancy +\gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}% +\headwidth\textwidth} +\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} +\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} +\def\ps@@fancy{% +\def\@mkboth{\protect\markboth}% +\def\@oddhead{\@fancyhead\@lodd\@olhead\@ochead\@orhead\@rodd}% +\def\@oddfoot{\@fancyfoot\@lodd\@olfoot\@ocfoot\@orfoot\@rodd}% +\def\@evenhead{\@fancyhead\@rodd\@elhead\@echead\@erhead\@lodd}% +\def\@evenfoot{\@fancyfoot\@rodd\@elfoot\@ecfoot\@erfoot\@lodd}% +} +\def\@lodd{\if@reversemargin\hss\else\relax\fi} +\def\@rodd{\if@reversemargin\relax\else\hss\fi} + +\let\latex@makecol\@makecol +\def\@makecol{\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} +\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} +\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} +\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} + +\pagestyle{fancy} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{-5mm} +\lhead{\em{\small{Proceedings of the International Faust Conference (IFC-24), Soundmit, Turin, Italy, November 21-22, 2024}}} +\rhead{} +\lfoot{} +\rfoot{} +\cfoot{{\vskip 11mm}{\small \thepage}}{} + diff --git a/src/IFC24-paper-template.tex b/src/IFC24-paper-template.tex new file mode 100644 index 0000000..4e056df --- /dev/null +++ b/src/IFC24-paper-template.tex @@ -0,0 +1,436 @@ +% Template LaTeX file for IFC-24 papers +% +% To generate the correct references using BibTeX, run +% latex, bibtex, latex, latex +% modified... +% - from DAFx-00 to DAFx-02 by Florian Keiler, 2002-07-08 +% - from DAFx-02 to DAFx-03 by Gianpaolo Evangelista +% - from DAFx-05 to DAFx-06 by Vincent Verfaille, 2006-02-05 +% - from DAFx-06 to DAFx-07 by Vincent Verfaille, 2007-01-05 +% and Sylvain Marchand, 2007-01-31 +% - from DAFx-07 to DAFx-08 by Henri Penttinen, 2007-12-12 +% and Jyri Pakarinen 2008-01-28 +% - from DAFx-08 to DAFx-09 by Giorgio Prandi, Fabio Antonacci 2008-10-03 +% - from DAFx-09 to DAFx-10 by Hannes Pomberger 2010-02-01 +% - from DAFx-10 to DAFx-12 by Jez Wells 2011 +% - from DAFx-12 to DAFx-14 by Sascha Disch 2013 +% - from DAFx-15 to DAFx-16 by Pavel Rajmic 2015 +% - from DAFx-16 to IFC-18 by Romain Michon 2018 +% - from IFC-18 to IFC-20 by Pierre Guillot 2019 +% - from IFC-20 to IFC-22 by Yann Orlarey 2021 +% - from IFC-22 to IFC-24 by Romain Michon 2024 + +% +% Template with hyper-references (links) active after conversion to pdf +% (with the distiller) or if compiled with pdflatex. +% +% 20060205: added package 'hypcap' to correct hyperlinks to figures and tables +% use of \papertitle and \paperauthorA, etc for same title in PDF and Metadata +% +% 1) Please compile using latex or pdflatex. +% 2) If using pdflatex, you need your figures in a file format other than eps! e.g. png or jpg is working +% 3) Please use "paperftitle" and "pdfauthor" definitions below + +%------------------------------------------------------------------------------------------ +% ! ! ! ! ! ! ! ! ! ! ! ! user defined variables ! ! ! ! ! ! ! ! ! ! ! ! ! ! +% Please use these commands to define title and author(s) of the paper: +\def\papertitle{International Faust Conference 2024 -- Paper Template} +\def\paperauthorA{Author One} +\def\paperauthorB{Author Two} +\def\paperauthorC{Author Three} +\def\paperauthorD{Author Four} + +% Authors' affiliations have to be set below + +%------------------------------------------------------------------------------------------ +\documentclass[twoside,a4paper]{article} +\usepackage{IFC-24} +\usepackage{amsmath,amssymb,amsfonts,amsthm} +\usepackage{euscript} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{ifpdf} + + +\usepackage{color} +\usepackage{listings} +\definecolor{mygrey}{rgb}{0.96,0.96,0.96} +\lstset{ + tabsize=4, + basicstyle=\ttfamily, + backgroundcolor=\color{mygrey}, + captionpos=b, + breaklines=true +} + +\usepackage[english]{babel} +\usepackage{caption} +\usepackage{subfig, color} + +\setcounter{page}{1} +\ninept + +\usepackage{times} +% Saves a lot of ouptut space in PDF... after conversion with the distiller +% Delete if you cannot get PS fonts working on your system. + +% pdf-tex settings: detect automatically if run by latex or pdflatex +\newif\ifpdf +\ifx\pdfoutput\relax +\else + \ifcase\pdfoutput + \pdffalse + \else + \pdftrue +\fi + +\ifpdf % compiling with pdflatex + \usepackage[pdftex, + pdftitle={\papertitle}, + pdfauthor={\paperauthorA, \paperauthorB, \paperauthorC, \paperauthorD}, + colorlinks=false, % links are activated as colror boxes instead of color text + bookmarksnumbered, % use section numbers with bookmarks + pdfstartview=XYZ % start with zoom=100% instead of full screen; especially useful if working with a big screen :-) + ]{hyperref} + \pdfcompresslevel=9 + \usepackage[pdftex]{graphicx} + \usepackage[figure,table]{hypcap} +\else % compiling with latex + \usepackage[dvips]{epsfig,graphicx} + \usepackage[dvips, + colorlinks=false, % no color links + bookmarksnumbered, % use section numbers with bookmarks + pdfstartview=XYZ % start with zoom=100% instead of full screen + ]{hyperref} + % hyperrefs are active in the pdf file after conversion + \usepackage[figure,table]{hypcap} +\fi + +% Special Macros +\newcommand{\F}{\textsc{Faust}} + + +\title{\papertitle} + +%-------------SINGLE-AUTHOR HEADER STARTS (uncomment below if your paper has a single author)----------------------- +% \affiliation{ +% \paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +% {\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +% {\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +% } +%-----------------------------------SINGLE-AUTHOR HEADER ENDS------------------------------------------------------ + +%---------------TWO-AUTHOR HEADER STARTS (uncomment below if your paper has two authors)----------------------- +% \twoaffiliations{ +% \paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +% {\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +% {\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +% } +% {\paperauthorB \,\sthanks{This guy is a very good fellow}} +% {\href{http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/}{IKM, Music-Informatics} \\ +% Johannes Gutenberg University (JGU)\\ Maison des Sciences de l’Homme Paris Nord, France\\ +% {\tt \href{mailto:faust@uni-mainz.de}{faust@uni-mainz.de}} +% } +%-------------------------------------TWO-AUTHOR HEADER ENDS------------------------------------------------------ + +%---------------THREE-AUTHOR HEADER STARTS (uncomment below if your paper has three authors)----------------------- +% \threeaffiliations{ +% \paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +% {\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +% {\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +% } +% {\paperauthorB \,\sthanks{This guy is a very good fellow}} +% {\href{http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/}{IKM, Music-Informatics} \\ +% Johannes Gutenberg University (JGU)\\ Maison des Sciences de l’Homme Paris Nord, France\\ +% {\tt \href{mailto:faust@uni-mainz.de}{faust@uni-mainz.de}} +% } +% {\paperauthorC \,\sthanks{Illustrious contributor}} +% {\href{https://ccrma.stanford.edu}{CCRMA} \\ Stanford University, USA\\ +% {\tt \href{mailto:faust@ccrma.stanford.edu}{faust@ccrma.stanford.edu}} +% } +%-------------------------------------THREE-AUTHOR HEADER ENDS------------------------------------------------------ + +%----------------FOUR-AUTHOR HEADER STARTS (uncomment below if your paper has four authors)----------------------- +\fouraffiliations{ +\paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +{\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +{\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +} +{\paperauthorB \,\sthanks{This guy is a very good fellow}} +{\href{http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/}{Johannes Gutenberg University (JGU)} \\ Maison des Sciences de l’Homme Paris Nord, France\\ +{\tt \href{mailto:faust@uni-mainz.de}{faust@uni-mainz.de}} +} +{\paperauthorC \,\sthanks{Illustrious contributor}} +{\href{https://ccrma.stanford.edu}{CCRMA} \\ Stanford University, USA\\ +{\tt \href{mailto:faust@ccrma.stanford.edu}{faust@ccrma.stanford.edu}} +} +{\paperauthorD \,\sthanks{Thanks to the predessors for the templates}} +{\href{https://www.univ-st-etienne.fr}{Jean Monnet University (UJM)} \\ +Saint-Etienne, France \\ +{\tt \href{mailto:faust@univ-st-etienne.fr}{faust@univ-st-etienne.fr}} +} +%-------------------------------------FOUR-AUTHOR HEADER ENDS------------------------------------------------------ + + + +\begin{document} +% more pdf-tex settings: +\ifpdf % used graphic file format for pdflatex + \DeclareGraphicsExtensions{.png,.jpg,.pdf} +\else % used graphic file format for latex + \DeclareGraphicsExtensions{.eps} +\fi + +\maketitle + +\begin{abstract} +This is the template file for the proceedings of the third \F{} +International Conference (IFC-24). +This template has been derived from IFC-20 templates and aims at producing +conference proceedings in electronic form. +The format is essentially the one used for ICASSP conferences. Please use +either this \LaTeX{} or the accompanying Word formats when preparing your +submission. +\end{abstract} + +\section{Introduction} +\label{sec:intro} + +This template can be found on the conference website. + +\subsection{Figures} +\label{ssec:figures} + +All figures should be centered on the column (or page, if the figure spans both +columns). Figure captions (in italic) should follow each figure and have the +format given in Figure~\ref{fft_plot}. Vectorial figures are preferred (e.g., +Postscript, PDF, etc.). Also, in order to provide a better readability, figure +text font size should be at least identical to footnote font size. If bitmap +figures are used, please make sure that the resolution is enough for print +quality. Figure~\ref{ftt_plot2} illustrates an example of a figure spanning two +columns. + +\begin{figure}[ht] +\centerline{\includegraphics[scale=0.7]{counter}} +\caption{\label{fft_plot}{\it \F{} counter.}} +\end{figure} + +\begin{figure*}[ht] +\center +\includegraphics[width=5in]{TwoColumnSine2} +\caption{\label{ftt_plot2}{\it A figure spanning two columns, as mentioned in +Sec. \ref{ssec:figures}.}} +\end{figure*} + +\subsection{Tables} + +As for figures, all tables should be centered on the column (or page, if the +table spans both columns). Table captions should be in italic, precede each +table and have the format given in Table~\ref{tab:example}. + +\begin{table}[ht] + \caption{\itshape Basic trigonometric values.} + \centering + \begin{tabular}{|c|c|} + \hline + $\mathrm{angle}\,(\theta, \mathrm{rad})$ & $\sin \theta$ \\\hline + $\frac{\pi}{2}$ & $1$ \\ + $\pi$ & $0$ \\ + $\frac{3\pi}{2}$ & $-1$ \\ + $2\pi$ & $0$ \\\hline + \end{tabular} + % + \label{tab:example} +\end{table} + +\begin{table*}[ht] + \caption{{\it Basic trigonometric values, spanning two columns.}} + \centering + \begin{tabular}{|c|c|c|c|c|c|c|}\hline + $\mathrm{angle}\, (\theta, \mathrm{rad})$ & $\sin \theta$ & $\cos \theta $ & $(\sin \theta)/2 $ & $(\cos \theta) /2 $ & $(\sin \theta)/3 $ & $(\cos \theta)/3$ \\\hline + $\frac{\pi}{2}$ & $1$ & $0$ & $1/2$ & $0$ & $1/3$ & $0$ \\ + $\pi$ & $0$ & $-1$ & $0$ & $-1/2$ & $0$ & $-1/3$\\ + $\frac{3\pi}{2}$ & $-1$ & $0$ & $-1/2$ & $0$ & $-1/3$ & $0$ \\ + $2\pi$ & $0$ & $1$ & $0$ & $1/2$ & $0$ & $1/3$ \\\hline + \end{tabular} + % + \label{tab:example2} +\end{table*} + +\subsection{Equations} + +Equations should be placed on separate lines and numbered: + +\begin{equation} + y(n)=b_0x(n)-a_1y(n-1) + \label{eq1} + \end{equation} + where equation (\ref{eq1}) is a one pole filter with frequency response: + \begin{equation} + H(e^{j \omega T}) = \frac{b_0}{1+a_1e^{-j \omega T}} + \label{eq2} +\end{equation} + +\subsection{Code} + +Code can be listed in a block: + +\begin{lstlisting} + process = _; +\end{lstlisting} +\noindent +or directly in-lined in the body of the text: \lstinline{process = 1;}. + +\subsection{Page Numbers} + +Page numbers will be added to the document in the post-processing stage, so +{\em please leave the numbering as is}. + +\subsection{Reviewing} + +Submissions should not be anonymous for reviewing. + +\subsection{References} + +The references will be numbered in order of appearance \cite{Orlarey2009}, +\cite{Smith2012}, \cite{Graef2012} and \cite{Michon2011}. Please avoid listing +references that do not appear in the text. + +\subsubsection{Reference Format} + +The reference format is the standard IEEE one. We recommend to use BibTeX to +create the reference list. + +\section{Conclusions} + +This template can be found on the conference website. For changing the number +of author affiliations (1 to 4), uncomment the corresponding regions in the +template \texttt{tex} file. Please, submit full-length papers (2 to 14 pages). +Submission is fully electronic and automated through the Conference Web +Submission System. DO NOT send us papers directly by e-mail. + +\section{Acknowledgments} + +Many thanks to the great number of anonymous reviewers! + +%\newpage +\nocite{*} +\bibliographystyle{IEEEbib} +\bibliography{IFC-24} % requires file IFC-24.bib + +\section{Appendix: Margin Check} + +This section shows the column margins for the text. \bigskip\newline + +Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor +incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis +nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. +Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat +nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa +qui officia deserunt mollit anim id est laborum. + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan +et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis +dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore +magna aliquam erat volutpat. + +Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit +lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure +dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore +eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui +blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla +facilisi. + +Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming +id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, +consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut +laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis +nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea +commodo consequat. + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis. + +At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd +gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum +dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor +invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero +eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no +sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit +amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores +duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet +clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero +voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, +consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore +et dolore magna aliquyam erat. + +Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore +et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et +justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata +sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore +magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo +dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est +Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing +elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam +erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea +rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor +sit amet. + +Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor +incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis +nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. +Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat +nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa +qui officia deserunt mollit anim id est laborum. + + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan +et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis +dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore +magna aliquam erat volutpat. + +Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit +lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure +dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore +eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui +blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla +facilisi. + +Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming +id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, +consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut +laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis +nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea +commodo consequat. + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis. + +At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd +gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum +dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor +invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero +eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no +sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, +consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo +eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea +et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. +est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore +magna aliquyam erat. + +Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore +et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et +justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata +sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore +magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo +dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est +Lorem ipsum dolor sit amet. + +\end{document} diff --git a/src/TwoColumnSine2.eps b/src/TwoColumnSine2.eps new file mode 100644 index 0000000..45a310f --- /dev/null +++ b/src/TwoColumnSine2.eps @@ -0,0 +1,1652 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: MATLAB, The Mathworks, Inc. Version 7.3.0.298 (R2006b). Operating System: Linux 2.6.23.9-85.fc8 #1 SMP Fri Dec 7 15:49:59 EST 2007 i686. +%%Title: /home/jykke/labra/DAFX/DAFx08Templates/Tmpl_LaTeX/TwoColumnSine2.eps +%%CreationDate: 01/29/2008 17:14:15 +%%DocumentNeededFonts: Times-Roman +%%+ Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 3 257 607 534 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup string + currentfile + 3 index 0 eq {/ASCIIHexDecode filter} + {/ASCII85Decode filter 3 index 2 eq {/RunLengthDecode filter} if } + ifelse exch readstring pop + /bmap xdef pop pop} bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + {bmap} image gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 3 257 607 534 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 12 def +portraitMode 0036 6408 csm + + 0 0 7258 3321 rc +85 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 7259 3322 rf +6 w +0 2707 5624 0 0 -2707 944 2956 4 MP +PP +-5624 0 0 2707 5624 0 0 -2707 944 2956 5 MP stroke +4 w +DO +SO +6 w +0 sg + 944 2956 mt 6568 2956 L + 944 249 mt 6568 249 L + 944 2956 mt 944 249 L +6568 2956 mt 6568 249 L + 944 2956 mt 6568 2956 L + 944 2956 mt 944 249 L + 944 2956 mt 944 2899 L + 944 249 mt 944 305 L +%%IncludeResource: font Times-Roman +/Times-Roman /ISOLatin1Encoding 144 FMSR + + 908 3119 mt +(0) s +1506 2956 mt 1506 2899 L +1506 249 mt 1506 305 L +1416 3119 mt +(0.1) s +2068 2956 mt 2068 2899 L +2068 249 mt 2068 305 L +1978 3119 mt +(0.2) s +2631 2956 mt 2631 2899 L +2631 249 mt 2631 305 L +2541 3119 mt +(0.3) s +3193 2956 mt 3193 2899 L +3193 249 mt 3193 305 L +3103 3119 mt +(0.4) s +3756 2956 mt 3756 2899 L +3756 249 mt 3756 305 L +3666 3119 mt +(0.5) s +4318 2956 mt 4318 2899 L +4318 249 mt 4318 305 L +4228 3119 mt +(0.6) s +4880 2956 mt 4880 2899 L +4880 249 mt 4880 305 L +4790 3119 mt +(0.7) s +5443 2956 mt 5443 2899 L +5443 249 mt 5443 305 L +5353 3119 mt +(0.8) s +6005 2956 mt 6005 2899 L +6005 249 mt 6005 305 L +5915 3119 mt +(0.9) s +6568 2956 mt 6568 2899 L +6568 249 mt 6568 305 L +6532 3119 mt +(1) s + 944 2956 mt 1000 2956 L +6568 2956 mt 6511 2956 L + 756 3007 mt +(-1) s + 944 2279 mt 1000 2279 L +6568 2279 mt 6511 2279 L + 648 2330 mt +(-0.5) s + 944 1602 mt 1000 1602 L +6568 1602 mt 6511 1602 L + 837 1653 mt +(0) s + 944 925 mt 1000 925 L +6568 925 mt 6511 925 L + 729 976 mt +(0.5) s + 944 249 mt 1000 249 L +6568 249 mt 6511 249 L + 837 300 mt +(1) s + 944 2956 mt 6568 2956 L + 944 249 mt 6568 249 L + 944 2956 mt 944 249 L +6568 2956 mt 6568 249 L +gs 944 249 5625 2708 rc +0 -12 1 -1 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -14 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -14 1 -1 0 -14 1 -1 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -13 1 -1 0 -13 1 -2 0 -12 1 -2 0 -13 1 -1 +0 -13 1 -1 0 -11 1 -2 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -2 +0 -10 1 -2 0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -12 1 -1 0 -10 1 -2 0 -11 1 -2 +0 -11 1 -1 0 -12 1 -1 0 -11 1 -2 0 -11 1 -1 +0 -10 1 -1 0 -11 1 -2 0 -10 1 -2 0 -11 1 -1 +0 -11 1 -1 0 -11 1 -1 0 -10 1 -2 0 -9 1 -1 +0 -10 1 -2 0 -10 1 -1 0 -10 1 -2 0 -9 1 -2 +0 -10 1 -1 0 -8 1 -2 0 -9 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -9 1 -1 0 -10 1 -1 0 -8 1 -1 +0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -8 1 -2 +0 -8 1 -1 0 -7 1 -1 0 -9 1 -1 0 -8 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -4 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 1 -1 +0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 +0 -5 1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 +0 -4 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -4 1 -1 0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -1 1 -1 0 -2 2 -2 +0 -2 2 -2 1 -1 0 -1 2 -2 1 -1 1 -1 1 0 +1 -1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 +1 1 1 1 1 1 1 1 0 2 2 2 1 1 0 2 +2 2 0 3 2 2 0 2 1 1 0 2 1 1 0 2 +1 1 0 2 1 1 0 2 1 1 0 3 1 1 0 3 +1 1 0 2 1 1 6403 2910 300 MP stroke +0 3 1 1 0 3 1 1 0 4 1 1 0 3 1 1 +0 4 1 1 0 4 1 1 0 3 1 1 0 4 1 1 +0 5 1 1 0 4 1 1 0 5 1 1 0 5 1 1 +0 4 1 1 0 5 1 1 0 6 1 1 0 5 1 1 +0 6 1 1 0 6 1 1 0 5 1 1 0 6 1 1 +0 6 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 8 1 1 0 8 1 1 0 6 1 2 +0 7 1 2 0 8 1 1 0 8 1 1 0 8 1 1 +0 9 1 1 0 7 1 1 0 9 1 1 0 9 1 1 +0 9 1 1 0 9 1 2 0 9 1 1 0 9 1 1 +0 8 1 2 0 9 1 1 0 10 1 1 0 10 1 1 +0 10 1 1 0 10 1 2 0 8 1 1 0 10 1 2 +0 10 1 1 0 11 1 1 0 10 1 2 0 10 1 2 +0 9 1 1 0 11 1 1 0 11 1 2 0 10 1 2 +0 11 1 1 0 11 1 2 0 9 1 2 0 11 1 2 +0 11 1 2 0 11 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 10 1 1 0 12 1 2 0 12 1 1 +0 12 1 2 0 12 1 1 0 12 1 2 0 10 1 2 +0 12 1 2 0 12 1 2 0 12 1 2 0 12 1 2 +0 12 1 2 0 11 1 2 0 12 1 2 0 12 1 2 +0 13 1 2 0 12 1 2 0 13 1 2 0 12 1 2 +0 11 1 2 0 13 1 2 0 13 1 1 0 13 1 2 +0 13 1 2 0 13 1 2 0 11 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 14 1 1 0 14 1 2 0 13 1 2 0 12 1 1 +0 14 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 12 1 2 0 13 1 2 0 14 1 2 +0 13 1 2 0 14 1 2 0 13 1 2 0 12 1 1 +0 14 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 14 1 1 0 14 1 2 0 11 1 2 0 14 1 2 +0 13 1 2 0 13 1 2 0 14 1 1 0 14 1 2 +0 11 1 2 0 13 1 2 0 13 1 2 0 14 1 1 +0 14 1 1 0 14 1 2 0 11 1 2 0 13 1 2 +0 13 1 2 0 13 1 1 0 13 1 2 0 13 1 2 +0 11 1 2 0 13 1 1 0 13 1 2 0 13 1 2 +0 12 1 2 0 13 6254 1119 300 MP stroke +1 2 0 12 1 2 0 11 1 1 0 13 1 2 0 12 +1 2 0 12 1 2 0 12 1 2 0 12 1 2 0 10 +1 2 0 12 1 2 0 12 1 2 0 12 1 1 0 12 +1 2 0 12 1 2 0 10 1 1 0 12 1 2 0 11 +1 2 0 11 1 2 0 11 1 2 0 11 1 2 0 11 +1 2 0 9 1 2 0 11 1 2 0 11 1 1 0 11 +1 2 0 11 1 1 0 11 1 1 0 10 1 1 0 11 +1 1 0 11 1 1 0 10 1 2 0 10 1 2 0 10 +1 1 0 9 1 1 0 10 1 2 0 10 1 1 0 10 +1 1 0 10 1 1 0 10 1 1 0 10 1 1 0 8 +1 1 0 10 1 1 0 9 1 1 0 9 1 2 0 8 +1 2 0 8 1 2 0 7 1 1 0 9 1 1 0 9 +1 1 0 8 1 1 0 9 1 1 0 8 1 1 0 7 +1 1 0 8 1 1 0 7 1 2 0 7 1 1 0 8 +1 1 0 7 1 1 0 6 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 5 1 1 0 6 1 1 0 6 1 1 0 6 +1 1 0 5 1 1 0 6 1 1 0 4 1 1 0 5 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 4 1 1 0 4 1 1 0 4 1 1 0 3 +1 1 0 4 1 1 0 4 1 1 0 3 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 2 +1 1 0 3 1 1 0 1 1 1 0 2 1 1 0 2 +1 1 0 3 2 2 0 2 1 1 0 1 1 1 1 1 +0 2 2 2 0 1 2 2 1 1 1 0 1 1 1 1 +1 0 1 0 1 0 1 0 1 0 1 0 1 -1 1 -1 +1 -1 1 -1 0 -1 2 -2 1 -1 0 -2 2 -2 0 -2 +2 -2 0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -5 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -8 1 -1 0 -8 +1 -1 0 -7 1 -1 6090 497 300 MP stroke +0 -8 1 -1 0 -8 1 -2 0 -6 1 -2 0 -8 1 -1 +0 -8 1 -2 0 -8 1 -1 0 -9 1 -1 0 -9 1 -1 +0 -8 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -2 +0 -9 1 -1 0 -10 1 -1 0 -8 1 -2 0 -9 1 -1 +0 -10 1 -2 0 -9 1 -2 0 -10 1 -1 0 -10 1 -1 +0 -11 1 -1 0 -9 1 -1 0 -11 1 -1 0 -10 1 -2 +0 -10 1 -2 0 -10 1 -2 0 -11 1 -1 0 -9 1 -2 +0 -11 1 -1 0 -11 1 -2 0 -11 1 -1 0 -12 1 -1 +0 -11 1 -2 0 -10 1 -1 0 -12 1 -1 0 -12 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 +0 -10 1 -1 0 -12 1 -2 0 -12 1 -2 0 -12 1 -1 +0 -13 1 -1 0 -12 1 -2 0 -11 1 -1 0 -13 1 -1 +0 -13 1 -2 0 -12 1 -2 0 -12 1 -2 0 -13 1 -1 +0 -11 1 -2 0 -13 1 -1 0 -13 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 0 -14 1 -1 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -12 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -13 1 -1 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -13 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 1 -2 +0 -12 1 -2 0 -11 1 -1 0 -13 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -1 0 -13 1 -1 0 -12 1 -2 +0 -10 1 -2 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 +0 -11 1 -2 0 -12 1 -1 0 -10 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 0 -12 1 -1 +0 -10 1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 1 -1 +0 -11 1 -2 0 -10 1 -2 0 -10 1 -2 0 -9 1 -1 +0 -10 1 -2 0 -10 5941 2494 300 MP stroke +1 -1 0 -11 1 -1 0 -10 1 -1 0 -10 1 -2 0 -8 +1 -1 0 -10 1 -2 0 -9 1 -1 0 -10 1 -1 0 -10 +1 -1 0 -9 1 -2 0 -7 1 -2 0 -9 1 -1 0 -9 +1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -8 +1 -2 0 -7 1 -1 0 -8 1 -1 0 -8 1 -2 0 -8 +1 -1 0 -8 1 -1 0 -7 1 -1 0 -7 1 -1 0 -8 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -6 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 +2 -2 0 -2 1 -1 0 -2 2 -2 0 -2 2 -2 0 -1 +2 -2 1 -1 1 -1 1 -1 1 -1 1 -1 1 0 1 0 +1 0 1 0 1 0 1 0 1 1 1 1 1 0 -1 0 +2 2 1 1 1 1 0 2 2 2 1 1 0 2 1 1 +0 2 2 2 0 2 1 1 0 2 1 1 0 2 1 1 +0 2 1 1 0 2 1 1 0 3 1 1 0 2 1 1 +0 3 1 1 0 3 1 1 0 3 1 1 0 3 1 1 +0 3 1 1 0 4 1 1 0 3 1 1 0 4 1 1 +0 4 1 1 0 5 1 1 0 4 1 1 0 5 1 1 +0 4 1 1 0 5 1 1 0 5 1 1 0 5 1 1 +0 6 1 1 0 5 1 1 0 5 1 1 0 6 1 1 +0 6 1 1 0 6 1 1 0 7 1 1 0 6 1 1 +0 7 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 7 1 1 0 8 1 1 0 6 1 1 +0 8 1 1 0 8 1 1 0 8 1 1 0 8 1 1 +0 9 1 1 0 7 1 1 0 9 1 1 0 8 1 2 +0 8 1 2 0 8 1 2 0 8 1 2 0 9 1 1 +0 8 1 1 0 9 1 2 0 9 1 1 0 10 1 1 +0 10 1 1 0 10 1 1 0 9 1 1 0 10 1 1 +0 10 1 2 0 10 1 1 0 10 1 2 0 10 1 2 +0 8 1 2 0 10 1 2 0 10 1 2 0 11 1 1 +0 11 1 1 0 11 1 2 0 11 1 1 0 10 1 1 +0 11 1 2 0 11 5777 2355 300 MP stroke +1 2 0 11 1 2 0 11 1 2 0 11 1 2 0 10 +1 1 0 12 1 1 0 12 1 2 0 11 1 2 0 12 +1 2 0 12 1 1 0 11 1 1 0 12 1 2 0 12 +1 2 0 12 1 2 0 12 1 2 0 12 1 2 0 12 +1 2 0 10 1 2 0 13 1 2 0 12 1 2 0 12 +1 2 0 13 1 2 0 12 1 2 0 11 1 2 0 13 +1 2 0 12 1 2 0 13 1 2 0 13 1 2 0 13 +1 1 0 12 1 1 0 14 1 1 0 13 1 2 0 13 +1 2 0 14 1 1 0 14 1 1 0 12 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 14 1 1 0 14 +1 2 0 13 1 2 0 11 1 2 0 14 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 13 1 2 0 12 +1 2 0 13 1 2 0 14 1 2 0 13 1 2 0 13 +1 2 0 14 1 2 0 11 1 2 0 14 1 2 0 13 +1 2 0 14 1 2 0 13 1 2 0 13 1 2 0 14 +1 2 0 11 1 2 0 14 1 2 0 13 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 11 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 13 1 2 0 13 +1 2 0 11 1 2 0 13 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 13 1 1 0 11 +1 2 0 13 1 2 0 13 1 2 0 12 1 2 0 13 +1 2 0 12 1 2 0 11 1 2 0 12 1 2 0 13 +1 1 0 13 1 2 0 12 1 2 0 12 1 2 0 10 +1 2 0 12 1 2 0 12 1 2 0 12 1 2 0 12 +1 1 0 12 1 2 0 10 1 2 0 12 1 1 0 12 +1 2 0 11 1 2 0 11 1 2 0 12 1 1 0 12 +1 1 0 10 1 1 0 12 1 1 0 11 1 2 0 11 +1 2 0 11 1 1 0 11 1 2 0 9 1 1 0 11 +1 2 0 10 1 2 0 10 1 2 0 10 1 2 0 10 +1 1 0 9 1 2 0 10 1 1 0 10 1 2 0 9 +1 2 0 10 1 1 0 10 1 1 0 10 1 1 0 8 +1 2 0 9 1 1 0 10 1 1 0 9 1 1 0 9 +1 2 0 9 1 1 0 7 1 2 0 8 1 2 0 8 +1 2 0 8 1 1 0 9 1 1 0 8 1 1 0 7 +1 1 0 8 1 1 0 8 1 1 0 8 1 1 0 8 +1 1 0 8 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 7 1 1 0 6 +1 1 0 6 1 1 5627 411 300 MP stroke +0 6 1 1 0 6 1 1 0 6 1 1 0 6 1 1 +0 6 1 1 0 4 1 1 0 6 1 1 0 5 1 1 +0 5 1 1 0 5 1 1 0 4 1 1 0 5 1 1 +0 4 1 1 0 4 1 1 0 4 1 1 0 4 1 1 +0 3 1 1 0 4 1 1 0 3 1 1 0 3 1 1 +0 3 1 1 0 3 1 1 0 3 1 1 0 2 1 1 +0 2 1 1 0 2 1 1 0 2 1 1 0 2 1 1 +0 3 2 2 0 2 1 1 0 1 1 1 0 2 2 2 +0 1 2 2 1 1 1 1 1 1 1 1 1 1 1 0 +1 0 1 0 1 0 1 0 1 0 1 -1 1 0 1 -1 +0 -1 2 -2 0 -1 2 -2 0 -1 2 -2 0 -2 2 -2 +0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 +0 -4 1 -1 0 -3 1 -1 0 -5 1 -1 0 -4 1 -1 +0 -5 1 -1 0 -5 1 -1 0 -5 1 -1 0 -5 1 -1 +0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 1 -1 +0 -6 1 -1 0 -5 1 -1 0 -7 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 +0 -6 1 -1 0 -7 1 -1 0 -8 1 -1 0 -7 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 1 -1 +0 -8 1 -2 0 -8 1 -1 0 -8 1 -2 0 -8 1 -1 +0 -8 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 +0 -10 1 -1 0 -9 1 -1 0 -8 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -10 1 -1 0 -10 1 -2 0 -9 1 -2 +0 -10 1 -1 0 -9 1 -1 0 -10 1 -2 0 -10 1 -2 +0 -10 1 -1 0 -11 1 -1 0 -11 1 -1 0 -10 1 -1 +0 -11 1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 1 -2 +0 -11 1 -1 0 -10 1 -2 0 -11 1 -1 0 -12 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -11 1 -2 +0 -10 1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -1 0 -12 1 -2 0 -10 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -13 1 -1 0 -13 1 -1 0 -13 1 -2 +0 -10 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -1 0 -12 5464 1287 300 MP stroke +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -12 1 -1 0 -14 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 1 -2 0 -11 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 +1 -2 0 -12 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -11 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -1 0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 0 -12 +1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 +1 -2 0 -10 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 +1 -1 0 -13 1 -1 0 -12 1 -2 0 -10 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 0 -11 +1 -2 0 -10 1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 +1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 0 -10 +1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 1 -2 0 -10 +1 -2 0 -11 1 -1 0 -9 1 -2 0 -10 1 -2 0 -10 +1 -1 0 -11 1 -1 0 -10 1 -2 0 -10 1 -1 0 -9 +1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 +1 -1 0 -10 1 -1 0 -8 1 -1 0 -9 1 -2 0 -9 +1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -9 1 -1 0 -8 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 +1 -1 0 -7 1 -1 0 -8 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -5 1 -1 0 -6 1 -1 0 -6 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -2 1 -1 0 -3 +1 -1 0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 +2 -2 0 -2 1 -1 5313 2945 300 MP stroke +0 -1 2 -2 0 -1 2 -2 1 -1 1 -1 1 -1 1 0 +1 -1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 +1 1 1 1 0 1 2 2 1 1 0 2 2 2 0 1 +1 1 0 2 2 2 0 2 1 1 0 1 1 1 0 2 +1 1 0 2 1 1 0 3 1 1 0 2 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 3 +1 1 0 4 1 1 0 3 1 1 0 4 1 1 0 3 +1 1 0 5 1 1 0 4 1 1 0 4 1 1 0 4 +1 1 0 5 1 1 0 5 1 1 0 5 1 1 0 5 +1 1 0 5 1 1 0 6 1 1 0 5 1 1 0 5 +1 1 0 6 1 1 0 7 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 7 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 2 0 7 +1 1 0 8 1 1 0 8 1 1 0 8 1 1 0 8 +1 1 0 8 1 1 0 7 1 2 0 8 1 1 0 9 +1 1 0 9 1 1 0 9 1 1 0 9 1 1 0 8 +1 1 0 9 1 1 0 9 1 2 0 9 1 1 0 10 +1 1 0 10 1 1 0 8 1 2 0 9 1 2 0 10 +1 1 0 10 1 1 0 10 1 2 0 10 1 1 0 9 +1 2 0 10 1 1 0 11 1 1 0 11 1 1 0 11 +1 2 0 10 1 2 0 11 1 1 0 9 1 2 0 11 +1 2 0 11 1 1 0 11 1 2 0 11 1 2 0 11 +1 2 0 9 1 2 0 12 1 1 0 12 1 1 0 12 +1 2 0 11 1 2 0 12 1 2 0 10 1 1 0 12 +1 2 0 12 1 2 0 12 1 2 0 12 1 1 0 13 +1 1 0 13 1 1 0 11 1 2 0 12 1 2 0 12 +1 2 0 13 1 1 0 13 1 2 0 12 1 2 0 11 +1 2 0 13 1 1 0 13 1 2 0 13 1 2 0 13 +1 1 0 13 1 2 0 11 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 13 1 2 0 13 +1 2 0 11 1 2 0 13 1 2 0 13 1 2 0 14 +1 2 0 13 1 2 0 13 1 2 0 11 1 2 0 14 +1 2 0 13 1 2 0 13 1 2 0 14 1 2 0 13 +1 2 0 12 1 2 0 13 1 2 0 13 1 2 0 14 +1 2 0 13 1 2 0 14 1 2 0 13 1 2 0 12 +1 1 0 14 1 2 0 13 1 2 0 14 1 2 0 13 +1 2 0 14 1 2 0 11 1 2 0 13 1 2 0 14 +1 2 0 13 1 2 5151 1452 300 MP stroke +0 14 1 1 0 14 1 2 0 11 1 2 0 13 1 2 +0 14 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 11 1 2 0 13 1 2 0 14 1 1 0 14 1 1 +0 13 1 2 0 13 1 2 0 13 1 2 0 11 1 2 +0 13 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 12 1 2 0 11 1 2 0 13 1 1 0 13 1 2 +0 12 1 2 0 13 1 1 0 13 1 1 0 11 1 2 +0 12 1 2 0 12 1 2 0 12 1 2 0 12 1 1 +0 12 1 2 0 12 1 2 0 10 1 2 0 12 1 1 +0 12 1 2 0 11 1 2 0 11 1 2 0 12 1 1 +0 10 1 2 0 11 1 2 0 11 1 1 0 12 1 1 +0 11 1 2 0 11 1 1 0 10 1 1 0 11 1 2 +0 10 1 2 0 11 1 1 0 11 1 1 0 11 1 1 +0 10 1 2 0 9 1 1 0 10 1 2 0 10 1 1 +0 10 1 2 0 9 1 2 0 10 1 1 0 8 1 2 +0 9 1 2 0 9 1 1 0 10 1 1 0 9 1 1 +0 10 1 1 0 8 1 1 0 9 1 1 0 9 1 1 +0 9 1 1 0 8 1 2 0 8 1 1 0 7 1 1 +0 9 1 1 0 8 1 1 0 8 1 1 0 8 1 1 +0 8 1 1 0 7 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 7 1 1 0 7 1 1 0 7 1 1 +0 6 1 1 0 6 1 1 0 7 1 1 0 6 1 1 +0 6 1 1 0 6 1 1 0 4 1 1 0 6 1 1 +0 5 1 1 0 6 1 1 0 5 1 1 0 4 1 1 +0 5 1 1 0 4 1 1 0 5 1 1 0 4 1 1 +0 4 1 1 0 4 1 1 0 4 1 1 0 3 1 1 +0 3 1 1 0 3 1 1 0 4 1 1 0 2 1 1 +0 3 1 1 0 2 1 1 0 3 1 1 0 2 1 1 +0 2 1 1 0 2 1 1 0 2 1 1 0 2 1 1 +0 1 1 1 0 2 2 2 0 2 2 2 1 1 0 1 +2 2 1 1 1 1 1 0 1 1 1 0 1 0 1 0 +1 0 1 0 1 0 1 -1 1 -1 1 -1 1 -1 1 -1 +0 -2 2 -2 1 -1 0 -2 2 -2 0 -3 2 -2 0 -2 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -3 1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -5 +1 -1 0 -4 1 -1 4987 341 300 MP stroke +0 -5 1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 +0 -6 1 -1 0 -5 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -5 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -8 1 -1 +0 -8 1 -1 0 -6 1 -2 0 -7 1 -2 0 -8 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -9 1 -1 0 -7 1 -1 +0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -2 +0 -9 1 -1 0 -9 1 -1 0 -8 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 1 -2 +0 -8 1 -1 0 -10 1 -2 0 -10 1 -1 0 -11 1 -1 +0 -10 1 -2 0 -10 1 -2 0 -9 1 -1 0 -11 1 -1 +0 -11 1 -2 0 -10 1 -2 0 -11 1 -1 0 -11 1 -2 +0 -9 1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -10 1 -1 +0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -1 +0 -12 1 -2 0 -10 1 -2 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 +0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -13 1 -1 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 1 -2 +0 -13 1 -2 0 -12 1 -1 0 -14 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 +0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -12 1 -1 0 -14 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 1 -2 +0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -14 1 -1 0 -14 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -14 1 -1 0 -14 1 -1 0 -14 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -1 +0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 1 -1 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -11 1 -1 0 -13 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 0 -10 1 -2 +0 -12 1 -2 0 -12 4838 2222 300 MP stroke +1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -2 0 -10 +1 -1 0 -12 1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 +1 -2 0 -11 1 -2 0 -11 1 -2 0 -9 1 -2 0 -11 +1 -2 0 -11 1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 +1 -1 0 -10 1 -1 0 -11 1 -1 0 -11 1 -1 0 -10 +1 -2 0 -10 1 -2 0 -10 1 -1 0 -9 1 -1 0 -10 +1 -2 0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 +1 -1 0 -10 1 -1 0 -8 1 -1 0 -10 1 -1 0 -9 +1 -1 0 -9 1 -2 0 -8 1 -2 0 -8 1 -2 0 -7 +1 -1 0 -9 1 -1 0 -9 1 -1 0 -8 1 -1 0 -9 +1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 1 -1 0 -7 +1 -2 0 -7 1 -1 0 -8 1 -1 0 -7 1 -1 0 -6 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -1 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 2 -2 0 -2 +1 -1 0 -1 1 -1 1 -1 0 -2 2 -2 0 -1 2 -2 +1 -1 1 0 1 -1 1 -1 1 0 1 0 1 0 1 0 +1 0 1 0 1 1 1 1 1 1 1 1 0 1 2 2 +1 1 0 2 2 2 0 2 2 2 0 2 1 1 0 1 +1 1 0 2 1 1 0 2 1 1 0 2 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 3 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 4 +1 1 0 4 1 1 0 4 1 1 0 4 1 1 0 3 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 6 1 1 0 5 1 1 0 5 1 1 0 5 +1 1 0 6 1 1 0 6 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 6 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 8 1 1 0 8 1 1 0 7 1 1 0 8 +1 1 0 8 1 2 0 6 1 2 0 8 1 1 0 8 +1 2 0 8 1 1 0 9 1 1 0 9 1 1 0 8 +1 1 0 9 1 1 4674 2613 300 MP stroke +0 9 1 1 0 9 1 2 0 9 1 1 0 10 1 1 +0 8 1 2 0 9 1 1 0 10 1 2 0 9 1 2 +0 10 1 1 0 10 1 1 0 11 1 1 0 9 1 1 +0 11 1 1 0 10 1 2 0 10 1 2 0 10 1 2 +0 11 1 1 0 9 1 2 0 11 1 1 0 11 1 2 +0 11 1 1 0 12 1 1 0 11 1 2 0 10 1 1 +0 12 1 1 0 12 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 12 1 2 0 10 1 1 0 12 1 2 +0 12 1 2 0 12 1 1 0 13 1 1 0 12 1 2 +0 11 1 1 0 13 1 1 0 13 1 2 0 12 1 2 +0 12 1 2 0 13 1 1 0 11 1 2 0 13 1 1 +0 13 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 11 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 11 1 2 +0 13 1 2 0 14 1 1 0 14 1 2 0 13 1 2 +0 13 1 2 0 11 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 2 0 13 1 2 0 11 1 2 +0 14 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 2 0 11 1 2 0 14 1 2 +0 13 1 2 0 14 1 2 0 13 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 2 0 11 1 2 0 13 1 2 +0 14 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 14 1 1 0 12 1 2 0 13 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 11 1 2 +0 13 1 1 0 13 1 2 0 13 1 2 0 13 1 2 +0 12 1 2 0 11 1 2 0 13 1 2 0 12 1 2 +0 13 1 1 0 13 1 2 0 12 1 2 0 11 1 1 +0 13 1 2 0 12 1 2 0 12 1 2 0 12 1 1 +0 13 1 1 0 12 1 2 0 10 1 2 0 12 1 2 +0 11 1 2 0 12 1 2 0 11 1 2 0 12 1 1 +0 10 1 2 0 11 1 2 0 11 1 2 0 11 1 2 +0 11 1 1 0 12 1 1 0 10 1 1 0 11 1 2 +0 11 1 1 0 11 1 1 0 11 1 2 0 10 1 2 +0 10 1 2 0 9 1 1 0 10 1 2 0 10 1 1 +0 11 1 1 0 10 1 1 0 10 1 2 0 8 1 1 +0 10 1 2 0 9 1 1 0 10 1 1 0 10 1 1 +0 9 1 2 0 7 4525 603 300 MP stroke +1 2 0 9 1 1 0 9 1 1 0 9 1 1 0 9 +1 1 0 9 1 1 0 8 1 2 0 7 1 1 0 8 +1 1 0 8 1 2 0 8 1 1 0 8 1 1 0 7 +1 1 0 7 1 1 0 8 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 6 1 1 0 7 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 5 1 1 0 5 1 1 0 6 +1 1 0 5 1 1 0 5 1 1 0 5 1 1 0 4 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 4 +1 1 0 4 1 1 0 3 1 1 0 4 1 1 0 3 +1 1 0 4 1 1 0 3 1 1 0 3 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 2 1 1 0 2 +1 1 0 2 1 1 0 3 2 2 0 2 1 1 0 2 +2 2 0 2 2 2 0 1 2 2 1 1 1 1 1 1 +1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 +1 -1 1 -1 1 0 -1 0 2 -2 1 -1 1 -1 0 -2 +2 -2 1 -1 0 -2 1 -1 0 -2 2 -2 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -4 1 -1 +0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -5 1 -1 +0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 +0 -5 1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 +0 -5 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -6 1 -1 0 -7 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 +0 -8 1 -1 0 -6 1 -1 0 -8 1 -1 0 -8 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -9 1 -1 0 -7 1 -1 +0 -9 1 -1 0 -8 1 -2 0 -8 1 -2 0 -8 1 -2 +0 -8 1 -2 0 -9 1 -1 0 -8 1 -1 0 -9 1 -2 +0 -9 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 +0 -9 1 -1 0 -10 1 -1 0 -10 1 -2 0 -10 1 -1 +0 -10 1 -2 0 -10 1 -2 0 -8 1 -2 0 -10 1 -2 +0 -10 1 -2 0 -11 1 -1 0 -11 1 -1 0 -11 1 -2 +0 -11 1 -1 0 -10 1 -1 0 -11 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -11 1 -2 0 -11 1 -2 0 -10 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 +0 -12 1 -1 0 -11 4361 979 300 MP stroke +1 -1 0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -12 1 -2 0 -10 1 -2 0 -13 +1 -2 0 -12 1 -2 0 -12 1 -2 0 -13 1 -2 0 -12 +1 -2 0 -11 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -1 0 -12 1 -1 0 -14 +1 -1 0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -1 0 -12 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -14 1 -1 0 -14 1 -2 0 -13 1 -2 0 -11 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -11 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -1 0 -11 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 +1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -10 1 -2 0 -12 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 0 -10 +1 -2 0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -11 +1 -2 0 -12 1 -1 0 -12 1 -1 0 -10 1 -1 0 -12 +1 -1 0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 0 -11 +1 -2 0 -9 1 -1 0 -11 1 -2 0 -10 1 -2 0 -10 +1 -2 0 -10 1 -2 0 -10 1 -1 0 -9 1 -2 0 -10 +1 -1 0 -10 1 -2 0 -9 1 -2 0 -10 1 -1 0 -10 +1 -1 0 -10 1 -1 0 -8 1 -2 0 -9 1 -1 0 -10 +1 -1 0 -9 1 -1 0 -9 1 -2 0 -9 1 -1 0 -7 +1 -2 0 -8 1 -2 0 -8 1 -2 0 -8 1 -1 0 -9 +1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 1 -1 0 -8 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -7 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -4 1 -1 0 -6 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -5 1 -1 4211 2858 300 MP stroke +0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -4 1 -1 +0 -4 1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 +0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -3 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -3 2 -2 0 -2 1 -1 +0 -1 1 -1 0 -2 2 -2 0 -1 2 -2 1 -1 1 -1 +1 -1 1 -1 1 -1 1 0 1 0 1 0 1 0 1 0 +1 0 1 1 1 0 1 1 0 1 2 2 0 1 2 2 +0 1 2 2 0 2 2 2 0 2 1 1 0 1 1 1 +0 2 1 1 0 2 1 1 0 2 1 1 0 2 1 1 +0 3 1 1 0 2 1 1 0 3 1 1 0 3 1 1 +0 3 1 1 0 3 1 1 0 3 1 1 0 4 1 1 +0 4 1 1 0 4 1 1 0 4 1 1 0 3 1 1 +0 5 1 1 0 4 1 1 0 5 1 1 0 5 1 1 +0 5 1 1 0 5 1 1 0 5 1 1 0 6 1 1 +0 5 1 1 0 6 1 1 0 6 1 1 0 5 1 1 +0 7 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 7 1 1 0 6 1 1 0 7 1 1 +0 8 1 1 0 7 1 1 0 8 1 1 0 8 1 1 +0 7 1 1 0 8 1 1 0 8 1 2 0 8 1 1 +0 8 1 2 0 8 1 1 0 8 1 1 0 9 1 1 +0 9 1 1 0 9 1 1 0 10 1 1 0 9 1 1 +0 8 1 2 0 9 1 1 0 10 1 1 0 10 1 1 +0 10 1 2 0 9 1 2 0 10 1 1 0 9 1 1 +0 10 1 2 0 10 1 2 0 10 1 1 0 11 1 1 +0 11 1 1 0 10 1 1 0 11 1 1 0 11 1 2 +0 11 1 1 0 11 1 2 0 11 1 1 0 10 1 2 +0 11 1 1 0 12 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 11 1 2 0 10 1 2 0 12 1 1 +0 12 1 2 0 12 1 2 0 12 1 1 0 12 1 2 +0 10 1 2 0 12 1 2 0 12 1 2 0 13 1 1 +0 13 1 1 0 13 1 2 0 10 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 12 1 2 0 11 1 2 0 13 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 1 0 12 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 13 1 2 0 12 1 1 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 4048 1767 300 MP stroke +1 1 0 14 1 2 0 11 1 2 0 14 1 2 0 13 +1 2 0 13 1 2 0 14 1 2 0 13 1 2 0 14 +1 2 0 11 1 2 0 14 1 2 0 13 1 2 0 13 +1 2 0 14 1 2 0 13 1 2 0 12 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 13 1 2 0 14 +1 2 0 11 1 2 0 13 1 2 0 14 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 14 1 2 0 11 +1 2 0 13 1 2 0 13 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 11 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 13 1 1 0 13 1 2 0 11 +1 2 0 13 1 2 0 12 1 2 0 13 1 2 0 12 +1 2 0 13 1 1 0 13 1 2 0 10 1 2 0 12 +1 2 0 13 1 1 0 13 1 1 0 13 1 1 0 12 +1 2 0 10 1 2 0 12 1 2 0 12 1 2 0 11 +1 2 0 12 1 2 0 11 1 2 0 10 1 2 0 11 +1 2 0 11 1 2 0 11 1 2 0 11 1 2 0 11 +1 2 0 11 1 1 0 10 1 1 0 11 1 2 0 11 +1 1 0 11 1 2 0 10 1 2 0 11 1 1 0 9 +1 2 0 10 1 2 0 10 1 1 0 11 1 1 0 10 +1 2 0 10 1 1 0 9 1 1 0 10 1 1 0 10 +1 1 0 10 1 1 0 10 1 1 0 10 1 1 0 8 +1 1 0 9 1 2 0 9 1 1 0 9 1 1 0 9 +1 1 0 9 1 1 0 9 1 1 0 8 1 1 0 8 +1 1 0 9 1 1 0 8 1 1 0 8 1 1 0 8 +1 1 0 7 1 1 0 8 1 1 0 7 1 1 0 8 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 6 1 1 0 5 1 1 0 6 +1 1 0 6 1 1 0 5 1 1 0 5 1 1 0 4 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 4 1 1 0 4 1 1 0 3 1 1 0 4 +1 1 0 4 1 1 0 3 1 1 0 3 1 1 0 4 +1 1 0 2 1 1 0 3 1 1 0 2 1 1 0 3 +1 1 0 2 1 1 0 2 1 1 0 2 1 1 0 1 +1 1 0 2 1 1 0 2 2 2 0 2 1 1 0 1 +2 2 0 1 2 2 1 1 1 1 1 1 1 0 1 1 +1 0 1 0 1 0 1 0 1 0 1 -1 1 0 1 -1 +1 -1 0 -1 2 -2 3887 255 300 MP stroke +1 -1 0 -2 2 -2 0 -1 1 -1 0 -2 2 -2 0 -2 +1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -3 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -5 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -5 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -5 1 -1 0 -5 1 -1 0 -6 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -7 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -2 0 -7 1 -1 0 -8 1 -1 0 -8 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 +1 -2 0 -8 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 +1 -1 0 -9 1 -1 0 -8 1 -1 0 -9 1 -1 0 -9 +1 -2 0 -9 1 -1 0 -10 1 -1 0 -10 1 -1 0 -8 +1 -2 0 -9 1 -2 0 -10 1 -1 0 -10 1 -1 0 -10 +1 -2 0 -10 1 -1 0 -9 1 -2 0 -10 1 -1 0 -11 +1 -1 0 -11 1 -1 0 -11 1 -2 0 -10 1 -2 0 -11 +1 -1 0 -9 1 -2 0 -11 1 -2 0 -11 1 -1 0 -11 +1 -2 0 -11 1 -2 0 -11 1 -2 0 -9 1 -2 0 -12 +1 -1 0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -12 +1 -2 0 -10 1 -1 0 -12 1 -2 0 -12 1 -2 0 -12 +1 -2 0 -12 1 -1 0 -13 1 -1 0 -13 1 -1 0 -11 +1 -2 0 -12 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 +1 -2 0 -12 1 -2 0 -11 1 -2 0 -13 1 -1 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -1 0 -13 1 -2 0 -11 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -12 1 -1 0 -14 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 +1 -1 0 -14 1 -2 0 -11 1 -2 0 -13 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 +1 -2 0 -13 1 -2 3735 1900 300 MP stroke +0 -14 1 -1 0 -14 1 -1 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -13 1 -1 0 -13 1 -2 0 -12 1 -2 0 -13 1 -1 +0 -13 1 -1 0 -11 1 -2 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -2 +0 -10 1 -2 0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -12 1 -1 0 -10 1 -2 0 -11 1 -2 +0 -11 1 -1 0 -12 1 -1 0 -11 1 -2 0 -11 1 -1 +0 -10 1 -1 0 -11 1 -2 0 -10 1 -2 0 -11 1 -1 +0 -11 1 -1 0 -11 1 -1 0 -10 1 -2 0 -9 1 -1 +0 -10 1 -2 0 -10 1 -1 0 -10 1 -2 0 -9 1 -2 +0 -10 1 -1 0 -8 1 -2 0 -9 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -9 1 -1 0 -10 1 -1 0 -8 1 -1 +0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -8 1 -2 +0 -8 1 -1 0 -7 1 -1 0 -9 1 -1 0 -8 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -4 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 1 -1 +0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 +0 -5 1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 +0 -4 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -4 1 -1 0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -1 1 -1 0 -2 2 -2 +0 -2 2 -2 1 -1 0 -1 2 -2 1 -1 1 -1 1 0 +1 -1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 +1 1 1 1 1 1 1 1 0 2 2 2 1 1 0 2 +2 2 0 3 2 2 0 2 1 1 0 2 1 1 0 2 +1 1 0 2 1 1 0 2 1 1 0 3 1 1 0 3 +1 1 0 2 1 1 0 3 1 1 0 3 1 1 0 4 +1 1 0 3 1 1 0 4 1 1 0 4 1 1 0 3 +1 1 0 4 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 5 1 1 0 4 1 1 0 5 1 1 0 6 +1 1 0 5 1 1 0 6 1 1 0 6 1 1 0 5 +1 1 0 6 1 1 3571 2800 300 MP stroke +0 6 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 8 1 1 0 8 1 1 0 6 1 2 +0 7 1 2 0 8 1 1 0 8 1 1 0 8 1 1 +0 9 1 1 0 7 1 1 0 9 1 1 0 9 1 1 +0 9 1 1 0 9 1 2 0 9 1 1 0 9 1 1 +0 8 1 2 0 9 1 1 0 10 1 1 0 10 1 1 +0 10 1 1 0 10 1 2 0 8 1 1 0 10 1 2 +0 10 1 1 0 11 1 1 0 10 1 2 0 10 1 2 +0 9 1 1 0 11 1 1 0 11 1 2 0 10 1 2 +0 11 1 1 0 11 1 2 0 9 1 2 0 11 1 2 +0 11 1 2 0 11 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 10 1 1 0 12 1 2 0 12 1 1 +0 12 1 2 0 12 1 1 0 12 1 2 0 10 1 2 +0 12 1 2 0 12 1 2 0 12 1 2 0 12 1 2 +0 12 1 2 0 11 1 2 0 12 1 2 0 12 1 2 +0 13 1 2 0 12 1 2 0 13 1 2 0 12 1 2 +0 11 1 2 0 13 1 2 0 13 1 1 0 13 1 2 +0 13 1 2 0 13 1 2 0 11 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 14 1 1 0 14 1 2 0 13 1 2 0 12 1 1 +0 14 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 12 1 2 0 13 1 2 0 14 1 2 +0 13 1 2 0 14 1 2 0 13 1 2 0 12 1 1 +0 14 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 14 1 1 0 14 1 2 0 11 1 2 0 14 1 2 +0 13 1 2 0 13 1 2 0 14 1 1 0 14 1 2 +0 11 1 2 0 13 1 2 0 13 1 2 0 14 1 1 +0 14 1 1 0 14 1 2 0 11 1 2 0 13 1 2 +0 13 1 2 0 13 1 1 0 13 1 2 0 13 1 2 +0 11 1 2 0 13 1 1 0 13 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 12 1 2 0 11 1 1 +0 13 1 2 0 12 1 2 0 12 1 2 0 12 1 2 +0 12 1 2 0 10 1 2 0 12 1 2 0 12 1 2 +0 12 1 1 0 12 1 2 0 12 1 2 0 10 1 1 +0 12 1 2 0 11 1 2 0 11 1 2 0 11 1 2 +0 11 1 2 0 11 3422 851 300 MP stroke +1 2 0 9 1 2 0 11 1 2 0 11 1 1 0 11 +1 2 0 11 1 1 0 11 1 1 0 10 1 1 0 11 +1 1 0 11 1 1 0 10 1 2 0 10 1 2 0 10 +1 1 0 9 1 1 0 10 1 2 0 10 1 1 0 10 +1 1 0 10 1 1 0 10 1 1 0 10 1 1 0 8 +1 1 0 10 1 1 0 9 1 1 0 9 1 2 0 8 +1 2 0 8 1 2 0 7 1 1 0 9 1 1 0 9 +1 1 0 8 1 1 0 9 1 1 0 8 1 1 0 7 +1 1 0 8 1 1 0 7 1 2 0 7 1 1 0 8 +1 1 0 7 1 1 0 6 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 5 1 1 0 6 1 1 0 6 1 1 0 6 +1 1 0 5 1 1 0 6 1 1 0 4 1 1 0 5 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 4 1 1 0 4 1 1 0 4 1 1 0 3 +1 1 0 4 1 1 0 4 1 1 0 3 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 2 +1 1 0 3 1 1 0 1 1 1 0 2 1 1 0 2 +1 1 0 3 2 2 0 2 1 1 0 1 1 1 1 1 +0 2 2 2 0 1 2 2 1 1 1 0 1 1 1 1 +1 0 1 0 1 0 1 0 1 0 1 0 1 -1 1 -1 +1 -1 1 -1 0 -1 2 -2 1 -1 0 -2 2 -2 0 -2 +2 -2 0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -5 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -8 1 -1 0 -8 +1 -1 0 -7 1 -1 0 -8 1 -1 0 -8 1 -2 0 -6 +1 -2 0 -8 1 -1 0 -8 1 -2 0 -8 1 -1 0 -9 +1 -1 0 -9 1 -1 0 -8 1 -1 0 -9 1 -1 0 -9 +1 -1 0 -9 1 -2 0 -9 1 -1 0 -10 1 -1 0 -8 +1 -2 0 -9 1 -1 0 -10 1 -2 0 -9 1 -2 0 -10 +1 -1 0 -10 1 -1 3258 698 300 MP stroke +0 -11 1 -1 0 -9 1 -1 0 -11 1 -1 0 -10 1 -2 +0 -10 1 -2 0 -10 1 -2 0 -11 1 -1 0 -9 1 -2 +0 -11 1 -1 0 -11 1 -2 0 -11 1 -1 0 -12 1 -1 +0 -11 1 -2 0 -10 1 -1 0 -12 1 -1 0 -12 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 +0 -10 1 -1 0 -12 1 -2 0 -12 1 -2 0 -12 1 -1 +0 -13 1 -1 0 -12 1 -2 0 -11 1 -1 0 -13 1 -1 +0 -13 1 -2 0 -12 1 -2 0 -12 1 -2 0 -13 1 -1 +0 -11 1 -2 0 -13 1 -1 0 -13 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 0 -14 1 -1 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -12 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -11 1 -2 0 -13 1 -1 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -13 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 1 -2 +0 -12 1 -2 0 -11 1 -1 0 -13 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -1 0 -13 1 -1 0 -12 1 -2 +0 -10 1 -2 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 +0 -11 1 -2 0 -12 1 -1 0 -10 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 0 -12 1 -1 +0 -10 1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 1 -1 +0 -11 1 -2 0 -10 1 -2 0 -10 1 -2 0 -9 1 -1 +0 -10 1 -2 0 -10 1 -1 0 -11 1 -1 0 -10 1 -1 +0 -10 1 -2 0 -8 1 -1 0 -10 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -10 1 -1 0 -9 1 -2 0 -7 1 -2 +0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 +0 -9 1 -1 0 -8 1 -2 0 -7 1 -1 0 -8 1 -1 +0 -8 1 -2 0 -8 3109 2698 300 MP stroke +1 -1 0 -8 1 -1 0 -7 1 -1 0 -7 1 -1 0 -8 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -6 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 +2 -2 0 -2 1 -1 0 -2 2 -2 0 -2 2 -2 0 -1 +2 -2 1 -1 1 -1 1 -1 1 -1 1 -1 1 0 1 0 +1 0 1 0 1 0 1 0 1 1 1 1 1 0 -1 0 +2 2 1 1 1 1 0 2 2 2 1 1 0 2 1 1 +0 2 2 2 0 2 1 1 0 2 1 1 0 2 1 1 +0 2 1 1 0 2 1 1 0 3 1 1 0 2 1 1 +0 3 1 1 0 3 1 1 0 3 1 1 0 3 1 1 +0 3 1 1 0 4 1 1 0 3 1 1 0 4 1 1 +0 4 1 1 0 5 1 1 0 4 1 1 0 5 1 1 +0 4 1 1 0 5 1 1 0 5 1 1 0 5 1 1 +0 6 1 1 0 5 1 1 0 5 1 1 0 6 1 1 +0 6 1 1 0 6 1 1 0 7 1 1 0 6 1 1 +0 7 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 7 1 1 0 8 1 1 0 6 1 1 +0 8 1 1 0 8 1 1 0 8 1 1 0 8 1 1 +0 9 1 1 0 7 1 1 0 9 1 1 0 8 1 2 +0 8 1 2 0 8 1 2 0 8 1 2 0 9 1 1 +0 8 1 1 0 9 1 2 0 9 1 1 0 10 1 1 +0 10 1 1 0 10 1 1 0 9 1 1 0 10 1 1 +0 10 1 2 0 10 1 1 0 10 1 2 0 10 1 2 +0 8 1 2 0 10 1 2 0 10 1 2 0 11 1 1 +0 11 1 1 0 11 1 2 0 11 1 1 0 10 1 1 +0 11 1 2 0 11 1 2 0 11 1 2 0 11 1 2 +0 11 1 2 0 10 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 12 1 2 0 12 1 1 0 11 1 1 +0 12 1 2 0 12 1 2 0 12 1 2 0 12 1 2 +0 12 1 2 0 12 1 2 0 10 1 2 0 13 1 2 +0 12 1 2 0 12 2945 2087 300 MP stroke +1 2 0 13 1 2 0 12 1 2 0 11 1 2 0 13 +1 2 0 12 1 2 0 13 1 2 0 13 1 2 0 13 +1 1 0 12 1 1 0 14 1 1 0 13 1 2 0 13 +1 2 0 14 1 1 0 14 1 1 0 12 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 14 1 1 0 14 +1 2 0 13 1 2 0 11 1 2 0 14 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 13 1 2 0 12 +1 2 0 13 1 2 0 14 1 2 0 13 1 2 0 13 +1 2 0 14 1 2 0 11 1 2 0 14 1 2 0 13 +1 2 0 14 1 2 0 13 1 2 0 13 1 2 0 14 +1 2 0 11 1 2 0 14 1 2 0 13 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 11 1 2 0 13 +1 2 0 14 1 1 0 14 1 2 0 13 1 2 0 13 +1 2 0 11 1 2 0 13 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 13 1 1 0 11 +1 2 0 13 1 2 0 13 1 2 0 12 1 2 0 13 +1 2 0 12 1 2 0 11 1 2 0 12 1 2 0 13 +1 1 0 13 1 2 0 12 1 2 0 12 1 2 0 10 +1 2 0 12 1 2 0 12 1 2 0 12 1 2 0 12 +1 1 0 12 1 2 0 10 1 2 0 12 1 1 0 12 +1 2 0 11 1 2 0 11 1 2 0 12 1 1 0 12 +1 1 0 10 1 1 0 12 1 1 0 11 1 2 0 11 +1 2 0 11 1 1 0 11 1 2 0 9 1 1 0 11 +1 2 0 10 1 2 0 10 1 2 0 10 1 2 0 10 +1 1 0 9 1 2 0 10 1 1 0 10 1 2 0 9 +1 2 0 10 1 1 0 10 1 1 0 10 1 1 0 8 +1 2 0 9 1 1 0 10 1 1 0 9 1 1 0 9 +1 2 0 9 1 1 0 7 1 2 0 8 1 2 0 8 +1 2 0 8 1 1 0 9 1 1 0 8 1 1 0 7 +1 1 0 8 1 1 0 8 1 1 0 8 1 1 0 8 +1 1 0 8 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 7 1 1 0 6 +1 1 0 6 1 1 0 6 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 6 1 1 0 4 1 1 0 6 +1 1 0 5 1 1 0 5 1 1 0 5 1 1 0 4 +1 1 0 5 1 1 0 4 1 1 0 4 1 1 0 4 +1 1 0 4 1 1 0 3 1 1 0 4 1 1 0 3 +1 1 0 3 1 1 2795 298 300 MP stroke +0 3 1 1 0 3 1 1 0 3 1 1 0 2 1 1 +0 2 1 1 0 2 1 1 0 2 1 1 0 2 1 1 +0 3 2 2 0 2 1 1 0 1 1 1 0 2 2 2 +0 1 2 2 1 1 1 1 1 1 1 1 1 1 1 0 +1 0 1 0 1 0 1 0 1 0 1 -1 1 0 1 -1 +0 -1 2 -2 0 -1 2 -2 0 -1 2 -2 0 -2 2 -2 +0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 +0 -4 1 -1 0 -3 1 -1 0 -5 1 -1 0 -4 1 -1 +0 -5 1 -1 0 -5 1 -1 0 -5 1 -1 0 -5 1 -1 +0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 1 -1 +0 -6 1 -1 0 -5 1 -1 0 -7 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 +0 -6 1 -1 0 -7 1 -1 0 -8 1 -1 0 -7 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 1 -1 +0 -8 1 -2 0 -8 1 -1 0 -8 1 -2 0 -8 1 -1 +0 -8 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 +0 -10 1 -1 0 -9 1 -1 0 -8 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -10 1 -1 0 -10 1 -2 0 -9 1 -2 +0 -10 1 -1 0 -9 1 -1 0 -10 1 -2 0 -10 1 -2 +0 -10 1 -1 0 -11 1 -1 0 -11 1 -1 0 -10 1 -1 +0 -11 1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 1 -2 +0 -11 1 -1 0 -10 1 -2 0 -11 1 -1 0 -12 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -11 1 -2 +0 -10 1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -1 0 -12 1 -2 0 -10 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -13 1 -1 0 -13 1 -1 0 -13 1 -2 +0 -10 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -1 0 -12 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -12 1 -1 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 +0 -14 1 -2 0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -11 1 -2 0 -14 2632 1587 300 MP stroke +1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 +1 -2 0 -12 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -11 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -1 0 -13 1 -2 0 -11 1 -2 0 -13 1 -2 0 -12 +1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 +1 -2 0 -10 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 +1 -1 0 -13 1 -1 0 -12 1 -2 0 -10 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 0 -11 +1 -2 0 -10 1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 +1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 0 -10 +1 -1 0 -11 1 -2 0 -11 1 -1 0 -11 1 -2 0 -10 +1 -2 0 -11 1 -1 0 -9 1 -2 0 -10 1 -2 0 -10 +1 -1 0 -11 1 -1 0 -10 1 -2 0 -10 1 -1 0 -9 +1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 +1 -1 0 -10 1 -1 0 -8 1 -1 0 -9 1 -2 0 -9 +1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -9 1 -1 0 -8 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 +1 -1 0 -7 1 -1 0 -8 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -5 1 -1 0 -6 1 -1 0 -6 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -2 1 -1 0 -3 +1 -1 0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 0 -2 +2 -2 0 -2 1 -1 0 -1 2 -2 0 -1 2 -2 1 -1 +1 -1 1 -1 1 0 1 -1 1 0 1 0 1 0 1 0 +1 0 1 1 1 0 1 1 1 1 0 1 2 2 1 1 +0 2 2 2 0 1 1 1 0 2 2 2 0 2 1 1 +0 1 1 1 0 2 1 1 0 2 1 1 0 3 1 1 +0 2 1 1 0 2 2469 2918 300 MP stroke +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 3 +1 1 0 4 1 1 0 3 1 1 0 4 1 1 0 3 +1 1 0 5 1 1 0 4 1 1 0 4 1 1 0 4 +1 1 0 5 1 1 0 5 1 1 0 5 1 1 0 5 +1 1 0 5 1 1 0 6 1 1 0 5 1 1 0 5 +1 1 0 6 1 1 0 7 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 7 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 2 0 7 +1 1 0 8 1 1 0 8 1 1 0 8 1 1 0 8 +1 1 0 8 1 1 0 7 1 2 0 8 1 1 0 9 +1 1 0 9 1 1 0 9 1 1 0 9 1 1 0 8 +1 1 0 9 1 1 0 9 1 2 0 9 1 1 0 10 +1 1 0 10 1 1 0 8 1 2 0 9 1 2 0 10 +1 1 0 10 1 1 0 10 1 2 0 10 1 1 0 9 +1 2 0 10 1 1 0 11 1 1 0 11 1 1 0 11 +1 2 0 10 1 2 0 11 1 1 0 9 1 2 0 11 +1 2 0 11 1 1 0 11 1 2 0 11 1 2 0 11 +1 2 0 9 1 2 0 12 1 1 0 12 1 1 0 12 +1 2 0 11 1 2 0 12 1 2 0 10 1 1 0 12 +1 2 0 12 1 2 0 12 1 2 0 12 1 1 0 13 +1 1 0 13 1 1 0 11 1 2 0 12 1 2 0 12 +1 2 0 13 1 1 0 13 1 2 0 12 1 2 0 11 +1 2 0 13 1 1 0 13 1 2 0 13 1 2 0 13 +1 1 0 13 1 2 0 11 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 13 1 2 0 13 +1 2 0 11 1 2 0 13 1 2 0 13 1 2 0 14 +1 2 0 13 1 2 0 13 1 2 0 11 1 2 0 14 +1 2 0 13 1 2 0 13 1 2 0 14 1 2 0 13 +1 2 0 12 1 2 0 13 1 2 0 13 1 2 0 14 +1 2 0 13 1 2 0 14 1 2 0 13 1 2 0 12 +1 1 0 14 1 2 0 13 1 2 0 14 1 2 0 13 +1 2 0 14 1 2 0 11 1 2 0 13 1 2 0 14 +1 2 0 13 1 2 0 14 1 1 0 14 1 2 0 11 +1 2 0 13 1 2 0 14 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 11 1 2 0 13 1 2 0 14 +1 1 0 14 1 1 0 13 1 2 0 13 1 2 0 13 +1 2 0 11 1 2 0 13 1 2 0 13 1 2 0 12 +1 2 0 13 1 2 2319 1157 300 MP stroke +0 12 1 2 0 11 1 2 0 13 1 1 0 13 1 2 +0 12 1 2 0 13 1 1 0 13 1 1 0 11 1 2 +0 12 1 2 0 12 1 2 0 12 1 2 0 12 1 1 +0 12 1 2 0 12 1 2 0 10 1 2 0 12 1 1 +0 12 1 2 0 11 1 2 0 11 1 2 0 12 1 1 +0 10 1 2 0 11 1 2 0 11 1 1 0 12 1 1 +0 11 1 2 0 11 1 1 0 10 1 1 0 11 1 2 +0 10 1 2 0 11 1 1 0 11 1 1 0 11 1 1 +0 10 1 2 0 9 1 1 0 10 1 2 0 10 1 1 +0 10 1 2 0 9 1 2 0 10 1 1 0 8 1 2 +0 9 1 2 0 9 1 1 0 10 1 1 0 9 1 1 +0 10 1 1 0 8 1 1 0 9 1 1 0 9 1 1 +0 9 1 1 0 8 1 2 0 8 1 1 0 7 1 1 +0 9 1 1 0 8 1 1 0 8 1 1 0 8 1 1 +0 8 1 1 0 7 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 7 1 1 0 7 1 1 0 7 1 1 +0 6 1 1 0 6 1 1 0 7 1 1 0 6 1 1 +0 6 1 1 0 6 1 1 0 4 1 1 0 6 1 1 +0 5 1 1 0 6 1 1 0 5 1 1 0 4 1 1 +0 5 1 1 0 4 1 1 0 5 1 1 0 4 1 1 +0 4 1 1 0 4 1 1 0 4 1 1 0 3 1 1 +0 3 1 1 0 3 1 1 0 4 1 1 0 2 1 1 +0 3 1 1 0 2 1 1 0 3 1 1 0 2 1 1 +0 2 1 1 0 2 1 1 0 2 1 1 0 2 1 1 +0 1 1 1 0 2 2 2 0 2 2 2 1 1 0 1 +2 2 1 1 1 1 1 0 1 1 1 0 1 0 1 0 +1 0 1 0 1 0 1 -1 1 -1 1 -1 1 -1 1 -1 +0 -2 2 -2 1 -1 0 -2 2 -2 0 -3 2 -2 0 -2 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -3 1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 1 -1 0 -4 +1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -8 1 -1 2155 482 300 MP stroke +0 -8 1 -1 0 -6 1 -2 0 -7 1 -2 0 -8 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -9 1 -1 0 -7 1 -1 +0 -9 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 1 -2 +0 -9 1 -1 0 -9 1 -1 0 -8 1 -2 0 -9 1 -1 +0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 1 -2 +0 -8 1 -1 0 -10 1 -2 0 -10 1 -1 0 -11 1 -1 +0 -10 1 -2 0 -10 1 -2 0 -9 1 -1 0 -11 1 -1 +0 -11 1 -2 0 -10 1 -2 0 -11 1 -1 0 -11 1 -2 +0 -9 1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -10 1 -1 +0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 0 -12 1 -1 +0 -12 1 -2 0 -10 1 -2 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 0 -11 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 +0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -13 1 -1 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 1 -2 +0 -13 1 -2 0 -12 1 -1 0 -14 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 +0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 +0 -13 1 -2 0 -12 1 -1 0 -14 1 -2 0 -13 1 -2 +0 -14 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 1 -2 +0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 1 -2 +0 -14 1 -1 0 -14 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -13 1 -2 0 -14 1 -1 0 -14 1 -1 0 -14 1 -2 +0 -11 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -1 +0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 1 -1 +0 -13 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -11 1 -1 0 -13 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 0 -10 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 +0 -12 1 -2 0 -10 1 -1 0 -12 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -11 1 -2 0 -11 1 -2 0 -11 1 -2 +0 -9 1 -2 0 -11 1 -2 0 -11 1 -1 0 -11 1 -2 +0 -11 1 -1 0 -11 1 -1 0 -10 1 -1 0 -11 1 -1 +0 -11 1 -1 0 -10 2006 2473 300 MP stroke +1 -2 0 -10 1 -2 0 -10 1 -1 0 -9 1 -1 0 -10 +1 -2 0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 +1 -1 0 -10 1 -1 0 -8 1 -1 0 -10 1 -1 0 -9 +1 -1 0 -9 1 -2 0 -8 1 -2 0 -8 1 -2 0 -7 +1 -1 0 -9 1 -1 0 -9 1 -1 0 -8 1 -1 0 -9 +1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 1 -1 0 -7 +1 -2 0 -7 1 -1 0 -8 1 -1 0 -7 1 -1 0 -6 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -4 +1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -1 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 2 -2 0 -2 +1 -1 0 -1 1 -1 1 -1 0 -2 2 -2 0 -1 2 -2 +1 -1 1 0 1 -1 1 -1 1 0 1 0 1 0 1 0 +1 0 1 0 1 1 1 1 1 1 1 1 0 1 2 2 +1 1 0 2 2 2 0 2 2 2 0 2 1 1 0 1 +1 1 0 2 1 1 0 2 1 1 0 2 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 3 +1 1 0 3 1 1 0 3 1 1 0 3 1 1 0 4 +1 1 0 4 1 1 0 4 1 1 0 4 1 1 0 3 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 6 1 1 0 5 1 1 0 5 1 1 0 5 +1 1 0 6 1 1 0 6 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 6 1 1 0 7 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 8 1 1 0 8 1 1 0 7 1 1 0 8 +1 1 0 8 1 2 0 6 1 2 0 8 1 1 0 8 +1 2 0 8 1 1 0 9 1 1 0 9 1 1 0 8 +1 1 0 9 1 1 0 9 1 1 0 9 1 2 0 9 +1 1 0 10 1 1 0 8 1 2 0 9 1 1 0 10 +1 2 0 9 1 2 0 10 1 1 0 10 1 1 0 11 +1 1 0 9 1 1 0 11 1 1 0 10 1 2 0 10 +1 2 0 10 1 2 0 11 1 1 0 9 1 2 0 11 +1 1 0 11 1 2 1842 2388 300 MP stroke +0 11 1 1 0 12 1 1 0 11 1 2 0 10 1 1 +0 12 1 1 0 12 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 12 1 2 0 10 1 1 0 12 1 2 +0 12 1 2 0 12 1 1 0 13 1 1 0 12 1 2 +0 11 1 1 0 13 1 1 0 13 1 2 0 12 1 2 +0 12 1 2 0 13 1 1 0 11 1 2 0 13 1 1 +0 13 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 11 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 11 1 2 +0 13 1 2 0 14 1 1 0 14 1 2 0 13 1 2 +0 13 1 2 0 11 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 2 0 13 1 2 0 11 1 2 +0 14 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 2 0 11 1 2 0 14 1 2 +0 13 1 2 0 14 1 2 0 13 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 2 0 11 1 2 0 13 1 2 +0 14 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 14 1 1 0 12 1 2 0 13 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 11 1 2 +0 13 1 1 0 13 1 2 0 13 1 2 0 13 1 2 +0 12 1 2 0 11 1 2 0 13 1 2 0 12 1 2 +0 13 1 1 0 13 1 2 0 12 1 2 0 11 1 1 +0 13 1 2 0 12 1 2 0 12 1 2 0 12 1 1 +0 13 1 1 0 12 1 2 0 10 1 2 0 12 1 2 +0 11 1 2 0 12 1 2 0 11 1 2 0 12 1 1 +0 10 1 2 0 11 1 2 0 11 1 2 0 11 1 2 +0 11 1 1 0 12 1 1 0 10 1 1 0 11 1 2 +0 11 1 1 0 11 1 1 0 11 1 2 0 10 1 2 +0 10 1 2 0 9 1 1 0 10 1 2 0 10 1 1 +0 11 1 1 0 10 1 1 0 10 1 2 0 8 1 1 +0 10 1 2 0 9 1 1 0 10 1 1 0 10 1 1 +0 9 1 2 0 7 1 2 0 9 1 1 0 9 1 1 +0 9 1 1 0 9 1 1 0 9 1 1 0 8 1 2 +0 7 1 1 0 8 1 1 0 8 1 2 0 8 1 1 +0 8 1 1 0 7 1 1 0 7 1 1 0 8 1 1 +0 7 1 1 0 7 1 1 0 7 1 1 0 7 1 1 +0 6 1 1 0 7 1693 425 300 MP stroke +1 1 0 6 1 1 0 7 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 5 1 1 0 5 1 1 0 6 +1 1 0 5 1 1 0 5 1 1 0 5 1 1 0 4 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 4 +1 1 0 4 1 1 0 3 1 1 0 4 1 1 0 3 +1 1 0 4 1 1 0 3 1 1 0 3 1 1 0 2 +1 1 0 3 1 1 0 3 1 1 0 2 1 1 0 2 +1 1 0 2 1 1 0 3 2 2 0 2 1 1 0 2 +2 2 0 2 2 2 0 1 2 2 1 1 1 1 1 1 +1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 +1 -1 1 -1 1 0 -1 0 2 -2 1 -1 1 -1 0 -2 +2 -2 1 -1 0 -2 1 -1 0 -2 2 -2 0 -2 1 -1 +0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -2 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -4 1 -1 +0 -3 1 -1 0 -4 1 -1 0 -4 1 -1 0 -5 1 -1 +0 -4 1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 +0 -5 1 -1 0 -5 1 -1 0 -6 1 -1 0 -5 1 -1 +0 -5 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -6 1 -1 0 -7 1 -1 0 -6 1 -1 +0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 +0 -8 1 -1 0 -6 1 -1 0 -8 1 -1 0 -8 1 -1 +0 -8 1 -1 0 -8 1 -1 0 -9 1 -1 0 -7 1 -1 +0 -9 1 -1 0 -8 1 -2 0 -8 1 -2 0 -8 1 -2 +0 -8 1 -2 0 -9 1 -1 0 -8 1 -1 0 -9 1 -2 +0 -9 1 -1 0 -10 1 -1 0 -10 1 -1 0 -10 1 -1 +0 -9 1 -1 0 -10 1 -1 0 -10 1 -2 0 -10 1 -1 +0 -10 1 -2 0 -10 1 -2 0 -8 1 -2 0 -10 1 -2 +0 -10 1 -2 0 -11 1 -1 0 -11 1 -1 0 -11 1 -2 +0 -11 1 -1 0 -10 1 -1 0 -11 1 -2 0 -11 1 -2 +0 -11 1 -2 0 -11 1 -2 0 -11 1 -2 0 -10 1 -1 +0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -12 1 -2 +0 -12 1 -1 0 -11 1 -1 0 -12 1 -2 0 -12 1 -2 +0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 0 -12 1 -2 +0 -10 1 -2 0 -13 1 -2 0 -12 1 -2 0 -12 1 -2 +0 -13 1 -2 0 -12 1 -2 0 -11 1 -2 0 -13 1 -2 +0 -12 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -1 +0 -12 1 -1 0 -14 1529 1261 300 MP stroke +1 -1 0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -1 0 -12 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -14 1 -1 0 -14 1 -2 0 -13 1 -2 0 -11 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -11 1 -2 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -11 1 -2 0 -13 1 -2 0 -14 1 -1 0 -14 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -1 0 -11 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -12 1 -2 0 -13 1 -2 0 -12 1 -2 0 -11 +1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -10 1 -2 0 -12 1 -2 0 -12 +1 -2 0 -12 1 -2 0 -12 1 -1 0 -12 1 -2 0 -10 +1 -2 0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -11 +1 -2 0 -12 1 -1 0 -12 1 -1 0 -10 1 -1 0 -12 +1 -1 0 -11 1 -2 0 -11 1 -2 0 -11 1 -1 0 -11 +1 -2 0 -9 1 -1 0 -11 1 -2 0 -10 1 -2 0 -10 +1 -2 0 -10 1 -2 0 -10 1 -1 0 -9 1 -2 0 -10 +1 -1 0 -10 1 -2 0 -9 1 -2 0 -10 1 -1 0 -10 +1 -1 0 -10 1 -1 0 -8 1 -2 0 -9 1 -1 0 -10 +1 -1 0 -9 1 -1 0 -9 1 -2 0 -9 1 -1 0 -7 +1 -2 0 -8 1 -2 0 -8 1 -2 0 -8 1 -1 0 -9 +1 -1 0 -8 1 -1 0 -7 1 -1 0 -8 1 -1 0 -8 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -7 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 +1 -1 0 -4 1 -1 0 -6 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -4 1 -1 0 -5 1 -1 0 -4 +1 -1 0 -4 1 -1 0 -4 1 -1 0 -4 1 -1 0 -3 +1 -1 0 -4 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 +1 -1 0 -3 1 -1 0 -3 1 -1 0 -2 1 -1 0 -2 +1 -1 0 -2 1 -1 0 -2 1 -1 0 -2 1 -1 0 -3 +2 -2 0 -2 1 -1 1378 2941 300 MP stroke +0 -1 1 -1 0 -2 2 -2 0 -1 2 -2 1 -1 1 -1 +1 -1 1 -1 1 -1 1 0 1 0 1 0 1 0 1 0 +1 0 1 1 1 0 1 1 0 1 2 2 0 1 2 2 +0 1 2 2 0 2 2 2 0 2 1 1 0 1 1 1 +0 2 1 1 0 2 1 1 0 2 1 1 0 2 1 1 +0 3 1 1 0 2 1 1 0 3 1 1 0 3 1 1 +0 3 1 1 0 3 1 1 0 3 1 1 0 4 1 1 +0 4 1 1 0 4 1 1 0 4 1 1 0 3 1 1 +0 5 1 1 0 4 1 1 0 5 1 1 0 5 1 1 +0 5 1 1 0 5 1 1 0 5 1 1 0 6 1 1 +0 5 1 1 0 6 1 1 0 6 1 1 0 5 1 1 +0 7 1 1 0 6 1 1 0 7 1 1 0 7 1 1 +0 7 1 1 0 7 1 1 0 6 1 1 0 7 1 1 +0 8 1 1 0 7 1 1 0 8 1 1 0 8 1 1 +0 7 1 1 0 8 1 1 0 8 1 2 0 8 1 1 +0 8 1 2 0 8 1 1 0 8 1 1 0 9 1 1 +0 9 1 1 0 9 1 1 0 10 1 1 0 9 1 1 +0 8 1 2 0 9 1 1 0 10 1 1 0 10 1 1 +0 10 1 2 0 9 1 2 0 10 1 1 0 9 1 1 +0 10 1 2 0 10 1 2 0 10 1 1 0 11 1 1 +0 11 1 1 0 10 1 1 0 11 1 1 0 11 1 2 +0 11 1 1 0 11 1 2 0 11 1 1 0 10 1 2 +0 11 1 1 0 12 1 1 0 12 1 1 0 12 1 2 +0 11 1 2 0 11 1 2 0 10 1 2 0 12 1 1 +0 12 1 2 0 12 1 2 0 12 1 1 0 12 1 2 +0 10 1 2 0 12 1 2 0 12 1 2 0 13 1 1 +0 13 1 1 0 13 1 2 0 10 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 12 1 2 0 13 1 2 +0 12 1 2 0 11 1 2 0 13 1 2 0 13 1 2 +0 13 1 2 0 13 1 2 0 13 1 1 0 12 1 2 +0 13 1 2 0 13 1 2 0 13 1 2 0 13 1 2 +0 13 1 2 0 12 1 1 0 14 1 2 0 13 1 2 +0 13 1 2 0 14 1 1 0 14 1 2 0 11 1 2 +0 14 1 2 0 13 1 2 0 13 1 2 0 14 1 2 +0 13 1 2 0 14 1 2 0 11 1 2 0 14 1 2 +0 13 1 2 0 13 1 2 0 14 1 2 0 13 1 2 +0 12 1 2 0 13 1 2 0 14 1 1 0 14 1 2 +0 13 1 2 0 14 1216 1465 300 MP stroke +1 2 0 11 1 2 0 13 1 2 0 14 1 2 0 13 +1 2 0 13 1 2 0 13 1 2 0 14 1 2 0 11 +1 2 0 13 1 2 0 13 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 11 1 2 0 13 1 2 0 13 +1 2 0 13 1 2 0 13 1 1 0 13 1 2 0 11 +1 2 0 13 1 2 0 12 1 2 0 13 1 2 0 12 +1 2 0 13 1 1 0 13 1 2 0 10 1 2 0 12 +1 2 0 13 1 1 0 13 1 1 0 13 1 1 0 12 +1 2 0 10 1 2 0 12 1 2 0 12 1 2 0 11 +1 2 0 12 1 2 0 11 1 2 0 10 1 2 0 11 +1 2 0 11 1 2 0 11 1 2 0 11 1 2 0 11 +1 2 0 11 1 1 0 10 1 1 0 11 1 2 0 11 +1 1 0 11 1 2 0 10 1 2 0 11 1 1 0 9 +1 2 0 10 1 2 0 10 1 1 0 11 1 1 0 10 +1 2 0 10 1 1 0 9 1 1 0 10 1 1 0 10 +1 1 0 10 1 1 0 10 1 1 0 10 1 1 0 8 +1 1 0 9 1 2 0 9 1 1 0 9 1 1 0 9 +1 1 0 9 1 1 0 9 1 1 0 8 1 1 0 8 +1 1 0 9 1 1 0 8 1 1 0 8 1 1 0 8 +1 1 0 7 1 1 0 8 1 1 0 7 1 1 0 8 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 7 +1 1 0 7 1 1 0 7 1 1 0 6 1 1 0 6 +1 1 0 6 1 1 0 6 1 1 0 5 1 1 0 6 +1 1 0 6 1 1 0 5 1 1 0 5 1 1 0 4 +1 1 0 5 1 1 0 5 1 1 0 4 1 1 0 5 +1 1 0 4 1 1 0 4 1 1 0 3 1 1 0 4 +1 1 0 4 1 1 0 3 1 1 0 3 1 1 0 4 +1 1 0 2 1 1 0 3 1 1 0 2 1 1 0 3 +1 1 0 2 1 1 0 2 1 1 0 2 1 1 0 1 +1 1 0 2 1 1 0 2 2 2 0 2 1 1 0 1 +2 2 0 1 2 2 1 1 1 1 1 1 1 0 1 1 +1 0 1 0 1 0 1 0 1 0 1 -1 1 0 1 -1 +1 -1 0 -1 2 -2 1 -1 0 -2 2 -2 0 -1 1 -1 +0 -2 2 -2 0 -2 1 -1 0 -1 1 -1 0 -2 1 -1 +0 -2 1 -1 0 -3 1 -1 0 -2 1 -1 0 -2 1 -1 +0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 0 -3 1 -1 +0 -4 1 -1 0 -3 1 -1 0 -4 1 -1 0 -3 1 -1 +0 -5 1 -1 0 -4 1053 331 300 MP stroke +1 -1 0 -4 1 -1 0 -4 1 -1 0 -5 1 -1 0 -5 +1 -1 0 -5 1 -1 0 -5 1 -1 0 -5 1 -1 0 -6 +1 -1 0 -5 1 -1 0 -5 1 -1 0 -6 1 -1 0 -7 +1 -1 0 -6 1 -1 0 -6 1 -1 0 -6 1 -1 0 -7 +1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 1 -1 0 -7 +1 -1 0 -6 1 -2 0 -7 1 -1 0 -8 1 -1 0 -8 +1 -1 0 -8 1 -1 0 -8 1 -1 0 -8 1 -1 0 -7 +1 -2 0 -8 1 -1 0 -9 1 -1 0 -9 1 -1 0 -9 +1 -1 0 -9 1 -1 0 -8 1 -1 0 -9 1 -1 0 -9 +1 -2 0 -9 1 -1 0 -10 1 -1 0 -10 1 -1 0 -8 +1 -2 0 -9 1 -2 0 -10 1 -1 0 -10 1 -1 0 -10 +1 -2 0 -10 1 -1 0 -9 1 -2 0 -10 1 -1 0 -11 +1 -1 0 -11 1 -1 0 -11 1 -2 0 -10 1 -2 0 -11 +1 -1 0 -9 1 -2 0 -11 1 -2 0 -11 1 -1 0 -11 +1 -2 0 -11 1 -2 0 -11 1 -2 0 -9 1 -2 0 -12 +1 -1 0 -12 1 -1 0 -12 1 -2 0 -11 1 -2 0 -12 +1 -2 0 -10 1 -1 0 -12 1 -2 0 -12 1 -2 0 -12 +1 -2 0 -12 1 -1 0 -13 1 -1 0 -13 1 -1 0 -11 +1 -2 0 -12 1 -2 0 -12 1 -2 0 -13 1 -1 0 -13 +1 -2 0 -12 1 -2 0 -11 1 -2 0 -13 1 -1 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -1 0 -13 1 -2 0 -11 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -13 1 -2 0 -11 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -11 1 -2 0 -14 1 -2 0 -13 1 -2 0 -13 +1 -2 0 -14 1 -2 0 -13 1 -2 0 -12 1 -2 0 -13 +1 -2 0 -13 1 -2 0 -14 1 -2 0 -13 1 -2 0 -14 +1 -2 0 -13 944 1600 219 MP stroke +gr + +3512 3271 mt +(Time [s]) s + 562 1911 mt -90 rotate +(Amplitude) s +90 rotate + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/src/TwoColumnSine2.pdf b/src/TwoColumnSine2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..97047e84a7e205d37479da20d8ac443ce1ef3500 GIT binary patch literal 46275 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 Q5+2xKDt`W(hFVnr3yKX5mH+?% literal 0 HcmV?d00001 diff --git a/src/counter.pdf b/src/counter.pdf new file mode 100644 index 0000000000000000000000000000000000000000..42287be6f39dee803d6f4a571bc8376fd4d0b5c3 GIT binary patch literal 6938 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 KQ$b6S^nU<50HBNj literal 0 HcmV?d00001 diff --git a/src/draft.md b/src/draft.md new file mode 100644 index 0000000..665c3c3 --- /dev/null +++ b/src/draft.md @@ -0,0 +1 @@ +# Lambda-Calculus-based \ No newline at end of file diff --git a/src/listings-rust.sty b/src/listings-rust.sty new file mode 100644 index 0000000..b630af1 --- /dev/null +++ b/src/listings-rust.sty @@ -0,0 +1,75 @@ +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{listings-rust}[2018/01/23 Custom Package] + +\RequirePackage{color} +\RequirePackage{listings} + +\lstdefinelanguage{Rust}{% + sensitive% +, morecomment=[l]{//}% +, morecomment=[s]{/*}{*/}% +, moredelim=[s][{\itshape\color[rgb]{0,0,0.75}}]{\#[}{]}% +, morestring=[b]{"}% +, alsodigit={}% +, alsoother={}% +, alsoletter={!}% +% +% +% [1] reserve keywords +% [2] traits +% [3] primitive types +% [4] type and value constructors +% [5] identifier +% +, morekeywords={break, continue, else, for, if, in, loop, match, return, while} % control flow keywords +, morekeywords={as, const, let, move, mut, ref, static} % in the context of variables +, morekeywords={dyn, enum, fn, impl, Self, self, struct, trait, type, union, use, where} % in the context of declarations +, morekeywords={crate, extern, mod, pub, super} % in the context of modularisation +, morekeywords={unsafe} % markers +, morekeywords={abstract, alignof, become, box, do, final, macro, offsetof, override, priv, proc, pure, sizeof, typeof, unsized, virtual, yield} % reserved identifiers +% +% grep 'pub trait [A-Za-z][A-Za-z0-9]*' -r . | sed 's/^.*pub trait \([A-Za-z][A-Za-z0-9]*\).*/\1/g' | sort -u | tr '\n' ',' | sed 's/^\(.*\),$/{\1}\n/g' | sed 's/,/, /g' +, morekeywords=[2]{Add, AddAssign, Any, AsciiExt, AsInner, AsInnerMut, AsMut, AsRawFd, AsRawHandle, AsRawSocket, AsRef, Binary, BitAnd, BitAndAssign, Bitor, BitOr, BitOrAssign, BitXor, BitXorAssign, Borrow, BorrowMut, Boxed, BoxPlace, BufRead, BuildHasher, CastInto, CharExt, Clone, CoerceUnsized, CommandExt, Copy, Debug, DecodableFloat, Default, Deref, DerefMut, DirBuilderExt, DirEntryExt, Display, Div, DivAssign, DoubleEndedIterator, DoubleEndedSearcher, Drop, EnvKey, Eq, Error, ExactSizeIterator, ExitStatusExt, Extend, FileExt, FileTypeExt, Float, Fn, FnBox, FnMut, FnOnce, Freeze, From, FromInner, FromIterator, FromRawFd, FromRawHandle, FromRawSocket, FromStr, FullOps, FusedIterator, Generator, Hash, Hasher, Index, IndexMut, InPlace, Int, Into, IntoCow, IntoInner, IntoIterator, IntoRawFd, IntoRawHandle, IntoRawSocket, IsMinusOne, IsZero, Iterator, JoinHandleExt, LargeInt, LowerExp, LowerHex, MetadataExt, Mul, MulAssign, Neg, Not, Octal, OpenOptionsExt, Ord, OsStrExt, OsStringExt, Packet, PartialEq, PartialOrd, Pattern, PermissionsExt, Place, Placer, Pointer, Product, Put, RangeArgument, RawFloat, Read, Rem, RemAssign, Seek, Shl, ShlAssign, Shr, ShrAssign, Sized, SliceConcatExt, SliceExt, SliceIndex, Stats, Step, StrExt, Sub, SubAssign, Sum, Sync, TDynBenchFn, Terminal, Termination, ToOwned, ToSocketAddrs, ToString, Try, TryFrom, TryInto, UnicodeStr, Unsize, UpperExp, UpperHex, WideInt, Write} +, morekeywords=[2]{Send} % additional traits +% +, morekeywords=[3]{bool, char, f32, f64, i8, i16, i32, i64, isize, str, u8, u16, u32, u64, unit, usize, i128, u128} % primitive types +% +, morekeywords=[4]{Err, false, None, Ok, Some, true} % prelude value constructors +% grep 'pub \(type\|struct\|enum\) [A-Za-z][A-Za-z0-9]*' -r . | sed 's/^.*pub \(type\|struct\|enum\) \([A-Za-z][A-Za-z0-9]*\).*/\2/g' | sort -u | tr '\n' ',' | sed 's/^\(.*\),$/{\1}\n/g' | sed 's/,/, /g' +, morekeywords=[3]{AccessError, Adddf3, AddI128, AddoI128, AddoU128, ADDRESS, ADDRESS64, addrinfo, ADDRINFOA, AddrParseError, Addsf3, AddU128, advice, aiocb, Alignment, AllocErr, AnonPipe, Answer, Arc, Args, ArgsInnerDebug, ArgsOs, Argument, Arguments, ArgumentV1, Ashldi3, Ashlti3, Ashrdi3, Ashrti3, AssertParamIsClone, AssertParamIsCopy, AssertParamIsEq, AssertUnwindSafe, AtomicBool, AtomicPtr, Attr, auxtype, auxv, BackPlace, BacktraceContext, Barrier, BarrierWaitResult, Bencher, BenchMode, BenchSamples, BinaryHeap, BinaryHeapPlace, blkcnt, blkcnt64, blksize, BOOL, boolean, BOOLEAN, BoolTrie, BorrowError, BorrowMutError, Bound, Box, bpf, BTreeMap, BTreeSet, Bucket, BucketState, Buf, BufReader, BufWriter, Builder, BuildHasherDefault, BY, BYTE, Bytes, CannotReallocInPlace, cc, Cell, Chain, CHAR, CharIndices, CharPredicateSearcher, Chars, CharSearcher, CharsError, CharSliceSearcher, CharTryFromError, Child, ChildPipes, ChildStderr, ChildStdin, ChildStdio, ChildStdout, Chunks, ChunksMut, ciovec, clock, clockid, Cloned, cmsgcred, cmsghdr, CodePoint, Color, ColorConfig, Command, CommandEnv, Component, Components, CONDITION, condvar, Condvar, CONSOLE, CONTEXT, Count, Cow, cpu, CRITICAL, CStr, CString, CStringArray, Cursor, Cycle, CycleIter, daddr, DebugList, DebugMap, DebugSet, DebugStruct, DebugTuple, Decimal, Decoded, DecodeUtf16, DecodeUtf16Error, DecodeUtf8, DefaultEnvKey, DefaultHasher, dev, device, Difference, Digit32, DIR, DirBuilder, dircookie, dirent, dirent64, DirEntry, Discriminant, DISPATCHER, Display, Divdf3, Divdi3, Divmoddi4, Divmodsi4, Divsf3, Divsi3, Divti3, dl, Dl, Dlmalloc, Dns, DnsAnswer, DnsQuery, dqblk, Drain, DrainFilter, Dtor, Duration, DwarfReader, DWORD, DWORDLONG, DynamicLibrary, Edge, EHAction, EHContext, Elf32, Elf64, Empty, EmptyBucket, EncodeUtf16, EncodeWide, Entry, EntryPlace, Enumerate, Env, epoll, errno, Error, ErrorKind, EscapeDebug, EscapeDefault, EscapeUnicode, event, Event, eventrwflags, eventtype, ExactChunks, ExactChunksMut, EXCEPTION, Excess, ExchangeHeapSingleton, exit, exitcode, ExitStatus, Failure, fd, fdflags, fdsflags, fdstat, ff, fflags, File, FILE, FileAttr, filedelta, FileDesc, FilePermissions, filesize, filestat, FILETIME, filetype, FileType, Filter, FilterMap, Fixdfdi, Fixdfsi, Fixdfti, Fixsfdi, Fixsfsi, Fixsfti, Fixunsdfdi, Fixunsdfsi, Fixunsdfti, Fixunssfdi, Fixunssfsi, Fixunssfti, Flag, FlatMap, Floatdidf, FLOATING, Floatsidf, Floatsisf, Floattidf, Floattisf, Floatundidf, Floatunsidf, Floatunsisf, Floatuntidf, Floatuntisf, flock, ForceResult, FormatSpec, Formatted, Formatter, Fp, FpCategory, fpos, fpos64, fpreg, fpregset, FPUControlWord, Frame, FromBytesWithNulError, FromUtf16Error, FromUtf8Error, FrontPlace, fsblkcnt, fsfilcnt, fsflags, fsid, fstore, fsword, FullBucket, FullBucketMut, FullDecoded, Fuse, GapThenFull, GeneratorState, gid, glob, glob64, GlobalDlmalloc, greg, group, GROUP, Guard, GUID, Handle, HANDLE, Handler, HashMap, HashSet, Heap, HINSTANCE, HMODULE, hostent, HRESULT, id, idtype, if, ifaddrs, IMAGEHLP, Immut, in, in6, Incoming, Infallible, Initializer, ino, ino64, inode, input, InsertResult, Inspect, Instant, int16, int32, int64, int8, integer, IntermediateBox, Internal, Intersection, intmax, IntoInnerError, IntoIter, IntoStringError, intptr, InvalidSequence, iovec, ip, IpAddr, ipc, Ipv4Addr, ipv6, Ipv6Addr, Ipv6MulticastScope, Iter, IterMut, itimerspec, itimerval, jail, JoinHandle, JoinPathsError, KDHELP64, kevent, kevent64, key, Key, Keys, KV, l4, LARGE, lastlog, launchpad, Layout, Lazy, lconv, Leaf, LeafOrInternal, Lines, LinesAny, LineWriter, linger, linkcount, LinkedList, load, locale, LocalKey, LocalKeyState, Location, lock, LockResult, loff, LONG, lookup, lookupflags, LookupHost, LPBOOL, LPBY, LPBYTE, LPCSTR, LPCVOID, LPCWSTR, LPDWORD, LPFILETIME, LPHANDLE, LPOVERLAPPED, LPPROCESS, LPPROGRESS, LPSECURITY, LPSTARTUPINFO, LPSTR, LPVOID, LPWCH, LPWIN32, LPWSADATA, LPWSAPROTOCOL, LPWSTR, Lshrdi3, Lshrti3, lwpid, M128A, mach, major, Map, mcontext, Metadata, Metric, MetricMap, mflags, minor, mmsghdr, Moddi3, mode, Modsi3, Modti3, MonitorMsg, MOUNT, mprot, mq, mqd, msflags, msghdr, msginfo, msglen, msgqnum, msqid, Muldf3, Mulodi4, Mulosi4, Muloti4, Mulsf3, Multi3, Mut, Mutex, MutexGuard, MyCollection, n16, NamePadding, NativeLibBoilerplate, nfds, nl, nlink, NodeRef, NoneError, NonNull, NonZero, nthreads, NulError, OccupiedEntry, off, off64, oflags, Once, OnceState, OpenOptions, Option, Options, OptRes, Ordering, OsStr, OsString, Output, OVERLAPPED, Owned, Packet, PanicInfo, Param, ParseBoolError, ParseCharError, ParseError, ParseFloatError, ParseIntError, ParseResult, Part, passwd, Path, PathBuf, PCONDITION, PCONSOLE, Peekable, PeekMut, Permissions, PhantomData, pid, Pipes, PlaceBack, PlaceFront, PLARGE, PoisonError, pollfd, PopResult, port, Position, Powidf2, Powisf2, Prefix, PrefixComponent, PrintFormat, proc, Process, PROCESS, processentry, protoent, PSRWLOCK, pthread, ptr, ptrdiff, PVECTORED, Queue, radvisory, RandomState, Range, RangeFrom, RangeFull, RangeInclusive, RangeMut, RangeTo, RangeToInclusive, RawBucket, RawFd, RawHandle, RawPthread, RawSocket, RawTable, RawVec, Rc, ReadDir, Receiver, recv, RecvError, RecvTimeoutError, ReentrantMutex, ReentrantMutexGuard, Ref, RefCell, RefMut, REPARSE, Repeat, Result, Rev, Reverse, riflags, rights, rlim, rlim64, rlimit, rlimit64, roflags, Root, RSplit, RSplitMut, RSplitN, RSplitNMut, RUNTIME, rusage, RwLock, RWLock, RwLockReadGuard, RwLockWriteGuard, sa, SafeHash, Scan, sched, scope, sdflags, SearchResult, SearchStep, SECURITY, SeekFrom, segment, Select, SelectionResult, sem, sembuf, send, Sender, SendError, servent, sf, Shared, shmatt, shmid, ShortReader, ShouldPanic, Shutdown, siflags, sigaction, SigAction, sigevent, sighandler, siginfo, Sign, signal, signalfd, SignalToken, sigset, sigval, Sink, SipHasher, SipHasher13, SipHasher24, size, SIZE, Skip, SkipWhile, Slice, SmallBoolTrie, sockaddr, SOCKADDR, sockcred, Socket, SOCKET, SocketAddr, SocketAddrV4, SocketAddrV6, socklen, speed, Splice, Split, SplitMut, SplitN, SplitNMut, SplitPaths, SplitWhitespace, spwd, SRWLOCK, ssize, stack, STACKFRAME64, StartResult, STARTUPINFO, stat, Stat, stat64, statfs, statfs64, StaticKey, statvfs, StatVfs, statvfs64, Stderr, StderrLock, StderrTerminal, Stdin, StdinLock, Stdio, StdioPipes, Stdout, StdoutLock, StdoutTerminal, StepBy, String, StripPrefixError, StrSearcher, subclockflags, Subdf3, SubI128, SuboI128, SuboU128, subrwflags, subscription, Subsf3, SubU128, Summary, suseconds, SYMBOL, SYMBOLIC, SymmetricDifference, SyncSender, sysinfo, System, SystemTime, SystemTimeError, Take, TakeWhile, tcb, tcflag, TcpListener, TcpStream, TempDir, TermInfo, TerminfoTerminal, termios, termios2, TestDesc, TestDescAndFn, TestEvent, TestFn, TestName, TestOpts, TestResult, Thread, threadattr, threadentry, ThreadId, tid, time, time64, timespec, TimeSpec, timestamp, timeval, timeval32, timezone, tm, tms, ToLowercase, ToUppercase, TraitObject, TryFromIntError, TryFromSliceError, TryIter, TryLockError, TryLockResult, TryRecvError, TrySendError, TypeId, U64x2, ucontext, ucred, Udivdi3, Udivmoddi4, Udivmodsi4, Udivmodti4, Udivsi3, Udivti3, UdpSocket, uid, UINT, uint16, uint32, uint64, uint8, uintmax, uintptr, ulflags, ULONG, ULONGLONG, Umoddi3, Umodsi3, Umodti3, UnicodeVersion, Union, Unique, UnixDatagram, UnixListener, UnixStream, Unpacked, UnsafeCell, UNWIND, UpgradeResult, useconds, user, userdata, USHORT, Utf16Encoder, Utf8Error, Utf8Lossy, Utf8LossyChunk, Utf8LossyChunksIter, utimbuf, utmp, utmpx, utsname, uuid, VacantEntry, Values, ValuesMut, VarError, Variables, Vars, VarsOs, Vec, VecDeque, vm, Void, WaitTimeoutResult, WaitToken, wchar, WCHAR, Weak, whence, WIN32, WinConsole, Windows, WindowsEnvKey, winsize, WORD, Wrapping, wrlen, WSADATA, WSAPROTOCOL, WSAPROTOCOLCHAIN, Wtf8, Wtf8Buf, Wtf8CodePoints, xsw, xucred, Zip, zx} +% +, morekeywords=[5]{assert!, assert_eq!, assert_ne!, cfg!, column!, compile_error!, concat!, concat_idents!, debug_assert!, debug_assert_eq!, debug_assert_ne!, env!, eprint!, eprintln!, file!, format!, format_args!, include!, include_bytes!, include_str!, line!, module_path!, option_env!, panic!, print!, println!, select!, stringify!, thread_local!, try!, unimplemented!, unreachable!, vec!, write!, writeln!} % prelude macros +}% + +\lstdefinestyle{colouredRust}% +{ basicstyle=\ttfamily% +, identifierstyle=% +, commentstyle=\color[gray]{0.4}% +, stringstyle=\color[rgb]{0, 0, 0.5}% +, keywordstyle=\bfseries% reserved keywords +, keywordstyle=[2]\color[rgb]{0.75, 0, 0}% traits +, keywordstyle=[3]\color[rgb]{0, 0.5, 0}% primitive types +, keywordstyle=[4]\color[rgb]{0, 0.5, 0}% type and value constructors +, keywordstyle=[5]\color[rgb]{0, 0, 0.75}% macros +, columns=spaceflexible% +, keepspaces=true% +, showspaces=false% +, showtabs=false% +, showstringspaces=true% +}% + +\lstdefinestyle{boxed}{ + style=colouredRust% +, numbers=left% +, firstnumber=auto% +, numberblanklines=true% +, frame=trbL% +, numberstyle=\tiny% +, frame=leftline% +, numbersep=7pt% +, framesep=5pt% +, framerule=10pt% +, xleftmargin=15pt% +, backgroundcolor=\color[gray]{0.97}% +, rulecolor=\color[gray]{0.90}% +} diff --git a/src/main.tex b/src/main.tex new file mode 100644 index 0000000..603e6a0 --- /dev/null +++ b/src/main.tex @@ -0,0 +1,434 @@ +% Template LaTeX file for IFC-24 papers +% +% To generate the correct references using BibTeX, run +% latex, bibtex, latex, latex +% modified... +% - from DAFx-00 to DAFx-02 by Florian Keiler, 2002-07-08 +% - from DAFx-02 to DAFx-03 by Gianpaolo Evangelista +% - from DAFx-05 to DAFx-06 by Vincent Verfaille, 2006-02-05 +% - from DAFx-06 to DAFx-07 by Vincent Verfaille, 2007-01-05 +% and Sylvain Marchand, 2007-01-31 +% - from DAFx-07 to DAFx-08 by Henri Penttinen, 2007-12-12 +% and Jyri Pakarinen 2008-01-28 +% - from DAFx-08 to DAFx-09 by Giorgio Prandi, Fabio Antonacci 2008-10-03 +% - from DAFx-09 to DAFx-10 by Hannes Pomberger 2010-02-01 +% - from DAFx-10 to DAFx-12 by Jez Wells 2011 +% - from DAFx-12 to DAFx-14 by Sascha Disch 2013 +% - from DAFx-15 to DAFx-16 by Pavel Rajmic 2015 +% - from DAFx-16 to IFC-18 by Romain Michon 2018 +% - from IFC-18 to IFC-20 by Pierre Guillot 2019 +% - from IFC-20 to IFC-22 by Yann Orlarey 2021 +% - from IFC-22 to IFC-24 by Romain Michon 2024 + +% +% Template with hyper-references (links) active after conversion to pdf +% (with the distiller) or if compiled with pdflatex. +% +% 20060205: added package 'hypcap' to correct hyperlinks to figures and tables +% use of \papertitle and \paperauthorA, etc for same title in PDF and Metadata +% +% 1) Please compile using latex or pdflatex. +% 2) If using pdflatex, you need your figures in a file format other than eps! e.g. png or jpg is working +% 3) Please use "paperftitle" and "pdfauthor" definitions below + +%------------------------------------------------------------------------------------------ +% ! ! ! ! ! ! ! ! ! ! ! ! user defined variables ! ! ! ! ! ! ! ! ! ! ! ! ! ! +% Please use these commands to define title and author(s) of the paper: +\def\papertitle{Design of VM Instruction Set for Lambda-Calculus Based Synchronous Signal Processing Language} +\def\paperauthorA{Tomoya Matsuura} + + +% Authors' affiliations have to be set below + +%------------------------------------------------------------------------------------------ +\documentclass[twoside,a4paper]{article} +\usepackage{IFC-24} +\usepackage{amsmath,amssymb,amsfonts,amsthm} +\usepackage{euscript} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{ifpdf} + + +\usepackage{color} +\usepackage{listings} +\definecolor{mygrey}{rgb}{0.96,0.96,0.96} +\lstset{ + tabsize=4, + basicstyle=\ttfamily, + backgroundcolor=\color{mygrey}, + captionpos=b, + breaklines=true +} + +\usepackage[english]{babel} +\usepackage{caption} +\usepackage{subfig, color} + +\setcounter{page}{1} +\ninept + +\usepackage{times} +% Saves a lot of ouptut space in PDF... after conversion with the distiller +% Delete if you cannot get PS fonts working on your system. + +% pdf-tex settings: detect automatically if run by latex or pdflatex +\newif\ifpdf +\ifx\pdfoutput\relax +\else + \ifcase\pdfoutput + \pdffalse + \else + \pdftrue +\fi + +\ifpdf % compiling with pdflatex + \usepackage[pdftex, + pdftitle={\papertitle}, + pdfauthor={\paperauthorA}, + colorlinks=false, % links are activated as colror boxes instead of color text + bookmarksnumbered, % use section numbers with bookmarks + pdfstartview=XYZ % start with zoom=100% instead of full screen; especially useful if working with a big screen :-) + ]{hyperref} + \pdfcompresslevel=9 + \usepackage[pdftex]{graphicx} + \usepackage[figure,table]{hypcap} +\else % compiling with latex + \usepackage[dvips]{epsfig,graphicx} + \usepackage[dvips, + colorlinks=false, % no color links + bookmarksnumbered, % use section numbers with bookmarks + pdfstartview=XYZ % start with zoom=100% instead of full screen + ]{hyperref} + % hyperrefs are active in the pdf file after conversion + \usepackage[figure,table]{hypcap} +\fi + +% Special Macros +\newcommand{\F}{\textsc{Faust}} + + +\title{\papertitle} + +%-------------SINGLE-AUTHOR HEADER STARTS (uncomment below if your paper has a single author)----------------------- +\affiliation{ +\paperauthorA \,\sthanks{This work was supported by JSPS KAKENHI (Grant No. JP19K21615). }} +{\href{https://matsuuratomoya.com}{Tokyo University of the Arts} \\ Tokyo, Japan\\ +{\tt \href{mailto:me@matsuuratomoya.com}{me@matsuuratomoya.com}} +} +%-----------------------------------SINGLE-AUTHOR HEADER ENDS------------------------------------------------------ + +%---------------TWO-AUTHOR HEADER STARTS (uncomment below if your paper has two authors)----------------------- +% \twoaffiliations{ +% \paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +% {\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +% {\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +% } +% {\paperauthorB \,\sthanks{This guy is a very good fellow}} +% {\href{http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/}{IKM, Music-Informatics} \\ +% Johannes Gutenberg University (JGU)\\ Maison des Sciences de l’Homme Paris Nord, France\\ +% {\tt \href{mailto:faust@uni-mainz.de}{faust@uni-mainz.de}} +% } +%-------------------------------------TWO-AUTHOR HEADER ENDS------------------------------------------------------ + +%---------------THREE-AUTHOR HEADER STARTS (uncomment below if your paper has three authors)----------------------- +% \threeaffiliations{ +% \paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +% {\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +% {\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +% } +% {\paperauthorB \,\sthanks{This guy is a very good fellow}} +% {\href{http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/}{IKM, Music-Informatics} \\ +% Johannes Gutenberg University (JGU)\\ Maison des Sciences de l’Homme Paris Nord, France\\ +% {\tt \href{mailto:faust@uni-mainz.de}{faust@uni-mainz.de}} +% } +% {\paperauthorC \,\sthanks{Illustrious contributor}} +% {\href{https://ccrma.stanford.edu}{CCRMA} \\ Stanford University, USA\\ +% {\tt \href{mailto:faust@ccrma.stanford.edu}{faust@ccrma.stanford.edu}} +% } +%-------------------------------------THREE-AUTHOR HEADER ENDS------------------------------------------------------ + +%----------------FOUR-AUTHOR HEADER STARTS (uncomment below if your paper has four authors)----------------------- +% \fouraffiliations{ +% \paperauthorA \,\sthanks{This work was supported by the XYZ Foundation}} +% {\href{http://grame.fr}{GRAME} \\ Lyon, France\\ +% {\tt \href{mailto:faust@grame.fr}{faust@grame.fr}} +% } +% {\paperauthorB \,\sthanks{This guy is a very good fellow}} +% {\href{http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/}{Johannes Gutenberg University (JGU)} \\ Maison des Sciences de l’Homme Paris Nord, France\\ +% {\tt \href{mailto:faust@uni-mainz.de}{faust@uni-mainz.de}} +% } +% {\paperauthorC \,\sthanks{Illustrious contributor}} +% {\href{https://ccrma.stanford.edu}{CCRMA} \\ Stanford University, USA\\ +% {\tt \href{mailto:faust@ccrma.stanford.edu}{faust@ccrma.stanford.edu}} +% } +% {\paperauthorD \,\sthanks{Thanks to the predessors for the templates}} +% {\href{https://www.univ-st-etienne.fr}{Jean Monnet University (UJM)} \\ +% Saint-Etienne, France \\ +% {\tt \href{mailto:faust@univ-st-etienne.fr}{faust@univ-st-etienne.fr}} +% } +%-------------------------------------FOUR-AUTHOR HEADER ENDS------------------------------------------------------ + + + +\begin{document} +% more pdf-tex settings: +\ifpdf % used graphic file format for pdflatex + \DeclareGraphicsExtensions{.png,.jpg,.pdf} +\else % used graphic file format for latex + \DeclareGraphicsExtensions{.eps} +\fi + +\maketitle + +\begin{abstract} +This is the template file for the proceedings of the third \F{} +International Conference (IFC-24). +This template has been derived from IFC-20 templates and aims at producing +conference proceedings in electronic form. +The format is essentially the one used for ICASSP conferences. Please use +either this \LaTeX{} or the accompanying Word formats when preparing your +submission. +\end{abstract} + +\section{Introduction} +\label{sec:intro} + +This template can be found on the conference website. + +\subsection{Figures} +\label{ssec:figures} + +All figures should be centered on the column (or page, if the figure spans both +columns). Figure captions (in italic) should follow each figure and have the +format given in Figure~\ref{fft_plot}. Vectorial figures are preferred (e.g., +Postscript, PDF, etc.). Also, in order to provide a better readability, figure +text font size should be at least identical to footnote font size. If bitmap +figures are used, please make sure that the resolution is enough for print +quality. Figure~\ref{ftt_plot2} illustrates an example of a figure spanning two +columns. + +\begin{figure}[ht] +\centerline{\includegraphics[scale=0.7]{counter.pdf}} +\caption{\label{fft_plot}{\it \F{} counter.}} +\end{figure} + +\begin{figure*}[ht] +\center +\includegraphics[width=5in]{TwoColumnSine2} +\caption{\label{ftt_plot2}{\it A figure spanning two columns, as mentioned in +Sec. \ref{ssec:figures}.}} +\end{figure*} + +\subsection{Tables} + +As for figures, all tables should be centered on the column (or page, if the +table spans both columns). Table captions should be in italic, precede each +table and have the format given in Table~\ref{tab:example}. + +\begin{table}[ht] + \caption{\itshape Basic trigonometric values.} + \centering + \begin{tabular}{|c|c|} + \hline + $\mathrm{angle}\,(\theta, \mathrm{rad})$ & $\sin \theta$ \\\hline + $\frac{\pi}{2}$ & $1$ \\ + $\pi$ & $0$ \\ + $\frac{3\pi}{2}$ & $-1$ \\ + $2\pi$ & $0$ \\\hline + \end{tabular} + % + \label{tab:example} +\end{table} + +\begin{table*}[ht] + \caption{{\it Basic trigonometric values, spanning two columns.}} + \centering + \begin{tabular}{|c|c|c|c|c|c|c|}\hline + $\mathrm{angle}\, (\theta, \mathrm{rad})$ & $\sin \theta$ & $\cos \theta $ & $(\sin \theta)/2 $ & $(\cos \theta) /2 $ & $(\sin \theta)/3 $ & $(\cos \theta)/3$ \\\hline + $\frac{\pi}{2}$ & $1$ & $0$ & $1/2$ & $0$ & $1/3$ & $0$ \\ + $\pi$ & $0$ & $-1$ & $0$ & $-1/2$ & $0$ & $-1/3$\\ + $\frac{3\pi}{2}$ & $-1$ & $0$ & $-1/2$ & $0$ & $-1/3$ & $0$ \\ + $2\pi$ & $0$ & $1$ & $0$ & $1/2$ & $0$ & $1/3$ \\\hline + \end{tabular} + % + \label{tab:example2} +\end{table*} + +\subsection{Equations} + +Equations should be placed on separate lines and numbered: + +\begin{equation} + y(n)=b_0x(n)-a_1y(n-1) + \label{eq1} + \end{equation} + where equation (\ref{eq1}) is a one pole filter with frequency response: + \begin{equation} + H(e^{j \omega T}) = \frac{b_0}{1+a_1e^{-j \omega T}} + \label{eq2} +\end{equation} + +\subsection{Code} + +Code can be listed in a block: + +\begin{lstlisting} + process = _; +\end{lstlisting} +\noindent +or directly in-lined in the body of the text: \lstinline{process = 1;}. + +\subsection{Page Numbers} + +Page numbers will be added to the document in the post-processing stage, so +{\em please leave the numbering as is}. + +\subsection{Reviewing} + +Submissions should not be anonymous for reviewing. + +\subsection{References} + +The references will be numbered in order of appearance \cite{Orlarey2009}, +\cite{Smith2012}, \cite{Graef2012} and \cite{Michon2011}. Please avoid listing +references that do not appear in the text. + +\subsubsection{Reference Format} + +The reference format is the standard IEEE one. We recommend to use BibTeX to +create the reference list. + +\section{Conclusions} + +This template can be found on the conference website. For changing the number +of author affiliations (1 to 4), uncomment the corresponding regions in the +template \texttt{tex} file. Please, submit full-length papers (2 to 14 pages). +Submission is fully electronic and automated through the Conference Web +Submission System. DO NOT send us papers directly by e-mail. + +\section{Acknowledgments} + +Many thanks to the great number of anonymous reviewers! + +%\newpage +\nocite{*} +\bibliographystyle{IEEEbib} +\bibliography{IFC-24} % requires file IFC-24.bib + +\section{Appendix: Margin Check} + +This section shows the column margins for the text. \bigskip\newline + +Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor +incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis +nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. +Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat +nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa +qui officia deserunt mollit anim id est laborum. + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan +et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis +dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore +magna aliquam erat volutpat. + +Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit +lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure +dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore +eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui +blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla +facilisi. + +Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming +id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, +consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut +laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis +nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea +commodo consequat. + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis. + +At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd +gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum +dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor +invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero +eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no +sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit +amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores +duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet +clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero +voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, +consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore +et dolore magna aliquyam erat. + +Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore +et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et +justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata +sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore +magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo +dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est +Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing +elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam +erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea +rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor +sit amet. + +Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor +incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis +nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. +Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat +nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa +qui officia deserunt mollit anim id est laborum. + + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan +et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis +dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore +magna aliquam erat volutpat. + +Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit +lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure +dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore +eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui +blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla +facilisi. + +Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming +id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, +consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut +laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis +nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea +commodo consequat. + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie +consequat, vel illum dolore eu feugiat nulla facilisis. + +At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd +gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum +dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor +invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero +eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no +sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, +consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo +eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea +et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. +est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore +magna aliquyam erat. + +Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore +et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et +justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata +sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur +sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore +magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo +dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est +Lorem ipsum dolor sit amet. + +\end{document} diff --git a/src/ref.bib b/src/ref.bib new file mode 100644 index 0000000..12bf06a --- /dev/null +++ b/src/ref.bib @@ -0,0 +1,372 @@ +@article{Lazzarini2013, +abstract = {This article traces the history and evolution of Music Programming , from the early off-line synthesis programs of the MUSIC N family to modern realtime interactive systems. It explores the main design characteristics of these systems and their impact on Computer Music. In chronological fashion, the article will examine, with code examples, the development of the early systems into the most common modern languages currently in use. In particular, we will focus on Csound, highlighting its main internal aspects and its applications. The text will also explore the various paradigms that have oriented the design and use of music programming systems. This discussion is completed by a consideration of computer music ecosystems and their pervasiveness in today's practice.}, +author = {Lazzarini, Victor}, +doi = {10.1080/09298215.2013.778890}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Lazzarini - 2013 - The Development of Computer Music Programming Systems.pdf:pdf}, +issn = {1744-5027}, +journal = {Journal of New Music Research}, +number = {1}, +pages = {97--110}, +publisher = {Victor Lazzarini}, +title = {{The Development of Computer Music Programming Systems}}, +url = {https://www.tandfonline.com/action/journalInformation?journalCode=nnmr20}, +volume = {42}, +year = {2013} +} +@article{Dannenberg2018, +author = {Dannenberg, Roger B.}, +doi = {10.3389/fdigh.2018.00026}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Dannenberg - 2018 - Languages for Computer Music.pdf:pdf}, +issn = {2297-2668}, +journal = {Frontiers in Digital Humanities}, +month = {nov}, +title = {{Languages for Computer Music}}, +url = {https://www.frontiersin.org/article/10.3389/fdigh.2018.00026/full}, +volume = {5}, +year = {2018} +} +@article{Wang2015, +abstract = {ChucK is a programming language designed for computer music. It aims to be expressive and straightforward to read and write with respect to time and concurrency, and to provide a platform for precise audio synthesis and analysis and for rapid experimentation in computer music. In particular, ChucK defines the notion of a strongly timed audio programming language, comprising a versatile time-based programming model that allows programmers to flexibly and precisely control the flow of time in code and use the keyword now as a time-aware control construct, and gives programmers the ability to use the timing mechanism to realize sample-accurate concurrent programming. Several case studies are presented that illustrate the workings, properties, and personality of the language. We also discuss applications of ChucK in laptop orchestras, computer music pedagogy, and mobile music instruments. Properties and affordances of the language and its future directions are outlined.}, +author = {Wang, Ge and Cook, Perry R and Salazar, Spencer}, +doi = {10.1162/COMJ_a_00324}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Wang, Cook, Salazar - 2015 - ChucK A Strongly Timed Computer Music Language.pdf:pdf}, +journal = {Computer Music Journal}, +number = {4}, +pages = {10--29}, +title = {{ChucK: A Strongly Timed Computer Music Language}}, +volume = {39}, +year = {2015}, +url = {https://ccrma.stanford.edu/~ge/publish/files/2015-cmj-chuck.pdf} +} +@inproceedings{Salazar2012, +author = {Salazar, Spencer and Wang, Ge}, +booktitle = {International Computer Music Conference Proceedings}, +pages = {60--63}, +title = {{CHUGENS, CHUBGRAPHS, CHUGINS: 3 TIERS FOR EXTENDING CHUCK}}, +url = {http://hdl.handle.net/2027/spo.bbp2372.2012.010}, +year = {2012} +} +@inproceedings{Puckette1997, +author = {Puckette, Miller S.}, +booktitle = {International Computer Music Conference Proceedings}, +file = {:Users/tomoya/Downloads/puredata_icmc97.pdf:pdf}, +issn = {2223-3881}, +publisher = {Michigan Publishing, University of Michigan Library}, +title = {{Pure Data}}, +url = {http://hdl.handle.net/2027/spo.bbp2372.1997.060}, +year = {1997} +} + +@phdthesis{Sorensen2018, +author = {Sorensen, Andrew Carl}, +doi = {10.25911/5D67B75C3AAF0}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Sorensen - 2018 - Extempore The design, implementation and application of a cyber-physical programming language(3).pdf:pdf}, +keywords = {Computer Music,Cyber,Extempore,High Performance Computing,Human Computer Interaction,Live Coding,Live Programming,Physical Programming}, +school = {The Australian National University}, +title = {{Extempore: The design, implementation and application of a cyber-physical programming language}}, +year = {2018} +} + +@article{Norilo2015, +abstract = {Kronos is a signal-processing programming language based on the principles of semifunctional reactive systems. It is aimed at efficient signal processing at the elementary level, and built to scale towards higher-level tasks by utilizing the powerful programming paradigms of "metaprogramming" and reactive multirate systems. The Kronos language features expressive source code as well as a streamlined, efficient runtime. The programming model presented is adaptable for both sample-stream and event processing, offering a cleanly functional programming paradigm for a wide range of musical signal-processing problems, exemplified herein by a selection and discussion of code examples.}, +author = {Norilo, Vesa}, +doi = {10.1162/COMJ_a_00330}, +journal = {Computer Music Journal}, +number = {4}, +pages = {30--48}, +title = {{Kronos: A Declarative Metaprogramming Language for Digital Signal Processing}}, +volume = {39}, +year = {2015}, +url = {https://dl.acm.org/doi/abs/10.1162/COMJ_a_00330} +} + +@inproceedings{Norilo2016, +author = {Norilo, Vesa}, +booktitle = {Proceedings of the International Computer Music Conference}, +file = {:Users/tomoya/Downloads/kronos-metasequencer.pdf:pdf}, +pages = {117--122}, +title = {{Kronos Meta-Sequencer – From Ugens to Orchestra, Score and Beyond}}, +year = {2016} +} +@phdthesis{Norilo2016phd, +author = {Norilo, Vesa}, +file = {:Users/tomoya/Downloads/sisus_b51.pdf:pdf}, +school = {University of the Arts Helsinki}, +title = {{Kronos: Reimagining musical signal processing}}, +year = {2016} +} + + +@article{Spinellis2001, +abstract = {The realisation of domain-specific languages (DSLS) differs in fundamental ways from that of traditional programming languages. We describe eight recurring patterns that we have identified as being used for DSL design and implementation. Existing languages can be extended, restricted, partially used, or become hosts for DSLS. Simple DSLS can be implemented by lexical processing. In addition, DSLS can be used to create front-ends to existing systems or to express complicated data structures. Finally, DSLS can be combined using process pipelines. The patterns described form a pattern language that can be used as a building block for a systematic view of the software development process involving DSLS. {\textcopyright} 2001 Elsevier Science Inc. All rights reserved.}, +author = {Spinellis, Diomidis}, +doi = {10.1016/S0164-1212(00)00089-3}, +file = {:Users/tomoya/Downloads/dslpat.pdf:pdf}, +issn = {01641212}, +journal = {Journal of Systems and Software}, +keywords = {Design patterns,Domain-specific languages}, +month = {feb}, +number = {1}, +pages = {91--99}, +publisher = {Elsevier Inc.}, +title = {{Notable design patterns for domain-specific languages}}, +volume = {56}, +year = {2001} +} +@article{McCartney2002, +author = {McCartney, James}, +doi = {10.1162/014892602320991383}, +file = {:Users/tomoya/Downloads/014892602320991383.pdf:pdf}, +issn = {01489267}, +journal = {Computer Music Journal}, +month = {dec}, +number = {4}, +pages = {61--68}, +publisher = {{MIT Press 238 Main St., Suite 500, Cambridge, MA 02142-1046 USA journals-info@mit.edu}}, +title = {{Rethinking the computer music language: SuperCollider}}, +volume = {26}, +year = {2002} +} +@article{Aaron2013, +abstract = {Domain Specific and Functional languages provide an excellent linguistic context for exploring new forms of music notation - not just for formalising compositions but also for live interaction workflows. This experience report describes two novel live coding systems that employ code execution to modify live sounds and music. The first of these systems, Sonic Pi, aims at teaching core computing notions to school students using live-coded music as a means of stimulating and maintaining student engagement. We describe how an emphasis on a functional style improves the ease in which core computer science concepts can be communicated to students. Secondly we describe Overtone, a functional language and live coding environment aimed towards professional electronic musicians. We describe how Overtone's abstractions and architecture strongly benefit from a functional-oriented implementation. Both Sonic Pi and Overtone are freely available open-source platforms.}, +author = {Aaron, Samuel and Blackwell, Alan F.}, +doi = {10.1145/2505341.2505346}, +file = {:Users/tomoya/Downloads/2505341.2505346.pdf:pdf}, +isbn = {9781450323864}, +journal = {Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP}, +keywords = {Computational thinking,Live coding,Pedagogy,Raspberry Pi,Sound synthesis}, +pages = {35--46}, +title = {{From Sonic Pi to overtone: Creative musical experiences with domain-specific and functional languages}}, +year = {2013} +} +@inproceedings{Sorensen2010, +abstract = {The act of computer programming is generally considered to be temporally removed from a computer program's execution. In this paper we discuss the idea of programming as an activity that takes place within the temporal bounds of a real-time computational process and its interactions with the physical world. We ground these ideas within the context of livecoding-a live audiovisual performance practice. We then describe how the development of the programming environment "Impromptu" has addressed our ideas of programming with time and the notion of the programmer as an agent in a cyber-physical system.}, +address = {New York, New York, USA}, +author = {Sorensen, Andrew and Gardner, Henry}, +booktitle = {Proceedings of the ACM international conference on Object oriented programming systems languages and applications - OOPSLA '10}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Sorensen, Gardner - 2010 - Programming With Time Cyber-physical programming with Impromptu(2).pdf:pdf}, +isbn = {9781450302036}, +keywords = {Concurrency,Cyber-physical Systems,D10 [Programming Techniques]: General-With-Time Programming General Terms Design,Experimentation,Hu-man Factors Keywords Time,Impromptu,Languages,Livecoding}, +publisher = {ACM Press}, +title = {{Programming With Time Cyber-physical programming with Impromptu}}, +year = {2010} +} + + +@misc{Storer2019, +author = {Storer, Julian}, +month = {nov}, +title = {{SOUL\_Overview.md}}, +url = {https://github.com/soul-lang/SOUL/blob/master/docs/SOUL_Overview.md}, +urldate = {2020-03-28}, +year = {2019} +} +@misc{Ruiz2020, +author = {Ruiz, Leonardo Laguna}, +title = {{Vult Language}}, +url = {http://modlfo.github.io/vult/}, +urldate = {2020-09-27}, +year = {2020} +} + + +@InProceedings{Lattner2004, +author = {Lattner, Chris and Adve, Vikram}, +title = {{LLVM: A Compilation Framework for Lifelong Program Analysis \& Transformation}}, +year = {2004}, +isbn = {0769521029}, +publisher = {IEEE Computer Society}, +address = {USA}, +abstract = {This paper describes LLVM (Low Level Virtual Machine),a compiler framework designed to support transparent, lifelongprogram analysis and transformation for arbitrary programs,by providing high-level information to compilertransformations at compile-time, link-time, run-time, and inidle time between runs.LLVM defines a common, low-levelcode representation in Static Single Assignment (SSA) form,with several novel features: a simple, language-independenttype-system that exposes the primitives commonly used toimplement high-level language features; an instruction fortyped address arithmetic; and a simple mechanism that canbe used to implement the exception handling features ofhigh-level languages (and setjmp/longjmp in C) uniformlyand efficiently.The LLVM compiler framework and coderepresentation together provide a combination of key capabilitiesthat are important for practical, lifelong analysis andtransformation of programs.To our knowledge, no existingcompilation approach provides all these capabilities.We describethe design of the LLVM representation and compilerframework, and evaluate the design in three ways: (a) thesize and effectiveness of the representation, including thetype information it provides; (b) compiler performance forseveral interprocedural problems; and (c) illustrative examplesof the benefits LLVM provides for several challengingcompiler problems.}, +booktitle = {Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization}, +pages = {75}, +location = {Palo Alto, California}, +series = {CGO '04}, +url = {https://llvm.org/pubs/2004-01-30-CGO-LLVM.html} +} + + + +@article{Orlarey2004, +author = {Orlarey, Y. and Fober, D. and Letz, S.}, +doi = {10.1007/s00500-004-0388-1}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Orlarey, Fober, Letz - 2004 - Syntactical and semantical aspects of Faust.pdf:pdf}, +isbn = {0050000403}, +issn = {14327643}, +journal = {Soft Computing}, +keywords = {Compiler,Dataflow,Functional programming,Real-time,Signal processing}, +number = {9}, +pages = {623--632}, +title = {{Syntactical and semantical aspects of Faust}}, +volume = {8}, +year = {2004} +} +@misc{Microsoft2020, +author = {Microsoft}, +title = {{Functions - F\# | Microsoft Docs}}, +url = {{https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/functions/#function-composition-and-pipelining}}, +urldate = {2020-06-06}, +year = {2020} +} + +@inproceedings{Scavone2002, +address = {Goteborg, Sweden}, +author = {Scavone, Gary P.}, +booktitle = {Proceedings of the 2002 International Computer Music Conference}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Scavone - 2002 - RtAudio A Cross-Platform C Class for Realtime Audio InputOutput.pdf:pdf}, +title = {{RtAudio: A Cross-Platform C++ Class for Realtime Audio Input/Output}}, +year = {2002} +} + +@misc{Klabnik2020, +author = {{Klabnik, Steve and Nichols}, Carol}, +title = {{The Rust Programming Language}}, +url = {https://doc.rust-lang.org/book/}, +urldate = {2020-06-01}, +year = {2020} +} + +@inproceedings{Sumii2005, +abstract = {We present a simple compiler, consisting of only 2000 lines of ML, for a strict, impure, monomorphic, and higher-order functional language. Although this language is minimal, our compiler generates as fast code as standard compilers like Objective Caml and GCC for several applications including ray tracing, written in the optimal style of each language implementation. Our primary purpose is education at undergraduate level to convince students-as well as average programmers - that functional languages are simple and efficient. Copyright {\textcopyright} 2005 ACM.}, +address = {New York, New York, USA}, +author = {Sumii, Eijiro}, +booktitle = {FDPE'05 - Proceedings of the ACM SIGPLAN 2005 Workshop on Functional and Declarative Programming in Education}, +doi = {10.1145/1085114.1085122}, +isbn = {1595930671}, +keywords = {Education,ML,Objective Caml,Teaching}, +pages = {27--38}, +publisher = {ACM Press}, +title = {{MinCaml: A simple and efficient compiler for a minimal functional language}}, +url = {http://portal.acm.org/citation.cfm?doid=1085114.1085122}, +year = {2005} +} + +@inproceedings{Dannenberg2005, +abstract = {This document contains a set of "design patterns" for real time systems, particularly for computer music systems. We see these patterns often because the problems that they solve come up again and again. Hopefully, these patterns will serve a more than just a set of canned solutions. It is perhaps even more important to understand the underlying problems, which often have subtle aspects and ramifications. By describing these patterns, we have tried to capture the problems, solutions, and a way of thinking about real-time systems design. We welcome your comments and questions.}, +author = {Dannenberg, Roger B and Bencina, Ross}, +booktitle = {ICMC 2005 Workshop on Real Time Systems Concepts for Computer Music}, +file = {::}, +title = {{Design Patterns for Real-Time Computer Music Systems}}, +url = {https://www.researchgate.net/publication/242648768_Design_Patterns_for_Real-Time_Computer_Music_Systems}, +year = {2005} +} + +@misc{Lopo, +author = {Lopo, Erik de Castro}, +title = {libsndfile}, +year={1990}, +url = {http://www.mega-nerd.com/libsndfile/}, +urldate = {2021-05-12} +} + +@misc{Sorensen2016, +author = {Sorensen, Andrew Carl}, +title = {{Time in Extempore}}, +url = {https://extemporelang.github.io/docs/overview/time}, +urldate = {2021-06-18}, +year = {2016} +} +@inproceedings{Ruggieri1988, +abstract = {The choice of binding time disciplines has major consequences for both the run-time efficiency of programs and the convenience of the language expressing algorithms. Late storage binding time, dynamic allocation, provides the flexibility necessary to implement the complex data structures common in today's object oriented style of programming. In this paper we show that compile-time lifetime analysis can be applied to programs written in languages with static type systems and dynamically allocated objects, to provide earlier storage binding time for objects, while maintaining all the advantages of dynamic allocation.}, +author = {Ruggieri, Cristina and Murtagh, Thomas P.}, +booktitle = {Conference Record of the Annual ACM Symposium on Principles of Programming Languages}, +doi = {10.1145/73560.73585}, +file = {::}, +isbn = {0897912527}, +issn = {07308566}, +month = {jan}, +pages = {285--293}, +publisher = {Association for Computing Machinery}, +title = {{Lifetime analysis of dynamically allocated objects}}, +volume = {Part F130193}, +year = {1988} +} +@article{Taha1997, +abstract = {We introduce MetaML, a statically-typed multi-stage programming language extending Nielson and Nielson's two stage notation to an arbitrary number of stages. MetaML extends previous work by introducing four distinct staging annotations which generalize those published previously [25, 12, 7, 6] We give a static semantics in which type checking is done once and for all before the first stage, and a dynamic semantics which introduces a new concept of cross-stage persistence, which requires that variables available in any stage are also available in all future stages. We illustrate that staging is a manual form of binding time analysis. We explain why, even in the presence of automatic binding time analysis, explicit annotations are useful, especially for programs with more than two stages. A thesis of this paper is that multi-stage languages are useful as programming languages in their own right, and should support features that make it possible for programmers to write staged computations without significantly changing their normal programming style. To illustrate this we provide a simple three stage example, and an extended two-stage example elaborating a number of practical issues.}, +author = {Taha, Walid and Sheard, Tim}, +doi = {10.1145/258994.259019}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Taha, Sheard - 1997 - Multi-Stage Programming with Explicit Annotations.pdf:pdf}, +issn = {03621340}, +journal = {SIGPLAN Notices (ACM Special Interest Group on Programming Languages)}, +month = {dec}, +number = {12}, +pages = {203--214}, +publisher = {Association for Computing Machinery (ACM)}, +title = {{Multi-Stage Programming with Explicit Annotations}}, +url = {https://dl-acm-org.anywhere.lib.kyushu-u.ac.jp/doi/abs/10.1145/258994.259019}, +volume = {32}, +year = {1997} +} + +@article{Ganz2001, +abstract = {With few exceptions, macros have traditionally been viewed as operations on syntax trees or even on plain strings. This view makes macros seem ad hoc, and is at odds with two desirable features of contemporary typed functional languages: static typing and static scoping. At a deeper level, there is a need for a simple, usable semantics for macros. This paper argues that these problems can be addressed by formally viewing macros as multi-stage computations. This view eliminates the need for freshness conditions and tests on variable names, and provides a compositional interpretation that can serve as a basis for designing a sound type system for languages supporting macros, or even for compilation. To illustrate our approach, we develop and present MacroML, an extension of ML that supports inlining, recursive macros, and the definition of new binding constructs. The latter is subtle, and is the most novel addition in a statically typed setting. The semantics of a core subset of MacroML is given by an interpretation into MetaML, a statically-typed multi-stage programming language. It is then easy to show that MacroML is stage- and type-safe: macro expansion does not depend on runtime evaluation, and both stages do not "go wrong". Copyright 2001 ACM.}, +author = {Ganz, Steven E. and Sabry, Amr and Taha, Walid}, +doi = {10.1145/507669.507646}, +issn = {03621340}, +journal = {SIGPLAN Notices (ACM Special Interest Group on Programming Languages)}, +month = {oct}, +number = {10}, +pages = {74--85}, +publisher = {Association for Computing Machinery}, +title = {{Macros as multi-stage computations: Type-safe, generative, binding macros in MacroML}}, +url = {https://dl-acm-org.anywhere.lib.kyushu-u.ac.jp/doi/abs/10.1145/507669.507646}, +volume = {36}, +year = {2001} +} + +@inproceedings{McLean2014, +abstract = {Live coding of music has grown into a vibrant international community of research and practice over the past decade, providing a new research domain where computer science blends with the performing arts. In this paper the domain of live coding is described, with focus on the programming language design challenges involved, and the ways in which a functional approach can meet those challenges. This leads to the introduction of Tidal 0.4, a Domain Specific Language embedded in Haskell. This is a substantial restructuring of Tidal, which now represents musical pattern as functions from time to events, inspired by Functional Reactive Programming. {\textcopyright} 2014 ACM.}, +address = {New York, New York, USA}, +author = {McLean, Alex}, +booktitle = {FARM 2014 - Proceedings of the 2014 ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design}, +doi = {10.1145/2633638.2633647}, +file = {:Users/tomoya/Downloads/2633638.2633647.pdf:pdf}, +isbn = {9781450330398}, +keywords = {domain specific languages,live coding,music}, +pages = {63--70}, +publisher = {Association for Computing Machinery}, +title = {{Making programming languages to dance to: Live coding with tidal}}, +url = {http://dl.acm.org/citation.cfm?doid=2633638.2633647}, +year = {2014} +} +@inproceedings{kirkbride2016, +author = {Kirkbride, Ryan}, +booktitle = {Proceedings of the International Conference on Live Interfaces}, +pages = {194--198}, +title = {{FoxDot: Live coding with python and supercollider}}, +year = {2016} +} +@article{Magnusson2011, +author = {Magnusson, Thor}, +issn = {2223-3881}, +journal = {International Computer Music Conference Proceedings}, +publisher = {Michigan Publishing, University of Michigan Library}, +title = {{The IXI Lang: A SuperCollider Parasite for Live Coding}}, +url = {http://hdl.handle.net/2027/spo.bbp2372.2011.101}, +volume = {2011}, +year = {2011} +} + + +@article{Puckette2002, +abstract = {Max is a computer environment for realizing live electronic music, named in honor of Max Mathews. The history of the Max paradigm is given, including background and influences; development of the three currently supported computer programs (Max/MSP, jmax, and Pd); design issues; scheduling; and programming. It is now possible to usefully assess what Max (the paradigm) does well, what it does less well, and what can be learned from the experience. The computer should ideally feel in the musician's hands like a musical instrument, needing only to be tuned and then played. Although Max has not completely reached this ideal (nor has any other piece of computer music software), it will hopefully prove to have been a step in a good direction.}, +author = {Puckette, Miller}, +doi = {10.1162/014892602320991356}, +file = {:Users/tomoya/Library/Application Support/Mendeley Desktop/Downloaded/Puckette - 2002 - Max at seventeen.pdf:pdf}, +issn = {01489267}, +journal = {Computer Music Journal}, +number = {4}, +pages = {31--43}, +pmid = {36920865}, +title = {{Max at seventeen}}, +volume = {26}, +year = {2002} +} + + +@book{Soseki1905, + author = {夏目漱石}, + title = {吾輩ハ猫デアル}, + publisher = {大倉書店}, + year = 1905 +} \ No newline at end of file