From 9ba78b644e516559ab1ae56e0a55a3714812c5f7 Mon Sep 17 00:00:00 2001 From: kts Date: Fri, 28 Nov 2014 07:15:51 -0800 Subject: [PATCH] Reorganized, syled, did a buncha stuff. Need to clean up. --- .gitignore | 1 + TODO.ktx | 34 ++ aphorism/future_think.ktx | 1 + aphorism/order_of_precedence.ktx | 3 + aphorism/society_1.ktx | 1 + aphorism/society_2.ktx | 1 + aphorism/society_3.ktx | 1 + build.sh | 45 ++- css/.style.css.swp | Bin 0 -> 20480 bytes css/.style_pretty.css.swp | Bin 0 -> 16384 bytes css/style.css | 218 +++++++++++ css/style_pretty.css | 120 ++++++ css/style_reset.css | 80 ++++ css/style_smooth.css | 2 + dox.ktx | 4 + dox/initial_source_release.ktx | 47 +++ fonts/Antonio-Bold.ttf | Bin 0 -> 48508 bytes fonts/Antonio-Light.ttf | Bin 0 -> 46564 bytes fonts/Antonio-Regular.ttf | Bin 0 -> 47944 bytes fonts/ProggyTinySZ.ttf | Bin 0 -> 35684 bytes fonts/SIL Open Font License.txt | 43 +++ index.php | 91 ++++- javascript/folder.js | 78 ++++ menu.ktx | 27 +- pix/puss.png | Bin 0 -> 26020 bytes plans.ktx | 5 + proclib.ktx | 637 +++++++++++++++++++++++++++++++ 27 files changed, 1406 insertions(+), 33 deletions(-) create mode 100644 .gitignore create mode 100644 TODO.ktx create mode 100644 aphorism/future_think.ktx create mode 100644 aphorism/order_of_precedence.ktx create mode 100644 aphorism/society_1.ktx create mode 100644 aphorism/society_2.ktx create mode 100644 aphorism/society_3.ktx create mode 100644 css/.style.css.swp create mode 100644 css/.style_pretty.css.swp create mode 100644 css/style.css create mode 100644 css/style_pretty.css create mode 100644 css/style_reset.css create mode 100644 css/style_smooth.css create mode 100644 dox.ktx create mode 100644 dox/initial_source_release.ktx create mode 100644 fonts/Antonio-Bold.ttf create mode 100644 fonts/Antonio-Light.ttf create mode 100644 fonts/Antonio-Regular.ttf create mode 100644 fonts/ProggyTinySZ.ttf create mode 100644 fonts/SIL Open Font License.txt create mode 100644 javascript/folder.js create mode 100644 pix/puss.png create mode 100644 plans.ktx create mode 100644 proclib.ktx diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c66a550 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +live/* diff --git a/TODO.ktx b/TODO.ktx new file mode 100644 index 0000000..e01890f --- /dev/null +++ b/TODO.ktx @@ -0,0 +1,34 @@ +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Things That This Being Must Do +```````````````````````````````` +For my own benefit, I've put my TODO in this most public of places. +,,,,,,,,,,,,,,,,,,,,,,,, +Things I have to do anyway +```````````````````````` + * Finish Dr. Cole's site, along with mobile styling + +,,,,,,,,,,,,,,,,,,,,,,,, +Polymathic Things +```````````````````````` + * Hustle to get Vashram stand-alone going + * Resume Celestial Carnage - see its TODO + * Implement timesynk's Virtual Machine compiler + +,,,,,,,,,,,,,,,,,,,,,,,, +Fun Things of Precedence +```````````````````````` + * Create timelapse videos for Newsboy and VAD + * Finish up SDL renderer for VAD 0.2 and release it. + * Create a narrative of Carmack's idTech engines for the YouTubes + * Finish LootKeeper and Get It Out There + * Implement last aspects of MediaServe (JavaScript linkage) + * Implement networking of ktk_walker and test it out + +,,,,,,,,,,,,,,,,,,,,,,,, +Extraneous Things of Learning +```````````````````````` + * Learn to read Braille + * Resume learning Japanese + * Begin learning Chinese + * Learn ASL or some equivalent + * Learn Russian diff --git a/aphorism/future_think.ktx b/aphorism/future_think.ktx new file mode 100644 index 0000000..9b6321a --- /dev/null +++ b/aphorism/future_think.ktx @@ -0,0 +1 @@ +Expedite progress -- think in the future, not in the now. The now has had enough thought from the past. Become estranged from the now. diff --git a/aphorism/order_of_precedence.ktx b/aphorism/order_of_precedence.ktx new file mode 100644 index 0000000..e8cc9dc --- /dev/null +++ b/aphorism/order_of_precedence.ktx @@ -0,0 +1,3 @@ +The **Order of Precedence** is to //improve oneself//, //learn//, and //have fun//. One should first seek to improve oneself. Improving oneself often comes through learning. Learning comes best with it is fun. + +If learning is not fun, one must still learn. If improving oneself does not acquire new knowledge, one must still improve. In this way, one must always seek these things, but be willing to do away with the least of them. diff --git a/aphorism/society_1.ktx b/aphorism/society_1.ktx new file mode 100644 index 0000000..9cc83a1 --- /dev/null +++ b/aphorism/society_1.ktx @@ -0,0 +1 @@ +Societies and their idiosyncracies see themselves as the pinnacle of all worlds -- the only possible -- or probable -- formation of society. diff --git a/aphorism/society_2.ktx b/aphorism/society_2.ktx new file mode 100644 index 0000000..63052de --- /dev/null +++ b/aphorism/society_2.ktx @@ -0,0 +1 @@ +To society's human, the first principles of society are seen as immutable properties of general human organization and being. Every possible world is seen through a strict lense of societal-formulative biases -- core fundamentals taken for granted as the required basis for humanity. diff --git a/aphorism/society_3.ktx b/aphorism/society_3.ktx new file mode 100644 index 0000000..dc4e45b --- /dev/null +++ b/aphorism/society_3.ktx @@ -0,0 +1 @@ +Move beyond modern limitations, doubt fundamentals and entertain worlds void of preformulated idiosyncrasies. Imagine and strive towards the altogether different. diff --git a/build.sh b/build.sh index 5db0bcf..40a83bc 100755 --- a/build.sh +++ b/build.sh @@ -1,8 +1,49 @@ #!/bin/bash echo "Placing structure..." mkdir -p live -cp -pf *.php live/ -cp -pf *.css live/ +echo " Copying PHP..." +cp -pfv *.php live/ +echo " Copying javascript..." +mkdir -p live/javascript +cp -pfv javascript/*.js live/javascript/ +echo " Copying CSS..." +mkdir -p live/css +cp -pfv css/*.css live/css/ +echo " Copying fonts..." +mkdir -p live/fonts +cp -pfv fonts/* live/fonts/ +echo " Copying images..." +mkdir -p live/pix +cp -pfv pix/* live/pix/ echo "Building kettext..." ../kettext/kettext.pl menu.ktx > live/menu.html ../kettext/kettext.pl front.ktx > live/front.html +../kettext/kettext.pl proclib.ktx > live/proclib.html +../kettext/kettext.pl TODO.ktx --header.depth=2 > live/TODO.html +echo "Building aphorism..." +mkdir -p live/aphorism +for f in aphorism/* +do + html=`echo $f | sed 's/\(.*\.\)ktx/\1html/'`; + ../kettext/kettext.pl $f --version.none > live/$html +done +echo "Building dox..." +../kettext/kettext.pl dox.ktx > live/dox.html +mkdir -p live/dox +for f in dox/* +do + html=`echo $f | sed 's/\(.*\.\)ktx/\1html/'`; + ../kettext/kettext.pl $f --version.none --header.depth=2 > live/$html +done + +echo "Copying plans..." +../kettext/kettext.pl plans.ktx > live/plans.html +mkdir -p live/plans +for f in ~/.plans/* +do + #html=`echo $f | sed 's/\(.*\.\)plan/\1html/'`; + #base=`basename $html`; + base=`basename $f`; + cp $f live/plans/$base + #../kettext/kettext.pl $f --version.none > live/plans/$base +done diff --git a/css/.style.css.swp b/css/.style.css.swp new file mode 100644 index 0000000000000000000000000000000000000000..6e5ea30ea7e8ab6737eb96eef59b71af4b7349ac GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/css/.style_pretty.css.swp b/css/.style_pretty.css.swp new file mode 100644 index 0000000000000000000000000000000000000000..f8a4d8cebda95316ee5c5113e6c7cebec7367ef4 GIT binary patch literal 16384 zcmeI2ON6-ewtN-=Y*Y$m~$;iZpd+2C5LGZeckQGl=HsAf#Qu1w{kSupaYtL7$lurGQdEDWDWk3Md7X0!o2PTmfEOM0VmH7Wwyav;W=~cwg)vZ|l&{ zZ&q(g0i}RaKq;UUPzopolmbctrGQdEDWDWk3M@bc43m%>uO{RzAb$U^<^MlkOUN9! z3!Gg}$WP!j_z)ZgFM?;lW1s{w;6cz2&MqV5BXAh(1}0b!ZUqBiHK5@5HH4HwKllUJ zKjn|(2;Rl<8Sn*o4;%tdfVJSvRfN0@UIKf;E|3M=!A5X9h=7w<67oKn17(l`4}oo9 zE7%BrT}sF~@H03A-UK_r8qfz$UxDj`cfi}=HNe3g;QPx7`2ZXMGoS*>U@Pbc=avw1 z3>*Om!2vJ_WKL~-}P|*3sFY3&aSwd;ju4rz?FzvD)p^;*RMuC$~8ml9N)c+SA8yH7d zEpN|g7t+7Xl39z--z4k}WHM)^Go0>#D+Wd=2NAdY)M?62% z(3D-^tiUP$fJF?vew-PhJ80f;(pEvsu@u*-Hrzi>Q|PX_)(q2WG*RT^bhg1{xW!~7 zU@{UkNwk=Z2293+Ch-=Nv1XH4Bxn+AFiJ zm`z_kZWnbL2@kV;L!+;$IBBypYccr9|L)Jxu9rCP1<^s8iGessfMEd7fQN_jtWctv z4m!#O&F-)uE>Ty2=i7vz{TJ@{ljnMJp=qDDMxauXNpY+MP zcy;M}I)jFY=*5&CGaJe<11>Grx0s-^W%7(35w2`nZZT(6^<>VT%8G`eHPm5dX^K&v zVbnD8Mw;O{M%S;8ha+^&kPK?lp{MMe?dX&{M!_u_j(FIF;xX~^BA@Ie|B6y~?VKee zXVR9f-TvmXuadcHvyQ@_7mVQl;}vC4vDUDQ`|+z({_rgO{eTMA^+m6VYlR@ zYU^1p!IbUfb;srgXREci$K13`RRG zgI*SGrR`yq@wRg@Z;R%|qG9hq29cVJCv6!+#HfYG&uCV`WEE_fWq_*(4cabhP#HG- z^g*Tp^}ta}D!kSt!^E*c|G`<0{k^@}3;t~bf0OgI;un(C&7I{)Gt0pzJCZ*!B#K< zwtx|^7@R<^{|a~->;P3z0iq7@0GI#?&<8$6-hUYE1yx{zBrt#men;+q3_J%65C$5! z34DXR|5YGr0n?xaI50sJ^np{*TIvnS)k`U$6i^EMmkPA(n8p5IJdJ|80ae}WQBbUB z+^V|QT&e6(wQ8ttBIlFUO;z1%E&|IcsH*N^pWl+%wyy!!GmplMw@tCIAp`1J(3xjB zr#{ApbU{`37HV}=Rrjc>?lu4BC^kKpR&@`>yjtO}ZQ!eY>pfKTD9fWVhW|z3q-dC? cRY>ci_9l;O`514sLw>i_@% literal 0 HcmV?d00001 diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..0c817c7 --- /dev/null +++ b/css/style.css @@ -0,0 +1,218 @@ +/* fonts */ +@font-face { + font-family: "Antonio"; + src: url("../fonts/Antonio-Regular.eot"), url("../fonts/Antonio-Regular.eot?#iefix") format("embedded-opentype"), local("Antonio-Regular.ttf"), url("../fonts/Antonio-Regular.ttf") format("truetype"); + font-style: normal; +} +@font-face { + font-family: "Antonio"; + src: url("../fonts/Antonio-Light.eot"), url("../fonts/Antonio-Light.eot?#iefix") format("embedded-opentype"), local("Antonio-Light.ttf"), url("../fonts/Antonio-Light.ttf") format("truetype"); + font-style: italic; +} +@font-face { + font-family: "Antonio"; + src: url("../fonts/Antonio-Bold.eot"), url("../fonts/Antonio-Bold.eot?#iefix") format("embedded-opentype"), local("Antonio-Bold.ttf"), url("../fonts/Antonio-Bold.ttf") format("truetype"); + font-style: bold; +} + +@font-face { + font-family: "ProggyTinySZ"; + src: url("../fonts/ProggyTinySZ.eot"), url("../fonts/ProggyTinySZ.eot?#iefix") format("embedded-opentype"), local("ProggyTinySZ.ttf"), url("../fonts/ProggyTinySZ.ttf") format("truetype"); +} + +/* */ +body { + background-color: #FFF; + font-family: "Source Sans Pro"; +} +/* general helper classes */ +.min { + margin: 0 auto; + width: 1000px; +} +.padder { + padding: 1em; + margin: 0; +} +/* header styling */ +#header { + position: relative; + float: left; + min-height: 128px; + width: 100%; + text-align: center; + color: #9F9F9F; + font-size: 14pt; + line-height: 110%; + background-color: #fff; +} + +.qat_bubble { + width: 800px; + color: #EDDDDD; + background-color: #322222; + margin: 0; + padding: 0; +} + +.qat_bubble p { + padding: 0; + margin: 0; +} + +#puss { + float: right; + z-index: 1; + display: block; + width: 128px; + height: 128px; + background-image:url('../pix/puss.png'); + margin-top: -24px; + background-repeat: no-repeat; +} +/* content styling */ +#container { + padding: 15px 0; + clear: both; + text-align: left; +} +.surf { + padding: 0.2em; + background-color: #D0D0D1; + color: #121; + color: #EDDDDD; + background-color: #322222; + background-color: #CaCf90; +} +/* */ +#menu { + position: relative; + width: 23%; + min-height: 70%; + float: right; + background-color: #FFF; + color: #1F1F1F; + font-size: 16pt; + line-height: 150%; +} +#menu ul { + padding: 0; margin: 0; + list-style: none; + font-family: "Antonio"; +} + +#menu ul li { + width: 100%; + background-color: #D0D0D1; + color: #121; + border-bottom: 1px solid #322222; +} + +#menu ul a { + color: #9f9f60; +} + +#menu h1 { + position: relative; + font-family: "Antonio"; + font-size: 18pt; + padding: 0.1em; + color: #EDDDDD; + background-color: #322222; +} + +#menu a { + display: block; + width: 100%; + text-decoration: none; +} +/* */ +#content { + position: relative; + float: left; + width: 70%; + margin-top: 1em; + padding: 0.25em; + margin-left: 5%; + min-height: 70%; + background-color: #FFFFEE; + color: #1F1F1F; + margin-bottom: 1em; + font-size: 12pt; + line-height: 125%; +} +#content h1, h2, h3, h4, h5, h6 { + position: relative; + font-family: "Antonio"; + padding: 0.5em; + color: #EDDDDD; + background-color: #322222; +} +#content p { + padding-left: 1em; padding-right: 1em; +} + +#content ul { + padding-left: 1em; padding-right: 1em; + margin-left: 2em; +} + +#content pre { + width: auto; + padding: 0.5em; + margin: 2em; + background-color: #D0D0D1; + color: #121; + font-family: "ProggyTinySZ"; + line-height: 70%; + width: 500px; /* specify width */ + white-space: pre-wrap; /* CSS3 browsers */ + white-space: -moz-pre-wrap !important; /* 1999+ Mozilla */ + white-space: -pre-wrap; /* Opera 4 thru 6 */ + white-space: -o-pre-wrap; /* Opera 7 and up */ + word-wrap: break-word; /* IE 5.5+ and up */ +} +#content pre code:after { + content: 'code'; + width: 100%; + display: block; text-align: right; + color: #B0B0B1; + padding: 0; + margin: 0; +} +#content code { + font-family: "ProggyTinySZ"; +} + +#content h1:hover, h2:hover, h3:hover, h4:hover, h5:hover, h6:hover { + color: #CaCf90; + cursor: pointer; +} + +.arrow { + display: inline-block; + position: relative; + margin-left: 1em; + width: 0; + height: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + + border-left: 20px solid #7f7f7f; +} + +#content h1:hover .arrow, h2:hover .arrow, h3:hover .arrow, h4:hover .arrow, h5:hover .arrow, h6:hover .arrow { + border-left: 20px solid #CfCf90; +} + +.arrow_open { + display: inline-block; + position: relative; + margin-left: 1em; + width: 0; + height: 0; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + + border-top: 20px solid #CfCf90; +} diff --git a/css/style_pretty.css b/css/style_pretty.css new file mode 100644 index 0000000..4e123e6 --- /dev/null +++ b/css/style_pretty.css @@ -0,0 +1,120 @@ +.shadow_inset { + -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0, 0, 0, 0.4) inset; + -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0, 0, 0, 0.4) inset; + box-shadow:0 1px 4px rgba(0, 0, 0, 0.8), 0px -20px 40px rgba(0, 0, 0, 0.4) inset; +} +.shadow_inset:before, +.shadow_inset:after { + content: ""; + position: absolute; + z-index: -2; + bottom:15px; + left:10px; + width:50%; + height:20%; + -webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7); + -moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7); + box-shadow:0 15px 10px rgba(0, 0, 0, 0.7); + -webkit-transform:rotate(-3deg); + -moz-transform:rotate(-3deg); + -ms-transform:rotate(-3deg); + -o-transform:rotate(-3deg); + transform:rotate(-3deg); +} + +.surf { + -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0, 0, 0, 0.4) inset; + -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0, 0, 0, 0.4) inset; + box-shadow:0 1px 4px rgba(0, 0, 0, 0.8), 0px 0px 16px rgba(0, 0, 0, 0.4) inset; + -webkit-border-radius:3px 1px 1px 3px; + -moz-border-radius:3px 1px 1px 3px; + border-radius:1px 1px 3px 3px; +} + +.qat_bubble { + position:relative; + padding:16px; + margin:1em 0 1em; + -webkit-border-radius:10px; + -moz-border-radius:10px; + border-radius:10px; + -webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.4); + -moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.4); + box-shadow:0 1px 2px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.4); +} +.qat_bubble:after { + content:""; + position:absolute; + top: 24px; + right: -32px; + bottom: auto; + left: auto; + border-width:10px 0 10px 32px; /* vary these values to change the angle of the vertex */ + border-style:solid; + border-color: transparent #322222; + /* reduce the damage in FF3.0 */ + display:block; + width:0; +} + +#header { + box-shadow:-1px 1px 1px rgba(0, 0, 0, 0.8), -20px 0px 40px rgba(0, 0, 0, 0.2) inset; +} + +#menu { + -webkit-box-shadow:0 0 40px rgba(0, 0, 0, 0.2) inset; + -moz-box-shadow:0 0 40px rgba(0, 0, 0, 0.2) inset; + box-shadow:-1px 2px 1px rgba(0, 0, 0, 0.8), 0px 0px 40px rgba(0, 0, 0, 0.2) inset; + -webkit-border-radius:3px 1px 1px 3px; + -moz-border-radius:3px 1px 1px 3px; + border-radius:1px 1px 3px 3px; +} + +#content { + -webkit-box-shadow:0 0 40px rgba(0, 0, 0, 0.2) inset; + -moz-box-shadow:0 0 40px rgba(0, 0, 0, 0.2) inset; + box-shadow:-1px 1px 1px rgba(0, 0, 0, 0.8), 0px 0px 40px rgba(0, 0, 0, 0.2) inset; + -webkit-border-radius:3px 1px 1px 3px; + -moz-border-radius:3px 1px 1px 3px; + border-radius:3px 1px 1px 3px; +} + +#menu h1, h2, h3, h4, h5, h6 { + -webkit-box-shadow:1 0px 1px rgba(0, 0, 0, 0.8); + -moz-box-shadow:0 0px 1px rgba(0, 0, 0, 0.8); + box-shadow:-2px 0px 1px rgba(0, 0, 0, 0.8); + margin-left: -10%; + font-weight: bold; +} + +#menu h1 { margin-left: -10%; } + + +#content h1, h2, h3, h4, h5, h6 { + -webkit-box-shadow:1 0px 1px rgba(0, 0, 0, 0.8); + -moz-box-shadow:0 0px 1px rgba(0, 0, 0, 0.8); + box-shadow:-2px 0px 1px rgba(0, 0, 0, 0.8); + margin-left: -10%; + margin-top: 0.5em; + font-weight: bold; +} + +#content h1 { margin-left: -10%; font-size: 24pt; } +#content h2 { margin-left: -9%; font-size: 22pt; } +#content h3 { margin-left: -8%; font-size: 20pt; } +#content h4 { margin-left: -7%; font-size: 18pt; } +#content h5 { margin-left: -6%; font-size: 16pt; } +#content h6 { margin-left: -5%; font-size: 14pt; } + +#content pre { + -webkit-box-shadow: 0px 0 30px rgba(0, 0, 0, 0.1) inset; + -moz-box-shadow: 0px 0 30px rgba(0, 0, 0, 0.1) inset; + box-shadow: 0px 0 30px rgba(0, 0, 0, 0.1) inset; +} + + +.shadow_light { + -webkit-box-shadow:0 0px 1px rgba(0, 0, 0, 0.8); + -moz-box-shadow:0 0px 1px rgba(0, 0, 0, 0.8); + box-shadow:0 0px 1px rgba(0, 0, 0, 0.8); +} diff --git a/css/style_reset.css b/css/style_reset.css new file mode 100644 index 0000000..785ef49 --- /dev/null +++ b/css/style_reset.css @@ -0,0 +1,80 @@ +/* This file resets EVERYTHING */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-weight: inherit; + font-style: inherit; + font-size: 100%; + vertical-align: baseline; +} +/* remember to define focus styles! */ +:focus { + outline: 0; +} +body { + line-height: 1; + color: black; + background: white; +} +ol, ul { + /*list-style: none;*/ +} +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: separate; + border-spacing: 0; +} +caption, th, td { + text-align: left; + font-weight: normal; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ""; +} +blockquote, q { + quotes: "" ""; +} + +strong { + font-weight:bold;color:#0289ce; +} + +em { + font-style:oblique; +} + +p { + margin:15px 0; +} + +.aligncenter, div.aligncenter { + display: block; + margin-left: auto; + margin-right: auto; +} +.alignleft { + float: left; +} +.alignright { + float: right; +} + +h1 {font-size:180%;} +h2 {font-size:150%;} +h3 {font-size:125%;} +h4 {font-size:100%;} +h5 {font-size:90%;} +h6 {font-size:80%;} + +a:link {color:#0289ce;} +a:hover {color:#f64274;} diff --git a/css/style_smooth.css b/css/style_smooth.css new file mode 100644 index 0000000..2562536 --- /dev/null +++ b/css/style_smooth.css @@ -0,0 +1,2 @@ +/* this file stacks on top of style.css and add additional prettiness */ + diff --git a/dox.ktx b/dox.ktx new file mode 100644 index 0000000..67105a3 --- /dev/null +++ b/dox.ktx @@ -0,0 +1,4 @@ +.imply(version.hide) +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Documents and Articles +```````````````````````````````` diff --git a/dox/initial_source_release.ktx b/dox/initial_source_release.ktx new file mode 100644 index 0000000..bdcfb30 --- /dev/null +++ b/dox/initial_source_release.ktx @@ -0,0 +1,47 @@ +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Release Your ((Engine's)) Source +```````````````````````````````` +As a game developer and a free software advocate, an inevitable question comes up of whether or not to release one's video game engine under a free software or open source license. The immediate question that comes to mind when commercial video game production is held at the forefront is that such a release could endanger the commercial success or profit of the game due to competing products being released using the same code base. However, while this appears as an initial concern, there are, as far as I understand, no rational reasons for adhering to this belief. + +To highlight the chances of risk, let us first analyze what could happen through a delayed source release pattern. Let us assume that Game A is a non-free video game that is being developed by a Studio. Game A uses Engine Z which does not include the art, sound, and other similar, non-engine related assets. In this way, Game A can be broken down into the Engine and the Assets. + +After the initial release of the game, which is met with moderate success, the Studio decides to release the source code for Engine Z under a free software license. The Assets for the game are not included with the source code, as the users must generate their own content for Engine Z to allow for a new game to function. Various potentials crop up from this release, which are expounded upon and addressed in terms of probability below. +```````````````````````````````` +1. A competing product is made that potentially impacts post-release profit. + +Although this could occur, the potential of it varies greatly depending on how specific the engine is towards particular game mechanics and logic. The more generalized the engine is, the greater potential there is for a new product to be made from said engine. If the engine is specialized, only similar games can be made. + +However, how much probability is there in a new product being made from another engine? Given that there are, as far as my research goes, no successful commercial games that were created from an free software or open source released engine created for a commercial game, it seems fairly improbable. Licensed engines, such as id's various idtech engines, do not count for the reason that at the time their licensing the source code was not released as open source or free software. The absence of this occurance does not guarantee that it could not happen, of course. All the same, there is no compelling argument for this occurring. + +In the event of such a (thus far improbable) commercial game from a free software released engine, what would actually occur? + + 1. Any modifications to the engine's code must be released under the same terms as the free software license, thus keeping knowledge available and increasing user and developer freedom. + 2. Depending on the release time and the type of new game using the free software engine, profit for the original developer may or may not be impacted. Given that developing a game, especially a coherent game with a full body of assets, takes much time and effort, it seems unlikely that any substantial profit impact could even occur. + +In summation, given that no examples exist of a commercial game being made from a previously released commercial game's engine actually succeeding or even existing in the first place, it seems unlikely that it is even a concern. If a competing game was actually released, it would require a full body of new assets that take a great amount of time and effort to create, thus severely reducing chance for commercial competition. Furthermore, any engine modifications for the new game would have to be released under the same license as the original engine, thus maintaining freedom of and access to knowledge as per free software. + +2. Game exploits are created. + +This concern is far more legitimate than the first, for the reason that providing an absolute transparency and access to the engine's inner workings mean that reverse engineering does not need to be done. However, the amount of concern for this is dependent on both the type and the design of the game in question. For most games, exploits are inevitable. If the game is a single-player game or most any non-competitive game, the exploits are irrelevent as they only serve to change the game experience for the player. This does not impact profit. + +However, in the case of multiplayer games, and especially competitive games, exploits impact more than an individual user and are thus a concern. As is known within the gaming world, exploits - or hacks - are inevitable and something you have to deal with. In general, most anti-hacking systems (such as binary checksumming or similar) can be bypassed. The most trustworthy form of defense is, as is common in the gaming world, having democratic votekicking systems or knowledgable administrators to ban or kick exploitative players. + +Given the premise that exploits are ultimately unavoidable, there are methods to counter based on game and network design. For example, if the game uses a centralized server model, wherein a single server ultimately controls the data and logic of all game entities, exploits such as speed hacking can be detected by ensuring the player does not exceed particular movement speeds via particular methods in some given upper limit of ticks. Furthermore, information such as player location, health, and otherwise does not have to be transferred to a given player unless the player is in line-of-sight or within some distance of the other player. Given this, even if the player modifies their client to see health or location, the server does not send enough information unless the situation requires that player knowing that information. + +In a non-centralized server model, such as a client-to-client command relay design as used in RTS games such as Starcraft for Age of Empires, exploitation can be limited in that any significant changes to a client's engine would result in a desyncronization of that client. This results in one player experiencing an entirely different outcome separate from the other players, thus nullifying the reason for exploit. However, as was and is the problem with said design, players can use the commands relayed to acquire information on the competing players' units (maphacks, etc.). The counter is to do some form of checksumming that does not only check the binary checksum, which can be easily counterfeited, but rather checksums some amount of live game data between all clients, notifying all clients when a discrepancy is found. One method would be to use the current command history to check if an exploiting player is seeing more of the game world or accessing more than they should be from their relative position. This could be done from any of the clients connected or from a third-party service that simulates command activity. + +In summation, exploitation is inevitable and releasing source code may increase the frequency. However, any increase of exploitation due to source release is entirely speculative and could actually result in a decrease due to exploitation or security patches being found and created in the first place. Furthermore, the design of an engine will likely be the most authorative method of dealing with exploits, regardless of source code availability or not. Finally, anti-exploit measures, in the form of detection systems, are possible, however the most reliable form is that of community-based policing via admins or votekicking. + +3. Easy Piracy of the Game + +Of the two concerns provided thus far, piracy is the most legitimate concern, as most any protection scheme can be by-passed with greater ease due to source availability. Some methods can be created that reduce the chance of this, such as a centralized server that authenticates users based on a product key or account information, however such methods could also be by-passed. However, I hold that this is little different than the current and historical situation of game piracy. As it stands, DRM-style systems are not effective at preventing piracy and generally do best at hindering legitimate users from playing the game they paid for. + +Combating piracy is a losing game in which the only vaguely effective method is to restrict the freedoms of legitimate purchasers to such an extreme level that would inevitably lead to a decrease in overall profit due to cumbersome and annoying user restriction. + +In summation, even in the non-free world, fighting piracy with DRM is a losing battle that rarely stops illegitimite users and primarily hurts legitimate users. The best combat is to create a fun game with a strong community connection that values and empowers players. If players, regardless of piracy or not, are empowered and valued, they will feel a greater compulsion to support the original developers. +```````````````````````````````` +Given this analysis, it is clear that arguments against source code release of a game's engine ultimately hold little to no water. Competiting products made from the source code are highly unlikely due to the long development window required to create entirely new assets. Exploitation is ultimately the same regardless of source code release or not. Preventing piracy is as it is - a losing battle that fails at any real prevention and usually hurts legitimate players most in the process. + +There may be some cases wherein source code release could impact long-term profit not from the original game itself, as other developers could use the source code rather than a licensed engine to develop a new game. However, they would have to release modified works under the same license. It is worth noting that the original developer could do a closed license version to another company that is non-free so long as it does not use any new code contributed under the open source license. + +In conclusion, source code release, whether immediate or delayed, causes little to no substantial problems for profit, exploitation, or piracy. Left unaddressed is the potential for public relations and community support and development that could result from source code release. diff --git a/fonts/Antonio-Bold.ttf b/fonts/Antonio-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..20a35d1eb9dc202a9c066163b9b3f7f07f79fb09 GIT binary patch literal 48508 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 Y+$4AEev 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 ag)p?BAO;cmJIF8IA?xlL)nnp~vHu3k!Y5e( literal 0 HcmV?d00001 diff --git a/fonts/Antonio-Light.ttf b/fonts/Antonio-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1b3f910bb9e2faf4a190fe8b0f3c1550470077a7 GIT binary patch literal 46564 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 Vib(|i9cNc=mvwiJ>9L?j^uI;HKd}G+ literal 0 HcmV?d00001 diff --git a/fonts/Antonio-Regular.ttf b/fonts/Antonio-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9f8759a9135d2bbeecd42e7ffc9e2cb8f84bdebb GIT binary patch literal 47944 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¬i4&!U)*u=>Fn(6f$WE~&*sd|Y0uf2 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 { + if ($get == $page) { + $current_page = $page; + } + } +} +// Get our aphorism +$aphs = scandir('aphorism/'); +$aphorism = "aphorism/".$aphs[2 + (date("d") % (count($aphs)-2))]; + +if ($current_page == "plans") { + if ($_GET["plans"] == '') { + $plans = scandir('plans/'); + for ($i = 2; $i < count($plans); $i++) { + $post .= "".$plans[$i]."
\n"; + } + } else { + $plans = scandir('plans/'); + for ($i = 2; $i < count($plans); $i++) { + if ($plans[$i] == $_GET['plans']) break; + } + + $post .= "

".$_GET['plans']."

"; + $post .= "
"; + if ($i-1 >= 2) { + $post .= '<< '.$plans[$i-1].''; + } + $post .= ' index '; + if ($i+1 < count($plans)) { + $post .= ''.$plans[$i+1].' >>'; + } + $post .= "
"; + $post .= "
".htmlentities(file_get_contents("plans/".$_GET['plans']))."
"; + } +} else if ($current_page == "dox") { + if ($_GET["dox"] == '') { + $dox = scandir('dox/'); + for ($i = 2; $i < count($dox); $i++) { + $post .= "".$dox[$i]."
\n"; + } + } else { + $post .= 'Back to index
'; + $post .= (file_get_contents("dox/".$_GET['dox'])); + } +} + +?> kettek - - - - + + + + + - diff --git a/javascript/folder.js b/javascript/folder.js new file mode 100644 index 0000000..25d096e --- /dev/null +++ b/javascript/folder.js @@ -0,0 +1,78 @@ +/* +This file provides folding of sections of text +*/ +var toggleHidden = function(arrow, target) { + if (target.style.display == "none") { + target.style.display = "block"; + arrow.className = "arrow_open"; + } else { + target.style.display = "none"; + arrow.className = "arrow"; + } +}; +var createFolds = function() { + var context = document.getElementById("content"); + foldHeader(context, "H2"); +}; + +var foldHeader = function(context, type) { + if (!context.hasChildNodes()) return; + var child = context.firstChild; + var prev_child = child; + var header = null; + var section = null; + var open = 0; + + while (child) { + var next_child = child.nextSibling; + if (child.nodeName == type) { + if (section == null) { + header = child; + var arrow = document.createElement("div"); + arrow.className = "arrow_open"; + header.appendChild(arrow); + section = document.createElement("div"); + header.onclick = (function(header, arrow, section) { + return function(e) { + toggleHidden(arrow, section); + } + })(header, arrow, section); + toggleHidden(arrow, section); + open = 1; + } else { + if (header.nextSibling) { + context.insertBefore(section, header.nextSibling); + } else { + context.appendChild(section); + } + header = child; + var arrow = document.createElement("div"); + arrow.className = "arrow_open"; + header.appendChild(arrow); + section = document.createElement("div"); + header.onclick = (function(header, arrow, section) { + return function(e) { + toggleHidden(arrow, section); + } + })(header, arrow, section); + toggleHidden(arrow, section); + open = 1; + } + } else { + if (section != null) { + section.appendChild(child); + } + } + prev_child = child; + child = next_child; + } + if (open == 1) { + if (header.nextSibling) { + context.insertBefore(section, header.nextSibling); + } else { + context.appendChild(section); + } + } + +}; +window.onload = function() { createFolds() }; diff --git a/menu.ktx b/menu.ktx index 7d19a29..919b0e7 100644 --- a/menu.ktx +++ b/menu.ktx @@ -1,11 +1,18 @@ .imply(version.none) - * [[.plan]].href(?plans).alt(Of Action) - * Games - * [[Newsboy]].href(newsboy/).alt(Escape The Net) - * [[CirQuit]].href(CirQuit/).alt(Find Enlightenment) - * [[VAD]].href(VAD).alt(Get Vadding!) - * Projects - * [[kettext]].href(kettext/).alt(markup language) - * [[proclib]].href(proclib/).alt(procedural generation!) - * [[procsicle]].href(procsicle/).alt(PHP process linkage) - * [[noirchat]].href(noirchat/).alt(decentralized chatting at its finest) +==== [[General]] + * [[Articles]].href(?dox).alt(Wordsmithing) + * [[.plans]].href(?plans).alt(Of Action) + * [[TODO]].href(?TODO).alt(A lack of gettin' busy) +==== [[Games]] + * [[Newsboy/]].href(newsboy/).alt(Escape The Net) + * [[CirQuit/]].href(CirQuit/).alt(Find Enlightenment) + * [[VAD/]].href(VAD/).alt(Get Vadding!) +==== [[Projects]] + * [[kettext]].href(?kettext).alt(markup language) + * [[proclib]].href(?proclib).alt(procedural generation!) +==== [[Lab]].alt(less-than-complete things) + * [[procsicle]].href(?procsicle).alt(PHP process linkage and terminal client) + * [[noirchat]].href(?noirchat).alt(decentralized chatting at its finest) + + + diff --git a/pix/puss.png b/pix/puss.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd5d68f8ea17d63c041a6d9aab33e9a2ea489d8 GIT binary patch literal 26020 zcmXtA2RzmL`#(lGMw}!&tCN+GB-tZEcJ@WK?7e4Z$X?kYWbeJn3Ry{ZNRqv0{2#y9 z>wjOTd%O2K=X}4P&+~bn_xcv1DF6Hh9wi3j7Hc^&@VDWuri;L6Q+S{0zSsEh{u2X3*T{L2kNQLH)jEU65er%T~TE0Or+$}=(qBOHmF$nzt z6tPHG;9ER3lG`^^rBpxrjpIqBy5`e&ol_kRg6#QRgEO;TVV{=I3Zkkw%1`>KkP?%(f21hawRMcI>ti z3}4L}uIHG(&DRjl5gJiMB6vkMjw&X#Sc@u>~8;Dq+jf?EEm%!V?mkV{$fZ?Ou2hYY6VO7D**yQc{0*|!7CiK z^844qZ<7_vt^Ka73yW8+JblbK^Z1p-InF>=n2}jfaoFanB&LnR6*j=|~ z%k2n(h;2QI6uFOq7)<=Qgg`X?A=myCM<&~iL?E7hc*9yIibK#&Qq)G6+J2|0jSN%& z`ZEy%bejN5?D{WXYP?MH1W^i=HohO&)n!5&6e!C9(j5P zc~cNBwrDT%mOee-+nWXvKN!9u$&wZIRQc>0Uan(DTry=MUrFR48G6!*mj<|3pg}+Wo;{#F3jw$2TF%VuZ4aM$oq= zD{th*A16nIS7?Nx@5nag^Sih8agt0DgB-um4t;s&HTu7AM84km`!PYPA{+=)*cb+(5K(iWg@)wDpm?j*cbCl9*_QB6qhuiynq$?m0e9A)Mj~-Ian#}u&g#ml z|Go>sji4L;JyHhD6c!X76nW&e6dXyix!1-LlX_J+C%CAROy3i|w^7w#J!JK~9sPwk zo-bZ4-aCG!Kt13+RSNg9vzIr^sdLaCu{JVLvNwIhFlPUM9 zmMMb``wh~KwW%#9+cc3hwzLC2E50Kq+yMzm_1Ea8&eOO-Rj6?Lcj!Ncy|>8rz!H zcXdleD)khC6uy-Hnoq?k#h;y1tma7;Ng`QBSq@%WPd!{eU&mWdUcbKa^icos-l5gu z(47Hl;yd5@9r-=&9i0Z8Ep40DJ}z)~=6}xbTva!vGR<^I+j~rw`y#5JIMF$g?4?y+ zXr6V3dw={g5f04(n3vRolJM!1`FxoMeF`C~{zNy5rz@o)Y!p^~Yd@cN1 z<8=-Kq1$2vxHmLu?PG1)$abkt3?I#yvL%n){(?-qtwnXpIlw4O^ZjN-&=7JS77FMnT_PCvV_;;=~H!Wq&#`MGkU>Vss^3L*miJ!g>Qjm1&euS%_eBUjaBBuWCo}AjV?{h^%lXjC2p2nrdrDiMN zFiWVqKfzhcT&rMm|9wVf_rzgu`nF}D>_~Q%a)}}#sVv8*`>y|y z|L0mK)hwm;?a{o+#ov>=_RdH;|KgC52Wz}7Cx0&4tW&hEf9P#^p>fG`9aee*PCHq?ShPUbU7_1unGKlq9|MA9u12sj{yO})Mhwf=UI{j+@iVJI7CK;!` zx6ZnF>=F9kxy?Vf6}R40ecx5xqFKW0z8BU^<#wj|Tu+ZB#Xp%}J7+ov z=aYPD50Gn8Zudv|TAhj>WLtd@%xvEJ^DaB>j_#f3Ewz{4TMw5Eoq8Tes;7TQV;0;w z`Q;b8lxLKeo+d9W_$_J1?MU`K$wEg-r`c3|C|#J$aZ|ST)luKx+)AX*c9ZQs!;!)C zz1kPWf+d2_y>0(3NR|F)vu1qMzo9Nr;y-rnY z%{WV4cdy~#*!ggS%mr^#c1FiN(zW!wW$NEwoKvE|K2;ax#%)$VkM-L0hB`Hgwg_>9 z(=XyK$AT9|pAS4Azbkn+JTi@zmg)v&^RCg?*oC}`yjw$Gywxt<)*K2~=Kn38y%^Fs z|FMmK5;oLY;+DT>zg3uD%GYzZhqmdfo8V6FdGXh2udTYRhWVam+9c+4kqgDWkyFE- zykUhSp%u@IbB?2cy))mZ_ih5J#I=>ubU+~3?_T}FaLo~RhX07;C@m*}Glx%&y!NnA zqL2`QphHMM6IF4YTKCd?XFQ>LSUcpoS-+=UoBQ9(iQ#eoX&viYCI%ujA(|IgDum%C zQtFL>2)Y*wNw2%>D;>bVph)aZ7jun5%7_i;78QTQMpdKW{>-wkl}qdT5;a#w#R z;-2zE#@+Yss`W*9sf*)3YAXTv?=ROk0~gO)8tUuwX@tGCi`5E=5mOTrD+6D@CYNgr zkVuS>N{nn+3wgB?_-f{T^9q@T+jB*nZ{ByUg{#(En*805s46Zl9`5I8rM{^3IjjA1 ze(q`HwUyj$=;W&vz=B$&?D*|5xD&h`*F580#tMM{j zpT^CndVAkS$uc&#vJH~&5J{HzWX_=wNz__xPSltXkyEL&alIfV4@>6 zlQ=R2-|s_j#rmg$snnE|LioH(=YO5F7q; z-Z4aeA2Lv*Hsq4>s^f8V$eaBYan6k!asA6_&W(2pCf3^9+I(aCm#I}%lW<(0Td-Yp zy*lsmaq2YSrB+M#xj6Ze^vD#ip(HX#Ie+IhH{bf1cgdt>_sYtOc%<+}o&Dlx+=m%M z*^11H(lOo(7;~O`w-Md&mY9rx>!xQur(+or$}&fY_c3TQv5A8bI^=b$>90>H!?|;~ zr_8IXB(p`eC!GE(Rx`D<9FWOTmM25C99^eF`jKLbE}pDp(C!P^h^dYXW-*iAlm7dN z;BJykjzMxRMQQV4^6sDPNW2Z_6dFE9=3%FQWSKwZcrMRR_EzW52j{8z+;)HQ`m%_k za*Z@;?gkLJr6;aA@=5pDWyOsu=8Y-Ijl~HJ-A!MqKX9Kl=SeXs*H}l#N(ZABTPLp5 zA%@k|)QE+T+lj7!S>CO)nl?;dxgix3H{v9iSzs=!I$oA*=H9HE=zYFK>yKKz9Od{I z!x6eT8!inVP!PqY-S}$*KIi-7cqulye7)5EQ8;&#pE>~sVH+$QZ9u+%jExY zquKEi-u9ZGo0;KG8O(K?wyM>fRYWyST>qfk>MeNKdpC05i7$pB(NvDd*r=!I1OgeSym%%AtA3|v)zaF!=DDQgKwqD9W6I5$xSLJm+)?JqzmGn8 zV&tg2uAQFh?hblCXyT+Z;UqWasH&%VzSVtoG^dxWWjhddVkImfN-!YGPBS6+p0rF@*6U{sH@o%(Mry2x34?Lzu{WHl zsSXl<6z?JhR=;Hfn3RlHSegjMX-m*mNP75yI4j{1t2| zh$#f$Y^X^O~0?@_xLG#K*Xp^74mLG1${J zc7MOId|Pvhpk>avIe#>kV0>`W(rUN+t1o;d-J|3@M8Pu)t}Vr0;d1=4?JH_~@qWZXDwTf3jK(@QP z`zJ3UYdjv$lP4qQ)gKD}u3dXGK~#91PKHIUz9c1Ig*7DOVn2^wCjVUu+eWJ~ks>om zQGR~@Z}_re3v4Tdya3IFLw)Kmw{%7JMCrnDhV&I&Q4}m-L2~YD#L}O6m=#qyIrml< zf@w*A|Ni}Dc7EfW;{ZG0rr^rgv@q`_s`*~G^e5lKkFY|sKH>+8xw^Y+QP9wkI_WUQ zDRZaDDawqjIu2X%+zjiY3uP!6XMHFat0;31!RL$2;kMRPTkiEm>BY;VVOLrSvR0V~tLn6^v!DcYclNpB>nk7}PA&VQ_Sx``rymc13 z22kB%qPN_z=X`b5%*MzlV5H}Adi2?5g+;a2uc6EHp}irYvvp=)Y0U(tj)iRzt|Zxr zckljqd3nWHP5W6*bIRR1aKDqBD;k6Dt$6p0;f)a&t_+J-F{!{%_UvPa2HiT6kY_SP zLdSZ7NwQkArOixqoQR*^+y1oBD*7a$BVxQ(l;NkMqS7r^!#C0-MN2cl6%KRD5e9cY zi$T*<6TXO3?sL+qA6u0oW7kFrU7ifZZh5Zo8^J)q7FoNlAaY4&*&@qw!|UJLD+TWr z{&^MzGbXtjNe%~b2wGrhYzWSnPQ85~!HpaA#36d7rZ^Exbcy|MFhp{_P!cz@m^TaV zAdpyZH`dn!N_84@!y_YKJh`PjZ;t$cXv)l_UrYDcG!s1ilYIjrhajc@ESIC~sHcaB zL5rfWv&<+RbrQugQ9A+(wmRyTJShf84)&{~_jc=tyyTDns<*PvKwlAilKSHk|BvDC z(}Nxw54N4{P9idaAu0?`OuaVlL6y8QTqPM}38jFM5hX4@KD-{g;n&gq;r%5lx0*@@4;03yeF`5ytA~JCv?Daa^!P)G(P0{ z`%#V~-z+*nLolCl<7E0WTe)RpW23i|NI11ng|!nQi9vwXODx8aoSWZJg70y(d2eiN z3|25DB_#@t8>jp_`ML}XTDs%wS3=70>z?zbVicpD_n8qYW8Cra@wZ_UMH7~5Z4j{0 zLHbR%lT;CH@YYJSw7Glw1okkYUz@I$)-FqqqoZS7L4i!i0%xnf5=ob0Xn{Pb#c*0UstU z4UCPi`O%5Qpi5%@p8U7I6_Tka^{&g{Nt%+hA6--Y;EKMUyZcmfa7zUZ9wU5(xv+udb}@185wbPP4tY6a;Sa z!-)M`dU;xEIV9;TZK!d7W0-o$jxqeF=P3$f7=pqTZ&- z2dl8&wzRa=b8xr?b7sdi6^0K(Xx8wm<43i^oVt=it%RKEnmeOTg3t!N0mp14nWigo z=r(9ueVZV`Lxs9Y3+q#_JCZ7K_{-S^GxKRROo}-ML z!E49xZ_viuVS9gd%!4^6Hf~f&6m@E1YHHYe-rrh8c;klj$m_TOG5X$$0YgFEc{v)m z!QPcUavB;*)_A|QhEEe~&FSxrF{XE1J^#&lY|SPoCFQ?}F~UM3>Gx;55!5(<`)2I> zAN&@+SQ6gsz!3ZyzTZOMV^>yPeN7CB8z_dEqw;lS@7aXYO(+zUVf#ur6>Vh)Ao(UQg7LWf*$#uG*L4w{U)UYxAN!b$WI z-d+sjkUwq_7DZC*2ykq<>2fFbv#dI5y_3v-hQcm!go$iRjg!8TId0xwW3{>YUomOc z2s0xSlPI$N>sNUW6gmKf>nn>?Qc+bE7>d=IxZT(wis@Uyws^U+FkiyV9fj^oNljf3 z5X;OpOAe>O-ol77*35;bZZzNG_5S_)pT}Ye#>}B&1f3{oZ(j3cUzRKO;i3w9BJSYh z`k{ta_LAD$+dG!~6Kf|XCZ43b|IHuYTNx_7=*u|o`)(?HHkqtX-hAxq5kQB8^^}l~ z!B!%~#T;tD6f3Qc!v5P(qLHt%-__Oi`Ka~sU(1B9ht=o3CP74ZPfyPo z{B^6LWbN!|EAg2Unr-f-OeQm)ifUlV+O_~u0P0V}*IBP--JZ!xQ#)uTbtTi&M4}Dl zujm8FvzR3x%Z2eq++ql*l2F>m7X2_g;X^SuUxEXZ03eNpxp@Jc*FHY_k1W#4J)8s_ z8ACX?Zr$qm_KgHD5K}py#7OgZgZI!LoiwqMYCK9ziYti(Egi$0^QEw~#T;7{^&&?( z2@8kt*PWg|D6MbZ-ID8(7k?tNdLn7(F8~M5o__nL!XGa)S;2NDii$F+WKkASdI{{kC_~L>(>}qEC*Jh>nPexISr_0E1p8 zhge?{-On}RbSJ@>9*OyCjJwB4Csx^=N76jLe*Lvv5=z6x`MxMjQ4|UnL|4asS#oEJl4UL1KmFZc{Ws(CB;!fs9e%ZoUrfT9!tVR8`IBTDTDD?kau`aB zivzz;Oo)3Nu8)kZRxLJ^lvPwPz&KHgK|6VS&$%9qtKS6xLNAIU8RNb-U1P>eO?bF9 zPdno@p)<^VV`V6V?3oe?oCRY|Msaa*Tb;!3=8rQ_2DMtn&U|Uscb?jRuCkgw5>U|n z@4qlbnK4n+{$t8;Aqge>xKURWwj>HWln&Vxx8_De-Lv4#4!dP;tN10{li9WC{_ z`Do5#dPw-v)6mkgsNCoBqNZdm!fINyaW-h{Op)YT7PD9kn#M3mw9J}p!U>l?0J^?C zKm>g^H%)VH%Frz4zjs__GNBUwMhYHkIJ&t#z44){u1@1(H?dWlmYn?c!O;;vLaK67 zg)%${I-#qP(PwD3p(}2SKxY(LqSFqjx#TzkaJc^B|QqCVH({+6Vv?~qI z&lgr6C5A1b1jPd#fI*trs&=|%iI*^^>LoMDRB6j;fdtC|(H%bYZM!&kHMh{ihtcXJIR?|tNy=K$#`W~l%Fjt8N!PgTb8r{z{c#RUb&QRDGAM2FRZEXFCRtnBas1s$CFBMvuR!x5WIxlPRL1>&1Ofhy12ic<+8F0|p&jff7l`))^-Kvk!3< zaV1Y)ei%3~snpa+2n-LuG5T29K6_>DLe9tDo~v%Fdat(TTNxn@(7?eBLboR?`@t^ZI+UX=hU_ zt3f%&*p?NyxGv9{k#z^sOOID2YrE?5G67i zVBCZOH-99dL=rgno(dbI;o;t(@-v#4(N%6(dU9Oxg7LpY3_h=Ye1!iEmkUmEajy)|k3`czIq!3TX6MaM0r{1MrpY@N1n+!PD2W<4(1McAN1WaZ@>V$e^4 zZ|;$jk^M7GcMFnaxM@y)9Yz&Fr!QK1*eNaJ{LLGT^gG8bk@9)|%ge^Prz#}ZD%iwh zK9&$-`stH*K(D#4+v1s2QdG1Znu(SMz!kLO1_1D;49n{1P^!_Ybmp9+D7I+Z&!2Qq zAkUPZv5|@wt2LI>W;jq?$s96`KchU@J2~I3xak?|^j82(4wcM)BcF#g#;s3&UGn+! zn}op&ZZts0;ZWmv4Tx8a4JnHq>b{RIQ`?D-z8N#La!n@x^>hsy>4)yGc*b(OL7@G= zzgaDln|gS3Z{f3;L*E!{!mCP!bp+n9KHEqJHLpFTlCM%$S?LctWMJSmk}wGvAMzwt zHa3PH9#oZ;m7W;Sl#FbAQDVar6VC~$d3`rFtfsDsE2_rlrG!iRS4~^NoM2;T@7NRA zRK0ki8AsQ~NdO39tU{Nl{oTT!k!)ViW6qlrc4UGU5*03ls$rWIHSeiA4L4 zALNpfl2P(`PcMhO^H$vc>=Hp+qr$-QW3%`W*TG2uXTg^Dok2NLLJ5wt9d)o&4Eng` zvW8{BgnYC#+~ki|A7Ky@qWX;Lu2rNM?AV%`2KNXL?Q!z*zO}D^XJ0>X zVq1e6h`BA%J~Kn@InOjbJ$?QRXvi=7r{23Dbd*JvleCwUrhq z*xN1xm~#aM22M`5^HuPGtf{a&qw?NrN&!pEH4_`- z-gOR=Zn}%LEfD#o;++QDb?KN-S5C|le042%4DPCY#?Zcx^=EBOymInc zv6??x`uy8N!Z%(6%l36=n~h3^4Zz%CMe&$D~ z2h{&x>N6r1MQx9D^7sY%LPZ1c12U%Tc%u2pS%a~I;4w%U zpltLm+j~|*$A(Tu-@m&llgzw{M*$!Oxa|3bW>6==#^3S6I_C{aP&wZy=VOZ@OSJ3# zq|knf%mGs94#Av~HQ1FRHMpYaL6hjAl}s~A>YjEGg!Gabq1cAatB3hTe-(cvbbWqZ zF<<59nb0+n2mNBrx_KZ;qzH>Ek&p+qV-RBTgA4=&g4g~R@(HHS1bmEwoBJc|p*R%g_JX^ z-$@7Q*LEqKBnwnv^ZT71QHJO?SVeZ-rmGVVa=+aIQzJBtt`ye#%R^YVc3>!IUa;wJ50r7b>4;rI;Ga;iMa5|`w8Y@FDuREqg>0KQin4qnYGng{P z{fmHeqR9L?kc=RzuY$n2)Uva-wwAu13-;XfFSKsctsh5j={Ry@sBlTZecBU&Z2hmf zDUpF<)Ev-e2nY!~?5HnX)(-gi(g=yfn{|iw1V99|F0-((_%S&N_wLIa3a9k!a6`Os z+^=M9=HQXdxh@srhM#ZCW}4Sf1>4G?Om!Bs{j*nWq;|i0Z>~>P;$$i!L$kK!Oh4lA z55mom4E^YIZVb1WD9KbS)VH>dXf%{i0{R;WIwc53pwwE6lxq+y*plZchxjw)mKg{2 z$P?nuJ!lJ?x!Kkrj`;GCX2@@@QWuy(RIP%CAJ znf_AECGr^qjM?_>?d=lB!bD2ru+}h#&2+r^BWNukQJB5WdJ9AQ7Tj2YR`v*j9viMV z1`UuWpi`fKfIwu7TcvRP$pL$y7{;n&vLRlLF9?Tit7Cb<1A!#F)Ekp#QN-8;gJF&JMSHinfE6|@C@2U7xU!a(2<7~M{zQ%~F2v!JsSO@>?K)q8fHU4_ z8{~KH%o@LMC~4go^yv|3yZCpu0pgv5msj($+gyp37nEvS8v;%{BO@c{)2Dqe@Bhwy zru3^kJ*{a@!Z@!L7R$^Gm!F@1<~9>CWRnm8VH((hL`Keo=ov2qdMcD{8XT{dc#^utk4Lr0FK7c&Vtu(qAhqEcD!?XzyzBUuyt~ zAT$evsm<^o?nNaf1`ZAm>W5-168S2A1qIYAoKaFN5&|^yw`JyDVEvT+3GSQ2(X2}f z5K2oME2|AI#Qag_8XsVM=uuCj48ppUc@T{<+3O?~TZVc0Bd-w%XJ=NF z>Rkm0hxR_K@$H^?+LYshrsMDLuXparp136S3WW`04odGuB0H4cPJ=+$WVO}}C{LI} z1qJp;Lju8DXHC78AjR}oxbpQ9r03MZK?C7w&?NSj0ULg3m%-Ki<4Ph(NJs$1-G!ok zeVr{gFVE%8eX=E>rgFq= zU&+EGz;UqKQY=v70dQ(FtvKS~OHeDwqH)B5`Q z7{Nre-N(ng0Hj@(G8Nxua4}9BFlE?XEAq=*1V|*And|Z{!(lbb|5z(UEuz z8V(mAKtMPV!U#IbaJb8i!lEA@Ms10K*w@wO3&>obKSLo{`|VML!Tu%MQxn|bbD)Io zx14QegRG16gL@~KaMIWO&dwMAfH2z%2%#%dFYj$Lxl*SAJO6Eh;fLY|_*Ipaor0L+ zb49bsD8EAW(k$5h);{@dxZX?3rTZHF2_W+<$D(nef)k8IRaIM#2~@sR4CJrM=XGjI zs;YvQ#j6G~9Bfs|T1SnQz}b2wuhU-=7~v&sz7KN;mij6NCVMX~yvq)Eb=eNmgAoY8 z_ALbk5i4%+Dlyj71x^c<2q-FZ?X)CMhch8!bs=St5dfN-a1+eMT?$`A(pkVQ&^NOr zW64BH!BvI9lk2c=~;;ND9S3N{{pK2ZsQ;GdO;DZ-f51IlezhZ6H=Wa?skMS-@ z8r4E!1H}MTeB9Fd;_1FOIby>(lQ&cGQ}&uWl?W3O^NFiYm868y$1LU;-48vB6;{*Q zyyazO2r(onDJk!iNyTdV;cH!alf|2iWpU^bGATHFiMr*tJm5GIUZ?N@G2&!}V88s@ zyPhTRUZBgS$>Wr3yt84&`t&Zp3CJWkg-|@9T?{xOY?kF3voBl^+{C8bDsvFZi%EQPhtFocb(2(9M-O45efM2?AU=bL$gIO=y7P9I6%Vl?jZyre*F0H^MwC} z+=KoOfTiiKi?~<%1UN_k{{4gDOMCtkr`|DqAremJQcvU+Xava~Ts*DfEZx#UG!^avp66gY&`S3qPWg@SWAV(Sb>1Lhht4JBm<$PgvU%=}NI zrLX}6l(FFhw|Nd{$i&3NRbzzvM$48VP|2|@%XR>&zz;CRkm}17fyVbHudW*e7X(ao zP#{!P0Wbs`Yc?GlCNqMdaALN#wzkxH$34CYdMaS8C4!prX7u~5GuT71!toAZz@GCx zfB*iaLY;sAPRhf><9a%M@DZ>$1db?RMjbEM{)jc6OhosQNkq52qVWai5?H!$#?aYS zJY}f&10AvqXxA+!c|A8bimRSYMde>m0LGSvhK5MtxLCQy=Y`JTku;tlSAnlo_dNEd zwAq8twpwXnK7w1(ng22mj*Q!E#+$-eCItg?b39-vP<8ML+NDn(KMn-jP^TNDEl8`_ zZcIJCVvN9Y?d@Y8S8a~c@<#YWp95iX30&YeOT2*BnG^f#+z(hMb{}%~&H3k=c`o7@ z-lTZ_->X;8S>qQMd>10-EbQ!V0-g5sq=x3Ycdum&YE6Me0wl=)CY)A+evco`V14-S zI5SX;9uycZJAc5@MqIG3WmZ%G;Q;2tAQMITR!cROgaOf^rwref$t+nD=rRyPbq`u3 z2Q_ZBP(gTzSJ(T*_zI6UYJ-Wk(A{Q$HoW#SpJZr_!rr=e`l_`q?(hnoFA(kd-F~sf z*1t$sHfz1NKfEVkX=AhWCH_9I+b%jUK1ng>e!?58=|5XrJzu`yvGs$<^t+2SSCpH; z-!KQFEf?PDZoetuJ$v8m92{aj_~pi!=|AViH9%tQR%DNy&IF`N__LT#ZK@^Cb=*u8 z)ycm&nsKMe@3}vI;qbnJ30Rz}D!78|$$Axb-R;4h`kxIR0^uksEd_p%68juPJ<9M! z7)YJ!t*5Ghl%j$OejkFhPG-t!4PpZ*-2|aow!S^Qp8XZukQ~7Tl=jDw4_?}1J?};4 zkD~jRk5|D(f}RNT2hcyj>(nT)KknYW3rh3)c@pd(!(H^qr`om3p>f-BLrq14lCsMBsuxRUMQWXeco> zFu(*=Oc8xoS8}j)u|%e8K+M@b-y8B*4xK+qn_tlNzx@&htUAZT z>ybI(u%8LW?c8#62rdDE0bE+O0uv)5Ln?|WBW=t__G;1JoV*fAvnH~;3?4$mcCf}q zfYsn#t>uIt=x0S9l*1f)_iERu|HUt~YX(FJyb16|J{5d%*wu~3 zad3kwfijR3%2+vYmu%T2ZGaht{^FS^4y8(xc$QQSorcd;JfP&V#)}Ei zn9j;I^0YjWSX15F7h>7yW+1yCR~}b;=1{cw7vJw^kQn`cW8D8G7^{;=@G$%qB*MV< z)tj!VYG^0`&G$4o4gEfN+7B$jmJyR06sX zE_epcSsLM~vjP?le^skFtA>V!Uw-52vSNt-xk!}I0WQmxPzimqk=1*a$L69D2Jj1x z=Fhi9*djSd!#D~2FXemeuJ{WL*N;BqS2opJFpeSgvh79Nx_iI10)Guc8YQkR<=p)Q zzJVf)frd=!eM9f(qQaxsZWrx;yAG`lM$(Po&N~uHvT|dx(lOMaRMhUtims;Bc_Y9F zzz^} zj3yYTaz)>sDZTqtK)JfL^`rqStIPT&lm5Ma-BoV!?Sb%034?q+8xL}ecX~Tfs$>rJ z)P%G`11uB8#SetkBT-ixAy9S|)@wY`u@q|c+Cf>&SEqTNyBimJ*;Sq@P2S<}gp-c^ z5oX)3U+Bd8@-x$Sv@ZmcL@OF_Ix(O4iRS(__T{39+|%+Yt$153H}O(w{>Tg7(aFgN zHf9{Uk62>IYDn9giADtSQ;@pLbZ@3nBe@sTzbqD{-`la)=?Bfob1Zv=naM-rKIwnQ zb2G^YnERAqKQ#q?)dsItGE=b)^ls=e!hsN33C0Xc#ia+Z1U^Og!P*1>D532)L?22^ zBaiNJ>KmhpMR`(|AFLPU`$zMFQ$8`16wOsT`1el4(mI}aQFiSSinDe|K)Z7CGceyR zm-TTB&aH2SqS&aqk~LhvpU!=>l8ENw!=Ek&h{dm8BTm2EFC~Xe@(5tVX9nf(8IgW$ zNX*p-a=?3Zg!xa_<2XaOEm(^u*1+k5Nuk|FFHH>R5%eU}6O9)xTuImnP!(W7LGFWo z@}p)j-&k%8SRpFp*@psF0P>qnd-6Q*4Aj4LH$;$^4vA12qLMsQy^JI~5oudz)O%$M zgtFhe-!&ZVR}OyXzVY(qOMs?r0Jwzd*dFQW21xHTECe|7-D!P+b7u1dt4TW!pYpMK2DeBK)pjs#a1gGnJhV2KxQ z;cC#(xc{NQvRHt3@4(%IJ4zRYhDpumhy*3bGl;&E z1<1M2t1W30szD^hbd6gs1jOr9-r?$4%Wl2L;FRrrm+>!!O{vobg$bVwVIxXnR#1SDYkYOHSf()ZhgOW$cnJ$~dhvL|4I z7O-|%*|jr#&69FvtX-UzUQ%AgEOJa{;kE+t$+kHzcR7wbh0n!3Az}^37{TNVZMj%& z$?Wb+Bt_600F(-la`ar}vDkrJwI}&Yj)w0}X?gE0A59L-nN)@Vpj;eCdIWj~I4Gb9 zcJ1$T3s1_Q2vtFJ$Kban`F zABePbEd1(=bv<4PE;k*bVGo5j+DMfG*n?y%=fj6@)L(gBwMYQ_P@CF3gQNU4$IY1` zeI0-SiL6dXBE18ydU(9d@{ObSeMYtr4xkovk9%1q`{PRo-X4u5R+9Sq^1meAHw%zd z02f?OlN9v6I*fp&AKH* zfI`7k6fbC#`c3ijsOm9tU##EB>}eu?iCZa39W7;)czP_E)_z8c30dcO8pbCn za+7-k<>ThKMYmjxjIe8G?D5gkVhqtBg#SuDyi)(Xz0>D;!@^p&D*cE7VsV0Y24X+> ziRatF!k@v#k)H9n{MSV5^ZNDMp)tb~2cDF!`1|UvI$*D5OiWLHyOAKliGqg}>dD8s z<(dwsEUx_Wjwi2_NI>JQE9w95n}+q!;u)xswlEI{1_!T@5ge7;*2*e&;*j-Gdah2r zg&`*$_G}Ikyr!iP{daTT!JGMcf+-5~99VR-u`EAo9&E0!OTj)ER8EpWj0Dm-2&joG z1^^~xu+ToeuIep`n;;nq%vI78L!2*|@J`1>%i&{P{3mj^V8lS~&UL-KXM5}NVyg}~ zWgY$y1R~W6HFR{At;d~oAdoXw1D@Ox7gY^p4nZ5{5Ul*F#Z&e-W&WJ8=*s|kBzkcL)=2T zF3&K~!iEMJt7$^!oc6O24BrVRM+p3f0b(msEA(4&vx&<33PufN`?{{kyra zYe7ptIY6zZ@c3?Wvn%JTNV)8t&~?L@4W@BNUOnyc5CAUA7_=4$-s;GGXjTQcw7jCi z&yg?uWuE-P?s7kbd%&2=Vm1K%Gm%|q@%k{o?sx?od*2t6N?@k2U(BRoo}OV@%&AeK zJxfhvi4-Ab$;XkG$B{Zx-e82rO5qUE{94j=RL;F9}6wNqiBQt9QasQJ}4yP$%7UiQ{KoM zTm1oXgBW!41C}5B34su4X{f3qfw{(0|A;OCL}eLT&u!83?>7HP0SLh~$%{SXv-phV*Hy_0(` z_5^YDs1GC_O>c>@iM`D+OOBP#YX(tis(SPZH#29|ARb#$sSjZ1|5>hSe1TWb5HxxR zRZCZPX@Tyz*3d{U8icDsU{t~O{c)#v!s8g|l!U~S+WE%jz###mFZqtURlT&=2chSJWc95~=6PAW%v^Z3}6i8zFtC1((xYWUjXbvCoG zu%HJm45EY90}2!@++188FU#QOfE{OQuz_Z^1RU8$3d@6R6_)x69Du%Kx?@eE1!*AA zSLbZ|7N1%O7&9fzW~?>*Zv`@hnhPI2J#OCe+PZSX~CuIq{$uwW_ez0~JYYX=$lp4o$PB z@AVP>1lbSJW4`|S_3`P$ha;SFmEPMw+kcN_Ki^Pf{#95Yb5A-8WY)Qt-RPH~js5h4 zhe`UDH6ZpegV1=%B0kK?Vq^8Sk5Z26Y(V2xyzwfJ9taa-1Ou$(+MO|GAL@#XM7lgTiiaTu%6JVA{H| zI9is`B1oSb@^G+kL)?SDBUMitp2&@r!MGPV{^?IW%Y|13N|m)WA!IhLv_J5}GJcIu zqd`vgb#HF5`1-2!cT{+&Rkc==U-w%IwQ|GJGT0_q+e~ftR{g9$aHc`kdI|z9%prhj zuO}wJ;P{5q_ zTsNfc^g5dDdEUb54Qlh=1%gM>?{OceZ*M`QDC&bE^HpplRSce8gWcdJ!MlnfntFS; zfSd9gf{yR@F^fS~YO?!X4pMjC93;LduQyaFIx ztR`NqbuC5WbH|NrOU>k-8BQ$k<{Wr}ylxJhP}r8Gv5X6Dcs?!+CXl|BRk#Z~pyX|7 zqj$Bhbak)NG>|_`$&h8N_Z+NXgA#`4@OD{N|NHO1)Yd<$|F{?(Y;94{Jrsn2`UYD~ z%YGo%NLYpkO+qBI!==#55HbLkY^6kE6N+?aqVbLQ?9wXE{l4a;L()}-me%jF6NAtC z0#CKFfm)V;5<^l|ehqy%fPa;z+H+$sw5P^_%w@{p)d9RpObG#|UWDgXL5qVk?z%tn z9ELfleP4~$Eq`LC+-=ip^jLblCo+(hAahT<&K3hg2|up=4GIo^2#xkdl`MW;bMxSn z*gcJ_6P~QuQjw{|$kN!CB(g-26r$`)_H}F_Wvt1PwNPZwPL?4_l4ReB zA$x-%%e?oze?8|sr*jPR`+dLneO;gHGN(IJHQo4@Jx%!Td&42ZFIQd=*G>CA=2>u7 z!dDB&QGlf753j<@ZLh3{zgkH|cXoE3>O)I23I^b2f9LetfYJ;Zf*Sy(Y>w5sh3Ry0 z^YGw->e6)_!c*uEZw}^%i^&?X^1e@_{p4YL%vAW=##2zx3L@n7wwuT_wV$KAeKu%u zMa3A6H!T}&FppefhxH}Xq7;S>u&1;7?I@fB?o1x{qg}-W+$*g!yo!OZIl{I3+F&<8 zK5viJ%Js$qusuIJ<>a5lN>d4s8%%G8gIihmOZ-5sg296)Ubr6wV&Gi2BWp-S+%?Zx z5L2Dy4rdcOQ}b+d1sK07BjIwahE)37a`wE3&1Q#9qP{SuRaQzV za34a%SscJj_;I;o6SoWRUpVEbb>z)mzkHW%tpRs4Le!)&DjZgAFp}W}b&7QO?dSZc zC0ril!g~$gCn(#Snb$ZS!q~(l*ftg52=LUW%Zn$TEi@i4&Jh82357yUfqMs=@a9OR zJ?y&WI(-i9vm19Yd?ml1)Pl&EB)~Y)T^h6&&XDCDpqI#V^r>9p&%C9&XaPp;Nzw{< z>F(DBowhzSbl%NRLDhMso=fv=|Cv8gs{#P)Y|$u+2DZdf)N}iNlYpQjdd3|wj-$Mb z^5!g-&_h!;A%Pd9*2-$Z~$7haxo~JKI zUu2{PmxGvssd6Mf-nek-(k#sJ@M_^-(YW)+h3{=8QerHQW<_!Vv-JYHsfBhY6^^VsvZK0WfJ*Tet<5PSg+X(wr{T$I`GlMDBbnH_lg~=66)_ zS%pj%pjqAJPVGS09aABO#&P?n#*!kbg1KD5+jJVQqu|aZgKzR|M?n3j?{G~mDCmbH z<4;?g+O2ru0D%L=YJ@_Rl!+cBZ=7M#MVE53Oa;aH{5}4)XG&cElL_+@$|^-8Dx5@ zG6&zl41BwV<*4dCOXPPB+4{$<2vpZks9u2lO}*jy6euxB%}e3!Fo9M7X0CxnPx@6z z;%o5r^>Fcin>sv2t!R9L<)~bC;A(;me_&NrRYTONl{=*E?FOL@TUsXGPgxu6<%vi; z4MS$fVZBjByc<#ZObf%({PKsN7ia1GM4cRe(7w~WwZTiZCAhPAj0sjbW zCJ5cgBW#}M7=sf46lJcZM9POf|4$dY%C|Xc4|+Z@ZtnW8wzjH3Qp`&MSP^)E-pS$m zN*zt5nD7ro*lWhe&EW8C@hX9bce4PZn{e&AKx)23r@v0W8b`f3o}{pKZA z(78?=`j3^wB9$1b%h&L4N8piwPLsq$e7}d5XkwQ&oEaM~0l()3xqi1jV{_SUlf*txYb1p+#Wf!@%-s!bUso z7K3G|n3p_)P>Ga8qpdQodKK3;Hky4S5O*D}TxCL>M*z?_2Y*V<`te6Uu4x(>v7lRe z?M2wB`_PT9u0^+rHYSv;6#OQ7M*VEA`@~H0@(~?@k?@ljsvQ0N+xq*BbYCH}9~cg_ zQO6n_g?~Ho8d1Si@cLot74G9OK|wqp90m%Bj0tFkr_18h!m$@f@k5?5i{^9m709|Y zpllYld_jG<*Hx~KusIT~k#R;IvlG#=H}+SW!3YkVgd7+mbJtJfO5PRAmj@yI1>JS^h`?S`v$x-_4T z7LoCnBVNn(7{}G4hKR|@$q37`g_Tun$g-H4f?6Q|g>&P`>r(<2*6!}?jDkT~NySUB z16p9Q{6H1}IPbd`qN#Z%jN+5*90al)!36w6i$wiRuDB-7xk;}Jxgj8fZOe?^p~b@5 z+SOU;<&;$x_f#m0NW7eWoE<8GJbDhxa`XmX;*m^UP~Yqr=q1NKnj_w3=3_)C6~UP z+!(qvAVLGAKHu5zQ$|K~edzyN(@S!Yw+2jNeWQb4HNVeC`yBE=?K0Dr6k1BdUfzjiQyN{VO6wu`g=)jlwG;f8`%>s(5^0ASu6pjkE{TBruHOAnW(;E zwq*MJI71uCe(V;n{VbJvwLa=3|0wIc3=Y~SV7uIgU)B_%$Exm1fNUoZrG|wM7ZbA< zp^{DCL;M`X+}z}=Kwi{k&KPHK4bJEx*vCXiziiqna;Ag*A2~KQmbe7(R=hBOhpPiz z`hy;_TB3cr=~jCD;(#rQl{8SpVG)!j?c54O{Jq*IbZ`aA-<9nly1*6byv37A*ASh2 z-@}abO%SFnC<6fif$w}of-HPn_;!M-kr51Y@a|&Tsdo~a3q*;TfN#Rg5TJ*HK5@yXyYNt!cB zvff)^ZK>S@xecUuVLvNe|LNLi zjc~In@Gc>mACF$SCTdNu&Bs`0k=JMIEY0VvVDLFVKR(aK~yNk?x8q-kd-#T^_=yuQ9+d9Mu^ zCbT+zm zUdQ*Fe3>(R=sA~-aDcEBk_{EmBSBYrZWvzGx>&B_dV41-f* zpjCU-Yt^ONY25NS-W<4@PQV2$pmgH&JKnF5L zQHGN=t=#3_-roDDlS|?F>9c}wIhp7spQ%{_(&kD8$MGu6C$j4Lb_$s#qY=YRdVjEY z8I(i=-p&%O{p-drf->X)2GrNNCve1dVS2fnt}+##xfnLu;FQ!_en>`+bBYi?bDC%`Nuz%o*4l0-M|L@J9G91~Yb4}snqCWZZVRhWr_HQrF= z*&6&?c(uI!N?Ip_uw^bj6s0C~+{oy8r_~dzm6g?FUtixnP__NQ96`}j2g4yb{&;JZ ze21`~OV`{ye?nDsj!}>rv12v}0+`m<@(;EuUlOfNToLQfbH3CSi`5kKPzQ+!T16TZ zxbPD46Q5vuB)vss@~<6c=Gj6S$6@RA_R8oKad!$Hf4&HQANrx^4;g~)D~>x2@+_OX zOk1AI^K019O?x*z2sJXvItw7;EUb)HkHbEGtq%=pDCi8iEy7;VZds-UGd|Sk+>=Q8 z_SWG2Hz-_l^7O3ADJb|%Y>3!WEX;96n(zIr3(6Od5Jl+0-`{L7{ga#wKO-%qU>&q< zp(>!NZ&4hMWQ7bugh(#iL5`j|XE>~xQcR&Uv?ro7VlTYV8V^OVM#;UYLa^%SAD$YO z{Y_;l6~lhn;dI=Ar137x&ze#vr5Q*@qmhhy>iT1_sX+P8F3za1|C{#NKHKWiXooAN zd5QCM%3nmI;-l4scGZORF)mX|KEA$n6OVUOneamaujf+6f3#GSO+u8(w|?oH4URvl z)wZupovSNeCGMu?h)5*;0`4`;nFJWpVfl6i;4a0X#zB)}W{v(l5LA zAo?4B#M;^0AEORNfR+90wD(kqD9+pU5T`2in}2jLYG^59~#O4x3RjR0buzWQON z$@4EUa>*8)9|xE8yUNF$s+X3Rmp4?SPg)6P5E_oav%RO;17h-kn|l2c6OqI&9n9+h5?siW7bY z`e`uyM@lCF;I0PZ7s;ij*8IZK9Ks}fh$Zh$ zPD?lKQi7C7^uS!rnw z9xkppc#6A-n9xN|3nO$^gX=8)SiM(|WE9xE(7CbfN&~S5c;h(v`AKi5U~+WcnbKhX zv;drS`l9c<%3;#p82D>FTmgfFW7~soEF#D=Lm;JO~gxT2+S~Va^7{MuM`svsJT;MTLP2N z=tIndmd52r6}F1r>p`YwW@i*ZvrmS>M&e681ssGS4y-ijf`Tv%DAbfiCSKU5I?aL; zw8_}+N7HX&6sV1i8p)s6NO*XVr(v|d|EQ&;AA5EI20st}N z;wcEtQ_xe25|ns@FZ*ZArkC^NCmrXpnrYx!Yl`hJGd(Otjc)Jy>zE`J#%aEV!G;KP z-yR$rV<5Nh!q&^GUM6cZu_?sAPYk5aT60hjZOLjU`ggeU{SwM z!AmV`k%Z27Q8~0e8KezN%m<;6MeL8)tWO1CrfS%oPZL*AV2&5o&mc6au06jfmuN65 z&Lo!By}dfwCO>6P$%P!H2*YoM5^2-HCc6L5_V4QawLmJO$jIx-9) z7#C4ig(hkKU?f8!PCJ?ytLB5##o#~~O1+=P^h zW+-8I1j-?OEG)9UHy3(;b|#z?1C{|yxDd7mKD_w%rkTM#G8H0bY2_+Tb));Y%=a^4 z#>GqA@CvTLpa#8b(eSYV=-;v|8@l)4!P=iXh1WOp;lvV#*wCPdNw@`L`HKxMaNc$f z#sW)+5#|z1Z`^nX>4Hw?8UocbvW6x5IXXJ(sM6sK&-X**!Ri2B-7PTK1`;~0DzLL2 zxY-Zq3ie9+Td;GXS!CuMH9fk2_d~;wDxz}^qbD6kx0mXQKi(}ehFcM8Z-8qPH#z_E zEJ8pq$`Y0od@vwE69i(Jrg$al`R3dmTe4>z;ztDpDzzD%^rMg8*efzEI!;6F9!yAk zr3hF`Pe9b`oJVM8M>;0FR2Tzpw|ygHsWZHf#(EIn9vsO{)YCEn9ik6?kbd)=F>na= z_4RgV6ZE%9q)_16pdo4+AmCZj-thgB2;Ct2)I6BGVhBE}M*ZL0+QO1<=2yZ`fx*{Z znv)5J&&~Db?6rWPh?@+7*U7J#$xn|4k=28c2=jY`)~7m7K;cvUxD(Vj>`3XbK@9pq z(QPigcrxr}HN`jnO)32), force movement anyway + * //UNIQUE// -- only look for from/to targets that have not been pathed to/from by this structure + * **to** -- pathing syntax for the structure to path to - REQUIRED + * **to_flags** -- flags that define a specific "to" behavior + * //ORIGIN// -- you guessed it, to_x/to_y values are relative to the center of the target + * **to_x, to_y** -- position to path to. Values may be: + * single numbers (e.g., "1", "-1") + * percentages (e.g., "25%") + * ranges (e.g., "-25%~25%", "-5~5") + * sets of any (e.g., "1, 25%, -5~5") + * **from** -- pathing syntax for the structure to path from. If omitted, defaults to the structure making this path. + * **from_flags** -- same as to_flags + * **from_x, from_y** -- same as to_x, to_y + * **x, y** -- positional data that is applied to each pathing step. Values may be: + * single numbers (e.g., "-1") + * ranges (e.g., "-1~1") + * sets of either (e.g., "-1, -1~1") + +,,,,,,,,,,,, +Pathing Syntax +```````````` +Pathing syntax, used for **to** and **from** in pathing, refers to live structures and uses a straight-forward syntax contained in a single string. An example pathing syntax string could be: ":tower:hole" The following are the single-character "commands" used to acquire a live structure. + + * **:** -- if the first character of the string, get the global "root" live structure + * **:** -- otherwise it is used a position delimiter to specify parent->child + * **^** -- get parent of this context's live structure + +These can be combined to acquire live structures in complex structures. Examples: + + * "tower" -- look for a structure named "tower" in the current context. + * ":tower" -- look for a structure named "tower" in the root context. + * "^tower" -- look for a structure named "tower" in the parent of the current context. + * "^^towers:tower:room" -- look for a structure named "room" in "tower" in "towers" in the parent of the parent of the current context. + +Context is assumed to be the live structure containing the path definitions. +Let us use this new-found knowledge to create a road between the towers of two rival wizards. +,,,,,,,,,,,, +The Two Towers +```````````` +This example expands on the preceding example by creating a wall-removing path between two towers. + tower { + flags CIRCLE + size_x 8~12 + size_y 7~10 + id_1 0 + relations { + tower_walls { + flags CIRCLE|OVERLAP + } + } + } + tower_walls { + flags BORDER + size_x 100% + size_y 100% + id_1 1 + } + dirt_path { + flags RECT + size_x 1 + size_y 1 + id_1 0 + replace { + id_1 1 + } + } + towers { + size_x 100% + size_y 100% + relations { + tower { + count 2 + x 10~75% + y 10~75% + } + } + paths { + dirt_path { + flags DUMB|WALK + to tower + to_flags ORIGIN + from tower + from_flags ORIGIN + } + } + } + +This would create a scene similar to: + ...............1........................ + ............1111111..................... + ...........110000011.................... + ..........11000000011................... + ...........110000011.......1............ + ............1111100.....1111111......... + ...............1..00...110000011........ + ...................00..100000001........ + ....................0011000000011....... + .....................00000000001........ + .......................110000011........ + ........................1111111......... + ...........................1............ + +This should give a fairly concise overview of proclib, although there are likely to be massive enhancements and changes in the future. :) +,,,,,,,,,,,,,,,, +Other Examples +```````````````` +,,,,,,,,,,,, +Little House by the Lake +```````````` + ................................................................ + .........8.......8.........8.8.........88......8.8.............. + ......11111111111.........8....8........................8....... + ......10000000001.........8....8................................ + .....8100000000018.8........................8....8.............. + ......11111111111.............8.8...........8...............8... + .......................8........................................ + ......8.......8...........................8.....8...........8..8 + ............................................8................... + ..8........................8......8.........................8... + ...8..8....8.......8....8........8.............................. + ........................................8..............8........ + .......8.....................8....8......................8...... + ..........8..8.........88........................8...8...8..8... + ......8...............8..8.......8.................8.....0....8. + ......88...............8.................8..........000000000000 + ...8.............8...............................000000000000000 + ..8....8...............88.......................0000000000000000 + ............................8.................000000000000000000 + ....8..................8......8.........8....0000000000000000000 + ........8..............8....................00000000000000000000 + ...................................8.......000000000000000000000 + .....8..........8...8.........8............000000000000000000000 + +-------- + + tree { + flags RECT + size_x 1 + id_1 8 + } + lake { + flags CIRCLE|OVERLAP + size_x 50~75% + id_1 0 + } + house { + flags RECT + size_x 9~14 + size_y 4~7 + id_1 0 + relations { + house_walls { + flags RECT + } + } + } + house_walls { + flags BORDER|OVERLAP + size_x 100% + size_y 100% + id_1 1 + } + start { + size_x 64 + size_y 32 + relations { + lake { + count 4~6 + x 50~80% + y 70~80% + } + tree { + count 64~128 + x 0~100% + y 0~100% + } + house { + flags OVERLAP + count 1 + x 10~50% + y 10~50% + } + } + } + +,,,,,,,,,,,, +Lumpy Castle +```````````` +The structure definition for this one is exceptionally bad and could be refactored. + + ................................................................. + ............................................................9.... + ...9.......1.........................9........1.................. + ........1111111............................1111111............... + .......110000011..........................1100000119............. + .......100000001..........................100000001.............. + .......100000001.....................9....100000001......9....... + ......1100000001111111111111111111111111111000000011............. + .......100000000000000000000000000000000000000000001............. + .......100000000000000000000000000000000000000000001............. + .......110000001111111111111111111111111111100000011....9........ + ........11000011...........9...............11000011.............. + .........100001.............................100001............... + .........100001..............1......9.......100001............... + .........100001...........1111111...........100001............... + .........100001...9......110000011..........100001............... + .........100001..........100000001..........100001............... + .........100001........9.100000001..........100001..............9 + .........100001.........11000000011.........100001............... + .........100001..........100000001..........100001............... + .........100001..........100000001..........100001............... + .9.......100001..........110000011..........100001............... + .........100001...........1111111...........100001............... + .........100001.....9........1..............100001............... + ........1100001............................1100001............... + .......110000011..........................110000011.............. + .......100000001..........................100000001.............. + .......100000001..........................100000001....8......... + ......1100000001111111111111111111111111111000000011.88888....... + .......10000000000000000000000000000000000000000001..88888....... + .9.....10000000000000000000000000000000000000000001.8888888...... + .......11000001111111111111111111111111111110000011..88888....... + ........1111111............................1111111...88888....... + ...........1.................................81........8......... + ...........................................88888................. + .............................9.............88888.............9... + ..........................................8888888................ + ...........................................88888................. + ...........................................88888................. + .............................................8................... + .................9........9.......9.............................. + +-------- + + lake { + flags CIRCLE|ORIGIN + size_x 6~9 + id_1 8 + } + tree { + flags RECT|ORIGIN + size_x 1 + id_1 9 + replace { + id_1 9 + } + } + tower_1 { + flags CIRCLE|ORIGIN + size_x 20% + id_1 0 + relations { + tower_walls { + flags OVERLAP + } + } + } + tower_2 { + flags CIRCLE|ORIGIN + size_x 20% + id_1 0 + relations { + tower_walls { + flags OVERLAP + } + } + } + tower_3 { + flags CIRCLE|ORIGIN + size_x 20% + id_1 0 + relations { + tower_walls { + flags OVERLAP + } + } + } + tower_4 { + flags CIRCLE|ORIGIN + size_x 20% + id_1 0 + relations { + tower_walls { + flags OVERLAP + } + } + } + tower_5 { + flags CIRCLE|ORIGIN + size_x 20% + id_1 0 + relations { + tower_walls { + flags OVERLAP + } + } + } + tower_walls { + flags CIRCLE|BORDER + size_x 100% + size_y 100% + id_1 1 + } + long_walls { + size_x 10% + size_y 10% + flags RECT|ORIGIN + id_1 0 + replace { + id_1 1 + } + relations { + long_walls_walls { + } + } + } + long_walls_walls { + flags RECT|BORDER|ORIGIN|OVERLAP + size_x 100% + size_y 100% + id_1 1 + replace { + id_1 0 + } + } + castle { + size_x 90% + size_y 90% + relations { + tower_1 { + x 20% + y 20% + } + tower_2 { + x 20% + y 80% + } + tower_3 { + x 80% + y 20% + } + tower_4 { + x 80% + y 80% + } + tower_5 { + flags ORIGIN + x 50% + y 50% + } + } + paths { + long_walls { + flags DUMB|WALK|FORCE + from tower_1 + from_flags ORIGIN + to tower_2 + to_flags ORIGIN + to_x -25% + } + long_walls { + flags DUMB|WALK|FORCE + from_flags ORIGIN + from_x 0% + from_y 0% + to_flags ORIGIN + to_x 0% + to_y 0% + from tower_1 + to tower_3 + } + long_walls { + flags DUMB|WALK|FORCE + from_flags ORIGIN + from_x 0% + from_y 0% + to_flags ORIGIN + to_x -25% + to_y 0% + from tower_3 + to tower_4 + } + long_walls { + flags DUMB|WALK|FORCE + from_flags ORIGIN + from_x 0% + from_y 0% + to_flags ORIGIN + to_x 0% + to_y 0% + from tower_4 + to tower_2 + } + } + } + start { + size_x 64~80 + size_y 32~48 + relations { + castle { + } + tree { + count 16~32 + x 0~100% + y 0~100% + } + lake { + count 1~2 + x 70~100% + y 70~100% + } + } + } +.imply(header.ids)