changeset 3:1b34d9710a84

add poster
author ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
date Mon, 15 Feb 2021 10:51:57 +0900
parents 68a602b80b3f
children 3139ed741e26
files chapter/main.tex master_paper.tex poster/#marp# poster/.Rhistory poster/Makefile poster/Makefile~ poster/assets/context1.svg poster/assets/context2.svg poster/assets/context_last.svg poster/assets/logo.svg poster/gen.sh poster/gen.sh~ poster/pic/dpp_image.bb poster/pic/dpp_image.pdf poster/pic/dpp_image.svg poster/pic/goto.pdf poster/pic/goto.svg poster/pic/input-outputDataSegment.pdf poster/pic/input-outputDataSegment.svg poster/pic/meta_gear.pdf poster/pic/meta_gear.svg poster/pic/meta_gear2.svg poster/pic/model_checking.odg poster/pic/model_checking.pdf poster/pic/model_checking.svg poster/poster.html poster/poster.md poster/poster.md~ poster/s6/images/logo.svg poster/s6/js/jquery-1.11.3.min.js poster/s6/js/jquery.microsoft.js poster/s6/js/jquery.slideshow.autoplay.js poster/s6/js/jquery.slideshow.controls.js poster/s6/js/jquery.slideshow.counter.js poster/s6/js/jquery.slideshow.footer.js poster/s6/js/jquery.slideshow.js poster/s6/js/jquery.slideshow.ready.js poster/s6/js/jquery.slideshow.transition.js poster/s6/js/less-2.5.3.min.js poster/s6/themes/blank.css poster/s6/themes/print.css poster/s6/themes/projection.css poster/s6/themes/screen.css poster/s62/screen.css poster/s62/slides.classes.js poster/s62/slides.kernel.js poster/s62/slides.keys.js poster/s62/slides.progress.js poster/s62/slides.state.js poster/scripts/prettify.css poster/scripts/prettify.js poster/themes/.keep poster/themes/example.css
diffstat 51 files changed, 7173 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/chapter/main.tex	Sat Feb 13 22:21:36 2021 +0900
+++ b/chapter/main.tex	Mon Feb 15 10:51:57 2021 +0900
@@ -9,7 +9,7 @@
 LTTLで検証できる 常に p または 常に$\neg$p と、いつか p またはいつか$\neg$p であるから、dead lock を検証する事が可能である。
 
 
-\section{Dining Philosohers Ploblem の例題}
+\section{Dining Philosophers Problem の例題}
 モデル検査の検証用のサンプルプログラムとしてDining Philosohers Ploblem (以下DPP)を用いる。これは資源共有問題の1つで、次のような内容である。
 
 5人の哲学者が円卓についており、各々スパゲッティーの皿が目の前に用意されている。スパゲッィーはとても絡まっているので食べるには2本のフォークを使わないと食べれない。しかしフォークはお皿の間に一本ずつおいてあるので、円卓にフォークが5本しか用意されていない。\ref{fig:DPP_image}哲学者は思索と食事を交互に繰り返している。空腹を覚えると、左右のオークを手に取ろうと試み、2本のフォークを取ることに成功するとしばし食事をし、しばらくするとフォークを置いて思索に戻る。隣の哲学者が食事中でフォークが手に取れない場合は、そのままフォークが置かれるのを待つ。
--- a/master_paper.tex	Sat Feb 13 22:21:36 2021 +0900
+++ b/master_paper.tex	Mon Feb 15 10:51:57 2021 +0900
@@ -12,7 +12,7 @@
 
 %\input{dummy.tex} %% font
 
-\jtitle{GersOS におけるル検査を実現する手法について}
+\jtitle{GearsOSでモデル検査を実現する手法について}
 \etitle{} %
 \year{2021年 3月}
 \eyear{March 2021}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/Makefile	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,12 @@
+TARGET = sigos
+
+.SUFFIXES: .md .html
+
+.md.html:
+	slideshow b $< -t s6blank
+
+all: $(TARGET).html
+	open $(TARGET).html
+
+clean: 
+	rm -f *.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/Makefile~	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,12 @@
+TARGET = slide
+
+.SUFFIXES: .md .html
+
+.md.html:
+	slideshow b $< -t s6blank
+
+all: $(TARGET).html
+	open $(TARGET).html
+
+clean: 
+	rm -f *.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/assets/context1.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="613px" height="113px" viewBox="-0.5 -0.5 613 113" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-05-27T06:35:43.077Z&quot; agent=&quot;5.0 (Macintosh)&quot; etag=&quot;owqeQxJgEDqNRXTCkNxS&quot; version=&quot;13.1.3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;AQVKn8Yv4vHMTmgfO7Ah&quot; name=&quot;Page-1&quot;&gt;7VZNc5swEP01HNPhI2B8NHaSXjrtjKfNtDcVrUETgagQBvfXd4UEmOC28UwOOeRia99qV6v3lgUn2BbdgyRV/klQ4I7v0s4Jdo7vr2MPfzVwMkC4Dg2QSUYN5E3Anv0GC7oWbRiFerZRCcEVq+ZgKsoSUjXDiJSinW87CD4/tSIZLIB9SvgSfWRU5QaN/dWEfwSW5cPJXrQ2noIMm+1N6pxQ0Z5BwZ0TbKUQyqyKbgtcczfwYuLu/+IdC5NQqpcEEPrjiX9txf3jSnxeud8D+Q1u7DWOhDf2wrZYdRoYwLorvTxw6DaaUSdIoKR2uUs5qWuWIpirgiPg4bJWUjyNhN2aiMGMQmNbsT33QxwgYg4GutBjuqA30obtBqIAJU+4pZ2ECS3Z+ZkmAyaBE8WO8/TE9kc2phtP+CIYHuy7tpXHPLaT/dtwnqIWjUzBRp0L8SxR6P4nkSIyA7VIhIuza09Qr/MVmnsXNI84kpUcRF/nJH70qxGD46bu9drgBlSlm5y4yvT/Fp/9ByByyIbFmYTGvWgsLBWfYjSSNmcK9hVJtafFOfKvbpp65QhSQXdtt9iAeC6Ct7b2WTN50YVu8obJdKlzZlJdrYv7Lox+PIK3p8ylMfkaymRCiZeqgoyqOf2Es6zUIxiZBYmA5p3hu2tjHQWjVIcnErAS8rNP5aJd6dnSsxQmTrjTuRolajuQX0fH4JmOvhsvdLw0rv3rVURzeo+aMTl9jAR3fwA=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 173 62.5 L 173 49.5 L 382.51 49.5 L 382.51 15 L 419 56 L 382.51 97 L 382.51 62.5 Z" fill="none" stroke="#000000" stroke-width="4" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="81" cy="56" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 56px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="81" y="60" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><ellipse cx="531" cy="56" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 56px; margin-left: 452px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="531" y="60" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><rect x="251" y="19" width="50" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 29px; margin-left: 276px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; "><font style="font-size: 20px">goto</font></div></div></div></foreignObject><text x="276" y="33" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">goto</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/assets/context2.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="672px" height="293px" viewBox="-0.5 -0.5 672 293" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-05-27T06:37:07.422Z&quot; agent=&quot;5.0 (Macintosh)&quot; etag=&quot;pXyEaRcD-u89NN3poAKe&quot; version=&quot;13.1.3&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;AQVKn8Yv4vHMTmgfO7Ah&quot; name=&quot;Page-1&quot;&gt;7ZfBctsgEIafRsdkhLAk+xjbSXpox5nJtGlywxKRNMbGRciW+/RdCRCS5TROOo7bmV5s+BcW2G8R4ODJsrwVZJ1+4TFljufGpYOnjueNhgh+K2GnBH/kKyERWawkZIX77CfVoqvVIotp3mkoOWcyW3fFiK9WNJIdjQjBt91mz5x1R12ThPaE+4iwvvqQxTJV6tALrf6JZklqRkbBSFmWxDTWK8lTEvNtS8LXDp4IzqUqLcsJZVXsTFxUv5sXrM3EBF3JYzqQ+GnBvm75zUPIZ6H7iMU3eqGXsSGs0AvWk5U7EwGY97oqPjNaXlURdfCYrmJdnEaM5HkWgZjKJQMBQTGXgi+agA1UD1MNfFXXsJF7OcSgqIFp3ONhF4iasEG6Ub6kUuygydaC8XWw0xYTownKiMw2XfdE50fSuGtGuOMZDOy5OpUbPzqTvYHfdZHzQkRU92qD2HMU9hy5XUeSiITKniMotJZtpZrzG5ijA8wDBsEaP/N6nhZ+8KPgxnCR17yuoAFQKa0RSkn1P4G9f0uJMN5gcsqhMvcSC6YKuxgq422aSXq/JlFl2cJ35HfZZHNlQ4Wk5VuzRXcYdiGgka63kgkFB7IJIfflzOmgeiuX4X8uYMHeXwcGH/+RjIr5EYGb82IV0/jzvBFItEhEpc4KybIV1XpMxGIGbjJZRcO9dP2u6NXqx7HAfRaeOeHbLLzRqVgMTrRJpkQSMKp94l4du1eEIllhONd+CfcYhQcYuQf2S3AqRP6HIBobp3Nh6fyr0Jq7xNmgBX8MDYUvHT4WWn2noeL96Mx3FkJNGKOMJ4IsoeGaigwCAa73bHfWcB7SAe6Qbj6p7ePMvInapIenIo2814+z99zvYW7f9ZaqK4/12eSb6rRsG6c7XXOOvPXD9Orr9ev3WnV7fi3Vz/aKGHR3Pt7f0ce+IjDac7SfMO9+RUDVvkpVc/u0x9e/AA==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 173.06 122.48 L 172.93 109.48 L 632.45 104.89 L 632.1 70.39 L 669 111.02 L 632.92 152.38 L 632.58 117.88 Z" fill="none" stroke="#000000" stroke-width="4" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="81" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="81" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><ellipse cx="321" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 242px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="321" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><path d="M 241 1 L 502 1 L 522 21 L 522 291 L 261 291 L 241 271 L 241 1 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 241 1 L 502 1 L 522 21 L 261 21 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="all"/><path d="M 241 1 L 261 21 L 261 291 L 241 271 Z" fill-opacity="0.1" fill="#000000" stroke="none" pointer-events="all"/><path d="M 261 291 L 261 21 L 241 1 M 261 21 L 522 21" fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="291" y="41" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 71px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear A</font></div></div></div></foreignObject><text x="391" y="75" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear A</text></switch></g><rect x="291" y="116" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 146px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear B<br /></font></div></div></div></foreignObject><text x="391" y="150" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear B&#xa;</text></switch></g><path d="M 284 271 L 323 191 L 479 191 L 440 271 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 193px; height: 1px; padding-top: 231px; margin-left: 285px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 17px">Code Gear Pointer<br /></font></div></div></div></foreignObject><text x="382" y="235" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Code Gear Pointer&#xa;</text></switch></g><path d="M 144.89 149.1 L 292.86 225.51" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.53 228.95 L 288.35 228.8 L 292.86 225.51 L 292.94 219.92 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/assets/context_last.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="843px" height="463px" viewBox="-0.5 -0.5 843 463" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-05-27T06:33:58.824Z&quot; agent=&quot;5.0 (Macintosh)&quot; version=&quot;13.1.3&quot; etag=&quot;ckA6ckliLs1KLlh26yxn&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;vQ_f-lmZXq0hr5uRBPwC&quot;&gt;7VnBdqMgFP2aLNsjosYsm6TTWbSnPSeLaZdEqTol4hBszHz9oIBKNK2Ttkl7ZjYtXOAB9737QDKCs1VxxVAW39AQk5FthcUIzke2PfGB+FsCWwm4E1cCEUtCCYEGWCS/sQItheZJiNdGR04p4UlmggFNUxxwA0OM0Y3Z7ZESc9YMRbgDLAJEuuiPJOSxRH173ODfcRLFembgTWTLCunOaifrGIV004Lg5QjOGKVcllbFDJOSO82LHPdtT2u9MIZTPmSALQc8I5Krval18a3erFhiVhYfCS4uSvJGcIrTUBXnAUHrdRIIMOYrIgAgimvO6FPNjSNH6KrnyrryK7DOfSgQOTEOO9Q3ewE1QyKyMF1hzraiy6bxgat4jVv0a4xhgnjybJpHKhSi2lw9wx1NxMS2paK2tqOC1nZc08Sa5izAalSb8x1D444hyzTEEYsw7xgShda2G6hyab97YY97PSJ4mT7SakmNn71fOdUNZ+vKNReig3BA0TSKUlT+nwlFX2HEtDWxDmlQNndiSKxKaFNUpps44XiRoaBs2Yjs8FLgNGHxjBnHxd8Ghhrgm3yDiaq34gZ4PYEDgLU/SAyvvOAC578LykC0T+kDd3iWC/LlAI6WNE9DHF4vawAFTxEr0duckyTFCg8Re7oVZhJebtw6t1wTtCv0eLTDLu22Po3btNuTd6Dd6wahyO4LVU1pydKUSSpLHkSNMh7TiKaIXFOaKRJ/Ys636rRAOaemL3CR8PtW+aGi1FW1eaEsV5WtrqRiK/eyo+NoQI60gK+BZnBVM0bfYZYIRjBTYPfI23OgyWNCHQXq8lIlfNXLGezkwQfaUIeNPyhXzRFHolGmK+tiaMoyQ+MkaWu8o59xj36snrTlvYN8/K8gHwfAtnzOjqufyefSz+Qo+plqo0vWSOerKqq+RR9DUfousZeRN+in0cxDq+U1/RhHzyuyOUghQH8ffxKJ6PW8QSNgvO8+3Gik+njC7HCl6Pug4AgRggmNGFqJjlkrbRltrXx2GmF50BBWffVr37D1O0tbWP57CKvvHeHf+8oZe6f8ygHwdBeGwbftdsIDH5LwnJ6EZ58w4X3UA8ANri4FX0shHjAV4vhHVciAh4BDnjZ7T/Mm1veE94Bghj2x/OneRR3TpXD3pjb0XRTuxAbcPZkOfhcV1eZJXXZvfpeAl38A&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 173.06 122.48 L 172.93 109.48 L 632.45 104.89 L 632.1 70.39 L 669 111.02 L 632.92 152.38 L 632.58 117.88 Z" fill="none" stroke="#000000" stroke-width="4" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="81" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="81" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><ellipse cx="321" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 242px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="321" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><path d="M 241 1 L 502 1 L 522 21 L 522 291 L 261 291 L 241 271 L 241 1 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 241 1 L 502 1 L 522 21 L 261 21 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="all"/><path d="M 241 1 L 261 21 L 261 291 L 241 271 Z" fill-opacity="0.1" fill="#000000" stroke="none" pointer-events="all"/><path d="M 261 291 L 261 21 L 241 1 M 261 21 L 522 21" fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 491 71 L 613.12 342.06" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 616.2 348.9 L 607.54 341.84 L 613.12 342.06 L 616.65 337.73 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="291" y="41" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 71px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear A</font></div></div></div></foreignObject><text x="391" y="75" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear A</text></switch></g><path d="M 491 146 L 591.54 338.41" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 595.01 345.06 L 585.95 338.51 L 591.54 338.41 L 594.81 333.88 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="291" y="116" width="200" height="60" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 146px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Data Gear B<br /></font></div></div></div></foreignObject><text x="391" y="150" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Gear B&#xa;</text></switch></g><path d="M 381.5 271 L 543.97 361.29" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 550.52 364.94 L 539.35 364.45 L 543.97 361.29 L 544.21 355.71 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 284 271 L 323 191 L 479 191 L 440 271 Z" fill="#ffffff" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 193px; height: 1px; padding-top: 231px; margin-left: 285px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 17px">Code Gear Pointer<br /></font></div></div></div></foreignObject><text x="382" y="235" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Code Gear Pointer&#xa;</text></switch></g><ellipse cx="761" cy="116" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 116px; margin-left: 682px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">CodeGear</font></div></div></div></foreignObject><text x="761" y="120" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeGear</text></switch></g><path d="M 667.57 367.11 L 755.85 181.81" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 759.08 175.04 L 759.29 186.22 L 755.85 181.81 L 750.26 181.91 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="611" cy="406" rx="80" ry="55" fill="#ffffff" stroke="#000000" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 406px; margin-left: 532px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 20px">Meta CodeGear</font></div></div></div></foreignObject><text x="611" y="410" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Meta CodeGear</text></switch></g><path d="M 144.89 149.1 L 292.86 225.51" fill="none" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.53 228.95 L 288.35 228.8 L 292.86 225.51 L 292.94 219.92 Z" fill="#000000" stroke="#000000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/assets/logo.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg3004"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   width="825.635"
+   height="268.76"
+   xml:space="preserve"
+   sodipodi:docname="logo.pdf"><metadata
+     id="metadata3010"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs3008"><clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3018"><path
+         d="m 8.504,8.504 643,0 0,198 -643,0 0,-198 z"
+         id="path3020" /></clipPath></defs><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3006"
+     showgrid="false"
+     inkscape:zoom="0.38152452"
+     inkscape:cx="412.8175"
+     inkscape:cy="134.38"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g3012" /><g
+     id="g3012"
+     inkscape:groupmode="layer"
+     inkscape:label="logo"
+     transform="matrix(1.25,0,0,-1.25,0,268.76)"><g
+       id="g3014"><g
+         id="g3016"
+         clip-path="url(#clipPath3018)"><g
+           id="g3022"
+           transform="translate(102.5332,135.6518)"><path
+             d="m 0,0 -11.408,22.813 -14.75,0 c -2.032,0 -3.681,1.648 -3.681,3.682 0,2.032 1.649,3.679 3.681,3.679 l 19.299,0 L 6.585,3.292 C 7.494,1.473 6.755,-0.737 4.938,-1.648 4.41,-1.914 3.849,-2.039 3.295,-2.038 1.944,-2.038 0.645,-1.291 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3024" /></g><g
+           id="g3026"
+           transform="translate(122.8477,70.1152)"><path
+             d="m 0,0 0,111.942 c 0,2.032 1.653,3.679 3.682,3.679 2.034,0 3.684,-1.647 3.684,-3.679 L 7.366,0 c 0,-2.034 -1.65,-3.681 -3.684,-3.681 C 1.653,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3028" /></g><g
+           id="g3030"
+           transform="translate(51.0649,133.6162)"><path
+             d="m 0,0 c -2.03,0 -3.681,1.648 -3.681,3.679 0,2.035 1.651,3.684 3.681,3.684 l 121.941,0 c 2.034,0 3.681,-1.649 3.681,-3.684 C 125.622,1.648 123.975,0 121.941,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3032" /></g><g
+           id="g3034"
+           transform="translate(102.144,70.1152)"><path
+             d="m 0,0 0,67.18 c 0,2.034 1.65,3.684 3.681,3.684 2.032,0 3.68,-1.65 3.68,-3.684 L 7.361,0 c 0,-2.034 -1.648,-3.681 -3.68,-3.681 C 1.65,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3036" /></g><g
+           id="g3038"
+           transform="translate(102.459,68.6269)"><path
+             d="m 0,0 -18.358,41.521 -16.469,0 0,-0.002 c -2.03,0 -3.679,1.652 -3.679,3.684 0,2.034 1.649,3.68 3.679,3.68 l 21.263,0 L 6.733,2.977 C 7.556,1.117 6.712,-1.057 4.853,-1.881 4.371,-2.092 3.866,-2.194 3.367,-2.194 1.955,-2.194 0.605,-1.375 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3040" /></g><g
+           id="g3042"
+           transform="translate(141.7153,70.1152)"><path
+             d="m 0,0 0,49.696 c 0,2.035 1.65,3.682 3.682,3.682 2.034,0 3.682,-1.647 3.682,-3.682 L 7.364,0 C 7.364,-2.034 5.716,-3.681 3.682,-3.681 1.65,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3044" /></g><g
+           id="g3046"
+           transform="translate(31.2803,66.4346)"><path
+             d="m 0,0 c -2.032,0 -3.682,1.647 -3.682,3.681 0,2.032 1.65,3.678 3.682,3.678 l 147.246,0 c 2.035,0 3.684,-1.646 3.684,-3.678 C 150.93,1.647 149.281,0 147.246,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3048" /></g><g
+           id="g3050"
+           transform="translate(164.7226,156.6235)"><path
+             d="m 0,0 c -2.03,0 -3.679,1.648 -3.679,3.681 0,2.033 1.649,3.682 3.679,3.682 l 49.701,0 c 2.028,0 3.68,-1.649 3.68,-3.682 C 53.381,1.648 51.729,0 49.701,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3052" /></g><g
+           id="g3054"
+           transform="translate(165.4023,87.7905)"><path
+             d="m 0,0 c -1.929,0.645 -2.974,2.727 -2.33,4.656 l 23.008,69.021 c 0.643,1.93 2.727,2.975 4.654,2.328 1.931,-0.642 2.974,-2.726 2.33,-4.653 L 4.653,2.328 C 4.14,0.785 2.703,-0.191 1.163,-0.191 0.776,-0.191 0.385,-0.129 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3056" /></g><g
+           id="g3058"
+           transform="translate(134.8149,37.9038)"><path
+             d="m 0,0 c -2.034,0 -3.682,1.65 -3.682,3.681 0,2.033 1.648,3.684 3.682,3.684 l 45.138,0 27.183,88.347 -32.29,0 0,-0.002 c -2.034,0 -3.679,1.651 -3.679,3.685 0,2.03 1.645,3.68 3.679,3.68 l 42.257,0 L 50.575,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3060" /></g><g
+           id="g3062"
+           transform="translate(160.1216,105.5478)"><path
+             d="m 0,0 c -2.032,0 -3.677,1.645 -3.677,3.679 0,2.034 1.645,3.68 3.677,3.68 l 41.875,0 c 2.034,0 3.684,-1.646 3.684,-3.68 C 45.559,1.645 43.909,0 41.875,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3064" /></g><g
+           id="g3066"
+           transform="translate(226.3838,104.1665)"><path
+             d="m 0,0 0,41.414 c 0,2.032 1.648,3.678 3.681,3.678 2.034,0 3.682,-1.646 3.682,-3.678 L 7.363,0 C 7.363,-2.032 5.715,-3.681 3.681,-3.681 1.648,-3.681 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3068" /></g><g
+           id="g3070"
+           transform="translate(203.8359,66.4346)"><path
+             d="m 0,0 c -2.032,0 -3.681,1.647 -3.681,3.681 0,2.032 1.649,3.678 3.681,3.678 l 43.255,0.004 0,96.631 0.002,0 c 0,2.032 1.65,3.681 3.679,3.681 2.033,0 3.684,-1.649 3.684,-3.681 L 50.62,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3072" /></g><g
+           id="g3074"
+           transform="translate(257.1143,101.0381)"><path
+             d="m 0,0 c -1.728,1.074 -2.259,3.342 -1.184,5.071 l 24.291,39.141 0,26.1 0.002,0 c 0,2.032 1.646,3.682 3.681,3.682 2.033,0 3.682,-1.65 3.682,-3.682 l 0,-28.201 L 5.071,1.189 C 4.372,0.063 3.171,-0.552 1.939,-0.552 1.276,-0.552 0.604,-0.375 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3076" /></g><g
+           id="g3078"
+           transform="translate(259.4902,40.251)"><path
+             d="m 0,0 c -1.751,1.034 -2.338,3.29 -1.308,5.042 l 17.897,30.427 0.002,61.575 c 0,2.034 1.649,3.684 3.682,3.684 2.031,0 3.681,-1.65 3.681,-3.684 l 0,-63.58 L 5.04,1.31 5.04,1.308 C 4.352,0.141 3.123,-0.508 1.864,-0.508 1.23,-0.508 0.587,-0.341 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3080" /></g><g
+           id="g3082"
+           transform="translate(295.8657,133.6162)"><path
+             d="m 0,0 c -2.032,0 -3.68,1.648 -3.68,3.679 0,2.035 1.648,3.684 3.68,3.684 l 119.181,0 c 2.034,0 3.679,-1.649 3.679,-3.684 C 122.86,1.648 121.215,0 119.181,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3084" /></g><g
+           id="g3086"
+           transform="translate(300.0078,153.8618)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.65 -3.679,3.682 0,2.034 1.647,3.683 3.679,3.683 l 52.918,0 c 2.034,0 3.683,-1.649 3.683,-3.683 C 56.601,1.65 54.952,0 52.918,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3088" /></g><g
+           id="g3090"
+           transform="translate(300.0078,116.5898)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.646 -3.679,3.682 0,2.031 1.647,3.682 3.679,3.682 l 52,0 c 2.032,0 3.68,-1.651 3.68,-3.682 C 55.68,1.646 54.032,0 52,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3092" /></g><g
+           id="g3094"
+           transform="translate(300.0078,99.5669)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.647 -3.679,3.679 0,2.035 1.647,3.68 3.679,3.68 l 52,0 c 2.032,0 3.68,-1.645 3.68,-3.68 C 55.68,1.647 54.032,0 52,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3096" /></g><g
+           id="g3098"
+           transform="translate(303.6885,62.7539)"><path
+             d="m 0,0 44.637,-0.001 0,20.708 L 0,20.707 0,0 z m 44.637,-24.85 0,17.488 -51.997,0 0,35.43 59.356,0 0,-31.75 0,-21.168 0.004,0 c 0,-2.03 -1.649,-3.681 -3.681,-3.681 -2.036,0 -3.682,1.651 -3.682,3.681"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3100" /></g><g
+           id="g3102"
+           transform="translate(373.6348,117.5122)"><path
+             d="M 0,0 0,3.682 0,0 z m 3.679,-11.503 33.131,0 0,11.503 -33.131,0 0,-11.503 z m -7.361,-7.363 0,22.548 0,3.679 47.854,0 0,-26.227 -47.854,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3104" /></g><g
+           id="g3106"
+           transform="translate(390.6577,63.6728)"><path
+             d="m 0,0 0,106.756 c 0,2.034 1.648,3.681 3.684,3.681 2.032,0 3.679,-1.647 3.679,-3.681 L 7.363,0 C 7.363,-2.034 5.716,-3.682 3.684,-3.682 1.648,-3.682 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3108" /></g><g
+           id="g3110"
+           transform="translate(356.6084,77.4766)"><path
+             d="m 0,0 c 0,2.034 1.645,3.682 3.681,3.682 l 15.513,0 15.473,23.211 c 1.127,1.691 3.414,2.147 5.105,1.02 1.694,-1.129 2.149,-3.414 1.022,-5.105 L 23.137,-3.679 3.681,-3.683 C 1.645,-3.683 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3112" /></g><g
+           id="g3114"
+           transform="translate(404.9238,74.7148)"><path
+             d="m 0,0 0,27.61 c 0,2.036 1.647,3.684 3.683,3.684 2.03,0 3.678,-1.648 3.678,-3.684 L 7.361,0 C 7.361,-2.03 5.713,-3.681 3.683,-3.681 1.647,-3.681 0,-2.03 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3116" /></g><g
+           id="g3118"
+           transform="translate(409.5255,153.8618)"><path
+             d="m 0,0 c -2.034,0 -3.679,1.65 -3.679,3.684 0,2.032 1.645,3.679 3.679,3.679 l 54.298,0 0,20.833 c 0,2.03 1.649,3.679 3.681,3.679 2.03,0 3.682,-1.649 3.682,-3.679 L 61.661,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3120" /></g><path
+           d="m 429.77,83 34.054,0 0,50.616 -34.054,0 0,-50.616 z m -7.362,-7.361 0,62.974 17.397,21.261 0.003,0 c 1.287,1.574 3.605,1.807 5.179,0.52 1.575,-1.287 1.805,-3.609 0.52,-5.183 l -11.648,-14.232 37.328,0 0,-65.34 -48.779,0 z"
+           style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           id="path3122" /><g
+           id="g3124"
+           transform="translate(426.0903,114.2891)"><path
+             d="m 0,0 c -2.034,0 -3.68,1.648 -3.68,3.681 0,2.034 1.646,3.682 3.68,3.682 l 41.414,0 c 2.03,0 3.682,-1.648 3.682,-3.682 C 45.096,1.648 43.444,0 41.414,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3126" /></g><g
+           id="g3128"
+           transform="translate(426.0903,94.9624)"><path
+             d="m 0,0 c -2.034,0 -3.68,1.648 -3.68,3.684 0,2.032 1.646,3.679 3.68,3.679 l 41.414,0 c 2.03,0 3.682,-1.647 3.682,-3.679 C 45.096,1.648 43.444,0 41.414,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3130" /></g><g
+           id="g3132"
+           transform="translate(380.9961,50.7886)"><path
+             d="m 0,0 c 0,2.032 1.648,3.682 3.682,3.682 l 39.064,0 11.437,24.56 c 0.854,1.844 3.046,2.644 4.889,1.782 1.841,-0.855 2.639,-3.045 1.782,-4.892 L 47.439,-3.681 3.682,-3.683 C 1.648,-3.683 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3134" /></g><g
+           id="g3136"
+           transform="translate(453.2397,37.9038)"><path
+             d="m 0,0 0,41.414 c 0,2.034 1.648,3.682 3.684,3.682 2.028,0 3.679,-1.648 3.679,-3.682 L 7.363,0 C 7.363,-2.03 5.712,-3.681 3.684,-3.681 1.648,-3.681 0,-2.03 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3138" /></g><g
+           id="g3140"
+           transform="translate(479.9297,140.979)"><path
+             d="m 0,0 c -2.034,0 -3.683,1.648 -3.683,3.684 0,2.029 1.649,3.677 3.683,3.677 l 42.795,0 c 2.031,0 3.679,-1.648 3.679,-3.677 C 46.474,1.648 44.826,0 42.795,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3142" /></g><g
+           id="g3144"
+           transform="translate(459.6821,79.3174)"><path
+             d="m 0,0 c 0,2.032 1.646,3.683 3.68,3.683 l 5.99,0 30.741,62.368 0.003,-0.003 c 0.897,1.827 3.103,2.574 4.926,1.678 1.825,-0.901 2.577,-3.108 1.678,-4.93 L 14.254,-3.679 3.68,-3.68 C 1.646,-3.68 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3146" /></g><path
+           d="m 497.412,83 21.629,0 0,29.907 -21.629,0 0,-29.907 z m -7.363,-34.053 0,30.37 0,40.955 36.355,0 0,-44.633 -28.992,-0.002 0,-26.69 c 0,-2.032 -1.647,-3.682 -3.68,-3.682 -2.033,0 -3.683,1.65 -3.683,3.682"
+           style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           id="path3148" /><g
+           id="g3150"
+           transform="translate(531.4644,153.8618)"><path
+             d="m 0,0 c 0,2.034 1.648,3.682 3.683,3.682 l 46.016,0 0,24.514 c 0,2.032 1.647,3.679 3.681,3.679 2.029,0 3.682,-1.647 3.682,-3.679 l 0,-31.875 -53.379,0 0,-0.003 C 1.648,-3.682 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3152" /></g><g
+           id="g3154"
+           transform="translate(531.0049,112.9072)"><path
+             d="m 0,0 c -2.032,0 -3.682,1.652 -3.682,3.683 0,2.033 1.65,3.682 3.682,3.682 l 99.395,0 c 2.032,0 3.679,-1.649 3.679,-3.682 C 103.074,1.652 101.427,0 99.395,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3156" /></g><g
+           id="g3158"
+           transform="translate(528.7994,59.8086)"><path
+             d="m 0,0 c -1.628,1.22 -1.96,3.525 -0.738,5.155 l 11.687,15.583 0,73.315 c 0,2.034 1.648,3.682 3.68,3.682 2.034,0 3.683,-1.648 3.683,-3.682 l 0,-75.769 L 5.152,0.733 C 4.427,-0.229 3.323,-0.738 2.203,-0.738 1.432,-0.737 0.659,-0.499 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3160" /></g><g
+           id="g3162"
+           transform="translate(568.7383,36.9849)"><path
+             d="m 0,0 0,116.877 c 0,2.034 1.644,3.682 3.681,3.682 2.035,0 3.682,-1.648 3.682,-3.682 L 7.363,0 C 7.363,-2.036 5.716,-3.681 3.681,-3.681 1.644,-3.681 0,-2.036 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3164" /></g><g
+           id="g3166"
+           transform="translate(168.8662,160.3042)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.144,-4.142 -2.285,0 -4.138,1.853 -4.138,4.142 0,2.289 1.853,4.142 4.138,4.142 C -1.854,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3168" /></g><g
+           id="g3170"
+           transform="translate(162.4238,160.3042)"><path
+             d="M 0,0 C 0.003,-1.268 1.032,-2.297 2.299,-2.3 3.57,-2.297 4.6,-1.268 4.601,0 4.6,1.27 3.57,2.301 2.299,2.302 1.032,2.301 0.003,1.27 0,0 m -3.683,0 c 0.002,3.306 2.68,5.981 5.982,5.985 C 5.606,5.981 8.282,3.306 8.282,0 8.282,-3.304 5.606,-5.979 2.299,-5.981 -1.003,-5.979 -3.681,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3172" /></g><g
+           id="g3174"
+           transform="translate(55.2051,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.14,-4.142 -2.285,0 -4.14,1.853 -4.14,4.142 0,2.285 1.855,4.14 4.14,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3176" /></g><g
+           id="g3178"
+           transform="translate(48.7646,137.2983)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.299 2.3,-2.302 3.574,-2.299 4.599,-1.27 4.603,0 4.599,1.268 3.574,2.295 2.3,2.302 1.031,2.295 0.003,1.268 0,0 m -3.681,0 c 0.004,3.304 2.678,5.981 5.981,5.981 3.306,0 5.983,-2.677 5.983,-5.981 0,-3.307 -2.677,-5.983 -5.983,-5.983 -3.303,0 -5.977,2.676 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3180" /></g><g
+           id="g3182"
+           transform="translate(71.772,113.8301)"><path
+             d="m 0,0 c 0,-2.291 -1.852,-4.14 -4.138,-4.14 -2.289,0 -4.142,1.849 -4.142,4.14 0,2.285 1.853,4.14 4.142,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3184" /></g><g
+           id="g3186"
+           transform="translate(65.333,113.8301)"><path
+             d="M 0,0 C 0.002,-1.27 1.029,-2.297 2.301,-2.301 3.569,-2.297 4.596,-1.27 4.598,0 4.596,1.271 3.569,2.3 2.301,2.3 1.029,2.3 0.002,1.271 0,0 m -3.681,0 c 0,3.304 2.675,5.979 5.982,5.981 C 5.603,5.979 8.278,3.304 8.28,0 8.278,-3.306 5.603,-5.981 2.301,-5.981 c -3.307,0 -5.982,2.675 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3188" /></g><g
+           id="g3190"
+           transform="translate(35.4204,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.853,-4.142 -4.142,-4.142 -2.285,0 -4.138,1.853 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.853,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3192" /></g><g
+           id="g3194"
+           transform="translate(28.98,70.1152)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.299 2.3,-2.3 3.57,-2.299 4.598,-1.27 4.599,0 4.598,1.27 3.57,2.297 2.3,2.302 1.029,2.297 0.001,1.27 0,0 m -3.681,0 c 0,3.304 2.676,5.981 5.981,5.983 C 5.604,5.981 8.28,3.304 8.282,0 8.28,-3.304 5.604,-5.983 2.3,-5.983 c -3.305,0 -5.981,2.679 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3196" /></g><g
+           id="g3198"
+           transform="translate(80.5166,162.147)"><path
+             d="m 0,0 c 0,-2.29 -1.853,-4.143 -4.142,-4.143 -2.287,0 -4.14,1.853 -4.14,4.143 0,2.287 1.853,4.138 4.14,4.138 C -1.853,4.138 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3200" /></g><g
+           id="g3202"
+           transform="translate(74.0742,162.147)"><path
+             d="M 0,0 C 0.002,-1.271 1.029,-2.299 2.302,-2.3 3.569,-2.299 4.6,-1.271 4.601,0 4.6,1.268 3.569,2.297 2.302,2.301 1.029,2.297 0.002,1.268 0,0 m -3.679,0 c 0,3.3 2.674,5.979 5.981,5.979 3.302,0 5.98,-2.679 5.98,-5.979 0,-3.305 -2.678,-5.983 -5.98,-5.984 -3.307,0.001 -5.981,2.679 -5.981,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3204" /></g><g
+           id="g3206"
+           transform="translate(149.5425,119.811)"><path
+             d="m 0,0 c 0,-2.287 -1.856,-4.142 -4.145,-4.142 -2.285,0 -4.142,1.855 -4.142,4.142 0,2.289 1.857,4.143 4.142,4.143 C -1.856,4.143 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3208" /></g><g
+           id="g3210"
+           transform="translate(143.0952,119.811)"><path
+             d="M 0,0 C 0.005,-1.27 1.032,-2.297 2.302,-2.302 3.574,-2.297 4.603,-1.27 4.603,0 4.603,1.27 3.574,2.299 2.302,2.302 1.032,2.299 0.005,1.27 0,0 M -3.681,0 C -3.677,3.305 -1.003,5.979 2.302,5.981 5.606,5.979 8.282,3.305 8.283,0 8.282,-3.306 5.606,-5.979 2.302,-5.981 -1.003,-5.979 -3.677,-3.306 -3.681,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3212" /></g><g
+           id="g3214"
+           transform="translate(132.5146,41.5845)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.14 -4.142,-4.14 -2.288,0 -4.142,1.851 -4.142,4.14 0,2.287 1.854,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3216" /></g><g
+           id="g3218"
+           transform="translate(126.0723,41.5859)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.3 2.3,-2.302 3.572,-2.3 4.594,-1.27 4.601,0 4.594,1.27 3.572,2.297 2.3,2.303 1.029,2.297 0.001,1.27 0,0 m -3.679,0 c 0,3.304 2.674,5.981 5.979,5.981 C 5.604,5.981 8.28,3.304 8.282,0 8.28,-3.307 5.604,-5.981 2.3,-5.984 -1.005,-5.981 -3.679,-3.307 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3220" /></g><g
+           id="g3222"
+           transform="translate(130.6733,182.0576)"><path
+             d="m 0,0 c 0,-2.291 -1.856,-4.144 -4.14,-4.144 -2.287,0 -4.144,1.853 -4.144,4.144 0,2.287 1.857,4.14 4.144,4.14 C -1.856,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3224" /></g><g
+           id="g3226"
+           transform="translate(124.231,182.0576)"><path
+             d="M 0,0 C 0.002,-1.273 1.031,-2.301 2.302,-2.303 3.571,-2.301 4.596,-1.273 4.601,0 4.596,1.266 3.571,2.295 2.302,2.299 1.031,2.295 0.002,1.266 0,0 m -3.681,0 c 0,3.304 2.678,5.981 5.983,5.981 3.301,0 5.98,-2.677 5.98,-5.981 0,-3.308 -2.679,-5.983 -5.98,-5.983 -3.305,0 -5.983,2.675 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3228" /></g><g
+           id="g3230"
+           transform="translate(164.2666,109.227)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.14 -4.145,-4.14 -2.285,0 -4.14,1.851 -4.14,4.14 0,2.289 1.855,4.143 4.14,4.143 C -1.855,4.143 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3232" /></g><g
+           id="g3234"
+           transform="translate(157.8227,109.227)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.299 2.299,-2.301 3.57,-2.299 4.598,-1.27 4.601,0 4.598,1.271 3.57,2.297 2.299,2.302 1.029,2.297 0.001,1.271 0,0 m -3.683,0 c 0,3.305 2.68,5.984 5.982,5.984 3.304,0 5.983,-2.679 5.983,-5.984 0,-3.304 -2.679,-5.981 -5.983,-5.981 -3.302,0 -5.982,2.677 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3236" /></g><g
+           id="g3238"
+           transform="translate(170.7056,91.2817)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.14,-4.142 -2.289,0 -4.142,1.855 -4.142,4.142 0,2.287 1.853,4.14 4.142,4.14 C -1.853,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3240" /></g><g
+           id="g3242"
+           transform="translate(164.2666,91.2817)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.295 2.299,-2.301 3.569,-2.295 4.594,-1.27 4.6,0 4.594,1.27 3.569,2.297 2.299,2.302 1.029,2.297 0,1.27 0,0 M -3.684,0 C -3.682,3.304 -1.006,5.978 2.299,5.983 5.603,5.978 8.278,3.304 8.278,0 c 0,-3.306 -2.675,-5.981 -5.979,-5.981 -3.305,0 -5.981,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3244" /></g><g
+           id="g3246"
+           transform="translate(218.5615,160.3042)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.142 -4.138,-4.142 -2.289,0 -4.142,1.853 -4.142,4.142 0,2.289 1.853,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3248" /></g><g
+           id="g3250"
+           transform="translate(212.1211,160.3076)"><path
+             d="M 0,0 C 0.002,-1.273 1.031,-2.302 2.302,-2.304 3.57,-2.302 4.6,-1.273 4.601,0 4.6,1.267 3.57,2.297 2.302,2.297 1.031,2.297 0.002,1.267 0,0 m -3.682,0 c 0,3.302 2.679,5.978 5.984,5.978 C 5.606,5.978 8.28,3.302 8.282,0 8.28,-3.307 5.606,-5.981 2.302,-5.984 -1.003,-5.981 -3.682,-3.307 -3.682,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3252" /></g><g
+           id="g3254"
+           transform="translate(234.2065,145.5801)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.139,-4.142 -2.288,0 -4.143,1.853 -4.143,4.142 0,2.287 1.855,4.142 4.143,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3256" /></g><g
+           id="g3258"
+           transform="translate(227.7676,145.5801)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.299 2.297,-2.3 3.568,-2.299 4.596,-1.27 4.599,0 4.596,1.271 3.568,2.299 2.297,2.299 1.029,2.299 0,1.271 0,0 m -3.683,0 c 0,3.306 2.678,5.981 5.98,5.983 C 5.603,5.981 8.28,3.306 8.28,0 8.28,-3.304 5.603,-5.979 2.297,-5.981 -1.005,-5.979 -3.683,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3260" /></g><g
+           id="g3262"
+           transform="translate(207.9795,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.142 -4.142,-4.142 -2.287,0 -4.142,1.853 -4.142,4.142 0,2.287 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3264" /></g><g
+           id="g3266"
+           transform="translate(201.5351,70.1152)"><path
+             d="m 0,0 c 0.005,-1.27 1.031,-2.299 2.302,-2.3 1.272,10e-4 2.3,1.03 2.3,2.3 0,1.27 -1.028,2.297 -2.3,2.302 C 1.031,2.297 0.005,1.27 0,0 m -3.679,0 c 0,3.304 2.676,5.981 5.981,5.983 C 5.606,5.981 8.284,3.304 8.284,0 c 0,-3.304 -2.678,-5.983 -5.982,-5.983 -3.305,0 -5.981,2.679 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3268" /></g><g
+           id="g3270"
+           transform="translate(234.2065,104.1665)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.139,-4.142 -2.288,0 -4.143,1.855 -4.143,4.142 0,2.287 1.855,4.143 4.143,4.143 C -1.854,4.143 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3272" /></g><g
+           id="g3274"
+           transform="translate(227.7642,104.1665)"><path
+             d="M 0,0 C 0.003,-1.27 1.032,-2.299 2.3,-2.301 3.57,-2.299 4.601,-1.27 4.601,0 4.601,1.27 3.57,2.297 2.3,2.304 1.032,2.297 0.003,1.27 0,0 m -3.679,0 c 0,3.304 2.678,5.979 5.979,5.981 C 5.606,5.979 8.283,3.304 8.283,0 c 0,-3.306 -2.677,-5.981 -5.983,-5.981 -3.301,0 -5.979,2.675 -5.979,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3276" /></g><g
+           id="g3278"
+           transform="translate(182.6714,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.857,-4.142 -4.142,-4.142 -2.287,0 -4.143,1.853 -4.143,4.142 0,2.287 1.856,4.142 4.143,4.142 C -1.857,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3280" /></g><g
+           id="g3282"
+           transform="translate(176.229,70.1152)"><path
+             d="M 0,0 C 0.001,-1.27 1.032,-2.299 2.299,-2.3 3.57,-2.299 4.6,-1.27 4.603,0 4.6,1.27 3.57,2.297 2.299,2.302 1.032,2.297 0.001,1.27 0,0 m -3.684,0 c 0,3.304 2.679,5.981 5.983,5.983 C 5.604,5.981 8.278,3.304 8.28,0 8.278,-3.304 5.604,-5.983 2.299,-5.983 c -3.304,0 -5.983,2.679 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3284" /></g><g
+           id="g3286"
+           transform="translate(265.4971,43.4258)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.14,-4.142 -2.287,0 -4.142,1.855 -4.142,4.142 0,2.288 1.855,4.142 4.142,4.142 C -1.853,4.142 0,2.288 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3288" /></g><g
+           id="g3290"
+           transform="translate(259.0552,43.4258)"><path
+             d="M 0,0 C 0.001,-1.269 1.03,-2.297 2.302,-2.301 3.572,-2.297 4.599,-1.269 4.603,0 4.599,1.271 3.572,2.3 2.302,2.302 1.03,2.3 0.001,1.271 0,0 m -3.681,0 c 0,3.305 2.676,5.981 5.983,5.981 3.305,0 5.981,-2.676 5.981,-5.981 0,-3.304 -2.676,-5.979 -5.981,-5.981 -3.307,0.002 -5.983,2.677 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3292" /></g><g
+           id="g3294"
+           transform="translate(254.915,170.4287)"><path
+             d="m 0,0 c 0,-2.288 -1.855,-4.144 -4.142,-4.144 -2.287,0 -4.142,1.856 -4.142,4.144 0,2.285 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3296" /></g><g
+           id="g3298"
+           transform="translate(248.4746,170.4287)"><path
+             d="M 0,0 C 0.001,-1.271 1.029,-2.297 2.297,-2.3 3.568,-2.297 4.596,-1.271 4.598,0 4.596,1.27 3.568,2.299 2.297,2.301 1.029,2.299 0.001,1.27 0,0 m -3.683,0 c 0,3.304 2.676,5.983 5.98,5.983 C 5.604,5.983 8.28,3.304 8.28,0 8.28,-3.305 5.604,-5.981 2.297,-5.983 -1.007,-5.981 -3.683,-3.305 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3300" /></g><g
+           id="g3302"
+           transform="translate(288.0454,171.3496)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.14 -4.142,-4.14 -2.287,0 -4.14,1.853 -4.14,4.14 0,2.285 1.853,4.142 4.14,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3304" /></g><g
+           id="g3306"
+           transform="translate(281.603,171.3496)"><path
+             d="M 0,0 C 0,-1.271 1.029,-2.299 2.301,-2.301 3.57,-2.299 4.6,-1.271 4.601,0 4.6,1.271 3.57,2.299 2.301,2.299 1.029,2.299 0,1.271 0,0 m -3.679,0 c 0,3.304 2.676,5.981 5.98,5.981 3.305,0 5.983,-2.677 5.983,-5.981 0,-3.306 -2.678,-5.981 -5.983,-5.981 -3.304,0 -5.98,2.675 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3308" /></g><g
+           id="g3310"
+           transform="translate(263.1968,104.1665)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.142,-4.142 -2.288,0 -4.14,1.855 -4.14,4.142 0,2.287 1.852,4.143 4.14,4.143 C -1.853,4.143 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3312" /></g><g
+           id="g3314"
+           transform="translate(256.7545,104.1665)"><path
+             d="M 0,0 C 0,-1.27 1.031,-2.299 2.301,-2.301 3.57,-2.299 4.6,-1.27 4.603,0 4.6,1.27 3.57,2.299 2.301,2.304 1.031,2.299 0,1.27 0,0 m -3.682,0 c 0,3.304 2.679,5.979 5.983,5.981 C 5.604,5.979 8.282,3.304 8.284,0 8.282,-3.306 5.604,-5.981 2.301,-5.981 c -3.304,0 -5.983,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3316" /></g><g
+           id="g3318"
+           transform="translate(304.1528,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.145,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3320" /></g><g
+           id="g3322"
+           transform="translate(297.707,157.5439)"><path
+             d="M 0,0 C 0.003,-1.271 1.033,-2.295 2.301,-2.302 3.572,-2.295 4.601,-1.271 4.604,0 4.601,1.27 3.572,2.299 2.301,2.303 1.033,2.299 0.003,1.27 0,0 m -3.679,0 c 0,3.304 2.673,5.979 5.98,5.981 C 5.606,5.979 8.284,3.304 8.285,0 8.284,-3.304 5.606,-5.981 2.301,-5.981 c -3.307,0 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3324" /></g><g
+           id="g3326"
+           transform="translate(357.0693,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.143,-4.142 -2.287,0 -4.14,1.855 -4.14,4.142 0,2.287 1.853,4.142 4.14,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3328" /></g><g
+           id="g3330"
+           transform="translate(350.6255,157.5439)"><path
+             d="M 0,0 C 0.002,-1.268 1.033,-2.3 2.297,-2.302 3.571,-2.3 4.6,-1.271 4.603,0 4.6,1.27 3.571,2.299 2.297,2.303 1.033,2.299 0.002,1.27 0,0 M -3.682,0 C -3.68,3.304 -1.003,5.979 2.297,5.981 5.604,5.979 8.282,3.304 8.282,0 c 0,-3.304 -2.678,-5.981 -5.985,-5.981 -3.3,0 -5.977,2.677 -5.979,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3332" /></g><g
+           id="g3334"
+           transform="translate(300.0078,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.138,-4.142 -2.289,0 -4.142,1.853 -4.142,4.142 0,2.285 1.853,4.14 4.142,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3336" /></g><g
+           id="g3338"
+           transform="translate(293.5669,137.2949)"><path
+             d="M 0,0 C 0.002,-1.267 1.029,-2.295 2.303,-2.299 3.572,-2.295 4.6,-1.267 4.602,0 4.6,1.273 3.572,2.299 2.303,2.304 1.029,2.299 0.002,1.273 0,0 m -3.68,0 c 0,3.307 2.677,5.981 5.983,5.985 C 5.604,5.981 8.28,3.307 8.284,0 8.28,-3.304 5.604,-5.978 2.303,-5.979 -1.003,-5.978 -3.68,-3.304 -3.68,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3340" /></g><g
+           id="g3342"
+           transform="translate(419.1885,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.142,-4.142 -2.285,0 -4.139,1.853 -4.139,4.142 0,2.285 1.854,4.14 4.139,4.14 C -1.854,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3344" /></g><g
+           id="g3346"
+           transform="translate(412.7461,137.2983)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.299 2.299,-2.302 3.571,-2.299 4.598,-1.27 4.602,0 4.598,1.27 3.571,2.295 2.299,2.302 1.029,2.295 0,1.27 0,0 m -3.679,0 c 0,3.306 2.674,5.978 5.978,5.981 C 5.608,5.978 8.284,3.302 8.284,0 8.284,-3.305 5.608,-5.981 2.299,-5.983 -1.005,-5.981 -3.679,-3.307 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3348" /></g><g
+           id="g3350"
+           transform="translate(304.1528,120.272)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.145,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.14 4.138,4.14 C -1.855,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3352" /></g><g
+           id="g3354"
+           transform="translate(297.707,120.272)"><path
+             d="M 0,0 C 0.003,-1.268 1.033,-2.299 2.301,-2.302 3.572,-2.299 4.601,-1.268 4.604,0 4.601,1.268 3.572,2.299 2.301,2.301 1.033,2.299 0.003,1.268 0,0 m -3.679,0 c 0,3.306 2.673,5.978 5.98,5.983 C 5.606,5.978 8.284,3.306 8.285,0 8.284,-3.304 5.606,-5.978 2.301,-5.981 -1.006,-5.978 -3.679,-3.304 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3356" /></g><g
+           id="g3358"
+           transform="translate(304.1528,103.2456)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.143 -4.145,-4.143 -2.285,0 -4.138,1.854 -4.138,4.143 0,2.287 1.853,4.144 4.138,4.144 C -1.855,4.144 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3360" /></g><g
+           id="g3362"
+           transform="translate(297.707,103.2456)"><path
+             d="M 0,0 C 0.003,-1.27 1.033,-2.297 2.301,-2.299 3.572,-2.297 4.601,-1.27 4.604,0 4.601,1.272 3.572,2.299 2.301,2.302 1.033,2.299 0.003,1.272 0,0 m -3.679,0 c 0,3.304 2.673,5.979 5.98,5.981 C 5.606,5.979 8.284,3.304 8.285,0 8.284,-3.304 5.606,-5.981 2.301,-5.981 c -3.307,0 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3364" /></g><g
+           id="g3366"
+           transform="translate(356.1475,37.9038)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.14,-4.142 -2.291,0 -4.14,1.853 -4.14,4.142 0,2.287 1.849,4.14 4.14,4.14 C -1.852,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3368" /></g><g
+           id="g3370"
+           transform="translate(349.7051,37.9038)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.297 2.301,-2.299 3.57,-2.297 4.601,-1.27 4.603,0 4.601,1.271 3.57,2.299 2.301,2.3 1.032,2.299 0,1.268 0,0 M -3.683,0 C -3.681,3.305 -1.005,5.979 2.301,5.985 5.606,5.979 8.282,3.305 8.282,0 c 0,-3.304 -2.676,-5.981 -5.981,-5.981 -3.304,0 -5.982,2.677 -5.984,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3372" /></g><g
+           id="g3374"
+           transform="translate(356.1475,120.272)"><path
+             d="m 0,0 c 0,-2.287 -1.852,-4.142 -4.14,-4.142 -2.291,0 -4.14,1.855 -4.14,4.142 0,2.287 1.849,4.14 4.14,4.14 C -1.852,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3376" /></g><g
+           id="g3378"
+           transform="translate(349.7051,120.272)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.299 2.301,-2.302 3.57,-2.299 4.601,-1.27 4.603,0 4.601,1.27 3.57,2.299 2.301,2.301 1.032,2.299 0,1.268 0,0 M -3.683,0 C -3.681,3.306 -1.005,5.979 2.301,5.983 5.606,5.979 8.282,3.306 8.282,0 8.282,-3.302 5.606,-5.979 2.301,-5.983 -1.005,-5.979 -3.681,-3.305 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3380" /></g><g
+           id="g3382"
+           transform="translate(356.1475,103.2456)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.143 -4.14,-4.143 -2.291,0 -4.14,1.854 -4.14,4.143 0,2.287 1.849,4.144 4.14,4.144 C -1.852,4.144 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3384" /></g><g
+           id="g3386"
+           transform="translate(349.7051,103.2456)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.297 2.301,-2.299 3.57,-2.297 4.601,-1.27 4.603,0 4.601,1.272 3.57,2.299 2.301,2.302 1.032,2.299 0,1.272 0,0 M -3.683,0 C -3.681,3.306 -1.005,5.979 2.301,5.981 5.606,5.979 8.282,3.306 8.282,0 8.282,-3.304 5.606,-5.981 2.301,-5.983 -1.005,-5.981 -3.681,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3388" /></g><g
+           id="g3390"
+           transform="translate(364.4292,77.4766)"><path
+             d="m 0,0 c 0,-2.287 -1.852,-4.14 -4.14,-4.14 -2.285,0 -4.142,1.853 -4.142,4.14 0,2.289 1.857,4.142 4.142,4.142 C -1.852,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3392" /></g><g
+           id="g3394"
+           transform="translate(357.9868,77.4785)"><path
+             d="M 0,0 C 0.003,-1.272 1.034,-2.299 2.302,-2.301 3.572,-2.299 4.601,-1.272 4.601,0 4.601,1.271 3.572,2.297 2.302,2.299 1.034,2.297 0.003,1.268 0,0 m -3.679,0 c 0,3.304 2.676,5.979 5.981,5.982 3.306,0 5.982,-2.678 5.982,-5.982 0,-3.306 -2.676,-5.981 -5.982,-5.981 -3.305,0 -5.981,2.675 -5.981,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3396" /></g><g
+           id="g3398"
+           transform="translate(398.4834,63.6728)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.144,-4.142 -2.285,0 -4.141,1.855 -4.141,4.142 0,2.287 1.856,4.142 4.141,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3400" /></g><g
+           id="g3402"
+           transform="translate(392.0376,63.6728)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.297 2.302,-2.302 3.574,-2.297 4.6,-1.271 4.606,0 4.6,1.271 3.574,2.297 2.302,2.301 1.031,2.297 0.003,1.271 0,0 m -3.68,0 c 0,3.306 2.679,5.979 5.982,5.983 C 5.608,5.979 8.284,3.304 8.284,0 8.284,-3.305 5.608,-5.979 2.302,-5.982 -1.001,-5.979 -3.68,-3.305 -3.68,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3404" /></g><g
+           id="g3406"
+           transform="translate(388.8185,50.7886)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.14,-4.142 -2.289,0 -4.142,1.855 -4.142,4.142 0,2.287 1.853,4.142 4.142,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3408" /></g><g
+           id="g3410"
+           transform="translate(382.376,50.7886)"><path
+             d="M 0,0 C 0.002,-1.27 1.032,-2.299 2.302,-2.301 3.57,-2.299 4.6,-1.272 4.601,0 4.6,1.271 3.57,2.297 2.302,2.3 1.032,2.297 0.002,1.266 0,0 m -3.679,0 c 0,3.305 2.676,5.981 5.981,5.981 3.306,0 5.98,-2.677 5.98,-5.981 0,-3.306 -2.674,-5.981 -5.98,-5.981 -3.305,0.002 -5.981,2.675 -5.981,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3412" /></g><g
+           id="g3414"
+           transform="translate(461.0635,37.9038)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.142,-4.142 -2.286,0 -4.143,1.853 -4.143,4.142 0,2.287 1.857,4.14 4.143,4.14 C -1.854,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3416" /></g><g
+           id="g3418"
+           transform="translate(454.6216,37.9038)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.297 2.3,-2.299 3.57,-2.297 4.598,-1.27 4.603,0 4.598,1.27 3.57,2.299 2.3,2.3 1.031,2.299 0,1.27 0,0 m -3.683,0 c 0,3.307 2.678,5.983 5.983,5.983 C 5.603,5.983 8.282,3.307 8.282,0 8.282,-3.304 5.603,-5.979 2.3,-5.981 -1.001,-5.979 -3.683,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3420" /></g><g
+           id="g3422"
+           transform="translate(398.4834,170.4287)"><path
+             d="m 0,0 c 0,-2.288 -1.855,-4.144 -4.144,-4.144 -2.285,0 -4.141,1.856 -4.141,4.144 0,2.285 1.856,4.142 4.141,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3424" /></g><g
+           id="g3426"
+           transform="translate(392.0376,170.4287)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.297 2.302,-2.3 3.574,-2.297 4.6,-1.271 4.606,0 4.6,1.27 3.574,2.299 2.302,2.299 1.031,2.299 0.003,1.27 0,0 m -3.68,0 c 0,3.306 2.679,5.981 5.982,5.981 3.306,0 5.982,-2.679 5.982,-5.981 0,-3.305 -2.676,-5.981 -5.982,-5.981 -3.303,0 -5.982,2.676 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3428" /></g><g
+           id="g3430"
+           transform="translate(413.665,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.14,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3432" /></g><g
+           id="g3434"
+           transform="translate(407.2246,157.5459)"><path
+             d="M 0,0 C 0,-1.271 1.032,-2.297 2.301,-2.304 3.572,-2.297 4.596,-1.273 4.601,0 4.596,1.268 3.572,2.297 2.301,2.299 1.032,2.297 0,1.268 0,0 m -3.682,0 c 0,3.306 2.677,5.978 5.983,5.981 C 5.604,5.978 8.278,3.302 8.278,0 8.278,-3.306 5.604,-5.983 2.301,-5.983 -1.005,-5.981 -3.682,-3.306 -3.682,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3436" /></g><g
+           id="g3438"
+           transform="translate(471.6475,182.0576)"><path
+             d="m 0,0 c 0,-2.291 -1.854,-4.144 -4.143,-4.144 -2.287,0 -4.142,1.853 -4.142,4.144 0,2.287 1.855,4.14 4.142,4.14 C -1.854,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3440" /></g><g
+           id="g3442"
+           transform="translate(465.2036,182.0576)"><path
+             d="M 0,0 C 0.002,-1.27 1.033,-2.301 2.301,-2.303 3.572,-2.301 4.598,-1.27 4.605,0 4.598,1.27 3.572,2.295 2.301,2.299 1.033,2.295 0.002,1.266 0,0 m -3.682,0 c 0,3.304 2.679,5.981 5.983,5.981 3.303,0 5.983,-2.677 5.983,-5.981 0,-3.304 -2.68,-5.983 -5.983,-5.983 -3.304,0 -5.983,2.675 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3444" /></g><g
+           id="g3446"
+           transform="translate(484.0693,144.6611)"><path
+             d="m 0,0 c 0,-2.29 -1.853,-4.145 -4.14,-4.145 -2.287,0 -4.142,1.855 -4.142,4.145 0,2.287 1.855,4.139 4.142,4.139 C -1.853,4.139 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3448" /></g><g
+           id="g3450"
+           transform="translate(477.6269,144.6631)"><path
+             d="M 0,0 C 0.004,-1.271 1.033,-2.301 2.303,-2.306 3.572,-2.301 4.6,-1.275 4.602,0 4.6,1.268 3.572,2.294 2.303,2.299 1.033,2.294 0.004,1.268 0,0 m -3.679,0 c 0,3.304 2.674,5.978 5.982,5.979 3.303,0 5.979,-2.68 5.979,-5.979 0,-3.306 -2.676,-5.983 -5.979,-5.984 -3.308,0.001 -5.982,2.678 -5.982,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3452" /></g><g
+           id="g3454"
+           transform="translate(535.1471,62.7524)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.14,-4.142 -2.285,0 -4.142,1.855 -4.142,4.142 0,2.287 1.857,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3456" /></g><g
+           id="g3458"
+           transform="translate(528.7047,62.7539)"><path
+             d="M 0,0 C 0.003,-1.273 1.032,-2.297 2.302,-2.3 3.572,-2.297 4.599,-1.273 4.603,0 4.599,1.27 3.572,2.296 2.302,2.299 1.032,2.296 0.003,1.27 0,0 m -3.681,0 c 0,3.306 2.678,5.978 5.983,5.979 3.306,0 5.98,-2.677 5.98,-5.979 0,-3.305 -2.674,-5.982 -5.98,-5.982 -3.305,0.001 -5.983,2.675 -5.983,5.982"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3460" /></g><g
+           id="g3462"
+           transform="translate(576.5626,36.9849)"><path
+             d="m 0,0 c 0,-2.289 -1.856,-4.143 -4.144,-4.143 -2.285,0 -4.14,1.854 -4.14,4.143 0,2.287 1.855,4.14 4.14,4.14 C -1.856,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3464" /></g><g
+           id="g3466"
+           transform="translate(570.1168,36.9834)"><path
+             d="M 0,0 C 0.003,-1.27 1.036,-2.299 2.302,-2.301 3.572,-2.299 4.604,-1.271 4.604,0 4.604,1.271 3.572,2.3 2.302,2.302 1.036,2.3 0.003,1.27 0,0 M -3.682,0 C -3.679,3.305 -0.998,5.979 2.302,5.982 5.606,5.982 8.285,3.305 8.287,0 L 8.285,0 c 0,-3.302 -2.679,-5.979 -5.983,-5.979 -3.3,0 -5.981,2.675 -5.984,5.979"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3468" /></g><g
+           id="g3470"
+           transform="translate(526.8653,144.6611)"><path
+             d="m 0,0 c 0,-2.29 -1.854,-4.145 -4.14,-4.145 -2.289,0 -4.144,1.855 -4.144,4.145 0,2.287 1.855,4.139 4.144,4.139 C -1.854,4.139 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3472" /></g><g
+           id="g3474"
+           transform="translate(520.4194,144.6631)"><path
+             d="M 0,0 C 0.005,-1.275 1.032,-2.301 2.306,-2.304 3.574,-2.301 4.601,-1.275 4.604,0 4.601,1.268 3.574,2.297 2.306,2.299 1.032,2.297 0.005,1.265 0,0 m -3.679,0 c 0.002,3.304 2.678,5.978 5.985,5.979 3.3,0 5.979,-2.679 5.979,-5.979 0,-3.306 -2.679,-5.983 -5.979,-5.984 -3.307,0.001 -5.983,2.675 -5.985,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3476" /></g><g
+           id="g3478"
+           transform="translate(539.2887,153.8618)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.14 -4.142,-4.14 -2.285,0 -4.14,1.853 -4.14,4.14 0,2.287 1.855,4.142 4.14,4.142 C -1.853,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3480" /></g><g
+           id="g3482"
+           transform="translate(532.8448,153.8618)"><path
+             d="M 0,0 C 0.003,-1.27 1.034,-2.297 2.302,-2.299 3.574,-2.297 4.598,-1.271 4.604,0 4.598,1.272 3.574,2.297 2.302,2.301 1.034,2.297 0.003,1.27 0,0 m -3.681,0 c 0,3.306 2.678,5.983 5.983,5.983 3.304,0 5.981,-2.677 5.981,-5.983 0,-3.302 -2.677,-5.979 -5.981,-5.979 -3.305,0 -5.983,2.677 -5.983,5.979"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3484" /></g><g
+           id="g3486"
+           transform="translate(535.1471,116.5898)"><path
+             d="m 0,0 c 0,-2.285 -1.855,-4.14 -4.14,-4.14 -2.285,0 -4.142,1.855 -4.142,4.14 0,2.289 1.857,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3488" /></g><g
+           id="g3490"
+           transform="translate(528.7047,116.5898)"><path
+             d="M 0,0 C 0.003,-1.271 1.032,-2.295 2.302,-2.301 3.572,-2.295 4.599,-1.271 4.603,0 4.599,1.271 3.572,2.297 2.302,2.302 1.032,2.297 0.003,1.271 0,0 m -3.681,0 c 0,3.306 2.678,5.981 5.983,5.981 3.306,0 5.98,-2.677 5.98,-5.981 0,-3.302 -2.674,-5.981 -5.98,-5.981 -3.305,0.002 -5.983,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3492" /></g><g
+           id="g3494"
+           transform="translate(634.5416,116.5898)"><path
+             d="m 0,0 c 0,-2.285 -1.853,-4.14 -4.142,-4.14 -2.287,0 -4.142,1.855 -4.142,4.14 0,2.289 1.855,4.142 4.142,4.142 C -1.853,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3496" /></g><g
+           id="g3498"
+           transform="translate(628.0977,116.5918)"><path
+             d="M 0,0 C 0.001,-1.273 1.03,-2.297 2.302,-2.301 3.574,-2.297 4.596,-1.273 4.604,0 4.596,1.271 3.574,2.295 2.302,2.3 1.03,2.295 0.001,1.268 0,0 m -3.679,0 c 0,3.304 2.674,5.979 5.981,5.981 C 5.606,5.979 8.281,3.304 8.281,0 c 0,-3.306 -2.675,-5.983 -5.979,-5.983 -3.307,0 -5.981,2.675 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3500" /></g><g
+           id="g3502"
+           transform="translate(588.9845,182.0591)"><path
+             d="m 0,0 c 0,-2.291 -1.854,-4.145 -4.14,-4.145 -2.287,0 -4.142,1.854 -4.142,4.145 0,2.285 1.855,4.138 4.142,4.138 C -1.854,4.138 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3504" /></g><g
+           id="g3506"
+           transform="translate(582.54,182.0591)"><path
+             d="M 0,0 C 0.005,-1.27 1.034,-2.299 2.304,-2.304 3.576,-2.299 4.6,-1.271 4.604,0 4.6,1.267 3.576,2.297 2.304,2.3 1.034,2.297 0.005,1.267 0,0 m -3.681,0 c 0.004,3.302 2.68,5.979 5.985,5.981 C 5.608,5.979 8.284,3.302 8.284,0 c 0,-3.305 -2.676,-5.981 -5.98,-5.985 -3.305,0.004 -5.981,2.68 -5.985,5.985"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3508" /></g><g
+           id="g3510"
+           transform="translate(497.875,48.9473)"><path
+             d="m 0,0 c 0,-2.285 -1.855,-4.14 -4.14,-4.14 -2.287,0 -4.142,1.855 -4.142,4.14 0,2.289 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3512" /></g><g
+           id="g3514"
+           transform="translate(491.4307,48.9473)"><path
+             d="M 0,0 C 0.005,-1.27 1.034,-2.295 2.301,-2.297 3.574,-2.295 4.6,-1.27 4.601,0 4.6,1.273 3.574,2.299 2.301,2.301 1.034,2.299 0.005,1.268 0,0 m -3.679,0 c 0,3.306 2.678,5.979 5.98,5.983 3.305,0 5.984,-2.677 5.984,-5.983 0,-3.304 -2.679,-5.978 -5.984,-5.981 -3.302,0.003 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3516" /></g><g
+           id="g3518"
+           transform="translate(412.7461,74.7183)"><path
+             d="m 0,0 c 0,-2.291 -1.853,-4.144 -4.14,-4.144 -2.287,0 -4.141,1.853 -4.141,4.144 0,2.285 1.854,4.138 4.141,4.138 C -1.853,4.138 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3520" /></g><g
+           id="g3522"
+           transform="translate(406.3042,74.7183)"><path
+             d="M 0,0 C 0.001,-1.27 1.031,-2.299 2.302,-2.304 3.57,-2.299 4.598,-1.273 4.603,0 4.598,1.27 3.57,2.299 2.302,2.3 1.031,2.299 0.001,1.266 0,0 m -3.682,0 c 0.003,3.302 2.675,5.979 5.984,5.979 3.302,0 5.98,-2.677 5.98,-5.979 0,-3.306 -2.678,-5.983 -5.98,-5.983 -3.309,0 -5.981,2.677 -5.984,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3524" /></g></g></g></g></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/gen.sh	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,2 @@
+./marp --theme ./themes/example.css --html poster.md
+open poster.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/gen.sh~	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,3 @@
+./marp --theme ./themes/example.css --html slide.md
+./marp --theme ./themes/example.css --html poster.md
+open poster.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/dpp_image.bb	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,5 @@
+%%Title: ./dpp_image.pdf
+%%Creator: ebb Version 0.5.2
+%%BoundingBox: 0 0 626 475
+%%CreationDate: Tue Feb 12 04:12:11 2008
+
Binary file poster/pic/dpp_image.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/dpp_image.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,180 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="626.000000pt" height="475.000000pt" viewBox="0 0 626.000000 475.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.16, written by Peter Selinger 2001-2019
+</metadata>
+<g transform="translate(0.000000,475.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M2712 4554 c-56 -28 -91 -63 -125 -128 -31 -58 -31 -184 0 -241 51
+-95 147 -155 248 -155 101 0 199 61 246 153 l20 38 52 -41 c46 -37 53 -40 63
+-25 11 15 24 12 141 -24 141 -45 143 -45 143 -31 0 5 -61 29 -135 52 -121 38
+-134 45 -129 63 5 19 1 20 -63 17 l-68 -3 0 78 c-1 60 -6 87 -22 119 -56 106
+-133 154 -248 154 -56 0 -82 -5 -123 -26z m234 -8 c86 -40 154 -144 154 -236
+0 -51 -30 -126 -67 -169 -132 -155 -391 -101 -448 93 -19 62 -19 90 0 152 32
+108 136 184 250 184 42 0 75 -7 111 -24z"/>
+<path d="M3645 4218 c-4 -10 -15 -18 -25 -18 -11 0 -22 -4 -25 -10 -4 -6 5
+-10 19 -10 19 0 26 -5 26 -20 0 -15 -7 -20 -25 -20 -14 0 -25 -4 -25 -10 0 -5
+11 -10 25 -10 16 0 25 -6 25 -16 0 -10 -6 -14 -15 -10 -16 6 -21 -9 -6 -18 17
+-11 41 6 41 29 0 15 8 25 23 30 l22 8 -22 4 c-28 5 -30 33 -3 33 11 0 20 5 20
+10 0 6 -9 10 -19 10 -11 0 -21 8 -24 18 -4 16 -4 16 -12 0z"/>
+<path d="M3985 4208 c7 -35 -18 -38 -45 -5 -10 12 -22 19 -26 15 -4 -4 -1 -14
+6 -23 11 -13 9 -15 -14 -15 -22 0 -26 -4 -26 -30 0 -16 5 -30 10 -30 6 0 10 9
+10 20 0 19 7 20 100 20 93 0 100 -1 100 -20 0 -11 5 -20 11 -20 6 0 9 12 7 28
+-2 19 -9 28 -26 30 -19 3 -21 6 -11 18 6 8 9 18 5 22 -4 4 -16 -3 -26 -15 -18
+-22 -50 -32 -50 -15 0 5 -7 17 -16 28 -15 18 -15 18 -9 -8z"/>
+<path d="M3760 4211 c-32 -5 -35 -10 -42 -50 -4 -24 -13 -50 -19 -57 -7 -8 -9
+-17 -6 -20 9 -10 28 6 37 32 13 34 48 32 52 -3 4 -38 28 -42 28 -5 0 22 6 31
+21 35 37 10 10 27 -42 27 -61 0 -64 15 -4 24 24 4 47 11 50 17 7 10 -20 10
+-75 0z"/>
+<path d="M4260 4205 c0 -11 -11 -15 -40 -15 -22 0 -40 -4 -40 -10 0 -5 18 -10
+40 -10 29 0 40 -4 40 -15 0 -11 -12 -15 -50 -15 -27 0 -50 -4 -50 -10 0 -5 26
+-10 58 -11 l57 -1 -60 -29 c-33 -16 -61 -33 -63 -39 -4 -12 0 -12 32 0 24 9
+25 7 28 -33 l3 -42 68 -3 c86 -4 99 6 95 67 l-3 46 -50 5 c-46 5 -48 6 -28 18
+12 6 42 12 67 12 25 0 46 5 46 10 0 6 -17 10 -37 10 l-37 0 29 30 c16 16 26
+33 22 36 -4 4 -23 -9 -42 -29 -37 -39 -65 -48 -65 -22 0 9 9 15 24 15 14 0 28
+5 31 10 4 6 -7 10 -24 10 -21 0 -31 5 -31 15 0 8 -4 15 -10 15 -5 0 -10 -7
+-10 -15z m90 -145 c0 -6 -27 -10 -60 -10 -33 0 -60 4 -60 10 0 6 27 10 60 10
+33 0 60 -4 60 -10z m0 -50 c0 -18 -7 -20 -60 -20 -53 0 -60 2 -60 20 0 18 7
+20 60 20 53 0 60 -2 60 -20z"/>
+<path d="M3920 4130 c0 -6 26 -10 63 -10 56 -1 60 -2 42 -15 -11 -8 -25 -19
+-32 -25 -7 -5 -35 -10 -62 -10 -27 0 -53 -4 -56 -10 -4 -6 17 -10 54 -10 l61
+0 0 -30 c0 -25 -4 -30 -25 -30 -14 0 -25 -5 -25 -11 0 -6 14 -9 33 -7 29 3 32
+6 35 41 l3 37 60 0 c38 0 58 4 54 10 -3 6 -32 10 -63 10 l-57 1 38 20 c21 11
+37 26 34 32 -5 15 -157 23 -157 7z"/>
+<path d="M3634 4056 c-3 -8 -4 -29 -2 -48 l3 -33 85 0 85 0 0 45 0 45 -83 3
+c-64 2 -84 0 -88 -12z m156 -36 l0 -30 -70 0 -70 0 0 30 0 30 70 0 70 0 0 -30z"/>
+<path d="M2685 3879 c-744 -58 -1387 -606 -1569 -1337 -36 -147 -49 -261 -49
+-437 0 -221 31 -399 104 -597 50 -135 53 -119 -47 -219 -48 -48 -85 -92 -81
+-96 4 -4 48 33 96 81 l89 89 27 -54 c206 -411 583 -734 1030 -884 192 -64 302
+-80 550 -80 190 0 235 3 334 23 495 100 928 404 1185 829 86 144 172 357 207
+516 6 31 15 57 18 57 4 0 49 -56 100 -125 51 -69 98 -125 103 -125 17 0 2 25
+-101 162 l-99 133 10 55 c14 80 14 380 -1 485 -117 829 -789 1460 -1624 1525
+-135 11 -139 11 -282 -1z m380 -24 c399 -57 733 -222 1011 -499 284 -285 454
+-638 505 -1050 12 -104 7 -387 -8 -440 -9 -28 -10 -27 -94 85 -106 142 -103
+137 -89 154 9 11 1 21 -44 51 l-56 37 44 46 c63 69 89 144 84 247 -3 64 -10
+93 -33 138 -131 260 -504 248 -627 -20 -34 -74 -33 -199 3 -275 37 -79 90
+-133 167 -171 59 -29 76 -33 147 -33 66 1 90 5 139 28 32 15 61 27 65 27 3 0
+15 -30 25 -66 13 -46 22 -62 29 -55 6 6 15 11 19 11 4 0 54 -61 109 -135 l102
+-136 -22 -94 c-101 -442 -392 -843 -789 -1087 -559 -344 -1275 -344 -1834 0
+-179 110 -368 281 -482 436 -61 82 -150 226 -178 287 l-16 36 63 63 c55 55 66
+62 80 50 8 -7 17 -11 18 -9 2 2 13 27 26 55 l23 52 141 66 c129 61 143 65 154
+50 7 -9 14 -21 15 -26 4 -10 138 51 138 62 0 3 -5 12 -10 20 -8 12 -15 11 -55
+-8 -51 -24 -55 -26 -55 -14 0 5 27 21 60 37 64 30 65 32 50 55 -8 12 -17 11
+-65 -13 -58 -28 -75 -33 -75 -19 0 4 20 18 45 30 47 22 50 28 36 50 -12 20
+-144 -46 -135 -68 20 -49 21 -48 -120 -116 -75 -36 -136 -71 -136 -78 0 -8
+-25 -24 -55 -36 -58 -24 -62 -29 -43 -48 10 -10 -1 -25 -47 -72 -33 -33 -63
+-56 -67 -52 -13 13 -76 198 -98 288 -110 462 -36 940 208 1336 209 340 538
+607 908 738 253 89 564 122 819 85z m1156 -1089 c74 -39 115 -80 152 -156 28
+-57 32 -74 32 -145 -1 -96 -22 -151 -86 -220 -63 -69 -126 -97 -224 -103 -96
+-5 -168 18 -233 74 -75 64 -112 146 -114 250 -1 143 73 253 211 311 78 33 185
+28 262 -11z"/>
+<path d="M2760 3727 c-108 -24 -189 -91 -239 -197 -22 -46 -26 -69 -26 -140 0
+-71 4 -94 26 -141 52 -110 138 -177 254 -198 206 -37 392 113 403 324 12 226
+-197 401 -418 352z m223 -41 c197 -100 243 -358 94 -523 -20 -21 -62 -52 -94
+-69 -51 -26 -68 -29 -148 -29 -80 0 -97 3 -148 29 -192 98 -242 349 -102 514
+64 76 150 112 260 109 66 -2 90 -7 138 -31z"/>
+<path d="M1807 3343 c-13 -12 -7 -20 93 -134 l100 -113 -21 -23 -22 -22 31
+-38 c16 -21 39 -46 49 -56 18 -15 22 -16 32 -3 10 12 7 22 -20 56 -18 22 -30
+43 -26 46 5 5 71 -61 89 -90 5 -8 12 -6 24 6 16 16 14 20 -25 64 -37 42 -49
+64 -36 64 3 0 19 -16 37 -36 23 -25 38 -33 51 -29 9 4 17 10 17 14 0 3 -22 31
+-49 61 -47 53 -49 54 -68 38 -11 -10 -24 -18 -29 -17 -5 0 -52 49 -104 110
+-90 103 -108 118 -123 102z"/>
+<path d="M3705 3259 c-33 -33 -82 -79 -108 -101 l-48 -41 -22 22 -23 21 -53
+-53 c-46 -48 -50 -55 -36 -67 14 -11 21 -8 54 24 57 56 58 29 1 -29 -45 -46
+-49 -53 -35 -65 14 -11 23 -7 65 35 59 58 81 53 25 -5 -35 -36 -37 -42 -24
+-55 13 -13 21 -9 69 40 l54 55 -21 22 -20 23 108 100 c59 55 108 108 108 118
+2 33 -35 17 -94 -44z"/>
+<path d="M1512 2808 c-138 -21 -244 -121 -279 -263 -28 -116 6 -234 92 -320
+55 -55 105 -81 188 -96 56 -10 76 -10 132 4 143 36 241 140 263 281 37 233
+-162 430 -396 394z m190 -35 c65 -30 133 -95 165 -162 24 -48 28 -68 28 -141
+0 -71 -4 -94 -26 -141 -35 -73 -87 -125 -166 -161 -57 -27 -71 -30 -146 -26
+-97 4 -159 30 -222 93 -69 68 -90 124 -90 235 0 81 4 102 24 140 49 92 93 133
+187 171 64 25 178 22 246 -8z"/>
+<path d="M3819 1809 c-10 -20 -2 -26 74 -52 9 -4 17 -11 17 -17 0 -13 3 -14
+-69 16 -35 14 -65 24 -66 22 -2 -2 -5 -12 -7 -22 -2 -16 9 -24 60 -44 34 -13
+60 -27 57 -32 -3 -4 -27 0 -54 11 -50 18 -50 18 -56 -2 -8 -25 -13 -21 62 -48
+62 -23 83 -22 83 4 0 8 4 16 9 20 5 3 71 -18 146 -46 132 -49 171 -55 159 -25
+-5 14 -58 37 -222 96 -64 24 -66 26 -48 70 5 12 -11 22 -64 42 -69 25 -71 25
+-81 7z"/>
+<path d="M1883 1449 c-29 -11 -74 -40 -100 -64 -185 -165 -146 -459 75 -567
+60 -30 76 -33 152 -33 76 0 92 3 152 33 221 109 260 402 75 567 -91 83 -237
+109 -354 64z m204 -1 c246 -61 334 -351 167 -546 -85 -99 -270 -135 -388 -75
+-150 76 -225 261 -167 414 59 157 229 247 388 207z"/>
+<path d="M3541 1458 c-46 -13 -131 -68 -163 -106 -148 -176 -84 -447 128 -544
+74 -34 199 -33 275 3 79 37 133 90 171 167 29 59 33 76 33 147 -1 66 -6 91
+-29 142 -37 81 -111 152 -189 181 -62 24 -164 28 -226 10z m234 -27 c60 -26
+132 -95 163 -156 37 -72 42 -188 13 -266 -102 -271 -488 -284 -608 -21 -53
+114 -37 242 41 345 36 48 120 102 180 116 57 14 158 5 211 -18z"/>
+<path d="M2817 1124 c-4 -4 -7 -36 -7 -71 0 -35 -4 -63 -10 -63 -5 0 -10 23
+-10 50 0 43 -3 50 -20 50 -18 0 -20 -7 -20 -75 l0 -75 30 0 29 0 3 -152 c3
+-145 4 -153 23 -153 19 0 20 8 23 153 l3 152 30 0 30 0 -3 78 c-3 69 -5 77
+-23 77 -17 0 -21 -8 -25 -55 l-4 -55 -6 70 c-4 52 -9 71 -20 73 -9 1 -19 0
+-23 -4z"/>
+<path d="M666 3044 c-147 -30 -232 -157 -211 -319 17 -142 174 -256 310 -226
+161 36 258 179 226 333 -32 154 -170 244 -325 212z m184 -42 c170 -85 174
+-344 6 -446 -44 -27 -58 -30 -130 -30 -63 0 -90 4 -121 21 -129 68 -175 226
+-106 360 62 121 215 162 351 95z"/>
+<path d="M4835 3026 c-95 -44 -165 -151 -165 -251 0 -100 73 -210 168 -256
+175 -83 382 56 382 256 0 200 -206 335 -385 251z m230 -14 c47 -24 95 -73 121
+-122 28 -52 26 -172 -3 -226 -50 -93 -129 -143 -227 -144 -80 0 -129 17 -181
+62 -61 54 -89 116 -89 198 0 108 68 208 169 245 55 20 158 14 210 -13z"/>
+<path d="M5280 1473 c0 -5 7 -18 15 -29 12 -16 14 -16 15 -3 0 9 -7 22 -15 29
+-8 7 -15 8 -15 3z"/>
+<path d="M5010 1455 c-17 -20 -5 -45 20 -45 11 0 23 7 26 15 6 15 -11 45 -26
+45 -4 0 -13 -7 -20 -15z m30 -20 c0 -8 -4 -15 -9 -15 -13 0 -22 16 -14 24 11
+11 23 6 23 -9z"/>
+<path d="M5250 1465 c0 -4 5 -15 10 -26 10 -18 7 -19 -50 -19 -57 0 -61 1 -55
+20 11 35 -14 22 -34 -18 -11 -21 -27 -44 -35 -51 -20 -17 -21 -31 -2 -31 7 0
+21 11 30 25 13 20 25 25 56 25 34 0 40 -3 40 -20 0 -33 -27 -77 -60 -97 -33
+-19 -39 -33 -14 -33 27 0 81 63 93 108 10 34 16 42 35 42 32 0 36 7 19 40 -14
+28 -33 48 -33 35z"/>
+<path d="M5625 1440 c-3 -5 0 -13 8 -16 24 -9 162 0 162 11 0 14 -161 19 -170
+5z"/>
+<path d="M4590 1430 c0 -6 30 -10 70 -10 39 0 70 -2 70 -5 0 -35 -74 -112
+-128 -134 -18 -7 -32 -17 -32 -22 0 -20 41 -7 84 26 l46 35 40 -36 c52 -47 65
+-35 16 15 l-37 38 21 41 c12 23 19 46 15 52 -8 13 -165 13 -165 0z"/>
+<path d="M4875 1393 c-4 -27 -18 -67 -30 -90 -25 -45 -19 -65 9 -34 32 36 61
+171 37 171 -6 0 -13 -21 -16 -47z"/>
+<path d="M4970 1417 c0 -37 28 -123 49 -149 30 -37 34 -16 7 43 -14 30 -28 71
+-31 92 -8 41 -25 51 -25 14z"/>
+<path d="M5995 1390 c-10 -11 -42 -32 -71 -46 -59 -29 -65 -53 -7 -29 19 8 37
+15 39 15 2 0 4 -20 4 -45 0 -25 5 -45 10 -45 6 0 10 24 10 53 0 44 4 58 25 77
+14 13 25 27 25 32 0 14 -16 9 -35 -12z"/>
+<path d="M5431 1370 c6 -16 15 -30 20 -30 12 0 11 17 -1 41 -17 30 -30 22 -19
+-11z"/>
+<path d="M5500 1353 c-14 -44 -49 -80 -93 -96 -7 -2 -8 -8 -4 -13 11 -12 76
+25 99 56 20 28 36 100 22 100 -5 0 -16 -21 -24 -47z"/>
+<path d="M5370 1386 c0 -1 5 -18 11 -35 7 -20 15 -29 21 -23 10 10 -10 62 -24
+62 -4 0 -8 -2 -8 -4z"/>
+<path d="M5600 1370 c0 -5 23 -10 50 -10 47 0 50 -2 50 -25 0 -26 -39 -75 -60
+-75 -5 0 -10 -4 -10 -10 0 -18 28 -11 59 16 18 15 33 39 37 60 6 33 8 34 50
+34 24 0 44 5 44 10 0 6 -43 10 -110 10 -67 0 -110 -4 -110 -10z"/>
+<path d="M1104 1103 c-10 -15 -31 -43 -48 -60 -16 -18 -27 -36 -23 -39 9 -9
+54 22 67 46 8 16 21 20 60 20 59 0 63 -11 25 -76 -19 -32 -39 -49 -75 -66 -50
+-23 -64 -38 -35 -38 27 0 92 38 118 69 29 35 51 95 43 116 -4 11 -21 15 -57
+15 -41 0 -50 3 -46 15 11 27 -12 26 -29 -2z"/>
+<path d="M197 1104 c-17 -17 11 -24 94 -24 102 0 106 -4 64 -76 -19 -32 -39
+-49 -75 -66 -50 -23 -64 -38 -34 -38 56 0 136 73 154 142 10 37 10 44 -6 55
+-18 13 -185 19 -197 7z"/>
+<path d="M600 1060 c0 -18 -7 -20 -55 -20 -30 0 -55 -4 -55 -10 0 -5 20 -10
+45 -10 25 0 45 -4 45 -8 0 -11 -50 -57 -79 -72 -16 -8 -20 -15 -13 -22 12 -12
+60 18 92 59 l20 26 0 -57 c0 -31 5 -56 10 -56 6 0 10 28 10 65 0 63 1 65 25
+65 14 0 25 5 25 10 0 6 -11 10 -25 10 -18 0 -25 5 -25 20 0 11 -4 20 -10 20
+-5 0 -10 -9 -10 -20z"/>
+<path d="M745 1010 c-3 -5 0 -13 8 -15 24 -10 217 -1 220 10 3 14 -219 19
+-228 5z"/>
+<path d="M1284 764 c-178 -63 -235 -301 -107 -444 60 -67 120 -94 203 -93 79
+0 125 19 183 72 187 172 65 484 -187 480 -28 0 -70 -7 -92 -15z m213 -22 c52
+-27 116 -100 131 -150 31 -101 1 -216 -72 -280 -53 -47 -102 -65 -176 -65
+-147 -1 -260 111 -260 258 0 119 74 218 190 256 42 14 142 3 187 -19z"/>
+<path d="M4174 764 c-58 -21 -120 -77 -151 -138 -35 -67 -37 -168 -6 -236 46
+-101 143 -164 253 -163 77 0 122 17 180 70 62 55 90 121 90 209 0 92 -34 162
+-104 215 -78 59 -172 75 -262 43z m211 -22 c146 -75 191 -265 92 -393 -102
+-133 -295 -139 -405 -14 -45 52 -62 101 -62 181 1 114 73 207 190 245 41 14
+142 3 185 -19z"/>
+</g>
+</svg>
Binary file poster/pic/goto.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/goto.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="511px" height="81px" viewBox="-0.5 -0.5 511 81" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2021-02-08T00:51:09.286Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36&quot; etag=&quot;I_-uILA_j2l9e6mpv6nb&quot; version=&quot;14.2.9&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;icBlebNF4znFYw3Hrgqr&quot; name=&quot;Page-1&quot;&gt;3VZRb5swEP41PHbCUJL2cUvaTpoqTYq2pY8uvoI1gzPHFOiv31HbgKFR1mrtqr1Evs9357vvPhwH8aporhTd5deSgQiikDVBvA6iaBGF+NsBrQVCC2SKMwORAdjwB7Cgc6s4g73nqKUUmu98MJVlCan2MKqUrH23Oyn8U3c0gxmwSamYoz8407lBz6LlgH8GnuXuZLI4NzsFdc62k31OmaxHUHwRxCslpTarolmB6LhzvJi4ywO7fWEKSv0nAZeJOvlS3f26/dY8fN/ecHa9/Hlis9xTUdmGU5wgIldAla1bt44MJauSQZcvDOJPdc41bHY07XZrnD5iuS4EWgSXNjMoDc3BkklPBAoIZAFatehiA04tdVY7iTXrYRDEsZuPhrCwGLWzz/rEAz24sAw9g61oxhajmh5iCxOiSuFNmOpV1vrMHaPq7LWoit+3sOJ3pqzTGV1zOZXsY3ehoZUKut/z1KcFW1ft1lL4aNx0xofEmetmvLlundVwvXU5cD2KQmsI6gwXY4oDNrs7JwPABmSlUjj+TWmqMtDHBDUf6GhiyRMDc5gCQTW/98t9aor2hK+SYyO9XsjS1wshEyGYNm3U+BKeJJp+p1NBGRpmeR411Xf9cpklz5JZKUv4LzTmHg7HNBb9U42d+9KIwpdqbPK3SZK/JTI0h/eKcR8effHFbw==&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs/><g><rect x="0" y="10" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">code Gear</div></div></div></foreignObject><text x="60" y="44" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">code Gear</text></switch></g><ellipse cx="240" cy="40" rx="60" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 181px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">data Gear</div></div></div></foreignObject><text x="240" y="44" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">data Gear</text></switch></g><rect x="390" y="10" width="120" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 391px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">code Gear</div></div></div></foreignObject><text x="450" y="44" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">code Gear</text></switch></g><path d="M 300 40 L 383.63 40" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 388.88 40 L 381.88 43.5 L 383.63 40 L 381.88 36.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 120 40 L 180 40" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
Binary file poster/pic/input-outputDataSegment.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/input-outputDataSegment.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,140 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="580.000000pt" height="76.000000pt" viewBox="0 0 580.000000 76.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.16, written by Peter Selinger 2001-2019
+</metadata>
+<g transform="translate(0.000000,76.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M545 735 c-244 -34 -428 -126 -507 -253 -31 -51 -31 -153 0 -204 140
+-226 620 -331 1037 -226 207 51 364 169 390 291 l5 27 350 0 350 0 0 -180 0
+-180 685 0 685 0 0 180 0 180 345 0 c300 0 345 -2 345 -15 0 -19 11 -19 57 0
+40 17 53 10 53 -31 0 -56 111 -162 224 -215 399 -186 1034 -97 1198 169 31 51
+31 153 0 204 -164 266 -799 355 -1198 169 -113 -53 -224 -159 -224 -215 0 -41
+-13 -48 -53 -31 -46 19 -57 19 -57 0 0 -13 -45 -15 -345 -15 l-345 0 0 180 0
+180 -685 0 -685 0 0 -180 0 -180 -350 0 -350 0 -5 28 c-11 49 -38 92 -92 143
+-154 146 -504 220 -828 174z m409 -20 c169 -27 318 -87 407 -163 48 -41 89
+-121 89 -172 0 -86 -71 -176 -188 -238 -381 -203 -1084 -115 -1208 152 -30 64
+-30 108 0 172 53 113 232 209 466 249 106 18 322 18 434 0z m2566 -335 l0
+-350 -665 0 -665 0 0 350 0 350 665 0 665 0 0 -350z m1754 335 c169 -27 318
+-87 407 -163 48 -41 89 -121 89 -172 0 -86 -71 -176 -188 -238 -381 -203
+-1084 -115 -1208 152 -30 64 -30 108 0 172 53 113 232 209 466 249 106 18 322
+18 434 0z"/>
+<path d="M246 514 c-19 -18 -21 -75 -4 -92 17 -17 54 -15 73 4 22 22 10 31
+-13 10 -22 -19 -49 -12 -57 15 -15 46 24 82 56 53 17 -15 19 -15 19 -2 0 29
+-49 37 -74 12z"/>
+<path d="M500 512 c0 -13 -8 -18 -27 -17 -26 0 -28 -3 -28 -40 0 -38 1 -40 33
+-41 l32 -1 0 59 c0 32 -2 58 -5 58 -3 0 -5 -8 -5 -18z m-11 -74 c-6 -11 -16
+-17 -22 -15 -17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M632 521 c-23 -14 -9 -45 26 -57 36 -11 42 -24 18 -39 -10 -6 -21 -4
+-35 9 -22 20 -30 9 -9 -12 28 -28 88 -2 75 32 -4 9 -21 19 -38 24 -18 4 -34
+13 -36 19 -6 16 26 24 49 12 16 -9 19 -8 16 3 -5 16 -47 22 -66 9z"/>
+<path d="M1240 518 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M360 486 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m54 -21 c2 -7 -1 -21 -9 -31 -11 -15 -15 -16 -29 -5 -19 16 -20 33
+-5 48 13 13 35 7 43 -12z"/>
+<path d="M551 486 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M741 486 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M814 486 c-3 -8 -4 -27 -2 -43 2 -20 9 -29 26 -31 23 -4 29 -16 12
+-27 -6 -4 -18 -1 -27 7 -14 11 -16 11 -11 -2 6 -20 48 -26 59 -8 5 7 9 36 9
+63 0 49 -1 51 -30 53 -19 1 -33 -3 -36 -12z m45 -48 c-6 -11 -16 -17 -22 -15
+-17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M901 451 l2 -46 6 39 c7 45 28 59 35 24 3 -13 7 -32 9 -43 3 -11 5
+-3 6 17 1 35 15 57 28 44 3 -3 10 -23 14 -43 l7 -38 -1 45 -2 45 -52 1 -53 1
+1 -46z"/>
+<path d="M1051 486 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M1131 451 l2 -46 6 40 c4 26 11 40 21 40 10 0 17 -14 21 -40 l7 -40
+-2 45 c-1 42 -3 45 -28 46 -27 1 -28 -1 -27 -45z"/>
+<path d="M717 308 c-8 -24 -18 -51 -22 -60 -4 -10 -3 -18 3 -18 5 0 12 9 15
+20 7 27 43 26 58 -2 7 -13 14 -18 16 -13 4 14 -33 109 -45 113 -5 1 -17 -16
+-25 -40z m39 -25 c-2 -3 -11 -3 -19 -1 -11 2 -12 9 -5 28 l10 25 9 -24 c5 -13
+7 -26 5 -28z"/>
+<path d="M2390 380 c0 -60 0 -60 29 -60 37 0 61 23 61 60 0 37 -24 60 -61 60
+-29 0 -29 0 -29 -60z m69 34 c10 -10 3 -67 -10 -75 -36 -22 -49 -11 -49 42 0
+51 0 51 27 44 16 -4 30 -9 32 -11z"/>
+<path d="M2590 428 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M2722 431 c-23 -14 -9 -45 26 -57 36 -11 42 -24 18 -39 -10 -6 -21
+-4 -35 9 -22 20 -30 9 -9 -12 28 -28 88 -2 75 32 -4 9 -21 19 -38 24 -18 4
+-34 13 -36 19 -6 16 26 24 49 12 16 -9 19 -8 16 3 -5 16 -47 22 -66 9z"/>
+<path d="M3320 428 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M2497 404 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M2627 404 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M2821 396 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M2904 396 c-3 -8 -4 -27 -2 -43 2 -20 9 -29 26 -31 23 -4 29 -16 12
+-27 -6 -4 -18 -1 -27 7 -14 11 -16 11 -11 -2 6 -20 48 -26 59 -8 5 7 9 36 9
+63 0 49 -1 51 -30 53 -19 1 -33 -3 -36 -12z m45 -48 c-6 -11 -16 -17 -22 -15
+-17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M2991 361 l2 -46 6 39 c7 45 28 59 35 24 3 -13 7 -32 9 -43 3 -11 5
+-3 6 17 1 35 15 57 28 44 3 -3 10 -23 14 -43 l7 -38 -1 45 -2 45 -52 1 -53 1
+1 -46z"/>
+<path d="M3141 396 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M3211 361 l2 -46 6 40 c4 26 11 40 21 40 10 0 17 -14 21 -40 l7 -40
+-2 45 c-1 42 -3 45 -28 46 -27 1 -28 -1 -27 -45z"/>
+<path d="M4566 514 c-19 -18 -21 -75 -4 -92 17 -17 54 -15 73 4 22 22 10 31
+-13 10 -22 -19 -49 -12 -57 15 -15 46 24 82 56 53 17 -15 19 -15 19 -2 0 29
+-49 37 -74 12z"/>
+<path d="M4820 512 c0 -13 -8 -18 -27 -17 -26 0 -28 -3 -28 -40 0 -38 1 -40
+33 -41 l32 -1 0 59 c0 32 -2 58 -5 58 -3 0 -5 -8 -5 -18z m-11 -74 c-6 -11
+-16 -17 -22 -15 -17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M4952 521 c-23 -14 -9 -45 26 -57 36 -11 42 -24 18 -39 -10 -6 -21
+-4 -35 9 -22 20 -30 9 -9 -12 28 -28 88 -2 75 32 -4 9 -21 19 -38 24 -18 4
+-34 13 -36 19 -6 16 26 24 49 12 16 -9 19 -8 16 3 -5 16 -47 22 -66 9z"/>
+<path d="M5560 518 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M4680 486 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m54 -21 c2 -7 -1 -21 -9 -31 -11 -15 -15 -16 -29 -5 -19 16 -20 33
+-5 48 13 13 35 7 43 -12z"/>
+<path d="M4871 486 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M5061 486 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M5134 486 c-3 -8 -4 -27 -2 -43 2 -20 9 -29 26 -31 23 -4 29 -16 12
+-27 -6 -4 -18 -1 -27 7 -14 11 -16 11 -11 -2 6 -20 48 -26 59 -8 5 7 9 36 9
+63 0 49 -1 51 -30 53 -19 1 -33 -3 -36 -12z m45 -48 c-6 -11 -16 -17 -22 -15
+-17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M5221 451 l2 -46 6 39 c7 45 28 59 35 24 3 -13 7 -32 9 -43 3 -11 5
+-3 6 17 1 35 15 57 28 44 3 -3 10 -23 14 -43 l7 -38 -1 45 -2 45 -52 1 -53 1
+1 -46z"/>
+<path d="M5371 486 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M5451 451 l2 -46 6 40 c4 26 11 40 21 40 10 0 17 -14 21 -40 l7 -40
+-2 45 c-1 42 -3 45 -28 46 -27 1 -28 -1 -27 -45z"/>
+<path d="M5030 291 l0 -61 40 0 c43 0 58 16 45 48 -4 9 -8 28 -9 42 -1 21 -6
+25 -38 28 l-38 3 0 -60z m65 29 c0 -9 -11 -16 -27 -18 -23 -3 -28 1 -28 18 0
+17 5 21 28 18 16 -2 27 -9 27 -18z m2 -41 c18 -18 3 -39 -28 -39 -24 0 -29 4
+-29 25 0 19 5 25 23 25 13 0 28 -5 34 -11z"/>
+</g>
+</svg>
Binary file poster/pic/meta_gear.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/meta_gear.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,376 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="792.000000pt" height="532.000000pt" viewBox="0 0 792.000000 532.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.16, written by Peter Selinger 2001-2019
+</metadata>
+<g transform="translate(0.000000,532.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M3030 5090 c0 -126 -2 -230 -4 -230 -2 0 -48 9 -101 20 -53 11 -99
+20 -101 20 -2 0 -4 -13 -4 -30 0 -16 -5 -30 -11 -30 -14 0 -1281 -198 -1321
+-206 l-28 -6 0 106 0 106 -730 0 -730 0 0 -355 0 -355 730 0 730 0 0 110 0
+110 28 -1 c15 0 320 -44 677 -97 l650 -98 3 -27 c4 -31 8 -32 99 -12 37 9 78
+18 91 20 l22 5 0 -230 0 -230 733 2 732 3 3 212 c2 211 3 213 25 218 12 3 380
+52 817 110 437 58 810 108 828 112 31 5 32 4 32 -27 l0 -32 95 51 c53 28 98
+51 100 51 3 0 5 -56 5 -125 l0 -125 730 0 730 0 0 355 0 355 -730 0 -729 0 -3
+-119 -3 -118 -85 48 c-47 26 -91 48 -97 48 -7 1 -13 -10 -13 -24 0 -17 -5 -25
+-17 -25 -10 1 -391 54 -848 118 l-830 118 -3 217 -2 217 -735 0 -735 0 0 -230z
+m1450 1 c0 -130 -4 -212 -10 -216 -7 -4 -7 -12 0 -25 5 -10 10 -64 10 -119 l0
+-101 -715 0 -715 0 0 335 0 335 715 0 715 0 0 -209z m-715 -481 l735 0 0 110
+c0 98 2 110 18 110 9 0 384 -52 832 -115 448 -63 821 -115 828 -115 10 0 12
+-8 7 -30 -4 -16 -3 -30 2 -30 4 0 54 11 111 24 l102 23 0 -93 c0 -52 -2 -94
+-4 -94 -6 0 -177 40 -200 47 -16 4 -17 1 -11 -25 6 -29 4 -30 -32 -36 -93 -15
+-1613 -216 -1632 -216 -20 0 -21 5 -21 110 l0 110 -735 0 -734 0 -3 -115 -3
+-114 -89 49 c-49 28 -90 50 -91 50 -2 0 -6 -13 -10 -28 l-6 -28 -682 102
+c-375 56 -683 103 -684 103 -5 2 -3 171 1 171 3 0 307 47 676 105 368 58 675
+105 680 105 5 0 12 -11 16 -25 3 -14 9 -25 13 -25 3 0 44 22 91 49 l85 49 3
+-114 3 -114 734 0z m-2326 -120 l0 -340 -715 0 -714 0 0 340 0 340 714 0 715
+0 0 -340z m6401 0 l0 -340 -715 0 -715 0 0 340 0 340 715 0 715 0 0 -340z
+m-3360 -216 c0 -58 -5 -114 -10 -124 -7 -13 -7 -21 0 -25 6 -4 10 -86 10 -216
+l0 -209 -715 0 -715 0 0 340 0 340 715 0 715 0 0 -106z"/>
+<path d="M3420 4970 c0 -60 0 -60 29 -60 37 0 61 23 61 60 0 37 -24 60 -61 60
+-29 0 -29 0 -29 -60z m69 34 c10 -10 3 -67 -10 -75 -36 -22 -49 -11 -49 42 0
+51 0 51 27 44 16 -4 30 -9 32 -11z"/>
+<path d="M3630 5018 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M3806 5014 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M3527 4994 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3667 4994 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3921 4986 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M4007 4994 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M366 4534 c-19 -18 -21 -75 -4 -92 17 -17 54 -15 73 4 22 22 10 31
+-13 10 -22 -19 -49 -12 -57 15 -15 46 24 82 56 53 17 -15 19 -15 19 -2 0 29
+-49 37 -74 12z"/>
+<path d="M620 4532 c0 -13 -8 -18 -27 -17 -26 0 -28 -3 -28 -40 0 -38 1 -40
+33 -41 l32 -1 0 59 c0 32 -2 58 -5 58 -3 0 -5 -8 -5 -18z m-11 -74 c-6 -11
+-16 -17 -22 -15 -17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M796 4534 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M470 4506 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m54 -21 c2 -7 -1 -21 -9 -31 -11 -15 -15 -16 -29 -5 -19 16 -20 33
+-5 48 13 13 35 7 43 -12z"/>
+<path d="M661 4506 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M911 4506 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M997 4514 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M6766 4534 c-19 -18 -21 -75 -4 -92 17 -17 54 -15 73 4 22 22 10 31
+-13 10 -22 -19 -49 -12 -57 15 -15 46 24 82 56 53 17 -15 19 -15 19 -2 0 29
+-49 37 -74 12z"/>
+<path d="M7020 4532 c0 -13 -8 -18 -27 -17 -26 0 -28 -3 -28 -40 0 -38 1 -40
+33 -41 l32 -1 0 59 c0 32 -2 58 -5 58 -3 0 -5 -8 -5 -18z m-11 -74 c-6 -11
+-16 -17 -22 -15 -17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M7196 4534 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M6870 4506 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m54 -21 c2 -7 -1 -21 -9 -31 -11 -15 -15 -16 -29 -5 -19 16 -20 33
+-5 48 13 13 35 7 43 -12z"/>
+<path d="M7061 4506 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M7311 4506 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M7397 4514 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3420 4040 c0 -60 0 -60 29 -60 37 0 61 23 61 60 0 37 -24 60 -61 60
+-29 0 -29 0 -29 -60z m69 34 c10 -10 3 -67 -10 -75 -36 -22 -49 -11 -49 42 0
+51 0 51 27 44 16 -4 30 -9 32 -11z"/>
+<path d="M3630 4088 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M3806 4084 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M3527 4064 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3667 4064 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3921 4056 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M4007 4064 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3090 2795 l0 -175 361 0 c340 0 361 -1 354 -17 -17 -43 -65 -175
+-65 -179 0 -2 14 -4 30 -4 28 0 30 -3 30 -35 l0 -35 -355 0 -355 0 0 -282 0
+-281 -110 7 c-60 3 -110 4 -110 2 0 -3 4 -16 9 -29 9 -23 7 -25 -52 -42 -34
+-9 -70 -20 -79 -22 -16 -5 -18 4 -18 86 l0 91 -475 0 -475 0 0 -174 0 -174
+-102 39 c-57 21 -104 39 -105 39 -2 0 -3 -13 -3 -30 0 -25 -4 -30 -25 -30
+l-25 0 0 165 0 165 -730 0 -730 0 0 -355 0 -355 730 0 730 0 0 165 0 165 25 0
+c21 0 25 -5 25 -30 0 -16 1 -30 3 -30 1 0 48 18 105 39 l102 39 0 -174 0 -174
+475 0 475 0 0 96 c0 73 3 95 13 92 6 -3 42 -13 79 -23 64 -17 66 -18 57 -42
+-5 -13 -9 -27 -9 -30 0 -5 128 4 188 13 l32 5 0 -281 0 -280 355 0 355 0 0
+-40 c0 -38 -1 -40 -31 -40 -26 0 -30 -3 -24 -17 17 -43 65 -175 65 -179 0 -2
+-162 -4 -360 -4 l-360 0 0 -175 0 -175 733 2 732 3 3 172 2 173 -363 2 -364 3
+33 85 c40 104 40 110 9 110 -22 0 -25 4 -25 40 l0 40 355 0 355 0 0 255 0 254
+38 10 c79 21 366 91 374 91 4 0 8 -6 8 -12 0 -7 4 -19 9 -27 7 -11 26 -2 90
+42 44 32 83 57 86 57 3 0 5 -49 5 -110 l0 -110 480 0 480 0 0 165 0 165 60 0
+60 0 0 -30 c0 -16 1 -30 3 -30 1 0 48 18 105 39 l102 39 0 -174 0 -174 730 0
+730 0 0 355 0 355 -730 0 -730 0 0 -174 0 -174 -102 39 c-57 21 -104 39 -105
+39 -2 0 -3 -13 -3 -30 l0 -30 -60 0 -60 0 0 165 0 165 -480 0 -480 0 0 -110 0
+-110 -84 60 c-90 64 -96 67 -96 48 -1 -42 -12 -42 -224 13 l-206 54 0 257 0
+258 -355 0 -355 0 0 35 c0 31 3 35 25 35 32 0 31 9 -5 103 -16 43 -30 82 -30
+88 0 5 147 10 358 11 l357 3 3 173 2 172 -735 0 -735 0 0 -175z m1450 0 l0
+-155 -715 0 -715 0 0 155 0 155 715 0 715 0 0 -155z m-730 -465 c13 -7 21 -7
+25 0 4 6 133 10 356 10 l349 0 0 -254 c0 -160 -4 -257 -10 -261 -7 -4 -7 -12
+0 -25 5 -10 10 -46 10 -79 l0 -61 -715 0 -715 0 0 340 0 340 341 0 c208 0 348
+-4 359 -10z m-2311 -805 l0 -335 -714 0 -715 0 0 335 0 335 715 0 714 0 0
+-335z m1210 0 l0 -335 -460 0 -459 0 0 335 0 335 459 0 460 0 0 -335z m3401
+176 c0 -96 -4 -162 -10 -166 -7 -4 -7 -12 0 -25 5 -10 10 -86 10 -169 l0 -151
+-460 0 -460 0 0 335 0 335 460 0 460 0 0 -159z m1790 -176 l0 -335 -715 0
+-715 0 0 335 0 335 715 0 715 0 0 -335z m-3109 196 c164 -43 176 -47 168 -66
+-14 -35 -10 -37 46 -31 30 3 80 9 110 12 l55 6 0 -112 0 -113 -72 7 c-40 4
+-90 10 -111 13 -37 6 -37 5 -31 -24 l6 -30 -201 -50 -201 -51 0 74 0 74 -735
+0 -734 0 -3 -66 -3 -65 -80 60 c-44 33 -83 61 -87 61 -5 0 -8 -9 -8 -19 0 -32
+-14 -33 -100 -9 l-81 23 3 114 3 114 75 24 c41 12 78 23 83 23 4 0 12 -12 17
+-26 l10 -26 38 28 c20 15 56 42 79 61 23 18 44 33 47 33 3 0 6 -27 6 -60 l0
+-60 733 2 732 3 3 68 3 67 27 -7 c15 -3 106 -27 203 -52z m-251 -380 c0 -39
+-5 -73 -10 -76 -7 -4 -7 -12 0 -25 6 -11 10 -118 10 -259 l0 -241 -715 0 -715
+0 0 335 0 335 715 0 715 0 0 -69z m0 -1076 l0 -155 -715 0 -715 0 0 155 0 155
+715 0 715 0 0 -155z"/>
+<path d="M3472 2798 c2 -62 2 -62 6 -13 l4 50 17 -45 c9 -25 21 -44 26 -42 6
+1 17 21 25 45 l15 42 6 -50 6 -50 1 63 c1 34 -2 62 -7 62 -5 0 -17 -20 -27
+-45 -19 -50 -26 -49 -44 8 -18 56 -30 45 -28 -25z"/>
+<path d="M3700 2848 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M3876 2844 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M3611 2816 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M3737 2824 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3991 2816 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M4077 2824 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M4161 2780 c2 -34 3 -37 6 -15 3 17 12 38 20 47 14 15 13 17 -6 15
+-18 -1 -21 -7 -20 -47z"/>
+<path d="M3480 2000 c0 -60 0 -60 29 -60 37 0 61 23 61 60 0 37 -24 60 -61 60
+-29 0 -29 0 -29 -60z m69 34 c10 -10 3 -67 -10 -75 -36 -22 -49 -11 -49 42 0
+51 0 51 27 44 16 -4 30 -9 32 -11z"/>
+<path d="M3690 2048 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M3866 2044 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M3587 2024 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3727 2024 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3981 2016 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M4067 2024 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M426 1574 c-19 -18 -21 -75 -4 -92 17 -17 54 -15 73 4 22 22 10 31
+-13 10 -22 -19 -49 -12 -57 15 -15 46 24 82 56 53 17 -15 19 -15 19 -2 0 29
+-49 37 -74 12z"/>
+<path d="M680 1572 c0 -13 -8 -18 -27 -17 -26 0 -28 -3 -28 -40 0 -38 1 -40
+33 -41 l32 -1 0 59 c0 32 -2 58 -5 58 -3 0 -5 -8 -5 -18z m-11 -74 c-6 -11
+-16 -17 -22 -15 -17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M856 1574 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M530 1546 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m54 -21 c2 -7 -1 -21 -9 -31 -11 -15 -15 -16 -29 -5 -19 16 -20 33
+-5 48 13 13 35 7 43 -12z"/>
+<path d="M721 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M971 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M1057 1554 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M1902 1528 c2 -62 2 -62 6 -13 l4 50 17 -45 c9 -25 21 -44 26 -42 6
+1 17 21 25 45 l15 42 6 -50 6 -50 1 63 c1 34 -2 62 -7 62 -5 0 -17 -20 -27
+-45 -19 -50 -26 -49 -44 8 -18 56 -30 45 -28 -25z"/>
+<path d="M2130 1578 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M2306 1574 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M2041 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M2167 1554 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M2421 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M2507 1554 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M2591 1510 c2 -34 3 -37 6 -15 3 17 12 38 20 47 14 15 13 17 -6 15
+-18 -1 -21 -7 -20 -47z"/>
+<path d="M5292 1528 c2 -62 2 -62 6 -13 l4 50 17 -45 c9 -25 21 -44 26 -42 6
+1 17 21 25 45 l15 42 6 -50 6 -50 1 63 c1 34 -2 62 -7 62 -5 0 -17 -20 -27
+-45 -19 -50 -26 -49 -44 8 -18 56 -30 45 -28 -25z"/>
+<path d="M5530 1578 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M5706 1574 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M5431 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M5567 1554 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M5821 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M5897 1554 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M5981 1510 c2 -34 3 -37 6 -15 3 17 12 38 20 47 14 15 13 17 -6 15
+-18 -1 -21 -7 -20 -47z"/>
+<path d="M6826 1574 c-19 -18 -21 -75 -4 -92 17 -17 54 -15 73 4 22 22 10 31
+-13 10 -22 -19 -49 -12 -57 15 -15 46 24 82 56 53 17 -15 19 -15 19 -2 0 29
+-49 37 -74 12z"/>
+<path d="M7080 1572 c0 -13 -8 -18 -27 -17 -26 0 -28 -3 -28 -40 0 -38 1 -40
+33 -41 l32 -1 0 59 c0 32 -2 58 -5 58 -3 0 -5 -8 -5 -18z m-11 -74 c-6 -11
+-16 -17 -22 -15 -17 5 -21 36 -6 53 12 14 14 14 26 -1 9 -13 9 -23 2 -37z"/>
+<path d="M7256 1574 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M6930 1546 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m54 -21 c2 -7 -1 -21 -9 -31 -11 -15 -15 -16 -29 -5 -19 16 -20 33
+-5 48 13 13 35 7 43 -12z"/>
+<path d="M7121 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M7371 1546 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M7457 1554 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3480 1080 c0 -60 0 -60 29 -60 37 0 61 23 61 60 0 37 -24 60 -61 60
+-29 0 -29 0 -29 -60z m69 34 c10 -10 3 -67 -10 -75 -36 -22 -49 -11 -49 42 0
+51 0 51 27 44 16 -4 30 -9 32 -11z"/>
+<path d="M3690 1128 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M3866 1124 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M3587 1104 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3727 1104 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3981 1096 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34
+15 5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38
+-16 16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8
+14 15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M4067 1104 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -30 0 -17 6 -20 45 -19 41 0 45 3 45 26 0 14 7 33 16
+43 15 17 15 18 -5 16 -17 -1 -21 -8 -22 -37 l-2 -35 -6 35 c-5 28 -11 36 -31
+38 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3472 268 c2 -62 2 -62 6 -13 l4 50 17 -45 c9 -25 21 -44 26 -42 6 1
+17 21 25 45 l15 42 6 -50 6 -50 1 63 c1 34 -2 62 -7 62 -5 0 -17 -20 -27 -45
+-19 -50 -26 -49 -44 8 -18 56 -30 45 -28 -25z"/>
+<path d="M3700 318 c0 -9 -6 -19 -12 -21 -10 -4 -10 -6 0 -6 7 -1 12 -16 12
+-41 0 -22 3 -40 8 -40 8 0 6 109 -2 118 -3 3 -6 -2 -6 -10z"/>
+<path d="M3876 314 c-9 -8 -16 -31 -16 -49 0 -40 22 -57 70 -53 27 2 30 6 30
+35 0 30 -3 33 -27 32 -17 -1 -21 -3 -10 -6 21 -5 23 -39 2 -47 -34 -13 -63 23
+-50 63 8 27 34 34 61 16 25 -16 33 -8 12 13 -17 17 -54 15 -72 -4z"/>
+<path d="M3611 286 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M3737 294 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M3991 286 c-7 -8 -11 -27 -9 -43 2 -24 8 -28 32 -28 17 0 31 6 34 15
+5 13 3 13 -11 1 -18 -14 -47 -9 -47 9 0 5 14 10 30 10 31 0 39 17 18 38 -16
+16 -33 15 -47 -2z m39 -11 c11 -13 8 -15 -15 -15 -23 0 -26 2 -15 15 7 8 14
+15 15 15 1 0 8 -7 15 -15z"/>
+<path d="M4077 294 c-14 -14 -7 -26 8 -14 12 10 19 10 27 2 8 -8 4 -14 -15
+-21 -17 -7 -27 -18 -27 -31 0 -17 6 -20 38 -18 l38 1 -6 41 c-4 35 -9 41 -30
+44 -14 2 -29 0 -33 -4z m41 -60 c-9 -9 -21 -13 -27 -9 -16 10 -3 25 22 25 20
+0 20 -1 5 -16z"/>
+<path d="M4161 250 c2 -34 3 -37 6 -15 3 17 12 38 20 47 14 15 13 17 -6 15
+-18 -1 -21 -7 -20 -47z"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/meta_gear2.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="788pt" height="229pt" viewBox="0 0 788 229" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.390625 0 L 0.390625 -8.609375 L 7.21875 -8.609375 L 7.21875 0 Z M 6.140625 -1.078125 L 6.140625 -7.53125 L 1.46875 -7.53125 L 1.46875 -1.078125 Z M 6.140625 -1.078125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 4.546875 -8.84375 C 5.628906 -8.84375 6.472656 -8.554688 7.078125 -7.984375 C 7.679688 -7.410156 8.015625 -6.757812 8.078125 -6.03125 L 6.9375 -6.03125 C 6.8125 -6.582031 6.554688 -7.019531 6.171875 -7.34375 C 5.785156 -7.664062 5.242188 -7.828125 4.546875 -7.828125 C 3.703125 -7.828125 3.019531 -7.53125 2.5 -6.9375 C 1.976562 -6.34375 1.71875 -5.429688 1.71875 -4.203125 C 1.71875 -3.191406 1.953125 -2.367188 2.421875 -1.734375 C 2.890625 -1.109375 3.59375 -0.796875 4.53125 -0.796875 C 5.382812 -0.796875 6.039062 -1.128906 6.5 -1.796875 C 6.726562 -2.140625 6.90625 -2.597656 7.03125 -3.171875 L 8.15625 -3.171875 C 8.0625 -2.265625 7.726562 -1.503906 7.15625 -0.890625 C 6.46875 -0.148438 5.546875 0.21875 4.390625 0.21875 C 3.390625 0.21875 2.550781 -0.0820312 1.875 -0.6875 C 0.976562 -1.488281 0.53125 -2.722656 0.53125 -4.390625 C 0.53125 -5.660156 0.863281 -6.703125 1.53125 -7.515625 C 2.257812 -8.398438 3.265625 -8.84375 4.546875 -8.84375 Z M 4.3125 -8.84375 Z M 4.3125 -8.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 3.265625 -0.6875 C 3.960938 -0.6875 4.441406 -0.945312 4.703125 -1.46875 C 4.960938 -2 5.09375 -2.585938 5.09375 -3.234375 C 5.09375 -3.828125 5 -4.304688 4.8125 -4.671875 C 4.507812 -5.242188 4 -5.53125 3.28125 -5.53125 C 2.632812 -5.53125 2.164062 -5.285156 1.875 -4.796875 C 1.582031 -4.304688 1.4375 -3.710938 1.4375 -3.015625 C 1.4375 -2.347656 1.582031 -1.789062 1.875 -1.34375 C 2.164062 -0.90625 2.628906 -0.6875 3.265625 -0.6875 Z M 3.3125 -6.453125 C 4.113281 -6.453125 4.789062 -6.179688 5.34375 -5.640625 C 5.90625 -5.109375 6.1875 -4.316406 6.1875 -3.265625 C 6.1875 -2.253906 5.941406 -1.414062 5.453125 -0.75 C 4.960938 -0.09375 4.203125 0.234375 3.171875 0.234375 C 2.304688 0.234375 1.617188 -0.0546875 1.109375 -0.640625 C 0.597656 -1.234375 0.34375 -2.019531 0.34375 -3 C 0.34375 -4.050781 0.609375 -4.890625 1.140625 -5.515625 C 1.679688 -6.140625 2.40625 -6.453125 3.3125 -6.453125 Z M 3.265625 -6.421875 Z M 3.265625 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 1.4375 -3.0625 C 1.4375 -2.394531 1.578125 -1.832031 1.859375 -1.375 C 2.148438 -0.925781 2.609375 -0.703125 3.234375 -0.703125 C 3.722656 -0.703125 4.125 -0.910156 4.4375 -1.328125 C 4.757812 -1.742188 4.921875 -2.347656 4.921875 -3.140625 C 4.921875 -3.929688 4.753906 -4.515625 4.421875 -4.890625 C 4.097656 -5.273438 3.703125 -5.46875 3.234375 -5.46875 C 2.703125 -5.46875 2.269531 -5.265625 1.9375 -4.859375 C 1.601562 -4.453125 1.4375 -3.851562 1.4375 -3.0625 Z M 3.03125 -6.390625 C 3.507812 -6.390625 3.910156 -6.285156 4.234375 -6.078125 C 4.421875 -5.960938 4.632812 -5.757812 4.875 -5.46875 L 4.875 -8.640625 L 5.890625 -8.640625 L 5.890625 0 L 4.9375 0 L 4.9375 -0.875 C 4.695312 -0.488281 4.40625 -0.207031 4.0625 -0.03125 C 3.726562 0.132812 3.34375 0.21875 2.90625 0.21875 C 2.207031 0.21875 1.601562 -0.0703125 1.09375 -0.65625 C 0.582031 -1.25 0.328125 -2.03125 0.328125 -3 C 0.328125 -3.914062 0.5625 -4.707031 1.03125 -5.375 C 1.5 -6.050781 2.164062 -6.390625 3.03125 -6.390625 Z M 3.03125 -6.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 3.390625 -6.421875 C 3.835938 -6.421875 4.269531 -6.316406 4.6875 -6.109375 C 5.101562 -5.898438 5.421875 -5.628906 5.640625 -5.296875 C 5.847656 -4.972656 5.988281 -4.601562 6.0625 -4.1875 C 6.125 -3.894531 6.15625 -3.429688 6.15625 -2.796875 L 1.546875 -2.796875 C 1.566406 -2.160156 1.71875 -1.648438 2 -1.265625 C 2.28125 -0.878906 2.71875 -0.6875 3.3125 -0.6875 C 3.863281 -0.6875 4.300781 -0.867188 4.625 -1.234375 C 4.8125 -1.441406 4.945312 -1.6875 5.03125 -1.96875 L 6.0625 -1.96875 C 6.039062 -1.738281 5.953125 -1.484375 5.796875 -1.203125 C 5.640625 -0.921875 5.46875 -0.6875 5.28125 -0.5 C 4.957031 -0.1875 4.554688 0.0195312 4.078125 0.125 C 3.828125 0.1875 3.539062 0.21875 3.21875 0.21875 C 2.4375 0.21875 1.773438 -0.0625 1.234375 -0.625 C 0.691406 -1.195312 0.421875 -1.992188 0.421875 -3.015625 C 0.421875 -4.023438 0.691406 -4.84375 1.234375 -5.46875 C 1.785156 -6.101562 2.503906 -6.421875 3.390625 -6.421875 Z M 5.0625 -3.640625 C 5.019531 -4.097656 4.921875 -4.460938 4.765625 -4.734375 C 4.484375 -5.242188 4.003906 -5.5 3.328125 -5.5 C 2.835938 -5.5 2.425781 -5.320312 2.09375 -4.96875 C 1.769531 -4.625 1.597656 -4.179688 1.578125 -3.640625 Z M 3.28125 -6.421875 Z M 3.28125 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 4.640625 -8.828125 C 5.441406 -8.828125 6.140625 -8.671875 6.734375 -8.359375 C 7.585938 -7.910156 8.109375 -7.125 8.296875 -6 L 7.15625 -6 C 7.007812 -6.625 6.710938 -7.082031 6.265625 -7.375 C 5.828125 -7.664062 5.273438 -7.8125 4.609375 -7.8125 C 3.804688 -7.8125 3.132812 -7.507812 2.59375 -6.90625 C 2.050781 -6.3125 1.78125 -5.421875 1.78125 -4.234375 C 1.78125 -3.210938 2.003906 -2.378906 2.453125 -1.734375 C 2.898438 -1.097656 3.628906 -0.78125 4.640625 -0.78125 C 5.421875 -0.78125 6.066406 -1.003906 6.578125 -1.453125 C 7.085938 -1.898438 7.347656 -2.628906 7.359375 -3.640625 L 4.671875 -3.640625 L 4.671875 -4.609375 L 8.4375 -4.609375 L 8.4375 0 L 7.6875 0 L 7.40625 -1.109375 C 7.019531 -0.671875 6.671875 -0.367188 6.359375 -0.203125 C 5.847656 0.0859375 5.195312 0.234375 4.40625 0.234375 C 3.394531 0.234375 2.519531 -0.0976562 1.78125 -0.765625 C 0.976562 -1.585938 0.578125 -2.722656 0.578125 -4.171875 C 0.578125 -5.609375 0.96875 -6.753906 1.75 -7.609375 C 2.488281 -8.421875 3.453125 -8.828125 4.640625 -8.828125 Z M 4.4375 -8.84375 Z M 4.4375 -8.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 1.578125 -1.671875 C 1.578125 -1.367188 1.6875 -1.128906 1.90625 -0.953125 C 2.132812 -0.773438 2.398438 -0.6875 2.703125 -0.6875 C 3.078125 -0.6875 3.4375 -0.769531 3.78125 -0.9375 C 4.375 -1.226562 4.671875 -1.695312 4.671875 -2.34375 L 4.671875 -3.1875 C 4.535156 -3.113281 4.363281 -3.046875 4.15625 -2.984375 C 3.957031 -2.929688 3.757812 -2.894531 3.5625 -2.875 L 2.9375 -2.796875 C 2.550781 -2.742188 2.257812 -2.660156 2.0625 -2.546875 C 1.738281 -2.367188 1.578125 -2.078125 1.578125 -1.671875 Z M 4.140625 -3.796875 C 4.378906 -3.828125 4.539062 -3.929688 4.625 -4.109375 C 4.664062 -4.203125 4.6875 -4.335938 4.6875 -4.515625 C 4.6875 -4.867188 4.554688 -5.125 4.296875 -5.28125 C 4.046875 -5.445312 3.6875 -5.53125 3.21875 -5.53125 C 2.664062 -5.53125 2.273438 -5.382812 2.046875 -5.09375 C 1.910156 -4.925781 1.820312 -4.679688 1.78125 -4.359375 L 0.796875 -4.359375 C 0.816406 -5.128906 1.066406 -5.664062 1.546875 -5.96875 C 2.035156 -6.269531 2.597656 -6.421875 3.234375 -6.421875 C 3.972656 -6.421875 4.570312 -6.28125 5.03125 -6 C 5.488281 -5.71875 5.71875 -5.28125 5.71875 -4.6875 L 5.71875 -1.078125 C 5.71875 -0.972656 5.738281 -0.882812 5.78125 -0.8125 C 5.832031 -0.75 5.929688 -0.71875 6.078125 -0.71875 C 6.117188 -0.71875 6.164062 -0.71875 6.21875 -0.71875 C 6.28125 -0.726562 6.347656 -0.738281 6.421875 -0.75 L 6.421875 0.03125 C 6.253906 0.0703125 6.125 0.0976562 6.03125 0.109375 C 5.945312 0.128906 5.832031 0.140625 5.6875 0.140625 C 5.320312 0.140625 5.0625 0.0078125 4.90625 -0.25 C 4.8125 -0.382812 4.75 -0.578125 4.71875 -0.828125 C 4.5 -0.546875 4.1875 -0.300781 3.78125 -0.09375 C 3.382812 0.113281 2.945312 0.21875 2.46875 0.21875 C 1.882812 0.21875 1.40625 0.0390625 1.03125 -0.3125 C 0.664062 -0.664062 0.484375 -1.109375 0.484375 -1.640625 C 0.484375 -2.222656 0.664062 -2.675781 1.03125 -3 C 1.394531 -3.320312 1.867188 -3.519531 2.453125 -3.59375 Z M 3.265625 -6.421875 Z M 3.265625 -6.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.796875 -6.28125 L 1.8125 -6.28125 L 1.8125 -5.1875 C 1.882812 -5.40625 2.082031 -5.664062 2.40625 -5.96875 C 2.726562 -6.269531 3.097656 -6.421875 3.515625 -6.421875 C 3.535156 -6.421875 3.566406 -6.414062 3.609375 -6.40625 C 3.660156 -6.40625 3.742188 -6.398438 3.859375 -6.390625 L 3.859375 -5.28125 C 3.796875 -5.289062 3.738281 -5.296875 3.6875 -5.296875 C 3.632812 -5.296875 3.578125 -5.296875 3.515625 -5.296875 C 2.984375 -5.296875 2.570312 -5.125 2.28125 -4.78125 C 2 -4.445312 1.859375 -4.054688 1.859375 -3.609375 L 1.859375 0 L 0.796875 0 Z M 0.796875 -6.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 1.15625 -5.9375 L 1.15625 -6.75 C 1.914062 -6.820312 2.441406 -6.945312 2.734375 -7.125 C 3.035156 -7.300781 3.265625 -7.710938 3.421875 -8.359375 L 4.25 -8.359375 L 4.25 0 L 3.125 0 L 3.125 -5.9375 Z M 1.15625 -5.9375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 0.890625 -8.609375 L 2.5625 -8.609375 L 5.03125 -1.328125 L 7.484375 -8.609375 L 9.140625 -8.609375 L 9.140625 0 L 8.03125 0 L 8.03125 -5.078125 C 8.03125 -5.253906 8.03125 -5.546875 8.03125 -5.953125 C 8.039062 -6.359375 8.046875 -6.796875 8.046875 -7.265625 L 5.59375 0 L 4.4375 0 L 1.96875 -7.265625 L 1.96875 -7 C 1.96875 -6.789062 1.972656 -6.46875 1.984375 -6.03125 C 1.992188 -5.601562 2 -5.285156 2 -5.078125 L 2 0 L 0.890625 0 Z M 0.890625 -8.609375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0.984375 -8.03125 L 2.046875 -8.03125 L 2.046875 -6.28125 L 3.046875 -6.28125 L 3.046875 -5.421875 L 2.046875 -5.421875 L 2.046875 -1.3125 C 2.046875 -1.09375 2.125 -0.945312 2.28125 -0.875 C 2.351562 -0.832031 2.488281 -0.8125 2.6875 -0.8125 C 2.738281 -0.8125 2.789062 -0.8125 2.84375 -0.8125 C 2.90625 -0.820312 2.972656 -0.828125 3.046875 -0.828125 L 3.046875 0 C 2.929688 0.03125 2.804688 0.0507812 2.671875 0.0625 C 2.546875 0.0820312 2.40625 0.09375 2.25 0.09375 C 1.757812 0.09375 1.425781 -0.03125 1.25 -0.28125 C 1.070312 -0.53125 0.984375 -0.859375 0.984375 -1.265625 L 0.984375 -5.421875 L 0.140625 -5.421875 L 0.140625 -6.28125 L 0.984375 -6.28125 Z M 0.984375 -8.03125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.375 0 C 0.414062 -0.71875 0.566406 -1.34375 0.828125 -1.875 C 1.085938 -2.414062 1.59375 -2.90625 2.34375 -3.34375 L 3.46875 -4 C 3.96875 -4.289062 4.320312 -4.539062 4.53125 -4.75 C 4.851562 -5.070312 5.015625 -5.441406 5.015625 -5.859375 C 5.015625 -6.347656 4.863281 -6.734375 4.5625 -7.015625 C 4.269531 -7.304688 3.882812 -7.453125 3.40625 -7.453125 C 2.675781 -7.453125 2.175781 -7.179688 1.90625 -6.640625 C 1.75 -6.335938 1.664062 -5.929688 1.65625 -5.421875 L 0.578125 -5.421875 C 0.585938 -6.148438 0.722656 -6.742188 0.984375 -7.203125 C 1.441406 -8.015625 2.25 -8.421875 3.40625 -8.421875 C 4.363281 -8.421875 5.0625 -8.160156 5.5 -7.640625 C 5.945312 -7.117188 6.171875 -6.539062 6.171875 -5.90625 C 6.171875 -5.238281 5.9375 -4.664062 5.46875 -4.1875 C 5.195312 -3.90625 4.707031 -3.566406 4 -3.171875 L 3.1875 -2.734375 C 2.8125 -2.523438 2.515625 -2.320312 2.296875 -2.125 C 1.898438 -1.789062 1.648438 -1.414062 1.546875 -1 L 6.140625 -1 L 6.140625 0 Z M 0.375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 1.234375 -11.421875 L 1.234375 0 L 2.671875 0 L 2.671875 -9.171875 L 2.703125 -9.171875 L 8.671875 0 L 10.34375 0 L 10.34375 -11.421875 L 8.890625 -11.421875 L 8.890625 -2.15625 L 8.859375 -2.15625 L 2.84375 -11.421875 Z M 1.234375 -11.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 2.015625 -4.125 C 2.015625 -4.625 2.082031 -5.066406 2.21875 -5.453125 C 2.351562 -5.847656 2.535156 -6.175781 2.765625 -6.4375 C 3.003906 -6.707031 3.28125 -6.910156 3.59375 -7.046875 C 3.90625 -7.191406 4.238281 -7.265625 4.59375 -7.265625 C 4.945312 -7.265625 5.28125 -7.191406 5.59375 -7.046875 C 5.90625 -6.910156 6.175781 -6.707031 6.40625 -6.4375 C 6.644531 -6.175781 6.832031 -5.847656 6.96875 -5.453125 C 7.101562 -5.066406 7.171875 -4.625 7.171875 -4.125 C 7.171875 -3.625 7.101562 -3.175781 6.96875 -2.78125 C 6.832031 -2.394531 6.644531 -2.070312 6.40625 -1.8125 C 6.175781 -1.550781 5.90625 -1.351562 5.59375 -1.21875 C 5.28125 -1.082031 4.945312 -1.015625 4.59375 -1.015625 C 4.238281 -1.015625 3.90625 -1.082031 3.59375 -1.21875 C 3.28125 -1.351562 3.003906 -1.550781 2.765625 -1.8125 C 2.535156 -2.070312 2.351562 -2.394531 2.21875 -2.78125 C 2.082031 -3.175781 2.015625 -3.625 2.015625 -4.125 Z M 0.578125 -4.125 C 0.578125 -3.519531 0.660156 -2.953125 0.828125 -2.421875 C 1.003906 -1.898438 1.257812 -1.445312 1.59375 -1.0625 C 1.9375 -0.675781 2.359375 -0.375 2.859375 -0.15625 C 3.359375 0.0625 3.9375 0.171875 4.59375 0.171875 C 5.25 0.171875 5.828125 0.0625 6.328125 -0.15625 C 6.828125 -0.375 7.242188 -0.675781 7.578125 -1.0625 C 7.921875 -1.445312 8.175781 -1.898438 8.34375 -2.421875 C 8.519531 -2.953125 8.609375 -3.519531 8.609375 -4.125 C 8.609375 -4.738281 8.519531 -5.304688 8.34375 -5.828125 C 8.175781 -6.359375 7.921875 -6.816406 7.578125 -7.203125 C 7.242188 -7.597656 6.828125 -7.90625 6.328125 -8.125 C 5.828125 -8.351562 5.25 -8.46875 4.59375 -8.46875 C 3.9375 -8.46875 3.359375 -8.351562 2.859375 -8.125 C 2.359375 -7.90625 1.9375 -7.597656 1.59375 -7.203125 C 1.257812 -6.816406 1.003906 -6.359375 0.828125 -5.828125 C 0.660156 -5.304688 0.578125 -4.738281 0.578125 -4.125 Z M 0.578125 -4.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 0.96875 -8.265625 L 0.96875 0 L 2.34375 0 L 2.34375 -3.6875 C 2.34375 -4.21875 2.394531 -4.6875 2.5 -5.09375 C 2.601562 -5.507812 2.769531 -5.859375 3 -6.140625 C 3.238281 -6.429688 3.550781 -6.648438 3.9375 -6.796875 C 4.320312 -6.953125 4.785156 -7.03125 5.328125 -7.03125 L 5.328125 -8.46875 C 4.585938 -8.488281 3.976562 -8.335938 3.5 -8.015625 C 3.019531 -7.691406 2.613281 -7.195312 2.28125 -6.53125 L 2.25 -6.53125 L 2.25 -8.265625 Z M 0.96875 -8.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -5.15625 C 2.390625 -5.3125 2.425781 -5.507812 2.5 -5.75 C 2.582031 -5.988281 2.710938 -6.21875 2.890625 -6.4375 C 3.066406 -6.664062 3.296875 -6.859375 3.578125 -7.015625 C 3.859375 -7.179688 4.195312 -7.265625 4.59375 -7.265625 C 4.90625 -7.265625 5.15625 -7.21875 5.34375 -7.125 C 5.539062 -7.03125 5.695312 -6.898438 5.8125 -6.734375 C 5.9375 -6.578125 6.019531 -6.382812 6.0625 -6.15625 C 6.113281 -5.9375 6.140625 -5.691406 6.140625 -5.421875 L 6.140625 0 L 7.5 0 L 7.5 -5.15625 C 7.5 -5.789062 7.691406 -6.300781 8.078125 -6.6875 C 8.460938 -7.070312 8.988281 -7.265625 9.65625 -7.265625 C 9.988281 -7.265625 10.257812 -7.210938 10.46875 -7.109375 C 10.675781 -7.015625 10.835938 -6.882812 10.953125 -6.71875 C 11.078125 -6.5625 11.160156 -6.367188 11.203125 -6.140625 C 11.242188 -5.921875 11.265625 -5.679688 11.265625 -5.421875 L 11.265625 0 L 12.625 0 L 12.625 -6.0625 C 12.625 -6.488281 12.554688 -6.851562 12.421875 -7.15625 C 12.285156 -7.457031 12.097656 -7.703125 11.859375 -7.890625 C 11.617188 -8.085938 11.332031 -8.234375 11 -8.328125 C 10.664062 -8.421875 10.289062 -8.46875 9.875 -8.46875 C 9.332031 -8.46875 8.832031 -8.34375 8.375 -8.09375 C 7.925781 -7.851562 7.5625 -7.507812 7.28125 -7.0625 C 7.113281 -7.570312 6.820312 -7.929688 6.40625 -8.140625 C 5.988281 -8.359375 5.523438 -8.46875 5.015625 -8.46875 C 3.847656 -8.46875 2.957031 -8 2.34375 -7.0625 L 2.296875 -7.0625 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M 1.109375 -11.421875 L 1.109375 0 L 2.46875 0 L 2.46875 -11.421875 Z M 1.109375 -11.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 1.25 -11.421875 L 1.25 0 L 8.8125 0 L 8.8125 -1.28125 L 2.765625 -1.28125 L 2.765625 -11.421875 Z M 1.25 -11.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M 6.765625 -4.921875 L 2.015625 -4.921875 C 2.035156 -5.242188 2.101562 -5.546875 2.21875 -5.828125 C 2.34375 -6.109375 2.503906 -6.351562 2.703125 -6.5625 C 2.910156 -6.78125 3.15625 -6.953125 3.4375 -7.078125 C 3.71875 -7.203125 4.035156 -7.265625 4.390625 -7.265625 C 4.722656 -7.265625 5.03125 -7.203125 5.3125 -7.078125 C 5.601562 -6.953125 5.851562 -6.785156 6.0625 -6.578125 C 6.269531 -6.367188 6.429688 -6.117188 6.546875 -5.828125 C 6.671875 -5.546875 6.742188 -5.242188 6.765625 -4.921875 Z M 8.078125 -2.625 L 6.734375 -2.625 C 6.617188 -2.082031 6.375 -1.675781 6 -1.40625 C 5.632812 -1.144531 5.164062 -1.015625 4.59375 -1.015625 C 4.144531 -1.015625 3.753906 -1.085938 3.421875 -1.234375 C 3.085938 -1.378906 2.8125 -1.578125 2.59375 -1.828125 C 2.382812 -2.078125 2.234375 -2.363281 2.140625 -2.6875 C 2.046875 -3.019531 2.003906 -3.367188 2.015625 -3.734375 L 8.203125 -3.734375 C 8.222656 -4.234375 8.175781 -4.757812 8.0625 -5.3125 C 7.957031 -5.863281 7.757812 -6.375 7.46875 -6.84375 C 7.175781 -7.3125 6.785156 -7.695312 6.296875 -8 C 5.804688 -8.3125 5.195312 -8.46875 4.46875 -8.46875 C 3.894531 -8.46875 3.367188 -8.359375 2.890625 -8.140625 C 2.421875 -7.929688 2.015625 -7.632812 1.671875 -7.25 C 1.328125 -6.863281 1.054688 -6.410156 0.859375 -5.890625 C 0.671875 -5.367188 0.578125 -4.789062 0.578125 -4.15625 C 0.597656 -3.53125 0.691406 -2.945312 0.859375 -2.40625 C 1.023438 -1.875 1.269531 -1.414062 1.59375 -1.03125 C 1.925781 -0.65625 2.332031 -0.359375 2.8125 -0.140625 C 3.300781 0.0664062 3.878906 0.171875 4.546875 0.171875 C 5.484375 0.171875 6.257812 -0.0625 6.875 -0.53125 C 7.5 -1 7.898438 -1.695312 8.078125 -2.625 Z M 8.078125 -2.625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 4.75 0 L 7.78125 -8.265625 L 6.359375 -8.265625 L 4.09375 -1.375 L 4.0625 -1.375 L 1.75 -8.265625 L 0.21875 -8.265625 L 3.296875 0 Z M 4.75 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 1.28125 -11.421875 L 1.28125 0 L 2.71875 0 L 2.71875 -9.5 L 2.75 -9.5 L 6.3125 0 L 7.609375 0 L 11.1875 -9.5 L 11.21875 -9.5 L 11.21875 0 L 12.65625 0 L 12.65625 -11.421875 L 10.578125 -11.421875 L 6.953125 -1.828125 L 3.359375 -11.421875 Z M 1.28125 -11.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d="M 2.90625 -8.265625 L 2.90625 -10.75 L 1.546875 -10.75 L 1.546875 -8.265625 L 0.140625 -8.265625 L 0.140625 -7.078125 L 1.546875 -7.078125 L 1.546875 -1.8125 C 1.546875 -1.425781 1.582031 -1.113281 1.65625 -0.875 C 1.738281 -0.644531 1.851562 -0.460938 2 -0.328125 C 2.15625 -0.203125 2.359375 -0.113281 2.609375 -0.0625 C 2.859375 -0.0195312 3.160156 0 3.515625 0 L 4.5625 0 L 4.5625 -1.203125 L 3.9375 -1.203125 C 3.71875 -1.203125 3.539062 -1.207031 3.40625 -1.21875 C 3.28125 -1.238281 3.175781 -1.273438 3.09375 -1.328125 C 3.019531 -1.378906 2.96875 -1.453125 2.9375 -1.546875 C 2.914062 -1.648438 2.90625 -1.78125 2.90625 -1.9375 L 2.90625 -7.078125 L 4.5625 -7.078125 L 4.5625 -8.265625 Z M 2.90625 -8.265625 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface1">
+<rect x="0" y="0" width="788" height="229" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 267.566406 216 L 381.527344 216 L 381.527344 279 L 267.566406 279 Z M 267.566406 216 " transform="matrix(1,0,0,1,-117,-205)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="173.19318" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="181.85958" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="188.53398" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="195.20838" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="201.88278" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="205.21638" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="214.54998" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="221.22438" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="227.89878" y="46.5"/>
+  <use xlink:href="#glyph0-5" x="231.89478" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="235.22838" y="46.5"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,14.901733%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421.75 360 L 535.710938 360 L 535.710938 423 L 421.75 423 Z M 421.75 360 " transform="matrix(1,0,0,1,-117,-205)"/>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="312.36992" y="190.5"/>
+  <use xlink:href="#glyph0-4" x="322.36592" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-11" x="329.04032" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="332.37392" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="339.04832" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="342.38192" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="351.04832" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="357.72272" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="364.39712" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="371.07152" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="374.40512" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="383.73872" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="390.41312" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="397.08752" y="190.5"/>
+  <use xlink:href="#glyph0-5" x="401.08352" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="404.41712" y="190.5"/>
+</g>
+<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 381.527344 247.5 L 419.085938 381.964844 " transform="matrix(1,0,0,1,-117,-205)"/>
+<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421.238281 389.671875 L 421.976562 381.15625 L 416.195312 382.773438 Z M 421.238281 389.671875 " transform="matrix(1,0,0,1,-117,-205)"/>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 602.746094 216 L 716.707031 216 L 716.707031 279 L 602.746094 279 Z M 602.746094 216 " transform="matrix(1,0,0,1,-117,-205)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="508.37268" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="517.03908" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="523.71348" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="530.38788" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="537.06228" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="540.39588" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="549.72948" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="556.40388" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="563.07828" y="46.5"/>
+  <use xlink:href="#glyph0-5" x="567.07428" y="46.5"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-12" x="570.40788" y="46.5"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,14.901733%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 743.519531 360 L 857.480469 360 L 857.480469 423 L 743.519531 423 Z M 743.519531 360 " transform="matrix(1,0,0,1,-117,-205)"/>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-10" x="634.14212" y="190.5"/>
+  <use xlink:href="#glyph0-4" x="644.13812" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-11" x="650.81252" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="654.14612" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="660.82052" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="664.15412" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="672.82052" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="679.49492" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="686.16932" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="692.84372" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="696.17732" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="705.51092" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="712.18532" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="718.85972" y="190.5"/>
+  <use xlink:href="#glyph0-5" x="722.85572" y="190.5"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-12" x="726.18932" y="190.5"/>
+</g>
+<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 716.707031 247.5 L 741.707031 381.765625 " transform="matrix(1,0,0,1,-117,-205)"/>
+<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 743.171875 389.632812 L 744.65625 381.21875 L 738.757812 382.316406 Z M 743.171875 389.632812 " transform="matrix(1,0,0,1,-117,-205)"/>
+<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 535.710938 391.5 L 598.566406 256.476562 " transform="matrix(1,0,0,1,-117,-205)"/>
+<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 601.945312 249.222656 L 595.847656 255.210938 L 601.289062 257.742188 Z M 601.945312 249.222656 " transform="matrix(1,0,0,1,-117,-205)"/>
+<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:10;" d="M 213.9375 333 L 891 333 " transform="matrix(1,0,0,1,-117,-205)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="14.032" y="55.776001"/>
+  <use xlink:href="#glyph1-2" x="25.584" y="55.776001"/>
+  <use xlink:href="#glyph1-3" x="34.768" y="55.776001"/>
+  <use xlink:href="#glyph1-4" x="40.096" y="55.776001"/>
+  <use xlink:href="#glyph1-5" x="53.744" y="55.776001"/>
+  <use xlink:href="#glyph1-6" x="62.336" y="55.776001"/>
+  <use xlink:href="#glyph1-7" x="65.888" y="55.776001"/>
+  <use xlink:href="#glyph1-8" x="70.336" y="55.776001"/>
+  <use xlink:href="#glyph1-9" x="79.232" y="55.776001"/>
+  <use xlink:href="#glyph1-10" x="87.824" y="55.776001"/>
+  <use xlink:href="#glyph1-9" x="95.824" y="55.776001"/>
+  <use xlink:href="#glyph1-6" x="104.416" y="55.776001"/>
+</g>
+<g style="fill:rgb(100%,14.901733%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-11" x="23.38" y="193.776001"/>
+  <use xlink:href="#glyph1-9" x="37.316" y="193.776001"/>
+  <use xlink:href="#glyph1-12" x="45.908" y="193.776001"/>
+  <use xlink:href="#glyph1-5" x="50.948" y="193.776001"/>
+  <use xlink:href="#glyph1-7" x="59.54" y="193.776001"/>
+  <use xlink:href="#glyph1-8" x="63.988" y="193.776001"/>
+  <use xlink:href="#glyph1-9" x="72.884" y="193.776001"/>
+  <use xlink:href="#glyph1-10" x="81.476" y="193.776001"/>
+  <use xlink:href="#glyph1-9" x="89.476" y="193.776001"/>
+  <use xlink:href="#glyph1-6" x="98.068" y="193.776001"/>
+</g>
+</g>
+</svg>
Binary file poster/pic/model_checking.odg has changed
Binary file poster/pic/model_checking.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/pic/model_checking.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,421 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+  <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+   <rect x="0" y="0" width="21000" height="29700"/>
+  </clipPath>
+  <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+   <rect x="21" y="29" width="20958" height="29641"/>
+  </clipPath>
+ </defs>
+ <defs>
+  <font id="EmbeddedFont_1" horiz-adv-x="2048">
+   <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1870" descent="439"/>
+   <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+   <glyph unicode="●" horiz-adv-x="901" d="M 618,1018 C 691,1018 764,999 837,960 909,921 964,866 1002,793 1040,720 1059,649 1059,578 1059,456 1016,352 930,266 844,180 740,137 618,137 497,137 393,180 307,267 221,353 178,457 178,578 178,650 197,722 234,793 271,864 325,919 397,959 468,998 542,1018 618,1018 Z"/>
+   <glyph unicode="z" horiz-adv-x="856" d="M 83,0 L 83,137 688,943 117,943 117,1082 901,1082 901,945 295,139 922,139 922,0 Z"/>
+   <glyph unicode="y" horiz-adv-x="1040" d="M 191,-425 C 142,-425 100,-421 67,-414 L 67,-279 C 92,-283 120,-285 151,-285 263,-285 352,-203 417,-38 L 434,5 5,1082 197,1082 425,484 C 428,475 432,464 437,451 442,438 457,394 482,320 507,246 521,205 523,196 L 593,393 830,1082 1020,1082 604,0 C 559,-115 518,-201 479,-258 440,-314 398,-356 351,-384 304,-411 250,-425 191,-425 Z"/>
+   <glyph unicode="u" horiz-adv-x="902" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-5 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 Z"/>
+   <glyph unicode="t" horiz-adv-x="532" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 Z"/>
+   <glyph unicode="s" horiz-adv-x="925" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+   <glyph unicode="r" horiz-adv-x="556" d="M 142,0 L 142,830 C 142,906 140,990 136,1082 L 306,1082 C 311,959 314,886 314,861 L 318,861 C 347,954 380,1017 417,1051 454,1085 507,1102 575,1102 599,1102 623,1099 648,1092 L 648,927 C 624,934 592,937 552,937 477,937 420,905 381,841 342,776 322,684 322,564 L 322,0 Z"/>
+   <glyph unicode="p" horiz-adv-x="948" d="M 1053,546 C 1053,169 920,-20 655,-20 488,-20 376,43 319,168 L 314,168 C 317,163 318,106 318,-2 L 318,-425 138,-425 138,861 C 138,972 136,1046 132,1082 L 306,1082 C 307,1079 308,1070 309,1054 310,1037 312,1012 314,978 315,944 316,921 316,908 L 320,908 C 352,975 394,1024 447,1055 500,1086 569,1101 655,1101 788,1101 888,1056 954,967 1020,878 1053,737 1053,546 Z M 864,542 C 864,693 844,800 803,865 762,930 698,962 609,962 538,962 482,947 442,917 401,887 371,840 350,777 329,713 318,630 318,528 318,386 341,281 386,214 431,147 505,113 607,113 696,113 762,146 803,212 844,277 864,387 864,542 Z"/>
+   <glyph unicode="o" horiz-adv-x="994" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+   <glyph unicode="n" horiz-adv-x="902" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 Z"/>
+   <glyph unicode="m" horiz-adv-x="1479" d="M 768,0 L 768,686 C 768,791 754,863 725,903 696,943 645,963 570,963 493,963 433,934 388,875 343,816 321,734 321,627 L 321,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 356,974 400,1027 450,1057 500,1087 561,1102 633,1102 715,1102 780,1086 828,1053 875,1020 908,968 927,897 L 930,897 C 967,970 1013,1022 1066,1054 1119,1086 1183,1102 1258,1102 1367,1102 1447,1072 1497,1013 1546,954 1571,856 1571,721 L 1571,0 1393,0 1393,686 C 1393,791 1379,863 1350,903 1321,943 1270,963 1195,963 1116,963 1055,934 1012,876 968,817 946,734 946,627 L 946,0 Z"/>
+   <glyph unicode="l" horiz-adv-x="209" d="M 138,0 L 138,1484 318,1484 318,0 Z"/>
+   <glyph unicode="k" horiz-adv-x="925" d="M 816,0 L 450,494 318,385 318,0 138,0 138,1484 318,1484 318,557 793,1082 1004,1082 565,617 1027,0 Z"/>
+   <glyph unicode="i" horiz-adv-x="209" d="M 137,1312 L 137,1484 317,1484 317,1312 Z M 137,0 L 137,1082 317,1082 317,0 Z"/>
+   <glyph unicode="h" horiz-adv-x="878" d="M 317,897 C 356,968 402,1020 457,1053 511,1086 580,1102 663,1102 780,1102 867,1073 923,1015 978,956 1006,858 1006,721 L 1006,0 825,0 825,686 C 825,762 818,819 804,856 790,893 767,920 735,937 703,954 659,963 602,963 517,963 450,934 399,875 348,816 322,737 322,638 L 322,0 142,0 142,1484 322,1484 322,1098 C 322,1057 321,1015 319,972 316,929 315,904 314,897 Z"/>
+   <glyph unicode="g" horiz-adv-x="948" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-221 392,-248 433,-275 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+   <glyph unicode="f" horiz-adv-x="555" d="M 361,951 L 361,0 181,0 181,951 29,951 29,1082 181,1082 181,1204 C 181,1303 203,1374 246,1417 289,1460 356,1482 445,1482 495,1482 537,1478 572,1470 L 572,1333 C 542,1338 515,1341 492,1341 446,1341 413,1329 392,1306 371,1283 361,1240 361,1179 L 361,1082 572,1082 572,951 Z"/>
+   <glyph unicode="e" horiz-adv-x="994" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 Z"/>
+   <glyph unicode="d" horiz-adv-x="948" d="M 821,174 C 788,105 744,55 689,25 634,-5 565,-20 484,-20 347,-20 247,26 183,118 118,210 86,349 86,536 86,913 219,1102 484,1102 566,1102 634,1087 689,1057 744,1027 788,979 821,914 L 823,914 821,1035 821,1484 1001,1484 1001,223 C 1001,110 1003,36 1007,0 L 835,0 C 833,11 831,35 829,74 826,113 825,146 825,174 Z M 275,542 C 275,391 295,282 335,217 375,152 440,119 530,119 632,119 706,154 752,225 798,296 821,405 821,554 821,697 798,802 752,869 706,936 633,969 532,969 441,969 376,936 336,869 295,802 275,693 275,542 Z"/>
+   <glyph unicode="c" horiz-adv-x="925" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+   <glyph unicode="a" horiz-adv-x="1087" d="M 414,-20 C 305,-20 224,9 169,66 114,123 87,202 87,302 87,414 124,500 198,560 271,620 390,652 554,656 L 797,660 797,719 C 797,807 778,870 741,908 704,946 645,965 565,965 484,965 426,951 389,924 352,897 330,853 323,793 L 135,810 C 166,1005 310,1102 569,1102 705,1102 807,1071 876,1009 945,946 979,856 979,738 L 979,272 C 979,219 986,179 1000,152 1014,125 1041,111 1080,111 1097,111 1117,113 1139,118 L 1139,6 C 1094,-5 1047,-10 1000,-10 933,-10 885,8 855,43 824,78 807,132 803,207 L 797,207 C 751,124 698,66 637,32 576,-3 501,-20 414,-20 Z M 455,115 C 521,115 580,130 631,160 682,190 723,231 753,284 782,336 797,390 797,445 L 797,534 600,530 C 515,529 451,520 408,504 364,488 330,463 307,430 284,397 272,353 272,299 272,240 288,195 320,163 351,131 396,115 455,115 Z"/>
+   <glyph unicode="T" horiz-adv-x="1202" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 Z"/>
+   <glyph unicode="S" horiz-adv-x="1202" d="M 1272,389 C 1272,259 1221,158 1120,87 1018,16 875,-20 690,-20 347,-20 148,99 93,338 L 278,375 C 299,290 345,228 414,189 483,149 578,129 697,129 820,129 916,150 983,193 1050,235 1083,297 1083,379 1083,425 1073,462 1052,491 1031,520 1001,543 963,562 925,581 880,596 827,609 774,622 716,635 652,650 541,675 456,699 399,724 341,749 295,776 262,807 229,837 203,872 186,913 168,954 159,1000 159,1053 159,1174 205,1267 298,1332 390,1397 522,1430 694,1430 854,1430 976,1406 1061,1357 1146,1308 1205,1224 1239,1106 L 1051,1073 C 1030,1148 991,1202 933,1236 875,1269 795,1286 692,1286 579,1286 493,1267 434,1230 375,1193 345,1137 345,1063 345,1020 357,984 380,956 403,927 436,903 479,884 522,864 609,840 738,811 781,801 825,791 868,781 911,770 952,758 991,744 1030,729 1067,712 1102,693 1136,674 1166,650 1191,622 1216,594 1236,561 1251,523 1265,485 1272,440 1272,389 Z"/>
+   <glyph unicode="R" horiz-adv-x="1224" d="M 1164,0 L 798,585 359,585 359,0 168,0 168,1409 831,1409 C 990,1409 1112,1374 1199,1303 1285,1232 1328,1133 1328,1006 1328,901 1298,813 1237,742 1176,671 1091,626 984,607 L 1384,0 Z M 1136,1004 C 1136,1086 1108,1149 1053,1192 997,1235 917,1256 812,1256 L 359,1256 359,736 820,736 C 921,736 999,760 1054,807 1109,854 1136,919 1136,1004 Z"/>
+   <glyph unicode="Q" horiz-adv-x="1410" d="M 1495,711 C 1495,512 1445,349 1345,221 1245,93 1106,17 928,-6 955,-90 991,-151 1036,-188 1080,-225 1136,-244 1204,-244 1241,-244 1279,-240 1319,-231 L 1319,-365 C 1257,-380 1198,-387 1141,-387 1040,-387 958,-359 893,-302 828,-245 774,-149 733,-16 601,-9 487,24 392,85 296,145 223,229 173,337 122,444 97,569 97,711 97,936 159,1113 282,1240 405,1367 577,1430 797,1430 940,1430 1065,1402 1170,1345 1275,1288 1356,1205 1412,1096 1467,987 1495,859 1495,711 Z M 1300,711 C 1300,886 1256,1024 1169,1124 1081,1224 957,1274 797,1274 636,1274 511,1225 423,1126 335,1027 291,889 291,711 291,534 336,394 425,291 514,187 637,135 795,135 958,135 1083,185 1170,286 1257,386 1300,528 1300,711 Z"/>
+   <glyph unicode="P" horiz-adv-x="1109" d="M 1258,985 C 1258,852 1215,746 1128,667 1041,588 922,549 773,549 L 359,549 359,0 168,0 168,1409 761,1409 C 919,1409 1041,1372 1128,1298 1215,1224 1258,1120 1258,985 Z M 1066,983 C 1066,1165 957,1256 738,1256 L 359,1256 359,700 746,700 C 959,700 1066,794 1066,983 Z"/>
+   <glyph unicode="M" horiz-adv-x="1386" d="M 1366,0 L 1366,940 C 1366,1044 1369,1144 1375,1240 1342,1121 1313,1027 1287,960 L 923,0 789,0 420,960 364,1130 331,1240 334,1129 338,940 338,0 168,0 168,1409 419,1409 794,432 C 807,393 820,351 833,306 845,261 853,228 857,208 862,235 874,275 891,330 908,384 919,418 925,432 L 1293,1409 1538,1409 1538,0 Z"/>
+   <glyph unicode="L" horiz-adv-x="924" d="M 168,0 L 168,1409 359,1409 359,156 1071,156 1071,0 Z"/>
+   <glyph unicode="G" horiz-adv-x="1364" d="M 103,711 C 103,940 164,1117 287,1242 410,1367 582,1430 804,1430 960,1430 1087,1404 1184,1351 1281,1298 1356,1214 1409,1098 L 1227,1044 C 1187,1124 1132,1182 1062,1219 991,1256 904,1274 799,1274 636,1274 512,1225 426,1127 340,1028 297,890 297,711 297,533 343,393 434,290 525,187 652,135 813,135 905,135 991,149 1071,177 1150,205 1215,243 1264,291 L 1264,545 843,545 843,705 1440,705 1440,219 C 1365,143 1274,84 1166,43 1057,1 940,-20 813,-20 666,-20 539,9 432,68 325,127 244,211 188,322 131,432 103,562 103,711 Z"/>
+   <glyph unicode="E" horiz-adv-x="1132" d="M 168,0 L 168,1409 1237,1409 1237,1253 359,1253 359,801 1177,801 1177,647 359,647 359,156 1278,156 1278,0 Z"/>
+   <glyph unicode="D" horiz-adv-x="1224" d="M 1381,719 C 1381,574 1353,447 1296,338 1239,229 1159,145 1055,87 951,29 831,0 695,0 L 168,0 168,1409 634,1409 C 873,1409 1057,1349 1187,1230 1316,1110 1381,940 1381,719 Z M 1189,719 C 1189,894 1141,1027 1046,1119 950,1210 811,1256 630,1256 L 359,1256 359,153 673,153 C 776,153 867,176 946,221 1024,266 1084,332 1126,417 1168,502 1189,603 1189,719 Z"/>
+   <glyph unicode="C" horiz-adv-x="1318" d="M 792,1274 C 636,1274 515,1224 428,1124 341,1023 298,886 298,711 298,538 343,400 434,295 524,190 646,137 800,137 997,137 1146,235 1245,430 L 1401,352 C 1343,231 1262,138 1157,75 1052,12 930,-20 791,-20 649,-20 526,10 423,69 319,128 240,212 186,322 131,431 104,561 104,711 104,936 165,1112 286,1239 407,1366 575,1430 790,1430 940,1430 1065,1401 1166,1342 1267,1283 1341,1196 1388,1081 L 1207,1021 C 1174,1103 1122,1166 1050,1209 977,1252 891,1274 792,1274 Z"/>
+   <glyph unicode="B" horiz-adv-x="1109" d="M 1258,397 C 1258,272 1212,174 1121,105 1030,35 903,0 740,0 L 168,0 168,1409 680,1409 C 1011,1409 1176,1295 1176,1067 1176,984 1153,914 1106,857 1059,800 993,762 908,743 1020,730 1106,692 1167,631 1228,569 1258,491 1258,397 Z M 984,1044 C 984,1120 958,1174 906,1207 854,1240 779,1256 680,1256 L 359,1256 359,810 680,810 C 782,810 858,829 909,868 959,906 984,965 984,1044 Z M 1065,412 C 1065,578 948,661 715,661 L 359,661 359,153 730,153 C 847,153 932,175 985,218 1038,261 1065,326 1065,412 Z"/>
+   <glyph unicode="5" horiz-adv-x="994" d="M 1053,459 C 1053,310 1009,193 921,108 832,23 710,-20 553,-20 422,-20 316,9 235,66 154,123 103,206 82,315 L 264,336 C 302,197 400,127 557,127 654,127 729,156 784,215 839,273 866,353 866,455 866,544 839,615 784,670 729,725 654,752 561,752 512,752 467,744 425,729 383,714 341,688 299,651 L 123,651 170,1409 971,1409 971,1256 334,1256 307,809 C 385,869 482,899 598,899 737,899 847,858 930,777 1012,696 1053,590 1053,459 Z"/>
+   <glyph unicode="4" horiz-adv-x="1040" d="M 881,319 L 881,0 711,0 711,319 47,319 47,459 692,1409 881,1409 881,461 1079,461 1079,319 Z M 711,1206 C 710,1202 700,1184 683,1153 666,1122 653,1100 644,1087 L 283,555 229,481 213,461 711,461 Z"/>
+   <glyph unicode="3" horiz-adv-x="994" d="M 1049,389 C 1049,259 1008,158 925,87 842,16 724,-20 571,-20 428,-20 315,12 230,77 145,141 94,236 78,362 L 264,379 C 288,212 390,129 571,129 662,129 733,151 785,196 836,241 862,307 862,395 862,472 833,532 774,575 715,618 629,639 518,639 L 416,639 416,795 514,795 C 613,795 689,817 744,860 798,903 825,962 825,1038 825,1113 803,1173 759,1217 714,1260 648,1282 561,1282 482,1282 418,1262 369,1221 320,1180 291,1123 283,1049 L 102,1063 C 115,1178 163,1268 246,1333 328,1398 434,1430 563,1430 704,1430 814,1397 893,1332 971,1266 1010,1174 1010,1057 1010,967 985,894 935,838 884,781 811,743 715,723 L 715,719 C 820,708 902,672 961,613 1020,554 1049,479 1049,389 Z"/>
+   <glyph unicode="2" horiz-adv-x="948" d="M 103,0 L 103,127 C 137,205 179,274 228,334 277,393 328,447 382,496 436,544 490,589 543,630 596,671 643,713 686,754 729,795 763,839 790,884 816,929 829,981 829,1038 829,1115 806,1175 761,1218 716,1261 653,1282 572,1282 495,1282 432,1261 383,1220 333,1178 304,1119 295,1044 L 111,1061 C 124,1174 172,1263 255,1330 337,1397 443,1430 572,1430 714,1430 823,1397 900,1330 976,1263 1014,1167 1014,1044 1014,989 1002,935 977,881 952,827 914,773 865,719 816,665 721,581 582,468 505,405 444,349 399,299 354,248 321,200 301,153 L 1036,153 1036,0 Z"/>
+   <glyph unicode="." horiz-adv-x="209" d="M 187,0 L 187,219 382,219 382,0 Z"/>
+   <glyph unicode=" " horiz-adv-x="577"/>
+  </font>
+ </defs>
+ <defs>
+  <font id="EmbeddedFont_2" horiz-adv-x="2048">
+   <font-face font-family="MS Pゴシック embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1755" descent="300"/>
+   <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+   <glyph unicode="1" horiz-adv-x="601" d="M 872,1408 L 872,24 688,24 688,1088 288,1088 288,1216 C 523,1211 675,1275 744,1408 Z"/>
+   <glyph unicode=" " horiz-adv-x="1"/>
+  </font>
+ </defs>
+ <defs class="TextShapeIndex">
+  <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19 id20 id21 id22 id23 id24 id25 id26 id27 id28 id29 id30 id31 id32 id33 id34 id35 id36 id37 id38 id39 id40 id41 id42 id43 id44 id45 id46 id47"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+  <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+  </g>
+  <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+  </g>
+  <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+  </g>
+  <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+  </g>
+  <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+  </g>
+  <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+  </g>
+  <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+  </g>
+  <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+  </g>
+  <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+  </g>
+  <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+  </g>
+ </defs>
+ <g>
+  <g id="id2" class="Master_Slide">
+   <g id="bg-id2" class="Background"/>
+   <g id="bo-id2" class="BackgroundObjects"/>
+  </g>
+ </g>
+ <g class="SlideGroup">
+  <g>
+   <g id="container-id1">
+    <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+     <g class="Page">
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id3">
+        <rect class="BoundingBox" stroke="none" fill="none" x="12999" y="1999" width="6003" height="1003"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 16000,3000 L 13000,3000 13000,2000 19000,2000 19000,3000 16000,3000 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 16000,3000 L 13000,3000 13000,2000 19000,2000 19000,3000 16000,3000 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="14576" y="2721"><tspan fill="rgb(0,0,0)" stroke="none">Scheduler</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id4">
+        <rect class="BoundingBox" stroke="none" fill="none" x="13099" y="3999" width="6003" height="1003"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 16100,5000 L 13100,5000 13100,4000 19100,4000 19100,5000 16100,5000 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 16100,5000 L 13100,5000 13100,4000 19100,4000 19100,5000 16100,5000 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="14938" y="4721"><tspan fill="rgb(0,0,0)" stroke="none">par goto</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id5">
+        <rect class="BoundingBox" stroke="none" fill="none" x="15950" y="2999" width="301" height="1002"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 16000,3000 L 16000,3500 16100,3500 16100,3570"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 16100,4000 L 16250,3550 15950,3550 16100,4000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id6">
+        <rect class="BoundingBox" stroke="none" fill="none" x="11599" y="7030" width="8003" height="9803"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 15600,16831 L 11600,16831 11600,7031 19600,7031 19600,16831 15600,16831 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 15600,16831 L 11600,16831 11600,7031 19600,7031 19600,16831 15600,16831 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id7">
+        <rect class="BoundingBox" stroke="none" fill="none" x="10999" y="7999" width="8003" height="9703"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 15000,17700 L 11000,17700 11000,8000 19000,8000 19000,17700 15000,17700 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 15000,17700 L 11000,17700 11000,8000 19000,8000 19000,17700 15000,17700 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id8">
+        <rect class="BoundingBox" stroke="none" fill="none" x="10499" y="8999" width="8003" height="9903"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 14500,18900 L 10500,18900 10500,9000 18500,9000 18500,18900 14500,18900 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 14500,18900 L 10500,18900 10500,9000 18500,9000 18500,18900 14500,18900 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id9">
+        <rect class="BoundingBox" stroke="none" fill="none" x="9899" y="9999" width="8003" height="10003"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 13900,20000 L 9900,20000 9900,10000 17900,10000 17900,20000 13900,20000 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 13900,20000 L 9900,20000 9900,10000 17900,10000 17900,20000 13900,20000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id10">
+        <rect class="BoundingBox" stroke="none" fill="none" x="15561" y="4999" width="541" height="2033"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 16100,5000 L 15703,6613"/>
+        <path fill="rgb(0,0,0)" stroke="none" d="M 15600,7031 L 15853,6630 15562,6558 15600,7031 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id11">
+        <rect class="BoundingBox" stroke="none" fill="none" x="15000" y="4999" width="1102" height="3002"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 16100,5000 L 15148,7596"/>
+        <path fill="rgb(0,0,0)" stroke="none" d="M 15000,8000 L 15296,7629 15014,7526 15000,8000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id12">
+        <rect class="BoundingBox" stroke="none" fill="none" x="14500" y="4999" width="1602" height="4002"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 16100,5000 L 14660,8601"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 14500,9000 L 14806,8638 14528,8526 14500,9000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id13">
+        <rect class="BoundingBox" stroke="none" fill="none" x="13900" y="4999" width="2202" height="5002"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 16100,5000 L 14073,9606"/>
+        <path fill="rgb(0,0,0)" stroke="none" d="M 13900,10000 L 14219,9649 13944,9528 13900,10000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id14">
+        <rect class="BoundingBox" stroke="none" fill="none" x="9499" y="10999" width="8003" height="10003"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 13500,21000 L 9500,21000 9500,11000 17500,11000 17500,21000 13500,21000 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 13500,21000 L 9500,21000 9500,11000 17500,11000 17500,21000 13500,21000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id15">
+        <rect class="BoundingBox" stroke="none" fill="none" x="13500" y="4999" width="2602" height="6002"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 16100,5000 L 13671,10605"/>
+        <path fill="rgb(0,0,0)" stroke="none" d="M 13500,11000 L 13817,10647 13541,10527 13500,11000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id16">
+        <rect class="BoundingBox" stroke="none" fill="none" x="17499" y="15999" width="3" height="3"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 17500,16000 L 17500,16000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id17">
+        <rect class="BoundingBox" stroke="none" fill="none" x="17499" y="15999" width="3" height="3"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 17500,16000 L 17500,16000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id18">
+        <rect class="BoundingBox" stroke="none" fill="none" x="11954" y="11977" width="4301" height="1024"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12204" y="12678"><tspan fill="rgb(0,0,0)" stroke="none">●</tspan><tspan fill="rgb(0,0,0)" stroke="none">Pick Right</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id19">
+        <rect class="BoundingBox" stroke="none" fill="none" x="12000" y="14000" width="4301" height="1001"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12250" y="14701"><tspan fill="rgb(0,0,0)" stroke="none">●</tspan><tspan fill="rgb(0,0,0)" stroke="none">Eat</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id20">
+        <rect class="BoundingBox" stroke="none" fill="none" x="12024" y="13015" width="4301" height="1301"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12274" y="13716"><tspan fill="rgb(0,0,0)" stroke="none">●</tspan><tspan fill="rgb(0,0,0)" stroke="none">Pick Leftt</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id21">
+        <rect class="BoundingBox" stroke="none" fill="none" x="11938" y="14938" width="4301" height="1301"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12188" y="15639"><tspan fill="rgb(0,0,0)" stroke="none">●</tspan><tspan fill="rgb(0,0,0)" stroke="none">Put Right</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id22">
+        <rect class="BoundingBox" stroke="none" fill="none" x="12000" y="16000" width="4301" height="1301"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12250" y="16701"><tspan fill="rgb(0,0,0)" stroke="none">●</tspan><tspan fill="rgb(0,0,0)" stroke="none">Put Left</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id23">
+        <rect class="BoundingBox" stroke="none" fill="none" x="12000" y="17000" width="4301" height="1301"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12250" y="17701"><tspan fill="rgb(0,0,0)" stroke="none">●</tspan><tspan fill="rgb(0,0,0)" stroke="none">Think</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.LineShape">
+       <g id="id24">
+        <rect class="BoundingBox" stroke="none" fill="none" x="11068" y="11999" width="301" height="2402"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 11218,12000 L 11218,13970"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 11218,14400 L 11368,13950 11068,13950 11218,14400 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id25">
+        <rect class="BoundingBox" stroke="none" fill="none" x="14104" y="11540" width="2798" height="7104"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 14150,18300 C 14150,19050 16900,18801 16900,15139 16900,11478 15038,11435 14353,11680"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 14104,11977 L 14515,11740 14291,11541 14104,11977 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id26">
+        <rect class="BoundingBox" stroke="none" fill="none" x="7900" y="5900" width="6801" height="1098"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8150" y="6601"><tspan fill="rgb(0,0,0)" stroke="none">Pherosoher Threads</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id27">
+        <rect class="BoundingBox" stroke="none" fill="none" x="10000" y="14300" width="2057" height="1674"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="10250" y="15001"><tspan fill="rgb(0,0,0)" stroke="none">Go to </tspan></tspan><tspan class="TextPosition" x="10250" y="15712"><tspan fill="rgb(0,0,0)" stroke="none">meta</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.LineShape">
+       <g id="id28">
+        <rect class="BoundingBox" stroke="none" fill="none" x="10950" y="15999" width="301" height="2102"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 11100,16000 L 11100,17670"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 11100,18100 L 11250,17650 10950,17650 11100,18100 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id29">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4700" y="6499" width="10852" height="3555"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 15550,6500 L 5109,9916"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 4700,10050 L 5174,10053 5081,9768 4700,10050 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id30">
+        <rect class="BoundingBox" stroke="none" fill="none" x="2199" y="4999" width="2503" height="10103"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 3450,15100 L 2200,15100 2200,5000 4700,5000 4700,15100 3450,15100 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 3450,15100 L 2200,15100 2200,5000 4700,5000 4700,15100 3450,15100 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="2703" y="8531"><tspan fill="rgb(0,0,0)" stroke="none">fork</tspan><tspan font-family="MS Pゴシック, sans-serif" fill="rgb(0,0,0)" stroke="none">1</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="2745" y="9242"><tspan fill="rgb(0,0,0)" stroke="none">fork2</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="2745" y="9953"><tspan fill="rgb(0,0,0)" stroke="none">fork3</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="2745" y="10664"><tspan fill="rgb(0,0,0)" stroke="none">fork4</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="2745" y="11375"><tspan fill="rgb(0,0,0)" stroke="none">fork5</tspan></tspan></tspan><tspan class="TextParagraph" font-family="MS Pゴシック, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="3239" y="12056"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id31">
+        <rect class="BoundingBox" stroke="none" fill="none" x="884" y="3100" width="6417" height="963"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="1134" y="3801"><tspan fill="rgb(0,0,0)" stroke="none">Syncrhonized Queue</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id32">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4700" y="7999" width="10302" height="2112"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 15000,8000 L 5122,9966"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 4700,10050 L 5171,10109 5112,9815 4700,10050 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id33">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4700" y="10050" width="7256" height="2440"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 11954,12488 L 5108,10187"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 4700,10050 L 5079,10336 5174,10051 4700,10050 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id34">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4700" y="9897" width="9202" height="302"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 13900,10000 L 5130,10048"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 4700,10050 L 5151,10198 5149,9898 4700,10050 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id35">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4700" y="8999" width="9802" height="1154"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 14500,9000 L 5128,10004"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 4700,10050 L 5163,10151 5131,9853 4700,10050 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id36">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4800" y="7400" width="7401" height="1401"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5050" y="8101"><tspan fill="rgb(0,0,0)" stroke="none">Cheack and  Set</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id37">
+        <rect class="BoundingBox" stroke="none" fill="none" x="1599" y="20299" width="6903" height="6803"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 5050,27100 L 1600,27100 1600,20300 8500,20300 8500,27100 5050,27100 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 5050,27100 L 1600,27100 1600,20300 8500,20300 8500,27100 5050,27100 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id38">
+        <rect class="BoundingBox" stroke="none" fill="none" x="7078" y="15135" width="2924" height="10266"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 10000,15136 L 7217,24986"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 7100,25400 L 7367,25008 7078,24926 7100,25400 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id39">
+        <rect class="BoundingBox" stroke="none" fill="none" x="5049" y="27099" width="3" height="3"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 5050,27100 L 5050,27100 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id40">
+        <rect class="BoundingBox" stroke="none" fill="none" x="-10501" y="11699" width="6003" height="2203"/>
+        <path fill="rgb(114,159,207)" stroke="none" d="M -7500,13900 L -10500,13900 -10500,11700 -4500,11700 -4500,13900 -7500,13900 Z"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M -7500,13900 L -10500,13900 -10500,11700 -4500,11700 -4500,13900 -7500,13900 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id41">
+        <rect class="BoundingBox" stroke="none" fill="none" x="3699" y="21299" width="4203" height="1603"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 5800,22900 L 3700,22900 3700,21300 7900,21300 7900,22900 5800,22900 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 5800,22900 L 3700,22900 3700,21300 7900,21300 7900,22900 5800,22900 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id42">
+        <rect class="BoundingBox" stroke="none" fill="none" x="2999" y="22099" width="4203" height="1603"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 5100,23700 L 3000,23700 3000,22100 7200,22100 7200,23700 5100,23700 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 5100,23700 L 3000,23700 3000,22100 7200,22100 7200,23700 5100,23700 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id43">
+        <rect class="BoundingBox" stroke="none" fill="none" x="1799" y="22399" width="4203" height="1603"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 3900,24000 L 1800,24000 1800,22400 6000,22400 6000,24000 3900,24000 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 3900,24000 L 1800,24000 1800,22400 6000,22400 6000,24000 3900,24000 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id44">
+        <rect class="BoundingBox" stroke="none" fill="none" x="1799" y="23799" width="4203" height="1603"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 3900,25400 L 1800,25400 1800,23800 6000,23800 6000,25400 3900,25400 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 3900,25400 L 1800,25400 1800,23800 6000,23800 6000,25400 3900,25400 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id45">
+        <rect class="BoundingBox" stroke="none" fill="none" x="2899" y="24599" width="4203" height="1603"/>
+        <path fill="rgb(255,255,255)" stroke="none" d="M 5000,26200 L 2900,26200 2900,24600 7100,24600 7100,26200 5000,26200 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 5000,26200 L 2900,26200 2900,24600 7100,24600 7100,26200 5000,26200 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="3133" y="25621"><tspan fill="rgb(0,0,0)" stroke="none">Memory Tree</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id46">
+        <rect class="BoundingBox" stroke="none" fill="none" x="2700" y="18200" width="4701" height="1674"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="2950" y="18901"><tspan fill="rgb(0,0,0)" stroke="none">State.DB</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id47">
+        <rect class="BoundingBox" stroke="none" fill="none" x="7099" y="16000" width="4002" height="9402"/>
+        <path fill="none" stroke="rgb(52,101,164)" d="M 7100,25400 L 10932,16396"/>
+        <path fill="rgb(52,101,164)" stroke="none" d="M 11100,16000 L 10786,16355 11062,16473 11100,16000 Z"/>
+       </g>
+      </g>
+     </g>
+    </g>
+   </g>
+  </g>
+ </g>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/poster.html	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,389 @@
+<!DOCTYPE html><html lang="ja-JP"><head><title>Gears OSでモデル検査を実現する手法について</title><meta property="og:title" content="Gears OSでモデル検査を実現する手法について"><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>.bespoke-marp-note,.bespoke-marp-osc,.bespoke-progress-parent{display:none;transition:none}@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear;-webkit-tap-highlight-color:transparent}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTBMMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMzIgOTBsNDAtNDAtNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen]{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJhIiB4PSIxMCIgeT0iMjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgcng9IjUuNjciLz48cGF0aCBjbGFzcz0iYSIgZD0iTTQwIDcwSDIwVjUwbTIwIDBMMjAgNzBtNDAtNDBoMjB2MjBtLTIwIDBsMjAtMjAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen]{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJhIiB4PSIxMCIgeT0iMjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgcng9IjUuNjciLz48cGF0aCBjbGFzcz0iYSIgZD0iTTIwIDUwaDIwdjIwbS0yMCAwbDIwLTIwbTQwIDBINjBWMzBtMjAgMEw2MCA1MCIvPjwvc3ZnPg==")}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter]{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS13aWR0aDo1cHh9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImEiIGQ9Ik0yMCA2MGgtNWE1IDUgMCAwMS01LTVWMjBhNSA1IDAgMDE1LTVoNjBhNSA1IDAgMDE1IDV2NU0zMCA4NWg2MCIvPjxyZWN0IHg9IjMwIiB5PSIzNSIgd2lkdGg9IjYwIiBoZWlnaHQ9IjQwIiByeD0iNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIi8+PHJlY3QgY2xhc3M9ImEiIHg9IjMwIiB5PSIzNSIgd2lkdGg9IjYwIiBoZWlnaHQ9IjQwIiByeD0iNSIvPjxwYXRoIGNsYXNzPSJhIiBkPSJNNDAgNTBoNDBNNDAgNjBoMzAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body,html{height:100%;margin:0}body{background:#000;overflow:hidden}svg.bespoke-marp-slide{opacity:0;pointer-events:none;z-index:-1}svg.bespoke-marp-slide.bespoke-marp-active{opacity:1;pointer-events:auto;z-index:0}svg.bespoke-marp-slide[data-bespoke-marp-load=hideable]{display:none}svg.bespoke-marp-slide[data-bespoke-marp-load=hideable].bespoke-marp-active{display:block}[data-bespoke-marp-fragment=inactive]{visibility:hidden}body[data-bespoke-view=""] .bespoke-marp-parent,body[data-bespoke-view=next] .bespoke-marp-parent{bottom:0;left:0;position:absolute;right:0;top:0}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc{background:rgba(0,0,0,.65);border-radius:7px;bottom:50px;color:#fff;display:block;font-family:Helvetica,Arial,sans-serif;font-size:16px;left:50%;line-height:0;opacity:1;padding:12px;position:absolute;touch-action:manipulation;transform:translateX(-50%);transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;z-index:1;will-change:transform}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>*,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>*{margin-left:6px}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>:first-child,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>:first-child{margin-left:0}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span{opacity:.8}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page]{display:inline-block;min-width:140px;text-align:center}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev]{height:32px;line-height:32px;width:32px}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive{cursor:none}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc{opacity:0;pointer-events:none}body[data-bespoke-view=""] svg.bespoke-marp-slide,body[data-bespoke-view=next] svg.bespoke-marp-slide{height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent{background:#222;display:flex;height:5px;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent+.bespoke-marp-parent{top:5px}body[data-bespoke-view=""] .bespoke-progress-parent .bespoke-progress-bar{flex:0 0 0;background:#0288d1;transition:flex-basis .2s cubic-bezier(0,1,1,1)}body[data-bespoke-view=next]{background:transparent}body[data-bespoke-view=presenter]{background:#161616}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container{height:100%;left:0;position:absolute;top:0;width:100%;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:minmax(140px,1fr) 2fr 3em;grid-template-areas:"current next" "current note" "info    note"}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent{grid-area:current;position:relative;overflow:hidden}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide{height:calc(100% - 40px);left:20px;position:absolute;pointer-events:none;top:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide.bespoke-marp-active{-webkit-filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container{background:#222;cursor:pointer;display:none;grid-area:next;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container iframe.bespoke-marp-presenter-next{background:transparent;border:0;display:block;-webkit-filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));height:calc(100% - 40px);left:20px;position:absolute;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;top:20px;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container{background:#222;color:#ddd;grid-area:note}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note{margin:20px;width:calc(100% - 40px);height:calc(100% - 40px);box-sizing:border-box;overflow:auto;padding-right:3px;white-space:pre-wrap;word-wrap:break-word;scrollbar-width:thin;scrollbar-color:hsla(0,0%,86.7%,.5) transparent}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar{width:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-track{background:transparent}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-thumb{background:hsla(0,0%,86.7%,.5);border-radius:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note:empty{pointer-events:none}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:first-child{margin-top:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:last-child{margin-bottom:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container{align-items:center;box-sizing:border-box;color:#ddd;display:flex;flex-wrap:nowrap;grid-area:info;justify-content:center;padding:0 10px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{display:block;box-sizing:border-box;padding:0 10px;white-space:nowrap;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page{order:2;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page .bespoke-marp-presenter-info-page-text{display:inline-block;min-width:120px;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time{color:#999;order:1;text-align:left}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{color:#999;order:3;text-align:right}}@media print{.bespoke-marp-presenter-info-container,.bespoke-marp-presenter-next-container,.bespoke-marp-presenter-note-container{display:none}}</style><style>div#p>svg>foreignObject>section{width:1280px;height:720px;box-sizing:border-box;overflow:hidden;position:relative;scroll-snap-align:center center}div#p>svg>foreignObject>section:after{bottom:0;content:attr(data-marpit-pagination);padding:inherit;pointer-events:none;position:absolute;right:0}div#p>svg>foreignObject>section:not([data-marpit-pagination]):after{display:none}/* Normalization */div#p>svg>foreignObject>section h1{font-size:2em;margin:0.67em 0}div#p>svg>foreignObject>section video::-webkit-media-controls{will-change:transform}@page{size:1280px 720px;margin:0}@media print{body,html{background-color:#fff;margin:0;page-break-inside:avoid;break-inside:avoid-page}div#p>svg>foreignObject>section{page-break-before:always;break-before:page}div#p>svg>foreignObject>section,div#p>svg>foreignObject>section *{-webkit-print-color-adjust:exact!important;color-adjust:exact!important}div#p>svg[data-marpit-svg]{display:block;height:100vh;width:100vw}}
+/*!
+ * Marp default theme.
+ *
+ * @theme default
+ * @author Yuki Hattori
+ *
+ * @auto-scaling true
+ * @size 4:3 960px 720px
+ */div#p>svg>foreignObject>section .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}div#p>svg>foreignObject>section .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}div#p>svg>foreignObject>section .anchor:focus{outline:none}div#p>svg>foreignObject>section h1 .octicon-link,div#p>svg>foreignObject>section h2 .octicon-link,div#p>svg>foreignObject>section h3 .octicon-link,div#p>svg>foreignObject>section h4 .octicon-link,div#p>svg>foreignObject>section h5 .octicon-link,div#p>svg>foreignObject>section h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}div#p>svg>foreignObject>section h1:hover .anchor,div#p>svg>foreignObject>section h2:hover .anchor,div#p>svg>foreignObject>section h3:hover .anchor,div#p>svg>foreignObject>section h4:hover .anchor,div#p>svg>foreignObject>section h5:hover .anchor,div#p>svg>foreignObject>section h6:hover .anchor{text-decoration:none}div#p>svg>foreignObject>section h1:hover .anchor .octicon-link,div#p>svg>foreignObject>section h2:hover .anchor .octicon-link,div#p>svg>foreignObject>section h3:hover .anchor .octicon-link,div#p>svg>foreignObject>section h4:hover .anchor .octicon-link,div#p>svg>foreignObject>section h5:hover .anchor .octicon-link,div#p>svg>foreignObject>section h6:hover .anchor .octicon-link{visibility:visible}div#p>svg>foreignObject>section h1:hover .anchor .octicon-link:before,div#p>svg>foreignObject>section h2:hover .anchor .octicon-link:before,div#p>svg>foreignObject>section h3:hover .anchor .octicon-link:before,div#p>svg>foreignObject>section h4:hover .anchor .octicon-link:before,div#p>svg>foreignObject>section h5:hover .anchor .octicon-link:before,div#p>svg>foreignObject>section h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' d='M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z'/%3E%3C/svg%3E")}div#p>svg>foreignObject>section{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5;word-wrap:break-word}div#p>svg>foreignObject>section details{display:block}div#p>svg>foreignObject>section summary{display:list-item}div#p>svg>foreignObject>section a{background-color:initial}div#p>svg>foreignObject>section a:active,div#p>svg>foreignObject>section a:hover{outline-width:0}div#p>svg>foreignObject>section strong{font-weight:inherit;font-weight:bolder}div#p>svg>foreignObject>section h1{margin:.67em 0}div#p>svg>foreignObject>section img{border-style:none}div#p>svg>foreignObject>section code,div#p>svg>foreignObject>section kbd,div#p>svg>foreignObject>section pre{font-family:monospace,monospace;font-size:1em}div#p>svg>foreignObject>section hr{box-sizing:initial;overflow:visible}div#p>svg>foreignObject>section input{font:inherit;margin:0;overflow:visible}div#p>svg>foreignObject>section [type=checkbox]{padding:0}div#p>svg>foreignObject>section *,div#p>svg>foreignObject>section [type=checkbox]{box-sizing:border-box}div#p>svg>foreignObject>section input{font-family:inherit;font-size:inherit;line-height:inherit}div#p>svg>foreignObject>section a{color:#0366d6;text-decoration:none}div#p>svg>foreignObject>section a:hover{text-decoration:underline}div#p>svg>foreignObject>section strong{font-weight:600}div#p>svg>foreignObject>section hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border-bottom:1px solid #dfe2e5}div#p>svg>foreignObject>section hr:after,div#p>svg>foreignObject>section hr:before{display:table;content:""}div#p>svg>foreignObject>section hr:after{clear:both}div#p>svg>foreignObject>section table{border-spacing:0;border-collapse:collapse}div#p>svg>foreignObject>section td,div#p>svg>foreignObject>section th{padding:0}div#p>svg>foreignObject>section details summary{cursor:pointer}div#p>svg>foreignObject>section h1,div#p>svg>foreignObject>section h2,div#p>svg>foreignObject>section h3,div#p>svg>foreignObject>section h4,div#p>svg>foreignObject>section h5,div#p>svg>foreignObject>section h6{margin-top:0;margin-bottom:0}div#p>svg>foreignObject>section h1{font-size:32px}div#p>svg>foreignObject>section h1,div#p>svg>foreignObject>section h2{font-weight:600}div#p>svg>foreignObject>section h2{font-size:24px}div#p>svg>foreignObject>section h3{font-size:20px}div#p>svg>foreignObject>section h3,div#p>svg>foreignObject>section h4{font-weight:600}div#p>svg>foreignObject>section h4{font-size:16px}div#p>svg>foreignObject>section h5{font-size:14px}div#p>svg>foreignObject>section h5,div#p>svg>foreignObject>section h6{font-weight:600}div#p>svg>foreignObject>section h6{font-size:12px}div#p>svg>foreignObject>section p{margin-top:0;margin-bottom:10px}div#p>svg>foreignObject>section blockquote{margin:0}div#p>svg>foreignObject>section ol,div#p>svg>foreignObject>section ul{padding-left:0;margin-top:0;margin-bottom:0}div#p>svg>foreignObject>section ol ol,div#p>svg>foreignObject>section ul ol{list-style-type:lower-roman}div#p>svg>foreignObject>section ol ol ol,div#p>svg>foreignObject>section ol ul ol,div#p>svg>foreignObject>section ul ol ol,div#p>svg>foreignObject>section ul ul ol{list-style-type:lower-alpha}div#p>svg>foreignObject>section dd{margin-left:0}div#p>svg>foreignObject>section code,div#p>svg>foreignObject>section pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}div#p>svg>foreignObject>section pre{margin-top:0;margin-bottom:0}div#p>svg>foreignObject>section input::-webkit-inner-spin-button,div#p>svg>foreignObject>section input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}div#p>svg>foreignObject>section :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}div#p>svg>foreignObject>section .border{border:1px solid #e1e4e8!important}div#p>svg>foreignObject>section .border-0{border:0!important}div#p>svg>foreignObject>section .border-bottom{border-bottom:1px solid #e1e4e8!important}div#p>svg>foreignObject>section .rounded-1{border-radius:3px!important}div#p>svg>foreignObject>section .bg-white{background-color:#fff!important}div#p>svg>foreignObject>section .bg-gray-light{background-color:#fafbfc!important}div#p>svg>foreignObject>section .text-gray-light{color:#6a737d!important}div#p>svg>foreignObject>section .pl-3,div#p>svg>foreignObject>section .px-3{padding-left:16px!important}div#p>svg>foreignObject>section .px-3{padding-right:16px!important}div#p>svg>foreignObject>section .f6{font-size:12px!important}div#p>svg>foreignObject>section .lh-condensed{line-height:1.25!important}div#p>svg>foreignObject>section .text-bold{font-weight:600!important}div#p>svg>foreignObject>section .pl-c{color:#6a737d}div#p>svg>foreignObject>section .pl-c1,div#p>svg>foreignObject>section .pl-s .pl-v{color:#005cc5}div#p>svg>foreignObject>section .pl-e,div#p>svg>foreignObject>section .pl-en{color:#6f42c1}div#p>svg>foreignObject>section .pl-s .pl-s1,div#p>svg>foreignObject>section .pl-smi{color:#24292e}div#p>svg>foreignObject>section .pl-ent{color:#22863a}div#p>svg>foreignObject>section .pl-k{color:#d73a49}div#p>svg>foreignObject>section .pl-pds,div#p>svg>foreignObject>section .pl-s,div#p>svg>foreignObject>section .pl-s .pl-pse .pl-s1,div#p>svg>foreignObject>section .pl-sr,div#p>svg>foreignObject>section .pl-sr .pl-cce,div#p>svg>foreignObject>section .pl-sr .pl-sra,div#p>svg>foreignObject>section .pl-sr .pl-sre{color:#032f62}div#p>svg>foreignObject>section .pl-smw,div#p>svg>foreignObject>section .pl-v{color:#e36209}div#p>svg>foreignObject>section .pl-bu{color:#b31d28}div#p>svg>foreignObject>section .pl-ii{color:#fafbfc;background-color:#b31d28}div#p>svg>foreignObject>section .pl-c2{color:#fafbfc;background-color:#d73a49}div#p>svg>foreignObject>section .pl-c2:before{content:"^M"}div#p>svg>foreignObject>section .pl-sr .pl-cce{font-weight:700;color:#22863a}div#p>svg>foreignObject>section .pl-ml{color:#735c0f}div#p>svg>foreignObject>section .pl-mh,div#p>svg>foreignObject>section .pl-mh .pl-en,div#p>svg>foreignObject>section .pl-ms{font-weight:700;color:#005cc5}div#p>svg>foreignObject>section .pl-mi{font-style:italic;color:#24292e}div#p>svg>foreignObject>section .pl-mb{font-weight:700;color:#24292e}div#p>svg>foreignObject>section .pl-md{color:#b31d28;background-color:#ffeef0}div#p>svg>foreignObject>section .pl-mi1{color:#22863a;background-color:#f0fff4}div#p>svg>foreignObject>section .pl-mc{color:#e36209;background-color:#ffebda}div#p>svg>foreignObject>section .pl-mi2{color:#f6f8fa;background-color:#005cc5}div#p>svg>foreignObject>section .pl-mdr{font-weight:700;color:#6f42c1}div#p>svg>foreignObject>section .pl-ba{color:#586069}div#p>svg>foreignObject>section .pl-sg{color:#959da5}div#p>svg>foreignObject>section .pl-corl{text-decoration:underline;color:#032f62}div#p>svg>foreignObject>section .mb-0{margin-bottom:0!important}div#p>svg>foreignObject>section .my-2{margin-bottom:8px!important;margin-top:8px!important}div#p>svg>foreignObject>section .pl-0{padding-left:0!important}div#p>svg>foreignObject>section .py-0{padding-top:0!important;padding-bottom:0!important}div#p>svg>foreignObject>section .pl-1{padding-left:4px!important}div#p>svg>foreignObject>section .pl-2{padding-left:8px!important}div#p>svg>foreignObject>section .py-2{padding-top:8px!important;padding-bottom:8px!important}div#p>svg>foreignObject>section .pl-3{padding-left:16px!important}div#p>svg>foreignObject>section .pl-4{padding-left:24px!important}div#p>svg>foreignObject>section .pl-5{padding-left:32px!important}div#p>svg>foreignObject>section .pl-6{padding-left:40px!important}div#p>svg>foreignObject>section .pl-7{padding-left:48px!important}div#p>svg>foreignObject>section .pl-8{padding-left:64px!important}div#p>svg>foreignObject>section .pl-9{padding-left:80px!important}div#p>svg>foreignObject>section .pl-10{padding-left:96px!important}div#p>svg>foreignObject>section .pl-11{padding-left:112px!important}div#p>svg>foreignObject>section .pl-12{padding-left:128px!important}div#p>svg>foreignObject>section hr{border-bottom-color:#eee}div#p>svg>foreignObject>section kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;box-shadow:inset 0 -1px 0 #d1d5da}div#p>svg>foreignObject>section:after,div#p>svg>foreignObject>section:before{display:table
+  /* content:""; */}div#p>svg>foreignObject>section:after{clear:both}div#p>svg>foreignObject>section>:first-child{margin-top:0!important}div#p>svg>foreignObject>section>:last-child{margin-bottom:0!important}div#p>svg>foreignObject>section a:not([href]){color:inherit;text-decoration:none}div#p>svg>foreignObject>section blockquote,div#p>svg>foreignObject>section details,div#p>svg>foreignObject>section dl,div#p>svg>foreignObject>section ol,div#p>svg>foreignObject>section p,div#p>svg>foreignObject>section pre,div#p>svg>foreignObject>section table,div#p>svg>foreignObject>section ul{margin-top:0;margin-bottom:16px}div#p>svg>foreignObject>section hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}div#p>svg>foreignObject>section blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}div#p>svg>foreignObject>section blockquote>:first-child{margin-top:0}div#p>svg>foreignObject>section blockquote>:last-child{margin-bottom:0}div#p>svg>foreignObject>section h1,div#p>svg>foreignObject>section h2,div#p>svg>foreignObject>section h3,div#p>svg>foreignObject>section h4,div#p>svg>foreignObject>section h5,div#p>svg>foreignObject>section h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}div#p>svg>foreignObject>section h1{font-size:2em}div#p>svg>foreignObject>section h1,div#p>svg>foreignObject>section h2{padding-bottom:.3em;border-bottom:1px solid #eaecef}div#p>svg>foreignObject>section h2{font-size:1.5em}div#p>svg>foreignObject>section h3{font-size:1.25em}div#p>svg>foreignObject>section h4{font-size:1em}div#p>svg>foreignObject>section h5{font-size:.875em}div#p>svg>foreignObject>section h6{font-size:.85em;color:#6a737d}div#p>svg>foreignObject>section ol,div#p>svg>foreignObject>section ul{padding-left:2em}div#p>svg>foreignObject>section ol ol,div#p>svg>foreignObject>section ol ul,div#p>svg>foreignObject>section ul ol,div#p>svg>foreignObject>section ul ul{margin-top:0;margin-bottom:0}div#p>svg>foreignObject>section li{word-wrap:break-all}div#p>svg>foreignObject>section li>p{margin-top:16px}div#p>svg>foreignObject>section li+li{margin-top:.25em}div#p>svg>foreignObject>section dl{padding:0}div#p>svg>foreignObject>section dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}div#p>svg>foreignObject>section dl dd{padding:0 16px;margin-bottom:16px}div#p>svg>foreignObject>section table{display:block;width:100%;overflow:auto}div#p>svg>foreignObject>section table th{font-weight:600}div#p>svg>foreignObject>section table td,div#p>svg>foreignObject>section table th{padding:6px 13px;border:1px solid #dfe2e5}div#p>svg>foreignObject>section table tr{background-color:#fff;border-top:1px solid #c6cbd1}div#p>svg>foreignObject>section table tr:nth-child(2n){background-color:#f6f8fa}div#p>svg>foreignObject>section img{max-width:100%;box-sizing:initial;background-color:#fff}div#p>svg>foreignObject>section img[align=right]{padding-left:20px}div#p>svg>foreignObject>section img[align=left]{padding-right:20px}div#p>svg>foreignObject>section code{padding:.2em .4em;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}div#p>svg>foreignObject>section pre{word-wrap:normal}div#p>svg>foreignObject>section pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}div#p>svg>foreignObject>section .highlight{margin-bottom:16px}div#p>svg>foreignObject>section .highlight pre{margin-bottom:0;word-break:normal}div#p>svg>foreignObject>section pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}div#p>svg>foreignObject>section pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:initial;border:0}div#p>svg>foreignObject>section .commit-tease-sha{display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:90%;color:#444d56}div#p>svg>foreignObject>section .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}div#p>svg>foreignObject>section .blob-wrapper{overflow-x:auto;overflow-y:hidden}div#p>svg>foreignObject>section .blob-wrapper-embedded{max-height:240px;overflow-y:auto}div#p>svg>foreignObject>section .blob-num{width:1%;min-width:50px;padding-right:10px;padding-left:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:20px;color:rgba(27,31,35,.3);text-align:right;white-space:nowrap;vertical-align:top;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div#p>svg>foreignObject>section .blob-num:hover{color:rgba(27,31,35,.6)}div#p>svg>foreignObject>section .blob-num:before{content:attr(data-line-number)}div#p>svg>foreignObject>section .blob-code{position:relative;padding-right:10px;padding-left:10px;line-height:20px;vertical-align:top}div#p>svg>foreignObject>section .blob-code-inner{overflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;color:#24292e;word-wrap:normal;white-space:pre}div#p>svg>foreignObject>section .pl-token.active,div#p>svg>foreignObject>section .pl-token:hover{cursor:pointer;background:#ffea7f}div#p>svg>foreignObject>section .tab-size[data-tab-size="1"]{-moz-tab-size:1;-o-tab-size:1;tab-size:1}div#p>svg>foreignObject>section .tab-size[data-tab-size="2"]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}div#p>svg>foreignObject>section .tab-size[data-tab-size="3"]{-moz-tab-size:3;-o-tab-size:3;tab-size:3}div#p>svg>foreignObject>section .tab-size[data-tab-size="4"]{-moz-tab-size:4;-o-tab-size:4;tab-size:4}div#p>svg>foreignObject>section .tab-size[data-tab-size="5"]{-moz-tab-size:5;-o-tab-size:5;tab-size:5}div#p>svg>foreignObject>section .tab-size[data-tab-size="6"]{-moz-tab-size:6;-o-tab-size:6;tab-size:6}div#p>svg>foreignObject>section .tab-size[data-tab-size="7"]{-moz-tab-size:7;-o-tab-size:7;tab-size:7}div#p>svg>foreignObject>section .tab-size[data-tab-size="8"]{-moz-tab-size:8;-o-tab-size:8;tab-size:8}div#p>svg>foreignObject>section .tab-size[data-tab-size="9"]{-moz-tab-size:9;-o-tab-size:9;tab-size:9}div#p>svg>foreignObject>section .tab-size[data-tab-size="10"]{-moz-tab-size:10;-o-tab-size:10;tab-size:10}div#p>svg>foreignObject>section .tab-size[data-tab-size="11"]{-moz-tab-size:11;-o-tab-size:11;tab-size:11}div#p>svg>foreignObject>section .tab-size[data-tab-size="12"]{-moz-tab-size:12;-o-tab-size:12;tab-size:12}div#p>svg>foreignObject>section .task-list-item{list-style-type:none}div#p>svg>foreignObject>section .task-list-item+.task-list-item{margin-top:3px}div#p>svg>foreignObject>section .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}div#p>svg>foreignObject>section .hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}div#p>svg>foreignObject>section .hljs-comment,div#p>svg>foreignObject>section .hljs-meta{color:#969896}div#p>svg>foreignObject>section .hljs-emphasis,div#p>svg>foreignObject>section .hljs-quote,div#p>svg>foreignObject>section .hljs-strong,div#p>svg>foreignObject>section .hljs-template-variable,div#p>svg>foreignObject>section .hljs-variable{color:#df5000}div#p>svg>foreignObject>section .hljs-keyword,div#p>svg>foreignObject>section .hljs-selector-tag,div#p>svg>foreignObject>section .hljs-type{color:#d73a49}div#p>svg>foreignObject>section .hljs-attribute,div#p>svg>foreignObject>section .hljs-bullet,div#p>svg>foreignObject>section .hljs-literal,div#p>svg>foreignObject>section .hljs-symbol{color:#0086b3}div#p>svg>foreignObject>section .hljs-name,div#p>svg>foreignObject>section .hljs-section{color:#63a35c}div#p>svg>foreignObject>section .hljs-tag{color:#333}div#p>svg>foreignObject>section .hljs-attr,div#p>svg>foreignObject>section .hljs-selector-attr,div#p>svg>foreignObject>section .hljs-selector-class,div#p>svg>foreignObject>section .hljs-selector-id,div#p>svg>foreignObject>section .hljs-selector-pseudo,div#p>svg>foreignObject>section .hljs-title{color:#6f42c1}div#p>svg>foreignObject>section .hljs-addition{color:#55a532;background-color:#eaffea}div#p>svg>foreignObject>section .hljs-deletion{color:#bd2c00;background-color:#ffecec}div#p>svg>foreignObject>section .hljs-link{text-decoration:underline}div#p>svg>foreignObject>section .hljs-number{color:#005cc5}div#p>svg>foreignObject>section .hljs-string{color:#032f62}div#p>svg>foreignObject>section svg[data-marp-fitting=svg]{max-height:563px}div#p>svg>foreignObject>section h1{color:#246;font-size:1.6em}div#p>svg>foreignObject>section h1,div#p>svg>foreignObject>section h2{border-bottom:none}div#p>svg>foreignObject>section h2{font-size:1.3em}div#p>svg>foreignObject>section h3{font-size:1.1em}div#p>svg>foreignObject>section h4{font-size:1.05em}div#p>svg>foreignObject>section h5{font-size:1em}div#p>svg>foreignObject>section h6{font-size:.9em}div#p>svg>foreignObject>section h1 strong,div#p>svg>foreignObject>section h2 strong,div#p>svg>foreignObject>section h3 strong,div#p>svg>foreignObject>section h4 strong,div#p>svg>foreignObject>section h5 strong,div#p>svg>foreignObject>section h6 strong{font-weight:inherit;color:#48c}div#p>svg>foreignObject>section hr{height:0;padding-top:.25em}div#p>svg>foreignObject>section pre{border:1px solid #999;line-height:1.15;overflow:visible}div#p>svg>foreignObject>section pre code svg[data-marp-fitting=svg]{max-height:529px}div#p>svg>foreignObject>section footer,div#p>svg>foreignObject>section header{margin:0;position:absolute;left:30px;color:hsla(0,0%,40%,.75);font-size:18px}div#p>svg>foreignObject>section header{top:21px}div#p>svg>foreignObject>section footer{bottom:21px}div#p>svg>foreignObject>section{align-items:stretch;background:#fff;display:flex;flex-direction:column;flex-wrap:nowrap;font-size:29px;height:720px;justify-content:center;padding:78.5px;width:1280px}div#p>svg>foreignObject>section>:last-child,div#p>svg>foreignObject>section[data-footer]>:nth-last-child(2){margin-bottom:0}div#p>svg>foreignObject>section>:first-child,div#p>svg>foreignObject>section>header:first-child+*{margin-top:0}div#p>svg>foreignObject>section:after{position:absolute;padding:0;right:30px;bottom:21px;font-size:24px;color:#777}div#p>svg>foreignObject>section.invert{background-color:#222;color:#e6eaf0}div#p>svg>foreignObject>section.invert:after{color:#999}div#p>svg>foreignObject>section.invert img{background-color:transparent}div#p>svg>foreignObject>section.invert a{color:#50b3ff}div#p>svg>foreignObject>section.invert h1{color:#a3c5e7}div#p>svg>foreignObject>section.invert h2,div#p>svg>foreignObject>section.invert h3,div#p>svg>foreignObject>section.invert h4,div#p>svg>foreignObject>section.invert h5{color:#ebeff5}div#p>svg>foreignObject>section.invert blockquote,div#p>svg>foreignObject>section.invert h6{border-color:#3d3f43;color:#939699}div#p>svg>foreignObject>section.invert h1 strong,div#p>svg>foreignObject>section.invert h2 strong,div#p>svg>foreignObject>section.invert h3 strong,div#p>svg>foreignObject>section.invert h4 strong,div#p>svg>foreignObject>section.invert h5 strong,div#p>svg>foreignObject>section.invert h6 strong{color:#7bf}div#p>svg>foreignObject>section.invert hr{background-color:#3d3f43}div#p>svg>foreignObject>section.invert footer,div#p>svg>foreignObject>section.invert header{color:hsla(0,0%,60%,.75)}div#p>svg>foreignObject>section.invert code,div#p>svg>foreignObject>section.invert kbd{background-color:#111}div#p>svg>foreignObject>section.invert kbd{border-color:#666;box-shadow:inset 0 -1px 0 #555;color:#e6eaf0}div#p>svg>foreignObject>section.invert table tr{background-color:#12181d;border-color:#60657b}div#p>svg>foreignObject>section.invert table tr:nth-child(2n){background-color:#1b2024}div#p>svg>foreignObject>section.invert table td,div#p>svg>foreignObject>section.invert table th{border-color:#5b5e61}div#p>svg>foreignObject>section.invert pre{background-color:#0a0e12;border-color:#777}div#p>svg>foreignObject>section.invert pre code{background-color:transparent}div#p>svg>foreignObject>section[data-color] h1,div#p>svg>foreignObject>section[data-color] h2,div#p>svg>foreignObject>section[data-color] h3,div#p>svg>foreignObject>section[data-color] h4,div#p>svg>foreignObject>section[data-color] h5,div#p>svg>foreignObject>section[data-color] h6{color:currentColor}div#p>svg>foreignObject>section svg[data-marp-fitting=svg]{display:block;height:auto;width:100%}@supports (-ms-ime-align:auto){div#p>svg>foreignObject>section svg[data-marp-fitting=svg]{position:static}}div#p>svg>foreignObject>section svg[data-marp-fitting=svg].__reflow__{content:""}@supports (-ms-ime-align:auto){div#p>svg>foreignObject>section svg[data-marp-fitting=svg].__reflow__{position:relative}}div#p>svg>foreignObject>section [data-marp-fitting-svg-content]{display:table;white-space:nowrap}div#p>svg>foreignObject>section [data-marp-fitting-svg-content-wrap]{white-space:pre}div#p>svg>foreignObject>section img[data-marp-twemoji]{background:transparent;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;width:1em}
+
+/* @theme example */div#p>svg>foreignObject>section{background-image:url("assets/logo.svg");background-position:right 3% bottom 2%;background-repeat:no-repeat;background-attachment:5%;background-size:20% auto}
+
+/* @theme acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit */div#p>svg>foreignObject>section[data-marpit-advanced-background=background]{display:block!important;padding:0!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#p>svg>foreignObject>section[data-marpit-advanced-background=content],div#p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id="p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="1" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="1" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1><svg data-marp-fitting="svg"><foreignObject><span data-marp-fitting-svg-content> Gears OSでモデル検査を実現する手法について</span></foreignObject></svg></h1>
+<ul>
+<li>東恩納 琢偉
+<ul>
+<li>琉球大学理工学研究科 情報工学専攻</li>
+</ul>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="2" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>研究目的</h1>
+<ul>
+<li>OS上ではさまざまなアプリケーションやサービスが提供されるが、予期しないエラーが起こる。</li>
+<li>本研究室で開発している GearsOS ではアプリケーションやサービスの信頼性の保証をOSの機能として行うことを目指しており、本研究ではモデル検査をもちいた手法について発表する。</li>
+<li>また GearsOS そのものを GearsOS 上でモデル検査する手法についても考察する。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="3" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>Gears OS</h1>
+<ul>
+<li>Continuation based C によって記述されている。</li>
+<li>信頼性を保証する手法として、モデル検査による検証や、定理証明によるアプローチも行っている。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="4" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>Continution based C (CbC)</h1>
+<ul>
+<li>Gear という単位で分割され、goto 文によって遷移する。</li>
+<li>codeGear は プログラムにおける処理記述になっている。</li>
+<li>また 変数や構造体といったデータは dataGear に保管される。</li>
+<li>下の例題は CbC によって記述された codeGear である。</li>
+</ul>
+<pre><code><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap>__code pickup<span class="hljs-constructor">_lfork(<span class="hljs-params">struct</span> PhilsImpl<span class="hljs-operator">*</span> <span class="hljs-params">phils</span>, <span class="hljs-params">__code</span> <span class="hljs-params">next</span>(<span class="hljs-operator">...</span>)</span>) {
+    <span class="hljs-keyword">struct</span> AtomicT_int* left_fork = phils-&gt;Leftfork;
+    goto left_fork-&gt;check<span class="hljs-constructor">AndSet(-1, <span class="hljs-params">phils</span>-&gt;<span class="hljs-params">self</span>, <span class="hljs-params">pickup_rfork</span>, <span class="hljs-params">eating</span>)</span>;
+
+}
+
+</span></span></foreignObject></svg></code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="5" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>goto</h1>
+<ul>
+<li>CbC での遷移は軽量継続といいgoto 文を用いる。</li>
+<li>これは関数呼び出しと異なり、stackや環境を隠して持つことがありません。</li>
+<li>CbC において、処理を行うのは codeGear であるため、プログラムの状態の変化は codeGear によって決まる。</li>
+<li>よって CbC での遷移記述をそのまま状態記述とすることが出来る。</li>
+</ul>
+<center><img src="./pic/goto.svg" alt="" width="80%" height="80%" /></center>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="6" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>メタ計算</h1>
+<ul>
+<li>軽量継続である CbC は遷移する際に別の処理を挟む事が可能で、この処理をメタ計算という。</li>
+<li>メタ計算は meta codeGear で行われ、ここに検証用の処理を入れる事が出来る。</li>
+</ul>
+<center><img src="./pic/meta_gear2.svg" alt="" width="90%" height="90%" /></center>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="7" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>data Gear と meta dataGear</h1>
+<ul>
+<li>CbC における入力は dataGear と呼ばれる構造体になっており、ノーマルレベル<br />
+とメタレベルがある。</li>
+<li>メタレベルには計算を行うCPUやメモリ、計算に関するノーマルレベルのdataGearもcontext に格納されている。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="8" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>stub CodeGear (メタレベルからノーマルレベルへの橋渡し)</h1>
+<ul>
+<li>メタレベルから見ると、code Gearの入力はcontext ただ1つである。</li>
+<li>ノーマルレベルからメタレベルの context を直接参照してしまうことはできない。</li>
+<li>context から必要なノーマルレベルのdata Gearを取り出して、ノーマルレベルのcodeGearを呼び出し渡す処理を行う仲介役として、メタレベルの stub codeGearを用意する。</li>
+</ul>
+<pre><code><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap>__code clear<span class="hljs-constructor">SingleLinkedStack(<span class="hljs-params">struct</span> Context <span class="hljs-operator">*</span><span class="hljs-params">context</span>,<span class="hljs-params">struct</span> SingleLinkedStack<span class="hljs-operator">*</span> <span class="hljs-params">stack</span>,<span class="hljs-params">enum</span> Code <span class="hljs-params">next</span>)</span> {
+    stack-&gt;top = NULL;
+    goto meta(context, next);
+}
+
+__code clear<span class="hljs-constructor">SingleLinkedStack_stub(<span class="hljs-params">struct</span> Context<span class="hljs-operator">*</span> <span class="hljs-params">context</span>)</span> {
+    SingleLinkedStack* stack = (SingleLinkedStack*)<span class="hljs-constructor">GearImpl(<span class="hljs-params">context</span>, Stack, <span class="hljs-params">stack</span>)</span>;
+    enum Code next = <span class="hljs-constructor">Gearef(<span class="hljs-params">context</span>, Stack)</span>-&gt;next;
+    goto clear<span class="hljs-constructor">SingleLinkedStack(<span class="hljs-params">context</span>, <span class="hljs-params">stack</span>, <span class="hljs-params">next</span>)</span>;
+} 
+</span></span></foreignObject></svg></code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="9" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>プロセスであるcontext の並べ替えによる並列実行</h1>
+<ul>
+<li>プログラムの非決定的な実行は、入力あるいは並列実行の非決定性から生じる。</li>
+<li>並列実行の非決定性は、実行される codeGear の並び替えを生成し、contextの状態を数え上げる。</li>
+<li>これがモデル検査になる。</li>
+<li>並び替えの数(プログラム全体の可能な状態)はとても巨大になる場合がある。</li>
+<li>状態はデータベースに格納する。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="10" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>codeGearのatomicity</h1>
+<ul>
+<li>codeGear は処理の基本単位であり、並列処理などにより割り込まれることなく記述された通りに実行される必要がある。</li>
+<li>一般的には、他の codeGear が共有されたdataGearに競合的に書き込んだり、割り込みにより処理が中断したりする。</li>
+<li>GearsOS においては codeGear が正しくatomicに実行されるように実装する。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="11" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>モデル検査する仕様の記述法</h1>
+<ul>
+<li>
+<p>検証したい内容を時様相論理式 p をつくり、対象のシステムの初期状態 s のモデル M があるとき、M,s |= p(M,s が p を満たすか)をモデル検査器を用いて調べることによって信頼性を保証する手法である。</p>
+</li>
+<li>
+<p>時相論理式にはCTL(Computation Tree Logic) や LTTL(Linear Time Temporal Logic)といったものがあり、それぞれ計算木と線形時相論理式と言われるものである。</p>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="12" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>他のモデル検査実装例</h1>
+<ul>
+<li>
+<p>SPIN<br />
+Promela (Process Meta Language)で仕様と実装を記述する。</p>
+</li>
+<li>
+<p>Java Path Finder<br />
+JVM を直接シュミレーション実行する。<br />
+様相論理ではなくassert 検証したい性質を記述する。</p>
+</li>
+<li>
+<p>XMV<br />
+CMU で開発されたモデル検査器<br />
+SAT solver</p>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="13" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>Geras OS のモデル検査</h1>
+<ul>
+<li>CbC によって記述されており、CbC の記述そのものを状態遷移として落とし込む。</li>
+<li>par goto により複数スレッドの並行実行する。</li>
+<li>メタ計算によって並行実行のモデル検査を行う。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="14" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>Gears OS におけるモデル検査</h1>
+<ol>
+<li>GearsOS におけるモデル検査はcode gear 単位の順列組み合わせによって行われる。</li>
+<li>codegear 実行後の状態を、データベースに格納する。</li>
+<li>新しい状態が生成されなくなった時モデル検査が終了する。</li>
+<li>哲学者5人が次の状態に進めなくなった時をデッドロックとして検出する。</li>
+<li>必要な状態はフォークの状態だけになるので、それ以外の状態は無視することができる。</li>
+<li>これにより状態数を下げることができる。</li>
+<li>問題に合わせたメタ計算により、モデル検査の状態数を下げることができる。</li>
+<li>GearsOS による検証用プログラムとして Dining Philosohers Ploblem (DPP)を用いる。</li>
+</ol>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="15" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>DPP</h1>
+<p><right><img src="./pic/dpp_image.svg" alt="" height="90%" /></right></p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="16" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>DPP(dining philosohers ploblem)</h1>
+<ul>
+<li>5人の哲学者が円卓についており、各々スパゲティーの皿が目の前に用意され、スパゲティーは絡まっている為2つのフォーク使わなければ食べれない。</li>
+<li>フォークは皿の間に1本ずつの計5本しかないため、すべての哲学者が同時に食事することはできず、また全員がフォークを1本ずつ持ってしまった場合、誰も食事することは出来ない。この状態をデッドロックとする。<br />
+-DPPは次の6つの状態からなる。<br />
+<code>Pickup Right fork</code> <code> Pickup Left fork</code> <code>eating</code> <code> Put Right fork</code> <code>Put Left fork</code> <code>Thinking</code></li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="17" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="17" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>GearsOS におけるDPP実装(1/2)</h1>
+<ul>
+<li>マルチスレッドでのデータの一貫性を保証する手法としてCheck and Set (CAS) を用いる。</li>
+<li>CAS を用いて値の比較、更新をアトミックに行う。</li>
+<li>CAS は書き込みの際に、書き込む MetaCodeGear に更新前と更新後の値を渡し、更新前の値が保存されているメモリ番地の値と比較し同じデータがであれば書き込みを行う。異なる場合はほかからの書き込みがあったとみなし、値の更新に失敗し、もう一度CASを行う。</li>
+<li>DPPの例題ではフォークがスレッドで共有されるデータにあたるので、CAS を用いることによってスレッド間での同期を行う。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="18" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="18" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>GearsOS におけるDPP実装(2/2)</h1>
+<ul>
+<li>5つのスレッドで行われる処理の状態は6つあり、それぞれを状態変数で表される。</li>
+<li>この状態遷移は goto next によって遷移し、metaCodeGear を 挟みメタレベルで各スレッドの状態を 各スレッドごとに用意した Memory Tree に保存する。</li>
+<li>Memory Tree はstateDBによってまとめられ、同じ状態は共有される。</li>
+<li>またDPPにおける状態遷移は無限ループであるため、stateDBを用いて同じ状態を検索することで、終了判定を行う。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="19" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="19" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<center><img src="./pic/model_checking.svg" width="50%" /></center>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="20" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="20" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>GearsOS でのモデル検査を実現する方法について</h1>
+<ul>
+<li>DPP をGearsOS 上のアプリケーションとして実装する。</li>
+<li>DPP を codeGear のシャッフルの1つとして実行する。</li>
+<li>可能な実行を生成する iterator</li>
+<li>状態を記録する memory Tree と stateDB を作成する。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="21" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="21" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>モデル検査器の現状</h1>
+<ul>
+<li>GearsOS 上での導出木の生成</li>
+<li>生成した木のマーキングによる時相論理の検証</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="22" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="22" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>Metaの入れ替え</h1>
+<ul>
+<li>perl script を用いて、遷移先のmetaを置き換える事が可能となっている。</li>
+<li>遷移先のmetaを切り替えることによって、ノーマルレベルで走るプログラムを書き換える事なく、mcMeta によるシングルスレッド実行と並列実行ようのランダム実行を行う事が出来る。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="23" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="23" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>モデル検査のフラグ管理</h1>
+<ul>
+<li>モデル検査を行う際に全ての状態を網羅的に実行していく、この時実行した状態にフラグを立てていくことによって走った状態を記録しておく。</li>
+<li>フラグはeating のt_eating と、¬◇ eating の f_F_eating フラグの2種類で、食事中といつか食事できないを表している。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="24" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="24" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>DPP のメタ計算</h1>
+<ul>
+<li>導出木を作る時にはノーマルレベルの putdown_lfrok は putdown_lforkPhilsImpl となり、context に代入を行うマクロである Gearef を使いCaS を行う。<br />
+その後 mcMeta に以降することで導出木の作成を行う</li>
+</ul>
+<pre><code><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap>__code putdown<span class="hljs-constructor">_lfork(<span class="hljs-params">struct</span> PhilsImpl<span class="hljs-operator">*</span> <span class="hljs-params">phils</span>, <span class="hljs-params">__code</span> <span class="hljs-params">next</span>(<span class="hljs-operator">...</span>)</span>) {
+  <span class="hljs-keyword">struct</span> AtomicT_int* left_fork = phils-&gt;Leftfor
+  goto left_fork-&gt;set(-<span class="hljs-number">1</span>, thinking);
+ }
+
+</span></span></foreignObject></svg></code></pre>
+<pre><code><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap>__code putdown<span class="hljs-constructor">_lforkPhilsImpl(<span class="hljs-params">struct</span> Context <span class="hljs-operator">*</span><span class="hljs-params">context</span>,<span class="hljs-params">struct</span> PhilsImpl<span class="hljs-operator">*</span> <span class="hljs-params">phils</span>, <span class="hljs-params">enum</span> Code <span class="hljs-params">next</span>)</span> {
+   <span class="hljs-keyword">struct</span> AtomicT_int* left_fork = phils-&gt;Leftfork;
+   <span class="hljs-constructor">Gearef(<span class="hljs-params">context</span>, AtomicT_int)</span>-&gt;atomicT_int = (union Data*) left_fork;
+   <span class="hljs-constructor">Gearef(<span class="hljs-params">context</span>, AtomicT_int)</span>-&gt;newData = -<span class="hljs-number">1</span>;
+   <span class="hljs-constructor">Gearef(<span class="hljs-params">context</span>, AtomicT_int)</span>-&gt;next = C_thinkingPhilsImpl;
+   goto mc<span class="hljs-constructor">Meta(<span class="hljs-params">context</span>, <span class="hljs-params">left_fork</span>-&gt;<span class="hljs-params">set</span>)</span>;
+}
+</span></span></foreignObject></svg></code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="25" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="25" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>mcDPP</h1>
+<ul>
+<li>フラグを確認しモデル検査を行っている。</li>
+</ul>
+<pre><code><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap>void mcDPP(struct MCTaskManagerImpl* mcti, struct MCWorker* mcWorker, StateDB now,StateDB next, int check) {
+  P<span class="hljs-function"><span class="hljs-title">hilsImpl</span>* phils = (PhilsImpl*)GearImpl(mcWorker-&gt;</span>mcContext, Phils, phils);
+  <span class="hljs-function"><span class="hljs-title">int</span> prev_now = now-&gt;</span>flag;
+  <span class="hljs-function"><span class="hljs-title">int</span> prev_next = next-&gt;</span>flag;
+  <span class="hljs-function"><span class="hljs-title">enum</span> Code nextc = mcWorker-&gt;</span><span class="hljs-function"><span class="hljs-title">mcContext</span>-&gt;</span>next;
+
+  <span class="hljs-function"><span class="hljs-title">if</span> (phils-&gt;</span>self == <span class="hljs-number">1</span> &amp;&amp; nextc == C_putdown_rforkPhilsImpl ) {
+    <span class="hljs-function"><span class="hljs-title">now</span>-&gt;</span>flag |= t_eating;
+  }
+  <span class="hljs-function"><span class="hljs-title">if</span> ((next-&gt;</span><span class="hljs-function"><span class="hljs-title">flag</span> &amp; t_eating )||(next-&gt;</span>flag &amp; t_F_eating) ) {
+    <span class="hljs-function"><span class="hljs-title">now</span>-&gt;</span>flag |= t_F_eating;
+  }
+
+  <span class="hljs-function"><span class="hljs-title">if</span> ( prev_now != now-&gt;</span><span class="hljs-function"><span class="hljs-title">flag</span> || prev_next != next-&gt;</span>flag )
+     <span class="hljs-function"><span class="hljs-title">mcWorker</span>-&gt;</span>change = <span class="hljs-number">1</span>;
+
+  <span class="hljs-keyword">if</span> (check) {
+     <span class="hljs-function"><span class="hljs-title">if</span> (!(now-&gt;</span>flag &amp; t_F_eating)) {
+         printf(<span class="hljs-string">"not &lt;&gt; eating\n"</span>);
+     }
+  }
+}
+
+</span></span></foreignObject></svg></code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="26" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="26" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1><a href="http://meta.pm">meta.pm</a></h1>
+<pre><code><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap><span class="hljs-function"><span class="hljs-keyword">sub</span> <span class="hljs-title">replaceMeta</span> </span>{
+  <span class="hljs-keyword">return</span> (
+    [<span class="hljs-regexp">qr/PhilsImpl/</span> =&gt; \&amp;generateMcMeta],
+  );
+}
+
+<span class="hljs-comment">#my ($currentCodeGearName, $context, $next) = @_;</span>
+
+<span class="hljs-function"><span class="hljs-keyword">sub</span> <span class="hljs-title">generateRandomMeta</span> </span>{
+  <span class="hljs-keyword">my</span> ($context, $next) = @_;
+  <span class="hljs-keyword">return</span> <span class="hljs-string">"goto random($context, $next);"</span>;
+}
+
+<span class="hljs-function"><span class="hljs-keyword">sub</span> <span class="hljs-title">generateMcMeta</span> </span>{
+  <span class="hljs-keyword">my</span> ($context, $next) = @_;
+  <span class="hljs-keyword">return</span> <span class="hljs-string">"goto mcMeta($context, $next);"</span>;
+}
+
+<span class="hljs-number">1</span>;
+</span></span></foreignObject></svg></code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="27" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="27" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>まとめ</h1>
+<ul>
+<li>
+<p>GearsOS上でDPPからの導出木を生成した。</p>
+</li>
+<li>
+<p>生成した木にフラグを立て、これをmcDPP用いてモデル検査をおこなった。</p>
+</li>
+<li>
+<p><a href="http://meta.pm">meta.pm</a> を使うことでモデル検査を行う際のランダム生成を行う事が可能になった。</p>
+</li>
+<li>
+<p>GeearsOS で汎用モデル検査器を作ることができた。</p>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="28" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="28" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>モデル検査における問題点</h1>
+<ul>
+<li>他のアプリケーションと違い、OS の記述はそれ自体が メタレベルのものであるため、それをemulationする方法を考える必要がある。</li>
+<li>TLB(Translation Lookaside Buffer ) という仮想記憶を物理アドレスに変換する際に使われるキャッシュ機能があり、これのemulation に工夫が必要となる。</li>
+<li>検証内容によってこれらのemulation の方法をチューニングするため、未知のメタ計算、またはバグに対する検証方法が必要となる。<br />
+-ユーザーcontext が単純であっても OS は膨大な状態数を有するので、その全てを探索するのが厳しいと考えられる。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="29" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="29" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>今後の展開</h1>
+<ul>
+<li>
+<p>網羅的にプログラムを走破し、状態を展開して行くため同じ状態の組み合わせが出てくる。これらの組み合わせは抽象化し、状態数が増えすぎる事を抑える必要がある。</p>
+</li>
+<li>
+<p>現在のData Gear は全て予め生成しておいたものでしかない。そのため生成が必要となる場合の方法を考える必要があり、またこの生成はノーマルレベルからは見えないようにしておく必要があるため工夫が必要となる。</p>
+</li>
+<li>
+<p>モデル検査でメモリの状態を保管していたiterator は実行履歴として、trace によって遡る事が可能であるため、これを利用することによってmcMeta にdebugger  を埋め込むことが可能であると考える。</p>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="30" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="30" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>GearsOS の GearsOS によるモデル検査</h1>
+<ul>
+<li>GerasOS そのものも codeGear で記述されている。</li>
+<li>CPU毎の C.context、共有するkernel のK.context、ユーザープログラムのU.context と考えることができ、これらはmeta dataGear であるK.context に含まれている。</li>
+<li>U.context がDPPのような単純なものならば、OS全体のcontext も複雑にはならないため、これらをGearsOSで実行することが可能になる。</li>
+<li>GearsOS を含む codeGear のシャッフル実行を行う事ができれば、DPPと同じようにモデル検査を行う事ができる。</li>
+<li>検査する codeGear と検査される codeGear は同じものであるが、実行する meta codeGear を異なる。。</li>
+<li>異なるmeta codeGear を指定してコンパイル出来る。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="31" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="31" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>OS 自体のモデル検査</h1>
+<ul>
+<li>
+<p>Gears OS は CbC で書かれている。そのため OS の動作であってもメタ計算を挟む事が可能である。</p>
+</li>
+<li>
+<p>CPU や kernel また ユーザープログラムのcontext として考える事によって、OS から独立しているものとして考える。</p>
+</li>
+<li>
+<p>またユーザーのcontext が単純なものであれば、OS 全体も複雑にはならないためDPPのようにシャッフル実行を行う事で、検証が可能であると考えられる。</p>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="32" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="32" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;">
+<h1>OS のモデル検査</h1>
+<ul>
+<li>OS の全体を検証するのではなく、部分的な検証であればモデル検査出来ると考えられる。</li>
+<li>また小林らによって高次元プログラムの最悪時間計算量がk階の場合にk重指数完全であった高階モデル検査についての高速化手法が研究されている。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="33" data-paginate="true" data-theme="acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit" data-marpit-pagination="33" data-marpit-pagination-total="33" style="--paginate:true;--theme:acn9kdsownv3qktq5ia9i2bs7upcykbh3dw5lzikit;"></section>
+<script>!function(){"use strict";function t(t){Array.from(document.getElementsByTagName("svg"),e=>{if(e.hasAttribute("data-marpit-svg")){const{clientHeight:r,clientWidth:a}=e;e.style.transform||(e.style.transform="translateZ(0)");const o=t||e.currentScale||1,i=e.viewBox.baseVal.width/o,n=e.viewBox.baseVal.height/o,s=Math.min(r/n,a/i);Array.from(e.querySelectorAll(":scope > foreignObject"),t=>{const e=t.x.baseVal.value,o=t.y.baseVal.value;Array.from(t.querySelectorAll(":scope > section"),t=>{t.style.transformOrigin||(t.style.transformOrigin="0 0");const l=(a-s*i)/2-e,c=(r-s*n)/2-o;t.style.transform=`translate3d(${l}px,${c}px,0) scale(${s}) translate(${e}px,${o}px)`})})}})}const e=(t,e,r)=>{if(t.getAttribute(e)!==r)return t.setAttribute(e,r),!0};function r(a=!0){for(const e of"Apple Computer, Inc."===navigator.vendor?[t]:[])e();Array.from(document.querySelectorAll('svg[data-marp-fitting="svg"]'),t=>{const r=t.firstChild,a=r.firstChild,{scrollWidth:o,scrollHeight:i}=a;let n,s=1;if(t.hasAttribute("data-marp-fitting-code")&&(n=t.parentElement.parentElement),t.hasAttribute("data-marp-fitting-math")&&(n=t.parentElement),n){const t=getComputedStyle(n),e=Math.ceil(n.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight));e&&(s=e)}const l=Math.max(o,s),c=Math.max(i,1),p=`0 0 ${l} ${c}`;e(r,"width",""+l),e(r,"height",""+c),e(t,"preserveAspectRatio",getComputedStyle(t).getPropertyValue("--preserve-aspect-ratio")||"xMinYMin meet"),e(t,"viewBox",p)&&t.classList.toggle("__reflow__")}),a&&window.requestAnimationFrame(()=>r(a))}!function(){if("undefined"==typeof window)throw new Error("Marp Core's browser script is valid only in browser context.");window.marpCoreBrowserScript?console.warn("Marp Core's browser script has already executed."):(Object.defineProperty(window,"marpCoreBrowserScript",{value:!0}),r())}()}();
+</script></foreignObject></svg></div><script>!function(){"use strict";var e=function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),s=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),a={},o=function(e,t){return(t=t||{}).index=s.indexOf(e),t.slide=e,t},i=function(e,t){a[e]=(a[e]||[]).filter((function(e){return e!==t}))},l=function(e,t){return(a[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},c=function(e,t){s[e]&&(n&&l("deactivate",o(n,t)),n=s[e],l("activate",o(n,t)))},d=function(e,t){var r=s.indexOf(n)+e;l(e>0?"next":"prev",o(n,t))&&c(r,t)},u={off:i,on:function(e,t){return(a[e]||(a[e]=[])).push(t),i.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return s.indexOf(n);l("slide",o(s[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:s,destroy:function(e){l("destroy",o(n,e)),a={}}};return(t||[]).forEach((function(e){e(u)})),n||c(0),u};function t(e){e.parent.classList.add("bespoke-marp-parent"),e.slides.map(e=>e.classList.add("bespoke-marp-slide")),e.on("activate",t=>{e.slides.map(e=>e.classList.remove("bespoke-marp-active")),t.slide.classList.add("bespoke-marp-active")})}function n(e=2e3){return t=>{let n;function r(){n&&clearTimeout(n),n=setTimeout(()=>{t.parent.classList.add("bespoke-marp-inactive")},e),t.parent.classList.remove("bespoke-marp-inactive")}document.addEventListener("mousedown",r),document.addEventListener("mousemove",r),document.addEventListener("touchend",r),setTimeout(r,0)}}const r=["AUDIO","BUTTON","INPUT","SELECT","TEXTAREA","VIDEO"];function s(e){e.parent.addEventListener("keydown",e=>{if(!e.target)return;const t=e.target;(r.includes(t.nodeName)||"true"===t.contentEditable)&&e.stopPropagation()})}function a(e){window.addEventListener("load",()=>{for(const t of e.slides){const e=t.querySelector("[data-marp-fitting]")?"":"hideable";t.setAttribute("data-bespoke-marp-load",e)}})}function o(e){let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map(e=>[null,...e.querySelectorAll("[data-marpit-fragment]")])});const r=r=>void 0!==e.fragments[t][n+r],s=(r,s)=>{t=r,n=s,e.fragments.forEach((e,t)=>{e.forEach((e,n)=>{if(null==e)return;const a=t<r||t===r&&n<=s;e.setAttribute("data-bespoke-marp-fragment",a?"active":"inactive"),t===r&&n===s?e.setAttribute("data-bespoke-marp-current-fragment","current"):e.removeAttribute("data-bespoke-marp-current-fragment")})}),e.fragmentIndex=s;const a={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:s};e.fire("fragment",a)};e.on("next",()=>{if(r(1))return s(t,n+1),!1;const a=t+1;e.fragments[a]&&s(a,0)}),e.on("prev",()=>{if(r(-1))return s(t,n-1),!1;const a=t-1;e.fragments[a]&&s(a,e.fragments[a].length-1)}),e.on("slide",({index:t,fragment:n})=>{let r=0;if(void 0!==n){const s=e.fragments[t];if(s){const{length:e}=s;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}s(t,r)}),s(0,0)}var i,l=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){
+/*!
+  * screenfull
+  * v5.0.2 - 2020-02-13
+  * (c) Sindre Sorhus; MIT License
+  */
+!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=e.exports,r=function(){for(var e,n=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],r=0,s=n.length,a={};r<s;r++)if((e=n[r])&&e[1]in t){for(r=0;r<e.length;r++)a[n[0][r]]=e[r];return a}return!1}(),s={change:r.fullscreenchange,error:r.fullscreenerror},a={request:function(e){return new Promise(function(n,s){var a=function(){this.off("change",a),n()}.bind(this);this.on("change",a);var o=(e=e||t.documentElement)[r.requestFullscreen]();o instanceof Promise&&o.then(a).catch(s)}.bind(this))},exit:function(){return new Promise(function(e,n){if(this.isFullscreen){var s=function(){this.off("change",s),e()}.bind(this);this.on("change",s);var a=t[r.exitFullscreen]();a instanceof Promise&&a.then(s).catch(n)}else e()}.bind(this))},toggle:function(e){return this.isFullscreen?this.exit():this.request(e)},onchange:function(e){this.on("change",e)},onerror:function(e){this.on("error",e)},on:function(e,n){var r=s[e];r&&t.addEventListener(r,n,!1)},off:function(e,n){var r=s[e];r&&t.removeEventListener(r,n,!1)},raw:r};r?(Object.defineProperties(a,{isFullscreen:{get:function(){return Boolean(t[r.fullscreenElement])}},element:{enumerable:!0,get:function(){return t[r.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return Boolean(t[r.fullscreenEnabled])}}}),n?e.exports=a:window.screenfull=a):n?e.exports={isEnabled:!1}:window.screenfull={isEnabled:!1}}()}));l.isEnabled;function c(e){e.fullscreen=()=>{l.isEnabled&&l.toggle(document.body)},document.addEventListener("keydown",t=>{70!==t.which&&122!==t.which||t.altKey||t.ctrlKey||t.metaKey||!l.isEnabled||(e.fullscreen(),t.preventDefault())})}function d(e={}){const t=Object.assign({interval:200},e);return e=>{document.addEventListener("keydown",t=>{(32===t.which&&t.shiftKey||33===t.which||37===t.which||38===t.which)&&e.prev(),(32===t.which&&!t.shiftKey||34===t.which||39===t.which||40===t.which)&&e.next(),35===t.which&&e.slide(e.slides.length-1,{fragment:-1}),36===t.which&&e.slide(0)});let n,r,s=0;e.parent.addEventListener("wheel",a=>{let o=!1;const l=(e,t)=>{e&&(o=o||function(e,t){return function(e,t){const n=t===i.X?"Width":"Height";return e["client"+n]<e["scroll"+n]}(e,t)&&function(e,t){const{overflow:n}=e,r=e["overflow"+t];return"auto"===n||"scroll"===n||"auto"===r||"scroll"===r}(getComputedStyle(e),t)}(e,t)),(null==e?void 0:e.parentElement)&&l(e.parentElement,t)};if(0!==a.deltaX&&l(a.target,i.X),0!==a.deltaY&&l(a.target,i.Y),o)return;a.preventDefault(),r&&clearTimeout(r),r=setTimeout(()=>{n=0},t.interval);const c=Date.now()-s<t.interval,d=Math.sqrt(Math.pow(a.deltaX,2)+Math.pow(a.deltaY,2)),u=d<=n;if(n=d,c||u)return;let f;(a.deltaX>0||a.deltaY>0)&&(f="next"),(a.deltaX<0||a.deltaY<0)&&(f="prev"),f&&(e[f](),s=Date.now())})}}!function(e){e.X="X",e.Y="Y"}(i||(i={}));const u=(...e)=>history.replaceState(...e);var f;!function(e){e.Normal="",e.Presenter="presenter",e.Next="next"}(f||(f={}));const p=(e,{protocol:t,host:n,pathname:r,hash:s}=location)=>{const a=e.toString();return`${t}//${n}${r}${a?"?":""}${a}${s}`},m=()=>{switch(document.body.getAttribute("data-bespoke-view")){case f.Normal:return f.Normal;case f.Presenter:return f.Presenter;case f.Next:return f.Next;default:throw new Error("View mode is not assigned.")}},h=e=>new URLSearchParams(location.search).get(e),g=(e,t={})=>{const n=Object.assign({location:location,setter:u},t),r=new URLSearchParams(n.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?r.set(t,n):r.delete(t)}try{n.setter(null,document.title,p(r,n.location))}catch(e){console.error(e)}},b={available:(()=>{try{return localStorage.setItem("bespoke-marp","bespoke-marp"),localStorage.removeItem("bespoke-marp"),!0}catch(e){return console.warn("Warning: Using localStorage is restricted in the current host so some features may not work."),!1}})(),get:e=>{try{return localStorage.getItem(e)}catch(e){return null}},set:(e,t)=>{try{return localStorage.setItem(e,t),!0}catch(e){return!1}},remove:e=>{try{return localStorage.removeItem(e),!0}catch(e){return!1}}};function v(e=".bespoke-marp-osc"){const t=document.querySelector(e);if(!t)return()=>{};const n=(e,n)=>{t.querySelectorAll(`[data-bespoke-marp-osc=${JSON.stringify(e)}]`).forEach(n)};return l.isEnabled||n("fullscreen",e=>e.style.display="none"),b.available||n("presenter",e=>{e.disabled=!0,e.title="Presenter view is disabled due to restricted localStorage."}),e=>{t.addEventListener("click",t=>{if(t.target instanceof HTMLElement){const{bespokeMarpOsc:n}=t.target.dataset;switch(n&&t.target.blur(),n){case"next":e.next();break;case"prev":e.prev();break;case"fullscreen":"function"==typeof e.fullscreen&&l.isEnabled&&e.fullscreen();break;case"presenter":e.openPresenterView()}}}),e.parent.appendChild(t),e.on("activate",({index:t})=>{n("page",n=>n.textContent=`Page ${t+1} of ${e.slides.length}`)}),e.on("fragment",({index:t,fragments:r,fragmentIndex:s})=>{n("prev",e=>e.disabled=0===t&&0===s),n("next",n=>n.disabled=t===e.slides.length-1&&s===r.length-1)}),l.isEnabled&&l.onchange(()=>n("fullscreen",e=>e.classList.toggle("exit",l.isEnabled&&l.isFullscreen)))}}function w(){const e=Math.max(Math.floor(.85*window.innerWidth),640),t=Math.max(Math.floor(.85*window.innerHeight),360);return window.open(this.presenterUrl,"bespoke-marp-presenter-"+this.syncKey,`width=${e},height=${t},menubar=no,toolbar=no`)}function y(){const e=new URLSearchParams(location.search);return e.set("view","presenter"),e.set("sync",this.syncKey),p(e)}var x=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];let E=e=>String(e).replace(/[&<>"']/g,e=>`&${k[e]};`),k={"&":"amp","<":"lt",">":"gt",'"':"quot","'":"apos"},S="dangerouslySetInnerHTML",L={className:"class",htmlFor:"for"},I={};function P(e,t){let n=[],r="";t=t||{};for(let e=arguments.length;e-- >2;)n.push(arguments[e]);if("function"==typeof e)return t.children=n.reverse(),e(t);if(e){if(r+="<"+e,t)for(let e in t)!1!==t[e]&&null!=t[e]&&e!==S&&(r+=` ${L[e]?L[e]:E(e)}="${E(t[e])}"`);r+=">"}if(-1===x.indexOf(e)){if(t[S])r+=t[S].__html;else for(;n.length;){let e=n.pop();if(e)if(e.pop)for(let t=e.length;t--;)n.push(e[t]);else r+=!0===I[e]?e:E(e)}r+=e?`</${e}>`:""}return I[r]=!0,r}const M=({children:e})=>P(null,null,...e),N="bespoke-marp-presenter-container",F="bespoke-marp-presenter-next",O="bespoke-marp-presenter-next-container",T="bespoke-marp-presenter-note-container",q="bespoke-marp-presenter-info-container",C="bespoke-marp-presenter-info-page",$="bespoke-marp-presenter-info-page-text",j="bespoke-marp-presenter-info-page-prev",A="bespoke-marp-presenter-info-page-next",K="bespoke-marp-presenter-info-time",R="bespoke-marp-presenter-info-timer";function U(e){const{title:t}=document;document.title="[Presenter view]"+(t?" - "+t:"");const n={},r=e=>(n[e]=n[e]||document.querySelector("."+e),n[e]);document.body.appendChild((e=>{const t=document.createElement("div");return t.className=N,t.appendChild(e),t.insertAdjacentHTML("beforeend",P(M,null,P("div",{class:O},P("iframe",{class:F,src:"?view=next"})),P("div",{class:T}),P("div",{class:q},P("div",{class:C},P("button",{class:j,tabindex:"-1",title:"Previous"},"Previous"),P("span",{class:$}),P("button",{class:A,tabindex:"-1",title:"Next"},"Next")),P("time",{class:K,title:"Current time"}),P("div",{class:R})))),t})(e.parent)),(e=>{r(O).addEventListener("click",()=>e.next());const t=r(F),n=(s=t,(e,t)=>s.contentWindow.postMessage(`navigate:${e},${t}`,"null"===window.origin?"*":window.origin));var s;t.addEventListener("load",()=>{r(O).classList.add("active"),n(e.slide(),e.fragmentIndex),e.on("fragment",({index:e,fragmentIndex:t})=>n(e,t))});const a=document.querySelectorAll(".bespoke-marp-note");a.forEach(e=>{e.addEventListener("keydown",e=>e.stopPropagation()),r(T).appendChild(e)}),e.on("activate",()=>a.forEach(t=>t.classList.toggle("active",t.dataset.index==e.slide()))),e.on("activate",({index:t})=>{r($).textContent=`${t+1} / ${e.slides.length}`});const o=r(j),i=r(A);o.addEventListener("click",()=>{o.blur(),e.prev()}),i.addEventListener("click",()=>{i.blur(),e.next()}),e.on("fragment",({index:t,fragments:n,fragmentIndex:r})=>{o.disabled=0===t&&0===r,i.disabled=t===e.slides.length-1&&r===n.length-1});const l=()=>r(K).textContent=(new Date).toLocaleTimeString();l(),setInterval(l,250)})(e)}function V(e){const t=m();return t===f.Next&&e.appendChild(document.createElement("span")),e=>{t===f.Normal&&function(e){if(!(e=>e.syncKey&&"string"==typeof e.syncKey)(e))throw new Error("The current instance of Bespoke.js is invalid for Marp bespoke presenter plugin.");Object.defineProperties(e,{openPresenterView:{enumerable:!0,value:w},presenterUrl:{enumerable:!0,get:y}}),b.available&&document.addEventListener("keydown",t=>{80!==t.which||t.altKey||t.ctrlKey||t.metaKey||(t.preventDefault(),e.openPresenterView())})}(e),t===f.Presenter&&U(e),t===f.Next&&function(e){const t=t=>{if(t.origin!==window.origin)return;const[n,r]=t.data.split(":");if("navigate"===n){const[t,n]=r.split(",");e.slide(Number.parseInt(t,10),{fragment:Number.parseInt(n,10)}),e.next()}};window.addEventListener("message",t),e.on("destroy",()=>window.removeEventListener("message",t))}(e)}}function X(e){e.on("activate",t=>{document.querySelectorAll(".bespoke-progress-bar").forEach(n=>{n.style.flexBasis=100*t.index/(e.slides.length-1)+"%"})})}const D=e=>{const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t};function Y(e={}){const t=Object.assign({history:!0},e);return e=>{let n=!0;const r=e=>{const t=n;try{return n=!0,e()}finally{n=t}},s=(t={fragment:!0})=>{((t,n)=>{const{fragments:r,slides:s}=e,a=Math.max(0,Math.min(t,s.length-1)),o=Math.max(0,Math.min(n||0,r[a].length-1));a===e.slide()&&o===e.fragmentIndex||e.slide(a,{fragment:o})})((D(location.hash.slice(1))||1)-1,t.fragment?D(h("f")||""):null)};e.on("fragment",({index:e,fragmentIndex:r})=>{n||g({f:0===r||r.toString()},{location:Object.assign(Object.assign({},location),{hash:"#"+(e+1)}),setter:(...e)=>t.history?history.pushState(...e):history.replaceState(...e)})}),setTimeout(()=>{s(),window.addEventListener("hashchange",()=>r(()=>{s({fragment:!1}),g({f:void 0})})),window.addEventListener("popstate",()=>{n||r(()=>s())}),n=!1},0)}}function B(e={}){const t=e.key||((e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;){let r=63&n[e];t+=r<36?r.toString(36):r<62?(r-26).toString(36).toUpperCase():r<63?"_":"-"}return t})(),n="bespoke-marp-sync-"+t,r=()=>{const e=b.get(n);return e?JSON.parse(e):Object.create(null)},s=e=>{const t=r(),s=Object.assign(Object.assign({},t),e(t));return b.set(n,JSON.stringify(s)),s};return s(e=>({reference:(e.reference||0)+1})),e=>{Object.defineProperty(e,"syncKey",{value:t,enumerable:!0});let a=!0;setTimeout(()=>{e.on("fragment",e=>{a&&s(()=>({index:e.index,fragmentIndex:e.fragmentIndex}))})},0),window.addEventListener("storage",t=>{if(t.key===n&&t.oldValue&&t.newValue){const n=JSON.parse(t.oldValue),r=JSON.parse(t.newValue);if(n.index!==r.index||n.fragmentIndex!==r.fragmentIndex)try{a=!1,e.slide(r.index,{fragment:r.fragmentIndex})}finally{a=!0}}}),e.on("destroy",()=>{const{reference:e}=r();void 0===e||e<=1?b.remove(n):s(()=>({reference:e-1}))})}}function z(e={}){const t=Object.assign({slope:Math.tan(-35*Math.PI/180),swipeThreshold:30},e);return e=>{let n;const r=e.parent,s=e=>{const t=r.getBoundingClientRect();return{x:e.pageX-(t.left+t.right)/2,y:e.pageY-(t.top+t.bottom)/2}};r.addEventListener("touchstart",e=>{n=1===e.touches.length?s(e.touches[0]):void 0},{passive:!0}),r.addEventListener("touchmove",e=>{if(n)if(1===e.touches.length){e.preventDefault();const t=s(e.touches[0]),r=t.x-n.x,a=t.y-n.y;n.delta=Math.sqrt(Math.pow(Math.abs(r),2)+Math.pow(Math.abs(a),2)),n.radian=Math.atan2(r,a)}else n=void 0}),r.addEventListener("touchend",r=>{if(n){if(n.delta&&n.delta>=t.swipeThreshold){let s=n.radian-t.slope;s=(s+Math.PI)%(2*Math.PI)-Math.PI,e[s<0?"next":"prev"](),r.stopPropagation()}n=void 0}},{passive:!0})}}const H=[f.Normal,f.Presenter,f.Next];!function(r=document.getElementById("p")){document.body.setAttribute("data-bespoke-view",(()=>{switch(h("view")){case"next":return f.Next;case"presenter":return f.Presenter;default:return f.Normal}})());const i=(e=>{const t=h(e);return g({[e]:void 0}),t})("sync")||void 0,l=!1,u=!0,p=e(r,((...e)=>{const t=H.findIndex(e=>m()===e);if(t<0)throw new Error("Invalid view");return e.map(([e,n])=>e[t]&&n).filter(e=>e)})([[u,u,l],B({key:i})],[[u,u,u],V(r)],[[u,u,l],s],[[u,u,u],t],[[u,l,l],n()],[[u,u,u],a],[[u,u,u],Y({history:!1})],[[u,u,l],d()],[[u,u,l],c],[[u,l,l],X],[[u,u,l],z()],[[u,l,l],v()],[[u,u,u],o]));window.addEventListener("beforeunload",()=>g({sync:p.syncKey})),window.addEventListener("unload",()=>p.destroy())}()}();
+</script></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/poster.md	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,334 @@
+---
+marp: true
+title:  Gears OSでモデル検査を実現する手法について
+paginate: true
+---
+
+# <!--fit--> Gears OSでモデル検査を実現する手法について
+- 東恩納 琢偉
+  - 琉球大学理工学研究科 情報工学専攻
+---
+
+# 研究目的
+
+- OS上ではさまざまなアプリケーションやサービスが提供されるが、予期しないエラーが起こる。
+- 本研究室で開発している GearsOS ではアプリケーションやサービスの信頼性の保証をOSの機能として行うことを目指しており、本研究ではモデル検査をもちいた手法について発表する。
+- また GearsOS そのものを GearsOS 上でモデル検査する手法についても考察する。
+---
+
+# Gears OS
+
+- Continuation based C によって記述されている。
+- 信頼性を保証する手法として、モデル検査による検証や、定理証明によるアプローチも行っている。
+
+----
+
+# Continution based C (CbC)
+
+- Gear という単位で分割され、goto 文によって遷移する。
+- codeGear は プログラムにおける処理記述になっている。
+- また 変数や構造体といったデータは dataGear に保管される。
+- 下の例題は CbC によって記述された codeGear である。
+```
+__code pickup_lfork(struct PhilsImpl* phils, __code next(...)) {
+    struct AtomicT_int* left_fork = phils->Leftfork;
+    goto left_fork->checkAndSet(-1, phils->self, pickup_rfork, eating);
+
+}
+
+```
+
+---
+
+# goto
+- CbC での遷移は軽量継続といいgoto 文を用いる。
+- これは関数呼び出しと異なり、stackや環境を隠して持つことがありません。
+- CbC において、処理を行うのは codeGear であるため、プログラムの状態の変化は codeGear によって決まる。
+- よって CbC での遷移記述をそのまま状態記述とすることが出来る。
+
+
+
+<center><img src="./pic/goto.svg" alt="" width="80%" height="80%" ></center>
+
+----
+
+# メタ計算
+- 軽量継続である CbC は遷移する際に別の処理を挟む事が可能で、この処理をメタ計算という。
+- メタ計算は meta codeGear で行われ、ここに検証用の処理を入れる事が出来る。
+<center><img src="./pic/meta_gear2.svg" alt="" width="90%" height="90%" ></center>
+
+----
+
+# data Gear と meta dataGear
+
+- CbC における入力は dataGear と呼ばれる構造体になっており、ノーマルレベル
+とメタレベルがある。
+- メタレベルには計算を行うCPUやメモリ、計算に関するノーマルレベルのdataGearもcontext に格納されている。
+
+---
+
+# stub CodeGear (メタレベルからノーマルレベルへの橋渡し)
+
+- メタレベルから見ると、code Gearの入力はcontext ただ1つである。
+- ノーマルレベルからメタレベルの context を直接参照してしまうことはできない。
+- context から必要なノーマルレベルのdata Gearを取り出して、ノーマルレベルのcodeGearを呼び出し渡す処理を行う仲介役として、メタレベルの stub codeGearを用意する。
+
+```
+__code clearSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack,enum Code next) {
+    stack->top = NULL;
+    goto meta(context, next);
+}
+
+__code clearSingleLinkedStack_stub(struct Context* context) {
+    SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack);
+    enum Code next = Gearef(context, Stack)->next;
+    goto clearSingleLinkedStack(context, stack, next);
+} 
+```
+
+---
+
+# プロセスであるcontext の並べ替えによる並列実行
+
+- プログラムの非決定的な実行は、入力あるいは並列実行の非決定性から生じる。
+- 並列実行の非決定性は、実行される codeGear の並び替えを生成し、contextの状態を数え上げる。
+- これがモデル検査になる。
+- 並び替えの数(プログラム全体の可能な状態)はとても巨大になる場合がある。
+- 状態はデータベースに格納する。
+
+---
+
+# codeGearのatomicity
+
+- codeGear は処理の基本単位であり、並列処理などにより割り込まれることなく記述された通りに実行される必要がある。
+- 一般的には、他の codeGear が共有されたdataGearに競合的に書き込んだり、割り込みにより処理が中断したりする。
+- GearsOS においては codeGear が正しくatomicに実行されるように実装する。
+
+---
+
+# モデル検査する仕様の記述法
+
+- 検証したい内容を時様相論理式 p をつくり、対象のシステムの初期状態 s のモデル M があるとき、M,s |= p(M,s が p を満たすか)をモデル検査器を用いて調べることによって信頼性を保証する手法である。
+
+- 時相論理式にはCTL(Computation Tree Logic) や LTTL(Linear Time Temporal Logic)といったものがあり、それぞれ計算木と線形時相論理式と言われるものである。
+
+
+----
+
+# 他のモデル検査実装例
+- SPIN
+ Promela (Process Meta Language)で仕様と実装を記述する。
+
+- Java Path Finder
+ JVM を直接シュミレーション実行する。
+ 様相論理ではなくassert 検証したい性質を記述する。
+
+- XMV
+ CMU で開発されたモデル検査器
+ SAT solver 
+
+----
+
+# Geras OS のモデル検査
+
+- CbC によって記述されており、CbC の記述そのものを状態遷移として落とし込む。
+- par goto により複数スレッドの並行実行する。
+- メタ計算によって並行実行のモデル検査を行う。
+
+
+----
+
+# Gears OS におけるモデル検査
+1. GearsOS におけるモデル検査はcode gear 単位の順列組み合わせによって行われる。
+2. codegear 実行後の状態を、データベースに格納する。
+3. 新しい状態が生成されなくなった時モデル検査が終了する。
+4. 哲学者5人が次の状態に進めなくなった時をデッドロックとして検出する。
+5. 必要な状態はフォークの状態だけになるので、それ以外の状態は無視することができる。
+6. これにより状態数を下げることができる。
+7. 問題に合わせたメタ計算により、モデル検査の状態数を下げることができる。
+8. GearsOS による検証用プログラムとして Dining Philosohers Ploblem (DPP)を用いる。
+
+----
+# DPP
+
+<right><img src="./pic/dpp_image.svg" alt="" height="90%" ></right>
+
+----
+# DPP(dining philosohers ploblem)
+
+- 5人の哲学者が円卓についており、各々スパゲティーの皿が目の前に用意され、スパゲティーは絡まっている為2つのフォーク使わなければ食べれない。
+- フォークは皿の間に1本ずつの計5本しかないため、すべての哲学者が同時に食事することはできず、また全員がフォークを1本ずつ持ってしまった場合、誰も食事することは出来ない。この状態をデッドロックとする。
+-DPPは次の6つの状態からなる。 
+`Pickup Right fork` ` Pickup Left fork` `eating` ` Put Right fork` `Put Left fork` ` Thinking `
+----
+
+
+# GearsOS におけるDPP実装(1/2)
+
+- マルチスレッドでのデータの一貫性を保証する手法としてCheck and Set (CAS) を用いる。
+- CAS を用いて値の比較、更新をアトミックに行う。
+- CAS は書き込みの際に、書き込む MetaCodeGear に更新前と更新後の値を渡し、更新前の値が保存されているメモリ番地の値と比較し同じデータがであれば書き込みを行う。異なる場合はほかからの書き込みがあったとみなし、値の更新に失敗し、もう一度CASを行う。
+- DPPの例題ではフォークがスレッドで共有されるデータにあたるので、CAS を用いることによってスレッド間での同期を行う。
+
+----
+
+# GearsOS におけるDPP実装(2/2)
+- 5つのスレッドで行われる処理の状態は6つあり、それぞれを状態変数で表される。
+- この状態遷移は goto next によって遷移し、metaCodeGear を 挟みメタレベルで各スレッドの状態を 各スレッドごとに用意した Memory Tree に保存する。
+- Memory Tree はstateDBによってまとめられ、同じ状態は共有される。
+- またDPPにおける状態遷移は無限ループであるため、stateDBを用いて同じ状態を検索することで、終了判定を行う。
+
+----
+
+<center><img src="./pic/model_checking.svg" width="50%" ></center>
+
+----
+
+# GearsOS でのモデル検査を実現する方法について
+
+- DPP をGearsOS 上のアプリケーションとして実装する。
+- DPP を codeGear の1つとしてシャッフル実行する。
+- 可能な実行を生成する iterator
+- 状態を記録する memory Tree と stateDB を作成する。
+
+---
+
+# モデル検査器の現状
+
+- GearsOS 上での導出木の生成
+- 生成した木のマーキングによる時相論理の検証
+
+----
+
+# Metaの入れ替え
+- perl script を用いて、遷移先のmetaを置き換える事が可能となっている。
+- 遷移先のmetaを切り替えることによって、ノーマルレベルで走るプログラムを書き換える事なく、mcMeta によるシングルスレッド実行と並列実行ようのランダム実行を行う事が出来る。
+
+----
+
+# モデル検査のフラグ管理
+- モデル検査を行う際に全ての状態を網羅的に実行していく、この時実行した状態にフラグを立てていくことによって走った状態を記録しておく。
+- フラグはeating のt_eating と、¬◇ eating の f_F_eating フラグの2種類で、食事中といつか食事できないを表している。
+
+----
+
+# DPP のメタ計算
+- 導出木を作る時にはノーマルレベルの putdown_lfrok は putdown_lforkPhilsImpl となり、context に代入を行うマクロである Gearef を使いCaS を行う。
+その後 mcMeta に以降することで導出木の作成を行う
+
+```
+__code putdown_lfork(struct PhilsImpl* phils, __code next(...)) {
+  struct AtomicT_int* left_fork = phils->Leftfor
+  goto left_fork->set(-1, thinking);
+ }
+
+```
+```
+__code putdown_lforkPhilsImpl(struct Context *context,struct PhilsImpl* phils, enum Code next) {
+   struct AtomicT_int* left_fork = phils->Leftfork;
+   Gearef(context, AtomicT_int)->atomicT_int = (union Data*) left_fork;
+   Gearef(context, AtomicT_int)->newData = -1;
+   Gearef(context, AtomicT_int)->next = C_thinkingPhilsImpl;
+   goto mcMeta(context, left_fork->set);
+}
+```
+----
+# mcDPP
+- フラグを確認しモデル検査を行っている。
+```
+void mcDPP(struct MCTaskManagerImpl* mcti, struct MCWorker* mcWorker, StateDB now,StateDB next, int check) {
+  PhilsImpl* phils = (PhilsImpl*)GearImpl(mcWorker->mcContext, Phils, phils);
+  int prev_now = now->flag;
+  int prev_next = next->flag;
+  enum Code nextc = mcWorker->mcContext->next;
+
+  if (phils->self == 1 && nextc == C_putdown_rforkPhilsImpl ) {
+    now->flag |= t_eating;
+  }
+  if ((next->flag & t_eating )||(next->flag & t_F_eating) ) {
+    now->flag |= t_F_eating;
+  }
+
+  if ( prev_now != now->flag || prev_next != next->flag )
+     mcWorker->change = 1;
+
+  if (check) {
+     if (!(now->flag & t_F_eating)) {
+         printf("not <> eating\n");
+     }
+  }
+}
+
+```
+----
+
+# meta.pm
+
+```
+sub replaceMeta {
+  return (
+    [qr/PhilsImpl/ => \&generateMcMeta],
+  );
+}
+
+#my ($currentCodeGearName, $context, $next) = @_;
+
+sub generateRandomMeta {
+  my ($context, $next) = @_;
+  return "goto random($context, $next);";
+}
+
+sub generateMcMeta {
+  my ($context, $next) = @_;
+  return "goto mcMeta($context, $next);";
+}
+
+1;
+```
+----
+
+# まとめ
+- GearsOS上でDPPからの導出木を生成した。
+- 生成した木にフラグを立て、これをmcDPP用いてモデル検査をおこなった。
+
+- meta.pm を使うことでモデル検査を行う際のランダム生成を行う事が可能になった。
+
+- GeearsOS で汎用モデル検査器を作ることができた。
+
+
+----
+
+# 今後の展開
+- 網羅的にプログラムを走破し、状態を展開して行くため同じ状態の組み合わせが出てくる。これらの組み合わせは抽象化し、状態数が増えすぎる事を抑える必要がある。
+- 現在のData Gear は全て予め生成しておいたものでしかない。そのため生成が必要となる場合の方法を考える必要があり、またこの生成はノーマルレベルからは見えないようにしておく必要があるため工夫が必要となる。
+
+- モデル検査でメモリの状態を保管していたiterator は実行履歴として、trace によって遡る事が可能であるため、これを利用することによってmcMeta にdebugger  を埋め込むことが可能であると考える。
+
+----
+
+# GearsOS の GearsOS によるモデル検査
+
+- GerasOS そのものも codeGear で記述されている。
+- CPU毎の C.context、共有するkernel のK.context、ユーザープログラムのU.context と考えることができ、これらはmeta dataGear であるK.context に含まれている。
+- U.context がDPPのような単純なものならば、OS全体のcontext も複雑にはならないため、これらをGearsOSで実行することが可能になる。
+- GearsOS を含む codeGear のシャッフル実行を行う事ができれば、DPPと同じようにモデル検査を行う事ができる。
+- 検査する codeGear と検査される codeGear は同じものであるが、実行する meta codeGear を異なる。。
+- 異なるmeta codeGear を指定してコンパイル出来る。
+
+----
+
+
+# OS のモデル検査における問題点
+
+- 他のアプリケーションと違い、OS の記述はそれ自体が メタレベルのものであるため、それをemulationする方法を考える必要がある。
+- TLB(Translation Lookaside Buffer ) という仮想記憶を物理アドレスに変換する際に使われるキャッシュ機能があり、これのemulation に工夫が必要となる。
+- 検証内容によってこれらのemulation の方法をチューニングするため、未知のメタ計算、またはバグに対する検証方法が必要となる。
+-ユーザーcontext が単純であっても OS は膨大な状態数を有するので、その全てを探索するのが厳しいと考えられる。
+
+----
+
+# OS のモデル検査
+- OS の全体を検証するのではなく、部分的な検証であればモデル検査出来ると考えられる。
+- また小林らによって高次元プログラムの最悪時間計算量がk階の場合にk重指数完全であった高階モデル検査についての高速化手法が研究されている。
+
+----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/poster.md~	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,342 @@
+---
+marp: true
+title:  Gears OSでモデル検査を実現する手法について
+paginate: true
+---
+
+# <!--fit--> Gears OSでモデル検査を実現する手法について
+- 東恩納 琢偉
+  - 琉球大学理工学研究科 情報工学専攻
+---
+
+# 研究目的
+
+- OS上ではさまざまなアプリケーションやサービスが提供されるが、予期しないエラーが起こる。
+- 本研究室で開発している GearsOS ではアプリケーションやサービスの信頼性の保証をOSの機能として行うことを目指しており、本研究ではモデル検査をもちいた手法について発表する。
+- また GearsOS そのものを GearsOS 上でモデル検査する手法についても考察する。
+---
+
+# Gears OS
+
+- Continuation based C によって記述されている。
+- 信頼性を保証する手法として、モデル検査による検証や、定理証明によるアプローチも行っている。
+
+----
+
+# Continution based C (CbC)
+
+- Gear という単位で分割され、goto 文によって遷移する。
+- codeGear は プログラムにおける処理記述になっている。
+- また 変数や構造体といったデータは dataGear に保管される。
+- 下の例題は CbC によって記述された codeGear である。
+```
+__code pickup_lfork(struct PhilsImpl* phils, __code next(...)) {
+    struct AtomicT_int* left_fork = phils->Leftfork;
+    goto left_fork->checkAndSet(-1, phils->self, pickup_rfork, eating);
+
+}
+
+```
+
+---
+
+# goto
+- CbC での遷移は軽量継続といいgoto 文を用いる。
+- これは関数呼び出しと異なり、stackや環境を隠して持つことがありません。
+- CbC において、処理を行うのは codeGear であるため、プログラムの状態の変化は codeGear によって決まる。
+- よって CbC での遷移記述をそのまま状態記述とすることが出来る。
+
+
+
+<center><img src="./pic/goto.svg" alt="" width="80%" height="80%" ></center>
+
+----
+
+# メタ計算
+- 軽量継続である CbC は遷移する際に別の処理を挟む事が可能で、この処理をメタ計算という。
+- メタ計算は meta codeGear で行われ、ここに検証用の処理を入れる事が出来る。
+<center><img src="./pic/meta_gear2.svg" alt="" width="90%" height="90%" ></center>
+
+----
+
+# data Gear と meta dataGear
+
+- CbC における入力は dataGear と呼ばれる構造体になっており、ノーマルレベル
+とメタレベルがある。
+- メタレベルには計算を行うCPUやメモリ、計算に関するノーマルレベルのdataGearもcontext に格納されている。
+
+---
+
+# stub CodeGear (メタレベルからノーマルレベルへの橋渡し)
+
+- メタレベルから見ると、code Gearの入力はcontext ただ1つである。
+- ノーマルレベルからメタレベルの context を直接参照してしまうことはできない。
+- context から必要なノーマルレベルのdata Gearを取り出して、ノーマルレベルのcodeGearを呼び出し渡す処理を行う仲介役として、メタレベルの stub codeGearを用意する。
+
+```
+__code clearSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack,enum Code next) {
+    stack->top = NULL;
+    goto meta(context, next);
+}
+
+__code clearSingleLinkedStack_stub(struct Context* context) {
+    SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack);
+    enum Code next = Gearef(context, Stack)->next;
+    goto clearSingleLinkedStack(context, stack, next);
+} 
+```
+
+---
+
+# プロセスであるcontext の並べ替えによる並列実行
+
+- プログラムの非決定的な実行は、入力あるいは並列実行の非決定性から生じる。
+- 並列実行の非決定性は、実行される codeGear の並び替えを生成し、contextの状態を数え上げる。
+- これがモデル検査になる。
+- 並び替えの数(プログラム全体の可能な状態)はとても巨大になる場合がある。
+- 状態はデータベースに格納する。
+
+---
+
+# codeGearのatomicity
+
+- codeGear は処理の基本単位であり、並列処理などにより割り込まれることなく記述された通りに実行される必要がある。
+- 一般的には、他の codeGear が共有されたdataGearに競合的に書き込んだり、割り込みにより処理が中断したりする。
+- GearsOS においては codeGear が正しくatomicに実行されるように実装する。
+
+---
+
+# モデル検査する仕様の記述法
+
+- 検証したい内容を時様相論理式 p をつくり、対象のシステムの初期状態 s のモデル M があるとき、M,s |= p(M,s が p を満たすか)をモデル検査器を用いて調べることによって信頼性を保証する手法である。
+
+- 時相論理式にはCTL(Computation Tree Logic) や LTTL(Linear Time Temporal Logic)といったものがあり、それぞれ計算木と線形時相論理式と言われるものである。
+
+
+----
+
+# 他のモデル検査実装例
+- SPIN
+ Promela (Process Meta Language)で仕様と実装を記述する。
+
+- Java Path Finder
+ JVM を直接シュミレーション実行する。
+ 様相論理ではなくassert 検証したい性質を記述する。
+
+- XMV
+ CMU で開発されたモデル検査器
+ SAT solver 
+
+----
+
+# Geras OS のモデル検査
+
+- CbC によって記述されており、CbC の記述そのものを状態遷移として落とし込む。
+- par goto により複数スレッドの並行実行する。
+- メタ計算によって並行実行のモデル検査を行う。
+
+
+----
+
+# Gears OS におけるモデル検査
+1. GearsOS におけるモデル検査はcode gear 単位の順列組み合わせによって行われる。
+2. codegear 実行後の状態を、データベースに格納する。
+3. 新しい状態が生成されなくなった時モデル検査が終了する。
+4. 哲学者5人が次の状態に進めなくなった時をデッドロックとして検出する。
+5. 必要な状態はフォークの状態だけになるので、それ以外の状態は無視することができる。
+6. これにより状態数を下げることができる。
+7. 問題に合わせたメタ計算により、モデル検査の状態数を下げることができる。
+8. GearsOS による検証用プログラムとして Dining Philosohers Ploblem (DPP)を用いる。
+
+----
+# DPP
+
+<right><img src="./pic/dpp_image.svg" alt="" height="90%" ></right>
+
+----
+# DPP(dining philosohers ploblem)
+
+- 5人の哲学者が円卓についており、各々スパゲティーの皿が目の前に用意され、スパゲティーは絡まっている為2つのフォーク使わなければ食べれない。
+- フォークは皿の間に1本ずつの計5本しかないため、すべての哲学者が同時に食事することはできず、また全員がフォークを1本ずつ持ってしまった場合、誰も食事することは出来ない。この状態をデッドロックとする。
+-DPPは次の6つの状態からなる。 
+`Pickup Right fork` ` Pickup Left fork` `eating` ` Put Right fork` `Put Left fork` ` Thinking `
+----
+
+
+# GearsOS におけるDPP実装(1/2)
+
+- マルチスレッドでのデータの一貫性を保証する手法としてCheck and Set (CAS) を用いる。
+- CAS を用いて値の比較、更新をアトミックに行う。
+- CAS は書き込みの際に、書き込む MetaCodeGear に更新前と更新後の値を渡し、更新前の値が保存されているメモリ番地の値と比較し同じデータがであれば書き込みを行う。異なる場合はほかからの書き込みがあったとみなし、値の更新に失敗し、もう一度CASを行う。
+- DPPの例題ではフォークがスレッドで共有されるデータにあたるので、CAS を用いることによってスレッド間での同期を行う。
+
+----
+
+# GearsOS におけるDPP実装(2/2)
+- 5つのスレッドで行われる処理の状態は6つあり、それぞれを状態変数で表される。
+- この状態遷移は goto next によって遷移し、metaCodeGear を 挟みメタレベルで各スレッドの状態を 各スレッドごとに用意した Memory Tree に保存する。
+- Memory Tree はstateDBによってまとめられ、同じ状態は共有される。
+- またDPPにおける状態遷移は無限ループであるため、stateDBを用いて同じ状態を検索することで、終了判定を行う。
+
+----
+
+<center><img src="./pic/model_checking.svg" width="50%" ></center>
+
+----
+
+# GearsOS でのモデル検査を実現する方法について
+
+- DPP をGearsOS 上のアプリケーションとして実装する。
+- DPP を codeGear のシャッフルの1つとして実行する。
+- 可能な実行を生成する iterator
+- 状態を記録する memory Tree と stateDB を作成する。
+
+---
+
+# モデル検査器の現状
+
+- GearsOS 上での導出木の生成
+- 生成した木のマーキングによる時相論理の検証
+
+----
+
+# Metaの入れ替え
+- perl script を用いて、遷移先のmetaを置き換える事が可能となっている。
+- 遷移先のmetaを切り替えることによって、ノーマルレベルで走るプログラムを書き換える事なく、mcMeta によるシングルスレッド実行と並列実行ようのランダム実行を行う事が出来る。
+
+----
+
+# モデル検査のフラグ管理
+- モデル検査を行う際に全ての状態を網羅的に実行していく、この時実行した状態にフラグを立てていくことによって走った状態を記録しておく。
+- フラグはeating のt_eating と、¬◇ eating の f_F_eating フラグの2種類で、食事中といつか食事できないを表している。
+
+----
+
+# DPP のメタ計算
+- 導出木を作る時にはノーマルレベルの putdown_lfrok は putdown_lforkPhilsImpl となり、context に代入を行うマクロである Gearef を使いCaS を行う。
+その後 mcMeta に以降することで導出木の作成を行う
+
+```
+__code putdown_lfork(struct PhilsImpl* phils, __code next(...)) {
+  struct AtomicT_int* left_fork = phils->Leftfor
+  goto left_fork->set(-1, thinking);
+ }
+
+```
+```
+__code putdown_lforkPhilsImpl(struct Context *context,struct PhilsImpl* phils, enum Code next) {
+   struct AtomicT_int* left_fork = phils->Leftfork;
+   Gearef(context, AtomicT_int)->atomicT_int = (union Data*) left_fork;
+   Gearef(context, AtomicT_int)->newData = -1;
+   Gearef(context, AtomicT_int)->next = C_thinkingPhilsImpl;
+   goto mcMeta(context, left_fork->set);
+}
+```
+----
+# mcDPP
+- フラグを確認しモデル検査を行っている。
+```
+void mcDPP(struct MCTaskManagerImpl* mcti, struct MCWorker* mcWorker, StateDB now,StateDB next, int check) {
+  PhilsImpl* phils = (PhilsImpl*)GearImpl(mcWorker->mcContext, Phils, phils);
+  int prev_now = now->flag;
+  int prev_next = next->flag;
+  enum Code nextc = mcWorker->mcContext->next;
+
+  if (phils->self == 1 && nextc == C_putdown_rforkPhilsImpl ) {
+    now->flag |= t_eating;
+  }
+  if ((next->flag & t_eating )||(next->flag & t_F_eating) ) {
+    now->flag |= t_F_eating;
+  }
+
+  if ( prev_now != now->flag || prev_next != next->flag )
+     mcWorker->change = 1;
+
+  if (check) {
+     if (!(now->flag & t_F_eating)) {
+         printf("not <> eating\n");
+     }
+  }
+}
+
+```
+----
+
+# meta.pm
+
+```
+sub replaceMeta {
+  return (
+    [qr/PhilsImpl/ => \&generateMcMeta],
+  );
+}
+
+#my ($currentCodeGearName, $context, $next) = @_;
+
+sub generateRandomMeta {
+  my ($context, $next) = @_;
+  return "goto random($context, $next);";
+}
+
+sub generateMcMeta {
+  my ($context, $next) = @_;
+  return "goto mcMeta($context, $next);";
+}
+
+1;
+```
+----
+
+# まとめ
+- GearsOS上でDPPからの導出木を生成した。
+- 生成した木にフラグを立て、これをmcDPP用いてモデル検査をおこなった。
+
+- meta.pm を使うことでモデル検査を行う際のランダム生成を行う事が可能になった。
+
+- GeearsOS で汎用モデル検査器を作ることができた。
+
+
+----
+
+# モデル検査における問題点
+
+- 他のアプリケーションと違い、OS の記述はそれ自体が メタレベルのものであるため、それをemulationする方法を考える必要がある。
+- TLB(Translation Lookaside Buffer ) という仮想記憶を物理アドレスに変換する際に使われるキャッシュ機能があり、これのemulation に工夫が必要となる。
+- 検証内容によってこれらのemulation の方法をチューニングするため、未知のメタ計算、またはバグに対する検証方法が必要となる。
+-ユーザーcontext が単純であっても OS は膨大な状態数を有するので、その全てを探索するのが厳しいと考えられる。
+
+----
+
+
+# 今後の展開
+- 網羅的にプログラムを走破し、状態を展開して行くため同じ状態の組み合わせが出てくる。これらの組み合わせは抽象化し、状態数が増えすぎる事を抑える必要がある。
+- 現在のData Gear は全て予め生成しておいたものでしかない。そのため生成が必要となる場合の方法を考える必要があり、またこの生成はノーマルレベルからは見えないようにしておく必要があるため工夫が必要となる。
+
+- モデル検査でメモリの状態を保管していたiterator は実行履歴として、trace によって遡る事が可能であるため、これを利用することによってmcMeta にdebugger  を埋め込むことが可能であると考える。
+
+----
+
+# GearsOS の GearsOS によるモデル検査
+
+- GerasOS そのものも codeGear で記述されている。
+- CPU毎の C.context、共有するkernel のK.context、ユーザープログラムのU.context と考えることができ、これらはmeta dataGear であるK.context に含まれている。
+- U.context がDPPのような単純なものならば、OS全体のcontext も複雑にはならないため、これらをGearsOSで実行することが可能になる。
+- GearsOS を含む codeGear のシャッフル実行を行う事ができれば、DPPと同じようにモデル検査を行う事ができる。
+- 検査する codeGear と検査される codeGear は同じものであるが、実行する meta codeGear を異なる。。
+- 異なるmeta codeGear を指定してコンパイル出来る。
+
+----
+# OS 自体のモデル検査
+
+- Gears OS は CbC で書かれている。そのため OS の動作であってもメタ計算を挟む事が可能である。
+- CPU や kernel また ユーザープログラムのcontext として考える事によって、OS から独立しているものとして考える。
+
+- またユーザーのcontext が単純なものであれば、OS 全体も複雑にはならないためDPPのようにシャッフル実行を行う事で、検証が可能であると考えられる。
+
+----
+
+# OS のモデル検査
+- OS の全体を検証するのではなく、部分的な検証であればモデル検査出来ると考えられる。
+- また小林らによって高次元プログラムの最悪時間計算量がk階の場合にk重指数完全であった高階モデル検査についての高速化手法が研究されている。
+
+----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/images/logo.svg	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg3004"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   width="825.635"
+   height="268.76"
+   xml:space="preserve"
+   sodipodi:docname="logo.pdf"><metadata
+     id="metadata3010"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs3008"><clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3018"><path
+         d="m 8.504,8.504 643,0 0,198 -643,0 0,-198 z"
+         id="path3020" /></clipPath></defs><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3006"
+     showgrid="false"
+     inkscape:zoom="0.38152452"
+     inkscape:cx="412.8175"
+     inkscape:cy="134.38"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g3012" /><g
+     id="g3012"
+     inkscape:groupmode="layer"
+     inkscape:label="logo"
+     transform="matrix(1.25,0,0,-1.25,0,268.76)"><g
+       id="g3014"><g
+         id="g3016"
+         clip-path="url(#clipPath3018)"><g
+           id="g3022"
+           transform="translate(102.5332,135.6518)"><path
+             d="m 0,0 -11.408,22.813 -14.75,0 c -2.032,0 -3.681,1.648 -3.681,3.682 0,2.032 1.649,3.679 3.681,3.679 l 19.299,0 L 6.585,3.292 C 7.494,1.473 6.755,-0.737 4.938,-1.648 4.41,-1.914 3.849,-2.039 3.295,-2.038 1.944,-2.038 0.645,-1.291 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3024" /></g><g
+           id="g3026"
+           transform="translate(122.8477,70.1152)"><path
+             d="m 0,0 0,111.942 c 0,2.032 1.653,3.679 3.682,3.679 2.034,0 3.684,-1.647 3.684,-3.679 L 7.366,0 c 0,-2.034 -1.65,-3.681 -3.684,-3.681 C 1.653,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3028" /></g><g
+           id="g3030"
+           transform="translate(51.0649,133.6162)"><path
+             d="m 0,0 c -2.03,0 -3.681,1.648 -3.681,3.679 0,2.035 1.651,3.684 3.681,3.684 l 121.941,0 c 2.034,0 3.681,-1.649 3.681,-3.684 C 125.622,1.648 123.975,0 121.941,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3032" /></g><g
+           id="g3034"
+           transform="translate(102.144,70.1152)"><path
+             d="m 0,0 0,67.18 c 0,2.034 1.65,3.684 3.681,3.684 2.032,0 3.68,-1.65 3.68,-3.684 L 7.361,0 c 0,-2.034 -1.648,-3.681 -3.68,-3.681 C 1.65,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3036" /></g><g
+           id="g3038"
+           transform="translate(102.459,68.6269)"><path
+             d="m 0,0 -18.358,41.521 -16.469,0 0,-0.002 c -2.03,0 -3.679,1.652 -3.679,3.684 0,2.034 1.649,3.68 3.679,3.68 l 21.263,0 L 6.733,2.977 C 7.556,1.117 6.712,-1.057 4.853,-1.881 4.371,-2.092 3.866,-2.194 3.367,-2.194 1.955,-2.194 0.605,-1.375 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3040" /></g><g
+           id="g3042"
+           transform="translate(141.7153,70.1152)"><path
+             d="m 0,0 0,49.696 c 0,2.035 1.65,3.682 3.682,3.682 2.034,0 3.682,-1.647 3.682,-3.682 L 7.364,0 C 7.364,-2.034 5.716,-3.681 3.682,-3.681 1.65,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3044" /></g><g
+           id="g3046"
+           transform="translate(31.2803,66.4346)"><path
+             d="m 0,0 c -2.032,0 -3.682,1.647 -3.682,3.681 0,2.032 1.65,3.678 3.682,3.678 l 147.246,0 c 2.035,0 3.684,-1.646 3.684,-3.678 C 150.93,1.647 149.281,0 147.246,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3048" /></g><g
+           id="g3050"
+           transform="translate(164.7226,156.6235)"><path
+             d="m 0,0 c -2.03,0 -3.679,1.648 -3.679,3.681 0,2.033 1.649,3.682 3.679,3.682 l 49.701,0 c 2.028,0 3.68,-1.649 3.68,-3.682 C 53.381,1.648 51.729,0 49.701,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3052" /></g><g
+           id="g3054"
+           transform="translate(165.4023,87.7905)"><path
+             d="m 0,0 c -1.929,0.645 -2.974,2.727 -2.33,4.656 l 23.008,69.021 c 0.643,1.93 2.727,2.975 4.654,2.328 1.931,-0.642 2.974,-2.726 2.33,-4.653 L 4.653,2.328 C 4.14,0.785 2.703,-0.191 1.163,-0.191 0.776,-0.191 0.385,-0.129 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3056" /></g><g
+           id="g3058"
+           transform="translate(134.8149,37.9038)"><path
+             d="m 0,0 c -2.034,0 -3.682,1.65 -3.682,3.681 0,2.033 1.648,3.684 3.682,3.684 l 45.138,0 27.183,88.347 -32.29,0 0,-0.002 c -2.034,0 -3.679,1.651 -3.679,3.685 0,2.03 1.645,3.68 3.679,3.68 l 42.257,0 L 50.575,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3060" /></g><g
+           id="g3062"
+           transform="translate(160.1216,105.5478)"><path
+             d="m 0,0 c -2.032,0 -3.677,1.645 -3.677,3.679 0,2.034 1.645,3.68 3.677,3.68 l 41.875,0 c 2.034,0 3.684,-1.646 3.684,-3.68 C 45.559,1.645 43.909,0 41.875,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3064" /></g><g
+           id="g3066"
+           transform="translate(226.3838,104.1665)"><path
+             d="m 0,0 0,41.414 c 0,2.032 1.648,3.678 3.681,3.678 2.034,0 3.682,-1.646 3.682,-3.678 L 7.363,0 C 7.363,-2.032 5.715,-3.681 3.681,-3.681 1.648,-3.681 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3068" /></g><g
+           id="g3070"
+           transform="translate(203.8359,66.4346)"><path
+             d="m 0,0 c -2.032,0 -3.681,1.647 -3.681,3.681 0,2.032 1.649,3.678 3.681,3.678 l 43.255,0.004 0,96.631 0.002,0 c 0,2.032 1.65,3.681 3.679,3.681 2.033,0 3.684,-1.649 3.684,-3.681 L 50.62,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3072" /></g><g
+           id="g3074"
+           transform="translate(257.1143,101.0381)"><path
+             d="m 0,0 c -1.728,1.074 -2.259,3.342 -1.184,5.071 l 24.291,39.141 0,26.1 0.002,0 c 0,2.032 1.646,3.682 3.681,3.682 2.033,0 3.682,-1.65 3.682,-3.682 l 0,-28.201 L 5.071,1.189 C 4.372,0.063 3.171,-0.552 1.939,-0.552 1.276,-0.552 0.604,-0.375 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3076" /></g><g
+           id="g3078"
+           transform="translate(259.4902,40.251)"><path
+             d="m 0,0 c -1.751,1.034 -2.338,3.29 -1.308,5.042 l 17.897,30.427 0.002,61.575 c 0,2.034 1.649,3.684 3.682,3.684 2.031,0 3.681,-1.65 3.681,-3.684 l 0,-63.58 L 5.04,1.31 5.04,1.308 C 4.352,0.141 3.123,-0.508 1.864,-0.508 1.23,-0.508 0.587,-0.341 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3080" /></g><g
+           id="g3082"
+           transform="translate(295.8657,133.6162)"><path
+             d="m 0,0 c -2.032,0 -3.68,1.648 -3.68,3.679 0,2.035 1.648,3.684 3.68,3.684 l 119.181,0 c 2.034,0 3.679,-1.649 3.679,-3.684 C 122.86,1.648 121.215,0 119.181,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3084" /></g><g
+           id="g3086"
+           transform="translate(300.0078,153.8618)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.65 -3.679,3.682 0,2.034 1.647,3.683 3.679,3.683 l 52.918,0 c 2.034,0 3.683,-1.649 3.683,-3.683 C 56.601,1.65 54.952,0 52.918,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3088" /></g><g
+           id="g3090"
+           transform="translate(300.0078,116.5898)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.646 -3.679,3.682 0,2.031 1.647,3.682 3.679,3.682 l 52,0 c 2.032,0 3.68,-1.651 3.68,-3.682 C 55.68,1.646 54.032,0 52,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3092" /></g><g
+           id="g3094"
+           transform="translate(300.0078,99.5669)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.647 -3.679,3.679 0,2.035 1.647,3.68 3.679,3.68 l 52,0 c 2.032,0 3.68,-1.645 3.68,-3.68 C 55.68,1.647 54.032,0 52,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3096" /></g><g
+           id="g3098"
+           transform="translate(303.6885,62.7539)"><path
+             d="m 0,0 44.637,-0.001 0,20.708 L 0,20.707 0,0 z m 44.637,-24.85 0,17.488 -51.997,0 0,35.43 59.356,0 0,-31.75 0,-21.168 0.004,0 c 0,-2.03 -1.649,-3.681 -3.681,-3.681 -2.036,0 -3.682,1.651 -3.682,3.681"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3100" /></g><g
+           id="g3102"
+           transform="translate(373.6348,117.5122)"><path
+             d="M 0,0 0,3.682 0,0 z m 3.679,-11.503 33.131,0 0,11.503 -33.131,0 0,-11.503 z m -7.361,-7.363 0,22.548 0,3.679 47.854,0 0,-26.227 -47.854,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3104" /></g><g
+           id="g3106"
+           transform="translate(390.6577,63.6728)"><path
+             d="m 0,0 0,106.756 c 0,2.034 1.648,3.681 3.684,3.681 2.032,0 3.679,-1.647 3.679,-3.681 L 7.363,0 C 7.363,-2.034 5.716,-3.682 3.684,-3.682 1.648,-3.682 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3108" /></g><g
+           id="g3110"
+           transform="translate(356.6084,77.4766)"><path
+             d="m 0,0 c 0,2.034 1.645,3.682 3.681,3.682 l 15.513,0 15.473,23.211 c 1.127,1.691 3.414,2.147 5.105,1.02 1.694,-1.129 2.149,-3.414 1.022,-5.105 L 23.137,-3.679 3.681,-3.683 C 1.645,-3.683 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3112" /></g><g
+           id="g3114"
+           transform="translate(404.9238,74.7148)"><path
+             d="m 0,0 0,27.61 c 0,2.036 1.647,3.684 3.683,3.684 2.03,0 3.678,-1.648 3.678,-3.684 L 7.361,0 C 7.361,-2.03 5.713,-3.681 3.683,-3.681 1.647,-3.681 0,-2.03 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3116" /></g><g
+           id="g3118"
+           transform="translate(409.5255,153.8618)"><path
+             d="m 0,0 c -2.034,0 -3.679,1.65 -3.679,3.684 0,2.032 1.645,3.679 3.679,3.679 l 54.298,0 0,20.833 c 0,2.03 1.649,3.679 3.681,3.679 2.03,0 3.682,-1.649 3.682,-3.679 L 61.661,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3120" /></g><path
+           d="m 429.77,83 34.054,0 0,50.616 -34.054,0 0,-50.616 z m -7.362,-7.361 0,62.974 17.397,21.261 0.003,0 c 1.287,1.574 3.605,1.807 5.179,0.52 1.575,-1.287 1.805,-3.609 0.52,-5.183 l -11.648,-14.232 37.328,0 0,-65.34 -48.779,0 z"
+           style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           id="path3122" /><g
+           id="g3124"
+           transform="translate(426.0903,114.2891)"><path
+             d="m 0,0 c -2.034,0 -3.68,1.648 -3.68,3.681 0,2.034 1.646,3.682 3.68,3.682 l 41.414,0 c 2.03,0 3.682,-1.648 3.682,-3.682 C 45.096,1.648 43.444,0 41.414,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3126" /></g><g
+           id="g3128"
+           transform="translate(426.0903,94.9624)"><path
+             d="m 0,0 c -2.034,0 -3.68,1.648 -3.68,3.684 0,2.032 1.646,3.679 3.68,3.679 l 41.414,0 c 2.03,0 3.682,-1.647 3.682,-3.679 C 45.096,1.648 43.444,0 41.414,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3130" /></g><g
+           id="g3132"
+           transform="translate(380.9961,50.7886)"><path
+             d="m 0,0 c 0,2.032 1.648,3.682 3.682,3.682 l 39.064,0 11.437,24.56 c 0.854,1.844 3.046,2.644 4.889,1.782 1.841,-0.855 2.639,-3.045 1.782,-4.892 L 47.439,-3.681 3.682,-3.683 C 1.648,-3.683 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3134" /></g><g
+           id="g3136"
+           transform="translate(453.2397,37.9038)"><path
+             d="m 0,0 0,41.414 c 0,2.034 1.648,3.682 3.684,3.682 2.028,0 3.679,-1.648 3.679,-3.682 L 7.363,0 C 7.363,-2.03 5.712,-3.681 3.684,-3.681 1.648,-3.681 0,-2.03 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3138" /></g><g
+           id="g3140"
+           transform="translate(479.9297,140.979)"><path
+             d="m 0,0 c -2.034,0 -3.683,1.648 -3.683,3.684 0,2.029 1.649,3.677 3.683,3.677 l 42.795,0 c 2.031,0 3.679,-1.648 3.679,-3.677 C 46.474,1.648 44.826,0 42.795,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3142" /></g><g
+           id="g3144"
+           transform="translate(459.6821,79.3174)"><path
+             d="m 0,0 c 0,2.032 1.646,3.683 3.68,3.683 l 5.99,0 30.741,62.368 0.003,-0.003 c 0.897,1.827 3.103,2.574 4.926,1.678 1.825,-0.901 2.577,-3.108 1.678,-4.93 L 14.254,-3.679 3.68,-3.68 C 1.646,-3.68 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3146" /></g><path
+           d="m 497.412,83 21.629,0 0,29.907 -21.629,0 0,-29.907 z m -7.363,-34.053 0,30.37 0,40.955 36.355,0 0,-44.633 -28.992,-0.002 0,-26.69 c 0,-2.032 -1.647,-3.682 -3.68,-3.682 -2.033,0 -3.683,1.65 -3.683,3.682"
+           style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           id="path3148" /><g
+           id="g3150"
+           transform="translate(531.4644,153.8618)"><path
+             d="m 0,0 c 0,2.034 1.648,3.682 3.683,3.682 l 46.016,0 0,24.514 c 0,2.032 1.647,3.679 3.681,3.679 2.029,0 3.682,-1.647 3.682,-3.679 l 0,-31.875 -53.379,0 0,-0.003 C 1.648,-3.682 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3152" /></g><g
+           id="g3154"
+           transform="translate(531.0049,112.9072)"><path
+             d="m 0,0 c -2.032,0 -3.682,1.652 -3.682,3.683 0,2.033 1.65,3.682 3.682,3.682 l 99.395,0 c 2.032,0 3.679,-1.649 3.679,-3.682 C 103.074,1.652 101.427,0 99.395,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3156" /></g><g
+           id="g3158"
+           transform="translate(528.7994,59.8086)"><path
+             d="m 0,0 c -1.628,1.22 -1.96,3.525 -0.738,5.155 l 11.687,15.583 0,73.315 c 0,2.034 1.648,3.682 3.68,3.682 2.034,0 3.683,-1.648 3.683,-3.682 l 0,-75.769 L 5.152,0.733 C 4.427,-0.229 3.323,-0.738 2.203,-0.738 1.432,-0.737 0.659,-0.499 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3160" /></g><g
+           id="g3162"
+           transform="translate(568.7383,36.9849)"><path
+             d="m 0,0 0,116.877 c 0,2.034 1.644,3.682 3.681,3.682 2.035,0 3.682,-1.648 3.682,-3.682 L 7.363,0 C 7.363,-2.036 5.716,-3.681 3.681,-3.681 1.644,-3.681 0,-2.036 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3164" /></g><g
+           id="g3166"
+           transform="translate(168.8662,160.3042)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.144,-4.142 -2.285,0 -4.138,1.853 -4.138,4.142 0,2.289 1.853,4.142 4.138,4.142 C -1.854,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3168" /></g><g
+           id="g3170"
+           transform="translate(162.4238,160.3042)"><path
+             d="M 0,0 C 0.003,-1.268 1.032,-2.297 2.299,-2.3 3.57,-2.297 4.6,-1.268 4.601,0 4.6,1.27 3.57,2.301 2.299,2.302 1.032,2.301 0.003,1.27 0,0 m -3.683,0 c 0.002,3.306 2.68,5.981 5.982,5.985 C 5.606,5.981 8.282,3.306 8.282,0 8.282,-3.304 5.606,-5.979 2.299,-5.981 -1.003,-5.979 -3.681,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3172" /></g><g
+           id="g3174"
+           transform="translate(55.2051,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.14,-4.142 -2.285,0 -4.14,1.853 -4.14,4.142 0,2.285 1.855,4.14 4.14,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3176" /></g><g
+           id="g3178"
+           transform="translate(48.7646,137.2983)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.299 2.3,-2.302 3.574,-2.299 4.599,-1.27 4.603,0 4.599,1.268 3.574,2.295 2.3,2.302 1.031,2.295 0.003,1.268 0,0 m -3.681,0 c 0.004,3.304 2.678,5.981 5.981,5.981 3.306,0 5.983,-2.677 5.983,-5.981 0,-3.307 -2.677,-5.983 -5.983,-5.983 -3.303,0 -5.977,2.676 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3180" /></g><g
+           id="g3182"
+           transform="translate(71.772,113.8301)"><path
+             d="m 0,0 c 0,-2.291 -1.852,-4.14 -4.138,-4.14 -2.289,0 -4.142,1.849 -4.142,4.14 0,2.285 1.853,4.14 4.142,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3184" /></g><g
+           id="g3186"
+           transform="translate(65.333,113.8301)"><path
+             d="M 0,0 C 0.002,-1.27 1.029,-2.297 2.301,-2.301 3.569,-2.297 4.596,-1.27 4.598,0 4.596,1.271 3.569,2.3 2.301,2.3 1.029,2.3 0.002,1.271 0,0 m -3.681,0 c 0,3.304 2.675,5.979 5.982,5.981 C 5.603,5.979 8.278,3.304 8.28,0 8.278,-3.306 5.603,-5.981 2.301,-5.981 c -3.307,0 -5.982,2.675 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3188" /></g><g
+           id="g3190"
+           transform="translate(35.4204,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.853,-4.142 -4.142,-4.142 -2.285,0 -4.138,1.853 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.853,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3192" /></g><g
+           id="g3194"
+           transform="translate(28.98,70.1152)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.299 2.3,-2.3 3.57,-2.299 4.598,-1.27 4.599,0 4.598,1.27 3.57,2.297 2.3,2.302 1.029,2.297 0.001,1.27 0,0 m -3.681,0 c 0,3.304 2.676,5.981 5.981,5.983 C 5.604,5.981 8.28,3.304 8.282,0 8.28,-3.304 5.604,-5.983 2.3,-5.983 c -3.305,0 -5.981,2.679 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3196" /></g><g
+           id="g3198"
+           transform="translate(80.5166,162.147)"><path
+             d="m 0,0 c 0,-2.29 -1.853,-4.143 -4.142,-4.143 -2.287,0 -4.14,1.853 -4.14,4.143 0,2.287 1.853,4.138 4.14,4.138 C -1.853,4.138 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3200" /></g><g
+           id="g3202"
+           transform="translate(74.0742,162.147)"><path
+             d="M 0,0 C 0.002,-1.271 1.029,-2.299 2.302,-2.3 3.569,-2.299 4.6,-1.271 4.601,0 4.6,1.268 3.569,2.297 2.302,2.301 1.029,2.297 0.002,1.268 0,0 m -3.679,0 c 0,3.3 2.674,5.979 5.981,5.979 3.302,0 5.98,-2.679 5.98,-5.979 0,-3.305 -2.678,-5.983 -5.98,-5.984 -3.307,0.001 -5.981,2.679 -5.981,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3204" /></g><g
+           id="g3206"
+           transform="translate(149.5425,119.811)"><path
+             d="m 0,0 c 0,-2.287 -1.856,-4.142 -4.145,-4.142 -2.285,0 -4.142,1.855 -4.142,4.142 0,2.289 1.857,4.143 4.142,4.143 C -1.856,4.143 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3208" /></g><g
+           id="g3210"
+           transform="translate(143.0952,119.811)"><path
+             d="M 0,0 C 0.005,-1.27 1.032,-2.297 2.302,-2.302 3.574,-2.297 4.603,-1.27 4.603,0 4.603,1.27 3.574,2.299 2.302,2.302 1.032,2.299 0.005,1.27 0,0 M -3.681,0 C -3.677,3.305 -1.003,5.979 2.302,5.981 5.606,5.979 8.282,3.305 8.283,0 8.282,-3.306 5.606,-5.979 2.302,-5.981 -1.003,-5.979 -3.677,-3.306 -3.681,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3212" /></g><g
+           id="g3214"
+           transform="translate(132.5146,41.5845)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.14 -4.142,-4.14 -2.288,0 -4.142,1.851 -4.142,4.14 0,2.287 1.854,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3216" /></g><g
+           id="g3218"
+           transform="translate(126.0723,41.5859)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.3 2.3,-2.302 3.572,-2.3 4.594,-1.27 4.601,0 4.594,1.27 3.572,2.297 2.3,2.303 1.029,2.297 0.001,1.27 0,0 m -3.679,0 c 0,3.304 2.674,5.981 5.979,5.981 C 5.604,5.981 8.28,3.304 8.282,0 8.28,-3.307 5.604,-5.981 2.3,-5.984 -1.005,-5.981 -3.679,-3.307 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3220" /></g><g
+           id="g3222"
+           transform="translate(130.6733,182.0576)"><path
+             d="m 0,0 c 0,-2.291 -1.856,-4.144 -4.14,-4.144 -2.287,0 -4.144,1.853 -4.144,4.144 0,2.287 1.857,4.14 4.144,4.14 C -1.856,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3224" /></g><g
+           id="g3226"
+           transform="translate(124.231,182.0576)"><path
+             d="M 0,0 C 0.002,-1.273 1.031,-2.301 2.302,-2.303 3.571,-2.301 4.596,-1.273 4.601,0 4.596,1.266 3.571,2.295 2.302,2.299 1.031,2.295 0.002,1.266 0,0 m -3.681,0 c 0,3.304 2.678,5.981 5.983,5.981 3.301,0 5.98,-2.677 5.98,-5.981 0,-3.308 -2.679,-5.983 -5.98,-5.983 -3.305,0 -5.983,2.675 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3228" /></g><g
+           id="g3230"
+           transform="translate(164.2666,109.227)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.14 -4.145,-4.14 -2.285,0 -4.14,1.851 -4.14,4.14 0,2.289 1.855,4.143 4.14,4.143 C -1.855,4.143 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3232" /></g><g
+           id="g3234"
+           transform="translate(157.8227,109.227)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.299 2.299,-2.301 3.57,-2.299 4.598,-1.27 4.601,0 4.598,1.271 3.57,2.297 2.299,2.302 1.029,2.297 0.001,1.271 0,0 m -3.683,0 c 0,3.305 2.68,5.984 5.982,5.984 3.304,0 5.983,-2.679 5.983,-5.984 0,-3.304 -2.679,-5.981 -5.983,-5.981 -3.302,0 -5.982,2.677 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3236" /></g><g
+           id="g3238"
+           transform="translate(170.7056,91.2817)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.14,-4.142 -2.289,0 -4.142,1.855 -4.142,4.142 0,2.287 1.853,4.14 4.142,4.14 C -1.853,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3240" /></g><g
+           id="g3242"
+           transform="translate(164.2666,91.2817)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.295 2.299,-2.301 3.569,-2.295 4.594,-1.27 4.6,0 4.594,1.27 3.569,2.297 2.299,2.302 1.029,2.297 0,1.27 0,0 M -3.684,0 C -3.682,3.304 -1.006,5.978 2.299,5.983 5.603,5.978 8.278,3.304 8.278,0 c 0,-3.306 -2.675,-5.981 -5.979,-5.981 -3.305,0 -5.981,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3244" /></g><g
+           id="g3246"
+           transform="translate(218.5615,160.3042)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.142 -4.138,-4.142 -2.289,0 -4.142,1.853 -4.142,4.142 0,2.289 1.853,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3248" /></g><g
+           id="g3250"
+           transform="translate(212.1211,160.3076)"><path
+             d="M 0,0 C 0.002,-1.273 1.031,-2.302 2.302,-2.304 3.57,-2.302 4.6,-1.273 4.601,0 4.6,1.267 3.57,2.297 2.302,2.297 1.031,2.297 0.002,1.267 0,0 m -3.682,0 c 0,3.302 2.679,5.978 5.984,5.978 C 5.606,5.978 8.28,3.302 8.282,0 8.28,-3.307 5.606,-5.981 2.302,-5.984 -1.003,-5.981 -3.682,-3.307 -3.682,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3252" /></g><g
+           id="g3254"
+           transform="translate(234.2065,145.5801)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.139,-4.142 -2.288,0 -4.143,1.853 -4.143,4.142 0,2.287 1.855,4.142 4.143,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3256" /></g><g
+           id="g3258"
+           transform="translate(227.7676,145.5801)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.299 2.297,-2.3 3.568,-2.299 4.596,-1.27 4.599,0 4.596,1.271 3.568,2.299 2.297,2.299 1.029,2.299 0,1.271 0,0 m -3.683,0 c 0,3.306 2.678,5.981 5.98,5.983 C 5.603,5.981 8.28,3.306 8.28,0 8.28,-3.304 5.603,-5.979 2.297,-5.981 -1.005,-5.979 -3.683,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3260" /></g><g
+           id="g3262"
+           transform="translate(207.9795,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.142 -4.142,-4.142 -2.287,0 -4.142,1.853 -4.142,4.142 0,2.287 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3264" /></g><g
+           id="g3266"
+           transform="translate(201.5351,70.1152)"><path
+             d="m 0,0 c 0.005,-1.27 1.031,-2.299 2.302,-2.3 1.272,10e-4 2.3,1.03 2.3,2.3 0,1.27 -1.028,2.297 -2.3,2.302 C 1.031,2.297 0.005,1.27 0,0 m -3.679,0 c 0,3.304 2.676,5.981 5.981,5.983 C 5.606,5.981 8.284,3.304 8.284,0 c 0,-3.304 -2.678,-5.983 -5.982,-5.983 -3.305,0 -5.981,2.679 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3268" /></g><g
+           id="g3270"
+           transform="translate(234.2065,104.1665)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.139,-4.142 -2.288,0 -4.143,1.855 -4.143,4.142 0,2.287 1.855,4.143 4.143,4.143 C -1.854,4.143 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3272" /></g><g
+           id="g3274"
+           transform="translate(227.7642,104.1665)"><path
+             d="M 0,0 C 0.003,-1.27 1.032,-2.299 2.3,-2.301 3.57,-2.299 4.601,-1.27 4.601,0 4.601,1.27 3.57,2.297 2.3,2.304 1.032,2.297 0.003,1.27 0,0 m -3.679,0 c 0,3.304 2.678,5.979 5.979,5.981 C 5.606,5.979 8.283,3.304 8.283,0 c 0,-3.306 -2.677,-5.981 -5.983,-5.981 -3.301,0 -5.979,2.675 -5.979,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3276" /></g><g
+           id="g3278"
+           transform="translate(182.6714,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.857,-4.142 -4.142,-4.142 -2.287,0 -4.143,1.853 -4.143,4.142 0,2.287 1.856,4.142 4.143,4.142 C -1.857,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3280" /></g><g
+           id="g3282"
+           transform="translate(176.229,70.1152)"><path
+             d="M 0,0 C 0.001,-1.27 1.032,-2.299 2.299,-2.3 3.57,-2.299 4.6,-1.27 4.603,0 4.6,1.27 3.57,2.297 2.299,2.302 1.032,2.297 0.001,1.27 0,0 m -3.684,0 c 0,3.304 2.679,5.981 5.983,5.983 C 5.604,5.981 8.278,3.304 8.28,0 8.278,-3.304 5.604,-5.983 2.299,-5.983 c -3.304,0 -5.983,2.679 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3284" /></g><g
+           id="g3286"
+           transform="translate(265.4971,43.4258)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.14,-4.142 -2.287,0 -4.142,1.855 -4.142,4.142 0,2.288 1.855,4.142 4.142,4.142 C -1.853,4.142 0,2.288 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3288" /></g><g
+           id="g3290"
+           transform="translate(259.0552,43.4258)"><path
+             d="M 0,0 C 0.001,-1.269 1.03,-2.297 2.302,-2.301 3.572,-2.297 4.599,-1.269 4.603,0 4.599,1.271 3.572,2.3 2.302,2.302 1.03,2.3 0.001,1.271 0,0 m -3.681,0 c 0,3.305 2.676,5.981 5.983,5.981 3.305,0 5.981,-2.676 5.981,-5.981 0,-3.304 -2.676,-5.979 -5.981,-5.981 -3.307,0.002 -5.983,2.677 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3292" /></g><g
+           id="g3294"
+           transform="translate(254.915,170.4287)"><path
+             d="m 0,0 c 0,-2.288 -1.855,-4.144 -4.142,-4.144 -2.287,0 -4.142,1.856 -4.142,4.144 0,2.285 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3296" /></g><g
+           id="g3298"
+           transform="translate(248.4746,170.4287)"><path
+             d="M 0,0 C 0.001,-1.271 1.029,-2.297 2.297,-2.3 3.568,-2.297 4.596,-1.271 4.598,0 4.596,1.27 3.568,2.299 2.297,2.301 1.029,2.299 0.001,1.27 0,0 m -3.683,0 c 0,3.304 2.676,5.983 5.98,5.983 C 5.604,5.983 8.28,3.304 8.28,0 8.28,-3.305 5.604,-5.981 2.297,-5.983 -1.007,-5.981 -3.683,-3.305 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3300" /></g><g
+           id="g3302"
+           transform="translate(288.0454,171.3496)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.14 -4.142,-4.14 -2.287,0 -4.14,1.853 -4.14,4.14 0,2.285 1.853,4.142 4.14,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3304" /></g><g
+           id="g3306"
+           transform="translate(281.603,171.3496)"><path
+             d="M 0,0 C 0,-1.271 1.029,-2.299 2.301,-2.301 3.57,-2.299 4.6,-1.271 4.601,0 4.6,1.271 3.57,2.299 2.301,2.299 1.029,2.299 0,1.271 0,0 m -3.679,0 c 0,3.304 2.676,5.981 5.98,5.981 3.305,0 5.983,-2.677 5.983,-5.981 0,-3.306 -2.678,-5.981 -5.983,-5.981 -3.304,0 -5.98,2.675 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3308" /></g><g
+           id="g3310"
+           transform="translate(263.1968,104.1665)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.142,-4.142 -2.288,0 -4.14,1.855 -4.14,4.142 0,2.287 1.852,4.143 4.14,4.143 C -1.853,4.143 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3312" /></g><g
+           id="g3314"
+           transform="translate(256.7545,104.1665)"><path
+             d="M 0,0 C 0,-1.27 1.031,-2.299 2.301,-2.301 3.57,-2.299 4.6,-1.27 4.603,0 4.6,1.27 3.57,2.299 2.301,2.304 1.031,2.299 0,1.27 0,0 m -3.682,0 c 0,3.304 2.679,5.979 5.983,5.981 C 5.604,5.979 8.282,3.304 8.284,0 8.282,-3.306 5.604,-5.981 2.301,-5.981 c -3.304,0 -5.983,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3316" /></g><g
+           id="g3318"
+           transform="translate(304.1528,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.145,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3320" /></g><g
+           id="g3322"
+           transform="translate(297.707,157.5439)"><path
+             d="M 0,0 C 0.003,-1.271 1.033,-2.295 2.301,-2.302 3.572,-2.295 4.601,-1.271 4.604,0 4.601,1.27 3.572,2.299 2.301,2.303 1.033,2.299 0.003,1.27 0,0 m -3.679,0 c 0,3.304 2.673,5.979 5.98,5.981 C 5.606,5.979 8.284,3.304 8.285,0 8.284,-3.304 5.606,-5.981 2.301,-5.981 c -3.307,0 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3324" /></g><g
+           id="g3326"
+           transform="translate(357.0693,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.143,-4.142 -2.287,0 -4.14,1.855 -4.14,4.142 0,2.287 1.853,4.142 4.14,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3328" /></g><g
+           id="g3330"
+           transform="translate(350.6255,157.5439)"><path
+             d="M 0,0 C 0.002,-1.268 1.033,-2.3 2.297,-2.302 3.571,-2.3 4.6,-1.271 4.603,0 4.6,1.27 3.571,2.299 2.297,2.303 1.033,2.299 0.002,1.27 0,0 M -3.682,0 C -3.68,3.304 -1.003,5.979 2.297,5.981 5.604,5.979 8.282,3.304 8.282,0 c 0,-3.304 -2.678,-5.981 -5.985,-5.981 -3.3,0 -5.977,2.677 -5.979,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3332" /></g><g
+           id="g3334"
+           transform="translate(300.0078,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.138,-4.142 -2.289,0 -4.142,1.853 -4.142,4.142 0,2.285 1.853,4.14 4.142,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3336" /></g><g
+           id="g3338"
+           transform="translate(293.5669,137.2949)"><path
+             d="M 0,0 C 0.002,-1.267 1.029,-2.295 2.303,-2.299 3.572,-2.295 4.6,-1.267 4.602,0 4.6,1.273 3.572,2.299 2.303,2.304 1.029,2.299 0.002,1.273 0,0 m -3.68,0 c 0,3.307 2.677,5.981 5.983,5.985 C 5.604,5.981 8.28,3.307 8.284,0 8.28,-3.304 5.604,-5.978 2.303,-5.979 -1.003,-5.978 -3.68,-3.304 -3.68,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3340" /></g><g
+           id="g3342"
+           transform="translate(419.1885,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.142,-4.142 -2.285,0 -4.139,1.853 -4.139,4.142 0,2.285 1.854,4.14 4.139,4.14 C -1.854,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3344" /></g><g
+           id="g3346"
+           transform="translate(412.7461,137.2983)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.299 2.299,-2.302 3.571,-2.299 4.598,-1.27 4.602,0 4.598,1.27 3.571,2.295 2.299,2.302 1.029,2.295 0,1.27 0,0 m -3.679,0 c 0,3.306 2.674,5.978 5.978,5.981 C 5.608,5.978 8.284,3.302 8.284,0 8.284,-3.305 5.608,-5.981 2.299,-5.983 -1.005,-5.981 -3.679,-3.307 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3348" /></g><g
+           id="g3350"
+           transform="translate(304.1528,120.272)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.145,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.14 4.138,4.14 C -1.855,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3352" /></g><g
+           id="g3354"
+           transform="translate(297.707,120.272)"><path
+             d="M 0,0 C 0.003,-1.268 1.033,-2.299 2.301,-2.302 3.572,-2.299 4.601,-1.268 4.604,0 4.601,1.268 3.572,2.299 2.301,2.301 1.033,2.299 0.003,1.268 0,0 m -3.679,0 c 0,3.306 2.673,5.978 5.98,5.983 C 5.606,5.978 8.284,3.306 8.285,0 8.284,-3.304 5.606,-5.978 2.301,-5.981 -1.006,-5.978 -3.679,-3.304 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3356" /></g><g
+           id="g3358"
+           transform="translate(304.1528,103.2456)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.143 -4.145,-4.143 -2.285,0 -4.138,1.854 -4.138,4.143 0,2.287 1.853,4.144 4.138,4.144 C -1.855,4.144 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3360" /></g><g
+           id="g3362"
+           transform="translate(297.707,103.2456)"><path
+             d="M 0,0 C 0.003,-1.27 1.033,-2.297 2.301,-2.299 3.572,-2.297 4.601,-1.27 4.604,0 4.601,1.272 3.572,2.299 2.301,2.302 1.033,2.299 0.003,1.272 0,0 m -3.679,0 c 0,3.304 2.673,5.979 5.98,5.981 C 5.606,5.979 8.284,3.304 8.285,0 8.284,-3.304 5.606,-5.981 2.301,-5.981 c -3.307,0 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3364" /></g><g
+           id="g3366"
+           transform="translate(356.1475,37.9038)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.14,-4.142 -2.291,0 -4.14,1.853 -4.14,4.142 0,2.287 1.849,4.14 4.14,4.14 C -1.852,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3368" /></g><g
+           id="g3370"
+           transform="translate(349.7051,37.9038)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.297 2.301,-2.299 3.57,-2.297 4.601,-1.27 4.603,0 4.601,1.271 3.57,2.299 2.301,2.3 1.032,2.299 0,1.268 0,0 M -3.683,0 C -3.681,3.305 -1.005,5.979 2.301,5.985 5.606,5.979 8.282,3.305 8.282,0 c 0,-3.304 -2.676,-5.981 -5.981,-5.981 -3.304,0 -5.982,2.677 -5.984,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3372" /></g><g
+           id="g3374"
+           transform="translate(356.1475,120.272)"><path
+             d="m 0,0 c 0,-2.287 -1.852,-4.142 -4.14,-4.142 -2.291,0 -4.14,1.855 -4.14,4.142 0,2.287 1.849,4.14 4.14,4.14 C -1.852,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3376" /></g><g
+           id="g3378"
+           transform="translate(349.7051,120.272)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.299 2.301,-2.302 3.57,-2.299 4.601,-1.27 4.603,0 4.601,1.27 3.57,2.299 2.301,2.301 1.032,2.299 0,1.268 0,0 M -3.683,0 C -3.681,3.306 -1.005,5.979 2.301,5.983 5.606,5.979 8.282,3.306 8.282,0 8.282,-3.302 5.606,-5.979 2.301,-5.983 -1.005,-5.979 -3.681,-3.305 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3380" /></g><g
+           id="g3382"
+           transform="translate(356.1475,103.2456)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.143 -4.14,-4.143 -2.291,0 -4.14,1.854 -4.14,4.143 0,2.287 1.849,4.144 4.14,4.144 C -1.852,4.144 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3384" /></g><g
+           id="g3386"
+           transform="translate(349.7051,103.2456)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.297 2.301,-2.299 3.57,-2.297 4.601,-1.27 4.603,0 4.601,1.272 3.57,2.299 2.301,2.302 1.032,2.299 0,1.272 0,0 M -3.683,0 C -3.681,3.306 -1.005,5.979 2.301,5.981 5.606,5.979 8.282,3.306 8.282,0 8.282,-3.304 5.606,-5.981 2.301,-5.983 -1.005,-5.981 -3.681,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3388" /></g><g
+           id="g3390"
+           transform="translate(364.4292,77.4766)"><path
+             d="m 0,0 c 0,-2.287 -1.852,-4.14 -4.14,-4.14 -2.285,0 -4.142,1.853 -4.142,4.14 0,2.289 1.857,4.142 4.142,4.142 C -1.852,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3392" /></g><g
+           id="g3394"
+           transform="translate(357.9868,77.4785)"><path
+             d="M 0,0 C 0.003,-1.272 1.034,-2.299 2.302,-2.301 3.572,-2.299 4.601,-1.272 4.601,0 4.601,1.271 3.572,2.297 2.302,2.299 1.034,2.297 0.003,1.268 0,0 m -3.679,0 c 0,3.304 2.676,5.979 5.981,5.982 3.306,0 5.982,-2.678 5.982,-5.982 0,-3.306 -2.676,-5.981 -5.982,-5.981 -3.305,0 -5.981,2.675 -5.981,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3396" /></g><g
+           id="g3398"
+           transform="translate(398.4834,63.6728)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.144,-4.142 -2.285,0 -4.141,1.855 -4.141,4.142 0,2.287 1.856,4.142 4.141,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3400" /></g><g
+           id="g3402"
+           transform="translate(392.0376,63.6728)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.297 2.302,-2.302 3.574,-2.297 4.6,-1.271 4.606,0 4.6,1.271 3.574,2.297 2.302,2.301 1.031,2.297 0.003,1.271 0,0 m -3.68,0 c 0,3.306 2.679,5.979 5.982,5.983 C 5.608,5.979 8.284,3.304 8.284,0 8.284,-3.305 5.608,-5.979 2.302,-5.982 -1.001,-5.979 -3.68,-3.305 -3.68,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3404" /></g><g
+           id="g3406"
+           transform="translate(388.8185,50.7886)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.14,-4.142 -2.289,0 -4.142,1.855 -4.142,4.142 0,2.287 1.853,4.142 4.142,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3408" /></g><g
+           id="g3410"
+           transform="translate(382.376,50.7886)"><path
+             d="M 0,0 C 0.002,-1.27 1.032,-2.299 2.302,-2.301 3.57,-2.299 4.6,-1.272 4.601,0 4.6,1.271 3.57,2.297 2.302,2.3 1.032,2.297 0.002,1.266 0,0 m -3.679,0 c 0,3.305 2.676,5.981 5.981,5.981 3.306,0 5.98,-2.677 5.98,-5.981 0,-3.306 -2.674,-5.981 -5.98,-5.981 -3.305,0.002 -5.981,2.675 -5.981,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3412" /></g><g
+           id="g3414"
+           transform="translate(461.0635,37.9038)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.142,-4.142 -2.286,0 -4.143,1.853 -4.143,4.142 0,2.287 1.857,4.14 4.143,4.14 C -1.854,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3416" /></g><g
+           id="g3418"
+           transform="translate(454.6216,37.9038)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.297 2.3,-2.299 3.57,-2.297 4.598,-1.27 4.603,0 4.598,1.27 3.57,2.299 2.3,2.3 1.031,2.299 0,1.27 0,0 m -3.683,0 c 0,3.307 2.678,5.983 5.983,5.983 C 5.603,5.983 8.282,3.307 8.282,0 8.282,-3.304 5.603,-5.979 2.3,-5.981 -1.001,-5.979 -3.683,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3420" /></g><g
+           id="g3422"
+           transform="translate(398.4834,170.4287)"><path
+             d="m 0,0 c 0,-2.288 -1.855,-4.144 -4.144,-4.144 -2.285,0 -4.141,1.856 -4.141,4.144 0,2.285 1.856,4.142 4.141,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3424" /></g><g
+           id="g3426"
+           transform="translate(392.0376,170.4287)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.297 2.302,-2.3 3.574,-2.297 4.6,-1.271 4.606,0 4.6,1.27 3.574,2.299 2.302,2.299 1.031,2.299 0.003,1.27 0,0 m -3.68,0 c 0,3.306 2.679,5.981 5.982,5.981 3.306,0 5.982,-2.679 5.982,-5.981 0,-3.305 -2.676,-5.981 -5.982,-5.981 -3.303,0 -5.982,2.676 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3428" /></g><g
+           id="g3430"
+           transform="translate(413.665,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.14,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3432" /></g><g
+           id="g3434"
+           transform="translate(407.2246,157.5459)"><path
+             d="M 0,0 C 0,-1.271 1.032,-2.297 2.301,-2.304 3.572,-2.297 4.596,-1.273 4.601,0 4.596,1.268 3.572,2.297 2.301,2.299 1.032,2.297 0,1.268 0,0 m -3.682,0 c 0,3.306 2.677,5.978 5.983,5.981 C 5.604,5.978 8.278,3.302 8.278,0 8.278,-3.306 5.604,-5.983 2.301,-5.983 -1.005,-5.981 -3.682,-3.306 -3.682,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3436" /></g><g
+           id="g3438"
+           transform="translate(471.6475,182.0576)"><path
+             d="m 0,0 c 0,-2.291 -1.854,-4.144 -4.143,-4.144 -2.287,0 -4.142,1.853 -4.142,4.144 0,2.287 1.855,4.14 4.142,4.14 C -1.854,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3440" /></g><g
+           id="g3442"
+           transform="translate(465.2036,182.0576)"><path
+             d="M 0,0 C 0.002,-1.27 1.033,-2.301 2.301,-2.303 3.572,-2.301 4.598,-1.27 4.605,0 4.598,1.27 3.572,2.295 2.301,2.299 1.033,2.295 0.002,1.266 0,0 m -3.682,0 c 0,3.304 2.679,5.981 5.983,5.981 3.303,0 5.983,-2.677 5.983,-5.981 0,-3.304 -2.68,-5.983 -5.983,-5.983 -3.304,0 -5.983,2.675 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3444" /></g><g
+           id="g3446"
+           transform="translate(484.0693,144.6611)"><path
+             d="m 0,0 c 0,-2.29 -1.853,-4.145 -4.14,-4.145 -2.287,0 -4.142,1.855 -4.142,4.145 0,2.287 1.855,4.139 4.142,4.139 C -1.853,4.139 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3448" /></g><g
+           id="g3450"
+           transform="translate(477.6269,144.6631)"><path
+             d="M 0,0 C 0.004,-1.271 1.033,-2.301 2.303,-2.306 3.572,-2.301 4.6,-1.275 4.602,0 4.6,1.268 3.572,2.294 2.303,2.299 1.033,2.294 0.004,1.268 0,0 m -3.679,0 c 0,3.304 2.674,5.978 5.982,5.979 3.303,0 5.979,-2.68 5.979,-5.979 0,-3.306 -2.676,-5.983 -5.979,-5.984 -3.308,0.001 -5.982,2.678 -5.982,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3452" /></g><g
+           id="g3454"
+           transform="translate(535.1471,62.7524)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.14,-4.142 -2.285,0 -4.142,1.855 -4.142,4.142 0,2.287 1.857,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3456" /></g><g
+           id="g3458"
+           transform="translate(528.7047,62.7539)"><path
+             d="M 0,0 C 0.003,-1.273 1.032,-2.297 2.302,-2.3 3.572,-2.297 4.599,-1.273 4.603,0 4.599,1.27 3.572,2.296 2.302,2.299 1.032,2.296 0.003,1.27 0,0 m -3.681,0 c 0,3.306 2.678,5.978 5.983,5.979 3.306,0 5.98,-2.677 5.98,-5.979 0,-3.305 -2.674,-5.982 -5.98,-5.982 -3.305,0.001 -5.983,2.675 -5.983,5.982"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3460" /></g><g
+           id="g3462"
+           transform="translate(576.5626,36.9849)"><path
+             d="m 0,0 c 0,-2.289 -1.856,-4.143 -4.144,-4.143 -2.285,0 -4.14,1.854 -4.14,4.143 0,2.287 1.855,4.14 4.14,4.14 C -1.856,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3464" /></g><g
+           id="g3466"
+           transform="translate(570.1168,36.9834)"><path
+             d="M 0,0 C 0.003,-1.27 1.036,-2.299 2.302,-2.301 3.572,-2.299 4.604,-1.271 4.604,0 4.604,1.271 3.572,2.3 2.302,2.302 1.036,2.3 0.003,1.27 0,0 M -3.682,0 C -3.679,3.305 -0.998,5.979 2.302,5.982 5.606,5.982 8.285,3.305 8.287,0 L 8.285,0 c 0,-3.302 -2.679,-5.979 -5.983,-5.979 -3.3,0 -5.981,2.675 -5.984,5.979"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3468" /></g><g
+           id="g3470"
+           transform="translate(526.8653,144.6611)"><path
+             d="m 0,0 c 0,-2.29 -1.854,-4.145 -4.14,-4.145 -2.289,0 -4.144,1.855 -4.144,4.145 0,2.287 1.855,4.139 4.144,4.139 C -1.854,4.139 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3472" /></g><g
+           id="g3474"
+           transform="translate(520.4194,144.6631)"><path
+             d="M 0,0 C 0.005,-1.275 1.032,-2.301 2.306,-2.304 3.574,-2.301 4.601,-1.275 4.604,0 4.601,1.268 3.574,2.297 2.306,2.299 1.032,2.297 0.005,1.265 0,0 m -3.679,0 c 0.002,3.304 2.678,5.978 5.985,5.979 3.3,0 5.979,-2.679 5.979,-5.979 0,-3.306 -2.679,-5.983 -5.979,-5.984 -3.307,0.001 -5.983,2.675 -5.985,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3476" /></g><g
+           id="g3478"
+           transform="translate(539.2887,153.8618)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.14 -4.142,-4.14 -2.285,0 -4.14,1.853 -4.14,4.14 0,2.287 1.855,4.142 4.14,4.142 C -1.853,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3480" /></g><g
+           id="g3482"
+           transform="translate(532.8448,153.8618)"><path
+             d="M 0,0 C 0.003,-1.27 1.034,-2.297 2.302,-2.299 3.574,-2.297 4.598,-1.271 4.604,0 4.598,1.272 3.574,2.297 2.302,2.301 1.034,2.297 0.003,1.27 0,0 m -3.681,0 c 0,3.306 2.678,5.983 5.983,5.983 3.304,0 5.981,-2.677 5.981,-5.983 0,-3.302 -2.677,-5.979 -5.981,-5.979 -3.305,0 -5.983,2.677 -5.983,5.979"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3484" /></g><g
+           id="g3486"
+           transform="translate(535.1471,116.5898)"><path
+             d="m 0,0 c 0,-2.285 -1.855,-4.14 -4.14,-4.14 -2.285,0 -4.142,1.855 -4.142,4.14 0,2.289 1.857,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3488" /></g><g
+           id="g3490"
+           transform="translate(528.7047,116.5898)"><path
+             d="M 0,0 C 0.003,-1.271 1.032,-2.295 2.302,-2.301 3.572,-2.295 4.599,-1.271 4.603,0 4.599,1.271 3.572,2.297 2.302,2.302 1.032,2.297 0.003,1.271 0,0 m -3.681,0 c 0,3.306 2.678,5.981 5.983,5.981 3.306,0 5.98,-2.677 5.98,-5.981 0,-3.302 -2.674,-5.981 -5.98,-5.981 -3.305,0.002 -5.983,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3492" /></g><g
+           id="g3494"
+           transform="translate(634.5416,116.5898)"><path
+             d="m 0,0 c 0,-2.285 -1.853,-4.14 -4.142,-4.14 -2.287,0 -4.142,1.855 -4.142,4.14 0,2.289 1.855,4.142 4.142,4.142 C -1.853,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3496" /></g><g
+           id="g3498"
+           transform="translate(628.0977,116.5918)"><path
+             d="M 0,0 C 0.001,-1.273 1.03,-2.297 2.302,-2.301 3.574,-2.297 4.596,-1.273 4.604,0 4.596,1.271 3.574,2.295 2.302,2.3 1.03,2.295 0.001,1.268 0,0 m -3.679,0 c 0,3.304 2.674,5.979 5.981,5.981 C 5.606,5.979 8.281,3.304 8.281,0 c 0,-3.306 -2.675,-5.983 -5.979,-5.983 -3.307,0 -5.981,2.675 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3500" /></g><g
+           id="g3502"
+           transform="translate(588.9845,182.0591)"><path
+             d="m 0,0 c 0,-2.291 -1.854,-4.145 -4.14,-4.145 -2.287,0 -4.142,1.854 -4.142,4.145 0,2.285 1.855,4.138 4.142,4.138 C -1.854,4.138 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3504" /></g><g
+           id="g3506"
+           transform="translate(582.54,182.0591)"><path
+             d="M 0,0 C 0.005,-1.27 1.034,-2.299 2.304,-2.304 3.576,-2.299 4.6,-1.271 4.604,0 4.6,1.267 3.576,2.297 2.304,2.3 1.034,2.297 0.005,1.267 0,0 m -3.681,0 c 0.004,3.302 2.68,5.979 5.985,5.981 C 5.608,5.979 8.284,3.302 8.284,0 c 0,-3.305 -2.676,-5.981 -5.98,-5.985 -3.305,0.004 -5.981,2.68 -5.985,5.985"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3508" /></g><g
+           id="g3510"
+           transform="translate(497.875,48.9473)"><path
+             d="m 0,0 c 0,-2.285 -1.855,-4.14 -4.14,-4.14 -2.287,0 -4.142,1.855 -4.142,4.14 0,2.289 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3512" /></g><g
+           id="g3514"
+           transform="translate(491.4307,48.9473)"><path
+             d="M 0,0 C 0.005,-1.27 1.034,-2.295 2.301,-2.297 3.574,-2.295 4.6,-1.27 4.601,0 4.6,1.273 3.574,2.299 2.301,2.301 1.034,2.299 0.005,1.268 0,0 m -3.679,0 c 0,3.306 2.678,5.979 5.98,5.983 3.305,0 5.984,-2.677 5.984,-5.983 0,-3.304 -2.679,-5.978 -5.984,-5.981 -3.302,0.003 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3516" /></g><g
+           id="g3518"
+           transform="translate(412.7461,74.7183)"><path
+             d="m 0,0 c 0,-2.291 -1.853,-4.144 -4.14,-4.144 -2.287,0 -4.141,1.853 -4.141,4.144 0,2.285 1.854,4.138 4.141,4.138 C -1.853,4.138 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3520" /></g><g
+           id="g3522"
+           transform="translate(406.3042,74.7183)"><path
+             d="M 0,0 C 0.001,-1.27 1.031,-2.299 2.302,-2.304 3.57,-2.299 4.598,-1.273 4.603,0 4.598,1.27 3.57,2.299 2.302,2.3 1.031,2.299 0.001,1.266 0,0 m -3.682,0 c 0.003,3.302 2.675,5.979 5.984,5.979 3.302,0 5.98,-2.677 5.98,-5.979 0,-3.306 -2.678,-5.983 -5.98,-5.983 -3.309,0 -5.981,2.677 -5.984,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3524" /></g></g></g></g></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery-1.11.3.min.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,5 @@
+/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
+
+return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){
+return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m});
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.microsoft.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,31 @@
+
+
+$(document).ready( function() {
+
+    // 1) remove all content 
+    $( 'body > *' ).remove();
+          
+    // 2) show banner  
+    $( "<div>" ).html(
+       "<p>"
+       + "Microsoft's Internet Explorer browser has no built-in vector graphics machinery "
+       + "required for 'loss-free' gradient background themes."
+       + "</p>"       
+       + "<p>"
+       + "Please <span style='background: yellow'>upgrade to a better browser</span> "
+       + "such as <a href='http://getfirefox.com'>Firefox</a>, <a href='http://www.opera.com/download'>Opera</a>, "
+       + "<a href='http://google.com/chrome'>Chrome</a>, <a href='http://apple.com/safari/download'>Safari</a> or others "
+       + "with built-in vector graphics machinery and much more. "
+       + "(Learn more or post questions or comments "
+       + "at the <a href='http://slideshow.rubyforge.org'>Slide Show (S9)</a> project site. Thanks!)"
+       + "</p>"      
+     )
+     .css( {   
+       border: 'red solid thick',
+       padding: '1em',
+       fontFamily: 'sans-serif',
+       fontWeight: 'bold' } )
+     .prependTo( 'body' );    
+  }
+);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.autoplay.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,91 @@
+/***********
+ *
+ *  autoplay addon:
+ *
+ *   - use key-a/p/s to toggle autoplay (in projection mode)
+ */
+
+
+Slideshow.playInit = function()
+{
+  this.debug( 'calling playInit()' );
+
+  this.playInterval = null;
+}
+
+Slideshow.playStart = function()
+{
+  this.debug( 'calling playStart()' );
+
+  if( this.settings.mode == 'autoplay' )
+    this.playToggle();
+}
+
+
+Slideshow.playKeys = function( event, key )
+{
+  this.debug( 'calling playKeys()' );
+  
+  switch( key.which ) {
+    case 65: //a
+    case 80: //p
+    case 83: //s
+      this.playToggle();
+      break;
+  }
+}
+
+
+// ------------------------------------------------
+
+
+Slideshow.playWorker = function()
+{
+  this.debug( 'calling playWorker()' );
+
+  // suspend autoplay in outline view (just slideshow view)
+  if( !this.isProjection )
+    return;
+
+  // next slide/step, please
+  var csteps = this.steps[this.snum-1]; // current slide steps array 
+  
+  if( !csteps || this.incpos >= csteps.length ) {
+    if( this.snum >= this.smax )
+      this.goTo( 1 );   // reached end of show? start with 1st slide again (for endless cycle)
+    else
+      this.go(1);
+  }
+  else {
+    this.subgo(1);
+  }
+}
+
+
+Slideshow.playToggle = function()
+{
+  this.debug( 'calling playToggle()' );
+
+  if( this.playInterval )
+  {
+    this.debug( 'stopping autoplay' );
+    clearInterval( this.playInterval );
+    this.playInterval = null;
+  }
+  else
+  {
+    this.debug( 'starting autoplay' );
+    this.playInterval = setInterval( $.proxy( Slideshow.playWorker, this), 2000 );
+  }
+}
+
+// ------------------------------------------------
+
+Slideshow.playAddEvents = function()
+{
+  $( document ).on( 'slideshow.init',      $.proxy( Slideshow.playInit, this ));
+  $( document ).on( 'slideshow.start',     $.proxy( Slideshow.playStart, this ));
+  $( document ).on( 'slideshow.keys',      $.proxy( Slideshow.playKeys, this ));
+}
+
+Slideshow.playAddEvents();
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.controls.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,219 @@
+/***********
+ *
+ *  control addon:
+ *
+ *   adds toggle, prev slide, next slide links/buttons and jump list
+ *   - use key-c to toggle controls (in projection mode)
+ *
+ *   layout structure:
+ *
+ *  .layout
+ *    > #controls  (holding navigation controls)
+ *       > #navLinks
+ *          > #toggle
+ *          > #navList
+ *            > #jumplist
+ */
+
+
+Slideshow.ctrlInit = function()
+{
+  this.debug( 'calling ctrlInit()' );
+  
+  var self = this;   // NOTE: jquery binds this in .each,.click, etc to element
+
+  // todo: make layout into an id (not class?)
+  //  do we need or allow more than one element?
+       
+  // if no div.layout exists, create one
+  if( $( '.layout' ).length == 0 )
+    $( 'body' ).append( "<div class='layout'></div>");
+
+  $( '.layout' ).append( "<div id='controls'>" );
+ 
+  var $controls = $( '#controls' )
+    
+  $controls.html(  '<div id="navLinks">'
+     + '<a accesskey="t" id="toggle" href="#">&#216;<\/a>'
+     + '<a accesskey="z" id="prev" href="#">&laquo;<\/a>'
+     + '<a accesskey="x" id="next" href="#">&raquo;<\/a>'
+     + '<div id="navList"><select id="jumplist" /><\/div>'
+     + '<\/div>' );
+      
+  $controls.hover( function() { self.ctrlShow(); }, function() { self.ctrlHide(); });
+  $('#toggle').click( function() { self.toggle(); } );
+  $('#prev').click( function() { self.go(-1); } );
+  $('#next').click( function() { self.go(1); } );
+       
+  $('#jumplist').change( function() { self.goTo( parseInt( $( '#jumplist' ).val() )); } );
+
+  this.ctrlPopulateJumpList();
+}
+
+
+Slideshow.ctrlDebugOn = function()
+{
+  this.debug( 'calling ctrlDebugOn()' );
+  $( '#controls' ).addClass( 'debug' );
+}
+
+Slideshow.ctrlDebugOff = function()
+{
+  this.debug( 'calling ctrlDebugOff()' );
+  $( '#controls' ).removeClass( 'debug' );
+}
+
+Slideshow.ctrlKeys = function( event, key )
+{
+  this.debug( 'calling ctrlKeys()' );
+  
+  switch( key.which ) {
+    case 67: // c
+      this.ctrlToggle();
+      break;
+  }
+}
+
+Slideshow.ctrlChange = function()
+{
+  this.debug( 'calling ctrlChange()' );
+  this.ctrlUpdateJumpList();
+}
+
+// -----------------------------------------------------
+
+Slideshow.ctrlPopulateJumpList = function()
+{    
+  var self = this;   // NOTE: jquery binds this in .each to element
+
+  var list = $('#jumplist').get(0);
+    
+  this.$slides.each( function(i) {
+    var text = "-";   // untitled slide
+    
+    // todo: use titleSelector if user set??
+    // $(this).find( self.settings.titleSelector ).text();
+    
+    var $h1 = $( 'h1', this );
+    if( $h1.length > 0 )
+    {
+      text = $h1.first().text();
+    }
+    else   // try h2 
+    {
+      var $h2 = $( 'h2', this );
+      if( $h2.length > 0 )
+      {
+        text = $h2.first().text();
+      }
+      else  // try h3
+      {
+        var $h3 = $( 'h3', this );
+        if( $h3.length > 0 )
+        {
+          text = $h3.first().text();
+        }
+      }
+    }  
+    
+    list.options[list.length] = new Option( (i+1)+' : '+ text, (i+1) );
+  });
+}
+
+Slideshow.ctrlUpdateJumpList = function()
+{
+  $('#jumplist').get(0).selectedIndex = (this.snum-1);
+}
+
+Slideshow.ctrlShow = function()
+{
+  $( '#navLinks' ).css( 'visibility', 'visible' );
+}
+
+Slideshow.ctrlHide = function()
+{
+  $( '#navLinks' ).css( 'visibility', 'hidden' );
+}
+
+Slideshow.ctrlToggle = function()
+{
+  // toggle control panel 
+  var $navLinks = $( '#navLinks' );
+
+  if( $navLinks.css( 'visibility' ) != 'visible' )
+    $navLinks.css( 'visibility', 'visible' );
+  else
+    $navLinks.css( 'visibility', 'hidden' );
+}
+
+
+// ------------------------------------------------
+
+Slideshow.ctrlAddEvents = function()
+{
+  $( document ).on( 'slideshow.init',      $.proxy( Slideshow.ctrlInit, this ));
+  $( document ).on( 'slideshow.debug.on',  $.proxy( Slideshow.ctrlDebugOn, this ));
+  $( document ).on( 'slideshow.debug.off', $.proxy( Slideshow.ctrlDebugOff, this ));
+  $( document ).on( 'slideshow.keys',      $.proxy( Slideshow.ctrlKeys, this ));
+  $( document ).on( 'slideshow.change',    $.proxy( Slideshow.ctrlChange, this ));
+}
+
+Slideshow.ctrlAddStyles = function() {
+  this.debug( 'add builtin controls css via inline style elements' );
+  
+  var styleProjection =
+"<style media='screen,projection'>               \n"+
+"                                                \n"+
+" #controls.debug { background: #BBD; }          \n"+
+"                                                \n"+
+" #controls { position: fixed;                   \n"+
+"              left: 60%; bottom: 0;             \n"+
+"              width: 40%;                       \n"+
+"              z-index: 100;                     \n"+
+"              text-align: right;                \n"+
+"              font-weight: bold;                \n"+
+"              font-size: 120%;                  \n"+
+"            }                                   \n"+
+"                                                \n"+
+" #controls :focus { outline: 1px dotted white;} \n"+
+"                                                \n"+  
+" #controls #navLinks { text-align: right; margin: 0; visibility: hidden; } \n"+
+
+"                                                \n"+
+" #controls #navLinks a { padding: 0; margin: 0 0.5em; cursor: pointer; border: none; }  \n"+
+"                                                \n"+
+" #controls #navLinks :link,                     \n"+
+" #controls #navLinks :visited {text-decoration: none; } \n"+
+"                                                \n"+
+" #controls #navList #jumplist { background: white; color: black; } \n"+
+"</style>";
+
+   var styleScreen =
+"<style media='screen'>                      \n"+
+"/*********                                      \n"+
+" * make toggle button visible and reposition to upper right corner  \n"+
+" *   note: toogle button is nested inside #controls > #navLinks > #toogle \n"+
+" */                                             \n"+
+"                                                \n"+
+" #controls,                                     \n"+
+" #navLinks,                                     \n"+
+" #toggle    { display: block;                   \n"+
+"             visibility: visible;               \n"+
+"             margin: 0; padding: 0;             \n"+
+"          }                                     \n"+
+"                                                \n"+
+" #toggle { position: fixed;                     \n"+
+"          top: 0; right: 0;                     \n"+
+"          padding: 0.5em;                       \n"+
+"          border-left: 1px solid;               \n"+
+"          border-bottom: 1px solid;             \n"+
+"          background: white;                    \n"+
+"        }                                       \n"+
+"</style>";
+
+    $( 'head' ).append( styleProjection );
+    $( 'head' ).append( styleScreen );
+}
+
+Slideshow.ctrlAddStyles();
+Slideshow.ctrlAddEvents();
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.counter.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,118 @@
+/***********
+ *
+ *  counter addon:
+ *
+ *   adds slide counter (e.g. 1/7)
+ *   - use key-n to toggle slide counter (in projection mode)
+ *
+ *   layout structure:
+ *
+ *  .layout
+ *    > #counter  (e.g. 1/7)
+ */
+
+
+Slideshow.counterInit = function()
+{
+  this.debug( 'calling counterInit()' );
+
+  // if no div.layout exists, create one
+  if( $( '.layout' ).length == 0 )
+    $( 'body' ).append( "<div class='layout'></div>");
+
+  $( '.layout' ).append( "<div id='counter'>" );
+ 
+  this.counterUpdate();
+}
+
+Slideshow.counterDebugOn = function()
+{
+  this.debug( 'calling counterDebugOn()' );
+  $( '#counter' ).addClass( 'debug' );
+}
+
+Slideshow.counterDebugOff = function()
+{
+  this.debug( 'calling counterDebugOff()' );
+  $( '#counter' ).removeClass( 'debug' );
+}
+
+Slideshow.counterKeys = function( event, key )
+{
+  this.debug( 'calling counterKeys()' );
+  
+  switch( key.which ) {
+      case 78: // n
+        this.counterToggle();
+        break;
+  }
+} 
+
+Slideshow.counterChange = function()
+{
+  this.debug( 'calling counterChange()' );
+  this.counterUpdate();
+}
+
+// ------------------------------------------------
+
+Slideshow.counterUpdate = function()
+{ 
+  $( '#counter' ).html( this.snum + '/' + this.smax );
+}
+
+
+Slideshow.counterToggle = function()
+{
+  // toggle slide number/counter
+  
+  // todo/fix: note jquery sets inline css (e.g. display: block)
+  //   but css won't get scoped for media (e.g. projection, screen, etc)
+  //   thus, css changes "spill over" to all media types
+  
+  $( '#counter' ).toggle();
+}
+
+// ------------------------------------------------
+
+Slideshow.counterAddEvents = function()
+{
+  $( document ).on( 'slideshow.init',      $.proxy( Slideshow.counterInit, this ));
+  $( document ).on( 'slideshow.debug.on',  $.proxy( Slideshow.counterDebugOn, this ));
+  $( document ).on( 'slideshow.debug.off', $.proxy( Slideshow.counterDebugOff, this ));
+  $( document ).on( 'slideshow.keys',      $.proxy( Slideshow.counterKeys, this ));
+  $( document ).on( 'slideshow.change',    $.proxy( Slideshow.counterChange, this ));
+}
+
+Slideshow.counterAddStyles = function() {
+  this.debug( 'add builtin counter css via inline style elements' );
+
+   var styleProjection =
+"<style media='screen,projection'>                   \n"+
+"                                                    \n"+
+" #counter.debug { background: #FFC; }               \n"+
+"                                                    \n"+
+" #counter      { position: fixed;                   \n"+
+"                 left: 45%; bottom: 1em;            \n"+
+"                width: 10%;                         \n"+
+"                z-index: 10;                        \n"+
+"                text-align: center;                 \n"+
+"                font-size: 80%;                     \n"+
+"              }                                     \n"+
+"                                                    \n"+
+" #counter :link,                                    \n"+
+" #counter :visited {  text-decoration: none; }      \n"+
+"                                                    \n"+
+"</style>";
+
+   var styleScreen =
+"<style media='screen'>                    \n"+
+" #counter { display: none !important; }   \n"+
+"</style>";
+
+  $( 'head' ).append( styleProjection );
+  $( 'head' ).append( styleScreen     );
+}
+
+Slideshow.counterAddStyles();
+Slideshow.counterAddEvents();
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.footer.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,82 @@
+/***********
+ *
+ *  footer/header addon:
+ *
+ *   adds footer/header
+ *   - use key-f to toggle footer/header (in projection mode)
+ *
+ *   layout structure:
+ *
+ *  .layout
+ *    > #header
+ *    > #footer
+ */
+
+
+Slideshow.footerDebugOn = function()
+{
+  this.debug( 'calling footerDebugOn()' );
+
+  $( '.layout #header,.layout header' ).addClass( 'debug' );
+  $( '.layout #footer,.layout footer' ).addClass( 'debug' );
+}
+
+Slideshow.footerDebugOff = function()
+{
+  this.debug( 'calling footerDebugOff()' );
+
+  $( '.layout #header,.layout header' ).removeClass( 'debug' );
+  $( '.layout #footer,.layout footer' ).removeClass( 'debug' );
+}
+
+Slideshow.footerKeys = function( event, key )
+{
+  this.debug( 'calling footerKeys()' );
+  
+  switch( key.which ) {
+      case 70: //f
+        this.footerToggle();
+        break;
+  }
+} 
+
+// ------------------------------------------------
+
+Slideshow.footerToggle = function()
+{
+  // todo/fix: note jquery sets inline css (e.g. display: block)
+  //   but css won't get scoped for media (e.g. projection, screen, etc)
+  //   thus, css changes "spill over" to all media types
+
+  // fix: add/remove Class hidden?? instead of toggle()
+
+  $( '.layout #footer, .layout footer').toggle(); 
+}
+
+// ------------------------------------------------
+
+Slideshow.footerAddEvents = function()
+{
+  $( document ).on( 'slideshow.debug.on',  $.proxy( Slideshow.footerDebugOn, this ));
+  $( document ).on( 'slideshow.debug.off', $.proxy( Slideshow.footerDebugOff, this ));
+  $( document ).on( 'slideshow.keys',      $.proxy( Slideshow.footerKeys, this ));
+}
+
+Slideshow.footerAddStyles = function() {
+  this.debug( 'add builtin footer/header css via inline style elements' );
+  
+   var styleProjection =
+"<style media='screen,projection'>                   \n"+
+" .layout #footer.debug,                             \n"+
+" .layout  footer.debug  { background: #CCF; }       \n"+
+"                                                    \n"+
+" .layout #header.debug,                             \n"+
+" .layout  header.debug { background: #FCC; }        \n"+
+"</style>";
+
+  $( 'head' ).append( styleProjection );
+}
+
+
+Slideshow.footerAddStyles();
+Slideshow.footerAddEvents();
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,535 @@
+
+var Slideshow = {
+
+  settings: {
+    debug: true
+  },
+
+  isProjection: false,   // are we in projection (slideshow) mode (in contrast to screen (outline) mode)?     
+  snum:   1,             // current slide # (non-zero based index e.g. starting with 1)
+  smax:   1,             // max number of slides 
+  incpos: 0,             // current step in slide  
+  steps:   null,
+
+  $slides: null,
+  $stylesProjection: null,
+  $stylesScreen: null,
+
+  slideClasses: [ 'far-past', 'past', 'current', 'next', 'far-next' ]
+};
+
+
+/************************************
+ * lets you define your own "global" transition function
+ *   passes in a reference to from and to slide wrapped in jQuery wrapper
+ *
+ *  see jquery.slideshow.transition.js for more examples
+ */
+
+Slideshow.transition = function( $from, $to ) {
+  // do nothing here; by default lets use css3 for transition effects
+}
+
+
+Slideshow.debug = function( msg ) {
+  if( this.settings.debug && window.console && window.console.log  )
+       window.console.log( '[debug] ' + msg );
+}
+
+
+Slideshow.init = function( options ) {
+
+  this.settings = $.extend({
+    mode              : 'slideshow', // slideshow | outline | autoplay
+    titleSelector     : 'h1',      
+    slideSelector     : '.slide',   // dummy (not yet working)
+    stepSelector      : '.step',    // dummy (not yet working)
+    debug             :  false,
+    normalize         :  true       // normalize selectors (that is, allow aliases
+                                    //  e.g. build,action,etc. for step and so on)
+  }, options || {});
+
+  this.isProjection = false; // are we in projection (slideshow) mode (in contrast to screen (outline) mode)?     
+  this.snum = 1;      // current slide # (non-zero based index e.g. starting with 1)
+  this.smax = 1;      // max number of slides 
+  this.incpos = 0;    // current step in slide  
+  this.steps  = null;
+
+  if( this.settings.normalize == true )
+    this.normalize();     
+
+  this.$slides = $( '.slide' );
+      
+  this.smax = this.$slides.length;
+  
+  this.addSlideIds();
+  this.steps = this.collectSteps();
+  this.updateSlides(); // mark slides w/ far-past,past,current,next,far-next
+
+  // $stylesProjection  holds all styles (<link rel="stylesheet"> or <style> w/ media type projection)
+  // $stylesScreen      holds all styles (<link rel="stylesheet"> or <style> w/ media type screen)
+
+  // add workaround for chrome
+  //  use screen,projection instead of projection
+  //  (without projection inline style tag gets not parsed into a styleSheet accesible via JavaScript)
+
+  this.$stylesProjection = $( 'link[media*=projection], style[media*=projection]' ).not('[rel*=less]').not('[type*=less]');
+  this.$stylesScreen     = $( 'link[media*=screen], style[media*=screen]' ).not('[media*=projection]').not('[rel*=less]').not('[type*=less]') ;
+   
+  $( document ).trigger( 'slideshow.init' );  // fire init for addons
+ 
+  this.addClicker();
+  
+       
+  // opera is the only browser currently supporting css projection mode 
+  this.notOperaFix();
+
+  // store possible slidenumber from hash */
+  // todo: use regex to extract number
+  //    might be #slide1 or just #1
+ 
+  var gotoSlideNum = parseInt( window.location.hash.substring(1) );
+  this.debug( "gotoSlideNum=" + gotoSlideNum );
+
+  if( !isNaN( gotoSlideNum ))
+  {
+    this.debug( "restoring slide on (re)load #: " + gotoSlideNum );
+    this.goTo( gotoSlideNum );
+  }
+
+  if( this.settings.mode == 'outline' ) 
+    this.toggle();
+
+  $( document ).trigger( 'slideshow.start' );  // fire start for addons
+      
+  $( document ).on( 'keyup', $.proxy( Slideshow.keys, this ));
+} // end init() 
+ 
+ 
+Slideshow.normalize = function() {
+
+  // check for .presentation aliases, that is, .deck, .slides
+  $( '.deck, .slides' ).addClass( 'presentation' );
+
+  // add slide class to immediate children
+  // todo: use autoslide option that lets you turn on/off option?
+  $( '.presentation' ).children().addClass( 'slide' );
+
+  // todo: scope with .slide?? e.g  .slide .incremental
+  // todo: make removing "old" class an option??
+
+  // check for .step aliases, that is, .incremental, .delayed, .action, .build
+  $( '.incremental, .delayed, .action, .build' ).addClass( 'step' );
+
+  // check for .notes aliases, that is, .note, .handout
+  $( '.note, .handout' ).addClass( 'notes' );
+
+}
+
+Slideshow.notOperaFix = function() {
+   // 1) switch media type from projection to screen
+
+   var self = this;   // NOTE: jquery binds this in .each to element
+
+   this.$stylesProjection.each( function(i) {
+     var styleProjection = this;
+     // note: no longer used; workaround for chrome needs screen,projection to make it work (thus, no need to switch to screen)
+     // styleProjection.media = 'screen';
+     styleProjection.disabled = true;
+     
+     self.debug( "notOperaFix - stylesProjection["+i+"] switching media type from projection to screen" );
+   } );
+   
+   this.isProjection = false;
+   
+   // 2) disable screen styles and enable projection styles (thus, switch into projection mode)
+   this.toggle();
+   
+   // now we should be in project mode
+} // end notOperatFix()
+
+
+Slideshow.toggle = function() {
+  // todo: use settings.isProjection for state tracking
+  //  and change disable accordingly (plus assert that all styles are in the state as expected)
+
+  // toggle between projection (slide show) mode
+  //   and screen (outline) mode
+
+  var self = this;   // NOTE: jquery binds this in .each to element
+
+  this.$stylesProjection.each( function(i) {          
+     var styleProjection = this;
+     
+     styleProjection.disabled = !styleProjection.disabled;
+       
+     self.debug( "toggle - stylesProjection["+i+"] disabled? " + styleProjection.disabled );
+   });
+  
+  this.$stylesScreen.each( function(i) {          
+     var styleScreen = this;
+
+     styleScreen.disabled = !styleScreen.disabled;
+       
+     self.debug( "toggle - stylesScreen["+i+"] disabled? " + styleScreen.disabled );
+     
+     // update isProjection flag 
+     self.isProjection = styleScreen.disabled;
+   });
+  
+/*
+ * note: code no longer needed; using (adding/removing) css classes hide/show)
+ *
+
+  if( this.isProjection )
+  {
+    this.$slides.each( function(i) {
+      if( i == (self.snum-1) )
+        $(this).show();
+      else
+        $(this).hide();
+    });    
+  }
+  else
+  {
+    this.$slides.show();
+  }
+*/
+} // end toggle()
+
+  
+Slideshow.updatePermaLink = function()
+{
+  // todo: unify hash marks??; use #1 for div ids instead of #slide1? 
+  window.location.hash = '#'+ this.snum;
+}
+
+Slideshow.goTo = function( target )
+{
+ if( target > this.smax || target == this.snum )
+   return;
+
+ this.go( target - this.snum );
+}
+ 
+Slideshow.go = function( dir )
+{
+  this.debug( 'go: ' + dir );
+  
+  if( dir == 0 ) return;  /* same slide; nothing to do */
+
+  var cid = '#slide' + this.snum;   /* current slide (selector) id */
+  var csteps = this.steps[ this.snum-1 ];  /* current slide steps array */
+
+  /* remove all step and stepcurrent classes from current slide */
+  if( csteps.length > 0) {
+     $( csteps ).each( function() {
+       $(this).removeClass( 'step' ).removeClass( 'stepcurrent' );
+     } );
+   }
+
+  /* set snum to next slide */
+  this.snum += dir;
+  if( this.snum > this.smax ) this.snum = this.smax;
+  if( this.snum < 1 ) this.snum = 1;
+  
+  var nid = '#slide' + this.snum;  /* next slide (selector) id */
+  var nsteps = this.steps[this.snum-1]; /* next slide steps array */
+  
+	if( dir < 0 ) /* go backwards? */
+	{
+		this.incpos = nsteps.length;
+		/* mark last step as current step */
+		if( nsteps.length > 0 ) 
+			$( nsteps[this.incpos-1] ).addClass( 'stepcurrent' );		
+	}
+	else /* go forwards? */
+	{
+		this.incpos = 0;
+	  if( nsteps.length > 0 ) {
+		  $( nsteps ).each( function() {
+				$(this).addClass( 'step' ).removeClass( 'stepcurrent' );
+			} );
+		}
+	}	
+	
+  if( !(cid == nid) ) {
+    this.updateSlides();
+
+    this.debug( "transition from " + cid + " to " + nid );
+    this.transition( $( cid ), $( nid ) );
+
+    // only fire change event if slide changes
+    $( document ).trigger( 'slideshow.change', [$( cid ), $( nid )]);
+  }
+  
+  this.updatePermaLink();
+} // end go()
+
+
+Slideshow.updateSlideClass = function( $slide, className )
+{
+  if( className )
+    $slide.addClass( className );
+  
+  for( var i in this.slideClasses )
+  {
+    if( className != this.slideClasses[i] )
+      $slide.removeClass( this.slideClasses[i] );
+  }
+}
+
+Slideshow.updateSlides = function()
+{
+  var self = this;
+  this.$slides.each( function( i ) {
+    switch( i ) {
+      case (self.snum-1)-2:
+        self.updateSlideClass( $(this), 'far-past' );
+        break;
+      case (self.snum-1)-1:
+        self.updateSlideClass( $(this), 'past' );
+        break;
+      case (self.snum-1):
+        self.updateSlideClass( $(this), 'current' );
+        break;
+      case (self.snum-1)+1:
+        self.updateSlideClass( $(this), 'next' );
+        break;
+      case (self.snum-1)+2:
+        self.updateSlideClass( $(this), 'far-next' );
+        break;
+      default:
+        self.updateSlideClass( $(this) );
+        break;
+     }
+  });
+}
+
+
+
+Slideshow.subgo = function( dir )
+{
+   this.debug( 'subgo: ' + dir + ', incpos before: ' + this.incpos + ', after: ' + (this.incpos+dir) );
+	
+	var csteps = this.steps[this.snum-1]; /* current slide steps array */
+	
+	if( dir > 0)
+  {  /* go forward? */
+		if( this.incpos > 0 )
+      $( csteps[this.incpos-1] ).removeClass( 'stepcurrent' );
+		$( csteps[this.incpos] ).removeClass( 'step').addClass( 'stepcurrent' ); 
+		this.incpos++;
+	}
+  else
+  { /* go backwards? */
+		this.incpos--;
+		$( csteps[this.incpos] ).removeClass( 'stepcurrent' ).addClass( 'step' );
+		if( this.incpos > 0 )
+      $( csteps[this.incpos-1] ).addClass( 'stepcurrent' );
+	}
+} // end subgo()
+
+
+Slideshow.keys = function( key )
+{  
+  this.debug( "enter keys()" );
+  
+  if( !key ) {
+    key = event;
+    key.which = key.keyCode;
+  }
+  if( key.which == 84 ) {
+    this.toggle();  // toggle between project and screen css media mode 
+    return;
+  }
+  if( this.isProjection ) {
+    switch( key.which ) {
+      case 32: // spacebar
+      case 34: // page down
+      case 39: // rightkey
+      case 40: // downkey
+
+      var csteps = this.steps[this.snum-1]; /* current slide steps array */
+        
+      if( !csteps || this.incpos >= csteps.length ) {
+					this.go(1);
+				} else {
+					this.subgo(1);
+				}
+				break;
+			case 33: // page up
+			case 37: // leftkey
+			case 38: // upkey
+					
+					if( !this.steps[this.snum-1] || this.incpos <= 0 ) {
+					  this.go(-1);
+				  } else {
+					  this.subgo(-1);
+					}
+				  break;
+      case 36: // home
+				this.goTo(1);
+				break;
+			case 35: // end
+				this.goTo( this.smax );
+				break;   
+      case 68: // d
+        this.toggleDebug();
+        break;
+		}
+		$( document ).trigger( 'slideshow.keys', key );
+	}
+} // end keys()
+
+
+Slideshow.toggleDebug = function()
+{
+   this.settings.debug = !this.settings.debug;
+   this.doDebug();
+}
+
+Slideshow.doDebug = function()
+{
+   if( this.settings.debug == true )
+   {
+      $( document ).trigger( 'slideshow.debug.on' );
+   }
+   else
+   {
+      $( document ).trigger( 'slideshow.debug.off' );
+   }
+}
+
+Slideshow.collectStepsWorker = function(obj)
+{
+  var self = this;   // NOTE: jquery binds this in .each,.click, etc to element
+  
+  var steps = []; 
+  if( !obj ) 
+    return steps;
+	
+  $(obj).children().each( function() {
+    if( $(this).hasClass( 'step' ) ) {
+		
+      self.debug( 'step found for ' + this.tagName );
+      $(this).removeClass( 'step' );
+
+      /* don't add enclosing list; instead add step class to all list items/children */
+      if( $(this).is( 'ol,ul' ) ) {
+	self.debug( '  ol or ul found; adding auto steps' );
+	$(this).children().addClass( 'step' );
+      }
+      else
+      {
+	steps.push( this )
+      }
+    }
+    steps = steps.concat( self.collectStepsWorker( this ) );
+  });
+	
+  return steps;
+} // end collectStepWorkers
+
+Slideshow.collectSteps = function()
+{
+  var self = this;   // NOTE: jquery binds this in .each,.click, etc to element
+	
+  var steps = [];
+
+  this.$slides.each( function(i) {
+    self.debug ( 'collectSteps for ' + this.id + ':' );
+    steps[i] = self.collectStepsWorker( this );
+  });
+	
+  $( steps ).each( function(i) {
+    self.debug( 'slide ' + (i+1) + ': found ' + this.length + ' steps' );	
+  });
+       
+  return steps;
+} // end collectSteps()
+
+
+Slideshow.addClicker = function()
+{
+  var self = this;   // NOTE: jquery binds this in .each,.click, etc to element
+
+  // if you click on heading of slide -> go to next slide (or next step)
+   
+  $( this.settings.titleSelector, this.$slides ).click( function( ev ) {
+    if(ev.which != 1) return;  // only process left clicks (e.g 1; middle and rightclick use 2 and 3)
+
+    if( !self.isProjection )  // suspend clicker in outline view (just slideshow view)
+      return;
+     
+    var csteps = self.steps[self.snum-1]; // current slide steps array 
+    if ( !csteps || self.incpos >= csteps.length ) 
+      self.go(1);
+    else 
+      self.subgo(1);
+  });
+   
+   
+   $( this.settings.titleSelector, this.$slides ).on('contextmenu', function() { 
+      if( !self.isProjection )  // suspend clicker in outline view (just slideshow view)
+        return;
+
+      var csteps = self.steps[self.snum-1]; // current slide steps array 
+      if ( !csteps || self.incpos >= csteps.length ) 
+         self.go(-1);
+      else 
+         self.subgo(-1);
+
+      return false;
+   } );       
+} // end addClicker()
+
+
+Slideshow.addSlideIds = function() {
+  this.$slides.each( function(i) {
+    this.id = 'slide'+(i+1);
+  });
+}
+
+
+Slideshow.addStyles = function() {
+  this.debug( 'add builtin css via inline style elements' );
+  
+   var styleProjection =
+"<style media='screen,projection'>           \n"+
+" .slide  { display: block;  }               \n"+
+" .notes  { display: none;   }               \n"+
+" .layout { display: block;  }               \n"+
+"</style>";
+
+   var styleScreen =
+"<style media='screen'>                      \n"+
+"/****                                           \n"+
+" * hide layout stuff (header, footer, navLinks, navList etc.) \n"+
+" */                                             \n"+
+"                                                \n"+
+" .layout * { display: none; }                   \n"+
+"</style>";
+
+   var stylePrint =
+"<style media='print'>                              \n"+
+"                                                   \n"+
+" .slide { display: block !important; }             \n"+
+" .layout, .layout * { display: none !important; }  \n"+
+"                                                   \n"+
+"/******                                            \n"+
+" * Turn on print-specific stuff/classes            \n"+
+" */                                                \n"+
+"                                                   \n"+
+" .extra { display: block !important; }             \n"+
+"</style>";
+
+   // note: use prepend (not append) to make sure this
+   // styles come first (and do not overrule user supplied styles)
+
+    $( 'head' ).prepend( styleProjection );
+    $( 'head' ).prepend( styleScreen );
+    $( 'head' ).prepend( stylePrint );
+}
+
+Slideshow.addStyles();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.ready.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,15 @@
+
+$(document).ready( function() {
+  Slideshow.init();
+    
+  // Example 2: Start Off in Outline Mode
+  // Slideshow.init( { mode: 'outline' } );
+    
+  // Example 3: Use Custom Transition
+  // Slideshow.transition = transitionScrollUp;
+  // Slideshow.init();
+
+  // Example 4: Start Off in Autoplay Mode with Custom Transition
+  // Slideshow.transition = transitionScrollUp;
+  // Slideshow.init( { mode: 'autoplay' } );
+} );
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/jquery.slideshow.transition.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,38 @@
+
+function transition( $from, $to ) {
+  $from.hide();
+  $to.show();
+}
+
+function transitionSlideUpSlideDown( $from, $to ) {
+  $from.slideUp( 500, function() { $to.slideDown( 1000 ); } );
+}
+
+function transitionFadeOutFadeIn( $from, $to ) {
+  $from.fadeOut( 500 );
+  $to.fadeIn( 500 );
+}
+
+/***********************
+ * sample custom transition using scrollUp effect
+ * inspired by Karl Swedberg's Scroll Up Headline Reader jQuery Tutorial[1]
+ * [1] http://docs.jquery.com/Tutorials:Scroll_Up_Headline_Reader
+ */
+
+function transitionScrollUp( $from, $to ) {
+  var cheight = $from.outerHeight();
+
+  // hide scrollbar during animation
+  $( 'body' ).css( 'overflow-y', 'hidden' );
+
+  $to.css( 'top', cheight+'px' );
+  $to.show();
+
+  $from.animate( {top: -cheight}, 'slow' );
+  $to.animate( {top: 0}, 'slow', function() {
+    $from.hide().css( 'top', '0px');
+
+    // restore possible scrollbar 
+    $( 'body' ).css( 'overflow-y', 'auto' );
+  }); 
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/js/less-2.5.3.min.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,18 @@
+/*!
+ * Less - Leaner CSS v2.5.3
+ * http://lesscss.org
+ *
+ * Copyright (c) 2009-2015, Alexis Sellier <self@cloudhead.net>
+ * Licensed under the  License.
+ *
+ */
+
+ /** * @license 
+ */
+
+!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.less=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b){var c=a("./utils").addDataAttr,d=a("./browser");b.exports=function(a,b){c(b,d.currentScript(a)),void 0===b.isFileProtocol&&(b.isFileProtocol=/^(file|(chrome|safari)(-extension)?|resource|qrc|app):/.test(a.location.protocol)),b.async=b.async||!1,b.fileAsync=b.fileAsync||!1,b.poll=b.poll||(b.isFileProtocol?1e3:1500),b.env=b.env||("127.0.0.1"==a.location.hostname||"0.0.0.0"==a.location.hostname||"localhost"==a.location.hostname||a.location.port&&a.location.port.length>0||b.isFileProtocol?"development":"production");var e=/!dumpLineNumbers:(comments|mediaquery|all)/.exec(a.location.hash);e&&(b.dumpLineNumbers=e[1]),void 0===b.useFileCache&&(b.useFileCache=!0),void 0===b.onReady&&(b.onReady=!0)}},{"./browser":3,"./utils":9}],2:[function(a,b){a("promise/polyfill.js");var c=window.less||{};a("./add-default-options")(window,c);var d=b.exports=a("./index")(window,c);window.less=d,c.onReady&&(/!watch/.test(window.location.hash)&&d.watch(),d.registerStylesheetsImmediately(),d.pageLoadFinished=d.refresh("development"===d.env))},{"./add-default-options":1,"./index":7,"promise/polyfill.js":95}],3:[function(a,b){var c=a("./utils");b.exports={createCSS:function(a,b,d){var e=d.href||"",f="less:"+(d.title||c.extractId(e)),g=a.getElementById(f),h=!1,i=a.createElement("style");i.setAttribute("type","text/css"),d.media&&i.setAttribute("media",d.media),i.id=f,i.styleSheet||(i.appendChild(a.createTextNode(b)),h=null!==g&&g.childNodes.length>0&&i.childNodes.length>0&&g.firstChild.nodeValue===i.firstChild.nodeValue);var j=a.getElementsByTagName("head")[0];if(null===g||h===!1){var k=d&&d.nextSibling||null;k?k.parentNode.insertBefore(i,k):j.appendChild(i)}if(g&&h===!1&&g.parentNode.removeChild(g),i.styleSheet)try{i.styleSheet.cssText=b}catch(l){throw new Error("Couldn't reassign styleSheet.cssText.")}},currentScript:function(a){var b=a.document;return b.currentScript||function(){var a=b.getElementsByTagName("script");return a[a.length-1]}()}}},{"./utils":9}],4:[function(a,b){b.exports=function(a,b,c){var d=null;if("development"!==b.env)try{d="undefined"==typeof a.localStorage?null:a.localStorage}catch(e){}return{setCSS:function(a,b,e){if(d){c.info("saving "+a+" to cache.");try{d.setItem(a,e),d.setItem(a+":timestamp",b)}catch(f){c.error('failed to save "'+a+'" to local storage for caching.')}}},getCSS:function(a,b){var c=d&&d.getItem(a),e=d&&d.getItem(a+":timestamp");return e&&b.lastModified&&new Date(b.lastModified).valueOf()===new Date(e).valueOf()?c:void 0}}}},{}],5:[function(a,b){var c=a("./utils"),d=a("./browser");b.exports=function(a,b,e){function f(b,f){var g,h,i="less-error-message:"+c.extractId(f||""),j='<li><label>{line}</label><pre class="{class}">{content}</pre></li>',k=a.document.createElement("div"),l=[],m=b.filename||f,n=m.match(/([^\/]+(\?.*)?)$/)[1];k.id=i,k.className="less-error-message",h="<h3>"+(b.type||"Syntax")+"Error: "+(b.message||"There is an error in your .less file")+'</h3><p>in <a href="'+m+'">'+n+"</a> ";var o=function(a,b,c){void 0!==a.extract[b]&&l.push(j.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};b.extract&&(o(b,0,""),o(b,1,"line"),o(b,2,""),h+="on line "+b.line+", column "+(b.column+1)+":</p><ul>"+l.join("")+"</ul>"),b.stack&&(b.extract||e.logLevel>=4)&&(h+="<br/>Stack Trace</br />"+b.stack.split("\n").slice(1).join("<br/>")),k.innerHTML=h,d.createCSS(a.document,[".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),k.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),"development"===e.env&&(g=setInterval(function(){var b=a.document,c=b.body;c&&(b.getElementById(i)?c.replaceChild(k,b.getElementById(i)):c.insertBefore(k,c.firstChild),clearInterval(g))},10))}function g(a,b){e.errorReporting&&"html"!==e.errorReporting?"console"===e.errorReporting?k(a,b):"function"==typeof e.errorReporting&&e.errorReporting("add",a,b):f(a,b)}function h(b){var d=a.document.getElementById("less-error-message:"+c.extractId(b));d&&d.parentNode.removeChild(d)}function i(){}function j(a){e.errorReporting&&"html"!==e.errorReporting?"console"===e.errorReporting?i(a):"function"==typeof e.errorReporting&&e.errorReporting("remove",a):h(a)}function k(a,c){var d="{line} {content}",f=a.filename||c,g=[],h=(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+" in "+f+" ",i=function(a,b,c){void 0!==a.extract[b]&&g.push(d.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};a.extract&&(i(a,0,""),i(a,1,"line"),i(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":\n"+g.join("\n")),a.stack&&(a.extract||e.logLevel>=4)&&(h+="\nStack Trace\n"+a.stack),b.logger.error(h)}return{add:g,remove:j}}},{"./browser":3,"./utils":9}],6:[function(a,b){b.exports=function(b,c){function d(){if(window.XMLHttpRequest&&!("file:"===window.location.protocol&&"ActiveXObject"in window))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(a){return c.error("browser doesn't support AJAX."),null}}var e=a("../less/environment/abstract-file-manager.js"),f={},g=function(){};return g.prototype=new e,g.prototype.alwaysMakePathsAbsolute=function(){return!0},g.prototype.join=function(a,b){return a?this.extractUrlParts(b,a).path:b},g.prototype.doXHR=function(a,e,f,g){function h(b,c,d){b.status>=200&&300>b.status?c(b.responseText,b.getResponseHeader("Last-Modified")):"function"==typeof d&&d(b.status,a)}var i=d(),j=b.isFileProtocol?b.fileAsync:b.async;"function"==typeof i.overrideMimeType&&i.overrideMimeType("text/css"),c.debug("XHR: Getting '"+a+"'"),i.open("GET",a,j),i.setRequestHeader("Accept",e||"text/x-less, text/css; q=0.9, */*; q=0.5"),i.send(null),b.isFileProtocol&&!b.fileAsync?0===i.status||i.status>=200&&300>i.status?f(i.responseText):g(i.status,a):j?i.onreadystatechange=function(){4==i.readyState&&h(i,f,g)}:h(i,f,g)},g.prototype.supports=function(){return!0},g.prototype.clearFileCache=function(){f={}},g.prototype.loadFile=function(a,b,c,d,e){b&&!this.isPathAbsolute(a)&&(a=b+a),c=c||{};var g=this.extractUrlParts(a,window.location.href),h=g.url;if(c.useFileCache&&f[h])try{var i=f[h];e(null,{contents:i,filename:h,webInfo:{lastModified:new Date}})}catch(j){e({filename:h,message:"Error loading file "+h+" error was "+j.message})}else this.doXHR(h,c.mime,function(a,b){f[h]=a,e(null,{contents:a,filename:h,webInfo:{lastModified:b}})},function(a,b){e({type:"File",message:"'"+b+"' wasn't found ("+a+")",href:h})})},g}},{"../less/environment/abstract-file-manager.js":14}],7:[function(a,b){var c=a("./utils").addDataAttr,d=a("./browser");b.exports=function(b,e){function f(a){return e.postProcessor&&"function"==typeof e.postProcessor&&(a=e.postProcessor.call(a,a)||a),a}function g(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function h(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=c.concat(Array.prototype.slice.call(arguments,0));return a.apply(b,d)}}function i(a){for(var b,c=m.getElementsByTagName("style"),d=0;c.length>d;d++)if(b=c[d],b.type.match(t)){var f=g(e);f.modifyVars=a;var i=b.innerHTML||"";f.filename=m.location.href.replace(/#.*$/,""),n.render(i,f,h(function(a,b,c){b?r.add(b,"inline"):(a.type="text/css",a.styleSheet?a.styleSheet.cssText=c.css:a.innerHTML=c.css)},null,b))}}function j(a,b,d,h,i){function j(c){var e=c.contents,g=c.filename,i=c.webInfo,j={currentDirectory:q.getPath(g),filename:g,rootFilename:g,relativeUrls:k.relativeUrls};if(j.entryPath=j.currentDirectory,j.rootpath=k.rootpath||j.currentDirectory,i&&(i.remaining=h,!k.modifyVars)){var l=s.getCSS(g,i);if(!d&&l)return i.local=!0,void b(null,l,e,a,i,g)}r.remove(g),k.rootFileInfo=j,n.render(e,k,function(c,d){c?(c.href=g,b(c)):(d.css=f(d.css),k.modifyVars||s.setCSS(a.href,i.lastModified,d.css),b(null,d.css,e,a,i,g))})}var k=g(e);c(k,a),k.mime=a.type,i&&(k.modifyVars=i),q.loadFile(a.href,null,k,o,function(a,c){return a?void b(a):void j(c)})}function k(a,b,c){for(var d=0;n.sheets.length>d;d++)j(n.sheets[d],a,b,n.sheets.length-(d+1),c)}function l(){"development"===n.env&&(n.watchTimer=setInterval(function(){n.watchMode&&(q.clearFileCache(),k(function(a,c,e,f){a?r.add(a,a.href||f.href):c&&d.createCSS(b.document,c,f)}))},e.poll))}var m=b.document,n=a("../less")();n.options=e;var o=n.environment,p=a("./file-manager")(e,n.logger),q=new p;o.addFileManager(q),n.FileManager=p,a("./log-listener")(n,e);var r=a("./error-reporting")(b,n,e),s=n.cache=e.cache||a("./cache")(b,e,n.logger);e.functions&&n.functions.functionRegistry.addMultiple(e.functions);var t=/^text\/(x-)?less$/;return n.watch=function(){return n.watchMode||(n.env="development",l()),this.watchMode=!0,!0},n.unwatch=function(){return clearInterval(n.watchTimer),this.watchMode=!1,!1},n.registerStylesheetsImmediately=function(){var a=m.getElementsByTagName("link");n.sheets=[];for(var b=0;a.length>b;b++)("stylesheet/less"===a[b].rel||a[b].rel.match(/stylesheet/)&&a[b].type.match(t))&&n.sheets.push(a[b])},n.registerStylesheets=function(){return new Promise(function(a){n.registerStylesheetsImmediately(),a()})},n.modifyVars=function(a){return n.refresh(!0,a,!1)},n.refresh=function(a,c,e){return(a||e)&&e!==!1&&q.clearFileCache(),new Promise(function(e,f){var g,h,j;g=h=new Date,k(function(a,c,i,k,l){return a?(r.add(a,a.href||k.href),void f(a)):(n.logger.info(l.local?"loading "+k.href+" from cache.":"rendered "+k.href+" successfully."),d.createCSS(b.document,c,k),n.logger.info("css for "+k.href+" generated in "+(new Date-h)+"ms"),0===l.remaining&&(j=new Date-g,n.logger.info("less has finished. css generated in "+j+"ms"),e({startTime:g,endTime:h,totalMilliseconds:j,sheets:n.sheets.length})),void(h=new Date))},a,c),i(c)})},n.refreshStyles=i,n}},{"../less":30,"./browser":3,"./cache":4,"./error-reporting":5,"./file-manager":6,"./log-listener":8,"./utils":9}],8:[function(a,b){b.exports=function(a,b){var c=4,d=3,e=2,f=1;b.logLevel="undefined"!=typeof b.logLevel?b.logLevel:"development"===b.env?d:f,b.loggers||(b.loggers=[{debug:function(a){b.logLevel>=c&&console.log(a)},info:function(a){b.logLevel>=d&&console.log(a)},warn:function(a){b.logLevel>=e&&console.warn(a)},error:function(a){b.logLevel>=f&&console.error(a)}}]);for(var g=0;b.loggers.length>g;g++)a.logger.addListener(b.loggers[g])}},{}],9:[function(a,b){b.exports={extractId:function(a){return a.replace(/^[a-z-]+:\/+?[^\/]+/,"").replace(/[\?\&]livereload=\w+/,"").replace(/^\//,"").replace(/\.[a-zA-Z]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")},addDataAttr:function(a,b){for(var c in b.dataset)if(b.dataset.hasOwnProperty(c))if("env"===c||"dumpLineNumbers"===c||"rootpath"===c||"errorReporting"===c)a[c]=b.dataset[c];else try{a[c]=JSON.parse(b.dataset[c])}catch(d){}}}},{}],10:[function(a,b){var c={};b.exports=c;var d=function(a,b,c){if(a)for(var d=0;c.length>d;d++)a.hasOwnProperty(c[d])&&(b[c[d]]=a[c[d]])},e=["paths","relativeUrls","rootpath","strictImports","insecure","dumpLineNumbers","compress","syncImport","chunkInput","mime","useFileCache","processImports","reference","pluginManager"];c.Parse=function(a){d(a,this,e),"string"==typeof this.paths&&(this.paths=[this.paths])};var f=["paths","compress","ieCompat","strictMath","strictUnits","sourceMap","importMultiple","urlArgs","javascriptEnabled","pluginManager","importantScope"];c.Eval=function(a,b){d(a,this,f),"string"==typeof this.paths&&(this.paths=[this.paths]),this.frames=b||[],this.importantScope=this.importantScope||[]},c.Eval.prototype.inParenthesis=function(){this.parensStack||(this.parensStack=[]),this.parensStack.push(!0)},c.Eval.prototype.outOfParenthesis=function(){this.parensStack.pop()},c.Eval.prototype.isMathOn=function(){return this.strictMath?this.parensStack&&this.parensStack.length:!0},c.Eval.prototype.isPathRelative=function(a){return!/^(?:[a-z-]+:|\/|#)/i.test(a)},c.Eval.prototype.normalizePath=function(a){var b,c=a.split("/").reverse();for(a=[];0!==c.length;)switch(b=c.pop()){case".":break;case"..":0===a.length||".."===a[a.length-1]?a.push(b):a.pop();break;default:a.push(b)}return a.join("/")}},{}],11:[function(a,b){b.exports={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],12:[function(a,b){b.exports={colors:a("./colors"),unitConversions:a("./unit-conversions")}},{"./colors":11,"./unit-conversions":13}],13:[function(a,b){b.exports={length:{m:1,cm:.01,mm:.001,"in":.0254,px:.0254/96,pt:.0254/72,pc:.0254/72*12},duration:{s:1,ms:.001},angle:{rad:1/(2*Math.PI),deg:1/360,grad:.0025,turn:1}}},{}],14:[function(a,b){var c=function(){};c.prototype.getPath=function(a){var b=a.lastIndexOf("?");return b>0&&(a=a.slice(0,b)),b=a.lastIndexOf("/"),0>b&&(b=a.lastIndexOf("\\")),0>b?"":a.slice(0,b+1)},c.prototype.tryAppendExtension=function(a,b){return/(\.[a-z]*$)|([\?;].*)$/.test(a)?a:a+b},c.prototype.tryAppendLessExtension=function(a){return this.tryAppendExtension(a,".less")},c.prototype.supportsSync=function(){return!1},c.prototype.alwaysMakePathsAbsolute=function(){return!1},c.prototype.isPathAbsolute=function(a){return/^(?:[a-z-]+:|\/|\\|#)/i.test(a)},c.prototype.join=function(a,b){return a?a+b:b},c.prototype.pathDiff=function(a,b){var c,d,e,f,g=this.extractUrlParts(a),h=this.extractUrlParts(b),i="";if(g.hostPart!==h.hostPart)return"";for(d=Math.max(h.directories.length,g.directories.length),c=0;d>c&&h.directories[c]===g.directories[c];c++);for(f=h.directories.slice(c),e=g.directories.slice(c),c=0;f.length-1>c;c++)i+="../";for(c=0;e.length-1>c;c++)i+=e[c]+"/";return i},c.prototype.extractUrlParts=function(a,b){var c,d,e=/^((?:[a-z-]+:)?\/+?(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/i,f=a.match(e),g={},h=[];if(!f)throw new Error("Could not parse sheet href - '"+a+"'");if(b&&(!f[1]||f[2])){if(d=b.match(e),!d)throw new Error("Could not parse page url - '"+b+"'");f[1]=f[1]||d[1]||"",f[2]||(f[3]=d[3]+f[3])}if(f[3]){for(h=f[3].replace(/\\/g,"/").split("/"),c=0;h.length>c;c++)"."===h[c]&&(h.splice(c,1),c-=1);for(c=0;h.length>c;c++)".."===h[c]&&c>0&&(h.splice(c-1,2),c-=2)}return g.hostPart=f[1],g.directories=h,g.path=(f[1]||"")+h.join("/"),g.fileUrl=g.path+(f[4]||""),g.url=g.fileUrl+(f[5]||""),g},b.exports=c},{}],15:[function(a,b){var c=a("../logger"),d=function(a,b){this.fileManagers=b||[],a=a||{};for(var c=["encodeBase64","mimeLookup","charsetLookup","getSourceMapGenerator"],d=[],e=d.concat(c),f=0;e.length>f;f++){var g=e[f],h=a[g];h?this[g]=h.bind(a):d.length>f&&this.warn("missing required function in environment - "+g)}};d.prototype.getFileManager=function(a,b,d,e,f){a||c.warn("getFileManager called with no filename.. Please report this issue. continuing."),null==b&&c.warn("getFileManager called with null directory.. Please report this issue. continuing.");var g=this.fileManagers;d.pluginManager&&(g=[].concat(g).concat(d.pluginManager.getFileManagers()));for(var h=g.length-1;h>=0;h--){var i=g[h];if(i[f?"supportsSync":"supports"](a,b,d,e))return i}return null},d.prototype.addFileManager=function(a){this.fileManagers.push(a)},d.prototype.clearFileManagers=function(){this.fileManagers=[]},b.exports=d},{"../logger":32}],16:[function(a){function b(a,b,d){var e,f,g,h,i=b.alpha,j=d.alpha,k=[];g=j+i*(1-j);for(var l=0;3>l;l++)e=b.rgb[l]/255,f=d.rgb[l]/255,h=a(e,f),g&&(h=(j*f+i*(e-j*(e+f-h)))/g),k[l]=255*h;return new c(k,g)}var c=a("../tree/color"),d=a("./function-registry"),e={multiply:function(a,b){return a*b},screen:function(a,b){return a+b-a*b},overlay:function(a,b){return a*=2,1>=a?e.multiply(a,b):e.screen(a-1,b)},softlight:function(a,b){var c=1,d=a;return b>.5&&(d=1,c=a>.25?Math.sqrt(a):((16*a-12)*a+4)*a),a-(1-2*b)*d*(c-a)},hardlight:function(a,b){return e.overlay(b,a)},difference:function(a,b){return Math.abs(a-b)},exclusion:function(a,b){return a+b-2*a*b},average:function(a,b){return(a+b)/2},negation:function(a,b){return 1-Math.abs(a+b-1)}};for(var f in e)e.hasOwnProperty(f)&&(b[f]=b.bind(null,e[f]));d.addMultiple(b)},{"../tree/color":49,"./function-registry":21}],17:[function(a){function b(a){return Math.min(1,Math.max(0,a))}function c(a){return f.hsla(a.h,a.s,a.l,a.a)}function d(a){if(a instanceof g)return parseFloat(a.unit.is("%")?a.value/100:a.value);if("number"==typeof a)return a;throw{type:"Argument",message:"color functions take numbers as parameters"}}function e(a,b){return a instanceof g&&a.unit.is("%")?parseFloat(a.value*b/100):d(a)}var f,g=a("../tree/dimension"),h=a("../tree/color"),i=a("../tree/quoted"),j=a("../tree/anonymous"),k=a("./function-registry");f={rgb:function(a,b,c){return f.rgba(a,b,c,1)},rgba:function(a,b,c,f){var g=[a,b,c].map(function(a){return e(a,255)});return f=d(f),new h(g,f)},hsl:function(a,b,c){return f.hsla(a,b,c,1)},hsla:function(a,c,e,g){function h(a){return a=0>a?a+1:a>1?a-1:a,1>6*a?j+(i-j)*a*6:1>2*a?i:2>3*a?j+(i-j)*(2/3-a)*6:j}a=d(a)%360/360,c=b(d(c)),e=b(d(e)),g=b(d(g));var i=.5>=e?e*(c+1):e+c-e*c,j=2*e-i;return f.rgba(255*h(a+1/3),255*h(a),255*h(a-1/3),g)},hsv:function(a,b,c){return f.hsva(a,b,c,1)},hsva:function(a,b,c,e){a=d(a)%360/360*360,b=d(b),c=d(c),e=d(e);var g,h;g=Math.floor(a/60%6),h=a/60-g;var i=[c,c*(1-b),c*(1-h*b),c*(1-(1-h)*b)],j=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]];return f.rgba(255*i[j[g][0]],255*i[j[g][1]],255*i[j[g][2]],e)},hue:function(a){return new g(a.toHSL().h)},saturation:function(a){return new g(100*a.toHSL().s,"%")},lightness:function(a){return new g(100*a.toHSL().l,"%")},hsvhue:function(a){return new g(a.toHSV().h)},hsvsaturation:function(a){return new g(100*a.toHSV().s,"%")},hsvvalue:function(a){return new g(100*a.toHSV().v,"%")},red:function(a){return new g(a.rgb[0])},green:function(a){return new g(a.rgb[1])},blue:function(a){return new g(a.rgb[2])},alpha:function(a){return new g(a.toHSL().a)},luma:function(a){return new g(a.luma()*a.alpha*100,"%")},luminance:function(a){var b=.2126*a.rgb[0]/255+.7152*a.rgb[1]/255+.0722*a.rgb[2]/255;return new g(b*a.alpha*100,"%")},saturate:function(a,d,e){if(!a.rgb)return null;var f=a.toHSL();return f.s+="undefined"!=typeof e&&"relative"===e.value?f.s*d.value/100:d.value/100,f.s=b(f.s),c(f)},desaturate:function(a,d,e){var f=a.toHSL();return f.s-="undefined"!=typeof e&&"relative"===e.value?f.s*d.value/100:d.value/100,f.s=b(f.s),c(f)},lighten:function(a,d,e){var f=a.toHSL();return f.l+="undefined"!=typeof e&&"relative"===e.value?f.l*d.value/100:d.value/100,f.l=b(f.l),c(f)},darken:function(a,d,e){var f=a.toHSL();return f.l-="undefined"!=typeof e&&"relative"===e.value?f.l*d.value/100:d.value/100,f.l=b(f.l),c(f)},fadein:function(a,d,e){var f=a.toHSL();return f.a+="undefined"!=typeof e&&"relative"===e.value?f.a*d.value/100:d.value/100,f.a=b(f.a),c(f)},fadeout:function(a,d,e){var f=a.toHSL();return f.a-="undefined"!=typeof e&&"relative"===e.value?f.a*d.value/100:d.value/100,f.a=b(f.a),c(f)},fade:function(a,d){var e=a.toHSL();return e.a=d.value/100,e.a=b(e.a),c(e)},spin:function(a,b){var d=a.toHSL(),e=(d.h+b.value)%360;return d.h=0>e?360+e:e,c(d)},mix:function(a,b,c){a.toHSL&&b.toHSL||(console.log(b.type),console.dir(b)),c||(c=new g(50));var d=c.value/100,e=2*d-1,f=a.toHSL().a-b.toHSL().a,i=((e*f==-1?e:(e+f)/(1+e*f))+1)/2,j=1-i,k=[a.rgb[0]*i+b.rgb[0]*j,a.rgb[1]*i+b.rgb[1]*j,a.rgb[2]*i+b.rgb[2]*j],l=a.alpha*d+b.alpha*(1-d);return new h(k,l)},greyscale:function(a){return f.desaturate(a,new g(100))},contrast:function(a,b,c,e){if(!a.rgb)return null;if("undefined"==typeof c&&(c=f.rgba(255,255,255,1)),"undefined"==typeof b&&(b=f.rgba(0,0,0,1)),b.luma()>c.luma()){var g=c;c=b,b=g}return e="undefined"==typeof e?.43:d(e),a.luma()<e?c:b},argb:function(a){return new j(a.toARGB())},color:function(a){if(a instanceof i&&/^#([a-f0-9]{6}|[a-f0-9]{3})$/i.test(a.value))return new h(a.value.slice(1));if(a instanceof h||(a=h.fromKeyword(a.value)))return a.value=void 0,a;throw{type:"Argument",message:"argument must be a color keyword or 3/6 digit hex e.g. #FFF"}},tint:function(a,b){return f.mix(f.rgb(255,255,255),a,b)},shade:function(a,b){return f.mix(f.rgb(0,0,0),a,b)}},k.addMultiple(f)},{"../tree/anonymous":45,"../tree/color":49,"../tree/dimension":55,"../tree/quoted":72,"./function-registry":21}],18:[function(a,b){b.exports=function(b){var c=a("../tree/quoted"),d=a("../tree/url"),e=a("./function-registry"),f=function(a,b){return new d(b,a.index,a.currentFileInfo).eval(a.context)},g=a("../logger");e.add("data-uri",function(a,e){e||(e=a,a=null);var h=a&&a.value,i=e.value,j=this.currentFileInfo,k=j.relativeUrls?j.currentDirectory:j.entryPath,l=i.indexOf("#"),m="";-1!==l&&(m=i.slice(l),i=i.slice(0,l));var n=b.getFileManager(i,k,this.context,b,!0);if(!n)return f(this,e);var o=!1;if(a)o=/;base64$/.test(h);else{if(h=b.mimeLookup(i),"image/svg+xml"===h)o=!1;else{var p=b.charsetLookup(h);o=["US-ASCII","UTF-8"].indexOf(p)<0}o&&(h+=";base64")}var q=n.loadFileSync(i,k,this.context,b);if(!q.contents)return g.warn("Skipped data-uri embedding of "+i+" because file not found"),f(this,e||a);var r=q.contents;if(o&&!b.encodeBase64)return f(this,e);r=o?b.encodeBase64(r):encodeURIComponent(r);var s="data:"+h+","+r+m,t=32768;return s.length>=t&&this.context.ieCompat!==!1?(g.warn("Skipped data-uri embedding of "+i+" because its size ("+s.length+" characters) exceeds IE8-safe "+t+" characters!"),f(this,e||a)):new d(new c('"'+s+'"',s,!1,this.index,this.currentFileInfo),this.index,this.currentFileInfo)})}},{"../logger":32,"../tree/quoted":72,"../tree/url":79,"./function-registry":21}],19:[function(a,b){var c=a("../tree/keyword"),d=a("./function-registry"),e={eval:function(){var a=this.value_,b=this.error_;if(b)throw b;return null!=a?a?c.True:c.False:void 0},value:function(a){this.value_=a},error:function(a){this.error_=a},reset:function(){this.value_=this.error_=null}};d.add("default",e.eval.bind(e)),b.exports=e},{"../tree/keyword":64,"./function-registry":21}],20:[function(a,b){var c=a("../tree/expression"),d=function(a,b,c,d){this.name=a.toLowerCase(),this.index=c,this.context=b,this.currentFileInfo=d,this.func=b.frames[0].functionRegistry.get(this.name)};d.prototype.isValid=function(){return Boolean(this.func)},d.prototype.call=function(a){return Array.isArray(a)&&(a=a.filter(function(a){return"Comment"===a.type?!1:!0}).map(function(a){if("Expression"===a.type){var b=a.value.filter(function(a){return"Comment"===a.type?!1:!0});return 1===b.length?b[0]:new c(b)}return a})),this.func.apply(this,a)},b.exports=d},{"../tree/expression":58}],21:[function(a,b){function c(a){return{_data:{},add:function(a,b){a=a.toLowerCase(),this._data.hasOwnProperty(a),this._data[a]=b},addMultiple:function(a){Object.keys(a).forEach(function(b){this.add(b,a[b])}.bind(this))},get:function(b){return this._data[b]||a&&a.get(b)},inherit:function(){return c(this)}}}b.exports=c(null)},{}],22:[function(a,b){b.exports=function(b){var c={functionRegistry:a("./function-registry"),functionCaller:a("./function-caller")};return a("./default"),a("./color"),a("./color-blending"),a("./data-uri")(b),a("./math"),a("./number"),a("./string"),a("./svg")(b),a("./types"),c}},{"./color":17,"./color-blending":16,"./data-uri":18,"./default":19,"./function-caller":20,"./function-registry":21,"./math":24,"./number":25,"./string":26,"./svg":27,"./types":28}],23:[function(a,b){var c=a("../tree/dimension"),d=function(){};d._math=function(a,b,d){if(!(d instanceof c))throw{type:"Argument",message:"argument must be a number"};return null==b?b=d.unit:d=d.unify(),new c(a(parseFloat(d.value)),b)},b.exports=d},{"../tree/dimension":55}],24:[function(a){var b=a("./function-registry"),c=a("./math-helper.js"),d={ceil:null,floor:null,sqrt:null,abs:null,tan:"",sin:"",cos:"",atan:"rad",asin:"rad",acos:"rad"};for(var e in d)d.hasOwnProperty(e)&&(d[e]=c._math.bind(null,Math[e],d[e]));d.round=function(a,b){var d="undefined"==typeof b?0:b.value;return c._math(function(a){return a.toFixed(d)},null,a)},b.addMultiple(d)},{"./function-registry":21,"./math-helper.js":23}],25:[function(a){var b=a("../tree/dimension"),c=a("../tree/anonymous"),d=a("./function-registry"),e=a("./math-helper.js"),f=function(a,d){switch(d=Array.prototype.slice.call(d),d.length){case 0:throw{type:"Argument",message:"one or more arguments required"}}var e,f,g,h,i,j,k,l,m=[],n={};for(e=0;d.length>e;e++)if(g=d[e],g instanceof b)if(h=""===g.unit.toString()&&void 0!==l?new b(g.value,l).unify():g.unify(),j=""===h.unit.toString()&&void 0!==k?k:h.unit.toString(),k=""!==j&&void 0===k||""!==j&&""===m[0].unify().unit.toString()?j:k,l=""!==j&&void 0===l?g.unit.toString():l,f=void 0!==n[""]&&""!==j&&j===k?n[""]:n[j],void 0!==f)i=""===m[f].unit.toString()&&void 0!==l?new b(m[f].value,l).unify():m[f].unify(),(a&&i.value>h.value||!a&&h.value>i.value)&&(m[f]=g);else{if(void 0!==k&&j!==k)throw{type:"Argument",message:"incompatible types"};n[j]=m.length,m.push(g)}else Array.isArray(d[e].value)&&Array.prototype.push.apply(d,Array.prototype.slice.call(d[e].value));return 1==m.length?m[0]:(d=m.map(function(a){return a.toCSS(this.context)}).join(this.context.compress?",":", "),new c((a?"min":"max")+"("+d+")"))};d.addMultiple({min:function(){return f(!0,arguments)},max:function(){return f(!1,arguments)},convert:function(a,b){return a.convertTo(b.value)},pi:function(){return new b(Math.PI)},mod:function(a,c){return new b(a.value%c.value,a.unit)},pow:function(a,c){if("number"==typeof a&&"number"==typeof c)a=new b(a),c=new b(c);else if(!(a instanceof b&&c instanceof b))throw{type:"Argument",message:"arguments must be numbers"};return new b(Math.pow(a.value,c.value),a.unit)},percentage:function(a){var b=e._math(function(a){return 100*a},"%",a);return b}})},{"../tree/anonymous":45,"../tree/dimension":55,"./function-registry":21,"./math-helper.js":23}],26:[function(a){var b=a("../tree/quoted"),c=a("../tree/anonymous"),d=a("../tree/javascript"),e=a("./function-registry");e.addMultiple({e:function(a){return new c(a instanceof d?a.evaluated:a.value)},escape:function(a){return new c(encodeURI(a.value).replace(/=/g,"%3D").replace(/:/g,"%3A").replace(/#/g,"%23").replace(/;/g,"%3B").replace(/\(/g,"%28").replace(/\)/g,"%29"))},replace:function(a,c,d,e){var f=a.value;return d="Quoted"===d.type?d.value:d.toCSS(),f=f.replace(new RegExp(c.value,e?e.value:""),d),new b(a.quote||"",f,a.escaped)},"%":function(a){for(var c=Array.prototype.slice.call(arguments,1),d=a.value,e=0;c.length>e;e++)d=d.replace(/%[sda]/i,function(a){var b="Quoted"===c[e].type&&a.match(/s/i)?c[e].value:c[e].toCSS();return a.match(/[A-Z]$/)?encodeURIComponent(b):b});return d=d.replace(/%%/g,"%"),new b(a.quote||"",d,a.escaped)}})},{"../tree/anonymous":45,"../tree/javascript":62,"../tree/quoted":72,"./function-registry":21}],27:[function(a,b){b.exports=function(){var b=a("../tree/dimension"),c=a("../tree/color"),d=a("../tree/expression"),e=a("../tree/quoted"),f=a("../tree/url"),g=a("./function-registry");g.add("svg-gradient",function(a){function g(){throw{type:"Argument",message:"svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position] or direction, color list"}}var h,i,j,k,l,m,n,o,p="linear",q='x="0" y="0" width="1" height="1"',r={compress:!1},s=a.toCSS(r);switch(2==arguments.length?(arguments[1].value.length<2&&g(),h=arguments[1].value):arguments.length<3?g():h=Array.prototype.slice.call(arguments,1),s){case"to bottom":i='x1="0%" y1="0%" x2="0%" y2="100%"';break;case"to right":i='x1="0%" y1="0%" x2="100%" y2="0%"';break;case"to bottom right":i='x1="0%" y1="0%" x2="100%" y2="100%"';break;case"to top right":i='x1="0%" y1="100%" x2="100%" y2="0%"';break;case"ellipse":case"ellipse at center":p="radial",i='cx="50%" cy="50%" r="75%"',q='x="-50" y="-50" width="101" height="101"';break;default:throw{type:"Argument",message:"svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'"
+}}for(j='<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none"><'+p+'Gradient id="gradient" gradientUnits="userSpaceOnUse" '+i+">",k=0;h.length>k;k+=1)h[k]instanceof d?(l=h[k].value[0],m=h[k].value[1]):(l=h[k],m=void 0),l instanceof c&&((0===k||k+1===h.length)&&void 0===m||m instanceof b)||g(),n=m?m.toCSS(r):0===k?"0%":"100%",o=l.alpha,j+='<stop offset="'+n+'" stop-color="'+l.toRGB()+'"'+(1>o?' stop-opacity="'+o+'"':"")+"/>";return j+="</"+p+"Gradient><rect "+q+' fill="url(#gradient)" /></svg>',j=encodeURIComponent(j),j="data:image/svg+xml,"+j,new f(new e("'"+j+"'",j,!1,this.index,this.currentFileInfo),this.index,this.currentFileInfo)})}},{"../tree/color":49,"../tree/dimension":55,"../tree/expression":58,"../tree/quoted":72,"../tree/url":79,"./function-registry":21}],28:[function(a){var b=a("../tree/keyword"),c=a("../tree/detached-ruleset"),d=a("../tree/dimension"),e=a("../tree/color"),f=a("../tree/quoted"),g=a("../tree/anonymous"),h=a("../tree/url"),i=a("../tree/operation"),j=a("./function-registry"),k=function(a,c){return a instanceof c?b.True:b.False},l=function(a,c){if(void 0===c)throw{type:"Argument",message:"missing the required second argument to isunit."};if(c="string"==typeof c.value?c.value:c,"string"!=typeof c)throw{type:"Argument",message:"Second argument to isunit should be a unit or a string."};return a instanceof d&&a.unit.is(c)?b.True:b.False},m=function(a){var b=Array.isArray(a.value)?a.value:Array(a);return b};j.addMultiple({isruleset:function(a){return k(a,c)},iscolor:function(a){return k(a,e)},isnumber:function(a){return k(a,d)},isstring:function(a){return k(a,f)},iskeyword:function(a){return k(a,b)},isurl:function(a){return k(a,h)},ispixel:function(a){return l(a,"px")},ispercentage:function(a){return l(a,"%")},isem:function(a){return l(a,"em")},isunit:l,unit:function(a,c){if(!(a instanceof d))throw{type:"Argument",message:"the first argument to unit must be a number"+(a instanceof i?". Have you forgotten parenthesis?":"")};return c=c?c instanceof b?c.value:c.toCSS():"",new d(a.value,c)},"get-unit":function(a){return new g(a.unit)},extract:function(a,b){return b=b.value-1,m(a)[b]},length:function(a){return new d(m(a).length)}})},{"../tree/anonymous":45,"../tree/color":49,"../tree/detached-ruleset":54,"../tree/dimension":55,"../tree/keyword":64,"../tree/operation":70,"../tree/quoted":72,"../tree/url":79,"./function-registry":21}],29:[function(a,b){var c=a("./contexts"),d=a("./parser/parser"),e=a("./plugins/function-importer");b.exports=function(a){var b=function(a,b){this.rootFilename=b.filename,this.paths=a.paths||[],this.contents={},this.contentsIgnoredChars={},this.mime=a.mime,this.error=null,this.context=a,this.queue=[],this.files={}};return b.prototype.push=function(b,f,g,h,i){var j=this;this.queue.push(b);var k=function(a,c,d){j.queue.splice(j.queue.indexOf(b),1);var e=d===j.rootFilename;h.optional&&a?i(null,{rules:[]},!1,null):(j.files[d]=c,a&&!j.error&&(j.error=a),i(a,c,e,d))},l={relativeUrls:this.context.relativeUrls,entryPath:g.entryPath,rootpath:g.rootpath,rootFilename:g.rootFilename},m=a.getFileManager(b,g.currentDirectory,this.context,a);if(!m)return void k({message:"Could not find a file-manager for "+b});f&&(b=m.tryAppendExtension(b,h.plugin?".js":".less"));var n=function(a){var b=a.filename,f=a.contents.replace(/^\uFEFF/,"");l.currentDirectory=m.getPath(b),l.relativeUrls&&(l.rootpath=m.join(j.context.rootpath||"",m.pathDiff(l.currentDirectory,l.entryPath)),!m.isPathAbsolute(l.rootpath)&&m.alwaysMakePathsAbsolute()&&(l.rootpath=m.join(l.entryPath,l.rootpath))),l.filename=b;var i=new c.Parse(j.context);i.processImports=!1,j.contents[b]=f,(g.reference||h.reference)&&(l.reference=!0),h.plugin?new e(i,l).eval(f,function(a,c){k(a,c,b)}):h.inline?k(null,f,b):new d(i,j,l).parse(f,function(a,c){k(a,c,b)})},o=m.loadFile(b,g.currentDirectory,this.context,a,function(a,b){a?k(a):n(b)});o&&o.then(n,k)},b}},{"./contexts":10,"./parser/parser":37,"./plugins/function-importer":39}],30:[function(a,b){b.exports=function(b,c){var d,e,f,g,h,i={version:[2,5,3],data:a("./data"),tree:a("./tree"),Environment:h=a("./environment/environment"),AbstractFileManager:a("./environment/abstract-file-manager"),environment:b=new h(b,c),visitors:a("./visitors"),Parser:a("./parser/parser"),functions:a("./functions")(b),contexts:a("./contexts"),SourceMapOutput:d=a("./source-map-output")(b),SourceMapBuilder:e=a("./source-map-builder")(d,b),ParseTree:f=a("./parse-tree")(e),ImportManager:g=a("./import-manager")(b),render:a("./render")(b,f,g),parse:a("./parse")(b,f,g),LessError:a("./less-error"),transformTree:a("./transform-tree"),utils:a("./utils"),PluginManager:a("./plugin-manager"),logger:a("./logger")};return i}},{"./contexts":10,"./data":12,"./environment/abstract-file-manager":14,"./environment/environment":15,"./functions":22,"./import-manager":29,"./less-error":31,"./logger":32,"./parse":34,"./parse-tree":33,"./parser/parser":37,"./plugin-manager":38,"./render":40,"./source-map-builder":41,"./source-map-output":42,"./transform-tree":43,"./tree":61,"./utils":82,"./visitors":86}],31:[function(a,b){var c=a("./utils"),d=b.exports=function(a,b,d){Error.call(this);var e=a.filename||d;if(b&&e){var f=b.contents[e],g=c.getLocation(a.index,f),h=g.line,i=g.column,j=a.call&&c.getLocation(a.call,f).line,k=f.split("\n");this.type=a.type||"Syntax",this.filename=e,this.index=a.index,this.line="number"==typeof h?h+1:null,this.callLine=j+1,this.callExtract=k[j],this.column=i,this.extract=[k[h-1],k[h],k[h+1]]}this.message=a.message,this.stack=a.stack};if("undefined"==typeof Object.create){var e=function(){};e.prototype=Error.prototype,d.prototype=new e}else d.prototype=Object.create(Error.prototype);d.prototype.constructor=d},{"./utils":82}],32:[function(a,b){b.exports={error:function(a){this._fireEvent("error",a)},warn:function(a){this._fireEvent("warn",a)},info:function(a){this._fireEvent("info",a)},debug:function(a){this._fireEvent("debug",a)},addListener:function(a){this._listeners.push(a)},removeListener:function(a){for(var b=0;this._listeners.length>b;b++)if(this._listeners[b]===a)return void this._listeners.splice(b,1)},_fireEvent:function(a,b){for(var c=0;this._listeners.length>c;c++){var d=this._listeners[c][a];d&&d(b)}},_listeners:[]}},{}],33:[function(a,b){var c=a("./less-error"),d=a("./transform-tree"),e=a("./logger");b.exports=function(a){var b=function(a,b){this.root=a,this.imports=b};return b.prototype.toCSS=function(b){var f,g,h={};try{f=d(this.root,b)}catch(i){throw new c(i,this.imports)}try{var j=Boolean(b.compress);j&&e.warn("The compress option has been deprecated. We recommend you use a dedicated css minifier, for instance see less-plugin-clean-css.");var k={compress:j,dumpLineNumbers:b.dumpLineNumbers,strictUnits:Boolean(b.strictUnits),numPrecision:8};b.sourceMap?(g=new a(b.sourceMap),h.css=g.toCSS(f,k,this.imports)):h.css=f.toCSS(k)}catch(i){throw new c(i,this.imports)}if(b.pluginManager)for(var l=b.pluginManager.getPostProcessors(),m=0;l.length>m;m++)h.css=l[m].process(h.css,{sourceMap:g,options:b,imports:this.imports});b.sourceMap&&(h.map=g.getExternalSourceMap()),h.imports=[];for(var n in this.imports.files)this.imports.files.hasOwnProperty(n)&&n!==this.imports.rootFilename&&h.imports.push(n);return h},b}},{"./less-error":31,"./logger":32,"./transform-tree":43}],34:[function(a,b){var c,d=a("./contexts"),e=a("./parser/parser"),f=a("./plugin-manager");b.exports=function(b,g,h){var i=function(b,g,j){if(g=g||{},"function"==typeof g&&(j=g,g={}),!j){c||(c="undefined"==typeof Promise?a("promise"):Promise);var k=this;return new c(function(a,c){i.call(k,b,g,function(b,d){b?c(b):a(d)})})}var l,m,n=new f(this);if(n.addPlugins(g.plugins),g.pluginManager=n,l=new d.Parse(g),g.rootFileInfo)m=g.rootFileInfo;else{var o=g.filename||"input",p=o.replace(/[^\/\\]*$/,"");m={filename:o,relativeUrls:l.relativeUrls,rootpath:l.rootpath||"",currentDirectory:p,entryPath:p,rootFilename:o},m.rootpath&&"/"!==m.rootpath.slice(-1)&&(m.rootpath+="/")}var q=new h(l,m);new e(l,q,m).parse(b,function(a,b){return a?j(a):void j(null,b,q,g)},g)};return i}},{"./contexts":10,"./parser/parser":37,"./plugin-manager":38,promise:void 0}],35:[function(a,b){b.exports=function(a,b){function c(b){var c=h-q;512>c&&!b||!c||(p.push(a.slice(q,h+1)),q=h+1)}var d,e,f,g,h,i,j,k,l,m=a.length,n=0,o=0,p=[],q=0;for(h=0;m>h;h++)if(j=a.charCodeAt(h),!(j>=97&&122>=j||34>j))switch(j){case 40:o++,e=h;continue;case 41:if(--o<0)return b("missing opening `(`",h);continue;case 59:o||c();continue;case 123:n++,d=h;continue;case 125:if(--n<0)return b("missing opening `{`",h);n||o||c();continue;case 92:if(m-1>h){h++;continue}return b("unescaped `\\`",h);case 34:case 39:case 96:for(l=0,i=h,h+=1;m>h;h++)if(k=a.charCodeAt(h),!(k>96)){if(k==j){l=1;break}if(92==k){if(h==m-1)return b("unescaped `\\`",h);h++}}if(l)continue;return b("unmatched `"+String.fromCharCode(j)+"`",i);case 47:if(o||h==m-1)continue;if(k=a.charCodeAt(h+1),47==k)for(h+=2;m>h&&(k=a.charCodeAt(h),!(13>=k)||10!=k&&13!=k);h++);else if(42==k){for(f=i=h,h+=2;m-1>h&&(k=a.charCodeAt(h),125==k&&(g=h),42!=k||47!=a.charCodeAt(h+1));h++);if(h==m-1)return b("missing closing `*/`",i);h++}continue;case 42:if(m-1>h&&47==a.charCodeAt(h+1))return b("unmatched `/*`",h);continue}return 0!==n?f>d&&g>f?b("missing closing `}` or `*/`",d):b("missing closing `}`",d):0!==o?b("missing closing `)`",e):(c(!0),p)}},{}],36:[function(a,b){var c=a("./chunker");b.exports=function(){var a,b,d,e,f,g,h,i=[],j={};j.save=function(){h=j.i,i.push({current:g,i:j.i,j:b})},j.restore=function(a){(j.i>d||j.i===d&&a&&!e)&&(d=j.i,e=a);var c=i.pop();g=c.current,h=j.i=c.i,b=c.j},j.forget=function(){i.pop()},j.isWhitespace=function(b){var c=j.i+(b||0),d=a.charCodeAt(c);return d===k||d===n||d===l||d===m},j.$re=function(a){j.i>h&&(g=g.slice(j.i-h),h=j.i);var b=a.exec(g);return b?(s(b[0].length),"string"==typeof b?b:1===b.length?b[0]:b):null},j.$char=function(b){return a.charAt(j.i)!==b?null:(s(1),b)},j.$str=function(b){for(var c=b.length,d=0;c>d;d++)if(a.charAt(j.i+d)!==b.charAt(d))return null;return s(c),b},j.$quoted=function(){var b=a.charAt(j.i);if("'"===b||'"'===b){for(var c=a.length,d=j.i,e=1;c>e+d;e++){var f=a.charAt(e+d);switch(f){case"\\":e++;continue;case"\r":case"\n":break;case b:var g=a.substr(d,e+1);return s(e+1),g}}return null}};var k=32,l=9,m=10,n=13,o=43,p=44,q=47,r=57;j.autoCommentAbsorb=!0,j.commentStore=[],j.finished=!1;var s=function(c){for(var d,e,i,o=j.i,p=b,r=j.i-h,t=j.i+g.length-r,u=j.i+=c,v=a;t>j.i;j.i++){if(d=v.charCodeAt(j.i),j.autoCommentAbsorb&&d===q){if(e=v.charAt(j.i+1),"/"===e){i={index:j.i,isLineComment:!0};var w=v.indexOf("\n",j.i+2);0>w&&(w=t),j.i=w,i.text=v.substr(i.i,j.i-i.i),j.commentStore.push(i);continue}if("*"===e){var x=v.indexOf("*/",j.i+2);if(x>=0){i={index:j.i,text:v.substr(j.i,x+2-j.i),isLineComment:!1},j.i+=i.text.length-1,j.commentStore.push(i);continue}}break}if(d!==k&&d!==m&&d!==l&&d!==n)break}if(g=g.slice(c+j.i-u+r),h=j.i,!g.length){if(f.length-1>b)return g=f[++b],s(0),!0;j.finished=!0}return o!==j.i||p!==b};return j.peek=function(b){if("string"==typeof b){for(var c=0;b.length>c;c++)if(a.charAt(j.i+c)!==b.charAt(c))return!1;return!0}return b.test(g)},j.peekChar=function(b){return a.charAt(j.i)===b},j.currentChar=function(){return a.charAt(j.i)},j.getInput=function(){return a},j.peekNotNumeric=function(){var b=a.charCodeAt(j.i);return b>r||o>b||b===q||b===p},j.start=function(e,i,k){a=e,j.i=b=h=d=0,f=i?c(e,k):[e],g=f[0],s(0)},j.end=function(){var b,c=j.i>=a.length;return d>j.i&&(b=e,j.i=d),{isFinished:c,furthest:j.i,furthestPossibleErrorMessage:b,furthestReachedEnd:j.i>=a.length-1,furthestChar:a[j.i]}},j}},{"./chunker":35}],37:[function(a,b){var c=a("../less-error"),d=a("../tree"),e=a("../visitors"),f=a("./parser-input"),g=a("../utils"),h=function i(a,b,h){function j(a,b){var c="[object Function]"===Object.prototype.toString.call(a)?a.call(n):o.$re(a);return c?c:void l(b||("string"==typeof a?"expected '"+a+"' got '"+o.currentChar()+"'":"unexpected token"))}function k(a,b){return o.$char(a)?a:void l(b||"expected '"+a+"' got '"+o.currentChar()+"'")}function l(a,d){throw new c({index:o.i,filename:h.filename,type:d||"Syntax",message:a},b)}function m(a){var b=h.filename;return{lineNumber:g.getLocation(a,o.getInput()).line+1,fileName:b}}var n,o=f();return{parse:function(f,g,j){var k,l,m,n,p=null,q="";if(l=j&&j.globalVars?i.serializeVars(j.globalVars)+"\n":"",m=j&&j.modifyVars?"\n"+i.serializeVars(j.modifyVars):"",a.pluginManager)for(var r=a.pluginManager.getPreProcessors(),s=0;r.length>s;s++)f=r[s].process(f,{context:a,imports:b,fileInfo:h});(l||j&&j.banner)&&(q=(j&&j.banner?j.banner:"")+l,n=b.contentsIgnoredChars,n[h.filename]=n[h.filename]||0,n[h.filename]+=q.length),f=f.replace(/\r\n?/g,"\n"),f=q+f.replace(/^\uFEFF/,"")+m,b.contents[h.filename]=f;try{o.start(f,a.chunkInput,function(a,d){throw new c({index:d,type:"Parse",message:a,filename:h.filename},b)}),k=new d.Ruleset(null,this.parsers.primary()),k.root=!0,k.firstRoot=!0}catch(t){return g(new c(t,b,h.filename))}var u=o.end();if(!u.isFinished){var v=u.furthestPossibleErrorMessage;v||(v="Unrecognised input","}"===u.furthestChar?v+=". Possibly missing opening '{'":")"===u.furthestChar?v+=". Possibly missing opening '('":u.furthestReachedEnd&&(v+=". Possibly missing something")),p=new c({type:"Parse",message:v,index:u.furthest,filename:h.filename},b)}var w=function(a){return a=p||a||b.error,a?(a instanceof c||(a=new c(a,b,h.filename)),g(a)):g(null,k)};return a.processImports===!1?w():void new e.ImportVisitor(b,w).run(k)},parsers:n={primary:function(){for(var a,b=this.mixin,c=[];;){for(;;){if(a=this.comment(),!a)break;c.push(a)}if(o.finished)break;if(o.peek("}"))break;if(a=this.extendRule())c=c.concat(a);else if(a=b.definition()||this.rule()||this.ruleset()||b.call()||this.rulesetCall()||this.directive())c.push(a);else{for(var d=!1;o.$char(";");)d=!0;if(!d)break}}return c},comment:function(){if(o.commentStore.length){var a=o.commentStore.shift();return new d.Comment(a.text,a.isLineComment,a.index,h)}},entities:{quoted:function(){var a,b=o.i,c=!1;return o.save(),o.$char("~")&&(c=!0),(a=o.$quoted())?(o.forget(),new d.Quoted(a.charAt(0),a.substr(1,a.length-2),c,b,h)):void o.restore()},keyword:function(){var a=o.$char("%")||o.$re(/^[_A-Za-z-][_A-Za-z0-9-]*/);return a?d.Color.fromKeyword(a)||new d.Keyword(a):void 0},call:function(){var a,b,c,e,f=o.i;if(!o.peek(/^url\(/i))return o.save(),(a=o.$re(/^([\w-]+|%|progid:[\w\.]+)\(/))?(a=a[1],b=a.toLowerCase(),"alpha"===b&&(e=n.alpha())?(o.forget(),e):(c=this.arguments(),o.$char(")")?(o.forget(),new d.Call(a,c,f,h)):void o.restore("Could not parse call arguments or missing ')'"))):void o.forget()},arguments:function(){for(var a,b=[];;){if(a=this.assignment()||n.expression(),!a)break;if(b.push(a),!o.$char(","))break}return b},literal:function(){return this.dimension()||this.color()||this.quoted()||this.unicodeDescriptor()},assignment:function(){var a,b;return o.save(),(a=o.$re(/^\w+(?=\s?=)/i))&&o.$char("=")&&(b=n.entity())?(o.forget(),new d.Assignment(a,b)):void o.restore()},url:function(){var a,b=o.i;return o.autoCommentAbsorb=!1,o.$str("url(")?(a=this.quoted()||this.variable()||o.$re(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/)||"",o.autoCommentAbsorb=!0,k(")"),new d.URL(null!=a.value||a instanceof d.Variable?a:new d.Anonymous(a),b,h)):void(o.autoCommentAbsorb=!0)},variable:function(){var a,b=o.i;return"@"===o.currentChar()&&(a=o.$re(/^@@?[\w-]+/))?new d.Variable(a,b,h):void 0},variableCurly:function(){var a,b=o.i;return"@"===o.currentChar()&&(a=o.$re(/^@\{([\w-]+)\}/))?new d.Variable("@"+a[1],b,h):void 0},color:function(){var a;if("#"===o.currentChar()&&(a=o.$re(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/))){var b=a.input.match(/^#([\w]+).*/);return b=b[1],b.match(/^[A-Fa-f0-9]+$/)||l("Invalid HEX color code"),new d.Color(a[1],void 0,"#"+b)}},dimension:function(){if(!o.peekNotNumeric()){var a=o.$re(/^([+-]?\d*\.?\d+)(%|[a-z]+)?/i);return a?new d.Dimension(a[1],a[2]):void 0}},unicodeDescriptor:function(){var a;return a=o.$re(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/),a?new d.UnicodeDescriptor(a[0]):void 0},javascript:function(){var a,b=o.i;o.save();var c=o.$char("~"),e=o.$char("`");return e?(a=o.$re(/^[^`]*`/))?(o.forget(),new d.JavaScript(a.substr(0,a.length-1),Boolean(c),b,h)):void o.restore("invalid javascript definition"):void o.restore()}},variable:function(){var a;return"@"===o.currentChar()&&(a=o.$re(/^(@[\w-]+)\s*:/))?a[1]:void 0},rulesetCall:function(){var a;return"@"===o.currentChar()&&(a=o.$re(/^(@[\w-]+)\s*\(\s*\)\s*;/))?new d.RulesetCall(a[1]):void 0},extend:function(a){var b,c,e,f,g,h=o.i;if(o.$str(a?"&:extend(":":extend(")){do{for(e=null,b=null;!(e=o.$re(/^(all)(?=\s*(\)|,))/))&&(c=this.element());)b?b.push(c):b=[c];e=e&&e[1],b||l("Missing target selector for :extend()."),g=new d.Extend(new d.Selector(b),e,h),f?f.push(g):f=[g]}while(o.$char(","));return j(/^\)/),a&&j(/^;/),f}},extendRule:function(){return this.extend(!0)},mixin:{call:function(){var a,b,c,e,f,g,i=o.currentChar(),j=!1,l=o.i;if("."===i||"#"===i){for(o.save();;){if(a=o.i,e=o.$re(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/),!e)break;c=new d.Element(f,e,a,h),b?b.push(c):b=[c],f=o.$char(">")}return b&&(o.$char("(")&&(g=this.args(!0).args,k(")")),n.important()&&(j=!0),n.end())?(o.forget(),new d.mixin.Call(b,g,l,h,j)):void o.restore()}},args:function(a){var b,c,e,f,g,h,i,j=n.entities,k={args:null,variadic:!1},m=[],p=[],q=[];for(o.save();;){if(a)h=n.detachedRuleset()||n.expression();else{if(o.commentStore.length=0,o.$str("...")){k.variadic=!0,o.$char(";")&&!b&&(b=!0),(b?p:q).push({variadic:!0});break}h=j.variable()||j.literal()||j.keyword()}if(!h)break;f=null,h.throwAwayComments&&h.throwAwayComments(),g=h;var r=null;if(a?h.value&&1==h.value.length&&(r=h.value[0]):r=h,r&&r instanceof d.Variable)if(o.$char(":")){if(m.length>0&&(b&&l("Cannot mix ; and , as delimiter types"),c=!0),g=n.detachedRuleset()||n.expression(),!g){if(!a)return o.restore(),k.args=[],k;l("could not understand value for named argument")}f=e=r.name}else if(o.$str("...")){if(!a){k.variadic=!0,o.$char(";")&&!b&&(b=!0),(b?p:q).push({name:h.name,variadic:!0});break}i=!0}else a||(e=f=r.name,g=null);g&&m.push(g),q.push({name:f,value:g,expand:i}),o.$char(",")||(o.$char(";")||b)&&(c&&l("Cannot mix ; and , as delimiter types"),b=!0,m.length>1&&(g=new d.Value(m)),p.push({name:e,value:g,expand:i}),e=null,m=[],c=!1)}return o.forget(),k.args=b?p:q,k},definition:function(){var a,b,c,e,f=[],g=!1;if(!("."!==o.currentChar()&&"#"!==o.currentChar()||o.peek(/^[^{]*\}/)))if(o.save(),b=o.$re(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/)){a=b[1];var h=this.args(!1);if(f=h.args,g=h.variadic,!o.$char(")"))return void o.restore("Missing closing ')'");if(o.commentStore.length=0,o.$str("when")&&(e=j(n.conditions,"expected condition")),c=n.block())return o.forget(),new d.mixin.Definition(a,f,c,e,g);o.restore()}else o.forget()}},entity:function(){var a=this.entities;return this.comment()||a.literal()||a.variable()||a.url()||a.call()||a.keyword()||a.javascript()},end:function(){return o.$char(";")||o.peek("}")},alpha:function(){var a;if(o.$re(/^opacity=/i))return a=o.$re(/^\d+/),a||(a=j(this.entities.variable,"Could not parse alpha")),k(")"),new d.Alpha(a)},element:function(){var a,b,c,e=o.i;return b=this.combinator(),a=o.$re(/^(?:\d+\.\d+|\d+)%/)||o.$re(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/)||o.$char("*")||o.$char("&")||this.attribute()||o.$re(/^\([^&()@]+\)/)||o.$re(/^[\.#:](?=@)/)||this.entities.variableCurly(),a||(o.save(),o.$char("(")?(c=this.selector())&&o.$char(")")?(a=new d.Paren(c),o.forget()):o.restore("Missing closing ')'"):o.forget()),a?new d.Element(b,a,e,h):void 0},combinator:function(){var a=o.currentChar();if("/"===a){o.save();var b=o.$re(/^\/[a-z]+\//i);if(b)return o.forget(),new d.Combinator(b);o.restore()}if(">"===a||"+"===a||"~"===a||"|"===a||"^"===a){for(o.i++,"^"===a&&"^"===o.currentChar()&&(a="^^",o.i++);o.isWhitespace();)o.i++;return new d.Combinator(a)}return new d.Combinator(o.isWhitespace(-1)?" ":null)},lessSelector:function(){return this.selector(!0)},selector:function(a){for(var b,c,e,f,g,i,k,m=o.i;(a&&(c=this.extend())||a&&(i=o.$str("when"))||(f=this.element()))&&(i?k=j(this.conditions,"expected condition"):k?l("CSS guard can only be used at the end of selector"):c?g=g?g.concat(c):c:(g&&l("Extend can only be used at the end of selector"),e=o.currentChar(),b?b.push(f):b=[f],f=null),"{"!==e&&"}"!==e&&";"!==e&&","!==e&&")"!==e););return b?new d.Selector(b,g,k,m,h):void(g&&l("Extend must be used to extend a selector, it cannot be used on its own"))},attribute:function(){if(o.$char("[")){var a,b,c,e=this.entities;return(a=e.variableCurly())||(a=j(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)),c=o.$re(/^[|~*$^]?=/),c&&(b=e.quoted()||o.$re(/^[0-9]+%/)||o.$re(/^[\w-]+/)||e.variableCurly()),k("]"),new d.Attribute(a,c,b)}},block:function(){var a;return o.$char("{")&&(a=this.primary())&&o.$char("}")?a:void 0},blockRuleset:function(){var a=this.block();return a&&(a=new d.Ruleset(null,a)),a},detachedRuleset:function(){var a=this.blockRuleset();return a?new d.DetachedRuleset(a):void 0},ruleset:function(){var b,c,e,f;for(o.save(),a.dumpLineNumbers&&(f=m(o.i));;){if(c=this.lessSelector(),!c)break;if(b?b.push(c):b=[c],o.commentStore.length=0,c.condition&&b.length>1&&l("Guards are only currently allowed on a single selector."),!o.$char(","))break;c.condition&&l("Guards are only currently allowed on a single selector."),o.commentStore.length=0}if(b&&(e=this.block())){o.forget();var g=new d.Ruleset(b,e,a.strictImports);return a.dumpLineNumbers&&(g.debugInfo=f),g}o.restore()},rule:function(b){var c,e,f,g,i,j=o.i,k=o.currentChar();if("."!==k&&"#"!==k&&"&"!==k&&":"!==k)if(o.save(),c=this.variable()||this.ruleProperty()){if(i="string"==typeof c,i&&(e=this.detachedRuleset()),o.commentStore.length=0,!e){g=!i&&c.length>1&&c.pop().value;var l=!b&&(a.compress||i);if(l&&(e=this.value()),!e&&(e=this.anonymousValue()))return o.forget(),new d.Rule(c,e,!1,g,j,h);l||e||(e=this.value()),f=this.important()}if(e&&this.end())return o.forget(),new d.Rule(c,e,f,g,j,h);if(o.restore(),e&&!b)return this.rule(!0)}else o.forget()},anonymousValue:function(){var a=o.$re(/^([^@+\/'"*`(;{}-]*);/);return a?new d.Anonymous(a[1]):void 0},"import":function(){var a,b,c=o.i,e=o.$re(/^@import?\s+/);if(e){var f=(e?this.importOptions():null)||{};if(a=this.entities.quoted()||this.entities.url())return b=this.mediaFeatures(),o.$char(";")||(o.i=c,l("missing semi-colon or unrecognised media features on import")),b=b&&new d.Value(b),new d.Import(a,b,f,c,h);o.i=c,l("malformed import statement")}},importOptions:function(){var a,b,c,d={};if(!o.$char("("))return null;do if(a=this.importOption()){switch(b=a,c=!0,b){case"css":b="less",c=!1;break;case"once":b="multiple",c=!1}if(d[b]=c,!o.$char(","))break}while(a);return k(")"),d},importOption:function(){var a=o.$re(/^(less|css|multiple|once|inline|reference|optional)/);return a?a[1]:void 0},mediaFeature:function(){var a,b,c=this.entities,e=[];o.save();do if(a=c.keyword()||c.variable())e.push(a);else if(o.$char("(")){if(b=this.property(),a=this.value(),!o.$char(")"))return o.restore("Missing closing ')'"),null;if(b&&a)e.push(new d.Paren(new d.Rule(b,a,null,null,o.i,h,!0)));else{if(!a)return o.restore("badly formed media feature definition"),null;e.push(new d.Paren(a))}}while(a);return o.forget(),e.length>0?new d.Expression(e):void 0},mediaFeatures:function(){var a,b=this.entities,c=[];do if(a=this.mediaFeature()){if(c.push(a),!o.$char(","))break}else if(a=b.variable(),a&&(c.push(a),!o.$char(",")))break;while(a);return c.length>0?c:null},media:function(){var b,c,e,f;return a.dumpLineNumbers&&(f=m(o.i)),o.save(),o.$str("@media")?(b=this.mediaFeatures(),(c=this.block())?(o.forget(),e=new d.Media(c,b,o.i,h),a.dumpLineNumbers&&(e.debugInfo=f),e):void o.restore("media definitions require block statements after any features")):void o.restore()},plugin:function(){var a,b=o.i,c=o.$re(/^@plugin?\s+/);if(c){var e={plugin:!0};if(a=this.entities.quoted()||this.entities.url())return o.$char(";")||(o.i=b,l("missing semi-colon on plugin")),new d.Import(a,null,e,b,h);o.i=b,l("malformed plugin statement")}},directive:function(){var b,c,e,f,g,i,j,k=o.i,n=!0,p=!0;if("@"===o.currentChar()){if(c=this["import"]()||this.plugin()||this.media())return c;if(o.save(),b=o.$re(/^@[a-z-]+/)){switch(f=b,"-"==b.charAt(1)&&b.indexOf("-",2)>0&&(f="@"+b.slice(b.indexOf("-",2)+1)),f){case"@counter-style":g=!0,n=!0;break;case"@charset":g=!0,n=!1;break;case"@namespace":i=!0,n=!1;break;case"@keyframes":g=!0;break;case"@host":case"@page":j=!0;break;case"@document":case"@supports":j=!0,p=!1}return o.commentStore.length=0,g?(c=this.entity(),c||l("expected "+b+" identifier")):i?(c=this.expression(),c||l("expected "+b+" expression")):j&&(c=(o.$re(/^[^{;]+/)||"").trim(),c&&(c=new d.Anonymous(c))),n&&(e=this.blockRuleset()),e||!n&&c&&o.$char(";")?(o.forget(),new d.Directive(b,c,e,k,h,a.dumpLineNumbers?m(k):null,!1,p)):void o.restore("directive options not recognised")}}},value:function(){var a,b=[];do if(a=this.expression(),a&&(b.push(a),!o.$char(",")))break;while(a);return b.length>0?new d.Value(b):void 0},important:function(){return"!"===o.currentChar()?o.$re(/^! *important/):void 0},sub:function(){var a,b;return o.save(),o.$char("(")?(a=this.addition(),a&&o.$char(")")?(o.forget(),b=new d.Expression([a]),b.parens=!0,b):void o.restore("Expected ')'")):void o.restore()},multiplication:function(){var a,b,c,e,f;if(a=this.operand()){for(f=o.isWhitespace(-1);;){if(o.peek(/^\/[*\/]/))break;if(o.save(),c=o.$char("/")||o.$char("*"),!c){o.forget();break}if(b=this.operand(),!b){o.restore();break}o.forget(),a.parensInOp=!0,b.parensInOp=!0,e=new d.Operation(c,[e||a,b],f),f=o.isWhitespace(-1)}return e||a}},addition:function(){var a,b,c,e,f;if(a=this.multiplication()){for(f=o.isWhitespace(-1);;){if(c=o.$re(/^[-+]\s+/)||!f&&(o.$char("+")||o.$char("-")),!c)break;if(b=this.multiplication(),!b)break;a.parensInOp=!0,b.parensInOp=!0,e=new d.Operation(c,[e||a,b],f),f=o.isWhitespace(-1)}return e||a}},conditions:function(){var a,b,c,e=o.i;if(a=this.condition()){for(;;){if(!o.peek(/^,\s*(not\s*)?\(/)||!o.$char(","))break;if(b=this.condition(),!b)break;c=new d.Condition("or",c||a,b,e)}return c||a}},condition:function(){var a,b,c,e,f=this.entities,g=o.i,h=!1;return o.$str("not")&&(h=!0),k("("),a=this.addition()||f.keyword()||f.quoted(),a?(o.$char(">")?e=o.$char("=")?">=":">":o.$char("<")?e=o.$char("=")?"<=":"<":o.$char("=")&&(e=o.$char(">")?"=>":o.$char("<")?"=<":"="),e?(b=this.addition()||f.keyword()||f.quoted(),b?c=new d.Condition(e,a,b,g,h):l("expected expression")):c=new d.Condition("=",a,new d.Keyword("true"),g,h),k(")"),o.$str("and")?new d.Condition("and",c,this.condition()):c):void 0},operand:function(){var a,b=this.entities;o.peek(/^-[@\(]/)&&(a=o.$char("-"));var c=this.sub()||b.dimension()||b.color()||b.variable()||b.call();return a&&(c.parensInOp=!0,c=new d.Negative(c)),c},expression:function(){var a,b,c=[];do a=this.comment(),a?c.push(a):(a=this.addition()||this.entity(),a&&(c.push(a),o.peek(/^\/[\/*]/)||(b=o.$char("/"),b&&c.push(new d.Anonymous(b)))));while(a);return c.length>0?new d.Expression(c):void 0},property:function(){var a=o.$re(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/);return a?a[1]:void 0},ruleProperty:function(){function a(a){var b=o.i,c=o.$re(a);return c?(f.push(b),e.push(c[1])):void 0}var b,c,e=[],f=[];o.save();var g=o.$re(/^([_a-zA-Z0-9-]+)\s*:/);if(g)return e=[new d.Keyword(g[1])],o.forget(),e;for(a(/^(\*?)/);;)if(!a(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/))break;if(e.length>1&&a(/^((?:\+_|\+)?)\s*:/)){for(o.forget(),""===e[0]&&(e.shift(),f.shift()),c=0;e.length>c;c++)b=e[c],e[c]="@"!==b.charAt(0)?new d.Keyword(b):new d.Variable("@"+b.slice(2,-1),f[c],h);return e}o.restore()}}}};h.serializeVars=function(a){var b="";for(var c in a)if(Object.hasOwnProperty.call(a,c)){var d=a[c];b+=("@"===c[0]?"":"@")+c+": "+d+(";"===String(d).slice(-1)?"":";")}return b},b.exports=h},{"../less-error":31,"../tree":61,"../utils":82,"../visitors":86,"./parser-input":36}],38:[function(a,b){var c=function(a){this.less=a,this.visitors=[],this.preProcessors=[],this.postProcessors=[],this.installedPlugins=[],this.fileManagers=[]};c.prototype.addPlugins=function(a){if(a)for(var b=0;a.length>b;b++)this.addPlugin(a[b])},c.prototype.addPlugin=function(a){this.installedPlugins.push(a),a.install(this.less,this)},c.prototype.addVisitor=function(a){this.visitors.push(a)},c.prototype.addPreProcessor=function(a,b){var c;for(c=0;this.preProcessors.length>c&&!(this.preProcessors[c].priority>=b);c++);this.preProcessors.splice(c,0,{preProcessor:a,priority:b})},c.prototype.addPostProcessor=function(a,b){var c;for(c=0;this.postProcessors.length>c&&!(this.postProcessors[c].priority>=b);c++);this.postProcessors.splice(c,0,{postProcessor:a,priority:b})},c.prototype.addFileManager=function(a){this.fileManagers.push(a)},c.prototype.getPreProcessors=function(){for(var a=[],b=0;this.preProcessors.length>b;b++)a.push(this.preProcessors[b].preProcessor);return a},c.prototype.getPostProcessors=function(){for(var a=[],b=0;this.postProcessors.length>b;b++)a.push(this.postProcessors[b].postProcessor);return a},c.prototype.getVisitors=function(){return this.visitors},c.prototype.getFileManagers=function(){return this.fileManagers},b.exports=c},{}],39:[function(a,b){var c=a("../less-error"),d=a("../tree"),e=b.exports=function(a,b){this.fileInfo=b};e.prototype.eval=function(a,b){var e,f,g={};f={add:function(a,b){g[a]=b},addMultiple:function(a){Object.keys(a).forEach(function(b){g[b]=a[b]})}};try{e=new Function("functions","tree","fileInfo",a),e(f,d,this.fileInfo)}catch(h){b(new c({message:"Plugin evaluation error: '"+h.name+": "+h.message.replace(/["]/g,"'")+"'",filename:this.fileInfo.filename}),null)}b(null,{functions:g})}},{"../less-error":31,"../tree":61}],40:[function(a,b){var c;b.exports=function(b,d){var e=function(b,f,g){if("function"==typeof f&&(g=f,f={}),!g){c||(c="undefined"==typeof Promise?a("promise"):Promise);var h=this;return new c(function(a,c){e.call(h,b,f,function(b,d){b?c(b):a(d)})})}this.parse(b,f,function(a,b,c,e){if(a)return g(a);var f;try{var h=new d(b,c);f=h.toCSS(e)}catch(a){return g(a)}g(null,f)})};return e}},{promise:void 0}],41:[function(a,b){b.exports=function(a,b){var c=function(a){this.options=a};return c.prototype.toCSS=function(b,c,d){var e=new a({contentsIgnoredCharsMap:d.contentsIgnoredChars,rootNode:b,contentsMap:d.contents,sourceMapFilename:this.options.sourceMapFilename,sourceMapURL:this.options.sourceMapURL,outputFilename:this.options.sourceMapOutputFilename,sourceMapBasepath:this.options.sourceMapBasepath,sourceMapRootpath:this.options.sourceMapRootpath,outputSourceFiles:this.options.outputSourceFiles,sourceMapGenerator:this.options.sourceMapGenerator,sourceMapFileInline:this.options.sourceMapFileInline}),f=e.toCSS(c);return this.sourceMap=e.sourceMap,this.sourceMapURL=e.sourceMapURL,this.options.sourceMapInputFilename&&(this.sourceMapInputFilename=e.normalizeFilename(this.options.sourceMapInputFilename)),f+this.getCSSAppendage()},c.prototype.getCSSAppendage=function(){var a=this.sourceMapURL;if(this.options.sourceMapFileInline){if(void 0===this.sourceMap)return"";a="data:application/json;base64,"+b.encodeBase64(this.sourceMap)}return a?"/*# sourceMappingURL="+a+" */":""},c.prototype.getExternalSourceMap=function(){return this.sourceMap},c.prototype.setExternalSourceMap=function(a){this.sourceMap=a},c.prototype.isInline=function(){return this.options.sourceMapFileInline},c.prototype.getSourceMapURL=function(){return this.sourceMapURL},c.prototype.getOutputFilename=function(){return this.options.sourceMapOutputFilename},c.prototype.getInputFilename=function(){return this.sourceMapInputFilename},c}},{}],42:[function(a,b){b.exports=function(a){var b=function(b){this._css=[],this._rootNode=b.rootNode,this._contentsMap=b.contentsMap,
+this._contentsIgnoredCharsMap=b.contentsIgnoredCharsMap,b.sourceMapFilename&&(this._sourceMapFilename=b.sourceMapFilename.replace(/\\/g,"/")),this._outputFilename=b.outputFilename,this.sourceMapURL=b.sourceMapURL,b.sourceMapBasepath&&(this._sourceMapBasepath=b.sourceMapBasepath.replace(/\\/g,"/")),b.sourceMapRootpath?(this._sourceMapRootpath=b.sourceMapRootpath.replace(/\\/g,"/"),"/"!==this._sourceMapRootpath.charAt(this._sourceMapRootpath.length-1)&&(this._sourceMapRootpath+="/")):this._sourceMapRootpath="",this._outputSourceFiles=b.outputSourceFiles,this._sourceMapGeneratorConstructor=a.getSourceMapGenerator(),this._lineNumber=0,this._column=0};return b.prototype.normalizeFilename=function(a){return a=a.replace(/\\/g,"/"),this._sourceMapBasepath&&0===a.indexOf(this._sourceMapBasepath)&&(a=a.substring(this._sourceMapBasepath.length),("\\"===a.charAt(0)||"/"===a.charAt(0))&&(a=a.substring(1))),(this._sourceMapRootpath||"")+a},b.prototype.add=function(a,b,c,d){if(a){var e,f,g,h,i;if(b){var j=this._contentsMap[b.filename];this._contentsIgnoredCharsMap[b.filename]&&(c-=this._contentsIgnoredCharsMap[b.filename],0>c&&(c=0),j=j.slice(this._contentsIgnoredCharsMap[b.filename])),j=j.substring(0,c),f=j.split("\n"),h=f[f.length-1]}if(e=a.split("\n"),g=e[e.length-1],b)if(d)for(i=0;e.length>i;i++)this._sourceMapGenerator.addMapping({generated:{line:this._lineNumber+i+1,column:0===i?this._column:0},original:{line:f.length+i,column:0===i?h.length:0},source:this.normalizeFilename(b.filename)});else this._sourceMapGenerator.addMapping({generated:{line:this._lineNumber+1,column:this._column},original:{line:f.length,column:h.length},source:this.normalizeFilename(b.filename)});1===e.length?this._column+=g.length:(this._lineNumber+=e.length-1,this._column=g.length),this._css.push(a)}},b.prototype.isEmpty=function(){return 0===this._css.length},b.prototype.toCSS=function(a){if(this._sourceMapGenerator=new this._sourceMapGeneratorConstructor({file:this._outputFilename,sourceRoot:null}),this._outputSourceFiles)for(var b in this._contentsMap)if(this._contentsMap.hasOwnProperty(b)){var c=this._contentsMap[b];this._contentsIgnoredCharsMap[b]&&(c=c.slice(this._contentsIgnoredCharsMap[b])),this._sourceMapGenerator.setSourceContent(this.normalizeFilename(b),c)}if(this._rootNode.genCSS(a,this),this._css.length>0){var d,e=JSON.stringify(this._sourceMapGenerator.toJSON());this.sourceMapURL?d=this.sourceMapURL:this._sourceMapFilename&&(d=this._sourceMapFilename),this.sourceMapURL=d,this.sourceMap=e}return this._css.join("")},b}},{}],43:[function(a,b){var c=a("./contexts"),d=a("./visitors"),e=a("./tree");b.exports=function(a,b){b=b||{};var f,g=b.variables,h=new c.Eval(b);"object"!=typeof g||Array.isArray(g)||(g=Object.keys(g).map(function(a){var b=g[a];return b instanceof e.Value||(b instanceof e.Expression||(b=new e.Expression([b])),b=new e.Value([b])),new e.Rule("@"+a,b,!1,null,0)}),h.frames=[new e.Ruleset(null,g)]);var i,j=[],k=[new d.JoinSelectorVisitor,new d.ExtendVisitor,new d.ToCSSVisitor({compress:Boolean(b.compress)})];if(b.pluginManager){var l=b.pluginManager.getVisitors();for(i=0;l.length>i;i++){var m=l[i];m.isPreEvalVisitor?j.push(m):m.isPreVisitor?k.splice(0,0,m):k.push(m)}}for(i=0;j.length>i;i++)j[i].run(a);for(f=a.eval(h),i=0;k.length>i;i++)k[i].run(f);return f}},{"./contexts":10,"./tree":61,"./visitors":86}],44:[function(a,b){var c=a("./node"),d=function(a){this.value=a};d.prototype=new c,d.prototype.type="Alpha",d.prototype.accept=function(a){this.value=a.visit(this.value)},d.prototype.eval=function(a){return this.value.eval?new d(this.value.eval(a)):this},d.prototype.genCSS=function(a,b){b.add("alpha(opacity="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value),b.add(")")},b.exports=d},{"./node":69}],45:[function(a,b){var c=a("./node"),d=function(a,b,c,d,e,f){this.value=a,this.index=b,this.mapLines=d,this.currentFileInfo=c,this.rulesetLike="undefined"==typeof e?!1:e,this.isReferenced=f||!1};d.prototype=new c,d.prototype.type="Anonymous",d.prototype.eval=function(){return new d(this.value,this.index,this.currentFileInfo,this.mapLines,this.rulesetLike,this.isReferenced)},d.prototype.compare=function(a){return a.toCSS&&this.toCSS()===a.toCSS()?0:void 0},d.prototype.isRulesetLike=function(){return this.rulesetLike},d.prototype.genCSS=function(a,b){b.add(this.value,this.currentFileInfo,this.index,this.mapLines)},d.prototype.markReferenced=function(){this.isReferenced=!0},d.prototype.getIsReferenced=function(){return!this.currentFileInfo||!this.currentFileInfo.reference||this.isReferenced},b.exports=d},{"./node":69}],46:[function(a,b){var c=a("./node"),d=function(a,b){this.key=a,this.value=b};d.prototype=new c,d.prototype.type="Assignment",d.prototype.accept=function(a){this.value=a.visit(this.value)},d.prototype.eval=function(a){return this.value.eval?new d(this.key,this.value.eval(a)):this},d.prototype.genCSS=function(a,b){b.add(this.key+"="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value)},b.exports=d},{"./node":69}],47:[function(a,b){var c=a("./node"),d=function(a,b,c){this.key=a,this.op=b,this.value=c};d.prototype=new c,d.prototype.type="Attribute",d.prototype.eval=function(a){return new d(this.key.eval?this.key.eval(a):this.key,this.op,this.value&&this.value.eval?this.value.eval(a):this.value)},d.prototype.genCSS=function(a,b){b.add(this.toCSS(a))},d.prototype.toCSS=function(a){var b=this.key.toCSS?this.key.toCSS(a):this.key;return this.op&&(b+=this.op,b+=this.value.toCSS?this.value.toCSS(a):this.value),"["+b+"]"},b.exports=d},{"./node":69}],48:[function(a,b){var c=a("./node"),d=a("../functions/function-caller"),e=function(a,b,c,d){this.name=a,this.args=b,this.index=c,this.currentFileInfo=d};e.prototype=new c,e.prototype.type="Call",e.prototype.accept=function(a){this.args&&(this.args=a.visitArray(this.args))},e.prototype.eval=function(a){var b,c=this.args.map(function(b){return b.eval(a)}),f=new d(this.name,a,this.index,this.currentFileInfo);if(f.isValid())try{if(b=f.call(c),null!=b)return b}catch(g){throw{type:g.type||"Runtime",message:"error evaluating function `"+this.name+"`"+(g.message?": "+g.message:""),index:this.index,filename:this.currentFileInfo.filename}}return new e(this.name,c,this.index,this.currentFileInfo)},e.prototype.genCSS=function(a,b){b.add(this.name+"(",this.currentFileInfo,this.index);for(var c=0;this.args.length>c;c++)this.args[c].genCSS(a,b),this.args.length>c+1&&b.add(", ");b.add(")")},b.exports=e},{"../functions/function-caller":20,"./node":69}],49:[function(a,b){function c(a,b){return Math.min(Math.max(a,0),b)}function d(a){return"#"+a.map(function(a){return a=c(Math.round(a),255),(16>a?"0":"")+a.toString(16)}).join("")}var e=a("./node"),f=a("../data/colors"),g=function(a,b,c){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1,"undefined"!=typeof c&&(this.value=c)};g.prototype=new e,g.prototype.type="Color",g.prototype.luma=function(){var a=this.rgb[0]/255,b=this.rgb[1]/255,c=this.rgb[2]/255;return a=.03928>=a?a/12.92:Math.pow((a+.055)/1.055,2.4),b=.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4),c=.03928>=c?c/12.92:Math.pow((c+.055)/1.055,2.4),.2126*a+.7152*b+.0722*c},g.prototype.genCSS=function(a,b){b.add(this.toCSS(a))},g.prototype.toCSS=function(a,b){var d,e,f=a&&a.compress&&!b;if(this.value)return this.value;if(e=this.fround(a,this.alpha),1>e)return"rgba("+this.rgb.map(function(a){return c(Math.round(a),255)}).concat(c(e,1)).join(","+(f?"":" "))+")";if(d=this.toRGB(),f){var g=d.split("");g[1]===g[2]&&g[3]===g[4]&&g[5]===g[6]&&(d="#"+g[1]+g[3]+g[5])}return d},g.prototype.operate=function(a,b,c){for(var d=[],e=this.alpha*(1-c.alpha)+c.alpha,f=0;3>f;f++)d[f]=this._operate(a,b,this.rgb[f],c.rgb[f]);return new g(d,e)},g.prototype.toRGB=function(){return d(this.rgb)},g.prototype.toHSL=function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},g.prototype.toHSV=function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=g,j=g-h;if(b=0===g?0:j/g,g===h)a=0;else{switch(g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,v:i,a:f}},g.prototype.toARGB=function(){return d([255*this.alpha].concat(this.rgb))},g.prototype.compare=function(a){return a.rgb&&a.rgb[0]===this.rgb[0]&&a.rgb[1]===this.rgb[1]&&a.rgb[2]===this.rgb[2]&&a.alpha===this.alpha?0:void 0},g.fromKeyword=function(a){var b,c=a.toLowerCase();return f.hasOwnProperty(c)?b=new g(f[c].slice(1)):"transparent"===c&&(b=new g([0,0,0],0)),b?(b.value=a,b):void 0},b.exports=g},{"../data/colors":11,"./node":69}],50:[function(a,b){var c=a("./node"),d=function(a){" "===a?(this.value=" ",this.emptyOrWhitespace=!0):(this.value=a?a.trim():"",this.emptyOrWhitespace=""===this.value)};d.prototype=new c,d.prototype.type="Combinator";var e={"":!0," ":!0,"|":!0};d.prototype.genCSS=function(a,b){var c=a.compress||e[this.value]?"":" ";b.add(c+this.value+c)},b.exports=d},{"./node":69}],51:[function(a,b){var c=a("./node"),d=a("./debug-info"),e=function(a,b,c,d){this.value=a,this.isLineComment=b,this.currentFileInfo=d};e.prototype=new c,e.prototype.type="Comment",e.prototype.genCSS=function(a,b){this.debugInfo&&b.add(d(a,this),this.currentFileInfo,this.index),b.add(this.value)},e.prototype.isSilent=function(a){var b=this.currentFileInfo&&this.currentFileInfo.reference&&!this.isReferenced,c=a.compress&&"!"!==this.value[2];return this.isLineComment||b||c},e.prototype.markReferenced=function(){this.isReferenced=!0},b.exports=e},{"./debug-info":53,"./node":69}],52:[function(a,b){var c=a("./node"),d=function(a,b,c,d,e){this.op=a.trim(),this.lvalue=b,this.rvalue=c,this.index=d,this.negate=e};d.prototype=new c,d.prototype.type="Condition",d.prototype.accept=function(a){this.lvalue=a.visit(this.lvalue),this.rvalue=a.visit(this.rvalue)},d.prototype.eval=function(a){var b=function(a,b,d){switch(a){case"and":return b&&d;case"or":return b||d;default:switch(c.compare(b,d)){case-1:return"<"===a||"=<"===a||"<="===a;case 0:return"="===a||">="===a||"=<"===a||"<="===a;case 1:return">"===a||">="===a;default:return!1}}}(this.op,this.lvalue.eval(a),this.rvalue.eval(a));return this.negate?!b:b},b.exports=d},{"./node":69}],53:[function(a,b){var c=function(a,b,d){var e="";if(a.dumpLineNumbers&&!a.compress)switch(a.dumpLineNumbers){case"comments":e=c.asComment(b);break;case"mediaquery":e=c.asMediaQuery(b);break;case"all":e=c.asComment(b)+(d||"")+c.asMediaQuery(b)}return e};c.asComment=function(a){return"/* line "+a.debugInfo.lineNumber+", "+a.debugInfo.fileName+" */\n"},c.asMediaQuery=function(a){var b=a.debugInfo.fileName;return/^[a-z]+:\/\//i.test(b)||(b="file://"+b),"@media -sass-debug-info{filename{font-family:"+b.replace(/([.:\/\\])/g,function(a){return"\\"==a&&(a="/"),"\\"+a})+"}line{font-family:\\00003"+a.debugInfo.lineNumber+"}}\n"},b.exports=c},{}],54:[function(a,b){var c=a("./node"),d=a("../contexts"),e=function(a,b){this.ruleset=a,this.frames=b};e.prototype=new c,e.prototype.type="DetachedRuleset",e.prototype.evalFirst=!0,e.prototype.accept=function(a){this.ruleset=a.visit(this.ruleset)},e.prototype.eval=function(a){var b=this.frames||a.frames.slice(0);return new e(this.ruleset,b)},e.prototype.callEval=function(a){return this.ruleset.eval(this.frames?new d.Eval(a,this.frames.concat(a.frames)):a)},b.exports=e},{"../contexts":10,"./node":69}],55:[function(a,b){var c=a("./node"),d=a("../data/unit-conversions"),e=a("./unit"),f=a("./color"),g=function(a,b){this.value=parseFloat(a),this.unit=b&&b instanceof e?b:new e(b?[b]:void 0)};g.prototype=new c,g.prototype.type="Dimension",g.prototype.accept=function(a){this.unit=a.visit(this.unit)},g.prototype.eval=function(){return this},g.prototype.toColor=function(){return new f([this.value,this.value,this.value])},g.prototype.genCSS=function(a,b){if(a&&a.strictUnits&&!this.unit.isSingular())throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: "+this.unit.toString());var c=this.fround(a,this.value),d=String(c);if(0!==c&&1e-6>c&&c>-1e-6&&(d=c.toFixed(20).replace(/0+$/,"")),a&&a.compress){if(0===c&&this.unit.isLength())return void b.add(d);c>0&&1>c&&(d=d.substr(1))}b.add(d),this.unit.genCSS(a,b)},g.prototype.operate=function(a,b,c){var d=this._operate(a,b,this.value,c.value),e=this.unit.clone();if("+"===b||"-"===b)if(0===e.numerator.length&&0===e.denominator.length)e=c.unit.clone(),this.unit.backupUnit&&(e.backupUnit=this.unit.backupUnit);else if(0===c.unit.numerator.length&&0===e.denominator.length);else{if(c=c.convertTo(this.unit.usedUnits()),a.strictUnits&&c.unit.toString()!==e.toString())throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '"+e.toString()+"' and '"+c.unit.toString()+"'.");d=this._operate(a,b,this.value,c.value)}else"*"===b?(e.numerator=e.numerator.concat(c.unit.numerator).sort(),e.denominator=e.denominator.concat(c.unit.denominator).sort(),e.cancel()):"/"===b&&(e.numerator=e.numerator.concat(c.unit.denominator).sort(),e.denominator=e.denominator.concat(c.unit.numerator).sort(),e.cancel());return new g(d,e)},g.prototype.compare=function(a){var b,d;if(!(a instanceof g))return void 0;if(this.unit.isEmpty()||a.unit.isEmpty())b=this,d=a;else if(b=this.unify(),d=a.unify(),0!==b.unit.compare(d.unit))return void 0;return c.numericCompare(b.value,d.value)},g.prototype.unify=function(){return this.convertTo({length:"px",duration:"s",angle:"rad"})},g.prototype.convertTo=function(a){var b,c,e,f,h,i=this.value,j=this.unit.clone(),k={};if("string"==typeof a){for(b in d)d[b].hasOwnProperty(a)&&(k={},k[b]=a);a=k}h=function(a,b){return e.hasOwnProperty(a)?(b?i/=e[a]/e[f]:i*=e[a]/e[f],f):a};for(c in a)a.hasOwnProperty(c)&&(f=a[c],e=d[c],j.map(h));return j.cancel(),new g(i,j)},b.exports=g},{"../data/unit-conversions":13,"./color":49,"./node":69,"./unit":78}],56:[function(a,b){var c=a("./node"),d=a("./selector"),e=a("./ruleset"),f=function(a,b,c,e,f,g,h,i){var j;if(this.name=a,this.value=b,c)for(Array.isArray(c)?this.rules=c:(this.rules=[c],this.rules[0].selectors=new d([],null,null,this.index,f).createEmptySelectors()),j=0;this.rules.length>j;j++)this.rules[j].allowImports=!0;this.index=e,this.currentFileInfo=f,this.debugInfo=g,this.isReferenced=h,this.isRooted=i||!1};f.prototype=new c,f.prototype.type="Directive",f.prototype.accept=function(a){var b=this.value,c=this.rules;c&&(this.rules=a.visitArray(c)),b&&(this.value=a.visit(b))},f.prototype.isRulesetLike=function(){return this.rules||!this.isCharset()},f.prototype.isCharset=function(){return"@charset"===this.name},f.prototype.genCSS=function(a,b){var c=this.value,d=this.rules;b.add(this.name,this.currentFileInfo,this.index),c&&(b.add(" "),c.genCSS(a,b)),d?this.outputRuleset(a,b,d):b.add(";")},f.prototype.eval=function(a){var b,c,d=this.value,e=this.rules;return b=a.mediaPath,c=a.mediaBlocks,a.mediaPath=[],a.mediaBlocks=[],d&&(d=d.eval(a)),e&&(e=[e[0].eval(a)],e[0].root=!0),a.mediaPath=b,a.mediaBlocks=c,new f(this.name,d,e,this.index,this.currentFileInfo,this.debugInfo,this.isReferenced,this.isRooted)},f.prototype.variable=function(a){return this.rules?e.prototype.variable.call(this.rules[0],a):void 0},f.prototype.find=function(){return this.rules?e.prototype.find.apply(this.rules[0],arguments):void 0},f.prototype.rulesets=function(){return this.rules?e.prototype.rulesets.apply(this.rules[0]):void 0},f.prototype.markReferenced=function(){var a,b;if(this.isReferenced=!0,this.rules)for(b=this.rules,a=0;b.length>a;a++)b[a].markReferenced&&b[a].markReferenced()},f.prototype.getIsReferenced=function(){return!this.currentFileInfo||!this.currentFileInfo.reference||this.isReferenced},f.prototype.outputRuleset=function(a,b,c){var d,e=c.length;if(a.tabLevel=(0|a.tabLevel)+1,a.compress){for(b.add("{"),d=0;e>d;d++)c[d].genCSS(a,b);return b.add("}"),void a.tabLevel--}var f="\n"+Array(a.tabLevel).join("  "),g=f+"  ";if(e){for(b.add(" {"+g),c[0].genCSS(a,b),d=1;e>d;d++)b.add(g),c[d].genCSS(a,b);b.add(f+"}")}else b.add(" {"+f+"}");a.tabLevel--},b.exports=f},{"./node":69,"./ruleset":75,"./selector":76}],57:[function(a,b){var c=a("./node"),d=a("./paren"),e=a("./combinator"),f=function(a,b,c,d){this.combinator=a instanceof e?a:new e(a),this.value="string"==typeof b?b.trim():b?b:"",this.index=c,this.currentFileInfo=d};f.prototype=new c,f.prototype.type="Element",f.prototype.accept=function(a){var b=this.value;this.combinator=a.visit(this.combinator),"object"==typeof b&&(this.value=a.visit(b))},f.prototype.eval=function(a){return new f(this.combinator,this.value.eval?this.value.eval(a):this.value,this.index,this.currentFileInfo)},f.prototype.genCSS=function(a,b){b.add(this.toCSS(a),this.currentFileInfo,this.index)},f.prototype.toCSS=function(a){a=a||{};var b=this.value,c=a.firstSelector;return b instanceof d&&(a.firstSelector=!0),b=b.toCSS?b.toCSS(a):b,a.firstSelector=c,""===b&&"&"===this.combinator.value.charAt(0)?"":this.combinator.toCSS(a)+b},b.exports=f},{"./combinator":50,"./node":69,"./paren":71}],58:[function(a,b){var c=a("./node"),d=a("./paren"),e=a("./comment"),f=function(a){if(this.value=a,!a)throw new Error("Expression requires an array parameter")};f.prototype=new c,f.prototype.type="Expression",f.prototype.accept=function(a){this.value=a.visitArray(this.value)},f.prototype.eval=function(a){var b,c=this.parens&&!this.parensInOp,e=!1;return c&&a.inParenthesis(),this.value.length>1?b=new f(this.value.map(function(b){return b.eval(a)})):1===this.value.length?(this.value[0].parens&&!this.value[0].parensInOp&&(e=!0),b=this.value[0].eval(a)):b=this,c&&a.outOfParenthesis(),this.parens&&this.parensInOp&&!a.isMathOn()&&!e&&(b=new d(b)),b},f.prototype.genCSS=function(a,b){for(var c=0;this.value.length>c;c++)this.value[c].genCSS(a,b),this.value.length>c+1&&b.add(" ")},f.prototype.throwAwayComments=function(){this.value=this.value.filter(function(a){return!(a instanceof e)})},f.prototype.markReferenced=function(){this.value.forEach(function(a){a.markReferenced&&a.markReferenced()})},b.exports=f},{"./comment":51,"./node":69,"./paren":71}],59:[function(a,b){var c=a("./node"),d=function e(a,b,c){switch(this.selector=a,this.option=b,this.index=c,this.object_id=e.next_id++,this.parent_ids=[this.object_id],b){case"all":this.allowBefore=!0,this.allowAfter=!0;break;default:this.allowBefore=!1,this.allowAfter=!1}};d.next_id=0,d.prototype=new c,d.prototype.type="Extend",d.prototype.accept=function(a){this.selector=a.visit(this.selector)},d.prototype.eval=function(a){return new d(this.selector.eval(a),this.option,this.index)},d.prototype.clone=function(){return new d(this.selector,this.option,this.index)},d.prototype.findSelfSelectors=function(a){var b,c,d=[];for(b=0;a.length>b;b++)c=a[b].elements,b>0&&c.length&&""===c[0].combinator.value&&(c[0].combinator.value=" "),d=d.concat(a[b].elements);this.selfSelectors=[{elements:d}]},b.exports=d},{"./node":69}],60:[function(a,b){var c=a("./node"),d=a("./media"),e=a("./url"),f=a("./quoted"),g=a("./ruleset"),h=a("./anonymous"),i=function(a,b,c,d,e){if(this.options=c,this.index=d,this.path=a,this.features=b,this.currentFileInfo=e,void 0!==this.options.less||this.options.inline)this.css=!this.options.less||this.options.inline;else{var f=this.getPath();f&&/[#\.\&\?\/]css([\?;].*)?$/.test(f)&&(this.css=!0)}};i.prototype=new c,i.prototype.type="Import",i.prototype.accept=function(a){this.features&&(this.features=a.visit(this.features)),this.path=a.visit(this.path),this.options.plugin||this.options.inline||!this.root||(this.root=a.visit(this.root))},i.prototype.genCSS=function(a,b){this.css&&void 0===this.path.currentFileInfo.reference&&(b.add("@import ",this.currentFileInfo,this.index),this.path.genCSS(a,b),this.features&&(b.add(" "),this.features.genCSS(a,b)),b.add(";"))},i.prototype.getPath=function(){return this.path instanceof e?this.path.value.value:this.path.value},i.prototype.isVariableImport=function(){var a=this.path;return a instanceof e&&(a=a.value),a instanceof f?a.containsVariables():!0},i.prototype.evalForImport=function(a){var b=this.path;return b instanceof e&&(b=b.value),new i(b.eval(a),this.features,this.options,this.index,this.currentFileInfo)},i.prototype.evalPath=function(a){var b=this.path.eval(a),c=this.currentFileInfo&&this.currentFileInfo.rootpath;if(!(b instanceof e)){if(c){var d=b.value;d&&a.isPathRelative(d)&&(b.value=c+d)}b.value=a.normalizePath(b.value)}return b},i.prototype.eval=function(a){var b,c,e=this.features&&this.features.eval(a);if(this.options.plugin)return c=a.frames[0]&&a.frames[0].functionRegistry,c&&this.root&&this.root.functions&&c.addMultiple(this.root.functions),[];if(this.skip&&("function"==typeof this.skip&&(this.skip=this.skip()),this.skip))return[];if(this.options.inline){var f=new h(this.root,0,{filename:this.importedFilename,reference:this.path.currentFileInfo&&this.path.currentFileInfo.reference},!0,!0,!1);return this.features?new d([f],this.features.value):[f]}if(this.css){var j=new i(this.evalPath(a),e,this.options,this.index);if(!j.css&&this.error)throw this.error;return j}return b=new g(null,this.root.rules.slice(0)),b.evalImports(a),this.features?new d(b.rules,this.features.value):b.rules},b.exports=i},{"./anonymous":45,"./media":65,"./node":69,"./quoted":72,"./ruleset":75,"./url":79}],61:[function(a,b){var c={};c.Node=a("./node"),c.Alpha=a("./alpha"),c.Color=a("./color"),c.Directive=a("./directive"),c.DetachedRuleset=a("./detached-ruleset"),c.Operation=a("./operation"),c.Dimension=a("./dimension"),c.Unit=a("./unit"),c.Keyword=a("./keyword"),c.Variable=a("./variable"),c.Ruleset=a("./ruleset"),c.Element=a("./element"),c.Attribute=a("./attribute"),c.Combinator=a("./combinator"),c.Selector=a("./selector"),c.Quoted=a("./quoted"),c.Expression=a("./expression"),c.Rule=a("./rule"),c.Call=a("./call"),c.URL=a("./url"),c.Import=a("./import"),c.mixin={Call:a("./mixin-call"),Definition:a("./mixin-definition")},c.Comment=a("./comment"),c.Anonymous=a("./anonymous"),c.Value=a("./value"),c.JavaScript=a("./javascript"),c.Assignment=a("./assignment"),c.Condition=a("./condition"),c.Paren=a("./paren"),c.Media=a("./media"),c.UnicodeDescriptor=a("./unicode-descriptor"),c.Negative=a("./negative"),c.Extend=a("./extend"),c.RulesetCall=a("./ruleset-call"),b.exports=c},{"./alpha":44,"./anonymous":45,"./assignment":46,"./attribute":47,"./call":48,"./color":49,"./combinator":50,"./comment":51,"./condition":52,"./detached-ruleset":54,"./dimension":55,"./directive":56,"./element":57,"./expression":58,"./extend":59,"./import":60,"./javascript":62,"./keyword":64,"./media":65,"./mixin-call":66,"./mixin-definition":67,"./negative":68,"./node":69,"./operation":70,"./paren":71,"./quoted":72,"./rule":73,"./ruleset":75,"./ruleset-call":74,"./selector":76,"./unicode-descriptor":77,"./unit":78,"./url":79,"./value":80,"./variable":81}],62:[function(a,b){var c=a("./js-eval-node"),d=a("./dimension"),e=a("./quoted"),f=a("./anonymous"),g=function(a,b,c,d){this.escaped=b,this.expression=a,this.index=c,this.currentFileInfo=d};g.prototype=new c,g.prototype.type="JavaScript",g.prototype.eval=function(a){var b=this.evaluateJavaScript(this.expression,a);return"number"==typeof b?new d(b):"string"==typeof b?new e('"'+b+'"',b,this.escaped,this.index):new f(Array.isArray(b)?b.join(", "):b)},b.exports=g},{"./anonymous":45,"./dimension":55,"./js-eval-node":63,"./quoted":72}],63:[function(a,b){var c=a("./node"),d=a("./variable"),e=function(){};e.prototype=new c,e.prototype.evaluateJavaScript=function(a,b){var c,e=this,f={};if(void 0!==b.javascriptEnabled&&!b.javascriptEnabled)throw{message:"You are using JavaScript, which has been disabled.",filename:this.currentFileInfo.filename,index:this.index};a=a.replace(/@\{([\w-]+)\}/g,function(a,c){return e.jsify(new d("@"+c,e.index,e.currentFileInfo).eval(b))});try{a=new Function("return ("+a+")")}catch(g){throw{message:"JavaScript evaluation error: "+g.message+" from `"+a+"`",filename:this.currentFileInfo.filename,index:this.index}}var h=b.frames[0].variables();for(var i in h)h.hasOwnProperty(i)&&(f[i.slice(1)]={value:h[i].value,toJS:function(){return this.value.eval(b).toCSS()}});try{c=a.call(f)}catch(g){throw{message:"JavaScript evaluation error: '"+g.name+": "+g.message.replace(/["]/g,"'")+"'",filename:this.currentFileInfo.filename,index:this.index}}return c},e.prototype.jsify=function(a){return Array.isArray(a.value)&&a.value.length>1?"["+a.value.map(function(a){return a.toCSS()}).join(", ")+"]":a.toCSS()},b.exports=e},{"./node":69,"./variable":81}],64:[function(a,b){var c=a("./node"),d=function(a){this.value=a};d.prototype=new c,d.prototype.type="Keyword",d.prototype.genCSS=function(a,b){if("%"===this.value)throw{type:"Syntax",message:"Invalid % without number"};b.add(this.value)},d.True=new d("true"),d.False=new d("false"),b.exports=d},{"./node":69}],65:[function(a,b){var c=a("./ruleset"),d=a("./value"),e=a("./selector"),f=a("./anonymous"),g=a("./expression"),h=a("./directive"),i=function(a,b,f,g){this.index=f,this.currentFileInfo=g;var h=new e([],null,null,this.index,this.currentFileInfo).createEmptySelectors();this.features=new d(b),this.rules=[new c(h,a)],this.rules[0].allowImports=!0};i.prototype=new h,i.prototype.type="Media",i.prototype.isRulesetLike=!0,i.prototype.accept=function(a){this.features&&(this.features=a.visit(this.features)),this.rules&&(this.rules=a.visitArray(this.rules))},i.prototype.genCSS=function(a,b){b.add("@media ",this.currentFileInfo,this.index),this.features.genCSS(a,b),this.outputRuleset(a,b,this.rules)},i.prototype.eval=function(a){a.mediaBlocks||(a.mediaBlocks=[],a.mediaPath=[]);var b=new i(null,[],this.index,this.currentFileInfo);this.debugInfo&&(this.rules[0].debugInfo=this.debugInfo,b.debugInfo=this.debugInfo);var c=!1;a.strictMath||(c=!0,a.strictMath=!0);try{b.features=this.features.eval(a)}finally{c&&(a.strictMath=!1)}return a.mediaPath.push(b),a.mediaBlocks.push(b),this.rules[0].functionRegistry=a.frames[0].functionRegistry.inherit(),a.frames.unshift(this.rules[0]),b.rules=[this.rules[0].eval(a)],a.frames.shift(),a.mediaPath.pop(),0===a.mediaPath.length?b.evalTop(a):b.evalNested(a)},i.prototype.evalTop=function(a){var b=this;if(a.mediaBlocks.length>1){var d=new e([],null,null,this.index,this.currentFileInfo).createEmptySelectors();b=new c(d,a.mediaBlocks),b.multiMedia=!0}return delete a.mediaBlocks,delete a.mediaPath,b},i.prototype.evalNested=function(a){var b,e,h=a.mediaPath.concat([this]);for(b=0;h.length>b;b++)e=h[b].features instanceof d?h[b].features.value:h[b].features,h[b]=Array.isArray(e)?e:[e];return this.features=new d(this.permute(h).map(function(a){for(a=a.map(function(a){return a.toCSS?a:new f(a)}),b=a.length-1;b>0;b--)a.splice(b,0,new f("and"));return new g(a)})),new c([],[])},i.prototype.permute=function(a){if(0===a.length)return[];if(1===a.length)return a[0];for(var b=[],c=this.permute(a.slice(1)),d=0;c.length>d;d++)for(var e=0;a[0].length>e;e++)b.push([a[0][e]].concat(c[d]));return b},i.prototype.bubbleSelectors=function(a){a&&(this.rules=[new c(a.slice(0),[this.rules[0]])])},b.exports=i},{"./anonymous":45,"./directive":56,"./expression":58,"./ruleset":75,"./selector":76,"./value":80}],66:[function(a,b){var c=a("./node"),d=a("./selector"),e=a("./mixin-definition"),f=a("../functions/default"),g=function(a,b,c,e,f){this.selector=new d(a),this.arguments=b||[],this.index=c,this.currentFileInfo=e,this.important=f};g.prototype=new c,g.prototype.type="MixinCall",g.prototype.accept=function(a){this.selector&&(this.selector=a.visit(this.selector)),this.arguments.length&&(this.arguments=a.visitArray(this.arguments))},g.prototype.eval=function(a){function b(b,c){var d,e,g;for(d=0;2>d;d++){for(y[d]=!0,f.value(d),e=0;c.length>e&&y[d];e++)g=c[e],g.matchCondition&&(y[d]=y[d]&&g.matchCondition(null,a));b.matchCondition&&(y[d]=y[d]&&b.matchCondition(u,a))}return y[0]||y[1]?y[0]!=y[1]?y[1]?B:C:A:z}var c,d,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=[],v=[],w=!1,x=[],y=[],z=-1,A=0,B=1,C=2;for(k=0;this.arguments.length>k;k++)if(h=this.arguments[k],i=h.value.eval(a),h.expand&&Array.isArray(i.value))for(i=i.value,l=0;i.length>l;l++)u.push({value:i[l]});else u.push({name:h.name,value:i});for(t=function(b){return b.matchArgs(null,a)},k=0;a.frames.length>k;k++)if((c=a.frames[k].find(this.selector,null,t)).length>0){for(o=!0,l=0;c.length>l;l++){for(d=c[l].rule,g=c[l].path,n=!1,m=0;a.frames.length>m;m++)if(!(d instanceof e)&&d===(a.frames[m].originalRuleset||a.frames[m])){n=!0;break}n||d.matchArgs(u,a)&&(p={mixin:d,group:b(d,g)},p.group!==z&&x.push(p),w=!0)}for(f.reset(),r=[0,0,0],l=0;x.length>l;l++)r[x[l].group]++;if(r[A]>0)q=C;else if(q=B,r[B]+r[C]>1)throw{type:"Runtime",message:"Ambiguous use of `default()` found when matching for `"+this.format(u)+"`",index:this.index,filename:this.currentFileInfo.filename};for(l=0;x.length>l;l++)if(p=x[l].group,p===A||p===q)try{d=x[l].mixin,d instanceof e||(s=d.originalRuleset||d,d=new e("",[],d.rules,null,!1),d.originalRuleset=s),Array.prototype.push.apply(v,d.evalCall(a,u,this.important).rules)}catch(D){throw{message:D.message,index:this.index,filename:this.currentFileInfo.filename,stack:D.stack}}if(w){if(!this.currentFileInfo||!this.currentFileInfo.reference)for(k=0;v.length>k;k++)j=v[k],j.markReferenced&&j.markReferenced();return v}}throw o?{type:"Runtime",message:"No matching definition was found for `"+this.format(u)+"`",index:this.index,filename:this.currentFileInfo.filename}:{type:"Name",message:this.selector.toCSS().trim()+" is undefined",index:this.index,filename:this.currentFileInfo.filename}},g.prototype.format=function(a){return this.selector.toCSS().trim()+"("+(a?a.map(function(a){var b="";return a.name&&(b+=a.name+":"),b+=a.value.toCSS?a.value.toCSS():"???"}).join(", "):"")+")"},b.exports=g},{"../functions/default":19,"./mixin-definition":67,"./node":69,"./selector":76}],67:[function(a,b){var c=a("./selector"),d=a("./element"),e=a("./ruleset"),f=a("./rule"),g=a("./expression"),h=a("../contexts"),i=function(a,b,e,f,g,h){this.name=a,this.selectors=[new c([new d(null,a,this.index,this.currentFileInfo)])],this.params=b,this.condition=f,this.variadic=g,this.arity=b.length,this.rules=e,this._lookups={};var i=[];this.required=b.reduce(function(a,b){return!b.name||b.name&&!b.value?a+1:(i.push(b.name),a)},0),this.optionalParameters=i,this.frames=h};i.prototype=new e,i.prototype.type="MixinDefinition",i.prototype.evalFirst=!0,i.prototype.accept=function(a){this.params&&this.params.length&&(this.params=a.visitArray(this.params)),this.rules=a.visitArray(this.rules),this.condition&&(this.condition=a.visit(this.condition))},i.prototype.evalParams=function(a,b,c,d){var i,j,k,l,m,n,o,p,q=new e(null,null),r=this.params.slice(0),s=0;if(b.frames&&b.frames[0]&&b.frames[0].functionRegistry&&(q.functionRegistry=b.frames[0].functionRegistry.inherit()),b=new h.Eval(b,[q].concat(b.frames)),c)for(c=c.slice(0),s=c.length,k=0;s>k;k++)if(j=c[k],n=j&&j.name){for(o=!1,l=0;r.length>l;l++)if(!d[l]&&n===r[l].name){d[l]=j.value.eval(a),q.prependRule(new f(n,j.value.eval(a))),o=!0;break}if(o){c.splice(k,1),k--;continue}throw{type:"Runtime",message:"Named argument for "+this.name+" "+c[k].name+" not found"}}for(p=0,k=0;r.length>k;k++)if(!d[k]){if(j=c&&c[p],n=r[k].name)if(r[k].variadic){for(i=[],l=p;s>l;l++)i.push(c[l].value.eval(a));q.prependRule(new f(n,new g(i).eval(a)))}else{if(m=j&&j.value)m=m.eval(a);else{if(!r[k].value)throw{type:"Runtime",message:"wrong number of arguments for "+this.name+" ("+s+" for "+this.arity+")"};m=r[k].value.eval(b),q.resetCache()}q.prependRule(new f(n,m)),d[k]=m}if(r[k].variadic&&c)for(l=p;s>l;l++)d[l]=c[l].value.eval(a);p++}return q},i.prototype.makeImportant=function(){var a=this.rules?this.rules.map(function(a){return a.makeImportant?a.makeImportant(!0):a}):this.rules,b=new i(this.name,this.params,a,this.condition,this.variadic,this.frames);
+
+return b},i.prototype.eval=function(a){return new i(this.name,this.params,this.rules,this.condition,this.variadic,this.frames||a.frames.slice(0))},i.prototype.evalCall=function(a,b,c){var d,i,j=[],k=this.frames?this.frames.concat(a.frames):a.frames,l=this.evalParams(a,new h.Eval(a,k),b,j);return l.prependRule(new f("@arguments",new g(j).eval(a))),d=this.rules.slice(0),i=new e(null,d),i.originalRuleset=this,i=i.eval(new h.Eval(a,[this,l].concat(k))),c&&(i=i.makeImportant()),i},i.prototype.matchCondition=function(a,b){return this.condition&&!this.condition.eval(new h.Eval(b,[this.evalParams(b,new h.Eval(b,this.frames?this.frames.concat(b.frames):b.frames),a,[])].concat(this.frames||[]).concat(b.frames)))?!1:!0},i.prototype.matchArgs=function(a,b){var c,d=a&&a.length||0,e=this.optionalParameters,f=a?a.reduce(function(a,b){return e.indexOf(b.name)<0?a+1:a},0):0;if(this.variadic){if(this.required-1>f)return!1}else{if(this.required>f)return!1;if(d>this.params.length)return!1}c=Math.min(f,this.arity);for(var g=0;c>g;g++)if(!this.params[g].name&&!this.params[g].variadic&&a[g].value.eval(b).toCSS()!=this.params[g].value.eval(b).toCSS())return!1;return!0},b.exports=i},{"../contexts":10,"./element":57,"./expression":58,"./rule":73,"./ruleset":75,"./selector":76}],68:[function(a,b){var c=a("./node"),d=a("./operation"),e=a("./dimension"),f=function(a){this.value=a};f.prototype=new c,f.prototype.type="Negative",f.prototype.genCSS=function(a,b){b.add("-"),this.value.genCSS(a,b)},f.prototype.eval=function(a){return a.isMathOn()?new d("*",[new e(-1),this.value]).eval(a):new f(this.value.eval(a))},b.exports=f},{"./dimension":55,"./node":69,"./operation":70}],69:[function(a,b){var c=function(){};c.prototype.toCSS=function(a){var b=[];return this.genCSS(a,{add:function(a){b.push(a)},isEmpty:function(){return 0===b.length}}),b.join("")},c.prototype.genCSS=function(a,b){b.add(this.value)},c.prototype.accept=function(a){this.value=a.visit(this.value)},c.prototype.eval=function(){return this},c.prototype._operate=function(a,b,c,d){switch(b){case"+":return c+d;case"-":return c-d;case"*":return c*d;case"/":return c/d}},c.prototype.fround=function(a,b){var c=a&&a.numPrecision;return null==c?b:Number((b+2e-16).toFixed(c))},c.compare=function(a,b){if(a.compare&&"Quoted"!==b.type&&"Anonymous"!==b.type)return a.compare(b);if(b.compare)return-b.compare(a);if(a.type!==b.type)return void 0;if(a=a.value,b=b.value,!Array.isArray(a))return a===b?0:void 0;if(a.length!==b.length)return void 0;for(var d=0;a.length>d;d++)if(0!==c.compare(a[d],b[d]))return void 0;return 0},c.numericCompare=function(a,b){return b>a?-1:a===b?0:a>b?1:void 0},b.exports=c},{}],70:[function(a,b){var c=a("./node"),d=a("./color"),e=a("./dimension"),f=function(a,b,c){this.op=a.trim(),this.operands=b,this.isSpaced=c};f.prototype=new c,f.prototype.type="Operation",f.prototype.accept=function(a){this.operands=a.visit(this.operands)},f.prototype.eval=function(a){var b=this.operands[0].eval(a),c=this.operands[1].eval(a);if(a.isMathOn()){if(b instanceof e&&c instanceof d&&(b=b.toColor()),c instanceof e&&b instanceof d&&(c=c.toColor()),!b.operate)throw{type:"Operation",message:"Operation on an invalid type"};return b.operate(a,this.op,c)}return new f(this.op,[b,c],this.isSpaced)},f.prototype.genCSS=function(a,b){this.operands[0].genCSS(a,b),this.isSpaced&&b.add(" "),b.add(this.op),this.isSpaced&&b.add(" "),this.operands[1].genCSS(a,b)},b.exports=f},{"./color":49,"./dimension":55,"./node":69}],71:[function(a,b){var c=a("./node"),d=function(a){this.value=a};d.prototype=new c,d.prototype.type="Paren",d.prototype.genCSS=function(a,b){b.add("("),this.value.genCSS(a,b),b.add(")")},d.prototype.eval=function(a){return new d(this.value.eval(a))},b.exports=d},{"./node":69}],72:[function(a,b){var c=a("./node"),d=a("./js-eval-node"),e=a("./variable"),f=function(a,b,c,d,e){this.escaped=null==c?!0:c,this.value=b||"",this.quote=a.charAt(0),this.index=d,this.currentFileInfo=e};f.prototype=new d,f.prototype.type="Quoted",f.prototype.genCSS=function(a,b){this.escaped||b.add(this.quote,this.currentFileInfo,this.index),b.add(this.value),this.escaped||b.add(this.quote)},f.prototype.containsVariables=function(){return this.value.match(/(`([^`]+)`)|@\{([\w-]+)\}/)},f.prototype.eval=function(a){function b(a,b,c){var d=a;do a=d,d=a.replace(b,c);while(a!==d);return d}var c=this,d=this.value,g=function(b,d){return String(c.evaluateJavaScript(d,a))},h=function(b,d){var g=new e("@"+d,c.index,c.currentFileInfo).eval(a,!0);return g instanceof f?g.value:g.toCSS()};return d=b(d,/`([^`]+)`/g,g),d=b(d,/@\{([\w-]+)\}/g,h),new f(this.quote+d+this.quote,d,this.escaped,this.index,this.currentFileInfo)},f.prototype.compare=function(a){return"Quoted"!==a.type||this.escaped||a.escaped?a.toCSS&&this.toCSS()===a.toCSS()?0:void 0:c.numericCompare(this.value,a.value)},b.exports=f},{"./js-eval-node":63,"./node":69,"./variable":81}],73:[function(a,b){function c(a,b){var c,d="",e=b.length,f={add:function(a){d+=a}};for(c=0;e>c;c++)b[c].eval(a).genCSS(a,f);return d}var d=a("./node"),e=a("./value"),f=a("./keyword"),g=function(a,b,c,f,g,h,i,j){this.name=a,this.value=b instanceof d?b:new e([b]),this.important=c?" "+c.trim():"",this.merge=f,this.index=g,this.currentFileInfo=h,this.inline=i||!1,this.variable=void 0!==j?j:a.charAt&&"@"===a.charAt(0)};g.prototype=new d,g.prototype.type="Rule",g.prototype.genCSS=function(a,b){b.add(this.name+(a.compress?":":": "),this.currentFileInfo,this.index);try{this.value.genCSS(a,b)}catch(c){throw c.index=this.index,c.filename=this.currentFileInfo.filename,c}b.add(this.important+(this.inline||a.lastRule&&a.compress?"":";"),this.currentFileInfo,this.index)},g.prototype.eval=function(a){var b,d=!1,e=this.name,h=this.variable;"string"!=typeof e&&(e=1===e.length&&e[0]instanceof f?e[0].value:c(a,e),h=!1),"font"!==e||a.strictMath||(d=!0,a.strictMath=!0);try{if(a.importantScope.push({}),b=this.value.eval(a),!this.variable&&"DetachedRuleset"===b.type)throw{message:"Rulesets cannot be evaluated on a property.",index:this.index,filename:this.currentFileInfo.filename};var i=this.important,j=a.importantScope.pop();return!i&&j.important&&(i=j.important),new g(e,b,i,this.merge,this.index,this.currentFileInfo,this.inline,h)}catch(k){throw"number"!=typeof k.index&&(k.index=this.index,k.filename=this.currentFileInfo.filename),k}finally{d&&(a.strictMath=!1)}},g.prototype.makeImportant=function(){return new g(this.name,this.value,"!important",this.merge,this.index,this.currentFileInfo,this.inline)};var h=function(a){Array.isArray(a)?a.forEach(function(a){h(a)}):a.markReferenced&&a.markReferenced()};g.prototype.markReferenced=function(){this.value&&h(this.value)},b.exports=g},{"./keyword":64,"./node":69,"./value":80}],74:[function(a,b){var c=a("./node"),d=a("./variable"),e=function(a){this.variable=a};e.prototype=new c,e.prototype.type="RulesetCall",e.prototype.eval=function(a){var b=new d(this.variable).eval(a);return b.callEval(a)},b.exports=e},{"./node":69,"./variable":81}],75:[function(a,b){var c=a("./node"),d=a("./rule"),e=a("./selector"),f=a("./element"),g=a("./paren"),h=a("../contexts"),i=a("../functions/function-registry"),j=a("../functions/default"),k=a("./debug-info"),l=function(a,b,c){this.selectors=a,this.rules=b,this._lookups={},this.strictImports=c};l.prototype=new c,l.prototype.type="Ruleset",l.prototype.isRuleset=!0,l.prototype.isRulesetLike=!0,l.prototype.accept=function(a){this.paths?a.visitArray(this.paths,!0):this.selectors&&(this.selectors=a.visitArray(this.selectors)),this.rules&&this.rules.length&&(this.rules=a.visitArray(this.rules))},l.prototype.eval=function(a){var b,c,e,f,g=this.selectors,h=!1;if(g&&(c=g.length)){for(b=[],j.error({type:"Syntax",message:"it is currently only allowed in parametric mixin guards,"}),f=0;c>f;f++)e=g[f].eval(a),b.push(e),e.evaldCondition&&(h=!0);j.reset()}else h=!0;var k,m,n=this.rules?this.rules.slice(0):null,o=new l(b,n,this.strictImports);o.originalRuleset=this,o.root=this.root,o.firstRoot=this.firstRoot,o.allowImports=this.allowImports,this.debugInfo&&(o.debugInfo=this.debugInfo),h||(n.length=0),o.functionRegistry=function(a){for(var b,c=0,d=a.length;c!==d;++c)if(b=a[c].functionRegistry)return b;return i}(a.frames).inherit();var p=a.frames;p.unshift(o);var q=a.selectors;q||(a.selectors=q=[]),q.unshift(this.selectors),(o.root||o.allowImports||!o.strictImports)&&o.evalImports(a);var r=o.rules,s=r?r.length:0;for(f=0;s>f;f++)r[f].evalFirst&&(r[f]=r[f].eval(a));var t=a.mediaBlocks&&a.mediaBlocks.length||0;for(f=0;s>f;f++)"MixinCall"===r[f].type?(n=r[f].eval(a).filter(function(a){return a instanceof d&&a.variable?!o.variable(a.name):!0}),r.splice.apply(r,[f,1].concat(n)),s+=n.length-1,f+=n.length-1,o.resetCache()):"RulesetCall"===r[f].type&&(n=r[f].eval(a).rules.filter(function(a){return a instanceof d&&a.variable?!1:!0}),r.splice.apply(r,[f,1].concat(n)),s+=n.length-1,f+=n.length-1,o.resetCache());for(f=0;r.length>f;f++)k=r[f],k.evalFirst||(r[f]=k=k.eval?k.eval(a):k);for(f=0;r.length>f;f++)if(k=r[f],k instanceof l&&k.selectors&&1===k.selectors.length&&k.selectors[0].isJustParentSelector()){r.splice(f--,1);for(var u=0;k.rules.length>u;u++)m=k.rules[u],m instanceof d&&m.variable||r.splice(++f,0,m)}if(p.shift(),q.shift(),a.mediaBlocks)for(f=t;a.mediaBlocks.length>f;f++)a.mediaBlocks[f].bubbleSelectors(b);return o},l.prototype.evalImports=function(a){var b,c,d=this.rules;if(d)for(b=0;d.length>b;b++)"Import"===d[b].type&&(c=d[b].eval(a),c&&c.length?(d.splice.apply(d,[b,1].concat(c)),b+=c.length-1):d.splice(b,1,c),this.resetCache())},l.prototype.makeImportant=function(){var a=new l(this.selectors,this.rules.map(function(a){return a.makeImportant?a.makeImportant():a}),this.strictImports);return a},l.prototype.matchArgs=function(a){return!a||0===a.length},l.prototype.matchCondition=function(a,b){var c=this.selectors[this.selectors.length-1];return c.evaldCondition?c.condition&&!c.condition.eval(new h.Eval(b,b.frames))?!1:!0:!1},l.prototype.resetCache=function(){this._rulesets=null,this._variables=null,this._lookups={}},l.prototype.variables=function(){return this._variables||(this._variables=this.rules?this.rules.reduce(function(a,b){if(b instanceof d&&b.variable===!0&&(a[b.name]=b),"Import"===b.type&&b.root&&b.root.variables){var c=b.root.variables();for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])}return a},{}):{}),this._variables},l.prototype.variable=function(a){return this.variables()[a]},l.prototype.rulesets=function(){if(!this.rules)return[];var a,b,c=[],d=this.rules,e=d.length;for(a=0;e>a;a++)b=d[a],b.isRuleset&&c.push(b);return c},l.prototype.prependRule=function(a){var b=this.rules;b?b.unshift(a):this.rules=[a]},l.prototype.find=function(a,b,c){b=b||this;var d,f,g=[],h=a.toCSS();return h in this._lookups?this._lookups[h]:(this.rulesets().forEach(function(h){if(h!==b)for(var i=0;h.selectors.length>i;i++)if(d=a.match(h.selectors[i])){if(a.elements.length>d){if(!c||c(h)){f=h.find(new e(a.elements.slice(d)),b,c);for(var j=0;f.length>j;++j)f[j].path.push(h);Array.prototype.push.apply(g,f)}}else g.push({rule:h,path:[]});break}}),this._lookups[h]=g,g)},l.prototype.genCSS=function(a,b){function c(a){return"boolean"==typeof a.isRulesetLike?a.isRulesetLike:"function"==typeof a.isRulesetLike?a.isRulesetLike():!1}var d,e,f,g,h,i=[],j=[];a.tabLevel=a.tabLevel||0,this.root||a.tabLevel++;var l,m=a.compress?"":Array(a.tabLevel+1).join("  "),n=a.compress?"":Array(a.tabLevel).join("  "),o=0,p=0;for(d=0;this.rules.length>d;d++)g=this.rules[d],"Comment"===g.type?(p===d&&p++,j.push(g)):g.isCharset&&g.isCharset()?(j.splice(o,0,g),o++,p++):"Import"===g.type?(j.splice(p,0,g),p++):j.push(g);if(j=i.concat(j),!this.root){f=k(a,this,n),f&&(b.add(f),b.add(n));var q,r=this.paths,s=r.length;for(l=a.compress?",":",\n"+n,d=0;s>d;d++)if(h=r[d],q=h.length)for(d>0&&b.add(l),a.firstSelector=!0,h[0].genCSS(a,b),a.firstSelector=!1,e=1;q>e;e++)h[e].genCSS(a,b);b.add((a.compress?"{":" {\n")+m)}for(d=0;j.length>d;d++){g=j[d],d+1===j.length&&(a.lastRule=!0);var t=a.lastRule;c(g)&&(a.lastRule=!1),g.genCSS?g.genCSS(a,b):g.value&&b.add(g.value.toString()),a.lastRule=t,a.lastRule?a.lastRule=!1:b.add(a.compress?"":"\n"+m)}this.root||(b.add(a.compress?"}":"\n"+n+"}"),a.tabLevel--),b.isEmpty()||a.compress||!this.firstRoot||b.add("\n")},l.prototype.markReferenced=function(){var a;if(this.selectors)for(a=0;this.selectors.length>a;a++)this.selectors[a].markReferenced();if(this.rules)for(a=0;this.rules.length>a;a++)this.rules[a].markReferenced&&this.rules[a].markReferenced()},l.prototype.getIsReferenced=function(){var a,b,c,d;if(this.paths)for(a=0;this.paths.length>a;a++)for(c=this.paths[a],b=0;c.length>b;b++)if(c[b].getIsReferenced&&c[b].getIsReferenced())return!0;if(this.selectors)for(a=0;this.selectors.length>a;a++)if(d=this.selectors[a],d.getIsReferenced&&d.getIsReferenced())return!0;return!1},l.prototype.joinSelectors=function(a,b,c){for(var d=0;c.length>d;d++)this.joinSelector(a,b,c[d])},l.prototype.joinSelector=function(a,b,c){function d(a,b){var c,d;if(0===a.length)c=new g(a[0]);else{var h=[];for(d=0;a.length>d;d++)h.push(new f(null,a[d],b.index,b.currentFileInfo));c=new g(new e(h))}return c}function h(a,b){var c,d;return c=new f(null,a,b.index,b.currentFileInfo),d=new e([c])}function i(a,b,c){function e(a){var b;return"Paren"!==a.value.type?null:(b=a.value.value,"Selector"!==b.type?null:b)}var g,m,n,o,p,q,r,s,t,u,v=!1;for(o=[],p=[[]],g=0;c.elements.length>g;g++)if(s=c.elements[g],"&"!==s.value){var w=e(s);if(null!=w){l(o,p);var x,y=[],z=[];for(x=i(y,b,w),v=v||x,n=0;y.length>n;n++){var A=h(d(y[n],s),s);k(p,[A],s,c,z)}p=z,o=[]}else o.push(s)}else{for(v=!0,q=[],l(o,p),m=0;p.length>m;m++)if(r=p[m],0===b.length)r.length>0&&r[0].elements.push(new f(s.combinator,"",s.index,s.currentFileInfo)),q.push(r);else for(n=0;b.length>n;n++){var B=j(r,b[n],s,c);q.push(B)}p=q,o=[]}for(l(o,p),g=0;p.length>g;g++)t=p[g].length,t>0&&(a.push(p[g]),u=p[g][t-1],p[g][t-1]=u.createDerived(u.elements,c.extendList));return v}function j(a,b,c,d){var e,g,h;if(e=[],a.length>0?(e=a.slice(0),g=e.pop(),h=d.createDerived(g.elements.slice(0))):h=d.createDerived([]),b.length>0){var i=c.combinator,j=b[0].elements[0];i.emptyOrWhitespace&&!j.combinator.emptyOrWhitespace&&(i=j.combinator),h.elements.push(new f(i,j.value,c.index,c.currentFileInfo)),h.elements=h.elements.concat(b[0].elements.slice(1))}return 0!==h.elements.length&&e.push(h),b.length>1&&(e=e.concat(b.slice(1))),e}function k(a,b,c,d,e){var f;for(f=0;a.length>f;f++){var g=j(a[f],b,c,d);e.push(g)}return e}function l(a,b){var c,d;if(0!==a.length){if(0===b.length)return void b.push([new e(a)]);for(c=0;b.length>c;c++)d=b[c],d.length>0?d[d.length-1]=d[d.length-1].createDerived(d[d.length-1].elements.concat(a)):d.push(new e(a))}}var m,n,o;if(n=[],o=i(n,b,c),!o)if(b.length>0)for(n=[],m=0;b.length>m;m++)n.push(b[m].concat(c));else n=[[c]];for(m=0;n.length>m;m++)a.push(n[m])},b.exports=l},{"../contexts":10,"../functions/default":19,"../functions/function-registry":21,"./debug-info":53,"./element":57,"./node":69,"./paren":71,"./rule":73,"./selector":76}],76:[function(a,b){var c=a("./node"),d=a("./element"),e=function(a,b,c,d,e,f){this.elements=a,this.extendList=b,this.condition=c,this.currentFileInfo=e||{},this.isReferenced=f,c||(this.evaldCondition=!0)};e.prototype=new c,e.prototype.type="Selector",e.prototype.accept=function(a){this.elements&&(this.elements=a.visitArray(this.elements)),this.extendList&&(this.extendList=a.visitArray(this.extendList)),this.condition&&(this.condition=a.visit(this.condition))},e.prototype.createDerived=function(a,b,c){c=null!=c?c:this.evaldCondition;var d=new e(a,b||this.extendList,null,this.index,this.currentFileInfo,this.isReferenced);return d.evaldCondition=c,d.mediaEmpty=this.mediaEmpty,d},e.prototype.createEmptySelectors=function(){var a=new d("","&",this.index,this.currentFileInfo),b=[new e([a],null,null,this.index,this.currentFileInfo)];return b[0].mediaEmpty=!0,b},e.prototype.match=function(a){var b,c,d=this.elements,e=d.length;if(a.CacheElements(),b=a._elements.length,0===b||b>e)return 0;for(c=0;b>c;c++)if(d[c].value!==a._elements[c])return 0;return b},e.prototype.CacheElements=function(){if(!this._elements){var a=this.elements.map(function(a){return a.combinator.value+(a.value.value||a.value)}).join("").match(/[,&#\*\.\w-]([\w-]|(\\.))*/g);a?"&"===a[0]&&a.shift():a=[],this._elements=a}},e.prototype.isJustParentSelector=function(){return!this.mediaEmpty&&1===this.elements.length&&"&"===this.elements[0].value&&(" "===this.elements[0].combinator.value||""===this.elements[0].combinator.value)},e.prototype.eval=function(a){var b=this.condition&&this.condition.eval(a),c=this.elements,d=this.extendList;return c=c&&c.map(function(b){return b.eval(a)}),d=d&&d.map(function(b){return b.eval(a)}),this.createDerived(c,d,b)},e.prototype.genCSS=function(a,b){var c,d;if(a&&a.firstSelector||""!==this.elements[0].combinator.value||b.add(" ",this.currentFileInfo,this.index),!this._css)for(c=0;this.elements.length>c;c++)d=this.elements[c],d.genCSS(a,b)},e.prototype.markReferenced=function(){this.isReferenced=!0},e.prototype.getIsReferenced=function(){return!this.currentFileInfo.reference||this.isReferenced},e.prototype.getIsOutput=function(){return this.evaldCondition},b.exports=e},{"./element":57,"./node":69}],77:[function(a,b){var c=a("./node"),d=function(a){this.value=a};d.prototype=new c,d.prototype.type="UnicodeDescriptor",b.exports=d},{"./node":69}],78:[function(a,b){var c=a("./node"),d=a("../data/unit-conversions"),e=function(a,b,c){this.numerator=a?a.slice(0).sort():[],this.denominator=b?b.slice(0).sort():[],c?this.backupUnit=c:a&&a.length&&(this.backupUnit=a[0])};e.prototype=new c,e.prototype.type="Unit",e.prototype.clone=function(){return new e(this.numerator.slice(0),this.denominator.slice(0),this.backupUnit)},e.prototype.genCSS=function(a,b){var c=a&&a.strictUnits;1===this.numerator.length?b.add(this.numerator[0]):!c&&this.backupUnit?b.add(this.backupUnit):!c&&this.denominator.length&&b.add(this.denominator[0])},e.prototype.toString=function(){var a,b=this.numerator.join("*");for(a=0;this.denominator.length>a;a++)b+="/"+this.denominator[a];return b},e.prototype.compare=function(a){return this.is(a.toString())?0:void 0},e.prototype.is=function(a){return this.toString().toUpperCase()===a.toUpperCase()},e.prototype.isLength=function(){return Boolean(this.toCSS().match(/px|em|%|in|cm|mm|pc|pt|ex/))},e.prototype.isEmpty=function(){return 0===this.numerator.length&&0===this.denominator.length},e.prototype.isSingular=function(){return 1>=this.numerator.length&&0===this.denominator.length},e.prototype.map=function(a){var b;for(b=0;this.numerator.length>b;b++)this.numerator[b]=a(this.numerator[b],!1);for(b=0;this.denominator.length>b;b++)this.denominator[b]=a(this.denominator[b],!0)},e.prototype.usedUnits=function(){var a,b,c={};b=function(b){return a.hasOwnProperty(b)&&!c[e]&&(c[e]=b),b};for(var e in d)d.hasOwnProperty(e)&&(a=d[e],this.map(b));return c},e.prototype.cancel=function(){var a,b,c={};for(b=0;this.numerator.length>b;b++)a=this.numerator[b],c[a]=(c[a]||0)+1;for(b=0;this.denominator.length>b;b++)a=this.denominator[b],c[a]=(c[a]||0)-1;this.numerator=[],this.denominator=[];for(a in c)if(c.hasOwnProperty(a)){var d=c[a];if(d>0)for(b=0;d>b;b++)this.numerator.push(a);else if(0>d)for(b=0;-d>b;b++)this.denominator.push(a)}this.numerator.sort(),this.denominator.sort()},b.exports=e},{"../data/unit-conversions":13,"./node":69}],79:[function(a,b){var c=a("./node"),d=function(a,b,c,d){this.value=a,this.currentFileInfo=c,this.index=b,this.isEvald=d};d.prototype=new c,d.prototype.type="Url",d.prototype.accept=function(a){this.value=a.visit(this.value)},d.prototype.genCSS=function(a,b){b.add("url("),this.value.genCSS(a,b),b.add(")")},d.prototype.eval=function(a){var b,c=this.value.eval(a);if(!this.isEvald&&(b=this.currentFileInfo&&this.currentFileInfo.rootpath,b&&"string"==typeof c.value&&a.isPathRelative(c.value)&&(c.quote||(b=b.replace(/[\(\)'"\s]/g,function(a){return"\\"+a})),c.value=b+c.value),c.value=a.normalizePath(c.value),a.urlArgs&&!c.value.match(/^\s*data:/))){var e=-1===c.value.indexOf("?")?"?":"&",f=e+a.urlArgs;-1!==c.value.indexOf("#")?c.value=c.value.replace("#",f+"#"):c.value+=f}return new d(c,this.index,this.currentFileInfo,!0)},b.exports=d},{"./node":69}],80:[function(a,b){var c=a("./node"),d=function(a){if(this.value=a,!a)throw new Error("Value requires an array argument")};d.prototype=new c,d.prototype.type="Value",d.prototype.accept=function(a){this.value&&(this.value=a.visitArray(this.value))},d.prototype.eval=function(a){return 1===this.value.length?this.value[0].eval(a):new d(this.value.map(function(b){return b.eval(a)}))},d.prototype.genCSS=function(a,b){var c;for(c=0;this.value.length>c;c++)this.value[c].genCSS(a,b),this.value.length>c+1&&b.add(a&&a.compress?",":", ")},b.exports=d},{"./node":69}],81:[function(a,b){var c=a("./node"),d=function(a,b,c){this.name=a,this.index=b,this.currentFileInfo=c||{}};d.prototype=new c,d.prototype.type="Variable",d.prototype.eval=function(a){var b,c=this.name;if(0===c.indexOf("@@")&&(c="@"+new d(c.slice(1),this.index,this.currentFileInfo).eval(a).value),this.evaluating)throw{type:"Name",message:"Recursive variable definition for "+c,filename:this.currentFileInfo.filename,index:this.index};if(this.evaluating=!0,b=this.find(a.frames,function(b){var d=b.variable(c);if(d){if(d.important){var e=a.importantScope[a.importantScope.length-1];e.important=d.important}return d.value.eval(a)}}))return this.evaluating=!1,b;throw{type:"Name",message:"variable "+c+" is undefined",filename:this.currentFileInfo.filename,index:this.index}},d.prototype.find=function(a,b){for(var c,d=0;a.length>d;d++)if(c=b.call(a,a[d]))return c;return null},b.exports=d},{"./node":69}],82:[function(a,b){b.exports={getLocation:function(a,b){for(var c=a+1,d=null,e=-1;--c>=0&&"\n"!==b.charAt(c);)e++;return"number"==typeof a&&(d=(b.slice(0,a).match(/\n/g)||"").length),{line:d,column:e}}}},{}],83:[function(a,b){var c=a("../tree"),d=a("./visitor"),e=a("../logger"),f=function(){this._visitor=new d(this),this.contexts=[],this.allExtendsStack=[[]]};f.prototype={run:function(a){return a=this._visitor.visit(a),a.allExtends=this.allExtendsStack[0],a},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){if(!a.root){var b,d,e,f,g=[],h=a.rules,i=h?h.length:0;for(b=0;i>b;b++)a.rules[b]instanceof c.Extend&&(g.push(h[b]),a.extendOnEveryPath=!0);var j=a.paths;for(b=0;j.length>b;b++){var k=j[b],l=k[k.length-1],m=l.extendList;for(f=m?m.slice(0).concat(g):g,f&&(f=f.map(function(a){return a.clone()})),d=0;f.length>d;d++)this.foundExtends=!0,e=f[d],e.findSelfSelectors(k),e.ruleset=a,0===d&&(e.firstExtendOnThisSelectorPath=!0),this.allExtendsStack[this.allExtendsStack.length-1].push(e)}this.contexts.push(a.selectors)}},visitRulesetOut:function(a){a.root||(this.contexts.length=this.contexts.length-1)},visitMedia:function(a){a.allExtends=[],this.allExtendsStack.push(a.allExtends)},visitMediaOut:function(){this.allExtendsStack.length=this.allExtendsStack.length-1},visitDirective:function(a){a.allExtends=[],this.allExtendsStack.push(a.allExtends)},visitDirectiveOut:function(){this.allExtendsStack.length=this.allExtendsStack.length-1}};var g=function(){this._visitor=new d(this)};g.prototype={run:function(a){var b=new f;if(this.extendIndicies={},b.run(a),!b.foundExtends)return a;a.allExtends=a.allExtends.concat(this.doExtendChaining(a.allExtends,a.allExtends)),this.allExtendsStack=[a.allExtends];var c=this._visitor.visit(a);return this.checkExtendsForNonMatched(a.allExtends),c},checkExtendsForNonMatched:function(a){var b=this.extendIndicies;a.filter(function(a){return!a.hasFoundMatches&&1==a.parent_ids.length}).forEach(function(a){var c="_unknown_";try{c=a.selector.toCSS({})}catch(d){}b[a.index+" "+c]||(b[a.index+" "+c]=!0,e.warn("extend '"+c+"' has no matches"))})},doExtendChaining:function(a,b,d){var e,f,g,h,i,j,k,l,m=[],n=this;for(d=d||0,e=0;a.length>e;e++)for(f=0;b.length>f;f++)j=a[e],k=b[f],j.parent_ids.indexOf(k.object_id)>=0||(i=[k.selfSelectors[0]],g=n.findMatch(j,i),g.length&&(j.hasFoundMatches=!0,j.selfSelectors.forEach(function(a){h=n.extendSelector(g,i,a),l=new c.Extend(k.selector,k.option,0),l.selfSelectors=h,h[h.length-1].extendList=[l],m.push(l),l.ruleset=k.ruleset,l.parent_ids=l.parent_ids.concat(k.parent_ids,j.parent_ids),k.firstExtendOnThisSelectorPath&&(l.firstExtendOnThisSelectorPath=!0,k.ruleset.paths.push(h))})));if(m.length){if(this.extendChainCount++,d>100){var o="{unable to calculate}",p="{unable to calculate}";try{o=m[0].selfSelectors[0].toCSS(),p=m[0].selector.toCSS()}catch(q){}throw{message:"extend circular reference detected. One of the circular extends is currently:"+o+":extend("+p+")"}}return m.concat(n.doExtendChaining(m,b,d+1))}return m},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitSelector:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){if(!a.root){var b,c,d,e,f=this.allExtendsStack[this.allExtendsStack.length-1],g=[],h=this;for(d=0;f.length>d;d++)for(c=0;a.paths.length>c;c++)if(e=a.paths[c],!a.extendOnEveryPath){var i=e[e.length-1].extendList;i&&i.length||(b=this.findMatch(f[d],e),b.length&&(f[d].hasFoundMatches=!0,f[d].selfSelectors.forEach(function(a){g.push(h.extendSelector(b,e,a))})))}a.paths=a.paths.concat(g)}},findMatch:function(a,b){var c,d,e,f,g,h,i,j=this,k=a.selector.elements,l=[],m=[];for(c=0;b.length>c;c++)for(d=b[c],e=0;d.elements.length>e;e++)for(f=d.elements[e],(a.allowBefore||0===c&&0===e)&&l.push({pathIndex:c,index:e,matched:0,initialCombinator:f.combinator}),h=0;l.length>h;h++)i=l[h],g=f.combinator.value,""===g&&0===e&&(g=" "),!j.isElementValuesEqual(k[i.matched].value,f.value)||i.matched>0&&k[i.matched].combinator.value!==g?i=null:i.matched++,i&&(i.finished=i.matched===k.length,i.finished&&!a.allowAfter&&(d.elements.length>e+1||b.length>c+1)&&(i=null)),i?i.finished&&(i.length=k.length,i.endPathIndex=c,i.endPathElementIndex=e+1,l.length=0,m.push(i)):(l.splice(h,1),h--);return m},isElementValuesEqual:function(a,b){if("string"==typeof a||"string"==typeof b)return a===b;if(a instanceof c.Attribute)return a.op!==b.op||a.key!==b.key?!1:a.value&&b.value?(a=a.value.value||a.value,b=b.value.value||b.value,a===b):a.value||b.value?!1:!0;if(a=a.value,b=b.value,a instanceof c.Selector){if(!(b instanceof c.Selector)||a.elements.length!==b.elements.length)return!1;for(var d=0;a.elements.length>d;d++){if(a.elements[d].combinator.value!==b.elements[d].combinator.value&&(0!==d||(a.elements[d].combinator.value||" ")!==(b.elements[d].combinator.value||" ")))return!1;if(!this.isElementValuesEqual(a.elements[d].value,b.elements[d].value))return!1}return!0}return!1},extendSelector:function(a,b,d){var e,f,g,h,i,j=0,k=0,l=[];for(e=0;a.length>e;e++)h=a[e],f=b[h.pathIndex],g=new c.Element(h.initialCombinator,d.elements[0].value,d.elements[0].index,d.elements[0].currentFileInfo),h.pathIndex>j&&k>0&&(l[l.length-1].elements=l[l.length-1].elements.concat(b[j].elements.slice(k)),k=0,j++),i=f.elements.slice(k,h.index).concat([g]).concat(d.elements.slice(1)),j===h.pathIndex&&e>0?l[l.length-1].elements=l[l.length-1].elements.concat(i):(l=l.concat(b.slice(j,h.pathIndex)),l.push(new c.Selector(i))),j=h.endPathIndex,k=h.endPathElementIndex,k>=b[j].elements.length&&(k=0,j++);return b.length>j&&k>0&&(l[l.length-1].elements=l[l.length-1].elements.concat(b[j].elements.slice(k)),j++),l=l.concat(b.slice(j,b.length))},visitRulesetOut:function(){},visitMedia:function(a){var b=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);b=b.concat(this.doExtendChaining(b,a.allExtends)),this.allExtendsStack.push(b)},visitMediaOut:function(){var a=this.allExtendsStack.length-1;this.allExtendsStack.length=a},visitDirective:function(a){var b=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);b=b.concat(this.doExtendChaining(b,a.allExtends)),this.allExtendsStack.push(b)},visitDirectiveOut:function(){var a=this.allExtendsStack.length-1;this.allExtendsStack.length=a}},b.exports=g},{"../logger":32,"../tree":61,"./visitor":89}],84:[function(a,b){function c(a){this.imports=[],this.variableImports=[],this._onSequencerEmpty=a,this._currentDepth=0}c.prototype.addImport=function(a){var b=this,c={callback:a,args:null,isReady:!1};return this.imports.push(c),function(){c.args=Array.prototype.slice.call(arguments,0),c.isReady=!0,b.tryRun()}},c.prototype.addVariableImport=function(a){this.variableImports.push(a)},c.prototype.tryRun=function(){this._currentDepth++;try{for(;;){for(;this.imports.length>0;){var a=this.imports[0];if(!a.isReady)return;this.imports=this.imports.slice(1),a.callback.apply(null,a.args)}if(0===this.variableImports.length)break;var b=this.variableImports[0];this.variableImports=this.variableImports.slice(1),b()}}finally{this._currentDepth--}0===this._currentDepth&&this._onSequencerEmpty&&this._onSequencerEmpty()},b.exports=c},{}],85:[function(a,b){var c=a("../contexts"),d=a("./visitor"),e=a("./import-sequencer"),f=function(a,b){this._visitor=new d(this),this._importer=a,this._finish=b,this.context=new c.Eval,this.importCount=0,this.onceFileDetectionMap={},this.recursionDetector={},this._sequencer=new e(this._onSequencerEmpty.bind(this))};f.prototype={isReplacing:!1,run:function(a){try{this._visitor.visit(a)}catch(b){this.error=b}this.isFinished=!0,this._sequencer.tryRun()},_onSequencerEmpty:function(){this.isFinished&&this._finish(this.error)},visitImport:function(a,b){var d=a.options.inline;if(!a.css||d){var e=new c.Eval(this.context,this.context.frames.slice(0)),f=e.frames[0];this.importCount++,a.isVariableImport()?this._sequencer.addVariableImport(this.processImportNode.bind(this,a,e,f)):this.processImportNode(a,e,f)}b.visitDeeper=!1},processImportNode:function(a,b,c){var d,e=a.options.inline;try{d=a.evalForImport(b)}catch(f){f.filename||(f.index=a.index,f.filename=a.currentFileInfo.filename),a.css=!0,a.error=f}if(!d||d.css&&!e)this.importCount--,this.isFinished&&this._sequencer.tryRun();else{d.options.multiple&&(b.importMultiple=!0);for(var g=void 0===d.css,h=0;c.rules.length>h;h++)if(c.rules[h]===a){c.rules[h]=d;break}var i=this.onImported.bind(this,d,b),j=this._sequencer.addImport(i);this._importer.push(d.getPath(),g,d.currentFileInfo,d.options,j)}},onImported:function(a,b,c,d,e,f){c&&(c.filename||(c.index=a.index,c.filename=a.currentFileInfo.filename),this.error=c);var g=this,h=a.options.inline,i=a.options.plugin,j=a.options.optional,k=e||f in g.recursionDetector;if(b.importMultiple||(a.skip=k?!0:function(){return f in g.onceFileDetectionMap?!0:(g.onceFileDetectionMap[f]=!0,!1)}),!f&&j&&(a.skip=!0),d&&(a.root=d,a.importedFilename=f,!(h||i||!b.importMultiple&&k))){g.recursionDetector[f]=!0;var l=this.context;this.context=b;try{this._visitor.visit(d)}catch(c){this.error=c}this.context=l}g.importCount--,g.isFinished&&g._sequencer.tryRun()},visitRule:function(a,b){"DetachedRuleset"===a.value.type?this.context.frames.unshift(a):b.visitDeeper=!1},visitRuleOut:function(a){"DetachedRuleset"===a.value.type&&this.context.frames.shift()},visitDirective:function(a){this.context.frames.unshift(a)},visitDirectiveOut:function(){this.context.frames.shift()},visitMixinDefinition:function(a){this.context.frames.unshift(a)},visitMixinDefinitionOut:function(){this.context.frames.shift()},visitRuleset:function(a){this.context.frames.unshift(a)},visitRulesetOut:function(){this.context.frames.shift()},visitMedia:function(a){this.context.frames.unshift(a.rules[0])},visitMediaOut:function(){this.context.frames.shift()}},b.exports=f},{"../contexts":10,"./import-sequencer":84,"./visitor":89}],86:[function(a,b){var c={Visitor:a("./visitor"),ImportVisitor:a("./import-visitor"),ExtendVisitor:a("./extend-visitor"),JoinSelectorVisitor:a("./join-selector-visitor"),ToCSSVisitor:a("./to-css-visitor")};b.exports=c},{"./extend-visitor":83,"./import-visitor":85,"./join-selector-visitor":87,"./to-css-visitor":88,"./visitor":89
+}],87:[function(a,b){var c=a("./visitor"),d=function(){this.contexts=[[]],this._visitor=new c(this)};d.prototype={run:function(a){return this._visitor.visit(a)},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a){var b,c=this.contexts[this.contexts.length-1],d=[];this.contexts.push(d),a.root||(b=a.selectors,b&&(b=b.filter(function(a){return a.getIsOutput()}),a.selectors=b.length?b:b=null,b&&a.joinSelectors(d,c,b)),b||(a.rules=null),a.paths=d)},visitRulesetOut:function(){this.contexts.length=this.contexts.length-1},visitMedia:function(a){var b=this.contexts[this.contexts.length-1];a.rules[0].root=0===b.length||b[0].multiMedia},visitDirective:function(a){var b=this.contexts[this.contexts.length-1];a.rules&&a.rules.length&&(a.rules[0].root=a.isRooted||0===b.length||null)}},b.exports=d},{"./visitor":89}],88:[function(a,b){var c=a("../tree"),d=a("./visitor"),e=function(a){this._visitor=new d(this),this._context=a};e.prototype={isReplacing:!0,run:function(a){return this._visitor.visit(a)},visitRule:function(a){return a.variable?void 0:a},visitMixinDefinition:function(a){a.frames=[]},visitExtend:function(){},visitComment:function(a){return a.isSilent(this._context)?void 0:a},visitMedia:function(a,b){return a.accept(this._visitor),b.visitDeeper=!1,a.rules.length?a:void 0},visitImport:function(a){return void 0!==a.path.currentFileInfo.reference&&a.css?void 0:a},visitDirective:function(a,b){function d(a){var b,c=a.rules;1!==c.length||c[0].paths&&0!==c[0].paths.length||(c=c[0].rules);for(var d=0;c.length>d;d++)if(b=c[d],b.getIsReferenced&&b.getIsReferenced())return!0;return!1}if("@charset"===a.name){if(!a.getIsReferenced())return;if(this.charset){if(a.debugInfo){var e=new c.Comment("/* "+a.toCSS(this._context).replace(/\n/g,"")+" */\n");return e.debugInfo=a.debugInfo,this._visitor.visit(e)}return}this.charset=!0}if(a.rules&&a.rules.length){if(this._mergeRules(a.rules[0].rules),a.accept(this._visitor),b.visitDeeper=!1,a.getIsReferenced())return a;if(!a.rules||!a.rules.length)return;if(d(a))return a.markReferenced(),a}else if(a.getIsReferenced())return a},checkPropertiesInRoot:function(a){for(var b,d=0;a.length>d;d++)if(b=a[d],b instanceof c.Rule&&!b.variable)throw{message:"properties must be inside selector blocks, they cannot be in the root.",index:b.index,filename:b.currentFileInfo?b.currentFileInfo.filename:null}},visitRuleset:function(a,b){var d,e=[];if(a.firstRoot&&this.checkPropertiesInRoot(a.rules),a.root)a.accept(this._visitor),b.visitDeeper=!1,(a.firstRoot||a.rules&&a.rules.length>0)&&e.splice(0,0,a);else{a.paths&&(a.paths=a.paths.filter(function(a){var b;for(" "===a[0].elements[0].combinator.value&&(a[0].elements[0].combinator=new c.Combinator("")),b=0;a.length>b;b++)if(a[b].getIsReferenced()&&a[b].getIsOutput())return!0;return!1}));for(var f=a.rules,g=f?f.length:0,h=0;g>h;)d=f[h],d&&d.rules?(e.push(this._visitor.visit(d)),f.splice(h,1),g--):h++;g>0?a.accept(this._visitor):a.rules=null,b.visitDeeper=!1,f=a.rules,f&&(this._mergeRules(f),f=a.rules),f&&(this._removeDuplicateRules(f),f=a.rules),f&&f.length>0&&a.paths.length>0&&e.splice(0,0,a)}return 1===e.length?e[0]:e},_removeDuplicateRules:function(a){if(a){var b,d,e,f={};for(e=a.length-1;e>=0;e--)if(d=a[e],d instanceof c.Rule)if(f[d.name]){b=f[d.name],b instanceof c.Rule&&(b=f[d.name]=[f[d.name].toCSS(this._context)]);var g=d.toCSS(this._context);-1!==b.indexOf(g)?a.splice(e,1):b.push(g)}else f[d.name]=d}},_mergeRules:function(a){if(a){for(var b,d,e,f={},g=0;a.length>g;g++)d=a[g],d instanceof c.Rule&&d.merge&&(e=[d.name,d.important?"!":""].join(","),f[e]?a.splice(g--,1):f[e]=[],f[e].push(d));Object.keys(f).map(function(a){function e(a){return new c.Expression(a.map(function(a){return a.value}))}function g(a){return new c.Value(a.map(function(a){return a}))}if(b=f[a],b.length>1){d=b[0];var h=[],i=[];b.map(function(a){"+"===a.merge&&(i.length>0&&h.push(e(i)),i=[]),i.push(a)}),h.push(e(i)),d.value=g(h)}})}},visitAnonymous:function(a){return a.getIsReferenced()?(a.accept(this._visitor),a):void 0}},b.exports=e},{"../tree":61,"./visitor":89}],89:[function(a,b){function c(a){return a}function d(a,b){var c,e;for(c in a)if(a.hasOwnProperty(c))switch(e=a[c],typeof e){case"function":e.prototype&&e.prototype.type&&(e.prototype.typeIndex=b++);break;case"object":b=d(e,b)}return b}var e=a("../tree"),f={visitDeeper:!0},g=!1,h=function(a){this._implementation=a,this._visitFnCache=[],g||(d(e,1),g=!0)};h.prototype={visit:function(a){if(!a)return a;var b=a.typeIndex;if(!b)return a;var d,e=this._visitFnCache,g=this._implementation,h=b<<1,i=1|h,j=e[h],k=e[i],l=f;if(l.visitDeeper=!0,j||(d="visit"+a.type,j=g[d]||c,k=g[d+"Out"]||c,e[h]=j,e[i]=k),j!==c){var m=j.call(g,a,l);g.isReplacing&&(a=m)}return l.visitDeeper&&a&&a.accept&&a.accept(this),k!=c&&k.call(g,a),a},visitArray:function(a,b){if(!a)return a;var c,d=a.length;if(b||!this._implementation.isReplacing){for(c=0;d>c;c++)this.visit(a[c]);return a}var e=[];for(c=0;d>c;c++){var f=this.visit(a[c]);void 0!==f&&(f.splice?f.length&&this.flatten(f,e):e.push(f))}return e},flatten:function(a,b){b||(b=[]);var c,d,e,f,g,h;for(d=0,c=a.length;c>d;d++)if(e=a[d],void 0!==e)if(e.splice)for(g=0,f=e.length;f>g;g++)h=e[g],void 0!==h&&(h.splice?h.length&&this.flatten(h,b):b.push(h));else b.push(e);return b}},b.exports=h},{"../tree":61}],90:[function(a,b){function c(){if(!g){g=!0;for(var a,b=f.length;b;){a=f,f=[];for(var c=-1;++c<b;)a[c]();b=f.length}g=!1}}function d(){}var e=b.exports={},f=[],g=!1;e.nextTick=function(a){f.push(a),g||setTimeout(c,0)},e.title="browser",e.browser=!0,e.env={},e.argv=[],e.version="",e.versions={},e.on=d,e.addListener=d,e.once=d,e.off=d,e.removeListener=d,e.removeAllListeners=d,e.emit=d,e.binding=function(){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(){throw new Error("process.chdir is not supported")},e.umask=function(){return 0}},{}],91:[function(a,b){"use strict";function c(a){function b(a){return null===i?void k.push(a):void f(function(){var b=i?a.onFulfilled:a.onRejected;if(null===b)return void(i?a.resolve:a.reject)(j);var c;try{c=b(j)}catch(d){return void a.reject(d)}a.resolve(c)})}function c(a){try{if(a===l)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var b=a.then;if("function"==typeof b)return void e(b.bind(a),c,g)}i=!0,j=a,h()}catch(d){g(d)}}function g(a){i=!1,j=a,h()}function h(){for(var a=0,c=k.length;c>a;a++)b(k[a]);k=null}if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");var i=null,j=null,k=[],l=this;this.then=function(a,c){return new l.constructor(function(e,f){b(new d(a,c,e,f))})},e(a,c,g)}function d(a,b,c,d){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.resolve=c,this.reject=d}function e(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var f=a("asap");b.exports=c},{asap:93}],92:[function(a,b){"use strict";function c(a){this.then=function(b){return"function"!=typeof b?this:new d(function(c,d){e(function(){try{c(b(a))}catch(e){d(e)}})})}}var d=a("./core.js"),e=a("asap");b.exports=d,c.prototype=d.prototype;var f=new c(!0),g=new c(!1),h=new c(null),i=new c(void 0),j=new c(0),k=new c("");d.resolve=function(a){if(a instanceof d)return a;if(null===a)return h;if(void 0===a)return i;if(a===!0)return f;if(a===!1)return g;if(0===a)return j;if(""===a)return k;if("object"==typeof a||"function"==typeof a)try{var b=a.then;if("function"==typeof b)return new d(b.bind(a))}catch(e){return new d(function(a,b){b(e)})}return new c(a)},d.all=function(a){var b=Array.prototype.slice.call(a);return new d(function(a,c){function d(f,g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(f,a)},c)}b[f]=g,0===--e&&a(b)}catch(i){c(i)}}if(0===b.length)return a([]);for(var e=b.length,f=0;b.length>f;f++)d(f,b[f])})},d.reject=function(a){return new d(function(b,c){c(a)})},d.race=function(a){return new d(function(b,c){a.forEach(function(a){d.resolve(a).then(b,c)})})},d.prototype["catch"]=function(a){return this.then(null,a)}},{"./core.js":91,asap:93}],93:[function(a,b){(function(a){function c(){for(;e.next;){e=e.next;var a=e.task;e.task=void 0;var b=e.domain;b&&(e.domain=void 0,b.enter());try{a()}catch(d){if(i)throw b&&b.exit(),setTimeout(c,0),b&&b.enter(),d;setTimeout(function(){throw d},0)}b&&b.exit()}g=!1}function d(b){f=f.next={task:b,domain:i&&a.domain,next:null},g||(g=!0,h())}var e={task:void 0,next:null},f=e,g=!1,h=void 0,i=!1;if("undefined"!=typeof a&&a.nextTick)i=!0,h=function(){a.nextTick(c)};else if("function"==typeof setImmediate)h="undefined"!=typeof window?setImmediate.bind(window,c):function(){setImmediate(c)};else if("undefined"!=typeof MessageChannel){var j=new MessageChannel;j.port1.onmessage=c,h=function(){j.port2.postMessage(0)}}else h=function(){setTimeout(c,0)};b.exports=d}).call(this,a("_process"))},{_process:90}],94:[function(){"function"!=typeof Promise.prototype.done&&(Promise.prototype.done=function(){var a=arguments.length?this.then.apply(this,arguments):this;a.then(null,function(a){setTimeout(function(){throw a},0)})})},{}],95:[function(a){a("asap");"undefined"==typeof Promise&&(Promise=a("./lib/core.js"),a("./lib/es6-extensions.js")),a("./polyfill-done.js")},{"./lib/core.js":91,"./lib/es6-extensions.js":92,"./polyfill-done.js":94,asap:93}]},{},[2])(2)});
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/themes/blank.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,131 @@
+body {
+  font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
+}
+a:link,
+a:visited {
+  color: #000000;
+}
+.slide {
+  color: #000000;
+}
+.slide h1 {
+  font-size: 200%;
+  color: black;
+  text-align: center;
+}
+.slide h1.fullscreen {
+  position: absolute;
+  top: 40%;
+  width: 100%;
+}
+.slide h1.hidden {
+  display: none;
+}
+.slide hX {
+  font-size: 250%;
+  color: white;
+  text-align: center;
+  font-weight: bold;
+}
+.slide hX.fullscreen {
+  position: absolute;
+  top: 40%;
+  width: 100%;
+}
+.slide hX.hidden {
+  display: none;
+}
+.slide h2 {
+  font-size: 220%;
+  background-color: #808db5;
+  color: white;
+  padding: 5px;
+}
+.slide h3 {
+  font-size: 180%;
+}
+.slide name {
+  font-size: 180%;
+  background-color: #ffcc00;
+}
+.slide name.fullscreen {
+  position: absolute;
+  top: 40%;
+  width: 100%;
+}
+.slide .stepcurrent {
+  color: #dd0000;
+}
+.slide .step {
+  color: #c0c0c0;
+}
+div.highlight {
+  background-color: #ffffa9;
+  display: inline-block;
+  _display: inline;
+}
+div > ul {
+  list-style-type: square;
+  font-size: 160%;
+}
+div > ol {
+  font-size: 160%;
+}
+li {
+  margin-top: 15px;
+  margin-bottom: 15px;
+}
+p,
+dt,
+dd,
+td {
+  font-size: 150%;
+}
+th {
+  font-size: 90%;
+}
+p.emphasize {
+  font-size: 180%;
+}
+pre {
+  font-size: 100%;
+}
+.code {
+  background-color: #ffffa9;
+  padding: 5px;
+}
+.small_code {
+  font-size: 90%;
+  padding: 2px;
+}
+.smaller_code {
+  font-size: 80%;
+  padding: 2px;
+}
+code {
+  font-size: 100%;
+  background-color: #ffffa9;
+  padding: 5px;
+}
+.footnote a:first-of-type {
+  text-decoration: none;
+}
+p.footnote {
+  font-size: 88%;
+}
+.help p,
+.help td {
+  font-size: 88%;
+}
+/********
+ * example gradient background using css3
+ */
+.slide {
+  background-image: -webkit-linear-gradient(top, #ffffff, #ffffff, #ffffff, #ffffff);
+  background-image: -moz-linear-gradient(top, #ffffff, #ffffff, #ffffff, #ffffff);
+}
+.slide.cover,
+.slide.title {
+  background-image: -webkit-linear-gradient(top, #ffffff, #ffffff, #ffffff, #ffffff);
+  background-image: -moz-linear-gradient(top, #ffffff, #ffffff, #ffffff, #ffffff);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/themes/print.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,35 @@
+/*********************************
 * CSS @media print rules (not projection or screen)
 */
+body {
+  font-size: 12pt;
+}
+.slide {
+  display: block !important;
+  page-break-inside: avoid;
+  /********************
   * Extra styling for first slide (title/cover slide)
   */
+}
+.slide h1 {
+  page-break-after: avoid;
+}
+.slide ul {
+  page-break-inside: avoid;
+}
+.slide h1 {
+  border-top: 2pt solid gray;
+  border-bottom: 1px dotted silver;
+}
+.slide:first-child {
+  margin-bottom: 3em;
+}
+.slide:first-child h1 {
+  font-size: 200%;
+  border: none;
+  margin: 0.5em 0 0.25em;
+}
+.slide:first-child h3 {
+  margin: 0;
+  padding: 0;
+}
+.slide:first-child h4 {
+  margin: 0 0 0.5em;
+  padding: 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/themes/projection.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,126 @@
+/*********************************
+ * CSS @media projection rules (not print or screen)
+ *
+ * 1) projection -> slideshow mode (display one slide at-a-time; hide all others)
+ * 2) screen     -> outline mode (display all slides-at-once on screen) 
+ * 3) print      -> print (and print preview)
+ *
+ * toggle between projection/screen (that is, slideshow/outline) mode using t-key
+ */
+html,
+body,
+.presentation {
+  margin: 0;
+  padding: 0;
+}
+.slide {
+  display: none;
+  /* note: only display current slide in projection mode */
+  position: absolute;
+  top: 0;
+  left: 0;
+  margin: 0;
+  padding: 2% 4% 0% 4%;
+  /* css note: order is => top right bottom left  */
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 100%;
+  height: 100%;
+  /* css note: lets use border-box; no need to add padding+border to get to 100% */
+  overflow-x: hidden;
+  overflow-y: auto;
+  z-index: 2;
+}
+.slide.current {
+  display: block;
+}
+/* note: only display current slide in projection mode */
+/*****
+ *  layout block structure:
+ *
+ *  .layout
+ *    > #header
+ *    > #footer
+ */
+.layout #header,
+.layout header {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 0.5em;
+  z-index: 1;
+}
+.layout #footer,
+.layout footer {
+  position: fixed;
+  top: auto;
+  bottom: 0;
+  padding: 1em 0;
+  /* css note: order is => 1st top,bottom; 2nd right,left */
+  width: 100%;
+  height: 4em;
+  z-index: 5;
+  /* todo: move font-size and font-style to blank.css */
+  font-size: 100%;
+  font-weight: bold;
+  /* todo: move font-size and font-style to blank.css */
+}
+.layout #footer h1,
+.layout footer h1 {
+  display: block;
+  margin: 0;
+  padding: 0 1em;
+  font-size: 50%;
+}
+.layout #footer h2,
+.layout footer h2 {
+  display: block;
+  margin: 0;
+  padding: 0 1em;
+  font-size: 50%;
+  font-style: italic;
+}
+/*********************************
+ * general text-alignment classes
+ */
+.left {
+  text-align: left;
+}
+.center {
+  text-align: center;
+}
+.right {
+  text-align: right;
+}
+/*********************************
+ * general _absolute_ font-size classes
+ */
+.small {
+  font-size: 97%;
+}
+.x-small {
+  font-size: 88%;
+}
+.xx-small {
+  font-size: 82%;
+}
+.large {
+  font-size: 103%;
+}
+.x-large {
+  font-size: 112%;
+}
+.xx-large {
+  font-size: 118%;
+}
+/*********************************
+ * general _relative_ font-size classes
+ */
+.smaller {
+  font-size: 82%;
+}
+.larger {
+  font-size: 118%;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s6/themes/screen.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,25 @@
+/*********************************
+ * CSS @media screen (not projection or print)
+ *
+ * 1) projection -> slideshow mode (display one slide at-a-time; hide all others)
+ * 2) screen     -> outline mode (display all slides-at-once on screen) 
+ * 3) print      -> print (and print preview)
+ *
+ * toggle between projection/screen (that is, slideshow/outline) mode using t-key
+ */
+.slide {
+  display: block !important;
+  margin: 1.5em 0 0;
+  border-top: 1px solid #888;
+}
+.slide h1 {
+  border-bottom: 1px solid #AAA;
+}
+.slide:first-child {
+  margin: 0;
+  border: none;
+}
+.slide:first-child h1 {
+  border: none;
+  padding-top: 1.5em;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s62/screen.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,85 @@
+@media screen {
+  .bespoke-parent {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  overflow: hidden;
+
+  background-color: #eee;
+
+  /*  font-size: 2em; */
+
+
+  /* text-align: center;  */
+  /* background-position: 50% 50%; -- check -- needed?? why? why not? just for animations? */
+}
+
+/* fix: h1 inside article gets display in normal text size on chrome */
+h1 { font-size: 180%; }
+
+
+.bespoke-slide {
+  box-sizing: border-box;
+  position: absolute;
+  width:  940px;
+  height: 480px;
+  top: 50%;
+  left: 50%;
+  margin-left: -470px;  /* calc((940px/2)*-1);  -($width / 2); */
+  margin-top:  -240px;  /* calc((480px/2)*-1);  -($height / 2); */
+  z-index: 1;
+
+  background-color: white;
+
+  border-radius: 4px;
+  box-shadow: 0 6px 2px -4px rgba(0,0,0,.2),
+              0 6px 2px -4px rgba(0,0,0,.14),
+              0 2px 10px 0 rgba(0,0,0,.12);
+
+  padding: 20px;
+
+  overflow: auto;
+}
+
+/* make scrollbar invisible, works for chrome
+    firefox too??? why? why not?
+ */
+::-webkit-scrollbar {
+  width: 0px;  /* remove scrollbar space */
+  background: transparent;  /* optional: just make scrollbar invisible */
+}
+
+
+
+.bespoke-active {
+}
+
+.bespoke-inactive {
+  opacity: 0;
+  pointer-events: none;
+}
+
+/****
+   add progress bar
+*****/
+
+.bespoke-progress-parent {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  height: .3vw;
+  z-index: 1;
+}
+
+.bespoke-progress-bar {
+  background-color: #0089f3;
+  position: absolute;
+  top: 0;
+  left: 0;
+  height: 100%;
+  transition: width 1s ease;
+}
+} /* @media screen */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s62/slides.classes.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,56 @@
+
+
+class S6_Plugin_Classes {
+   constructor( deck ) {
+     console.log( "[S6.Plugin.Classes] ctor" );
+
+     this.deck = deck;
+
+     this.addClass( deck.parent, 'parent' );
+     deck.slides.forEach( el => this.addClass( el, 'slide') );
+
+     deck.on( 'activate', ev => {
+        deck.slides.forEach( (el, index) => this.deactivate(el, index) );
+        this.addClass( ev.slide, 'active' );
+        this.removeClass( ev.slide, 'inactive' );
+      })
+   }
+
+
+  addClass( el, cls ) {
+    console.log( "[S6.Plugin.Classes] addClass >" + cls + "<" );
+    el.classList.add( 'bespoke-' + cls );
+  }
+
+  removeClass( el, cls ) {
+    console.log( "[S6.Plugin.Classes] removeClass >" + cls + "<" );
+    el.className = el.className
+          .replace( new RegExp('bespoke-' + cls +'(\\s|$)', 'g'), ' ' )
+          .trim();
+  }
+
+  deactivate( el, index ) {
+    const activeSlide = this.deck.slides[ this.deck.slideIndex ],
+          offset      = index - this.deck.slideIndex,
+          offsetClass = offset > 0 ? 'after' : 'before';
+
+    console.log( "[S6.Plugin.Classes] deactivate index=" + index + ",offset=" + offset );
+    console.log( el );
+
+    ['before(-\\d+)?',
+     'after(-\\d+)?',
+     'active',
+     'inactive'].forEach( cls => this.removeClass( el, cls ) );
+
+    if( el !== activeSlide )
+      ['inactive', offsetClass, `${offsetClass}-${Math.abs(offset)}`].forEach( cls => this.addClass( el, cls ) );
+  }
+} // class S6_Plugin_Classes
+
+
+//////////////////////////////
+// add global S6 "export"
+//   e.g. lets you call classes( options ) for plugins array config
+
+var S6 = S6 || {};
+S6.classes = options => deck => new S6_Plugin_Classes( deck, options );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s62/slides.kernel.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,142 @@
+
+/**************************************************
+ * bespoke.js-compatible "micro-kernel" in JavaScript 2017+
+ *  see https://github.com/bespokejs/bespoke/blob/master/lib/bespoke.js for original bespoke.js source
+ */
+
+
+class S6_Kernel_Deck {
+
+  // note: use $-convention for (stored/referenced) dom elements
+  //       and $$-for dom array elements
+
+  get parent() { return this.$parent; }
+  get slides() { return this.$$slides; }
+
+
+
+  constructor( { parent, slides, plugins=[] } = {} ) {
+
+    // parent:
+    //   pass in string (css) selector
+    //     -or-
+    //   dom element
+    this.$parent = parent.nodeType === 1 ? parent : document.querySelector( parent );
+
+    console.log( this.$parent );             // parent dom element
+    console.log( this.$parent.children );    // top-level children
+
+
+    // slides:
+    //   pass in string (css) selector
+    //    -or-
+    //  dom elements
+    //    -or-
+    //  empty (default) use parent's children
+    const slidesCol = typeof slides === 'string' ?
+                      this.$parent.querySelectorAll( slides )
+                     : (slides || this.$parent.children );
+
+
+    // slides -> returns HTMLCollection turn into "proper" array - why? why not?
+    this.$$slides = Array.from( slidesCol );
+    this.$$slides = this.$$slides.filter( el => el.nodeName !== 'SCRIPT' );
+
+    console.log( this.$$slides );    // slides dom elements
+
+
+    this.$activeSlide = null;
+
+    this.listeners = {};
+
+    plugins.forEach( plugin => plugin( this ) );
+
+    if( !this.$activeSlide )
+      this.activate( 0 );
+  }
+
+
+
+  createEventData( el, eventData={} ) {
+    eventData.index = this.$$slides.indexOf( el );
+    eventData.slide = el;
+    return eventData;
+  }
+
+
+  off( eventName, callback ) {
+    this.listeners[eventName] = (this.listeners[eventName] || [])
+       .filter( listener => listener !== callback );
+  }
+
+  on( eventName, callback ) {
+    const listeners = this.listeners[eventName] || (this.listeners[eventName] = []);
+    listeners.push( callback );
+
+    //  note:  used for easy unregister (return pre-made/ready-to-call off function - no more args required)
+    return () => this.off( eventName, callback );
+  }
+
+
+  fire( eventName, eventData ) {
+    console.log( "[S6.Kernel] call fire(" + eventName + ")" );
+
+    return( this.listeners[eventName] || [] )
+     .reduce( (notCancelled, callback) => notCancelled && callback(eventData) !== false, true );
+  }
+
+
+  destroy( customData ) {
+    this.fire( 'destroy', this.createEventData( this.$activeSlide, customData ));
+    this.listeners = {};
+  }
+
+
+  activate( index, customData ) {
+    console.log( "[S6.Kernel] call activate(" + index + ")" );
+
+    if( !this.$$slides[index] )
+      return;
+
+    if( this.$activeSlide )
+      this.fire( 'deactivate', this.createEventData( this.$activeSlide, customData));
+
+    this.$activeSlide = this.$$slides[index];
+    this.fire( 'activate', this.createEventData( this.$activeSlide, customData));
+  }
+
+
+
+  slide( index, customData ) {
+    // note: keep slide() without args for bespoke.js-compatibility
+    //   use slideIndex property in new plugins
+    if( arguments.length )
+      this.fire( 'slide', this.createEventData(this.$$slides[index], customData)) && this.activate(index, customData);
+    else
+    {
+      console.log( "[S6.Kernel] call slide() - DEPRECATED - use slideIndex property instead to get index of active slide" );
+      return this.slideIndex;
+    }
+  }
+
+  // returns active slide index (starting w/ zero)
+  get slideIndex() { return this.$$slides.indexOf( this.$activeSlide ); }
+
+
+
+  step( offset, customData ) {
+    const slideIndex = this.$$slides.indexOf(this.$activeSlide) + offset;
+    this.fire( offset > 0 ? 'next' : 'prev', this.createEventData(this.$activeSlide, customData)) && this.activate(slideIndex, customData);
+  }
+
+  next() { this.step( 1 ); }
+  prev() { this.step( -1 ); }
+} // class S6_Kernel_Deck
+
+
+
+//////////////////////////////
+// add global S6 "export"
+
+var S6 = S6 || {};
+S6.Deck = S6_Kernel_Deck;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s62/slides.keys.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,33 @@
+
+// todo: use class expression to "namespace"
+//   S6.Plugins.Keys  or S6.DeckKeysPlugin for now ???
+
+
+class S6_Plugin_Keys {
+
+   constructor( deck, options ) {
+
+     document.addEventListener( 'keydown', ev => {
+       if( ev.which == 34 || // PAGE DOWN
+           ev.which == 39 || // RIGHT
+           ev.which == 40 || // DOWN
+          (ev.which == 32 && !ev.shiftKey)  // SPACE WITHOUT SHIFT
+         ) deck.next();
+
+       if( ev.which == 33 || // PAGE UP
+           ev.which == 37 || // LEFT
+           ev.which == 38 || // UP
+          (ev.which == 32 && ev.shiftKey)  // SPACE + SHIFT
+         ) deck.prev();
+    });
+  }
+} // class S6_Plugin_Keys
+
+
+
+//////////////////////////////
+// add global S6 "export"
+//   e.g. lets you call keys( options ) for plugins array config
+
+var S6 = S6 || {};
+S6.keys = options => deck => new S6_Plugin_Keys( deck, options );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s62/slides.progress.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,29 @@
+
+class S6_Plugin_Progress {
+
+  constructor( deck, options ) {
+
+    console.log( "[S6.Plugin.Progress] ctor" );
+
+    const progressParent = document.createElement('div'),
+          progressBar    = document.createElement('div');
+
+    progressParent.className = 'bespoke-progress-parent';
+    progressBar.className    = 'bespoke-progress-bar';
+    progressParent.appendChild( progressBar );
+    deck.parent.appendChild( progressParent );
+
+    deck.on( 'activate', ev =>
+      progressBar.style.width = (ev.index * 100 / (deck.slides.length - 1)) + '%'
+    );
+  }
+} // class S6_Plugin_Progress
+
+
+
+//////////////////////////////
+// add global S6 "export"
+//   e.g. lets you call progress( options ) for plugins array config
+
+var S6 = S6 || {};
+S6.progress = options => deck => new S6_Plugin_Progress( deck, options );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/s62/slides.state.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,30 @@
+
+
+class S6_Plugin_State {
+
+  constructor( deck, options ) {
+
+    console.log( "[S6.Plugin.State] ctor");
+
+    const updateState = (method, ev) => {
+      console.log( "[S6.Plugin.State] updateState method="+method );
+
+      const attr = ev.slide.getAttribute( 'data-bespoke-state' );
+
+      if( attr )
+        attr.split(' ').forEach( state => deck.parent.classList[method](state) );
+    };
+
+    deck.on( 'activate',   ev => updateState( 'add',    ev ));
+    deck.on( 'deactivate', ev => updateState( 'remove', ev ));
+  }
+}  // class S6_Plugin_State
+
+
+
+//////////////////////////////
+// add global S6 "export"
+//   e.g. lets you call state( options ) for plugins array config
+
+var S6 = S6 || {};
+S6.state = options => deck => new S6_Plugin_State( deck, options );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/scripts/prettify.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,55 @@
+/* CSS from google html5slides(https://code.google.com/p/html5slides/) */
+
+code {
+  display: inline-block;
+}
+
+pre > code {
+  display: block;
+
+  font-family: 'Droid Sans Mono', 'Courier New', monospace;
+
+  font-size: 20px;
+  line-height: 28px;
+  padding: 5px 10px;
+
+  margin-top: 40px;
+  margin-bottom: 40px;
+
+  color: black;
+  background: rgb(240, 240, 240);
+  border: 1px solid rgb(224, 224, 224);
+  box-shadow: inset 0 2px 6px rgba(0, 0, 0, .1);
+
+  overflow: hidden;
+}
+
+/* Pretty print */
+
+.prettyprint .str, /* string content */
+.prettyprint .atv { /* a markup attribute value */
+  color: rgb(0, 138, 53);
+}
+.prettyprint .kwd, /* a keyword */
+.prettyprint .tag { /* a markup tag name */
+  color: rgb(0, 102, 204);
+}
+.prettyprint .com { /* a comment */
+  color: rgb(127, 127, 127);
+  font-style: italic;
+}
+.prettyprint .lit { /* a literal value */
+  color: rgb(127, 0, 0);
+}
+.prettyprint .pun, /* punctuation, lisp open bracket, lisp close bracket */
+.prettyprint .opn,
+.prettyprint .clo {
+  color: rgb(127, 127, 127);
+}
+.prettyprint .typ, /* a type name */
+.prettyprint .atn, /* a markup attribute name */
+.prettyprint .dec,
+.prettyprint .var { /* a declaration; a variable name */
+  color: rgb(127, 0, 127);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/scripts/prettify.js	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,1391 @@
+// Copyright (C) 2006 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * some functions for browser-side pretty printing of code contained in html.
+ *
+ * <p>
+ * For a fairly comprehensive set of languages see the
+ * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
+ * file that came with this source.  At a minimum, the lexer should work on a
+ * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
+ * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
+ * and a subset of Perl, but, because of commenting conventions, doesn't work on
+ * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
+ * <p>
+ * Usage: <ol>
+ * <li> include this source file in an html page via
+ *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
+ * <li> define style rules.  See the example page for examples.
+ * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
+ *    {@code class=prettyprint.}
+ *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
+ *    printer needs to do more substantial DOM manipulations to support that, so
+ *    some css styles may not be preserved.
+ * </ol>
+ * That's it.  I wanted to keep the API as simple as possible, so there's no
+ * need to specify which language the code is in, but if you wish, you can add
+ * another class to the {@code <pre>} or {@code <code>} element to specify the
+ * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
+ * starts with "lang-" followed by a file extension, specifies the file type.
+ * See the "lang-*.js" files in this directory for code that implements
+ * per-language file handlers.
+ * <p>
+ * Change log:<br>
+ * cbeust, 2006/08/22
+ * <blockquote>
+ *   Java annotations (start with "@") are now captured as literals ("lit")
+ * </blockquote>
+ * @requires console
+ */
+
+// JSLint declarations
+/*global console, document, navigator, setTimeout, window */
+
+/**
+ * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
+ * UI events.
+ * If set to {@code false}, {@code prettyPrint()} is synchronous.
+ */
+window['PR_SHOULD_USE_CONTINUATION'] = true;
+
+/** the number of characters between tab columns */
+window['PR_TAB_WIDTH'] = 8;
+
+/** Contains functions for creating and registering new language handlers.
+  * @type {Object}
+  */
+window['PR']
+
+/** Pretty print a chunk of code.
+  *
+  * @param {string} sourceCodeHtml code as html
+  * @return {string} code as html, but prettier
+  */
+  = window['prettyPrintOne']
+/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
+  * {@code class=prettyprint} and prettify them.
+  * @param {Function?} opt_whenDone if specified, called when the last entry
+  *     has been finished.
+  */
+  = window['prettyPrint'] = void 0;
+
+
+(function () {
+  // Keyword lists for various languages.
+  var FLOW_CONTROL_KEYWORDS =
+      "break continue do else for if return while ";
+  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
+      "double enum extern float goto int long register short signed sizeof " +
+      "static struct switch typedef union unsigned void volatile ";
+  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
+      "new operator private protected public this throw true try typeof ";
+  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
+      "concept concept_map const_cast constexpr decltype " +
+      "dynamic_cast explicit export friend inline late_check " +
+      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
+      "template typeid typename using virtual wchar_t where ";
+  var JAVA_KEYWORDS = COMMON_KEYWORDS +
+      "abstract boolean byte extends final finally implements import " +
+      "instanceof null native package strictfp super synchronized throws " +
+      "transient ";
+  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
+      "as base by checked decimal delegate descending dynamic event " +
+      "fixed foreach from group implicit in interface internal into is lock " +
+      "object out override orderby params partial readonly ref sbyte sealed " +
+      "stackalloc string select uint ulong unchecked unsafe ushort var ";
+  var COFFEE_KEYWORDS = "all and by catch class else extends false finally " +
+      "for if in is isnt loop new no not null of off on or return super then " +
+      "true try unless until when while yes ";
+  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
+      "debugger eval export function get null set undefined var with " +
+      "Infinity NaN ";
+  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
+      "goto if import last local my next no our print package redo require " +
+      "sub undef unless until use wantarray while BEGIN END ";
+  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
+      "elif except exec finally from global import in is lambda " +
+      "nonlocal not or pass print raise try with yield " +
+      "False True None ";
+  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
+      " defined elsif end ensure false in module next nil not or redo rescue " +
+      "retry self super then true undef unless until when yield BEGIN END ";
+  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
+      "function in local set then until ";
+  var ALL_KEYWORDS = (
+      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
+      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
+
+  // token style names.  correspond to css classes
+  /** token style for a string literal */
+  var PR_STRING = 'str';
+  /** token style for a keyword */
+  var PR_KEYWORD = 'kwd';
+  /** token style for a comment */
+  var PR_COMMENT = 'com';
+  /** token style for a type */
+  var PR_TYPE = 'typ';
+  /** token style for a literal value.  e.g. 1, null, true. */
+  var PR_LITERAL = 'lit';
+  /** token style for a punctuation string. */
+  var PR_PUNCTUATION = 'pun';
+  /** token style for a punctuation string. */
+  var PR_PLAIN = 'pln';
+
+  /** token style for an sgml tag. */
+  var PR_TAG = 'tag';
+  /** token style for a markup declaration such as a DOCTYPE. */
+  var PR_DECLARATION = 'dec';
+  /** token style for embedded source. */
+  var PR_SOURCE = 'src';
+  /** token style for an sgml attribute name. */
+  var PR_ATTRIB_NAME = 'atn';
+  /** token style for an sgml attribute value. */
+  var PR_ATTRIB_VALUE = 'atv';
+
+  /**
+   * A class that indicates a section of markup that is not code, e.g. to allow
+   * embedding of line numbers within code listings.
+   */
+  var PR_NOCODE = 'nocode';
+
+  /** A set of tokens that can precede a regular expression literal in
+    * javascript.
+    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
+    * list, but I've removed ones that might be problematic when seen in
+    * languages that don't support regular expression literals.
+    *
+    * <p>Specifically, I've removed any keywords that can't precede a regexp
+    * literal in a syntactically legal javascript program, and I've removed the
+    * "in" keyword since it's not a keyword in many languages, and might be used
+    * as a count of inches.
+    *
+    * <p>The link a above does not accurately describe EcmaScript rules since
+    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
+    * very well in practice.
+    *
+    * @private
+    */
+  var REGEXP_PRECEDER_PATTERN = function () {
+      var preceders = [
+          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
+          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
+          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
+          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
+          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
+          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
+          "||=", "~" /* handles =~ and !~ */,
+          "break", "case", "continue", "delete",
+          "do", "else", "finally", "instanceof",
+          "return", "throw", "try", "typeof"
+          ];
+      var pattern = '(?:^^|[+-]';
+      for (var i = 0; i < preceders.length; ++i) {
+        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
+      }
+      pattern += ')\\s*';  // matches at end, and matches empty string
+      return pattern;
+      // CAVEAT: this does not properly handle the case where a regular
+      // expression immediately follows another since a regular expression may
+      // have flags for case-sensitivity and the like.  Having regexp tokens
+      // adjacent is not valid in any language I'm aware of, so I'm punting.
+      // TODO: maybe style special characters inside a regexp as punctuation.
+    }();
+
+  
+  /**
+   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
+   * matches the union of the sets of strings matched by the input RegExp.
+   * Since it matches globally, if the input strings have a start-of-input
+   * anchor (/^.../), it is ignored for the purposes of unioning.
+   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
+   * @return {RegExp} a global regex.
+   */
+  function combinePrefixPatterns(regexs) {
+    var capturedGroupIndex = 0;
+  
+    var needToFoldCase = false;
+    var ignoreCase = false;
+    for (var i = 0, n = regexs.length; i < n; ++i) {
+      var regex = regexs[i];
+      if (regex.ignoreCase) {
+        ignoreCase = true;
+      } else if (/[a-z]/i.test(regex.source.replace(
+                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
+        needToFoldCase = true;
+        ignoreCase = false;
+        break;
+      }
+    }
+  
+    function decodeEscape(charsetPart) {
+      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
+      switch (charsetPart.charAt(1)) {
+        case 'b': return 8;
+        case 't': return 9;
+        case 'n': return 0xa;
+        case 'v': return 0xb;
+        case 'f': return 0xc;
+        case 'r': return 0xd;
+        case 'u': case 'x':
+          return parseInt(charsetPart.substring(2), 16)
+              || charsetPart.charCodeAt(1);
+        case '0': case '1': case '2': case '3': case '4':
+        case '5': case '6': case '7':
+          return parseInt(charsetPart.substring(1), 8);
+        default: return charsetPart.charCodeAt(1);
+      }
+    }
+  
+    function encodeEscape(charCode) {
+      if (charCode < 0x20) {
+        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
+      }
+      var ch = String.fromCharCode(charCode);
+      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
+        ch = '\\' + ch;
+      }
+      return ch;
+    }
+  
+    function caseFoldCharset(charSet) {
+      var charsetParts = charSet.substring(1, charSet.length - 1).match(
+          new RegExp(
+              '\\\\u[0-9A-Fa-f]{4}'
+              + '|\\\\x[0-9A-Fa-f]{2}'
+              + '|\\\\[0-3][0-7]{0,2}'
+              + '|\\\\[0-7]{1,2}'
+              + '|\\\\[\\s\\S]'
+              + '|-'
+              + '|[^-\\\\]',
+              'g'));
+      var groups = [];
+      var ranges = [];
+      var inverse = charsetParts[0] === '^';
+      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
+        var p = charsetParts[i];
+        switch (p) {
+          case '\\B': case '\\b':
+          case '\\D': case '\\d':
+          case '\\S': case '\\s':
+          case '\\W': case '\\w':
+            groups.push(p);
+            continue;
+        }
+        var start = decodeEscape(p);
+        var end;
+        if (i + 2 < n && '-' === charsetParts[i + 1]) {
+          end = decodeEscape(charsetParts[i + 2]);
+          i += 2;
+        } else {
+          end = start;
+        }
+        ranges.push([start, end]);
+        // If the range might intersect letters, then expand it.
+        if (!(end < 65 || start > 122)) {
+          if (!(end < 65 || start > 90)) {
+            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
+          }
+          if (!(end < 97 || start > 122)) {
+            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
+          }
+        }
+      }
+  
+      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
+      // -> [[1, 12], [14, 14], [16, 17]]
+      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
+      var consolidatedRanges = [];
+      var lastRange = [NaN, NaN];
+      for (var i = 0; i < ranges.length; ++i) {
+        var range = ranges[i];
+        if (range[0] <= lastRange[1] + 1) {
+          lastRange[1] = Math.max(lastRange[1], range[1]);
+        } else {
+          consolidatedRanges.push(lastRange = range);
+        }
+      }
+  
+      var out = ['['];
+      if (inverse) { out.push('^'); }
+      out.push.apply(out, groups);
+      for (var i = 0; i < consolidatedRanges.length; ++i) {
+        var range = consolidatedRanges[i];
+        out.push(encodeEscape(range[0]));
+        if (range[1] > range[0]) {
+          if (range[1] + 1 > range[0]) { out.push('-'); }
+          out.push(encodeEscape(range[1]));
+        }
+      }
+      out.push(']');
+      return out.join('');
+    }
+  
+    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
+      // Split into character sets, escape sequences, punctuation strings
+      // like ('(', '(?:', ')', '^'), and runs of characters that do not
+      // include any of the above.
+      var parts = regex.source.match(
+          new RegExp(
+              '(?:'
+              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
+              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
+              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
+              + '|\\\\[0-9]+'  // a back-reference or octal escape
+              + '|\\\\[^ux0-9]'  // other escape sequence
+              + '|\\(\\?[:!=]'  // start of a non-capturing group
+              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
+              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
+              + ')',
+              'g'));
+      var n = parts.length;
+  
+      // Maps captured group numbers to the number they will occupy in
+      // the output or to -1 if that has not been determined, or to
+      // undefined if they need not be capturing in the output.
+      var capturedGroups = [];
+  
+      // Walk over and identify back references to build the capturedGroups
+      // mapping.
+      for (var i = 0, groupIndex = 0; i < n; ++i) {
+        var p = parts[i];
+        if (p === '(') {
+          // groups are 1-indexed, so max group index is count of '('
+          ++groupIndex;
+        } else if ('\\' === p.charAt(0)) {
+          var decimalValue = +p.substring(1);
+          if (decimalValue && decimalValue <= groupIndex) {
+            capturedGroups[decimalValue] = -1;
+          }
+        }
+      }
+  
+      // Renumber groups and reduce capturing groups to non-capturing groups
+      // where possible.
+      for (var i = 1; i < capturedGroups.length; ++i) {
+        if (-1 === capturedGroups[i]) {
+          capturedGroups[i] = ++capturedGroupIndex;
+        }
+      }
+      for (var i = 0, groupIndex = 0; i < n; ++i) {
+        var p = parts[i];
+        if (p === '(') {
+          ++groupIndex;
+          if (capturedGroups[groupIndex] === undefined) {
+            parts[i] = '(?:';
+          }
+        } else if ('\\' === p.charAt(0)) {
+          var decimalValue = +p.substring(1);
+          if (decimalValue && decimalValue <= groupIndex) {
+            parts[i] = '\\' + capturedGroups[groupIndex];
+          }
+        }
+      }
+  
+      // Remove any prefix anchors so that the output will match anywhere.
+      // ^^ really does mean an anchored match though.
+      for (var i = 0, groupIndex = 0; i < n; ++i) {
+        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
+      }
+  
+      // Expand letters to groups to handle mixing of case-sensitive and
+      // case-insensitive patterns if necessary.
+      if (regex.ignoreCase && needToFoldCase) {
+        for (var i = 0; i < n; ++i) {
+          var p = parts[i];
+          var ch0 = p.charAt(0);
+          if (p.length >= 2 && ch0 === '[') {
+            parts[i] = caseFoldCharset(p);
+          } else if (ch0 !== '\\') {
+            // TODO: handle letters in numeric escapes.
+            parts[i] = p.replace(
+                /[a-zA-Z]/g,
+                function (ch) {
+                  var cc = ch.charCodeAt(0);
+                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
+                });
+          }
+        }
+      }
+  
+      return parts.join('');
+    }
+  
+    var rewritten = [];
+    for (var i = 0, n = regexs.length; i < n; ++i) {
+      var regex = regexs[i];
+      if (regex.global || regex.multiline) { throw new Error('' + regex); }
+      rewritten.push(
+          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
+    }
+  
+    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
+  }
+
+
+  /**
+   * Split markup into a string of source code and an array mapping ranges in
+   * that string to the text nodes in which they appear.
+   *
+   * <p>
+   * The HTML DOM structure:</p>
+   * <pre>
+   * (Element   "p"
+   *   (Element "b"
+   *     (Text  "print "))       ; #1
+   *   (Text    "'Hello '")      ; #2
+   *   (Element "br")            ; #3
+   *   (Text    "  + 'World';")) ; #4
+   * </pre>
+   * <p>
+   * corresponds to the HTML
+   * {@code <p><b>print </b>'Hello '<br>  + 'World';</p>}.</p>
+   *
+   * <p>
+   * It will produce the output:</p>
+   * <pre>
+   * {
+   *   source: "print 'Hello '\n  + 'World';",
+   *   //                 1         2
+   *   //       012345678901234 5678901234567
+   *   spans: [0, #1, 6, #2, 14, #3, 15, #4]
+   * }
+   * </pre>
+   * <p>
+   * where #1 is a reference to the {@code "print "} text node above, and so
+   * on for the other text nodes.
+   * </p>
+   *
+   * <p>
+   * The {@code} spans array is an array of pairs.  Even elements are the start
+   * indices of substrings, and odd elements are the text nodes (or BR elements)
+   * that contain the text for those substrings.
+   * Substrings continue until the next index or the end of the source.
+   * </p>
+   *
+   * @param {Node} node an HTML DOM subtree containing source-code.
+   * @return {Object} source code and the text nodes in which they occur.
+   */
+  function extractSourceSpans(node) {
+    var nocode = /(?:^|\s)nocode(?:\s|$)/;
+  
+    var chunks = [];
+    var length = 0;
+    var spans = [];
+    var k = 0;
+  
+    var whitespace;
+    if (node.currentStyle) {
+      whitespace = node.currentStyle.whiteSpace;
+    } else if (window.getComputedStyle) {
+      whitespace = document.defaultView.getComputedStyle(node, null)
+          .getPropertyValue('white-space');
+    }
+    var isPreformatted = whitespace && 'pre' === whitespace.substring(0, 3);
+  
+    function walk(node) {
+      switch (node.nodeType) {
+        case 1:  // Element
+          if (nocode.test(node.className)) { return; }
+          for (var child = node.firstChild; child; child = child.nextSibling) {
+            walk(child);
+          }
+          var nodeName = node.nodeName;
+          if ('BR' === nodeName || 'LI' === nodeName) {
+            chunks[k] = '\n';
+            spans[k << 1] = length++;
+            spans[(k++ << 1) | 1] = node;
+          }
+          break;
+        case 3: case 4:  // Text
+          var text = node.nodeValue;
+          if (text.length) {
+            if (!isPreformatted) {
+              text = text.replace(/[ \t\r\n]+/g, ' ');
+            } else {
+              text = text.replace(/\r\n?/g, '\n');  // Normalize newlines.
+            }
+            // TODO: handle tabs here?
+            chunks[k] = text;
+            spans[k << 1] = length;
+            length += text.length;
+            spans[(k++ << 1) | 1] = node;
+          }
+          break;
+      }
+    }
+  
+    walk(node);
+  
+    return {
+      source: chunks.join('').replace(/\n$/, ''),
+      spans: spans
+    };
+  }
+
+
+  /**
+   * Apply the given language handler to sourceCode and add the resulting
+   * decorations to out.
+   * @param {number} basePos the index of sourceCode within the chunk of source
+   *    whose decorations are already present on out.
+   */
+  function appendDecorations(basePos, sourceCode, langHandler, out) {
+    if (!sourceCode) { return; }
+    var job = {
+      source: sourceCode,
+      basePos: basePos
+    };
+    langHandler(job);
+    out.push.apply(out, job.decorations);
+  }
+
+  /** Given triples of [style, pattern, context] returns a lexing function,
+    * The lexing function interprets the patterns to find token boundaries and
+    * returns a decoration list of the form
+    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
+    * where index_n is an index into the sourceCode, and style_n is a style
+    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
+    * all characters in sourceCode[index_n-1:index_n].
+    *
+    * The stylePatterns is a list whose elements have the form
+    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
+    *
+    * Style is a style constant like PR_PLAIN, or can be a string of the
+    * form 'lang-FOO', where FOO is a language extension describing the
+    * language of the portion of the token in $1 after pattern executes.
+    * E.g., if style is 'lang-lisp', and group 1 contains the text
+    * '(hello (world))', then that portion of the token will be passed to the
+    * registered lisp handler for formatting.
+    * The text before and after group 1 will be restyled using this decorator
+    * so decorators should take care that this doesn't result in infinite
+    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
+    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
+    * '<script>foo()<\/script>', which would cause the current decorator to
+    * be called with '<script>' which would not match the same rule since
+    * group 1 must not be empty, so it would be instead styled as PR_TAG by
+    * the generic tag rule.  The handler registered for the 'js' extension would
+    * then be called with 'foo()', and finally, the current decorator would
+    * be called with '<\/script>' which would not match the original rule and
+    * so the generic tag rule would identify it as a tag.
+    *
+    * Pattern must only match prefixes, and if it matches a prefix, then that
+    * match is considered a token with the same style.
+    *
+    * Context is applied to the last non-whitespace, non-comment token
+    * recognized.
+    *
+    * Shortcut is an optional string of characters, any of which, if the first
+    * character, gurantee that this pattern and only this pattern matches.
+    *
+    * @param {Array} shortcutStylePatterns patterns that always start with
+    *   a known character.  Must have a shortcut string.
+    * @param {Array} fallthroughStylePatterns patterns that will be tried in
+    *   order if the shortcut ones fail.  May have shortcuts.
+    *
+    * @return {function (Object)} a
+    *   function that takes source code and returns a list of decorations.
+    */
+  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
+    var shortcuts = {};
+    var tokenizer;
+    (function () {
+      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
+      var allRegexs = [];
+      var regexKeys = {};
+      for (var i = 0, n = allPatterns.length; i < n; ++i) {
+        var patternParts = allPatterns[i];
+        var shortcutChars = patternParts[3];
+        if (shortcutChars) {
+          for (var c = shortcutChars.length; --c >= 0;) {
+            shortcuts[shortcutChars.charAt(c)] = patternParts;
+          }
+        }
+        var regex = patternParts[1];
+        var k = '' + regex;
+        if (!regexKeys.hasOwnProperty(k)) {
+          allRegexs.push(regex);
+          regexKeys[k] = null;
+        }
+      }
+      allRegexs.push(/[\0-\uffff]/);
+      tokenizer = combinePrefixPatterns(allRegexs);
+    })();
+
+    var nPatterns = fallthroughStylePatterns.length;
+    var notWs = /\S/;
+
+    /**
+     * Lexes job.source and produces an output array job.decorations of style
+     * classes preceded by the position at which they start in job.source in
+     * order.
+     *
+     * @param {Object} job an object like {@code
+     *    source: {string} sourceText plain text,
+     *    basePos: {int} position of job.source in the larger chunk of
+     *        sourceCode.
+     * }
+     */
+    var decorate = function (job) {
+      var sourceCode = job.source, basePos = job.basePos;
+      /** Even entries are positions in source in ascending order.  Odd enties
+        * are style markers (e.g., PR_COMMENT) that run from that position until
+        * the end.
+        * @type {Array.<number|string>}
+        */
+      var decorations = [basePos, PR_PLAIN];
+      var pos = 0;  // index into sourceCode
+      var tokens = sourceCode.match(tokenizer) || [];
+      var styleCache = {};
+
+      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
+        var token = tokens[ti];
+        var style = styleCache[token];
+        var match = void 0;
+
+        var isEmbedded;
+        if (typeof style === 'string') {
+          isEmbedded = false;
+        } else {
+          var patternParts = shortcuts[token.charAt(0)];
+          if (patternParts) {
+            match = token.match(patternParts[1]);
+            style = patternParts[0];
+          } else {
+            for (var i = 0; i < nPatterns; ++i) {
+              patternParts = fallthroughStylePatterns[i];
+              match = token.match(patternParts[1]);
+              if (match) {
+                style = patternParts[0];
+                break;
+              }
+            }
+
+            if (!match) {  // make sure that we make progress
+              style = PR_PLAIN;
+            }
+          }
+
+          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
+          if (isEmbedded && !(match && typeof match[1] === 'string')) {
+            isEmbedded = false;
+            style = PR_SOURCE;
+          }
+
+          if (!isEmbedded) { styleCache[token] = style; }
+        }
+
+        var tokenStart = pos;
+        pos += token.length;
+
+        if (!isEmbedded) {
+          decorations.push(basePos + tokenStart, style);
+        } else {  // Treat group 1 as an embedded block of source code.
+          var embeddedSource = match[1];
+          var embeddedSourceStart = token.indexOf(embeddedSource);
+          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
+          if (match[2]) {
+            // If embeddedSource can be blank, then it would match at the
+            // beginning which would cause us to infinitely recurse on the
+            // entire token, so we catch the right context in match[2].
+            embeddedSourceEnd = token.length - match[2].length;
+            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
+          }
+          var lang = style.substring(5);
+          // Decorate the left of the embedded source
+          appendDecorations(
+              basePos + tokenStart,
+              token.substring(0, embeddedSourceStart),
+              decorate, decorations);
+          // Decorate the embedded source
+          appendDecorations(
+              basePos + tokenStart + embeddedSourceStart,
+              embeddedSource,
+              langHandlerForExtension(lang, embeddedSource),
+              decorations);
+          // Decorate the right of the embedded section
+          appendDecorations(
+              basePos + tokenStart + embeddedSourceEnd,
+              token.substring(embeddedSourceEnd),
+              decorate, decorations);
+        }
+      }
+      job.decorations = decorations;
+    };
+    return decorate;
+  }
+
+  /** returns a function that produces a list of decorations from source text.
+    *
+    * This code treats ", ', and ` as string delimiters, and \ as a string
+    * escape.  It does not recognize perl's qq() style strings.
+    * It has no special handling for double delimiter escapes as in basic, or
+    * the tripled delimiters used in python, but should work on those regardless
+    * although in those cases a single string literal may be broken up into
+    * multiple adjacent string literals.
+    *
+    * It recognizes C, C++, and shell style comments.
+    *
+    * @param {Object} options a set of optional parameters.
+    * @return {function (Object)} a function that examines the source code
+    *     in the input job and builds the decoration list.
+    */
+  function sourceDecorator(options) {
+    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
+    if (options['tripleQuotedStrings']) {
+      // '''multi-line-string''', 'single-line-string', and double-quoted
+      shortcutStylePatterns.push(
+          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
+           null, '\'"']);
+    } else if (options['multiLineStrings']) {
+      // 'multi-line-string', "multi-line-string"
+      shortcutStylePatterns.push(
+          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
+           null, '\'"`']);
+    } else {
+      // 'single-line-string', "single-line-string"
+      shortcutStylePatterns.push(
+          [PR_STRING,
+           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
+           null, '"\'']);
+    }
+    if (options['verbatimStrings']) {
+      // verbatim-string-literal production from the C# grammar.  See issue 93.
+      fallthroughStylePatterns.push(
+          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
+    }
+    var hc = options['hashComments'];
+    if (hc) {
+      if (options['cStyleComments']) {
+        if (hc > 1) {  // multiline hash comments
+          shortcutStylePatterns.push(
+              [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
+        } else {
+          // Stop C preprocessor declarations at an unclosed open comment
+          shortcutStylePatterns.push(
+              [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
+               null, '#']);
+        }
+        fallthroughStylePatterns.push(
+            [PR_STRING,
+             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
+             null]);
+      } else {
+        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
+      }
+    }
+    if (options['cStyleComments']) {
+      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
+      fallthroughStylePatterns.push(
+          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
+    }
+    if (options['regexLiterals']) {
+      var REGEX_LITERAL = (
+          // A regular expression literal starts with a slash that is
+          // not followed by * or / so that it is not confused with
+          // comments.
+          '/(?=[^/*])'
+          // and then contains any number of raw characters,
+          + '(?:[^/\\x5B\\x5C]'
+          // escape sequences (\x5C),
+          +    '|\\x5C[\\s\\S]'
+          // or non-nesting character sets (\x5B\x5D);
+          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
+          // finally closed by a /.
+          + '/');
+      fallthroughStylePatterns.push(
+          ['lang-regex',
+           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
+           ]);
+    }
+
+    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
+    if (keywords.length) {
+      fallthroughStylePatterns.push(
+          [PR_KEYWORD,
+           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
+    }
+
+    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
+    fallthroughStylePatterns.push(
+        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
+        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
+        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
+        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
+        [PR_LITERAL,
+         new RegExp(
+             '^(?:'
+             // A hex number
+             + '0x[a-f0-9]+'
+             // or an octal or decimal number,
+             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
+             // possibly in scientific notation
+             + '(?:e[+\\-]?\\d+)?'
+             + ')'
+             // with an optional modifier like UL for unsigned long
+             + '[a-z]*', 'i'),
+         null, '0123456789'],
+        // Don't treat escaped quotes in bash as starting strings.  See issue 144.
+        [PR_PLAIN,       /^\\[\s\S]?/, null],
+        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null]);
+
+    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
+  }
+
+  var decorateSource = sourceDecorator({
+        'keywords': ALL_KEYWORDS,
+        'hashComments': true,
+        'cStyleComments': true,
+        'multiLineStrings': true,
+        'regexLiterals': true
+      });
+
+  /**
+   * Given a DOM subtree, wraps it in a list, and puts each line into its own
+   * list item.
+   *
+   * @param {Node} node modified in place.  Its content is pulled into an
+   *     HTMLOListElement, and each line is moved into a separate list item.
+   *     This requires cloning elements, so the input might not have unique
+   *     IDs after numbering.
+   */
+  function numberLines(node, opt_startLineNum) {
+    var nocode = /(?:^|\s)nocode(?:\s|$)/;
+    var lineBreak = /\r\n?|\n/;
+  
+    var document = node.ownerDocument;
+  
+    var whitespace;
+    if (node.currentStyle) {
+      whitespace = node.currentStyle.whiteSpace;
+    } else if (window.getComputedStyle) {
+      whitespace = document.defaultView.getComputedStyle(node, null)
+          .getPropertyValue('white-space');
+    }
+    // If it's preformatted, then we need to split lines on line breaks
+    // in addition to <BR>s.
+    var isPreformatted = whitespace && 'pre' === whitespace.substring(0, 3);
+  
+    var li = document.createElement('LI');
+    while (node.firstChild) {
+      li.appendChild(node.firstChild);
+    }
+    // An array of lines.  We split below, so this is initialized to one
+    // un-split line.
+    var listItems = [li];
+  
+    function walk(node) {
+      switch (node.nodeType) {
+        case 1:  // Element
+          if (nocode.test(node.className)) { break; }
+          if ('BR' === node.nodeName) {
+            breakAfter(node);
+            // Discard the <BR> since it is now flush against a </LI>.
+            if (node.parentNode) {
+              node.parentNode.removeChild(node);
+            }
+          } else {
+            for (var child = node.firstChild; child; child = child.nextSibling) {
+              walk(child);
+            }
+          }
+          break;
+        case 3: case 4:  // Text
+          if (isPreformatted) {
+            var text = node.nodeValue;
+            var match = text.match(lineBreak);
+            if (match) {
+              var firstLine = text.substring(0, match.index);
+              node.nodeValue = firstLine;
+              var tail = text.substring(match.index + match[0].length);
+              if (tail) {
+                var parent = node.parentNode;
+                parent.insertBefore(
+                    document.createTextNode(tail), node.nextSibling);
+              }
+              breakAfter(node);
+              if (!firstLine) {
+                // Don't leave blank text nodes in the DOM.
+                node.parentNode.removeChild(node);
+              }
+            }
+          }
+          break;
+      }
+    }
+  
+    // Split a line after the given node.
+    function breakAfter(lineEndNode) {
+      // If there's nothing to the right, then we can skip ending the line
+      // here, and move root-wards since splitting just before an end-tag
+      // would require us to create a bunch of empty copies.
+      while (!lineEndNode.nextSibling) {
+        lineEndNode = lineEndNode.parentNode;
+        if (!lineEndNode) { return; }
+      }
+  
+      function breakLeftOf(limit, copy) {
+        // Clone shallowly if this node needs to be on both sides of the break.
+        var rightSide = copy ? limit.cloneNode(false) : limit;
+        var parent = limit.parentNode;
+        if (parent) {
+          // We clone the parent chain.
+          // This helps us resurrect important styling elements that cross lines.
+          // E.g. in <i>Foo<br>Bar</i>
+          // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>.
+          var parentClone = breakLeftOf(parent, 1);
+          // Move the clone and everything to the right of the original
+          // onto the cloned parent.
+          var next = limit.nextSibling;
+          parentClone.appendChild(rightSide);
+          for (var sibling = next; sibling; sibling = next) {
+            next = sibling.nextSibling;
+            parentClone.appendChild(sibling);
+          }
+        }
+        return rightSide;
+      }
+  
+      var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0);
+  
+      // Walk the parent chain until we reach an unattached LI.
+      for (var parent;
+           // Check nodeType since IE invents document fragments.
+           (parent = copiedListItem.parentNode) && parent.nodeType === 1;) {
+        copiedListItem = parent;
+      }
+      // Put it on the list of lines for later processing.
+      listItems.push(copiedListItem);
+    }
+  
+    // Split lines while there are lines left to split.
+    for (var i = 0;  // Number of lines that have been split so far.
+         i < listItems.length;  // length updated by breakAfter calls.
+         ++i) {
+      walk(listItems[i]);
+    }
+  
+    // Make sure numeric indices show correctly.
+    if (opt_startLineNum === (opt_startLineNum|0)) {
+      listItems[0].setAttribute('value', opt_startLineNum);
+    }
+  
+    var ol = document.createElement('OL');
+    ol.className = 'linenums';
+    var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0;
+    for (var i = 0, n = listItems.length; i < n; ++i) {
+      li = listItems[i];
+      // Stick a class on the LIs so that stylesheets can
+      // color odd/even rows, or any other row pattern that
+      // is co-prime with 10.
+      li.className = 'L' + ((i + offset) % 10);
+      if (!li.firstChild) {
+        li.appendChild(document.createTextNode('\xA0'));
+      }
+      ol.appendChild(li);
+    }
+  
+    node.appendChild(ol);
+  }
+
+  /**
+   * Breaks {@code job.source} around style boundaries in {@code job.decorations}
+   * and modifies {@code job.sourceNode} in place.
+   * @param {Object} job like <pre>{
+   *    source: {string} source as plain text,
+   *    spans: {Array.<number|Node>} alternating span start indices into source
+   *       and the text node or element (e.g. {@code <BR>}) corresponding to that
+   *       span.
+   *    decorations: {Array.<number|string} an array of style classes preceded
+   *       by the position at which they start in job.source in order
+   * }</pre>
+   * @private
+   */
+  function recombineTagsAndDecorations(job) {
+    var isIE = /\bMSIE\b/.test(navigator.userAgent);
+    var newlineRe = /\n/g;
+  
+    var source = job.source;
+    var sourceLength = source.length;
+    // Index into source after the last code-unit recombined.
+    var sourceIndex = 0;
+  
+    var spans = job.spans;
+    var nSpans = spans.length;
+    // Index into spans after the last span which ends at or before sourceIndex.
+    var spanIndex = 0;
+  
+    var decorations = job.decorations;
+    var nDecorations = decorations.length;
+    // Index into decorations after the last decoration which ends at or before sourceIndex.
+    var decorationIndex = 0;
+  
+    // Simplify decorations.
+    var decPos = 0;
+    for (var i = 0; i < nDecorations;) {
+      // Skip over any zero-length decorations.
+      var startPos = decorations[i];
+      var start = i;
+      while (start + 2 < nDecorations && decorations[start + 2] === startPos) {
+        start += 2;
+      }
+      // Conflate all adjacent decorations that use the same style.
+      var startDec = decorations[start + 1];
+      var end = start + 2;
+      while (end + 2 <= nDecorations
+             && (decorations[end + 1] === startDec
+                 || decorations[end] === decorations[end + 2])) {
+        end += 2;
+      }
+      decorations[decPos++] = startPos;
+      decorations[decPos++] = startDec;
+      i = end;
+    }
+  
+    // Strip any zero-length decoration at the end.
+    if (decPos && decorations[decPos - 2] === sourceLength) { decPos -= 2; }
+    nDecorations = decorations.length = decPos;
+  
+    var decoration = null;
+    while (spanIndex < nSpans) {
+      var spanStart = spans[spanIndex];
+      var spanEnd = spans[spanIndex + 2] || sourceLength;
+  
+      var decStart = decorations[decorationIndex];
+      var decEnd = decorations[decorationIndex + 2] || sourceLength;
+  
+      var end = Math.min(spanEnd, decEnd);
+  
+      var textNode = spans[spanIndex + 1];
+      if (textNode.nodeType !== 1) {  // Don't muck with <BR>s or <LI>s
+        var styledText = source.substring(sourceIndex, end);
+        // This may seem bizarre, and it is.  Emitting LF on IE causes the
+        // code to display with spaces instead of line breaks.
+        // Emitting Windows standard issue linebreaks (CRLF) causes a blank
+        // space to appear at the beginning of every line but the first.
+        // Emitting an old Mac OS 9 line separator makes everything spiffy.
+        if (isIE) { styledText = styledText.replace(newlineRe, '\r'); }
+        textNode.nodeValue = styledText;
+        var document = textNode.ownerDocument;
+        var span = document.createElement('SPAN');
+        span.className = decorations[decorationIndex + 1];
+        var parentNode = textNode.parentNode;
+        parentNode.replaceChild(span, textNode);
+        span.appendChild(textNode);
+        if (sourceIndex < spanEnd) {  // Split off a text node.
+          spans[spanIndex + 1] = textNode
+              // TODO: Possibly optimize by using '' if there's no flicker.
+              = document.createTextNode(source.substring(end, spanEnd));
+          parentNode.insertBefore(textNode, span.nextSibling);
+        }
+      }
+  
+      sourceIndex = end;
+  
+      if (sourceIndex >= spanEnd) {
+        spanIndex += 2;
+      }
+      if (sourceIndex >= decEnd) {
+        decorationIndex += 2;
+      }
+    }
+  }
+
+
+  /** Maps language-specific file extensions to handlers. */
+  var langHandlerRegistry = {};
+  /** Register a language handler for the given file extensions.
+    * @param {function (Object)} handler a function from source code to a list
+    *      of decorations.  Takes a single argument job which describes the
+    *      state of the computation.   The single parameter has the form
+    *      {@code {
+    *        source: {string} as plain text.
+    *        decorations: {Array.<number|string>} an array of style classes
+    *                     preceded by the position at which they start in
+    *                     job.source in order.
+    *                     The language handler should assigned this field.
+    *        basePos: {int} the position of source in the larger source chunk.
+    *                 All positions in the output decorations array are relative
+    *                 to the larger source chunk.
+    *      } }
+    * @param {Array.<string>} fileExtensions
+    */
+  function registerLangHandler(handler, fileExtensions) {
+    for (var i = fileExtensions.length; --i >= 0;) {
+      var ext = fileExtensions[i];
+      if (!langHandlerRegistry.hasOwnProperty(ext)) {
+        langHandlerRegistry[ext] = handler;
+      } else if ('console' in window) {
+        console['warn']('cannot override language handler %s', ext);
+      }
+    }
+  }
+  function langHandlerForExtension(extension, source) {
+    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
+      // Treat it as markup if the first non whitespace character is a < and
+      // the last non-whitespace character is a >.
+      extension = /^\s*</.test(source)
+          ? 'default-markup'
+          : 'default-code';
+    }
+    return langHandlerRegistry[extension];
+  }
+  registerLangHandler(decorateSource, ['default-code']);
+  registerLangHandler(
+      createSimpleLexer(
+          [],
+          [
+           [PR_PLAIN,       /^[^<?]+/],
+           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
+           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
+           // Unescaped content in an unknown language
+           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
+           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
+           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
+           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
+           // Unescaped content in javascript.  (Or possibly vbscript).
+           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
+           // Contains unescaped stylesheet content
+           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
+           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
+          ]),
+      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
+  registerLangHandler(
+      createSimpleLexer(
+          [
+           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
+           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
+           ],
+          [
+           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
+           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
+           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
+           [PR_PUNCTUATION,  /^[=<>\/]+/],
+           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
+           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
+           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
+           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
+           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
+           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
+           ]),
+      ['in.tag']);
+  registerLangHandler(
+      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
+  registerLangHandler(sourceDecorator({
+          'keywords': CPP_KEYWORDS,
+          'hashComments': true,
+          'cStyleComments': true
+        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
+  registerLangHandler(sourceDecorator({
+          'keywords': 'null true false'
+        }), ['json']);
+  registerLangHandler(sourceDecorator({
+          'keywords': CSHARP_KEYWORDS,
+          'hashComments': true,
+          'cStyleComments': true,
+          'verbatimStrings': true
+        }), ['cs']);
+  registerLangHandler(sourceDecorator({
+          'keywords': JAVA_KEYWORDS,
+          'cStyleComments': true
+        }), ['java']);
+  registerLangHandler(sourceDecorator({
+          'keywords': SH_KEYWORDS,
+          'hashComments': true,
+          'multiLineStrings': true
+        }), ['bsh', 'csh', 'sh']);
+  registerLangHandler(sourceDecorator({
+          'keywords': PYTHON_KEYWORDS,
+          'hashComments': true,
+          'multiLineStrings': true,
+          'tripleQuotedStrings': true
+        }), ['cv', 'py']);
+  registerLangHandler(sourceDecorator({
+          'keywords': PERL_KEYWORDS,
+          'hashComments': true,
+          'multiLineStrings': true,
+          'regexLiterals': true
+        }), ['perl', 'pl', 'pm']);
+  registerLangHandler(sourceDecorator({
+          'keywords': RUBY_KEYWORDS,
+          'hashComments': true,
+          'multiLineStrings': true,
+          'regexLiterals': true
+        }), ['rb']);
+  registerLangHandler(sourceDecorator({
+          'keywords': JSCRIPT_KEYWORDS,
+          'cStyleComments': true,
+          'regexLiterals': true
+        }), ['js']);
+  registerLangHandler(sourceDecorator({
+          'keywords': COFFEE_KEYWORDS,
+          'hashComments': 3,  // ### style block comments
+          'cStyleComments': true,
+          'multilineStrings': true,
+          'tripleQuotedStrings': true,
+          'regexLiterals': true
+        }), ['coffee']);
+  registerLangHandler(createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
+
+  function applyDecorator(job) {
+    var opt_langExtension = job.langExtension;
+
+    try {
+      // Extract tags, and convert the source code to plain text.
+      var sourceAndSpans = extractSourceSpans(job.sourceNode);
+      /** Plain text. @type {string} */
+      var source = sourceAndSpans.source;
+      job.source = source;
+      job.spans = sourceAndSpans.spans;
+      job.basePos = 0;
+
+      // Apply the appropriate language handler
+      langHandlerForExtension(opt_langExtension, source)(job);
+
+      // Integrate the decorations and tags back into the source code,
+      // modifying the sourceNode in place.
+      recombineTagsAndDecorations(job);
+    } catch (e) {
+      if ('console' in window) {
+        console['log'](e && e['stack'] ? e['stack'] : e);
+      }
+    }
+  }
+
+  /**
+   * @param sourceCodeHtml {string} The HTML to pretty print.
+   * @param opt_langExtension {string} The language name to use.
+   *     Typically, a filename extension like 'cpp' or 'java'.
+   * @param opt_numberLines {number|boolean} True to number lines,
+   *     or the 1-indexed number of the first line in sourceCodeHtml.
+   */
+  function prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
+    var container = document.createElement('PRE');
+    // This could cause images to load and onload listeners to fire.
+    // E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
+    // We assume that the inner HTML is from a trusted source.
+    container.innerHTML = sourceCodeHtml;
+    if (opt_numberLines) {
+      numberLines(container, opt_numberLines);
+    }
+
+    var job = {
+      langExtension: opt_langExtension,
+      numberLines: opt_numberLines,
+      sourceNode: container
+    };
+    applyDecorator(job);
+    return container.innerHTML;
+  }
+
+  function prettyPrint(opt_whenDone) {
+    function byTagName(tn) { return document.getElementsByTagName(tn); }
+    // fetch a list of nodes to rewrite
+    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
+    var elements = [];
+    for (var i = 0; i < codeSegments.length; ++i) {
+      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
+        elements.push(codeSegments[i][j]);
+      }
+    }
+    codeSegments = null;
+
+    var clock = Date;
+    if (!clock['now']) {
+      clock = { 'now': function () { return (new Date).getTime(); } };
+    }
+
+    // The loop is broken into a series of continuations to make sure that we
+    // don't make the browser unresponsive when rewriting a large page.
+    var k = 0;
+    var prettyPrintingJob;
+
+    function doWork() {
+      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
+                     clock.now() + 250 /* ms */ :
+                     Infinity);
+      for (; k < elements.length && clock.now() < endTime; k++) {
+        var cs = elements[k];
+        if (cs.className && cs.className.indexOf('prettyprint') >= 0) {
+          // If the classes includes a language extensions, use it.
+          // Language extensions can be specified like
+          //     <pre class="prettyprint lang-cpp">
+          // the language extension "cpp" is used to find a language handler as
+          // passed to PR.registerLangHandler.
+          var langExtension = cs.className.match(/\blang-(\w+)\b/);
+          if (langExtension) { langExtension = langExtension[1]; }
+
+          // make sure this is not nested in an already prettified element
+          var nested = false;
+          for (var p = cs.parentNode; p; p = p.parentNode) {
+            if ((p.tagName === 'pre' || p.tagName === 'code' ||
+                 p.tagName === 'xmp') &&
+                p.className && p.className.indexOf('prettyprint') >= 0) {
+              nested = true;
+              break;
+            }
+          }
+          if (!nested) {
+            // Look for a class like linenums or linenums:<n> where <n> is the
+            // 1-indexed number of the first line.
+            var lineNums = cs.className.match(/\blinenums\b(?::(\d+))?/);
+            lineNums = lineNums
+                  ? lineNums[1] && lineNums[1].length ? +lineNums[1] : true
+                  : false;
+            if (lineNums) { numberLines(cs, lineNums); }
+
+            // do the pretty printing
+            prettyPrintingJob = {
+              langExtension: langExtension,
+              sourceNode: cs,
+              numberLines: lineNums
+            };
+            applyDecorator(prettyPrintingJob);
+          }
+        }
+      }
+      if (k < elements.length) {
+        // finish up in a continuation
+        setTimeout(doWork, 250);
+      } else if (opt_whenDone) {
+        opt_whenDone();
+      }
+    }
+
+    doWork();
+  }
+
+  window['prettyPrintOne'] = prettyPrintOne;
+  window['prettyPrint'] = prettyPrint;
+  window['PR'] = {
+        'createSimpleLexer': createSimpleLexer,
+        'registerLangHandler': registerLangHandler,
+        'sourceDecorator': sourceDecorator,
+        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
+        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
+        'PR_COMMENT': PR_COMMENT,
+        'PR_DECLARATION': PR_DECLARATION,
+        'PR_KEYWORD': PR_KEYWORD,
+        'PR_LITERAL': PR_LITERAL,
+        'PR_NOCODE': PR_NOCODE,
+        'PR_PLAIN': PR_PLAIN,
+        'PR_PUNCTUATION': PR_PUNCTUATION,
+        'PR_SOURCE': PR_SOURCE,
+        'PR_STRING': PR_STRING,
+        'PR_TAG': PR_TAG,
+        'PR_TYPE': PR_TYPE
+      };
+})();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/themes/.keep	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,1 @@
+Please add your themes into `themes` directory for using in the deck.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/poster/themes/example.css	Mon Feb 15 10:51:57 2021 +0900
@@ -0,0 +1,11 @@
+/* @theme example */
+
+@import 'default';
+
+section {
+  background-image: url("assets/logo.svg");
+  background-position: right 3% bottom 2%;
+  background-repeat: no-repeat;
+  background-attachment: 5%;
+  background-size: 20% auto;
+}