From 4450103b910709bd632eff18e0db16e9e9987963 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Mon, 13 Oct 2014 16:31:09 -0700 Subject: [PATCH 01/12] Use bundled harp instead of system-wide one --- bin/serve.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/serve.sh b/bin/serve.sh index 1eb37cb..6f4395b 100755 --- a/bin/serve.sh +++ b/bin/serve.sh @@ -21,4 +21,4 @@ else fi (sleep 2; $open http://localhost:$port/slides.html) & -harp server -p $port +./node_modules/.bin/harp server -p $port From d655dfeec840ded83b01828fae7b23ffdf636e94 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 14:40:42 -0700 Subject: [PATCH 02/12] Updated slide config --- slide_config.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/slide_config.js b/slide_config.js index 9a8f31f..8f9a8ef 100644 --- a/slide_config.js +++ b/slide_config.js @@ -1,8 +1,8 @@ var SLIDE_CONFIG = { // Slide settings settings: { - title: 'The Panda Way
to great presentations', - subtitle: 'A guide to Enlightenment', + title: 'Cultural Learnings of Polymer
for Make Benefit Great Progress of Web Developers', + // subtitle: 'A guide to Enlightenment', //eventInfo: { // title: 'Google I/O', // date: '6/x/2013' @@ -22,10 +22,10 @@ var SLIDE_CONFIG = { // Author information presenters: [{ - name: 'A Dashing Panda', - company: 'Bamboo Eater
Panda Strike', - gplus: 'http://plus.google.com/1234567890', - twitter: '@deliciousbamboo', + name: 'Christoph Wagner', + company: 'Software Engineer
Panda Strike', + // gplus: 'http://plus.google.com/1234567890', + twitter: '@Panda_Whisperer', www: 'http://www.pandastrike.com', github: 'http://github.com/pandastrike' }/*, { From 4db42b9fdbf5d04cc1c0c2a4ca0990586d5d39b0 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 14:40:55 -0700 Subject: [PATCH 03/12] WIP slides --- slides.jade | 364 ++++++++++++---------------------------------------- 1 file changed, 84 insertions(+), 280 deletions(-) diff --git a/slides.jade b/slides.jade index aa13923..492e231 100644 --- a/slides.jade +++ b/slides.jade @@ -21,328 +21,126 @@ slide.title-slide.segue.nobackground slide hgroup - h2 Features + h2 Outline article :markdown - * Based on [Google I/O 2012 slides](https://code.google.com/p/io-2012-slides) - * But "Panda-fied" using Harp and Jade (⇒ built-in Markdown support!) - * Write slides in your `$EDITOR`, not PowerPoint - * Built-in support for code snippets with pretty syntax highlighting - * Support for speaker notes and presentation mode - * Works in any modern browser - * Yes, I promise I'll get rid of the annoying popups as soon as I can find out what triggers them! + * Why Yet Another Framework? + * Polymer architecture + * Case Study: Glideroom slide hgroup - h2 Slide with Bullets + h2 Why Yet Another Framework? article - ul - li Titles are formatted as Open Sans with bold applied and font size is set at 45 - li Title capitalization is title case - ul - li Subtitle capitalization is title case - li Subtitle capitalization is title case - li Titles and subtitles should never have a period at the end + :markdown + * Polyfills for old browsers + * Simpler, declarative syntax + * No more `document.registerElement` + * Declarative layout using attributes + * Component library + * UI designer slide hgroup - h2 Slide with Bullets that Build - h3 Subtitle Placeholder + h2 Declarative Syntax article - p A list where items build: - ul.build - li Pressing 'h' highlights code snippets - li Pressing 'p' toggles speaker notes (if they're on the current slide) - li Pressing 'f' toggles fullscreen viewing - li Pressing 'w' toggles widescreen - li Pressing 'o' toggles overview mode - li Pressing 'ESC' toggles off these goodies - p Another list, but items fade as they build: - ul.build.fade - li Hover over me! - li Hover over me! - li Hover over me! - -slide - hgroup - h2 Slide with (Smaller Font) - article.smaller - ul - li All links open in new tabs. - li To change that this, add target="_self" to the link. + pre.prettyprint(data-lang="html"). + <!-- import Polymer --> + <link rel="import" href="polymer/polymer.html"> + <!-- define custom element --> + <polymer-element name="my-element" noscript> + <template> + <h2>Hi, I'm a custom element!</h2> + </template> + </polymer-element> -slide(hidden='') - | Hidden slides are left out of the presentation. + ul.build + li Polymer uses custom elements to define custom elements (Yo dawg...) + li <template> defines the contents of the Shadow DOM + li noscript attribute lets us define element without JavaScript slide hgroup - h2 Code Slide (with Subtitle Placeholder) - h3 Subtitle Placeholder + h2 Using it article - p Press 'h' to highlight important sections of code (wrapped in <b>). - pre.prettyprint(data-lang='javascript'). - // Say hello world until the user starts questioning - // the meaningfulness of their existence. - function helloWorld(world) { - for (var i = 42; --i >= 0;) { - alert('Hello ' + String(world)); - } - } - -slide - hgroup - h2 Code Slide (Smaller Font) - article.smaller - pre.prettyprint(data-lang='javascript'). - // Say hello world until the user starts questioning - // the meaningfulness of their existence. - function helloWorld(world) { - for (var i = 42; --i >= 0;) { - alert('Hello ' + String(world)); - } - } - - pre.prettyprint(data-lang='css'). - <style> - p { color: pink } - b { color: blue } - </style> - - pre.prettyprint(data-lang='html'). - <!DOCTYPE html> - <html> + pre.prettyprint(data-lang="html"). <head> - <title>My Awesome Page</title> - </head> - <body> - <p>Hello world</p> + <!-- load platform polyfills --> + <script src="platform/platform.js"></script> + <!-- import custom elements --> + <link rel="import" href="polymer/polymer.html"> + <link rel="import" href="my-element.html"> + </head> + <body> - </html> + <my-element></my-element> + </body> -slide - aside.note - section - ul - li Point I wanted to make #1 - li Point I wanted to make #2 - li Point I wanted to make #3 - li Example link in notes. - p - b Remember to say this tag line! - hgroup - h2 Slide with Speaker Notes - article - p Press 'p' to toggle speaker notes. + h3 Preview + iframe#example1(data-src="/examples/1/index.html" style="height: 70px") slide - aside.note - section - ul - li See this amazing link: link. - p - b Remember to say this tag line! hgroup - h2 Presenter Mode + h2 Data Binding article - p - | Add - code - a(href='?presentme=true', target='_self') ?presentme=true - | to the URL to enabled presenter mode. - | This setting is sticky, meaning refreshing the page will persist presenter mode. - p - | Hit - code - a(href='?presentme=false', target='_self') ?presentme=false - | to disable presenter mode. + pre.prettyprint(data-lang="html"). + <polymer-element name="my-element"> + <template> + <h2>{{greeting}}</h2> + </template> + <script src="my-element.js"></script> + </polymer-element> -slide - hgroup - h2 Slide with Image - article - img.reflect(src='images/chart.png', alt='Description', title='Description') - footer.source source: place source info here + pre.prettyprint(data-lang="javascript"). + Polymer("my-element", { + greeting: "Hi, I'm a custom element!" + }); -slide - hgroup - h2 Slide with Image (Centered horz/vert) - article.flexbox.vcenter - img(src='images/barchart.png', alt='Description', title='Description') - footer.source source: place source info here + h3 Preview + iframe#example2(data-src="/examples/2/index.html" style="height: 70px") slide hgroup - h2 Table Option A - h3 Subtitle Placeholder + h2 Declarative Event Mapping article - table - tr - th - th Column 1 - th Column 2 - th Column 3 - th Column 4 - tr - td Row 1 - td placeholder - td.highlight placeholder - td placeholder - td placeholder - tr - td Row 2 - td placeholder - td placeholder - td placeholder - td placeholder - tr - td Row 3 - td placeholder - td placeholder - td placeholder - td placeholder - tr - td Row 4 - td placeholder - td placeholder - td placeholder - td placeholder - tr - td Row 5 - td placeholder - td placeholder - td placeholder - td placeholder + pre.prettyprint(data-lang="html"). + <polymer-element name="my-element" on-click="{{clickHandler}}"> + <template> + <h2>{{greeting}}</h2> + </template> + <script src="my-element.js"></script> + </polymer-element> + + pre.prettyprint(data-lang="javascript"). + Polymer("my-element", { + greeting: "Hi, I'm a custom element", + clickHandler: function() { + this.greeting = "Hello, " + prompt("What is your name?") + "!"; + } + }); -slide - hgroup - h2 Table Option A (Smaller Text) - h3 Subtitle Placeholder - article.smaller - table - tr - th - th Column 1 - th Column 2 - th Column 3 - th Column 4 - tr - td Row 1 - td placeholder - td.highlight placeholder - td placeholder - td placeholder - tr - td Row 2 - td placeholder - td placeholder - td placeholder - td placeholder - tr - td Row 3 - td placeholder - td placeholder - td placeholder - td placeholder - tr - td Row 4 - td placeholder - td placeholder - td placeholder - td placeholder - tr - td Row 5 - td placeholder - td placeholder - td placeholder - td placeholder + iframe#example3(data-src="/examples/3/index.html" style="height: 70px") slide hgroup - h2 Table Option B - h3 Subtitle Placeholder + h2 article - table.rows - tr - th Header 1 - td placeholder - td.highlight placeholder - td placeholder - tr - th Header 2 - td placeholder - td placeholder - td placeholder - tr - th Header 3 - td placeholder - td placeholder - td placeholder - tr - th Header 4 - td placeholder - td placeholder - td placeholder - tr - th Header 5 - td placeholder - td placeholder - td placeholder -slide - hgroup - h2 Slide Styles - article.smaller - .columns-2 - ul - li.red class="red" - li.red2 class="red2" - li.red3 class="red3" - li.blue class="blue" - li.blue2 class="blue2" - li.blue3 class="blue3" - li.green class="green" - li.green2 class="green2" - ul - li.green3 class="green3" - li.yellow class="yellow" - li.yellow2 class="yellow2" - li.yellow3 class="yellow3" - li.gray class="gray" - li.gray2 class="gray2" - li.gray3 class="gray3" - li.gray4 class="gray4" - .centered(style='margin-top:2em') - | I am centered text with a - | and button. slide.segue.dark.nobackground - aside.gdbar - img(src='images/pandastrike-logo-256.png') - hgroup.auto-fadein - h2 Segue Slide - h3 Subtitle Placeholder - -slide.fill.nobackground(style='background-image: url(images/sky.jpg)') - hgroup - h2.white Full Image (with Optional Header) - footer.source.white www.flickr.com/photos/25797459@N06/5438799763/ - -slide.segue.dark.quote.nobackground aside.gdbar.right.bottom img(src='images/pandastrike-logo-256.png') - article.flexbox.vleft.auto-fadein - q This is an example of quote text. - .author Name
Company + hgroup.auto-fadein + h2 Declarative Layout + h3 Flexbox made simple slide hgroup - h2 Slide with Iframe + h2 Use attributes, not CSS article - iframe(data-src='http://www.pandastrike.com/#about-us') - -slide - article - iframe(data-src='http://www.pandastrike.com/#about-us') + pre.prettyprint(data-lang="html"). + <div layout horizontal> + </div> slide.thank-you-slide.segue.nobackground aside.gdbar.right @@ -360,3 +158,9 @@ slide.logoslide.dark.nobackground slide.backdrop +script(type="text/javascript"). + // find all iframes and define shortcut variables according to their IDs + [].slice.apply(document.querySelectorAll("iframe")).forEach(function(example) { + window[example.id] = example; + }); + From ca805bbdbbee22ccb28ace4487babca7110d00a7 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 14:44:54 -0700 Subject: [PATCH 04/12] Examples --- examples/.gitignore | 1 + examples/1/index.jade | 12 ++++++++++++ examples/1/my-element.jade | 6 ++++++ examples/2/index.jade | 12 ++++++++++++ examples/2/my-element.coffee | 3 +++ examples/2/my-element.jade | 7 +++++++ examples/3/index.jade | 12 ++++++++++++ examples/3/my-element.coffee | 4 ++++ examples/3/my-element.jade | 7 +++++++ examples/_layout.jade | 1 + 10 files changed, 65 insertions(+) create mode 100644 examples/.gitignore create mode 100644 examples/1/index.jade create mode 100644 examples/1/my-element.jade create mode 100644 examples/2/index.jade create mode 100644 examples/2/my-element.coffee create mode 100644 examples/2/my-element.jade create mode 100644 examples/3/index.jade create mode 100644 examples/3/my-element.coffee create mode 100644 examples/3/my-element.jade create mode 100644 examples/_layout.jade diff --git a/examples/.gitignore b/examples/.gitignore new file mode 100644 index 0000000..8d4ae25 --- /dev/null +++ b/examples/.gitignore @@ -0,0 +1 @@ +bower_components diff --git a/examples/1/index.jade b/examples/1/index.jade new file mode 100644 index 0000000..74f1cb6 --- /dev/null +++ b/examples/1/index.jade @@ -0,0 +1,12 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="import", href="my-element.html") + + body(unresolved) + my-element diff --git a/examples/1/my-element.jade b/examples/1/my-element.jade new file mode 100644 index 0000000..1e3a86a --- /dev/null +++ b/examples/1/my-element.jade @@ -0,0 +1,6 @@ +link(rel="import", href="../polymer/polymer.html") + +polymer-element(name="my-element" noscript) + template + h2 Hi, I'm a custom element! + diff --git a/examples/2/index.jade b/examples/2/index.jade new file mode 100644 index 0000000..74f1cb6 --- /dev/null +++ b/examples/2/index.jade @@ -0,0 +1,12 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="import", href="my-element.html") + + body(unresolved) + my-element diff --git a/examples/2/my-element.coffee b/examples/2/my-element.coffee new file mode 100644 index 0000000..dcb7343 --- /dev/null +++ b/examples/2/my-element.coffee @@ -0,0 +1,3 @@ +Polymer "my-element", + greeting: "Hi, I'm a custom element!" + diff --git a/examples/2/my-element.jade b/examples/2/my-element.jade new file mode 100644 index 0000000..ee3cb14 --- /dev/null +++ b/examples/2/my-element.jade @@ -0,0 +1,7 @@ +link(rel="import", href="../polymer/polymer.html") + +polymer-element(name="my-element") + template + h2 {{greeting}} + + script(src="my-element.js") diff --git a/examples/3/index.jade b/examples/3/index.jade new file mode 100644 index 0000000..74f1cb6 --- /dev/null +++ b/examples/3/index.jade @@ -0,0 +1,12 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="import", href="my-element.html") + + body(unresolved) + my-element diff --git a/examples/3/my-element.coffee b/examples/3/my-element.coffee new file mode 100644 index 0000000..a9da45b --- /dev/null +++ b/examples/3/my-element.coffee @@ -0,0 +1,4 @@ +Polymer "my-element", + greeting: "Hi, I'm a custom element!" + clickHandler: -> @greeting = "Hello, " + prompt("What is your name?") + "!" + diff --git a/examples/3/my-element.jade b/examples/3/my-element.jade new file mode 100644 index 0000000..100ffec --- /dev/null +++ b/examples/3/my-element.jade @@ -0,0 +1,7 @@ +link(rel="import", href="../polymer/polymer.html") + +polymer-element(name="my-element" on-click="{{clickHandler}}") + template + h2 {{greeting}} + + script(src="my-element.js") diff --git a/examples/_layout.jade b/examples/_layout.jade new file mode 100644 index 0000000..9c5bb5f --- /dev/null +++ b/examples/_layout.jade @@ -0,0 +1 @@ +!= yield From 7fd44a50129a1d9d20d2d8b463809f68dbbbbfff Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 14:45:07 -0700 Subject: [PATCH 05/12] Adding speaker notes --- slides.jade | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/slides.jade b/slides.jade index 492e231..e077be6 100644 --- a/slides.jade +++ b/slides.jade @@ -99,6 +99,12 @@ slide h3 Preview iframe#example2(data-src="/examples/2/index.html" style="height: 70px") + aside.note + section + ul + li Use web console to manipulate the greeting attribute + li Mention that bindings are TWO-WAY (for elements that support it) + slide hgroup h2 Declarative Event Mapping From 53beb45d0ad008102e47092f31e373de99dd6ecb Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 16:07:11 -0700 Subject: [PATCH 06/12] Expanded slides, flexbox examples, image meme --- examples/3/my-element.coffee | 2 +- examples/flexbox/index.styl | 9 +++++ examples/flexbox/index1.jade | 15 +++++++ examples/flexbox/index2.jade | 15 +++++++ examples/flexbox/index3.jade | 15 +++++++ images/declare_all_the_things.jpg | Bin 0 -> 54274 bytes slides.jade | 65 +++++++++++++++++++++++++----- 7 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 examples/flexbox/index.styl create mode 100644 examples/flexbox/index1.jade create mode 100644 examples/flexbox/index2.jade create mode 100644 examples/flexbox/index3.jade create mode 100644 images/declare_all_the_things.jpg diff --git a/examples/3/my-element.coffee b/examples/3/my-element.coffee index a9da45b..b0ab300 100644 --- a/examples/3/my-element.coffee +++ b/examples/3/my-element.coffee @@ -1,4 +1,4 @@ Polymer "my-element", - greeting: "Hi, I'm a custom element!" + greeting: "Click me!" clickHandler: -> @greeting = "Hello, " + prompt("What is your name?") + "!" diff --git a/examples/flexbox/index.styl b/examples/flexbox/index.styl new file mode 100644 index 0000000..fcb30b9 --- /dev/null +++ b/examples/flexbox/index.styl @@ -0,0 +1,9 @@ +.container + background-color #aaa + font-family 'Open Sans', Arial, sans-serif + padding 4px + +.container div + background-color white + padding 12px + margin 4px diff --git a/examples/flexbox/index1.jade b/examples/flexbox/index1.jade new file mode 100644 index 0000000..f36f505 --- /dev/null +++ b/examples/flexbox/index1.jade @@ -0,0 +1,15 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="stylesheet", href="index.css") + + body + div.container(layout horizontal) + div One + div Two + div Three diff --git a/examples/flexbox/index2.jade b/examples/flexbox/index2.jade new file mode 100644 index 0000000..3979907 --- /dev/null +++ b/examples/flexbox/index2.jade @@ -0,0 +1,15 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="stylesheet", href="index.css") + + body + div.container(layout horizontal) + div One + div(flex) Two + div Three diff --git a/examples/flexbox/index3.jade b/examples/flexbox/index3.jade new file mode 100644 index 0000000..98c8c6f --- /dev/null +++ b/examples/flexbox/index3.jade @@ -0,0 +1,15 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="stylesheet", href="index.css") + + body + div.container(layout horizontal) + div(flex) One + div(flex two) Two + div(flex three) Three diff --git a/images/declare_all_the_things.jpg b/images/declare_all_the_things.jpg new file mode 100644 index 0000000000000000000000000000000000000000..811283822c1a4168f40cd3c65802ba0e3149c797 GIT binary patch literal 54274 zcmbSy2{@GR`|rpu`@WB&l(mF}OeuRPWnZSEgpd$2Ovt`W2vLzF$uh~lj$M-MONg1V zWuLK(m)XwS@BcsNT<7=wU)TSfGlt8>JJ0*v&vW0O`*VMu`=w9Pu@GKULlZ*?0|NxY z0DeK}(~v6=#v@1mzQGq0_-1BfW@chy=3r%IVdLcB=6~~*TTnIi!qzHNFN+?pfBSfv!!&`i1+|!Pua0_Kc;CJ45sRYf(HCB?`Cm;l z;j5H4wIp|3E@~H**`!tfOpu7^f~VZx8)(zIxTZflpIg0p^K*#MY4KM4n<5RH3;V9} z32!u6g;qyCKdP%T)gCEM@Hb0$Db)U;ZptHC#F$boDlh1x@u&Ukxr$S37N0Uw!iupI zg%+QWy?0134SqOkC2j5zm!-~Bdo29p=d6ygtkQ!IzhstLL_|&&`G3u6iC#dACU{m^ zh&@(t({33LB}=nIAlu!FuFEG(do-A0>WG!Y zi&v8y#vHRmOSs4Kf>h2W05ezjwQ&+(y=)e2o*Sjxjo;*-?DsP4(HP3=pRq1*zq{&h zF@2*uxLD0=S6dAc|K^(Mss3Z?h1VGxZklwd_?!Dw_iIPoG3h#!!~RkDLb-T`l7lVF z$HC5#An~2gx73Y;Og-M^Ie2I+-}-EI$-?9GQI6z=)^he+^&b3gx596Ka=<1e_4WIk z=6f6C$Q3d`bku?Q|!WVH6<|3-Hq@ zatP%N!J;T6NIE{mwa`xOvJA^Hf24w$+?|N)i>BL`$%!v69cg(5BN(EdEu?8c#ZY&O z+j?kb6W2U`yWs1$NU$1otFzS&Ntj5JO!Asvi2)mBCc+sOLxWLNh&3hB*|@oQJ>H4E z(|U`US>;nRKj@IFChV{bL@|;MVR8k8f{w^(W0D`fecH!e=+jlVDg7&UfjPvsYXCUz zlPwZkUfv=eymdX@F50ZCC^%DVRws>hX6OB_?cR0MGkZNZ-dmT4+;&oKlK5ny5g zx$Z$$Z6h0mkLk$(p~NR);p1eJ5ue<>yNx%V)CzAKK#~^%(-rdLL}{zo`KUu?I)wWH zz(a>zRu!W|us?ZdMriRG1Jj26kNrY6C=XbTdu!2c)-E*L&f4crSXqFBNLStwis5je z)RlJH*+ImWdqtnT`jXGxhzY1+;^!K729!gJdbKgJIv# zRUU?ILGvgAo=^(PCY%S^Ce^|Xz>MO6O>fJd!;$Wm5U+ZrheHPgFJFA^P4UZ0txUo_ zwSDJ_B$y8TdQbaqCqv-seyv!1)ZeRot|~6b`f;QuCT^IFWDQ}cD{P+myvNDaUfD-ZH_mXmkxP9t3H`Rwlukf5)f?f z6UbDsw+;ua>J|<$>*qm-n*eT-uhRNyP~uzynqn?o{b|PeLva!Oil9P;1@V;i1H0Wz z7A6b1lZ>K|xTVjf2gg6&9fB_%QosESdGn!#*?&Vqb(#nJa$P7~G1$bCsy>Fhe2^)$ zmZKW4-XCgMGq$^-KXHB7=Z*+3+~LR9%Su<>v>Vb&Kls1!gENE=&k;<~QF-hw48c3y z4$=j9@cN4iUTfA3qcXvX@4j)rhZtYvX4AvB_yYb!qw9nT3V$P>`%R$Es}C*2;KB8p z??zdIsZ#^$ihoi{{4)L^y7x5tQ8>0cvgU)Ir(YIGS*>n_>4+H#Y^eTdaH3vAPR(JH z-r_y8^?ZX{>a}kR!pJ#-mJ!01bdE=@=anc^`3x`VMvbblP^Bf!*Ec{@s{E)UIh50mytz; zdP!Y=lA%n>wHHGdl&;0TnTPmI=omd;F`z?)riYGBxAgpJq)j6k-oKDV*b!PR_XC;k z9Hc1Togh^MCjxoXV2QIV98cMG4Ll^m&1E#OL&!D>y(2wuCtA*C!RE$}&2K-m5iSPr zZw2T)`udtj1ep41*lVf1H0);iFzl@f6gBT`7W1jc6Gf1pK0ip-gU00w<+WP@pH&4O zYy&Q*ay&FXVB$;D&Wu|kAtZ_mm(2@~&p;R*!{aROeD*pL`9KlD%Ozhz^GtM&#Au?e-WNkX6?X(^j;s(Hj zg^H{>pb|xFCe$6h4gWZ-^2+I(T-RZ~$#BeYogwWJi;3=7xpb7pxlc4)sLQuQ(4L1| z5k@r6f#-C{U%VW%rj~^t^~^dggzkc~naCvxSy#W}O?%2v9~~m{?|#t&2VE-$yt`hD z7_AS^6fh?eti98DZZ%7MM%@2nNr>Q3h$ZLGN5UsA{P6l2=Jma-?Um=;Hpy&LGe+Th zD6~ZL=Ax0tkKn%f+749A;d_rUjCSc{Q1ms#3BZrh!GGFkIpCtG*urqn;K?qRNK~v8g_@ zv17S@qB0`eV~O6(F9nh~6P5$#ruwig5n+D!ki?tqniHAB>gO&6z7oTOQT{bXj`uQ? z^mE(!*o|g_>osaJ(nG5X8Y|vi>n`~8>iJZcnct}Dt0PJk--M0F&Jrc*Z@grM1;8v#6Ge_XT&apQ>drITKV zR~Mh#9^U)zbZODVhGFo9u}stelkImG1<;*!C|tu$XG>kCSHsmD6TL2cOsXklV8~z> zgSs!Lx`=>N^Bwn@>cF?W+E>$fuI7<-)-h9u-$+DZo%L?JR@+6AY9S&V*&+Cq!byC& zsyXj1)lh}GIoNLN|M}hc@*h&|yfRN~!_~uqc#YRwjK&=2?mD+BdtB1I~ zVAV}yer!bQ1;p4n=n&ziV|k>&2X^6iO2BOblzb|Kb1d7-&Z@{c9*y7A$@cC*pya$f zE9#}b$GbsDvteG-6p*$sApoiJV3_`>Pc=;R_3J)1l@p4^mss|b?XY2a5ow-v{xK`A zkIr=8`ZSWUYx8G{$|zyqUJ~gDy(+&^NRZ(UR|d>Lj#7b4)(xLR9ua+}rwka$Pgo~X zygFdGekcPS^5?`nj3U-XhkV;bcI4?p%eQgpyAut10rL274UL&Wpk8ggjS0rtwwSC^tU+6Y0Exn2SG(rgQHoow z@VLLZn78Q>Mg@K~y@7$_g$sgt)5vF3(5VId$ZnLQwPZR(L|4+E4$<9v1wAKy%ZH-afh ztvz3`y%SLp`Pfp9)G7h3MpF3aaI9^}U-R9x^8{KxzGyta@tFU^+FC;I(etkoV{UMy zo$1LJdQ>vXj z2BSL$a|Z*Q#I)y4$&-8ubVv%t8i{{UU1o^iIAN}RD4K7b5EQRpqTloW$iJo|z5h>W zDur_nW$r<-8usO}wQc0P6s|_^Vxn)`_y1*dp%Z{Ms3eR431KeXP@Y2cw4-&}qVTBW z#@tf2$#kV}f1_5<1$6(`v^kq`;r;8lDka4j_!TWDa9x8uq|N4cs0d?6$MJMKt z$p|SB+AQ~W!f13{<8|}UVG(QtMbP|B!gQfo(`nrmM^Qh{eu9z)0by-~Eg_!{srvw* zho7YVfDueVwt^ACfTZOJFycIluxV(i{b&^OxF+ZMY2GLD#{^rAp;qD5D`2Agcko+9 zNW^6B-2(*nVkh^ysg*RA^qwwX4&>jpe-8&aVVwRPp_(F_ldOGLrv{HBf@PWLaLq3(eM$!+_~V%gt&|h;poUEbx`Y!C5rOlw#EpAi;Z= zl>}Ph4*n)PF#xY9q6qln+ZeD6a`B~0_w)^oejO~>f{tNfIjM;2*>EJFJ7?vHg-aM_YD`tY z9|6=-4hXxN#3ql3E1ArbD^Hr4dX-bOM4a4DUfP zd+)LFsf{~7M3C?;m3Qa#)o7EGC(=bP`i(cerm>HaAqWlXXFaa97DZylR@|M@GL2sK z$%0|@@t9-$mpPx|-ru#$PODeOv7-30Q$a{B=z;DD%sQr^)MT?R|3j5(;06|NIh_eWBQexw|!K)(x$BIRv1( za!3UQ6y2eDb2TYLn{!SxrHG@BmlmFQ3Ljy`PD#>BpAQJ?-97-L+P@P_)K5{=NM!kI=-Vxo)3{GXm zw>LOLY3w)2>MJ<`niG1=4P#5m`qjUe8WCT=h1nUXowWQKvEc;mh61uZZ5Xi!!^rld zCkqK=`>T3pg`-)dl;2I0%l9Aa+>>*1*Se_q9>JPrqGSD*>I!D949TCR;om99ABX(P zh7!}kMYY-Tk=8tt6<_WJ%F0A)$)xPzb9Jdz;YTSK#w^~JQ7(Ias+FM*SHXNx#swd1&8=Qr zvDxZFW-?f-wn-vHJ_JARumRda!|+hvnX7WI^+z_%t1~`gc`}FPw@w5uE0ve@LL^!A zG(|cl$tGcs8~s||eC{vb+^_xEQWUV0Xb^hJYaE0D?g$L_Jq*HQ35EWvyuaIsj6qgS zbf_jx^xng%ig`>G?v`8Wh}^GfNN1EQReSyf62xH;zz@zs8Ft^~xB`Z2N>g^Lyt&vd zJcubgV_S7277X*WuLO~(K)4h_YIIK`diZYWG=|Glb=maJ<@%g)Ylg&AOb5PowOS9K zl}+1rG&NlJ%$MV>kuHfOKb3lxg zO^>7Zh2z8J_?Q#%w-YWs8ak_VEjjn80^!2IsQ3hhZv?CNw!l*aJ~gYB_^me0^33WZ z-d9#Z$R3PO^`WK!vl+9#)>DO{gbM6fiNc6~<~lj3ZB~o0)p?QoqF4JA={4T`xS^XF z_2j0`E3ucjm)iVlJU4O`eJ~*KVqqnpV}P6dA*OBFj*w_-5YSpE%bP)2pAnwB&N8xiID*Z zeuvynM?HtZdFYUpZc{1(?UUXla4eUH2qPtq>Pd%>V%Wn)xm2dMjET+V?}lgj+woHm zWM`v8rfy*)*#=~yx_O#xJL!B8C-uY+&jSuy+1Qm0mpkAleI8SvOM+KTY_JpU)oZ@y9J-|qU--aH z8gg+OIM;2=D8J9QfUQNMVIM<+k4J6+koUD#qye(d+QzT4v5=pgG#Kca}t zKpUD>qP|y$$BzIF4^Gw(Qf&QQ?~#IqPb3UJb4^_A-oTuhF*NQr(b%(Jfxm(i%q>wE zZav;#2)7C%I=Kpdbk-SY@OT$>tI1CM79{e!=(ZZ$JDx$y6dGSOajVTzI{3*hqj&M2 zpv)h}Kr#W|8E(M2HB_94!K$>DJt$Q<=h;O?(mXiGWdM{l?ru!bBH*#LdZ!ac zNRlH6P2|KJ#h_tSggPCjHmgbX$;3Ru_`nX-p^14UmEXueLX<=Eaw#}&D~6(a#2c?W^)?g|Y&m_17y z1P1UJPEOZrL+T})u@`c^_Vj)$PwbVCoLfKvN?Fe_wa9xqT+XZm`9RD#4h4ODHIpB< zRV+|c=#L>>ojW*>k)T5+2kDSQ6JPihFd(kzo@`O0CbgWl|I%AC!t$YR-Mi3)4taUM z1+2d#Pl7Af49wBGK}Z@ldkO&;zO&(F!}(YZXMG{Vobh4%AvdPtd-|=CeBA~idFxrk z_AOEhH4hKRPg&~N_0%z@olAP-b{NzA5$XNsY0BHB z1DID$+T4%n#`}AUZ`|C)R&u~%%N-gi46V#+Lvc}bN2=rC8feEI$~oUs+BZ66%F3~{R$Q;q-A}Oaiz`oya8Eg+_3ZA&k~!pE zI^;kd{TxbC1X<|eF|S2SKndM#$+H4y+{MKDc|NklhdJJg+&0%1tCZ7BWj$#x7{E+Y zi0L-Id+y8pDrOQxGgrj1QWFl5v^WPyBl$-7;1hTyPdm7#P*3rT-Hl%Ee$0*b)7L6= zLcTIFojaoS(`!4H1oE*+)B|WWx}6Kw)?gc@p?m~CXP0Q@RnqruLBCkAxQf|nA)9p( zUXoW0Ti^F4Uk6cNmm#Fg?49GR)AWqSx-i}yu5bz9us71`_J^lpYUS6N?~z4-EA1@` zLkNFlxifq<&yD>=&a^IPMYizOz!xtrTUuZjTwm}s!R|9R01{;W;K%b$HEF~1286wz z6@I>FrijHmJ~dxf*=)pEUj%FH6j6A|9ruxf6l)@5Cvs?g{h{m2DAcTOITlKG%PS1! z>9R}^iKVg6h2qQZx(0n(lV+(-S$YU@%O%Zf*?-Xz3)$(i0WCcR_^v}Cx*la!j&h?2 z!`rrsktv9t9Z+Va!8lTW1ttj`irqVx;*6tlZ-?QXn zDp5Bo>Z-D@T+#IwC>HzvrHvNYgSbsZQDkVMBffS0KQRR>9gpPh&flngwo7_3;RpYa zdluj#GX+0|vw^;#PZ7w!X7bu>JWxVjUhKD2^>^vqH8@5C=*9A|qa!ic%Ev2lngzjm z*PCzrQBnF>2R+op-2cN!Sf(8nqC?~n7?R2_N0P;%bcl)aAI2?9DUjfx@K7?V6Y|eTbT15$Em?n!pKI`d|J=qn>ITsv z$6;~EbtykkRL{X22eZ%%p0B=%l3>lBLD^iJ4{n>5?Sz4a=8E4%rF#Fn@0yV(y+Oln z2T1Afcg%5W)Oov@t8~v_udb_yH%eA2H(o8G;+X2_kf0Tp3W7Y1V;+YTTBAdFTBLgj z`?j@Bqdw|Xc3)}Q$z-W1EkwKK!ZQoM@s`5Ip@0FQm0E3!>Y{1Sse4nR@q;e(@7-r5jr-*|J5OQV(!7@HBrYT) zbRYLf-TpALS&!bIHM;K=6R@gXJ40Lu<=b9@Uej_2@A+5tVz#eF|$DDss$P<<1#!jShCB^P0(3mrQ!K zdV4j9Gv+C|&iX0G&o9KmLe6Cn;LVlhXYDSBgj63yK0 zI$|o=mU!2UmwB&_)I*jqj(1;}@oR~4=2z^YJ5&J$Xa|&yq6+k3$uL&H-<&Y^b~Z&t zzIH@;oNd;!%J{s{b(TjEisHUPA59m`HsxNFl0T0`zb%PAxcjd31N#0QEABTl&@0OW z)3T)AVT@}tPlrQp39fN~ud8gP|6#oQqZh9d6lyH6{%_|BLyFeT$+jM#X3ztVYf%`k zI*Q?OT%kz~tB=<IgC!wrzv}UFSBKnyB(mf!KeCskM!*|Mr@HLRlmT zRq>c@-|+KvNChbW?554O>=NfFakOJ#hy?b~5B{>>K43LM^&dadeq0-$2RCiQm5%B^K>mpP$|TCFn|Hyabg;wmHBSzBifCA$O!ef^W*-Y)g_P z^w&P8L)cXXvXp)^0=UC(`Y zK_;dRYSbbBnqTj1{T0_WIG6<5Y!K(lf_q3#iAIFY)G)M{t)9$RvgX^5(--?YyKHQ4 zr@m8~w7#z;394aI{;eQayYo9v`eVy7x_fSll{5=Pmr%R`k$KfPB+Fi2bfz@__`L?! zo3-^^VVp5Sb$s#ps1vd`M|A5}x{-I(FZx>&H52cYtek(bs_jf+_xB2Vh?~!mzy58t zBa%%fYU>hIi=qka%)9Yp^2qZS z_R&okFA3tua4;JQmnVfkK(*&&Pja85CCaQ_g63feSBxuFyR$E{Bw+HUG3^*@uN?sz zTWCR(9xqV&S+Lz{&V$s}eC@{1&T#2Rl(pT>`o+5SzeVc3wqu4DAAI8dF}(SyC`wqUHj(iT=3P#c)7HYO@8(}U|voGPPQ8Pdu z33S?*3A8@wUXMM<)SsYh6c>@nbL>r)^RVeGEKkDjZ-tPi^SIYi4&FC!LfE|fI<4g7 zQZw)0J_1tlc}ULT`vxY2EDm*WO+FF1u5Y>Q4G*$y*AoSYZ4a)cb;{A6jO_R=blcokFlMTH{ zsl8m~C7%TT zQVef!dZaa4T)64HPvLjRZB`TH=V3j*F}bJB9yFO0wSDNkzc zBhLPZR-ZO9luIeUn0q; zBQ_n;y&&CO_l{@c=|LZEEH*)gTGyhoDl)}V=!FX%;CVnA7jGH|+hp9LLbZ+L4P|C( zr5=}!2<>{`Gr;$ABYDm94N6zGy&e^1pL~^N>~rH0_fn$HvyRif(9Vkw79w$~sTN@nj8DlLkYT}#Ql{EKVVjMp3^i>o3ZCETX4?%V zn5%N+F*+a+gSx27k8g?cH)>OKUHLv=6<{1JAHJ9j35&ohoA1JTR-Zn9a3a*q-u;&A zv##r3m}o-Fd6ld^pf5k5Ln3lTfS4TnAxFCuxLRxfQk+|gdvq&;t0TZIDxytjI(UnA z70CJoh#{edF0qMe@%=0q)0776Q8Ux~PfZRt~rDA}7&B;K5xq8mto{tDYh6V)z#V zMgu5Ftp3E8@Gh`}#{I+$xLlp zEPRx3DafEzKG$m-PUDauhXEp_dLRUcx$dw@UiRc#9ERgA+V>j z`N`bnD2pNYh#WhW_l*HT8LmljZ`pj`PE_=`jK1CYhz&bSc37Qo0hxBBFCfyfPa1Y~ zS#@|4RcOvsQjJSJW)@?^n$I#Bskk}^obZk10fmISDCY0PxW&2Ko%1egIqi!2UDp3g+_lI2zk8wu2!MV?aY5m?@ zw6;_HVn0tzse|=yP_#2S5AO<>YOiy6j&i8in*4RJ|O+{Uc> z&DCCvP0&z{$>jyHoTU&iF^O<5aG7yj$?OhFIT}LQPt6G7;57TTd1(u7I1Z1~y-^Ts z+Uu*)@6usd<-R>Wf4$yVRyp!X%wv{E>^<-FG72RV6%-3t4Iw3`zsZi;{*u0PkWGZQ z7j%H?u>Drd#A>vy<477%!+lgaW0VzL#aL7po-+aNchx{NCya0%{>!Vgm{mm9cBJqP zH*s1w4y-$-?b!~+$@K%d^-qCKX*5>Xt5e$UZ6vQF`phv#88t#(egv)9@zNT zrVnyG)kIiT(FQ9W!X6am9gwYlZ&bBh?=ai<6_(VlH^1ocao+RQH z0U0NopzLKxd{Yx-!W3!TQC8UU4#x0K_IKAh|)2`Z>-NaL_b)y)NndjcJ znQAP6uui$@O73Z`xv+#~S!(uu#uoRUHl1p&N<-#PN1-J(g2&Pt;0xiUE4E^9Y?op; zWTr9Ll3Z5U9+WUgi}r=zptZv!tC1;r%o}?s-mhk5EBnJ9LAJ*E27Sj3*N)w2J#o)z zJ}L4N1dFI3U)9_K6fhAesu2Zbt@+av3rzyiB@sVM?kFOzC#Ba+Y2_KbvCw!#DB*gG zn)*%&23>gu)V=NkfBCZ*ayP$(B#n`VVQXRAb}ittOtQeKr#z_(2aLZl|IUUnmjlC0 zFG`qz$-y?bOeW;FYd8LLVVqd&fY8C-KX-1w2s}SqFe36$qsn2sH?OmvBf}`(LzoBX z=Tq{XTt`4b-*Pz6RV!xh<}Le)@7Xx-HmR(1F&G;qq6k{#RSOJ?SwN=f-6 z|J(ZYzpO!_L|44wTLKb?j@R`ras2JP(jfFQYl7Eaq3UOxnm)@tCaN*|%|DV9+WWsx zIS|SZYAq7`5p-h@)USOT0yKtl0iUd6-PBn9Rz<^DIgQz_ko(tZof>0FKllw~n@#|^ zS%RbqgmEo4WsaCgEw=Y4WSqR9>K;5Tos?9{^XM{qz!I!!+Ro@{BNPZeU_Xb$02pY$ zo^riu$QUv=IC)3V)H%-Z+If!fo8v8imA4>D=!D*R1bcRqF~Q{XACYBKfj0imlM#25 z=kF#QDP~BZyyKMFNB`7Xu?~57Pq6-0dKk&WW9K5G!eHEE%M}y}6-%~&IV_yaz(YNq zhVd-L%>U#$T*7?E2w<>fs+f8Ahym(lR@%#6c#S5UxXeoRhcCL&A)Go3K+xi0OhpHik$cemU{U!6CR+_(n^P<1rac`_S(F| z6N+H&h?GQr>mi2Hn$-uW+)FL*a4`FlA9{?mL2;1{=8wUj_b-1L4FH;S(7%J9E(Xda zJD6bEoJU-1u5XFTvqrU|Ez!x~y|eSSPa#0?_?lM=CZRLeS%)#=$b}SOi`EK;#i7L> zk%z)}o@Tz)O^1-wVYD>IiRroj=88eq*<79fR&ohjna3RPQLcc|w1%PzjuGJhcB4Vo zKW_VHr(Zo!`Q+v&?z8#Z?@&CmNr3blNLOv!dR7@cem=mN$9c&2Bp-Dd)Nk;&pj(E{ zNUZf{P1X&#Lx;cb@jj++UyY8xiLp{+JB+#nh5oY|>>&L`O((zrMAFO*5I0jNz+Ci? zqA`zj5tC>|eM#f9WdDwASNzyBDsA&yaCiUaC4SoAtR7*%os2vZTmT-Lil2-q0^%e} z$Vmr&tQAek=bl-rtZE0LZ6kv>Z>KzXrE7I6@XlbQ8W#eTpP1bVq+&e$*YQwiS&RD7 zO-wCVw#+zObwg%PX|$(UI1d@>d=c6sMKfhKoXq1a`D(W@Z*+4q8j=8^jDkKe3TmOzhhNX{k2+uyI=O`_0ONR)67G%*8S1p6M0`>68@wiWQnkZ7N~C5 z(x6Y-w@~lS%ustZ#CwyO>yb(Rt@oAT*J*P>q(k40i{#^${xS)C`1%+1tYRKYV@S12 z==ukYNq{>MZU__s}S7UtoF9!@v?&D{Eu18cIjZ@41>Baz=uTYL!H%EArrTXX1Wl77_ zPl0)y!5+Fd?ntBkJVJZ|jn}`MoLEN-aIFR<8JwCI{kE2Sai26kN>dEpA=v_{1xAD^ zDe(*HHFb3@>7BwmZ118oJ-$S!b@oU+W4R!k1KB|W$1~E5$eO|3>x@fg_+Rf`*E63y zNB+5w(O29-gBl3lF%o&9jo`!Si{S~jO0<(VxCVYh9ZuDg z3)T#dsnvO2-{WZUz?JOO+3x6w!(_p(@u$%>VE8l30XILboxSkmQ6U7 ze*I-*qqNW^D-&Ia;%*O3yayXg6}ALD8n|T#_DfC?x2DgLSO~QnNR_M-^RgMR4ZPtY z)GgK~@|TZm<_y>nr1HS*SlEZ&s*-Zfq)Uf<9s^sE(R9d@iC?&LoZ1DV z-)+1`mtQ&$3?cz9Xe4ykUJvB2xEro?NRL+zac*Odz=NYj`+s&p+$79?`ciIC9*vYP z@H@R;BFUU$viXSB>QXN{7K!W0+jGEdgQIUw4GqGuaoW}`MNA+Mn(n`1!Ika3uFh1Q z-Sht2K7X{{BF}JRcyny^D2ByIQOk02hg1q46N4IZElN)z7-K(75qR$I0v8O53#SF6E>lwvyMca>5g zON(k-tRn34e=+)ZjCA-fVJHI(`!W1Hkb#?Sgo^^_tTe~PBZkW7b9MR*t7^Chzm?v| zy&%ivA9=l4G0mvx?+sw9)yRL1Up@PmpG2NTXcIQymiElUMOJBNni`*Xxcl8XvXbbU zR@8rMPUV1QnBnnF&d1NO@x`z1tn_3zQexiyB4xEhr_69!J>Duhb40cHuLhqeSB=f0PYx^N*Na0`e3tDBE@@}pmtojLe^ZTv z5)9Dd_MUElV$UIWNzu8pjPMw*(*iPsn5vk`yj(W;htl~)cc)J_GWb|5&*=HR(ower&)sO8zS+NGGRTwAikc;_{rN zo8Oy!tC9p~r+e-zZgaD#Yd3o04uNa=(IG!9X(l(pw5pxQb-#q>1Tw@SI^^75(LbY{vJTjS(5MM^44~tr zRU3(!(H=Nui*7H`>J<%9Tg$9_WnbXCF}GhSvoNrxL8QEXfMFZysQ3bgb9aU9fm7ei z83h%6=cERNF-G8|8BQ_#q_)gibvKnR_T@-X-i3<0Z1+T+KY-xiQWyGBo(_@A14U^t zuGCU?F>m!(wVUj^!z zxDkcY*8U!}e{cy(u~^jYc*ZwNZN0GyS12_4dJ-9zoeP{(ZEgMTnm%G5|A4S4?(fA4=s>9v&93QdtRFpL%tAA>WiG)bYa@O1Mqn5$W_d0r`gBMvMR+`+THSGu*r zwXt~2k3#_(M+lLOi$!7F;JgoJMFA8}m2Y)>ZnEiVcxt)BZ;RE+;=8iReY_C4H-0X~ zWVvu~)7f+{kk25LhO2!OTG)s8%wXJhZT|N{@rqjRkp|IMWDAVN?D!(tzM+%WVb~Pm z?oE~kpjNJ?ZM08PPl|0l`yjHS;r54==fyqwE0!o4TPKv}B@EjH^T6i!AwM5e5(wvM z1E52x1uI<*Lg7)vuzy1NBA7Z(!#9`-jXlVUiDY#+7s7-P8&~~0es_oaZJ}39tt~%u zbM&iHzi)Q9%kqrR*wHMO!0}JWgVH)Wq#h1F0id7>?%LVQcl?jeP@L12emRM`CU!*1 z2Mipu`+dgB@R8}8r_vdZ@uj(n+2i2K-2+!HRZ`hQ&sr+nsAE>EslExgOh8`ED2N;72o!1l+sp{1CD zP6EmDpT4nU1s-8PN~d|!V4I-6y!pKnO5uwJk8N^#!0>>Pzt%cArZt1{y8z_2?}v}(RxxuOwYj{JbspYL}ru{>KEdw zyoB-K_}%L5J!;110SP!^=i`(V)sGm@BN%|EuRHdz?TNoPF9`vI(@hwxm=ZfM&^;wr zI>c8YPiSGtHW1X%!1-;<8L>N9e21kTf~O<@z$T-OA+izTBr#|`gQ#jW*m5fPoWt1W z?vPY-OdkHI$#QnnsE(ETi%LnxR;iNtP&6QCTmxEK*+^Ubf!z3g-wD}vYJ4u8X!Zy^ z0}F+c1DzhvKa7M5gV^*hYz*o+*)s}w`~@cqFdnSWqOgYbxyg91NEktQyeX0N7E?`F zrU>))gfDix6>r3CFNE9_o}B+9Kj#I^F7cI^^P9B z*;e<(q zzEM5!`M+W~d4Q5g=Kw3k9CRWb3@d=XN^~x(NtC-e@ZR&xtdT(WWc2;`SBxo-LeTn& zAOT*I@dcbF2dJiV)L+h7?I=Jt@42qTyrQ#Xcdk|)u{+&+r#zWEQyo}(!E2O5LlhQt zKTfPlN4ce&x@si;uzutdx z_6vkT#YDauaRLvb*m!DS+3)^*gl*G^dMsjk%2QnY_W(ck(QsMk<%5A^B1zo8E`a4D zlkHJDL?eq1QAX0%Kh%|+s;MrcLwx!uF<-{O$GHS(>>VJ+C=p=mepqFZP9#4Cilg42 zoC`U8QjB((b~0!nJ#ijtiioj(nUr#wrGaO>yCPIyfMuRZIwXG>uT+lPH17eH)LCZ-X6$j;B<8_*=Y6veYpPHI6 z6yLP58tRp~&G7=veG{V?!Z?fx_UG&0Hp%w)U?NPJSnAFPjrXrUpWa;5ReY>U?QG2H zCSAF|tm%#OskZ zJ_2RaH6W`YZVm6|CCsvqY3R&xt_qXJZCs95=6Ec61#!eB9=m_n7{ZVa2SKe(ZVV4t z&c_=cKphNNXD)&2?;rhoR?s1?C?NYC2B>{V>ID1_f*ov*2OmPi?YamO=4UK<-t61j z*1Cz67u{xfG6fOk_zaO$NGXz|SPByj?Nj<(L|AX;T6ulQNDErc!iL)4cZ@4?zEvV| zVhM8v2L}{6ed&;+$ktk=vqvASN1#5>T!0<&qQ}UvsSa#h)iY>PIE3l=0#sl!QVVP$ zsNSC2xI#Vygpytp_M*!R!}O9%SCTf0Rx|&|ZSOyml1oZ$<{r~xHdZ*(>IThpq_JNT z`l5GwIcb^3w?$hmPm!GGEMUzT?r>Guwh%FY+`H$k;dU4<+p_>P)WzQ_kSJQpS{nM3 zN3cUBxiA2)v6ivIG;Sg$R@dIotJvAZPdK*Z^3%cMc!)cnjyDs5ea#6);p@Q{MYf27 z4kP%1n3cE-Wj6}(E>f;s%Xy=z{}}C8cPt~zPa;ceB^9ns8^nBl4y{zFz>(jY*{64l zpO{~|!Scf#jzatZC=K{66v1GD%HKvoLO&{I5*) zZShsTXFh=5fnA}ggpcO2Xh5T-)vKz2Myy#$@vh@!ek2e7FWoeqOE~LWrY3SPAd)%2 zK8>A~h{i2DqVk}LcLGAo0 z7#B%kT-1ZyF#rS*f=M4-O9Gyt)+O92aewe?a^r*9$0{O`({Z9$UbV^IE@I84x4Hi_ zo%?)!=s%SQW^<|%v1r4ZV71mZwR?tgn;z{(O(FE@tU}<~z@?N?jXf zMASi^1F{VicOIxlw`fySn%v(5UUZ~NzWSS8zY;Xo!#%_ zdpXy+SR$_0be-0+z*rX&EE}TPfKRBeyMeuqm@u&?FKRJe@@wzvw3i{hFy?c=BHvJno=Zo-GMB^+7AsnUDPB<9Pw4tW6gZ}fvJ7>DK> z3$cB-qfi`FS`1-srSZGDkjLQ1ttLd>lVO#*Voww)5zCQ)`6prI=muRLA zU~6HqT?a4C_SN#%O}|wM<8PXaXMaxu<%GPlCWStCggP8v+1TuP<+LhaW%fk~h{gEwESpE+IwcX8|3_y!j9<5JClOz5xB zvz!)<)pQ(1uZy|;+u@0!A`)J+7sw2ztauZ94WM1)!Ir=s(dzF~8R)Av4W$WIQ3` zY|P=xlj%D2J@$Mq7_fIVt8@SS^>N=t^zl-ra|x&xNQPNXOI)%yEu|cA4U)F(OS8y7IG?enQfucnMpLw%PhwL&H1-QK=e_$hkCJf1Pgjm8U+uc!M%{2CbP?P%eOk1iRCVO zmt^_lp-(?~pT43mm2ocqCG%55^1bA=XSa{oD3%q{2YHV5?OvuAT8?TJ!2uKz-tS(T z8Jb@;ZWcdDm@Bkv^3Ra$HJfpGAi7f@fSSV*ks1e5$DYR62N;0H2c%RVvN&zt;?dfQab)4VaJ2v7O*{RE_YVhaG&uw+UA~~RIF^GNk#|9;D^$?5 zyl4H>Ek@ewiC6sh-q+#g(l4Lu%~L`Wi>=-pUEHM}6nJG1 zf9Nve<_#*_bF_bjgUaC=%l|`CS^vXx3%1YW6A)$4nXcBfo=gGXI_A7O1CM3BFa9Q= zH7d!y$5Ttz{Mi#kM~6Wt4CIrvF|u z2Dc#HhwbG&`;0f7E2jl~%}SnyuJ-=fs$V>>I%+(Mw4RFvRTZjE zigHfgtq$zg5r8*^UVIA%Sm|dGo>zRicMZ6D`>|s7az@pq@)P4R5I-KK=Ra-yd;2Phiue6 zY)U`qlJ%SCu)I6&j*sSS#UnbjOZT*Mfq~H@Icwl}^d94$I4J89E?#KfSE&-_V)9j- zu9R(HCnw|1F{|$Jnb5P$=nc*%ZM zi!lNNY|pW;LYi!vMwuMTD~8*u&?xwXsI)+D7unx3=!LTK$=Pfj7QzLwEU7>BxH%l$ zngPESHYUz+GNq266I|T;t~Cq<<%my{a(58A6YEhtkvirsKm~cjW1top*){L4S&ix& zyS&S<4zau3u$}>q(lTw+6A#d6wrWnxTQOUcDo$AfWs>uZ~jujXtdFD)$rXb$*4(s#~l-xQB*}~K42&=0gn)RyoznbG` zGy%H_5kTUE&LyTeTH!?%-v(UTS4isC@{^$Fj3bqvOe-XZsV$%dtH*Xy!yz~)LBsPr zjT@D!%fjP|e{E1{R&@FD9{F|ZyC1HbH)P+RKcHwT8Kp?Q(Uz8^_NFi8%o}Xy-4)Tc zP4>1Mc~qxuo0%*xS3*TEcBP1ncItZ$tkLWBHA$M}m(vNKW~(1oN#@%1hi^6d#du3) zeE2iw=yT}!#Bwf&u0_QUA|OE?*&`|>LkDS!K6m&MG_;_cvL(3t!yM8SkE?r)_Aw;I zwtp6n)QQaa%D<0o(w0>f2UKT)t@Af3oJ?7aGa0<>q{>YQWZmbQ_e|@0ug^{T>pr@h zQb+NS3|l1G{thvcVA=H;M5ZQipqx913}52Wz`U;yYH1Pz*4ZrBx5*b!ow_lxqtkAl zTg8^V&cq(v6&GJm&F~UNB3UM?U3rM?I8AhYw96q)uV2^qQwGo{)tAdeuuJO21jcjg za2K-i#HTGC$9fv4p)wdjDG}(J&-FC0JPz^!=m&w)i2eBUJZB#dKw89M4NpZM<)V7& znqJ!s#oUVDOdDEap$Fypom5@1dn^0H0c^N==l&Z0q^NGv2OpNi13yILs z@}Rr%b#pTW=9yl#6@As1)1G+fWz1u;0gr&D0)Uq&LqL20yEzwjj?fbX6@t2rPb zEgD*9rl#T#_9b<*ehGFgtuELTR zCii5=L#-@GXBZ1}gZ@w?V_A()LL$Pqa^->f-f>r_^6DLzi}fcnQ^KqZ%JXK4ech5iubTu`9|yskM^3 zDK6gnD62|XjB0BZiq_dP99iqkdm1*;R61=J7u5y6o(ek{0gRsKXl{WIcp<^no^$ot zo?k-{q8VmIUK^DgK}DiK^R7K(s>#@RN6PQYE+lT;%`RVp3?4PwjSCi)dtLZ4c*CHo zVYuT&-&d3p1`>PhX(H<^MMBj=zpw{8Y_$wmg_@F+ZdSs0s}#)&{Iw3|X zu8bvhYKt`s-1#fRy3crQYP~~hw=hLPanbw}BJuo;?1w}Y%ZatzBzuzu(Qu@BFd%j6 z&0N`1Dq?k~)f$Lsk@m4)>$yLP8&#*K`KjPogJL?@9F0of(X(xU`{)S*xhY)!37A5R z3xx(s*dg%#-cryOCDo@m?SdzNxxFR)b+xEA9l?VSQO^=nM;xu| z=I4c6C=AmDS%B_Vp=%aDaq()1!jV$$^5VA9Ux59S1W(=}K&S_fP-!n{>%R)p z6MAb-2fnwx$MH*#uLq40JmYzet3*k9iN9#xGp! z$7dG&D_tzCQO)kQzA@0_<}YQV0o3}Zf(o(<&V=t7u=0qQp4PmF_9=L|E`6TH_3-U@=E2p}Ro#%u>1#;xrs1p=wBgM7-3J-b3!I^R zQiRTQv$bPt?Bp$%U`B41wo7^ThZwLN*yUPw7WZ)`RM7L&qQWl3o{D*xw#X%yA?r(W z2^E>uFV13B+BuRI%3ZBuokV-J@h2NuzHT)hyt-#_AWE=rf&=F=J%g+4az_*v_l1)8 zy!ocIg6iCA_$a{bqG^6TbN2psx~zVnz%bdq-9&}F?_`#~OI?9RzPjdmo}`dgq$W!^ zvW+scG%~YT&nSOCl@l4ABBW?UbabQVLq7r$@^D)YobGoG2%3TIpiV`1E#n&jZ2=7o z9gP^%!j?nn=$e)0om1RtL|U6w!=9wM0o~I@qk6d9ni%cLQ-P7(Ht}~S)35kETMH(yR=yzDh5Uyitgwc&v5a{u!L60hn4%7WLC0(lF zIeN+h-pXqbdvyUFTktB23Cu!pW}6zkQT2G?Y1-Rx36h=L+bF+tu44}dDc2&4nV2AK zy272({DgWY^B&(1OcRZb>0CeQf`1fE%p7T?gEt*9V2@Cy>jMFX|#mY-p?PnY-Xpnmf8sXxK}oSgyBN1|c-QmBXEa5GjfD9y$FqzxrMA(Dxt| zP`M9_n^~&YVp!{tw;P+jupl}tII!~#OeQhY6DZ>X2>#QSY>XzOreR9b@%0bF@ zSE{mXOBNcabP*FML+}PJ=YYG;E<5A*v#243)N_e4gHx^^hXVu48oU$kb^Ty&^z1R9 zNbo{(@OJ`#xqcTT_mpt!v?D!`d&0!v<7fYB_@<7D?J0%T#+#OR?IBDi^cskMNK0r_ zqUlkD7yA@EC3Q&2AFf&Z(^6iZMvsQ_@>U?-Q}23O{?E)6!!rG0+55ml_2>@_XJWu} z-qpQN|C>f0+oos(fnAruT+fDuqt#0ceH3Brt9xoLDRaGg-gI)+3Jx{;>aa-5*?hsd zXYHjId6u)KtFh;AG9Cvu2-&*FQFSqRxHqN1=g!ui8v@trr`4aXb@c8Lw z;|`kmdA%H>t__DBBVjGuYnwvdCcBRqLHhHWv<#?H4KhE(-&RE{#<@gfG1)_Ll)w|L z6hNN$@?Bv-3Wgw2hZx!0{_3)DQTI*#il;u6W*{mE&_b+8@Uk&V<-3*87877ni9ZOj zqx_0BdP`E{vrX7K__gG7c5v7CHhKV{p^AZ!UMz2HFit~0Y_ZE#(4~iLV z;gVegQhT(cNyFcOI&sA?9J?W`CDs52cv+y6#YwKSj+J{QO~*USAEsIz1I-uRfG z8{|jA;CZEog=I=T0OIEAzr|yiUG#H|37+V~@&ba1^1eqT&Go=kf#P&pH_=Bzjm6Fy zV$%&h*r=MxGOiWxhb3JO{i2k`lCq!%de-%`($9!?%FeZ6mc<_$c26k$(hnR;RC90f zFnUueggGh-{1SrE#b-j3_d_9!_kCElRhsYL%#fhhue=sdt&%rqvl4Qr+rXhwA01`_z#pr z%C8&@JcsOf$5k;-^AVE?P5P?{u^j`;@c2{@fQ92#|D;fqv-1hmW|2A`$jQc%~_5&hr*zvR6&Qe&afWigY%3^#g6Ng1)d}^upatRoT4>^$8#!mU?))LtrH1}Ct-dEW5GEvlF7-M?d{nsRzCtB&H2iD?Zy0x$N!27i5!u(;_gV>?uOj9QNy$!f64SKQf60esL6Z?v;;Ee%A% zYK!>ADyRTsEqf~ST4D^yGYpZyDC~QiTq|Pg!=p`DVBo^qCR`dZ)!&C3mJo7b!vQsw zQY84T&*vFyM6$f0T8nlq9<_5}HVo5PS9Q=-ag<_=4&nHCA#yV7R3k^PJ__n-=-{Vj z7=Maun1UMv1R``9%*H#hld5wgJ{Rcb3QWjw0P%YP^K&#kpTEmNY?eU`HmT>2ualS1 ziC7$y@+r%iWHR|EvmJ|$T>XZ+A6$NX(+K?{3w+{?zkZwF5&#T$uPHPqbL=&O@yw1b z7zOIfFBWq|?;@GSU-nj49N-5SKt=6?V00HgcFgX!?w255^k{OA_vvh`zS%T{z1~Jc zXDL5wYP}fI=QvVdJ>pkUgdWnPg%L;^5bn%elzt%wo{Y}pS1)^6b5&HF4CxCk{w5IW z5;f6T%r{du0*mAIPAC@oJ`Fn<72_7`6Y8-yB35LPd?#tQb2c2beB*R$jfJl0igSEB z^L2iX9M=r*mSFcb28n%jzc3(La$1bCHXUVjsld~Gn|8G-`7!G@J-SRK!=F2T`H$Lu9v_Amn7|{;op_uE z6S&G#b>H_fT*8s1ZaF462DwFk8j_QE#k0H=B=zZrTFW?j!{X=FPT~EC1%kS#A4lp4 z5m{**OQrr>nN8qXmuJKdY~jlCADrHB<##JLsv-;9hpsL5bTPEyp{I{Ti^9h`4)LVg z|Fkr!$1|FcD7-w2zP*%e{9P^|ik?coY6_lbX5Vf*{*>@d+&qI3u@vK7Zc1!^vUy>X zm;fJK(IcS>?RW?IH7;kCOyB|b`3-*b&h^FXriSX|Bne1n z>)X3uK(SkbzsWk-&^7;Cz2bS{&?;|y{ls6MKi*2Gez_ICD_g}V#;za3V+D(k+oD$W z45CjtSzSK7%6Sr!CB7xLic926K7;@M4-e!zQ;m~?c}ZkzsMM*^_qxX&TgaaX z`fPp^ZW7a!a1I}cLIrOp#_v$4Qcm~|KmV0+s4Yq9h}G5`X!oxsm%LghJP*$ld1WM(bo0pbd{CNSVz6+PO z36{Ia!APNcLZk85w8pv{YO1oM;?bYBe54x*aK^&I&IM-4-FM_s>1=GpnP)(1(NTS( z8}WdDC*q9s7fqP-?%B~>K--VT-fHXSyD}xi*SG3VG|EC|n8dKol2&Ny&S4Gt$@R~$ zKnCLR-1Gk7kPK{KXMo7}nzO2L!6s+kDX;js_rHs<30-s=(Qnx&&x6HL+O@wtDW@#E zh;I${q2D}&G?Hg-509=Ok59`%K?_^|ES`tF^V3+PO1Qweq8yd|>2gnBuPf6YK9xjS zz?iFNzc#x{gpO`maD^bH@!&Y6(tmig#zE#-8-|NkI{#GfU|xpb`3j;OjE$(VC2~v; zq~NCF^Q^C@fTej0qjc= zsH>`R_p)hITFNv?;b~dCx<@6r`roMBGEIKZar(2})HNTsfSSLk{cI_7H?tbbePi0m z(BOg(Nm*V7ghc+6ZM#u(@Gr!Y$~o~(RCGBC{13+X-zR%1z*fq`LXUF&6|3l)w2r^j zFw^)kcl|fDPdyLJNF(|(#WzgUq>55FX*)I>Gwsu8rt#XDQnh=Z=q(#edBNd>Zo80H z5r$w~OJ&nJ9wt^Yt;LQpRWNc&&Oy||-0b`5k;+D54P_hx3V62gzTM*n6 z=ZSFn4^OnJj$zG;Bei>i z(aOc>I-(^K5uU=NfF@9{GZcfImSkye&O0lQ`3EGSM48S*RQ@&9tYAz%ivk7t=za%$G&kMa10S9>(YWTHY=&{@+`i5I z4^Mpkb>zQ#Z9x5)ZcvsT5K+YFQ4JAD7j*F#>D8DOSUu|5Gs4v?FF%;~8=%RJ3`-)( z3Sc9n0NZ!-0-J!7t(*t8(cS{dY&WMy(5;1@9m$#o46ww?#i@rt*v`I@0xz~@H(XHR&RgLvi zmbrSkOPNO3+U8wXF1zYTcg+Q=aCc*tLw)VN`pbJl$ZYM%9b<$C*OLp(3 zq-T?+uf-^M|K2OqAtsb&2SRliM2;RM1-7{tnZAAK!_3K(5OBAHeQZX z_R~-uljNKmi79Dal+)A>9ghSqtDKjGjrlk9?+mUT>3?Ui=uLS3VGaHxhjZ*uOW1tp zv|F;{*R$BKp$|bTu2_!EQt#4R)~U0-G<`K@qx#9!mAjrf#ogZ4g}b7A)|p#Q>}&LJ zz=e11NzGLf{-KRE_g7pFGauy%$u0S5r-8Ugheh3@L%D9HO>SHQ% z<kOJJ+bimqrHz_vgX!o{!V0l5Paou)9Hb;>fMwdF~#2cLU413n*Vl{IsRj z3-iZc5>xhsWop-2L>~O+JQ!B>jPvL5BrRiLb#V69<^sp)!$4x)`{oKlov%(^l9o*VW%FybFc`dqEnNB6IYvsr})Ys|H<<9FR#rMzY@ zx2F_-=Q2E(^<4U`A#{0Cp2uXkoj72*QChyBLt9!{4+jmp*_#6YP$V-<;ln_B@TA0%sOiof| z1vR+YVCt?sRag)o?akAWnyg%ZO_#LEg0JCN!9g<|Vqr8&BBG8XE*(t=w^PIjaKW(Z z9~kHo4)Dge9vKFI4k}*_dE>_}WjuNCzQp9mRv5Bb;Yh`g&3;`rRtmIh@OdQn0vB?W4@%6uoCVS(~P> z{Zw>a@7dWgzPrV1ZvBR99!YImLEkuL{2CtkZzdxB`pGJF(K1`=@P=~lpJQv!W8}(e zr*O;OaPow9oVCtf_%c(5Xi7iUV8Ly=#?kP!Y*l?iVu=roc!FWD+c>Kbr{APuD?1Yp zJFobSs$8Gy6qfGs0eHpn6Hh0sW+qcK(PTxy*8J-D1f3TQcn6)lfucIYcI+uvAkz+{ZmfnRMR*y@vx7ege1KhlAOvOb3{AHdC^!hxKJT%SK&@ z9XB1yMd%KJ0sQXoE1adEyl50Hy0HNk&SSeUN0dfT1kq$1U9 zr2xR)F=t5whLu1sXqG9m(1zd<6JiqUM^+jJF7$PzAdgpcJWiOSzJOL@DR6nbW-*}F z_fx`!X%On+)5`V*f-MspEFErHoW14RFqfA_W-#ewY`46oM=~OzocFPXo!Ll9po?fZ zqYB9WOPViOD1tA|V+9YehRX@T1^3rz^kEH5F(zHL;EHN@NgF1VPE$I6te3VQb74p|6JEDE*Hn4(ffd>^gWGx5bfr}w zNEKs;69gAcuKIRn%lZla3lZW`UyOb{&_&c$M|lo!Z^LpJbTNNVznJSe$n?wXwttj) zpt{9**H0jHYH>?mhbD;(d4!#~T-At^6kejo+%5Fov)4Vk2P*i{53GB`rylqH?q=A6 zBSPS5Hhw`+5(cR!wMWq4*>yA@B_H`#=9}n&*HH@5P@3)V-0J|{4wVW5j)lqaM+;i@ z0nz6pmIbSUNnDS9&`RCtQlrKkkS7}6l5R51HA(e)T8C;u>6pFy=ZeRBt5RJ%t;{$s z%8#tgW@4(pBzVUA_E|1TMO^2*r7MlR3cK!Q%AnUP$QLkdjQXTu)&r@|ZyGop=$Ir{ z+TL~EqN5JHlmMFz5<15E)_r^W$I_GQKRk!QL-XtpaD41L93y&a*YZn8J|lw8KYx>t3X;RQ0+F5_iVp5%|cMcF4ZTJY!S9n6;o0`}EjN9J~asHH+ zh-#0yk@D*_CZ%_lZGPsX3F%J^z1k(m@O^J7PA`-(%zZF`0>&@U zsbO6C`hR$S#Ppb45-qIdjpnTYwxyV7IZ{&3%I*2#Nm0tjm0)^` z;XT5nmM`9Fsj&LI@_OJo9Q1(WmNe7w?^Ka9J(^{1KJljEsdZ3jyL_NX$0(LfBwUgW z`k@TFrr(G`OySY2Hlz-5w|md|xpr$3Bw|OkFpyh{%RW;3Ys!}8ANMpnu@gcEGn_8C zn?yVM%1Y>6J5CnPeV5+KJ9kTpjY6BzefSTLEY9qjKS}nRhEwz%U@Qnwh?Q23Q6KmE zXC~Y$^!!!Lk1v{1Zn=c$R!7{|5OzO2jDfD|f=8k=CCye>P-)apAt-*4N1`bUWrHwwaFcchYr?a;0KF;1Glod}*9tguE9DLKt%pXu^mCZ? z6oWk4On?fUTFs!uYW|3Fm%#XP*mixVQSE%jw56pv$!UK^dwHTQ1Nynll8?V@N`>Xwe==etk6q&x4pCr_AYDZd}@9R%NS0}i7VpNRM+6kUb8D6w4Y zK*_tsb1Umk#uCKM38VmM+AvA(B9jS|*_wki{;{RK zEK2VQiN?GvrhICjh@Nd3ApBheNEogwbbzF`X{UU9xD`GZ<#@yg1401rNzb^l zX`)5u65Cx)sDs8=bH;j95Isg*%~!4R>%R+SJ+r}hzfmc`4)YB3qPgCV7RbX0_1T=ZXzRkMK8?daQ$s!aSo_ zFHj=a4MSLHSCd)AXVcPMKuS{IkXpN&Xiq@6dNn{{;hQ+!ns=O3IR}64-GC^!L?G(t z&p+^yT43g*=(n+0(+nL z_KEHshGDJHr%v47XaZ=m~yv;Qccr^rD2`UA9G6rD%fAIQ-D6Dfak-gK0Q6g7SJf66*-sql9#q zw@_P*tq<)DI=*j>oJ~X3`tq>)ptL?=gjtn-^XY8M>=?+rBGEEeJ5IO=ow$FAP45X< zf|TwC#NNMdxcNA~JlgP@=F!vl??vH8yL@wPR+8jvp}3Hc{Zr7IYlHyy^ut$&d;a5p zuziCuLM04bZ*;@F;f6U#vk}{K1H{U82Ylc2ELC+(T>O;fnyQP>8kjY`Jom4=HiYaB zatkW4P)Y23%k+BF>&qhECGOb1OAO)LmadN67g=p1#s0CP5TPcz0QvPhR2Yp8mJoQN ziXHK88vU&z_zwrmL|JR`;J9oAd-#0QYF#^#@DBTQ9Mz~`sZa~k*0 zMUK~21jXTDK_b?TX_d~l+HBR2_QxCgpDHmb62Jp)b1?}A${2xOu+T_C3ARovT`6NW zF2fD~*-rZi=c6-&wS-%WHAO5vhFRwr)zw1q30d=4b2IRZzO>|)@8V}Zhzj;d23HLu zgH(^(deuD9M9Fi??$FzGai_A7kwJWN8i{&5PwU-|IQ<37ubo zDY#qpEiA~vm3|M%R)hJNCK8b3ui;9@(nDv3_vWt@zSy3rTHk>Y#?1jU zMq_+r*yN7+hl#IBM>5o}rVe?$S=*G?O}aw`)pC5d#Nf;CupCDR^aOovVb|J=OK+E0 zC*GKtY%j!(w39%Xu#%`1V$TjqgK1oAj9WJF@MtBpuZ3UC;+~Ce)Ban15fw1NIYc{AzQ%@p)fL0!XB=7m}!mC~#!zV`bMN9qNZsVv14$&XIo_3$a) zybf7{`jsG;$S_kMj5NQ{6!MJLDkyGQI0Sv3W}Co8gy&q$UNkzK{N?xyNZ2zs!zHWG zVx_3NAz#HKpibqDxT(caxGMK5g*aczzx@{albIS0WV>&tZskbw@U|WQDB>af;1qvs z>l8kKZQ{|OmZK&T1IOGE?~-4dD&WW)!KXECvzsR8DgS_lr5b|W*FR|tX5Pv$poafv z&TQdbR=GLMe~Khz%=GBHc?gVc0^t=yHR zUhh$h8%fZ0Z|PQ!Cc^^_%xF~5US-jIL;uY_ckQn~)2ig7upop=wCB1B%kJObiV6v} zNtcCnd6RM;uM+HmXQ-CZfL_qCfZpbm6vm7UZev+4w7Bmy5QqYQQ(fINOei5a(j_Tj zHr`D2te~-Aafi3;QnwDQAXzMO{7dc^QIbgB>R|QMA0l+;f8G3{#%48hh<3xNgF_I# zLN&ywQE8Qf&`qN-pdzL~KHr%8)sy}!aLW+%iKN%nRsq$~Z2||QIgQ~-AKC^69OMz7 zwUY0$g20Ry`;31=PK%D#U?H&>%|bPu;y;T0g6oIp4O}5Ov)GRl{!!EUrywDKFhuQO+Iec?lI>(_gur9yQ%vI)?zEzd(bfF;15bpQ)`1 z?vVq4tjj<3y;E5tgWX!DF6B9OQk3ZzQln~jxvdPlmu|+h*nf)k_1WM0$jrEGIcfp* z$(qrEOCx2!M{tOkl^DF+HG;X?CAlcb1Q|k#om%iS=y`H`M`E`4ZNK=rg!f3m1>70a zwhz70?tt4b(P=O)gUl&xU;ZnZQ~$@R981>Kwq=2uwvx@dV$)t~31;d;12WElMR%2< zj*v*42$KVSCywe7x7n<7ci_qLNmOC1`^)_S@7P~x_m5kC9di7MXw`Kt z{DKuJ2&WmqSgahZZ7*>l?rs}{04EEi11vOqJHx^AYJl_sTJ!GUmC(-SAYtALs^XgB zHkbRNq-gsqjth&sHm^|TC%6>-xK>Kcg41h1UTI&3a`6L#ytSp)!fCHz7;DAmb{Xd@Z=t5>yKK|Y@kL_N{Z;V}v_i<1i? zd3Cz?DQUx2wkl}XuUsxbpyzch9a)|DSpF@2D zNR4zxFMdZW@khq$1}MPT6Fqo}bl9pHxb^`w0~~gh@Ey9^f)`h31jud_W7kic@v*D3S+880Wd&mJMIMlY>v#Gsm4jbDHHvRtj{WF$6AY< z0bv@>zxE;9WXG&kGC@1ke zhl9VQOHw3a58tF$l}$1bbIDmxdPYB>rR2-0wUdgRAO-Vt_QNJwOM`9G-#5FIVfqUh z>3`{-DDy0s~o87RFK#ISWF-7h^I;knE)%*hf8i6^bU`BK@eyy`5` z1Li?yKn>*st-K1^YZHB0;A4GhXu{8v}>6k z$Q046Y)K}l@L^MNmll+dvFIit@uOBq*2QtixP2geX<)P_)FLOe2Dcst_s~R|Q(#CE z?ioPh@CffkaoTr02M5+eews$#PK3{J>ew6JkRE+zgmf1Xb?@>^Nq;ntyUPpwN!wrF z*)*hu*C2y!p@XMR!p_RmU3EoqQsW!CMLSIb92Z4*e~#KfI0%mU307a(2}r#|=6~H= z;~yQ|)=Bb-$q&wcJjL|>u1(T45Bsj;;$n&FSR*{&i07-e?whI~JpF_-*S_!)T)XjMe^YUq>pR^|yIBA2BXZESd_TH!8l6?J+7L^_!tV&yKR?oy9}%vMGBZ{^-s z-GD3vzlb#GcW4ehJBM5MFW;3*+aH+VLPP2EOclT6yqYG|av1P9sFa*eNCSlb@=1ym`G(=fx>DDbr8|Nl>!jAdft zf?g*5*59UYn^e|0?8Fr$vQOWXjmt2PC+u5d-h@WCRY!( zuTYJIR?)Y(;EZp=LE7miSWh%FfoVT&O)1jvWsZulXM&4-$gf_H)+{hyFollwP29+m z_!t2J2Kp)82&;#N(%W}eo9>*Hu`svbVx9p(jBD8B`)7sdVL^=xiFwuK%3l^4sz8}X z3tYF*3*y~HUYKp%lyVELl1qEMdfwUV2)#qsRV`T@$^W@a*!*4x&x>>z;9*P;S_VzJ5bj_n zZ~`N!J<}vk*aroAejWY$!VVi$%Kqb zu_GvX$TgcTdoHvd>ec-Xsif(4}r}NzE3s?q;iLHB2Rn;^TS( zC$1|f*`DFb?J~@7x^h5jR5l)8djZ!Q*x;RBBZUrYC?J{V6^@r?FCgH*@BWXgw~UIi z|H6M!RFo6}X$B<)0V!z^krt5dZbrIukOm0>0U1)dN4mQ~7|Ef#bA}vXhUb6(&RXZJ zbIyzV#jII3ix=~az4vuppSBOrqy&AmtFPv6#U*vN|Lr?po{&gYnj0U=M&EQA>~ecX zFwTB$fw8f+Is7VB%u$OR)$*e!Y$+WEzRhn1hY;GVajGPRuP0=cl?TW)4#M+`LYU9v3;iaymYQGGjbdpSo1h|%I&t!-1f=knWRRn z!F9$`vn;vp->g@%>D9!ESdU)`2C+$34dxcWRT?kSPb2Z@|8oI}H9ULVIQ*Pq~D zQPE}UE(kx`rMsPcM_BCjer;ERvz#QVG@_(TbG1?a;8R{fz2qnCk4`6LPz*;l0cu(b znc#Cj9c4mLu)rO)_71T82^K_Ubku87SBHC914u=tPbQWz74THCwq?9h4 zBZEZMY3v)T6!D%Oxv6cMRFOP~9hC*7pQksN3UpLU`@yCU*`{hpM)lJSzFbtzR3=W7 zo(DO_Uh~v@!L8ph`|l8Q-e{jGP;9a zqixGRIts#w9QYE+2+7D8q!MA(UJ25s=|PXsrNtN#;C#q9@bdelF<5k1!xg^8R974f z1V255&7euhXZ)JL0D{#klK72XK~Q+m1PG^2YJqJ%Yd5TZ2EXdlKh^x57;QX4AR7i4 z-`4Sj2T9zI8R!(Q8LMf{S|O?3$zL$lE)Ijl+~IUyu$2Q}=GjEPjXbTXn9`qa@~-$8%~+J;hsWgV|IY);2O;G^&!z2A z;C{c)!Rb{Vr-D!S&sse?9>BUg(Jb&jy&%y2wBKh+F`ZSThGbP+^Xq4?&Ll)W zNYP-ov=?&y2){g>WQff4pPUq07N)++#XlGAsrpOKO~5bo;c*Zl#%k6Kb&4UUxiuCM zM|ZBjdWUH%|LHyin>Af5-h4dR-8sM5XHXg5vv@F7Qd?_t|AvkMuag3ub0?wfn;$e0 zMBa{|(JL0p+tA5O`m4akCb`pus`WtDTeZmE%hm0Vxak-e^R!{x(PF=z+L!tCx<4B`gAh6trb-=j77Azru1vwJ!F=>LQo@#@)T8AftfN zq;%aEEwoErPRDFSye zIe-5pg#M~+rk!=*)SxYXc7~u&J%$s zo%EO+`}(gw+qBWU_2E!U)^AU&Une0j@X;8?XBYa)_jjhzv#e^fZgaJ|f}qkiG!>7& zyTZTH9hbHVR_+t^C9)Q%fp-g2F&;V~riT<7s_lxW<{nDOD;tu<)gl%k6t4Qe+kMgI521>asTkW7Eo zU?}|cT)$?uu2`fnLB*F?K`@926fXzC?|w6!opdFjp7f|@dcyvcZKWz=QSnQ27sx;{ zL^>=kV1BqKk8rkQe4&=@yUJNNHOTyo@(1rq14eKSxW1B)l+$rhRJj;kQ_Q2q)~y!u zS$0Z3gS+)Q`*i=WmB<4Zqsh!MV#<2*R40+q)*XnRC%z<>NjM+k$bdhe!AC#Xzb zAi2^aDoHKktbP&e#e-pS!sPPL>BB!q$6#BzM%mZxOElvW{<>1d{EBX#Nm*q2X%0jS zB$?RbAl(uWJFITE2~*<_AD+Ime7%(rFFCi5XTm@-RbHpc z@s9qQyk-g$KxIlOfn`ISoWHpS*rD0Vut~FI8}veysotNPtlwk?2TJw)#)e4>$)l3j zBGTw*dK#kyJntwlpDE#QJE}iQplJ_luGGDuR#R54zV3YFIdrVwvJ&^C+HOMWckRDKJt+c=a}oNqi-w`O zXgRQI_F(q?i)%JJyi1B1f!;^9P_)sf=FCzpd07!9K8=Xo@eUEB1R}D^Kw*>1NmaVv zbzndAx%5Uy$;`!`r@vf?2jNpD);5`e9FkS}%+aUIB#j1`-FKtyVVV12vPqdb&f z-3D1nqM$CH#xKilytEHoe{j3+YZ`7 zdqK|G)=HV#Y=m_O@v~sF&68Q{StzkfebdvfivkWR514Vk1oheTinVdRUFB{zM_ZL* ze_c;k8+tX0G|!^*t|~?KqXYxs1}VLaH8Rt+;04g1^7XHiq-;^ktnL6 zCf11MulICW`IJkb>RMKppO%wIi9l;YodGAPeWjw^gjIZ^Mbf-VU${DVgP zJ2BiK098E~@Dkmahp|Hk7W$M+{}jx^NRN=EMkD#+_T*%})0Y&O3WE%R*0sPrlPQJ@ zP_LhUlYDKKtH#`5y~lZyh)gndR85zDAflWqJgXQDLIGwdqv+ zUx=7gHC@ot?86O6xT9sLT;kwj1*7U~=Tkxt`onYUG-rA>m;;XE|9$YWQ@>978MvO! zzw{5UA!raqfh`Pp66WZ9O#UD=pwr_Twzo{I`zq8w2J;o0eE%?jB~%*izu5|*=fr#j zUyMg_=Zjzbhoc+U8+#3#XRrQawi66eSoN5kGFpGO{{e&t={Djv|GuUZ?qvN$QLu?d zc=!a@Dq*~X8Wo@8xZar%go`+JH1k&+>E~$b32h{pqC?D>BDFiodMnXW>y6*m2v|m! z1h=Yjhm5MGfcN~d`Qkj--)jQXW;>^fP0CSo3{54Kk$PYEJ7?OWygyhxKI(&87 zOGXBl@fCNX?BSCIiB&VNE9Hynwsx9VgFD_PZ0PnJ;~9PsAFiCS#=ZA@5P_A3DMYH> zxW}Vm>n&)J^+TmN*$U(ITX9}gsVaZOnCa=eWVOxTrL$9@-dmkpz1YBol&>zX4ZqbJ zh6eOnYaf5*0DI9=1rz;d#WgY!!mg1ygFm9%{PcBo$%=cdxoK(tQQ^&&_x@HtS zM-lE@bpjuo{9`knt;1*qjS=%bdA6BQ=`vDRbRn^zN2Q^gXtS$rJ5C~*qOSw)UDBz{ zjxe;h9oWNL?tcf8@2>l5;2_WkAcYH5C9I_i+Tv~F`Nw9*>bLKO1JgyxShwjC3 zjwazBom)q@xR=~mu3}<^&07&wsR-3jw``ivbodvmPcR~l6MzsTZ)59B|7LKq@d8A& zXy@{@a#Q>I)No=jnAg-YWovkJL3<{L<(Dm4MSBW~7wG%t3-*s@IKuln8sc<2sluqs z(hvPXu+Z)jF14heRUGjg(%(K0<-hKT$^1zXTfx%n!d`Mh1xUd;TQYC*{lBMBO?^!J z(&mnXQpg~*{f$={m7R$$?-P%E}HEwFLn9O|@(gxoq0 zu13(nBAnKvVay3*wau<$Z8386fp>w=U_&*3N2vTTDV|{$klizhXPS;ims}vt286(& z^O&ZylQ}Yr4kqi9k8dwe`KEzXXxqZzjLLg-bw;*Nuk+tLOj(TV+j4* zb);&?Don>pnH{^IF&fzdL^QSbg9!8N6qN4?>x;kTqRz^-bG_!LszP$3rVPzx-bJ)? z^ekT%BZzF;k@N?x2Y^su*V?Mr2o&|4=KB20|Vwb(lQ^-(qM^o?NJ6UC0+IeH< z30`@VV4cET!@b7egJsjJ=2sOdk|itJr#?fc7^aP%)5m>e4Xn6y2(4yZY8ZWk;@53` zb1DvBm^^Z)1{y|{Ou)X$P=7d4vQU>0@z+HuO-mAL6ta9~R5#klHkibD-F%UGj1_=Hl;5rtf@QK3U{hYNFcMYs0o>Kpi- zSAfI}@FQ_Wb`HXb9mbn^lb%+|Q zFev|iIHy`FT#^JMHW4Hlpg3zFd~9Z{M5{36#>m8>s<4a9B`yX$PmcGb08-QtXi&ev zaJNokR3!7C(;N;)O*Ew5&0Rd{{A}Sk5jrUG^wc!H1<<1@Yhd#vdC-uq4mu>bfBi5^ z*0p5(*^jHUsV7HjUp@fNrtuUVt- zxIE**kSA}lqrH)=r!rIZc=aeyR8(zk9Pu-ggdEkpZv~4rz!fcR6UbV$lUk%TMrqe~ z0d#Byo!Mu)xvw&Cg6ikdY4Qoi|6pIKA>IPkUfF|my8Ot5b!=yF8=I|Db=j&B>s>me zW1#g%pOxbRf2N;qp{nFK+XbA&nt*52GP0~bwdMwP#tA^K1Q89BZR%^vv#f_ot@f{% z{9dtPz{gY-e17hA7M&6u1c#C9kmER;eWTjBzOB?6vi{Pe`TWR&>zn;lF7@tV}vm&WihyBmzR9rC7)#`sfATE#hG$eO|74Ocn zcLZIh_b_Z+mh0EdRyHkS5;za8!3DJw?~iZ54n&*@ttMIG9Lkovywv&5?$E}GhHq!H zDILl8V;(>DMR3u9``1Ly#XZ*Pse&fO%~jj7T>5L%gGx>lGrv&#BW23p>U1PaE9Geg z-k0u-#Xh>YF1eHXxoG}nB8DxYk~vF6JhxpPV5-9+a~J4primR?36?E(G$g%kOG{SIB;`253| zc+DT|RR@BnM8kg6-Y@?KZ$kfO6~tmT6a4n+h1Y^Sb^K-170g6nqprU0-<`4t3sq|j z6hSlqW4E>{8Kt(qd>ZpL*Dk;~@1ql!Q)Q685s#Q6T_$mk(i}G7KOBcuTy*5Rb0kKr z4BbE#0C*=WD0Qyy@{@x$a7KekoGvd?%h$1}cMD1RR(zsc&wZHAV97zeLEW7sl5FU3 zL3biVB+oZi`N{FF`^dRFgqLZi`fvFI-vl8J@7UCavqmisWs>6@3B1xP<9ZBb>aeTx zTTOs4=sD4di>{JYY5I0f2XX?ho8kwMqDPTE1CF#kITX|aT2gx`lf{Bb_G_Du5QA2! za4Gv|q(3m)HFLU;h$I>1H<-q}#hr}Vd^Rkd1$oXWr>i-AKu*yQ@E(EOo<7W-7JMqO zXw%#R74v!i(w@5Oi^M3f8gkYmkDr{?RicutZNjfe)~+DXDpXl4s0 z7W;n~A5@n**DlC1=WbS8Ye*TOuLp7(>O1@3v9~6Xn}JW~eTemg>*WFpCT$-SFl31$ z;8M>#)JWv>`h5$&2~J0Su2K2>tu;hV5SSf3Ht>NfCQVwOZEJDScS*eqT0*oT(FX1* zFAHrdR>pj*28)&7W|owdDUN!y7&eyPCKQ{_XT6_!O9-}^fc>mCW2CQ+pAm0~ezg0b z^%@Yc-qGAoUbno=2lYzPE)5|R`t*#)eXND?o2ArdJLc~J2mqe*BgDGzEPjW2jE~163QZ3#$yQtS4{3U&Tyq{GW{LoTxq*Gbsum)R;iw4 znLK?o!MnKZu9Ov|2(AXgs4Gdl6`7`k`r|*YO{acm`MIGb{Pm&$Io=B1;B>KI{EYWE z))(%#=>JmVS;CX{Ia$RwpKkE$SyWZCWJ?>1O)HNWLnG;B4TtH$4`(csdr_QE(&x| zBQPa9x!w!kNN5; zX;%wc%Ei(ZTq(OP{nVa6;9IV2lil`=!x;vcNazb#T8CuNN;U=B+?_2lfRiqpAC-)$ zw!gwRVq(ZhkU`tDv7QgE(n>jjn>|hm4B^P@uD2xVB}#;Ds?Fl1cS{LMx1m=MY&?b( z`FeohJ6LvB{8Ny9{dd&P-$8(G>y7LWyl@eIoASmcdAIyO9Lc;>XO!~A>far=6nVR^ z0jKK;^BEgC$Lb}r8ziv?%L9q)rJ15=r`eAMC3{AM4-kiXIgKPo-T4?=WKP)qs{o0K zjj4_vHTL|DqzI0)q4Ki#MGy!1L4*puxp?sQu{Iz%OZ2IdRp(kRt*M$hc$tRLJg ze-Vo2^npg&H9A=Vm~9LtsD|g5r4rD9%J!kq?i#J0Q!GE8e}DBg-+eyvVCJ@$V&rqo zo;RlpaI(+TaccHy#5t&?uXUojZU}13-;NHIfKQ6 zYIQ?9gwYO;QaaT!o7e^qiHY8!5&^-NY)j!wT7D>2-E=|=N1joI2 z^N{4C-vWy8q+LADwoUp| z^P&^^mU!j@76NesMQ2mhw8iYMSH)GeA7yMq9iKAs+hU{o{pCX-j%o`uciN3D|L&jJ zql`vh4AjaNw6TpoT6?k}v4=Y$WqFEbISte7N~QS^r=R}4f0myOAH-Jil~x#`**iSE zJ+Kszs*OrhZm&UJAMGNsEUDX7j4>OW52=}=tOJtaUw4tE9c)4WI_n$z3=JJQdsd07 z0@#@PH1t2&c~_rM4?k?Ty?Td@C_=lJ3H5bG)zGVLu>NlPnRqV_P6zd!#H&n})VG6t-*b9Nd~YigKI1%Q!hIB)pjP-sg!wjBUDi+jB1ZA6 z&*0!t0rI{P5LQz5yc1}bW8w@QQdt6Y6gn9C5<~C`#pGpJ%4bR)b)&bzNbR3=Kqs{p z1^J``S>LI3&=QY$xc78VUIfdzM>4m&(Z3oGv4NA=m$L3(Z2QwjoV3!1B;4&%pgW_` zc7r6!w2l@xLD+=Brtc4Uj(yJT$_7qH(`4oY{5L6Qs#M~$2iWt4y+QpKf+Gui5pp-* zm=Vghxgq)6TXdl-jYl5he{OtXJHzT(zV1U8r5kU|>;a%Rm-RZ5H>@gT>I0zpSGUbQ zlQh_S>%l0(_`vw$&tPQqSlhTsuQZiuGIXW>-w3GH5IHCRe1E9?fs3eaAq@xn4Rr2i z+Dp!g#-fDU#9_lgE;yk6Z8Edc-y;g$Qno_h)mTY(mR7;kU!Q8}B7S(7DtU5z4D&6r zj`$rl2v17t+`i6|iViTeUZ2y~pV?*Fj&&dNZ6Ct|q#qsvrGCbv{BJRX)qh%ModWI} z?5)^D*b4nXk#$@pO-2t6O$@R=f32)jE4d=)YciI!2PUbnO-c4XGJhzK&qTOdTQEv@ zjmcVCr4EUL3hg*UI1k_X=&75a&Zycxmyd5nwfX|_yeok|`GJ9SuDl_2YPH8*0jlgNA5}}E<8LW#@{z!@`jdc|+? z&7d~{CJ!9e;CbCUI&}^V+JXQ*?g@tPJail^rW=FMncAssZH(EN^n9&g`a}A#-{Te$ zW~EQPNzWNS&2{qiyYnL)*G%2fnK%O;NA;^;5bG$DLn+Y?Q4Dt{78>Bo6Xj8&f(Z5W zt=_W5DoO-p&fce#7#@lSwjb9)T{dY z*{km09e?Qb1&ph%Rk>+mJ<*yw-x9Xm52#TSFkHU*2mgEqd)=^+`csR(_)@dCfJxYow>epRKWb5UT}y+Ks^x(Px=H~)AdDYhf3D%o54Pmq)O(Zw{=%TwHf zr|q8*O$QF7;8zsPI&Zg5syG!6x5MP>cZ=*J)}d8#LUbF2DpFXeh#|{#@e6uNgVqV> z7ht#1bE}x^1U#P+M4!$mUF_qowGdx%-I$`B`!SQL0POp9+i$T>#f^R!$olO_zk`IF zv3DM>$d1W9c;4e0T!iHGR>M=pC(WjKKI2>(%jQjDwscn4RgI8hM#PldmrSPy+wEU5 zf-dJC2ZZJgKcobixDUe9Y?aPj1+pmNBw@o23YBBR?^QXT1biE?uT}jsF!o9-mZWVg z2CChiH@-d>vx~9ZI0kjo2o982IlS9%2@v6Nb!Gg}v4ntw>hO*ifkL0JDtdjgg9GKU z)&C^RYO$wNx|RCWglXM$K7V8P*t`SMa3SX5K)tzHQ>D`lQm7#l|;&=`rVY5JvGPqX1 z<$5Rj4cif_)Tg)C3q%^gUL@h&d%~J_gxb-K^`_cN5tfoR8U9~NDz@S)(1id+T;0n3 z=1JK&e)+)Jn-)3Af!eX02GSI+Tgw$-mDY_-(QF}KwDVnobq&STVCw^@%kBq3R314| ztAtg|6I_>WIzHq!Ozg~mn5HPO1nawG95Eu2Oo6_jP3JT53S&HsLQeIN+=LA2pp5CW zpkWYFBY^;8THSyI?0Utay^$fuUk(X)9Dr%be%9eG1k+hIchTdq9hF6mx;Or)MWz)+HMqYG17*e-= z4$!*620#^Fk0awusFaUiN@WzttFxE;REemGvyrWNOn_abO!Cyl7js~{zbH|wT~%dK z)0kwxt!EMY;*1{$Czn8V7f}12p}r@RGEvmFk?yOZ)b+IDN2ZKBCCp+pZC+eKK}4NeBfa) zXE@p&306dd1+HCaGg{|6XN`>CZww-YtF9TV^s@fC$6UOTNpygGaOqIiWbGLdtc0_9 zI|fP1lIsl4Q(O{gchsgX$V3&&X?{x{D(gh5W;9HSJ8qsnQkYk$QrY5+4_+ggtWz8i zhF7|pKJYY0E?%uqeu~@L?_g@Qv$E{s+Ro}kBPmcA{SdvQyf)E7NUP@g2~TJ^jc^kz zL?&Y82pD5?SxSYJRg~ZFVl0vVX@&9*5#53Z-+THO(oR4K+zLEgByaY(Z-cWRNdfA zYrj7gSP~h&5xNk?0ln*@y_N?fwZxn)Q(S9xQ66Ky>Kc7&+4(?XfRZqcQUtZWFO46= zkJN+0;Hta@y<;$ey|I+hxkymn9li5a`X$!xeoAT!!3zBYUnvF}Dha2WdT`!ArDfvUJGso3n9c0^ zA>gG(HDfgrWf`+L5`(5*V}Z6 zw=I!(+8hUZ(vqnw!$;q-iX77Q5D-2QNDDAEt(8ssWWDhr@M?$W-S4eOUs%jC7vO z6CO$Qo8H}j9(p#7oXuv70y{N|dD*dIY=yP2NP$d9_LoD+8>A8wEvlJKo8{GP9`zvo)f zN)hfI{r51NiZ|76Q1x=Nld6N*9+3XF@p6ZkmgUzZ6ZX4VIIEi~C_?Q0NrpCA|9DEU za)w!a_=C2l%UZH`y=z^S4=^|o3ouhBekNwCzOZJCo6)4Vc0i*mq!8TVSgxsU_w4p;rC$% zKNk?)FzUfg2vO5}x92=>yVemRBB1auU;rp>9>5Mh0(Fb8t+t|%w3V7BQ5?-Wk_VR9yVQP-iCEZ-W;A{byy(i(eU}zcmmXx?7Ig16TdDCQ4wV$?Eb}3HRYHn}7 zyB34I%l%||-Uq~)E{#l1-n}k^z(Ke;yk`1fD`KXQ#VSiI*hOT};q;yu(k+!Y?HPr!L?x?3sC=MmD}n{90;EDF zSl0{KpStDO2$|}Tfu0pHumYu(x?C;?PcB93>ki{y03GUjH3P|3UQR$;&RjX4yynmj z;v!w|#Obt5zzrac7rU%Aw(Qd|FP?GM4FED;<|Ue8x&I!kci~ZOit;LcTxk#D=-B)Q>EPxVOo0qa{hH&-2L^zIV`s$$g})KI z<^$l5oUzvx&lD9^3?qV4Hs9#aU9c$~>@DdKaM=+Mc?9sUy5G1Z5& zmF_rwQ8IK^_kv4kT|@NzotTNCiI0505Y0}qGoxnyvVtBtJq{?#c5crZ$$#||B^6SI zYq0NqF1QRGK8skMa)vR+T=7Rf2sO_j$~3QD6a)&kZ{_mudNlhc7Ze50b)^(W`Mx$v zjG7(Fq!#FMg8j>#54@pj7z(gnUA10)PIybgRg#(VmfD%^+}BEDv3vae^+Us1wdX#R zhEtAn0kP3-$v60Ch-ik7+mx;%OLA(vD$oVakPZvZqit`(HH7U9Le3T5d%)%YDd1f@6Nn75_VhoTjZ)2fd@Qp57j7;(!?~n}`ahh1<^4plkCH4ts+p!H z-$~BBvkqb0L|+ljU5tTr&qaWD7$DPX_sYOe@iageu-n-;BcO(AkvSxn1cxC~-hwyt z@D`xh7ri;`Gsqc$#jAL`Z<5e1?Rn|eyrj{t79&-2%4-*Ws#$04d{>B6RoIWHh6T`M}eI1AaNffpYrvha;FjlJNX4mMyrrc-g|9$R8iT~ zPnu;tr27$n|8{+;e2^hb>m*@Dir@g{6WY6=Q~0QyS@&i2XFB)mpJWEx*eBp!=Q+bc zl})Mn@}AmS-`d4bvq^Lz-kc01#Z)l=_UZiUs8dEsQC*bNdkS`oGV{*F`fL811L#$1 zwZ+CZ*N?V@IzO8>pb51iW~CePgd?;ZceVtb)33sfgx3)V)0`9OYWtT)k(?pEo01;Q zBulQo8P-}T)h3>VWqvqG|NLVHpzE- z5FZ4MAPHnPo2M3ITFFzv8~BmUs-*#va9K*J?KGBXWU&fO7knYMQLjB8`$tmV3i?~( zpvNKTa)33@pC(K2J^g<;1``$xg91ns;LG&OQca-vu|vFKC^4w$_iwtaOnsGk*1h<9 zmb;)g#f_w%0^aSJ$}D2Si7)Sa#%vXjK#*XC62{cfYwH(L`Sx^%g5 zlNvsEL@aqlq|g%3wIw2OsPDbeaO_1vOH)JxLfRiR|F}4<{_`^PR-d%iI3qlauwmk>1eT*`3yW10X~$Y2b>* z-&^y{GHIo`D($Ko3%zuHd;mrfbn7IQMJ$&r7;Z(L3{v#_@CnN90+(P#CP-7?KV#%rLE49X#xuZyhM^VPNxRMHUrv zFM^w?Y79dcr`=794g3~O7G&HV8Iu<5W)$~q*C3)WU;=e_HIIb!_}5Q}OOc^_ z`_Eqdn7417m;EmryrYekkmOsnR`s zwOZ&~(35^5Olo-*I!A1K=2UO^l@l6ob)ln3#D?Il(M@bKa9fw$_z&lzacbK=LJyh} zL`0I=#(5_gV1%tYMVO+y%Zz-$y^8EfAYy~zTA%A@gBz;gV|aKcUK}0_!2kdNEc9>IXO*9sFd^q`_r2C~KQnYHZ|hgR_YwWmkTk>Q5>-0*h;8HnJvV zvwDK!uU$mZ2<~rs72WuKh0?y@7$$us@!X9GxWmM+VMc9XCy7IMokk*tgB@nbn`#qn z6_($}=Fn0C+UHBV?P>xU8-pg7aYO@;jr7lo3e|FpmBu%J=U74;B?k6fGehB%)w9kk z+G!cra;1u4`^H59=DZ&ZRYC| zVp`#|z@Vd=Ub}iEr}z@q1~?PTd1%o7UnT?zJeun|!Z(tHE;wT_y=V!F-QHCYx_G@I zud5-;Wy%nA`i4zvNcU1LY<_k2T?$`WQd{XE2-%Utc9SF9+XO4MQ4Q;$0p?k(x>x~; zd~vcpS7r6`Q{L)zeK*N^7Kn5XtnwouFn;*|e{wtPl@AHZ?M344vfoqTg%mJ!8f5?Y z@nAXApKzinQ!9=0f57_?TlC0gkI5_4e>lP1M!(FODO2}8VtxldO6Ue3b&~o-4e8lR zMs&WvXE@*w5W?1Yh~#Hg9tonu+j3ZO`K@)u{h(M1$2Wz&WKI5vvqpw>mhiEH{k<~g z|8V5d`N+TTiL=Ql3^HdjnGwSWolo3!M+MKTzpl;tOt`2@3oZi*wYv@MqC)jS+HWP6 z=P$nu4&YDxTPKd&D@wkj?`$?+z2d#dzoWXM7lTR2MYX$<5hfcFI(Z;PtW`9RJ}bkbima( zbl-CFx2O%?2L}eaWlL3sMN#+RBEAu+uzSzx;Ue35tqe7MHHz!A%Oh;4Ql+H_d9#Gwb=c>~}VXLL#ah&Ubg+s_g*Sxpf&C$GBM zDB9h^yZ}tdI5&Ca@*#jA9t0ga^O&Pzdmry0K-O}OP6Bp6h zPX zNDpJK0f{vU3U-VwU2>3okII|hrvaC#c$Kja&zepsPqZLjpGsB1*MEy-y+U+2B3mfk zdjg=Sv+6*|$4c@YYNDr162peUod4nE_bI@oySp!71syMd@pfl-9IFI>Z;SX#{4$Dd zt()zxgTa+{K33gF@nWQ=BAOx*3>o>Uz4QI2Y!$2J^8xXc(v>zR>i_BtiEz~-236`J zMkYz?EgC)~CgfJqktnI;GhQ+ka)Y<1hSBIU(IUla;#={a{$TFsiSa|_&qQk)WPtqM14e$^CvRMcZeZ4HJ$ zC4S-WEN4$zBpmh!9JLP?4Hm1&)zmKSWzDX?1Ezd@rS$W3u|73 zH%yW$1TQD=k$*1wgMxw<@2L~kcaMpHl7xEh{(wl2);}p9CxrOXNA|rA?s^a>0yl6S^ z40!5OqE;cz#CVcj(^#MHq1tc$^?RzqC+0A^G08nPL6fvvidcl{mfxR=U*FCW{ABWl za;yG)46A0S>-ea<-Z3B~sd-o{yfg6&)OxFFsL-`<{N3=?v3kZAzi%3Qd9&~3X%@_= zH}V_>{AiAt|LCx7moRkeq8*IM6Wd%XHdj?}>$TI=7*ghxZA54tGG{HNylOng=PVXQ zM85j0Y3o)qGH{kbhx}-YxzdlCt8_n~Mlf$%*GQ%)fnTdB9Te3QjJj&EH4=>bR9LH( z?oIZsesXu$&rvEAOy7-JYHMnYjBp{Dt!3+wW3l+SJMB>=BFhCgNKvf!rzSJ_HcX+k zv8)O(!;~EhO%Ax~EfysDJ!njO)47d52XBhs>hSiCR3*xt4^H-$PbY5Q%hZ~a53Tgn zU%&|uXo4S@Tf^Nr7d@OKb*|7{FLtM64l3G&oE>oV2DeSdK}?l~8~>25;_9jdsXv{3 zQi^+NZ_FQ`sZgBmjA=jIw7bgdh^J!`P1J}+&75Oo6`Sci|5`q&Ik6ZL>~tr2Qp^2n z4UwgTr$UoKH#03#VK^jtOGy!UJ|*uNxTLKSM~7uv zyxx~AF8$({AC&I0PrjaSK_!-aHVj2bGv=Ilt|tL^c%cy&S1#g$C)jAu^Sb%FNK<9G zqKmBORFe3Tti*Wsq|;+Z1Nanl``AX@-O#Jn4LB3v>3y1_{)%Y2*~_f%ZXBd2Hy>wm z-LExw!v=SElR}ZXn^;-SrR@$W%zI>KKS_kaSY&jC>~VokjS{t{N8%q1Y4yYYAbKFw z|KfY%I-KuR`QM3?Rs8J12@|yy9@XK!yXil|7tV|nFL2LNmRv&*I025hgVg-@57^&9 z^osdoI1STBp~J;XpPJ6LnQrJvMmlBIkItwA_YiUGto8TCLdpoFq@RPw_86Yi)j^P% z59hj0;(AH{6njU9d1`a=4&!9+20dgAuTPmLDw`CZOncl}_nnfXlbUVTl}3#dy3#uOOXKX>>t964M3p38dOB_km8wftUY!ppn@p-X zA2wgU`yDZ8{vxj#A{UeyfQMeq#rUBEi_yvQiE24i=an@Ci%oYUt1^iIX_@r#v#tR@ z#HLht&Ub^(BM3^Q-cWC=6{%VjP=2Q+{QO}MlA*ajs10aBKy4G+xQY)KWP6tOum4n3 z^JNFeN3L|T!E1)CQz#6SE(&WgQ|I!3g;g_`IiLa_z6DGIV;9a8XMBB{Np*GfIUhvG zgSTulnTb@s>e5ZE5O2Q{iuu?}-s55~gvjC;vl~_L+T6d@NFC}faxUN*b02AusU{ks zpiQf{Sj}zG{1$m#xzRO4aL6}ez&~_sqHP7eRxRV-PAz7gqy@*tC1T1vn}`d@luP7l zt={#wyGZgd5t0w@Ehz^JR*q8QWB^Xbxc; zsXMn(A2|6SH4aFwCMrUy#d|q>H_8Gu!wl~d>en4=vmZ>Q{`;BNHq#Ts4$GBn1GZnB z|If4AXz=D)S1!I^e~5#D>`Wp~#lJcq2|jm|bfCvoi3*kKg;Aj2Zx`HoMVGdPQQSOo z!+DOI?JEaoNZDO;Dwjg4-0jyT!~@<*0V~O`d{KqWSB#x##4g5FR%^IS`G0du5Sncp z_$X|C$Q`eIs*9Pp{aBgu=#ohw_g3=@rm0x>oJZ7I=By}uIR8mf4s?P~?&LUB;RD+v z8mq=be@s^3pN?Cvggn_4+I>MxC2S&0@34 z^>j|i#If+)5MvRF*Mh|&=zvwY;>AuQz^}K$WXd+s`MQ{iPgyd$LI+_}tXQY2RH1mU zt;6NYDQI#z+^;NuD8&^l!wNpMSJKhKS{oVM}9~-RF$!5axyC>c=nu*4NGS>8wAwB z*`1YQryHGRocROmTXvIlu2Rl?W18Hvx#V+RojEh-aTJcG(ryK9S&Ir&28Gw8?QfF^y$d?oJA(JK3M&@{{UnN z{yFGl#QFxy9~fx}%@ZiWxC5Q1@~?n?9(c~>lZNGLn7^vk;X-S*_Bxr zk(~CgfPZg)*z)I7yFU~B17{RE#fUQMHjo{L;XAemf2Dqjkmj+RR$q#GeVKNB6Y_mK zGn);FmJX*n+3vqn=Urz;w%4?&tZ!otZ8+M(PFNpW-Tje&X&poMX7T%YL&cNa&)|(t zP?nR(#f7Uk0FObM;yxdE-X9w2O*$c4xPNy%FZYp$2ZQfZ_|L*NelF6Q((gEY`7w7w;?@8o{Q>G#(9jkGrw(yY+S8px6% z%9TA1YRMJ(!TSb&)|Z|Z)>q+I#2e-^EBSg=^!x^1$XmUBjjX|ym>h-V@xdO|_;z)a z)ylChg-usS-FN>0Gv;F6($S!xKNRh>##;Faxxw8tT^Qivns8~1yi{)HH6(T!u36$F z{xXz%5-`O=^6kw<_VN5w$GD12^U1C$&M#P-C_Czho3JxcHQst08mT-^rz+VMMr)Fs z9=^5C=F>XkMN499=+b|=!+O_0d2fJsb*(ddj`dRMmUZ{8T8&Fn)S#tLLm^*db4b85 z=hmG%VDrhSSTJ1Y>0C0pc0FrfR6XEiGo7B8r9k^hJ zZ#Bni{y1Pr^G+-ILCT#kiJzO{^2+#&Sssgh;wwue#_-3|xm{P{I$Q1$U{{!GUM+i; zV61Biq`K53{vr)<)W`jrXV+mkdYpaw$8D>8NVuPJtDbvTEpw~i-@o2$8lO+_+sah1 z=ia)j4-0+Wz;Rqj)~@wuvwR*2TAD{GWuVJ+%4EsUTIuw^2#gPwyA3-)i2{NJbXFQ= zyg+8XEIwb%?<42&dCS#A=XB2uDwX*=S50N0s$lK!TUOTbrZA(WTu=vU`kXcfnm#`f zkEv0Wt?U*x7!`3L3MoMtr>+fsP9FKIi!m^rN- zwG6>dK|I&sHL2NZdk~*1FlUDu?^#zi`6jwa;vM=L&A5ad*Nax2&sL3Yr!RSJSa-Ik z=B~c(6+J5=>f8`(#;ZvB3_X7{jJ&lyYYyrH7}sfgZmYrKurF=L%td(BXuSc0(9i^Q41De{ixaX~L)>nKEYiiQugUxzW=DHsN6CP$TFo*2l21S@7iPFRrlu5BcW4P}B7YwJTU} zEnGtI@{bY37)Jsp52N;g?vy zKPGyah7X-QMGaq7-2JulLB|J^fuCAT=DvLWjz4NEFWOJx+;?;Aw($j;h_7wKa$CEB z>5*SSC;>nRI2g~Ze?R6p3fLOb!`F?a7pdVwYFeQfW}=ZYr|D9$z^3jVwevM$W^9@= zu3^VY&z(y2$gRtW_l^dBm6>rE1djFRNgjnMt(lnj(nrTpP)T;KK4Fh~p5*{M^{nfJ zBpwbcnoXp7wBs3Sgq6d6-fFRsuX;ufKJIFxOYdCV=b;EDv?q5B*R3%~Bm#0O0L8o1 zk;S=&(~>#jv3G9f_T@&6yk;f@at|1*o=rh$Z~$%%X~!7HJW@xOQlg91l#Cgw9wWU? zAH&*>^p3GDv=1isJOT$5yXCEUU+q7yr-l9oc((DjW9&|gxZ~#|fInLAz|eTCRVoQz znn`{qG^<@ZGxPKIe!QE-8lQ}OS#oyWYTAp)$Op;+EKWZ$Ud>)z`#9<5!{L6PA;32b zT#?-RSEy#c(wsdg(4z`*R!JrID<7`p6n?LkP=}TN{Y9daG-kRkkD$61icHa(E`sP< zDKkcBx(lIbq|F(k=q`n#lQd?Fpt=@{OwpPyg6LZ1zhhlN?Ee60?}&u~$%Q|gS5cbf z{{UlqW|Q`g_=A-^#F+frz8j5h@+?O#_FtMlBZ@5JhQ8eY0HZ$0)U|t=3vznbHFtS5 zvV6_Ob~lzPbH`q50{c$@WQ=oP#Uss8{s88-ZEt}bn&E9P)a|XSJKUgR!P8efw%~(lCsIP90C0O%htnAA}>rY+>T7g>>@W#FR zHH;c3A6jtW=Ac&1NE?w}%^Ln@Z4&OMhQ=y9)54Mm73|We*$%==+mwB1rp!Vp+;Pu( NE7_$fa**tQ|Jf%ZkJSJG literal 0 HcmV?d00001 diff --git a/slides.jade b/slides.jade index e077be6..d58bf9f 100644 --- a/slides.jade +++ b/slides.jade @@ -34,12 +34,16 @@ slide article :markdown * Polyfills for old browsers - * Simpler, declarative syntax - * No more `document.registerElement` + * Declarative element creation (No more `document.registerElement`) + * Declarative event mapping * Declarative layout using attributes * Component library * UI designer +slide + article.flexbox.vcenter + img.reflect(src="images/declare_all_the_things.jpg") + slide hgroup h2 Declarative Syntax @@ -119,7 +123,7 @@ slide pre.prettyprint(data-lang="javascript"). Polymer("my-element", { - greeting: "Hi, I'm a custom element", + greeting: "Click me!", clickHandler: function() { this.greeting = "Hello, " + prompt("What is your name?") + "!"; } @@ -129,25 +133,68 @@ slide slide hgroup - h2 + h2 Declarative Layout + h3 Flexbox made simple article + p Use attributes, not CSS! + pre.prettyprint(data-lang="html"). + <div layout horizontal> + <div>One</div> + <div>Two</div> + <div>Three</div> + </div> + p Result + iframe(data-src="/examples/flexbox/index1.html" style="height: 80px") -slide.segue.dark.nobackground - aside.gdbar.right.bottom - img(src='images/pandastrike-logo-256.png') - hgroup.auto-fadein +slide + hgroup h2 Declarative Layout h3 Flexbox made simple + article + p How about some flex? + pre.prettyprint(data-lang="html"). + <div layout horizontal> + <div>One</div> + <div flex>Two</div> + <div>Three</div> + </div> + + p Result + iframe(data-src="/examples/flexbox/index2.html" style="height: 80px") slide hgroup - h2 Use attributes, not CSS + h2 Declarative Layout + h3 Flexbox made simple article + p Flex with proportions pre.prettyprint(data-lang="html"). <div layout horizontal> + <div flex>One</div> + <div flex two>Two</div> + <div flex three>Three</div> </div> + p Result + iframe(data-src="/examples/flexbox/index3.html" style="height: 80px") + +slide.segue.dark.nobackground + aside.gdbar.right.bottom + img(src='images/pandastrike-logo-256.png') + hgroup.auto-fadein + h2 Resources + +slide + hgroup + h2 Resources + article + :markdown + * Polymer Project: [polymer-project.org](https://www.polymer-project.org) + * Polymer API docs: [bit.ly/polymer-api](http://bit.ly/polymer-api) + * Polymer Databinding: [bit.ly/polymer-databinding](http://bit.ly/polymer-databinding) + * Polymer Layout Reference: [bit.ly/polymer-layout](http://bit.ly/polymer-layout) + slide.thank-you-slide.segue.nobackground aside.gdbar.right img(src='images/pandastrike-logo-256.png') From bacb173b07acb636d1dd9832759e033034dd2800 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 16:28:05 -0700 Subject: [PATCH 07/12] Remove position from title slide. What are you, conceited? --- slide_config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slide_config.js b/slide_config.js index 8f9a8ef..f8fde19 100644 --- a/slide_config.js +++ b/slide_config.js @@ -23,7 +23,7 @@ var SLIDE_CONFIG = { // Author information presenters: [{ name: 'Christoph Wagner', - company: 'Software Engineer
Panda Strike', + company: 'Panda Strike', // gplus: 'http://plus.google.com/1234567890', twitter: '@Panda_Whisperer', www: 'http://www.pandastrike.com', From 9c87cf0b6b962603abcf1464df98fc11e06c3d63 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Sun, 19 Oct 2014 16:28:32 -0700 Subject: [PATCH 08/12] s/layout horizontal/horizontal layout/ --- slides.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/slides.jade b/slides.jade index d58bf9f..e014098 100644 --- a/slides.jade +++ b/slides.jade @@ -138,7 +138,7 @@ slide article p Use attributes, not CSS! pre.prettyprint(data-lang="html"). - <div layout horizontal> + <div horizontal layout> <div>One</div> <div>Two</div> <div>Three</div> @@ -152,9 +152,9 @@ slide h2 Declarative Layout h3 Flexbox made simple article - p How about some flex? + p Flex it! pre.prettyprint(data-lang="html"). - <div layout horizontal> + <div horizontal layout> <div>One</div> <div flex>Two</div> <div>Three</div> @@ -170,7 +170,7 @@ slide article p Flex with proportions pre.prettyprint(data-lang="html"). - <div layout horizontal> + <div horizontal layout> <div flex>One</div> <div flex two>Two</div> <div flex three>Three</div> @@ -187,7 +187,7 @@ slide.segue.dark.nobackground slide hgroup - h2 Resources + h2 RTFM article :markdown * Polymer Project: [polymer-project.org](https://www.polymer-project.org) From ea6cf4f52b1265c789ca05db94237bad4ceb9a72 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Mon, 20 Oct 2014 00:07:30 -0700 Subject: [PATCH 09/12] Tweaks --- images/yo_dawg.jpg | Bin 0 -> 58156 bytes slides.jade | 48 +++++++++++++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 17 deletions(-) create mode 100644 images/yo_dawg.jpg diff --git a/images/yo_dawg.jpg b/images/yo_dawg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34ffd6a584264e21c6acefffbac8156cf603cf9e GIT binary patch literal 58156 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 z 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 Bb7uem literal 0 HcmV?d00001 diff --git a/slides.jade b/slides.jade index e014098..bda6147 100644 --- a/slides.jade +++ b/slides.jade @@ -31,17 +31,19 @@ slide slide hgroup h2 Why Yet Another Framework? - article - :markdown - * Polyfills for old browsers - * Declarative element creation (No more `document.registerElement`) - * Declarative event mapping - * Declarative layout using attributes - * Component library - * UI designer - -slide article.flexbox.vcenter + ul.build + li Polyfills for old browsers + li Declarative element creation (No more document.registerElement) + li Declarative event mapping + li Declarative layout using attributes + + li But wait, there's more! + ul + li Component library + li UI designer + + aside.note img.reflect(src="images/declare_all_the_things.jpg") slide @@ -59,13 +61,16 @@ slide </polymer-element> ul.build - li Polymer uses custom elements to define custom elements (Yo dawg...) + li Polymer uses custom elements to define custom elements li <template> defines the contents of the Shadow DOM li noscript attribute lets us define element without JavaScript + aside.note + img(src="images/yo_dawg.jpg") + slide hgroup - h2 Using it + h2 Let's use it! article pre.prettyprint(data-lang="html"). <head> @@ -190,17 +195,26 @@ slide h2 RTFM article :markdown - * Polymer Project: [polymer-project.org](https://www.polymer-project.org) - * Polymer API docs: [bit.ly/polymer-api](http://bit.ly/polymer-api) - * Polymer Databinding: [bit.ly/polymer-databinding](http://bit.ly/polymer-databinding) - * Polymer Layout Reference: [bit.ly/polymer-layout](http://bit.ly/polymer-layout) + * Polymer + - Polymer Project: [polymer-project.org](https://www.polymer-project.org) + - Polymer API docs: [bit.ly/polymer-api](http://bit.ly/polymer-api) + - Polymer Databinding: [bit.ly/polymer-databinding](http://bit.ly/polymer-databinding) + - Polymer Layout Reference: [bit.ly/polymer-layout](http://bit.ly/polymer-layout) + * Components + - Core Elements: [bit.ly/core-elements](http://bit.ly/core-elements) + - Core Elements Demo: [bit.ly/core-elements-demo](http://bit.ly/core-elements-demo) + - Paper Elements: [bit.ly/paper-elements](http://bit.ly/paper-elements-demo) + - Paper Elements Demo: [bit.ly/paper-elements-demo](http://bit.ly/paper-elements-demo) + * Other Resources + - Built with Polymer: [builtwithpolymer.org](http://builtwithpolymer.org) + - Polymer Themes: [polymerthemes.com](https://polymerthemes.com) slide.thank-you-slide.segue.nobackground aside.gdbar.right img(src='images/pandastrike-logo-256.png') article.flexbox.vleft.auto-fadein h2 <Thank You!> - p Important contact information goes here. + // p Important contact information goes here. p.auto-fadein(data-config-contact='') // populated from slide_config.json From 88b4ade9093815598ae84418dd9eedab577a562e Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Mon, 20 Oct 2014 11:26:13 -0700 Subject: [PATCH 10/12] Adding `unresolved` attribute to tag on flexbox examples --- examples/flexbox/index1.jade | 2 +- examples/flexbox/index2.jade | 2 +- examples/flexbox/index3.jade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/flexbox/index1.jade b/examples/flexbox/index1.jade index f36f505..e28abbf 100644 --- a/examples/flexbox/index1.jade +++ b/examples/flexbox/index1.jade @@ -8,7 +8,7 @@ html(lang="en") link(rel="import", href="../bower_components/polymer/polymer.html") link(rel="stylesheet", href="index.css") - body + body(unresolved) div.container(layout horizontal) div One div Two diff --git a/examples/flexbox/index2.jade b/examples/flexbox/index2.jade index 3979907..772cc2e 100644 --- a/examples/flexbox/index2.jade +++ b/examples/flexbox/index2.jade @@ -8,7 +8,7 @@ html(lang="en") link(rel="import", href="../bower_components/polymer/polymer.html") link(rel="stylesheet", href="index.css") - body + body(unresolved) div.container(layout horizontal) div One div(flex) Two diff --git a/examples/flexbox/index3.jade b/examples/flexbox/index3.jade index 98c8c6f..070684a 100644 --- a/examples/flexbox/index3.jade +++ b/examples/flexbox/index3.jade @@ -8,7 +8,7 @@ html(lang="en") link(rel="import", href="../bower_components/polymer/polymer.html") link(rel="stylesheet", href="index.css") - body + body(unresolved) div.container(layout horizontal) div(flex) One div(flex two) Two From dd9a8bd87eb522c138a9b2891d3d398d3aba9362 Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Mon, 20 Oct 2014 13:14:34 -0700 Subject: [PATCH 11/12] Adding Glideroom case study, Light DOM slide + example --- examples/1b/index.jade | 12 +++++ examples/1b/my-element.jade | 6 +++ slides.jade | 98 ++++++++++++++++++++++++++++++++++++- 3 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 examples/1b/index.jade create mode 100644 examples/1b/my-element.jade diff --git a/examples/1b/index.jade b/examples/1b/index.jade new file mode 100644 index 0000000..85896e6 --- /dev/null +++ b/examples/1b/index.jade @@ -0,0 +1,12 @@ +doctype html +html(lang="en") + + head + // load platform polyfills + script(src="../bower_components/platform/platform.js") + // import custom elements + link(rel="import", href="../bower_components/polymer/polymer.html") + link(rel="import", href="my-element.html") + + body(unresolved) + my-element Light DOM diff --git a/examples/1b/my-element.jade b/examples/1b/my-element.jade new file mode 100644 index 0000000..65ca58a --- /dev/null +++ b/examples/1b/my-element.jade @@ -0,0 +1,6 @@ +link(rel="import", href="../polymer/polymer.html") + +polymer-element(name="my-element" noscript) + template + h2 Hi, I'm + diff --git a/slides.jade b/slides.jade index bda6147..98f7055 100644 --- a/slides.jade +++ b/slides.jade @@ -85,9 +85,29 @@ slide <my-element></my-element> </body> - h3 Preview + h3 Result iframe#example1(data-src="/examples/1/index.html" style="height: 70px") +slide(hidden) + hgroup + h2 Light & Shadow + article + p <content> defines an insertion point + p It will contain the contents of the custom tag (a.k.a Light DOM) + + pre.prettyprint(data-lang="html"). + <polymer-element name="my-element" noscript> + <template> + <h2>Hi, I'm <content></content></h2> + </template> + </polymer-element> + + pre.prettyprint(data-lang="html"). + <my-element>Light DOM</my-element> + + h3 Result + iframe#example1(data-src="/examples/1b/index.html" style="height: 70px") + slide hgroup h2 Data Binding @@ -105,7 +125,7 @@ slide greeting: "Hi, I'm a custom element!" }); - h3 Preview + h3 Result iframe#example2(data-src="/examples/2/index.html" style="height: 70px") aside.note @@ -184,6 +204,80 @@ slide p Result iframe(data-src="/examples/flexbox/index3.html" style="height: 80px") +slide.segue.dark.nobackground + aside.gdbar.right.bottom + img(src='images/pandastrike-logo-256.png') + hgroup.auto-fadein + h2 Case Study + h3 Glideroom.com + +slide + hgroup + h2 Overview + h3 What is Glideroom? + article + ul + li Video conferencing in your browser + li Built on WebRTC + li NO registration necessary + li Get a room with a single click + li We call it: "Hangouts without the Hangups" + +slide + hgroup + h2 Architecture + article + ul + li Front-end built entirely with Polymer + li Component-based architecture + li Everything is a custom element + li Emphasis on small, focused, reusable components + li Components interact via well-defined public API + li Asynchronous communication via events + +slide + hgroup + h2 Show me the Code! + h3 room.html + article + pre.prettyprint(data-lang="html"). + <glideroom-backend configuration="/configuration.json"></glideroom-backend> + <div vertical layout fit> + <glideroom-toolbar></glideroom-toolbar> + <div horizontal layout flex> + <glideroom-conference flex></glideroom-conference> + <core-splitter direction="right" touch-action="none"></core-splitter> + <glideroom-chat></glideroom-chat> + </div> + <footer-element></footer-element> + </div> + <glideroom-notification></glideroom-notification> + <glideroom-dialog-entry id="entry"></glideroom-dialog-entry> + <glideroom-dialog-settings id="settings"></glideroom-dialog-settings> + <script type="text/javascript" src="/js/room.js"></script> + +slide + hgroup + h2 Show me the Code! + h3 room.js + article + pre.prettyprint(data-lang="javascript"). + var backend = document.querySelector("glideroom-backend"); + var chat = document.querySelector("glideroom-chat"); + + window.addEventListener("polymer-ready", function() { + chat.addEventListener("chat-message", function(event) { + backend.sendMessage(event.detail); + }); + backend.addEventListener("room-event", function(event) { + chat.addMessage(event.detail); + conference.processEvent(event.detail); + }); + backend.addEventListener("room-ready", function(event) { + conference.start(event.detail); + }); + }); + slide.segue.dark.nobackground aside.gdbar.right.bottom img(src='images/pandastrike-logo-256.png') From 644f0810ccfd40a2aada613d5737b4755198d20d Mon Sep 17 00:00:00 2001 From: Christoph Wagner Date: Mon, 20 Oct 2014 14:00:28 -0700 Subject: [PATCH 12/12] Adding some highlighting on Glideroom code slides --- slides.jade | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/slides.jade b/slides.jade index 98f7055..fddc594 100644 --- a/slides.jade +++ b/slides.jade @@ -241,20 +241,21 @@ slide h3 room.html article pre.prettyprint(data-lang="html"). - <glideroom-backend configuration="/configuration.json"></glideroom-backend> - <div vertical layout fit> - <glideroom-toolbar></glideroom-toolbar> - <div horizontal layout flex> - <glideroom-conference flex></glideroom-conference> - <core-splitter direction="right" touch-action="none"></core-splitter> - <glideroom-chat></glideroom-chat> + <body> + <glideroom-backend configuration="/configuration.json"></glideroom-backend> + <div vertical layout fit> + <glideroom-toolbar></glideroom-toolbar> + <div horizontal layout flex> + <glideroom-conference flex></glideroom-conference> + <core-splitter direction="right" touch-action="none"></core-splitter> + <glideroom-chat></glideroom-chat> + </div> + <footer-element></footer-element> </div> - <footer-element></footer-element> - </div> - <glideroom-notification></glideroom-notification> - <glideroom-dialog-entry id="entry"></glideroom-dialog-entry> - <glideroom-dialog-settings id="settings"></glideroom-dialog-settings> - <script type="text/javascript" src="/js/room.js"></script> + <glideroom-dialog-entry id="entry"></glideroom-dialog-entry> + <glideroom-dialog-settings id="settings"></glideroom-dialog-settings> + <script src="js/room.s"></script> + </body> slide hgroup