From 527ce6546e7ec50e7720ff7b9b6ff79a89c3b7fc Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Mon, 7 Aug 2023 21:41:18 -0700 Subject: [PATCH] various css fixes, fix new image loading bug when previewing, path docs --- content/advanced/architecture.md | 6 ++-- content/advanced/paths.md | 45 +++++++++++++++++++++++++++++ content/images/quartz-layout.png | Bin 63222 -> 56729 bytes content/migrating from Quartz 3.md | 1 + quartz/build.ts | 20 +++++++------ quartz/plugins/transformers/ofm.ts | 14 +++++---- quartz/styles/base.scss | 4 +-- 7 files changed, 71 insertions(+), 19 deletions(-) diff --git a/content/advanced/architecture.md b/content/advanced/architecture.md index 31a9d7f..f30331c 100644 --- a/content/advanced/architecture.md +++ b/content/advanced/architecture.md @@ -12,17 +12,17 @@ This question is best answered by tracing what happens when a user (you!) runs ` 2. This file has a [shebang]() line at the top which tells npm to execute it using Node. 3. `bootstrap-cli.mjs` is responsible for a few things: 1. Parsing the command-line arguments using [yargs](http://yargs.js.org/). - 2. Transpiling and bundling the rest of Quartz (which is in Typescript) to regular JavaScript using [esbuild](https://esbuild.github.io/). The `esbuild` configuration here is slightly special as it also handles `.scss` file imports using [esbuild-sass-plugin v2](https://www.npmjs.com/package/esbuild-sass-plugin). Additionally, we bundle 'inline' scripts (any `.inline.ts` file) that components can run client-side using a custom plugin that runs another instance of `esbuild` that bundles for browser instead of `node`. Both of these are imported as plain text. + 2. Transpiling and bundling the rest of Quartz (which is in Typescript) to regular JavaScript using [esbuild](https://esbuild.github.io/). The `esbuild` configuration here is slightly special as it also handles `.scss` file imports using [esbuild-sass-plugin v2](https://www.npmjs.com/package/esbuild-sass-plugin). Additionally, we bundle 'inline' client-side scripts (any `.inline.ts` file) that components declare usiong a custom `esbuild` plugin that runs another instance of `esbuild` that bundles for the browser instead of `node`. Modules of both types are imported as plain text. 3. Running the local preview server if `--serve` is set. This starts two servers: 1. A WebSocket server on port 3001 to handle hot-reload signals. This tracks all inbound connections and sends a 'rebuild' message a server-side change is detected (either content or configuration). 2. An HTTP file-server on a user defined port (normally 8080) to serve the actual website files. - 4. Again, if the local preview server is running, it also starts a file watcher to detect source-code changes (e.g. anything that is `.ts`, `.tsx`, `.scss`, or packager files). On a change, we _rebuild_ the module (step 2 above) using esbuild's [rebuild API](https://esbuild.github.io/api/#rebuild) which drastically reduces the build times. + 4. If the `--serve` flag is set, it also starts a file watcher to detect source-code changes (e.g. anything that is `.ts`, `.tsx`, `.scss`, or packager files). On a change, we rebuild the module (step 2 above) using esbuild's [rebuild API](https://esbuild.github.io/api/#rebuild) which drastically reduces the build times. 5. After transpiling the main Quartz build module (`quartz/build.ts`), we write it to a cache file `.quartz-cache/transpiled-build.mjs` and then dynamically import this using `await import(cacheFile)`. However, we need to be pretty smart about how to bust Node's [import cache](https://github.com/nodejs/modules/issues/307) so we add a random query string to fake Node into thinking it's a new module. This does, however, cause memory leaks so we just hope that the user doesn't hot-reload their configuration too many times in a single session :)) (it leaks about ~350kB memory on each reload). After importing the module, we then invoke it, passing in the command line arguments we parsed earlier along with a callback function to signal the client to refresh. 4. In `build.ts`, we start by installing source map support manually to account for the query string cache busting hack we introduced earlier. Then, we start processing content: 1. Clean the output directory. 2. Recursively glob all files in the `content` folder, respecting the `.gitignore`. 3. Parse the Markdown files. - 1. Quartz detects the number of threads available and chooses to spawn worker threads if there are >128 pieces of content to parse (rough heuristic). If it needs to spawn workers, it will do another esbuild transpile of the worker script `quartz/worker.ts`. Then, a work-stealing [workerpool](https://www.npmjs.com/package/workerpool) is then created and 'chunks' of 128 files are assigned to workers. + 1. Quartz detects the number of threads available and chooses to spawn worker threads if there are >128 pieces of content to parse (rough heuristic). If it needs to spawn workers, it will invoke esbuild again to transpile the worker script `quartz/worker.ts`. Then, a work-stealing [workerpool](https://www.npmjs.com/package/workerpool) is then created and batches of 128 files are assigned to workers. 2. Each worker (or just the main thread if there is no concurrency) creates a [unified](https://github.com/unifiedjs/unified) parser based off of the plugins defined in the [[configuration]]. 3. Parsing has three steps: 1. Read the file into a [vfile](https://github.com/vfile/vfile). diff --git a/content/advanced/paths.md b/content/advanced/paths.md index e69de29..2a5e09f 100644 --- a/content/advanced/paths.md +++ b/content/advanced/paths.md @@ -0,0 +1,45 @@ +--- +title: Paths in Quartz +--- + +Paths are pretty complex to reason about because, especially for a static site generator, they can come from so many places. + +The current browser URL? Technically a path. A full file path to a piece of content? Also a path. What about a slug for a piece of content? Yet another path. + +It would be silly to type these all as `string` and call it a day as it's pretty common to accidentally mistake one type of path for another. Unfortunately, TypeScript does not have [nominal types](https://en.wikipedia.org/wiki/Nominal_type_system) for type aliases meaning even if you made custom types of a server-side slug or a client-slug slug, you can still accidentally assign one to another and TypeScript wouldn't catch it. + +Luckily, we can mimic nominal typing using [brands](https://www.typescriptlang.org/play#example/nominal-typing). + +```typescript +// instead of +type ClientSlug = string + +// we do +type ClientSlug = string & { __brand: "client" } + +// that way, the following will fail typechecking +const slug: ClientSlug = "some random slug" +``` + +While this prevents most typing mistakes *within* our nominal typing system (e.g. mistaking a server slug for a client slug), it doesn't prevent us from *accidentally* mistaking a string for a client slug when we forcibly cast it. + +Thus, we still need to be careful when casting from a string to one of these nominal types in the 'entrypoints', illustrated with hexagon shapes in the diagram below. + +The following diagram draws the relationships between all the path sources, nominal path types, and what functions in `quartz/path.ts` convert between them. + +```mermaid +graph LR + Browser{{Browser}} --> Window{{Window}} & LinkElement{{Link Element}} + Window --"getCanonicalSlug()"--> Canonical[Canonical Slug] + Window --"getClientSlug()"--> Client[Client Slug] + LinkElement --".href"--> Relative[Relative URL] + Client --"canonicalizeClient()"--> Canonical + Canonical --"pathToRoot()"--> Relative + Canonical --"resolveRelative()" --> Relative + MD{{Markdown File}} --> FilePath{{File Path}} & Links[Markdown links] + Links --"transformLink()"--> Relative + FilePath --"slugifyFilePath()"--> Server[Server Slug] + Server --> HTML["HTML File"] + Server --"canonicalizeServer()"--> Canonical + style Canonical stroke-width:4px +``` diff --git a/content/images/quartz-layout.png b/content/images/quartz-layout.png index 4767b549c2469c65482dde2fc69dfea67c0e781b..03435f7d57874b5c7c438dd0866318fe3c8d61dd 100644 GIT binary patch literal 56729 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⋙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 z zhwIFqJ=>eX;XSB~wN0t5t^HkBv*-DP2MMoUzxD>*gs@@f&Y4G7FTHR3=-&nK2{Rhv z!4A^COtF!XH#h1WI(_u$(XLd`qVB(c|K9EgomiD~Gq3K`z6=d z4xlT#znoN`f8};a)z_=xm)qs*X8e1=|4-rTu9q)gmOMPv+LbD}XRY z`0z+Xh{2)1>p!Tmav}3+z0P(>)b8?aStDQjB~Wa0-S^%1ebdj)IXTVsk5qi}tk>-F zH52OoeV(6wUY130k=qF_1{obhDfwkV@$+-3+pA95KV5g-*VlJx(#9FBCi{`NQdc%Lc* zL&M((<@^i_WV5rgZwvD)d%b@D-hb|gA0HoY*|%?ALo;|gZ$iTVvW8baM0Z(!PUM`Ea#5F=bqw_8xw;AN!qC zr@WXLUYJ2opkZKWV9v?R)YR3{3DJ=T*TMR;;MwazL)E7zo}l^ozNboI3=5=rR3O2@ zz)*GS`~Lrb+g{(VI5?(}k!Uww55OgI7=oCj2Bcn+S47*z4j#_ZM=GV*R zyw@%3{#2Nie%-$RZ!QzV3pa#^zFxHx&Fg7;Mtf{eqs+tQn_eCJnwR7DKTWykJ2_{*LS@L5O<3=CC>ij{$(;SMiIVMan_r6s5Z32OIDojUbR;mH>-GR!#3YHDms zFFksc^y|&$^P6h*baiv}=Eb{JcE9+vorO{=WUY{PPGMvF+=#@8r8@{(hQNz45QW^+ms=j_>pOo%ehW*mn#I zB5PN#ULDQJu)zJ#yY%UAe;@CY^{x(;b7lN82^5Mf(}IJ8GpnksN~3D#?r^iADG z58S-2Z@oIh^xl5ZBE_Ve&*#_A%YA-os`kx)uQR{?de>gY9M`b-)tC2j3m>Jzp9w{mQ7aoU)I?8cebP0{pp~CLK#l&{d7t@v!KA> z?NQLRGS8l+mHmHlaq-H44+|eSoZeRR9CS?CG7h`_pXa_e5#7+np{8uto3ZJxy--I2 z==gkJe}~?`E>ol&)7Ez+_Z9bKU-da4^~lzu{@3XU1n(_WeCcX93>HT1+cC_x#$K$uHpgVEOj+UKX z|M|m*0&s`Lblz&wYsY>qUc8w1|6NFgIcS5=bBfhaI-a)p%B5dt{p@@Dm*sC+8#UQi zIjQHm+X;z-$vf)**NN>pwzlT~(p(eisbTF?RRy!%N~C}H)w(4}-d-pA^Vs7E{cHDq zZR|}=x4!-?czBxooWga>{pb756)$+r&*S#j?R}T6?4-xKe(k&Mlf5oy zGJd-D^1dxY!{Nl-T;1H9oRshFZEZpI_4Th>j`zzi|N8YSi;R!D|2!XN=HKScI{Wl( ztG;M3PN{x6HT=?p2MM>jL6;AoJ$v@ezl)3AgBJ#PFzDX;G#9kthU=w+_|!LAIDYU(8oWdS=TJQ_T>iX zZk@8Db<%t1D}IaoTerj_jheM z^WSw-uj$S|BfT+i&ws%k+qBk&8(;QKo|XHx&K0_rq+}APLS4Y^>L9WGZb7bM5;U3jYT!a|dNOP;L9*|7t$n=w8w6wei|Ly4!c`i1@f8?nBh+mzS3Z zZ(q$Z4 z1**flXV0ERah1ip*hn2O|N81`SL#~73D8t{7hKprVBJyl)azB5VPttyk`ko+KTxLu zDsLgyFr1j_2?~b~Od{P!w}>06LW}dNnV>*nh---6p7+)=1!`yL)v_2HXC zhn%upzy9j|_Fd_SAup(zpZyhDWj$B`x_*ISLvBt^&hbss=6Orf&YnGMdM9pit(%3l zz5V=If{nRfcP(DLc%^ixeE8<)5k)^gJq0zJ-$t)q&knX7+NDZ}_HkX?=LK5E(z>+Q z87IxZdfd#;Zr-g>ThVWu&)a#=4XTYPe|IPI)vmVN z+w;>K3u5kHS}U!74l)7G68L!qrE!AJ3Y? zzOqoSu&?lJ^8JndJJL4(`SuXc>g>Dg2+uf9|^%!i9 z6s)+nt913VluI2J*{yS~D!sY$y5v$vsVH<6j z?(HyLJk59N)m-Mu>OINOhWQDfO6x_5;Dq~vQ^;a9; zsrBu@7;<%QN4BtH*6K&Mj#X|e&V{7q1=8RS_6kj>Ycuk0`6x&=rnbxk?UJ6ybb%u% zS$gCB8C|zB?%qg0vaR=8ZfMJzrJv@7QX%&_e%?#|vd|N6FYnQx!ji$@)UB6!aL4sA~rxYm(36I~ZgbLtHt^NC3lLORaQGf5b zK(JV@?d4*%HIU?3AaU|OByd2<9&I=R+|mMx?+RNO;PLnGU(N-w``Q^8?!vD_yl}Mc z|Mz-(#x2@R*X;isw)Y{W)4Ezd!%mA!EN`t-K8wwgJ5 z3=AYjP5`ti~o)fsK4Uu6`CJfF9rFY z`kltG$(028oZQ@0bB2cICF|Gg?`AA%f|dph3!2T$%r0Gzub*4X%3#sK)#_wb^u(i# z`35&^ILV>iWsej{Yff>oaqZWu;Wy>q?)mfSH0Od?gcmwyEVfGM)l8kh@POgwty`z^ z5^HO1ZR`KtaS2~exGZZAaZi)I8sb0sX<(tNu0lzkpfuUiU>w&0$?AA(Q2seNNfcPE|%t^G-1ukJh zM!$$!y?S+Kaj`KY!`1Okp=+Rke9pHK-mhn1I58jGC;&Nxfq?;$QyCa=W@1dKJn$tAATvrf zK7INWbQ!~z4I3s*n>Ov$I%_MdS!ro$LJSOd{b9ubL&?&P@bvWb%e~U(Le=K>_VYol zy}uPHDJrqMN;DZ6_GrLEXn}U@o(jX+`@GU!4oC$Scy5dk*~rA89|EdTKsGXz%*?*N zjx&OhfzJXyn$obY`1!fHUB?d}KKxSt-$VIJH*Q4Sy?(Tcf#C}qEZ;C(2z`|Ne)_a& zTGRgi-v7UP){Ge*3=A?dt*{jd7hJ=_!pd}nH!v~C*dW}qT1Q`Boq>UGUn5MRLsUe> zi9By_@0*V&PMjE`BL=#_;@j5CO4oGXuCJL7?!HQXkKVdt$Bx&w&E-gRv4y;4~@Ilsq`A7@ro?OGe~XZGc}xs%!A&!8ptlFHOuN1=cC~cmv?E8Ze7{$%-|e4& zch}Xh0?EYGJ$B!2_jJT~Z=X4H<~H?(&ve&aeR_KO?5@nmx7;&8ovKvFm!L6)xTB?Z z_5W%P|2_Ws?6_4U{9`tRLfc5bYpDzD2oj;g+*E-1f|0ntQbF@y{78(Y3YTcf~U- zu*K4iWME+Ueek^;gM;<8Yu7FvJLXnapOK;Q_51hbeieUy6h_6z`xjjJ^K$;b%v=0| zipQp0sk#Sh1WvX}PfIKNtMNN%PNeKYKVM%{)4j%V^1pS&4WD0K9bVq6=DjfIYvHk- zTcxAI{O9*3|M>IyeDLx;zu)b)UUbFccvWEG+Rr)9Z13dGFZA2Ewj%z~-FH0rzWV{iVF!*6bGP6rj6yX(KaxEP`#BIM8w8Fv8190OnPjDI)14oE5W?5X_x z?Aw+rlOnG5yoxX~=?YAqztPX9J$K96yZ}4Kttw8J+=2_e4fA(KP0on6?7NY^x54zt z=c~uXey{nrosr?qdUzh2u(@htV$GF5ckaYoemxy@dFtKgtG7!FrtWRnnv#;D(jA+e zmEl=qQ`^$ttF}0deWsxQu{vo@+325NuIw<|c;8}PUXbllGZU@|??=CmuKiIO4MauZ`X)V@E3aO3KTxzu~rfazt`e z-sa!BYoq`D3;F+>f#F*?yzG(@y6TwO(zABOyf3$2Jbs?-tC6evZq3%bwYmE;1g}ra z{<_OeCMLi7ZQk;UuU_ANSI5}!tphasaOwK>?X~sU+1iW@3?;XoJxgO^VBqTyQ=e6) zv@J(9>8tgIth?2skPIU%h^xm;T-_LECs37#0XW z>VLZL->=tikAqr?3=9p|)~;EzUJi6?2snwn;ZJ5^XqYGbUvcO9_4>09?b^6;B51ZsweGrx2-nT`vLD?+3nUmA z-pC7TGhCRQBsHlM)DdQ2V7Lo9H~%It!vZ;YNzNc^YGX5}>u3@a!;0nDtLFz7KrQ-e zLnEU}QCqicnZh^g)ymb{+S;593k2cj6l5GZerI~NsYYx>#ERW}vzGhKy|r=8)Y@xN z+pn3$Z+SK2yF%M828ZW}LdrS0q-4vZk9Y3GWQDP;xhm`ix`pApso}ycRwa8u*Tjac zE%l#oH+PrsSHrXC&o2)TajY+O z|M%+s)2$xn|9h6N#dLDV|I_jRjQ;+d|G)C^^?&dG|I0u67<8WK{y(Sp=ls}Zey>8g z_SehhxBEeTUA@>{Q{t-MZr!!M`q!7tS##&!-MH3m{q3{!|D2p3V$-Lvef@g= zZ?E3}|M&j#@As#r>B+CYpTx_5Vlze-HcrKhJNM2VL+}8hriR)9LZ+ zDr_t)ZfvaA4)FgI&7ANa-WHF|$;i++m>8_hXI=Fr<5f%jpX2pD|9{T^Ka+Kl>i=)~ z|EIA|Pd_*3=GW5qdp`U90$tYIl?s}73_kvK{r_L>9{slI|F8A` zy+BvUUpLsbx9F*t>j9~Kf8XYtm(FW-dfG1V{rmUwH}|<1HvIn;79Rfhq#QU6G8~Xw zyLRo;-rn9fbuG&UgBaib{BW56GH8mYD|Pki)hmOQX7xmGeP8!|ccjhFSF6{j1&6)A zyL&q5J}J8{0f(BV@zf5+C^oSm2c$6B+# z_RVv5`(J@f-|oYPcPm0cSL<9&6we*y!~9P5BY2vTm>0UnkH1qrx3GThuV; z&1S2%+_2Rb-{dLv^{(8s_TBEAE4JMGrrc&*_{gQqe%yMWM?ok&Rne1< z3QmTGY49>**Nye{e_w;p9ew-z?_a-! z9IWBRtZaZ>eojt~3PVG4R&jB$byDyAMwc}XyWtB}s;}L@KmXeG>zjYa*Z(aQD;ME< z#>L3M?tNtS()pE6e|T6f=)vkb2X-0DA{E>Ee>UCW&Xso<843iBvRs=USEb3g<@9{$ zc^nKSCr<0{pTov>Mu>@lZ{G|HdlQqCPc|FW>#89mPz*07bXX{*+`Vz*L>>bJd*Gil zm+#-7@0-MmJUrogMG&+Ovn+j@F(@ZP@J{d`GK9@A0p&pYQ7Kp?fr4i=G)6-Mn%O|t rpAP<YWU|=i`a(7}_cTVOd0|Ns~x}&cn1H;CC?mvmF3=H48JzX3_Dj46~_3e>)I@kWg z@#e}+f*;EU7?JLdJkC572thv&M5&$$~jv<)})d*-wX=cMG< zD9RMLh}?f9s2?6(5aGJI$ME6RWB>ntTQw&!#y0kE*yX#Qe|jvHydF|+|J7*Q{HlFl ztIcXZom4jm`Gf%iwmd%;!w6wAFfcSs&SBW%*C7h$HC!9DY%~~069~g-K4T!K1W`M()O-4=pP!$f{`9Gc zk)a_HQ9!+Zb7G=$>hEuFpEk0~X;goIr~CbGdHnNir?m_W2CGpE!3}zRayAiubFD&u zZ(bX{eOmGJb5no*{K>??VEn92Kzr@U$<2!=_1!u**ZOpytaZsXwIfHn#ZTYdoL-%` zz5f5db32*ACEASAzkU6>Iyzg7zD?cm7QxvaVy>#)`-s*D8f(H!& zudO1ZqOwZ*iq}C)+=ku-_djlA(K~K?ZR&>P^#`70b$53MOV`B2#pRXAT`QK4ul;&; z-ffkVnty+OuFE}hUcJ_ykzv8Pm`2G7e9>0r{Puqee%|}O?|SJfUa-p-s zRmqB;(-!IeDF)Ho^Kwo4wk99%V`5;~?A9@LW@u~VXOqlBYnE-ef1~c(=J}<|jz@Z1 z{d>RndmN-tYHb&-uOme%qs)o1k?(PP8 z&+E2c?5-=BmrtqZY|p!UEArB|xz^=kw*q73Ba1$3t}5Obcl~%&Sp50PcOcD#8K&-i zGLls`+K*ipa~+*an*{xfbZ2opaxxb`o`{P$TmfEJDoAYwZ@{=1^ zSWW!>{r!8He$SnT6Ecf}Ot*L5QK@*l^}5x4^#wKG-rUUpv*&tcXURJGiU*Ci=I{M- z$vgG_zS>lQt3Q9N|Nm?KytgNIp0M;-`cUWaogXI*Pi%bgl)wJRVcq98x#xN}Zq3VD zI(KJUkuD@tFP{GU3#V_|pM-#&_w6~^Wc4G@Z(O~_@^R?Z$`!%Ae`T#oG9Hv&>&?Ad z`TcJB=_+pq%jX8qi`G64inM&UbORp)LupIIOwE@U{=F;TuMNt0=lOz{7+d&sm>#@Z z@+aIb@`kt5(nz6mKFhz|OrI|s$+5xn!v;T7S>La_ScJvJ#jkHwo|$|_r9rZC*5?}= zlgDz`2E#)iQ1}-m8$T>vlX7lj?Ox_OhWs(x6!}p3@Nvh!zGuW+W0>8>5cef zf9rmpj{hcWC6|`7S~oNKo8j>#^9wg;*=Qaw7CNTD$S}jEm^IDE%GTHV(@PV6rMV|U zYJ6|3pWpB(>*a-Kw(}~V&0J`;EVO!4&m*@ZFE1~*c6^{F`?>JMKbwz7gnPI7UN9D| zP+z&(dev*?^}Y@!?@eE9z16?!?%z1)%=B-j&vP#2Zvf|-16y92o9qZWCf+8wTH@HL zkCW<{)~rswZ(MfuT7~DKS@u5;^0P^)d!H~~KX>cLNj?bmFnx`;$Lz?O-~|z~IBL7?u`h z^?UEUsNQ7{&p6IwIb-tuuV3kWzPH`_`)(BPzQgiDy<$e$oBR9s3;#Q_X~TvK*Dr5< zTy<*GCI6`xTf#Tl~VhC6$!%WrPWy?yp;sQOmV4<^Bf-rU}ve^#2^cX{tg z-VPhr+i&+?T2|szeK)}4ceU(t$FIRVjgNo5u`xM2ulT`%#!rXk|9y~tUH9+v{O@;; zzqx%{e}ByH&F*rQOJ2Y3le4|`_8SL!?tuRJf(da`omu|NNQUEg1J%=;JT?lc*_$90c09`E>4%xAQ0 z%Ep~nlPB(E6ZXp$+IQ~xQ`==PB^VhDten=I*-}z9J0!~2V}0~;4Sy-KTBlD(I)&%* zh0V>bG0x-M%Wjy`*k-OT^`i@7!}4iMZC1RU0qPnI9J# zTikQ3P>zvd24692T12eC`g2kKLTVk?pLibL%Cts%>E>%H9XD6MN}X)>bn`5qn-is( zeDf+yc+Z(l^((lXnY!!lg@}CL`~Z{8`a|<}_RYFyl2ydKP=2T31g-6N>+&ysi`o76 zPKx1QZm{D`E~l(n=DDy_EjgMqxv%KV(w7xc$DC&Md{5c4=w-#p6~~o?)ZSe^mgTc_ zWnllyp5VzF*T1qcvvl9NZnlhevKIq`^mGAj<6IF@h1n%nR%IH^@@ijqvbSTI|C&Ch zTc6)-K7a2`$@7yZS;Q_g)_%WRZtZP9_oG@+8()>?_J6WrVlaqpiCFk2zI~0K zR=*i%B%je%SEj{#d2R=K|K9!fcGgbL2`~LO>A&<)n=!kuJoK!o_vKUDd{b^sSh{qn z+wEs*j;oIP&06L!`n=8E-n_YJP4S=E+Y&{7?QAPvYjU?PD(@87od;AhivHKG&06E@ z)FHV&BkJjv&Sj4?f8J4Zjnk6s&)8KvnQN=>7wL0vmNT5WoxeX;Ep~F@^1AcMOHXFE zL@+X#sVRnOEX_{e;_06G{oP&WP>!`t3$r6%f1Vw3$fu&<{k^?w!%A|M{2!am6kg)Ux(%YZTPbK1sYV@5U1wsbD6C8#7uWW@a8P zE16YNW^8-X_WK><3zwDz-(Sn?yL@*1PrJ<54-dCnUyXdf`~AL89}e?xm&^HkdH%mE z8M{N+-==d-`+DI^+KB~of2x^#UE{Jc|9V2Xe~ROoOOqjGw1MWVGXde@l_reW;=VsI z-e=;|IL+#@oPOr&6~}hmHs^h;>f5wUGFzr3XNx#E=}#8WHeQ?QzC7CXisuWB($@vg z*_1vZZO*#AEw^{u z=PNqkq+@bD#cWH+nV49er{KPpreePdoIc}W2?6>L5$Et_> z%zL{ERT&z3-8-hvyjBv`mpAvm=L?m!R}*7mVq|`-ypUIP`0;~-&ES6Jd7IB?cF8t} zw9jqzd$qtkWl^R_$&J}u&D#nu%(evEec+Z6+m+K3mEH5|<{M6pGiG?UukP}yg?}@Q z<{6)v;dHsM=c|;yWNGT{ua}PX^fE96fUKR$S3LP#*5$0}lQrhPy#M!IxibHzuun(w zLT7HxwJhhn?6-TF;}xsTpPuM}?YJ<%#kaawSY=C8Z|ho~EoGNgB)AzEE|`Jp-1W8(S?FK3)Q%YK4>MOjs4lg+{L;SiQ_4)1ot_h(9%y8qo4jGmmXLdO zzu%s_-Yu@rcenGL?*x|A+f&Sz3+3FNf7_+6bp3+N^|Rd;SG?U|p1O&@IYcE-YE!7D z7}yQJrvLsgc|0onjP_#<$^9=?ligoyzCB}fVusu0j~zX)d6O>~&h0s9YWVW8s_*UT zO;)dKZ5bI1qC=8W)s|*u2*3QX{;J~bz18J2!)~r`ZEgMZ>9l@1(*pV0FM*ZM=a!$! zUcWbNUhTJ=jjOgkQ#-k0RkNO+o>`u=-S(5bGq%0Gv2pRmGT;0-o?p8hnO123ed%AX z)tn(EGJjduF|g|lJdNfVt?5bcNfz7hb@}5K$K&3!+PvFk^(DVooHOZ}Zo;{VFZci} z1H&thjYh>nWj58{au(+XyO!$uT4nh**GyKJ`+e%cYy9?qHhkWaa@ioQC#k;pu&OuH zR$uEkmg}4E*+@)ZX70>pndYngyiX~^_N8Jp*y0;2gzRL^{#bM=yos6>_CY3PkIK=| zSv~G4YqD=VHhHn8&G&n@)G_Z_J=VRe9`G_Sgn)W8$NS~;V>TMky%`rAYf`CY>MzZA zY2jR!nPIBO6&kNCbG()~f1ORqiwkFGtL~gx@af6PW9w@lb*ihqiZI`M^MXmp-k^0) z1GgpW?%a9leedGn<$hbgJuwD5CnrTRTJo61>J4sOD@+QXotb%Qy&3Z&$>vi(-0g*4 z8CF)F79ovzxZV3NY$xD}l;vcJCEZOgF88?Z^!1uVB-+a5+S+m*}$@`x3 zJy(3}>o419lK)SAlugMIVQ9FicH~sZ>O+k$KYR&ZxY<+mnn${(?5ViMLp62#%^5$b zJYT(j->u@^{dT`zOzZn}u$jGjo96nL%O}t6OA>y}p|VWs_4j?>_qshdIG%HVUu|+_ z){gsH>wVYvS3H}Uero>zKhNEc>;Jy7f4C(gFTO!lqQFFL#;Q}mkrzYpz@ zzKul8F)<^(OYhfYU3{|d|AtkDE7gvs{gTvwnQoI5@>un+NQh_Z&1H(W=j_kq$S~9W zFxkoW>Na2154W>(OpXQ?)iN+_*my>ChQdpMrOd(Gmpq=`mtf^OGpz3Sx3{V9@9mvi z`nQe${9Nnn6}Qzy!#@Aa^q!}X^XSph?%q}N%3l95tqd~G^-|xx5;VwivFve$m&xxL z3faLs4;p$r*fM=jy8YFf#hI-4?tIC(^e*PS?`?xu3i*dF?zOXi`}%q2`}Fy>+rSaR za9A?M?SRN(3HQJWR=%r?()Oq%XZarUp4I2R6D>(DK5CF595UN&Xt9-UX+>tit~|`@A`g^t(WEhJYb)jo$~ef)2}c0nAdh${Wdbap9EV z);)HO$JHK(O)Y$rek|uwUr%i6o+Y!s{qwK?6`Wpc|5!D*t)cV(@YoFSvorp4j z7rOG8;%u>k%+Iq}84`*(Hf~zD{w^cDGW145W$=pjVKR$^hHBEnc z#&qw_3D^6SEFw!cZLYPt8F{Hqr~dEjcx!XUS=%!2$i9(zZnN`NO4baP5@S=J%VuAN zm#ta#Kg_7~WYp!iDiU)UiiK}(x0yM6X;!e+hreOd&X(G&Ysgr)+Hsjm)Y)FpY#IZD z#M~aEei`Bb-Zla<%biw3^_qTpeo14~}3AK4|>c%UZk@`uM>&3)5V3@lG= zTrIOX@z|wTTMYM^@$I~}D)QH?6=`3kOKM7@`h^)778`~q98-NTqv7EO+4&{cuB|#| z>6Mwio*|*`URt`|!%Jp)Whwh-v6);}ta~;yT`D&^biJ&L-SX>`7iE6dXkL1EiST^& zneHoRaixdc0Zl+MFf?2|JtO?`#=dRGwuGIY;VhlZBH0ZZ7(1o$)!6Oom7T@UPi;AM zm`&`z*q=vdBdCO<|mT%a>AP&!$i) zO}8*HS75U>6J>;qK1!_bDgC15WyraC=~71H@eQ>b3ciY+Ow5pkP`F18Nk3_9J=bpEO zXZ5QC&)v>jXl+!mt>a?JEj*TYLaa8 zSWbUs)9mJ+=^>k4&IK84);cmd;hn~+D}IM8R2Ud0rxrJAPVV!yTK;p^%d5eTM&7sQ z&RNAgn``dOb9RcyPfyqX{`FVMt<613Kg@Hgm5v)6JiR6Jjyc0D5B6_oW*YZ?Q~o{s zZ=O)iS-WSqPG-k}W(PvUir0Rv?%PzGw}hw2?o;K?Wt;!!#$OK=eJnFQ?zr9CGaJwJ zN|-}B;R|FXxnG9WD1U#gzVd;~tw}e(8$Fvi^DCRA{>guRiwZpKFTDe0mpN9Yt1iEb z%RN^Z-(NV_EY(H>G)H2c?D2D!lde%*tMO{H+$(&^=dND56!bj1v}e_Z645Dgt#jI6 z%~`Y0ZdLKb^QY4L9>vVDtKDVu`HZpc_UP3`g?VaA&syqb7T=1vYa$hD4e1s2Ca?Xt zrLbpukJGJLhLd}yr<_@cA&xeWi|Y^Wi!(4J#HelbU&ha3AbaO}vZ`nVV?*S&%*)Hp{V!jYwdUum|Mnnj zBv;>wIM3uzZ)7o3m3eacokI7Av;X{NVqoaGyyWZ2FO3Y#+J9FuFfd$@|5$$P+3NNC zii%|uJbqSRxx#(_3CNZOx|1)cUuI{T;rH$}BLjnjvDQW-v+L_(cmJ$ic5dhAbJo^N zk1$3=FN-|k`|j2Ii#7GvW6MSV_1DKUFfK+R2+gaX$8$ z`S_WYgK=?j@m$A~UU_w&{r}Z6GB6y=y!0#OmjlD)!?m^y3=A*k3uv!B(JRd`E80?{ z^6{}=C)@v^;gH7$D{GBv6&g-H-v^pg{&GCl9~!+33`1i*)NIIDGy{Y1>-Y8lt9RD@ ztzxYDeXe|8FayI3Ir!2n;WwxC_v>6=7Yka(wKU0lOF@HX9ug~zsAC}1(8lu2fe!1+=yD}M&_uuRMt$4Ap{nWR& zx4F-(dVPKU^!59Gt-4e9`)z8Bke2_^>ot4J-bU>#e0=Qe{HMj{`S)V}J&pgjbn}_B zD|0z~*x}8AgjIX~{d)bh*ZiKw;Ts#1+Xb?jLp}5sUX}SQ^Lusp`e}8twpCkf{{48& zns)Pge0}UO#j6wSe?FP)=do?}A02N|oBhAv?LNKt`@P$o+n9We>b+r6cHye_`aMB) zUsuOZ_5AQ;vj4qJdDqv)rWO`%Jg~-d>s8SDh^JTURDaC6o_llCQsE5N86oiW$8e?U z<5BU`ox*RMRqWzhKyG6K)Qz_6z1 z&ySCtTpJF#8Fn$e_L8svQ@FG0YZfDDu>&k{gHB{BvgnU{JJ&s-hIknJZ!q;=w@83xMV2|Mc z=LU1g1L(^cS*4XoC_^I^zrxM6j7`s{Q?qspsC-?CVk7)9e2Ie9oE>#DQ4C zxn{9h^V0dX-y#`jh`@^ihS$#?9qmrd%v>3>tK_BhYtVw0K3Qw4_{N*p!bGp_sQX(5 zs@c|STE6DP!B3aG^+ji}fXbCzuL+?YqBB?!ZrAnPdbOFIzszZkuj-SkUteCH z0}T&v+OZ>|?A@Knw3F`gwIOYWCtkPz^_h{j@(7m!=aHANv=&wH=f_9TG{kq&gjik2 zYkRA|muc-_V(_s>6d}jnoS3LQH&sM0eqYQy&?28lM>>lh9BAAZH(MY_c;&yS=U=bK z>o>zQ6~h59gyWK@oLZgD8d3i4PGsGm$MVzP*Z=>Wdc03|ZYk%ge_z+vzYU2w`@NJ; z-Y(|Z^XJyy!RKv0`$!(+*54DrR`}(`#ZNyT_lqyM_w4NK(_6EzdqwB%|ND)}fD@jg z7>=b>R_@F$FloFxS>1n{ZS}V+|7!mK`}_3i^mx7Hesf>7B!ss|2J4zSUIPuZXMVrr zt#5kko%sGAM|EG9y}cDWukP2&OY5uO@7;c2iN}gBpu#41$J=eUPu;l_!-yQp$wj}u zyu9VLigSZn%`B}odu1#N76_Nz-Ch1(_x)6@^_)A?W@mo8k=$>3Yn|SaSq52`uOD8r z>+?D5(^prAdrN*6Iac>zh15Yh`I@#P|32?}s;Ros_jE^3%T6_RlXZ_3pj5`Q`Ixe_!R?-?x`1 z>GU*R)`;jsOF?N{a=G=p9nPv@35yU(xaS}^7sy)_Ea1^vA1j;GyCz#Gp!WOSa&O`4 z@9)KnP2u(S{eRyw8F(T}3FYg$N387aGhI*@&`0>A=5OV z0QBi$@du5yeA>SM@7kFCb$fZV4*sluw{tmzj~2XuZV;PmU%!th8D!t)_uFpgY5)J0 z|3A#`-;c+iUM`>iO*C!q<38(CAa9=^&mM0`Jw5H* zB!$=M^J~NQ{dm+}^!QkBe$Hl4)9v~4s@JjQcTKl#W9XR$_cg--fp`0UzcVs74?m_k zf1>KXf4^Rz3%a={l80x8-@k9LqKrWzVAZ_5ySuh-(QLd~*q+9CO937X4$3n()qFL1 zwjuCt+3no9r&dI7%h6=uaf4Tc3skMk-e^2OH&^@etNZ`|-aowr)V4bfs@E6{Y7to^ zYD@9+b4&~ln#HiH7}V%egImOay9ahaBIoX|uhUAy*TrZuF#M561d-v5oyE^}UkfGe zEqNKl$gp6_S(xDoZC68G_SXC?QV)pwzBzE_{Q2u+>wkTD2`Z4-CNjJMP2xrF->@Oz z+uPgWp!JdPKr^^p_WoY1UfiCF)4$f--kk0)Ii1B@c#>~K+0w_y`=>j%^YMx-sQr31 z+*_Pqd zwX^TvFFtRZdIzbk=C=0je)r`^SM+z++cVtgIQFq#ydlz9vvyPAcIWvV59Ygl{h#vv ztJ${mcE8tvlJw`lvE_F|K|Kf~uK$1U|Bqc4yF0Am-nC!9Z4{4RUhY4A>la~`zaRVS zW8&(5K6Sgj?9uCwkB?{9Z%aPjSM=h-LO+Y*(yP}(;$owsUbPsXpJyBW`&URcXziw( zT#|3XHoZH$Ki%K;b%NQ_-0YKvpiz&P;01hboc|A5)ckt6{ORlU``^{nf4^HkeW&GD zk;Z*@Z^VEy9|)(#FfHeFxE5-(R>kDjm8sg{Qu)lPfc)z-x^R<7@&Jbb$=sm~`1_p)$XS_?#U5~3?`?=J1j&=FFXOe%{-fcTZ1GKfTm@dS2e-uEo2{-@j`K-@HXK#`pH6d7jf5vPF~L zez(cHy=^T6!)tF?E>39r`+EPsY{p~Sj2FL7SdcYM%g5St*~Uw+tLC~hBovUIWf>S4 z)*_l3473WI;f{8T;X=vLzy+TrV_sL!i-H0^7@%_onaPxb2~85kJCZg0uF zeD;0*ogIM;3~5)d$JgJD)G98{(qw8D1a;R>wQ`GdJ)V5v)kI}?tHvX%!`F*tJo@|n zzWmMiX-;d-+kTI!e6g^dCF=KvJ$qu#&9|>V{Y%!mOoV}yT85kJc-h-+F z&_IOxjftmHz>PtM8Kpn%1r97Y@&MEqRypX%7^dban&z9D0Meiz8vcIQYrU%{7#esV z_gTLaNMdbUB&5y2a9{?<2BVd$1YSRSl*Guukg!E4;qUbNpVL1*ogQDdY9kZFnMHr* zt3SMYJ8$<|1|DZnT1nuEtN;7e@9Jr*@As#bvdJR=fAh>4GX0gO2C(>-T-! z#<@{#P1VCgt+znaoc8+F-`;3OZ_m?(`J@dW0ImrJK-U60>Wu@Pe1fhqw|JU8$vgf_fhwJ~mI(bAY*B`YD44!6z385kPu z{yf#M*R22ZSpKxTeC?G;P^Io?k#~BU?$dw2-|P3={mQtxH9I`h+3xpQ^ZPoWHnjPz z$=mK!zu!A|J?Goh%+l!zuaW+m{=7JR_xpXn zt>*8()Gl9lW9PX`*RDP{&0T%&^@`gO>ep-5ZG1H&wR6?k-0kTSnc00WcP!oY`se58 z)(>yAr0B=*yA!!T`FP)^(%09F?CtA|GY^0IR1_H%r3GGlt$Kfb&iQ$^)u#>}a=N** zI9+n7OtaO`JAt)feWiULE$kuFKM66Q;AwCZdQ$zcRXmUFN7$-sssX=N$Nya={I2@l z&gZ8d_uI!EQ_Ma2yoCGl+MMKDB9HSfFL_;h=9SI28_9E@E^L?6T0BAEMXFHmK z-TUv^=v$WW|8Z15>vrVa>wn%{-~aFHSu?x;e?D(-Nob#XA;(VHyJ=tPt(@~KR9Irv z51vb8?&s{<_v_W_r$0VE-n#IV6=#&5o?e;LlE)k|-?D;38^67|x%ugbhlf-D|NA@l zThA(8_dc1GyqnVMLCY}Prhc>k^WpGT`|9s^%ORsD2bRnRrA6C4pH6Ad{g4>ju+?vy z_XAVLb%9sH#I2?b|Yku#=9=(N^%=#jo*4h6& z>HjM${nm`X(y65vS?WNG+{>Ky-(^~py;c2sL|yta&s7uoloc7affP}JxWipD7Y&so?_u%-8KF29)G8{!~4#gNT`TJE$8a$Gd?lvyIskPfcpzC zzS^1@f6H=B9rNwGPs-JP2r9pv^}Md@6xrFY0WK8uR|0c{r_|Rzs~LL`TC2e zeR#3qx%u-ipzN``?5$R_gxZE!_2&u)@7(|M%)EB)?!r^1J8r$ZyPJL8ky#I3YG|)` zCZngXKYe<9-A*2@_3|bMqC6*<9=rqUMkPL#TEYDswBO|OW=GW((czt@&x`KwtA#WH z6Qsbsj;%r=F_x;o_I|$?Em!;H;-?GF{H0AzoKICten4xA;=LYNR|NVR}&8|2*#Pn?8>TkC1 zXK#C2YMFL-RcYF6mSo`+*;EbV`MW>uSQ2YFKeFg<=v!}w&tI>{zu&U)UDXM*o9`WO zeV@MnPwH8Q*O&e6?`Ha!z6~#0b7@}8zy=RfZ|+_J-6_4vAVz4m_|@}E}t^m}ty zgK6Ta5T&{E=kJevX?pN%Ug~!)!-TZd}sY*3CuHoq*6Q;6s_v1fz4d(;6)s(~;^yXNZl46{bKe3tyi2AsWT=Gvxa6&WSLoZC ze{%}rou+YSg|3g(ZM<>+-?!~c<3lqx`q_Qn`F!5$zmZLCp#ny?uZ9-+zA$9G>3GZZ zThNqc#&l}KeKq6){c zOnLpy}1; z$Xm;h9eaD%+rtaq&I(z*de*ur$77 z;ioHoq=n?(UfWk!vO3_F_JLhd>yGC=yt%6&J9<-osp7j6hU-@?`L;OvN6GO%*{5^M z@4eiUznvlbiScINZELw#E%SOEm3SpD=;+qj!s>n|tKQ8Lc(Jqixz$@KSJi7T!aB<@ zOvqVv>{{sTvmfP6L?GoBq^fF&;@qRU=lXk-7o49;x&Nk~`c{|nd)I^5rmeorYo>0| zyqfY_<%orL(AUj=O!NQBZJzUcSMf}S?ClHQED)NJE0nNyiBYyw-}igf?{)3HfB)iC zE5AK`PyJ$J~>%EyLnObiH+~XuF0xs+%n8_sqD&5s;&d#a*EJp3eY^`~v^Nn9ruDHCm>19-rjePx|kGCG=t=es7 zdF?LK`pVqxUhDThky=@O-u!+|vC46sg;(M>#jjj)$CqjDU8lQyOSogzR_xrcA>h~4 zS1Z!b&)fU7R``R@(TgmxvsY|ezq$VZzf0@ic-!s1UHwh_cjWi)N!ONs%C_G%w>cfY zB*{k@)B#b_Y*6HZPc%@b1-xWTyI`YvL9j-MVV$x@)>e ztTGBVbY|JVvMaxkJng!w!)_~qoBm5L#}(cA&FdY0XtN{-uw~MLjJvR#c9c$ydY$rn7uQBkLH=FyAz}YI71Sxc;t^4D!D~uoZmh<}`yXOs4}1WXzlUFZ z`&GxhZSsoSA7#JTto!$)EE&pD++?{-ag-2ns_#ESFUwm8Sk$+&RN$i>;6<^zPhq9c_MxH!GTufE;$eRFT`?w(5vo!hgnm#@ydeSX_rrcDsP zPR=QAlr%h@$imR@b%N%TcEgqb?Lp0_tn2*7uD{nrYfpId|KV4+z|M*oy_g*Vaup96 zi{9MWxNhO8ZEx@F++0>`KQ&^xW7D$e?Rk4uIp!o}O^b89vN`?yHMz+liEqnzASI{T zOz=p7&&2KbsW zUMS$LXp(L5GoQD=T3cHo<1Plh;HK5ePY2oMr-a8x)SivL#vASV1Jp7K zct7!VNlaDf{Cg-kf{P1ZSk2JGW`tG)D}~BUBzpWA73o)pBB5jtW;~= zwZHFFPE@_Sv(w31Na|eCzdt|o*Z6yUeRQ-tcJ;=x)rW4at^&227#I$yfE!Q;e7sAq zh5TQ$T5q<&(^n3vkEdp>DGf5*K6{tenu!HQ;7B>JMF`r8cDxq<@6+_H_N!;#oA=SO z;DN)p8pfA4xd&R3JAb}DSSQ2ftYXkcN2Qf2Ggn@82Net20Vhqv z!nc;(vi)`=`6*~mW%&BIzsG+0B>PtjCHPL*s%JB&w7a|ee#G^)LF=?2gO>-kfSXXu zPA%@Yi;Amyxs>Vg6oo{s>E{;x;oJN1nDqUK@}Hlc`fWWA-VC{M!-fE9P)wcCRlIh2 zx&QTj$LHBrLuM!rm_WSUc2RfEYz6JNo(x;{T6S&O@}>9GYEJR%p-H|RVJ|@EL@+SS zC_<^f3g+oHy2QEN}{{p{@)G*>2+~?qh`oXuCQAlvopwS z5i>jAl(o^@?``^bWo5AWe*4;AUv%y7Z%lT74%6)i(!JvAMR)nBi6z{p?pD9w+xqg7 z?u0dqo|i~{E3cNBHhp^bb@eqn=N*$>=i9JVuV>bI+xmYsJ4;>$?X39tNZ0=U=5&8Z zdY-`wa;n4H#MP!{)qkhyMtcR9HeLr6&jIiE{eHJP);=d=U~UJW30X?^cz`&Zk}SC_Bm*>!QLQC94RFa7m@k|jg7zgC!k z)nB19sC2hly6KTw_vi2WJhN+ob@{uTPhzQcb^FR{ou)Ux`gZH??(*r&cI8HgpWL$2 zIQ`s|LhsP4yH2gjERXFlReY599AbOIEpT%%cJI$;vr`4?f1Zxdy8hkz@1JIVyNc7h zTD00%9;umMyJLQV@yk56a zeSXcRHQQtUm;RbLuTDnsT3+JCx?5LuTV^Y~SP+`DJJd;b>#nRdKi}*+A0HC~*|)&3 z*$EVDFJASU-+NK5^(*H;s1x-q9n?vDdEA-bHe~m{Xo2;ec?-|9NTxe(PyW*#|7X#A zu5F8Lrcc(on)147Kj%h1sYma=?W)rj?7yYGe$S*5{TdZ=H_}+C|-_9?u_xIJcb%hoM4;_uTIKu{A9bkAFU&zdrW=A#VL1lOuDBH_NRmzPUDb=DfQ5`)ZfU|Fm5{ zc|(T1<-cR!eUr?7DfYo<>W#X8=PXKJg{1$kbJ}v)qrueiTHL1k+^w8o*Dc_M zq)ir4;kGqQ1?%_!`!(zK|EK!(n)ZKR`dc$zw&MKo)b{sP-Gm>n; zZSAUU@9ys2p1r~3;4QU<=jv`vJ@2&}w7>f6*VCs@&wa}$XLIA{=RbdHGEW~mp8p8i^24|@7!0n&KpKYzBF5Zy3qT=*4x>e|AMB<_O1WlvgLlo<6a}bo!{8^ z{wtPM*|2L`OJK02N&MqeQ?=(ZWba!CYUD~UwJ=}x2-=&Yc5~0UGP_v#`AesLmq#6dV20s z`OM1(q5+rJwFC-Jd#h$2{rdUDQ!7BDfSJK|o1;6ndM<^mx@*WZ4rgFs*yZsd?*`Y* z%G&KO-_G{Z_-wxar|)v1XDgoU{WP!gedLtl=?bq`9GV;|def69x$jhRzwNb^k9Kal z^vd9qUFH5g?^Qf^_sLp^`OUEiY%}#yy?!+))8wtx(cgQ&-O6@mO$@d)%gu~t+F{98 zDr5y&Jw3w|lmQOR5^|7LIWcQN%%P0Mt4d~V$Yg3f99Fva*3|E_u7VowFF`3nt7FdN zsn^d}HEf+!@EH_qpXC34luwo5{QIodO>&Q1Yu10EX);s)*zNuOZui^=&liAB4mda0 z+I&-)D#xtvxA)iAzYPDTy#DUa;`GehOTDLCUCn)cYf3T;I4c@tgGapNgj{@0Pl8%2 zdp;hM&d!^C;ql{s`+J=G`;@=T`0gw4{;c`^H$HFYW!{_ZvBF^e>AEvj6{TBW{drpP zbcd;Bnq?fn?U#VcS1XsB-T8Q`^!KaP>!)#x>)o+Q^9{LPw{Ek{{;$*ip4hqj|G(eX z&y5b=DV%$n#qNIf`@Kb=8TxN;Zl1g3-L#CGn|m(T;>R2r&;I()v$(?s|L8|UEt9<9zd^*|7l>A};^=oI}zu) zE60~+{^0$w{Lj5T|Ns4-oBH(qg>|vJt-P6vbKB%rm#xY3zcoQ1ei{pxd6Yo0uBG2q z!{0w1_vf$M4;q+r^f~@|c2SQ|#@fEyr;?|=);_L#y>{LI%!_WJcU#OPur5Y_t5I8?`z*zKmGLd^!7FWOK*Q&!NVp&`=5+&mmKy?u_!phbE%_n8ST;o)JfP5;l|yL%+8^f|ly z|JxQ5Cfum7n&}tqzCmVa8 znf8CbT;^O5s1#;(Y_4@V%NmEWkHzUPFD;#Vat#B+g^tzX>%-JGirw6l>dnN!AlBbu zxr}{{;Zh!k1(T1=oVYsOz3#_{#HtSu8avlG9Cle#($f*aDCXqTD7KM_;lhgI=jTNA z`Zd>Rhpq8oU^wtdkkLK#$ZF6UfmbhIdNMG~O?&mFQc(K>kNoe&$wxYh8d?p$E>K}$ zxbpfyBXjHN?fLiTF)%b7RaM&U zhPw`+rai+3hjVkS!*_tz9zbi*%bnmwSYii0K0XdHw_kJ3>aew5;9Six*AJqP0aPgM zs7XmtfwT%sn)iY7y+fH{p{bthX^7yiMu^pnZ|?86hX|Eyz6VkVF^pj*#4-r)1jJ|v z$Dyp2lVL$OFE6huM1XSw|DQejf@WFg0K}bTQ+|D`0>k!hlg1%ysZ0iSiUQQalz>y`u0$h z7#J9C;&Gu8q_77o-Xsh&lYxO@!d$Sw!4h~~YAp!qAc0j5MypNm=-#mJL?$guL!Z5jj`TJO8QxXyszJC3>^!>iydUyBN z+cTbNpEqybmn*^kp>@w(98fLj?Ce;k1WEEBv#Vdj?O|Y;Fmt#>6KxY;E$6N~d#k@+ zYG&uZ^!N97?RvYaFB-mneqrlgzkKOgTU*<&e|nnk>KIroF*H2uh)ml%KXTI&p-tbue-A%|$Uh6}xNLTL9a$~7=-$3sYf~+?t@m~o zFE5JRSF;m(fDOoSsRer$XS?jMva_>${p4zu>xruO_x73?7zA)eK~iSJx8hGvPJ&kF zNuK`x{{H;7_IBa5#sB{NEO~lrYRS(}Pfs;0{87JUYsB`v*sA}3zYE`0z9+rA{C!s3yY(d+!W&$GWgIM{s3ehSPPMrLNy^kQ}xBv-mj+j8vY=Jd-C54UT7%u;S^YZJPw zy6=D2K7DCZBcn;%^6%?qti22>#CH}y7h=$va*steCn-s(_V?TEpT#!#iJt!mS|u~} zIkeb(AqHCZ!`@5wvNm8#t z)7Ma)7kK$(EGGEPwVJvhHY7PrQJX=BPbtjm+S%FW+JTvQf@hBvLx$lPN;XYa_g|KL zyiYa5{QA0B;Y~~jlrBzRz?l-@-BqF)yQgAf$%&AbHTiqLhW+|^!v#;#P)|S=!<2MD*_ODqY<$HHVFzUAr;MCpva#QR>57r2YCQp&$i{>7J9NR>*}hKFE1`0dY$C-8XR>O=DDmXnNl{V zMoJN?oWY>pEa%1qH#aw~^}8!RCNVMGn%pt9uju`~y;t(~{eHI_8Z!)M*1x^IU0hFm zBa_4LSKb#Cl@e;dya>!P7Zw(tS{l7AClXqM-ManbM}<}CtB_qaKZ~TKrB}zWv9Sf! z*VjwQ$@#4gU+*Vvp0`Hl^us?tKfgRRRoj1!zl4<3sy~vix8&X3bxQTR)z;lN!o>Ar zR^+U{F+X^FWX|Fn?HlhtGLk+8t7>jkI!#U9VSy=`e&w}aKa&zG;4|JwB=YJONp z!e)=ijL7xH&(DQ^EBq6=dg8>1r&@0O$To)TZn|uECzb;>DC|&op^R2CEQEqu^VfNajM;S+E z6|PiI;1x_b_7}9mwsKBb*WZZqR<0$#-tB%Lc5SJsl9DdBXR=m~_LRNb!diDQ=-3Eq z%RYX1xP4_TtQEAt*0n=iFj?6#?vA?Cfw0y!g7c3(HkD>~J0q$1CaH@@Iy7G-YKc_Z zx$-~K{qhS7m6fjaes|lfn5}%U?B-*a6Sv+x-g4_`w>bCo^-){3Oh3=i-~XrR?#EXp zS7&SuRm|S={_&+3yF#3=9XxpOO3&HZ=Hhzxb$=?d!g4+@(%fYjcugd%;oQaP3!H7L zzG!S+ee&cg((4 z%df5uU;gmnL$3u=fyqaj4GTBv{Oi8$8u0VuarxzLbL{Kut{wRJcKdyB9$$0)ih}7i zZ9n$-ZFz;YHhH#zX*O|tm(Q4A_uuWR@WykdSGVln|NrB@nuo38TBp~=?~m)uPp+Qs zo7bBwDVUe@Ic%2IQ`2j@aoKM!SFFqWBK=$Y+WRLbCojEi7+1WA>d{*a<=%qSuYQA0#58j)U1e(aO%s#NI?CmWt1!>1DACtX> zkKLZufmUpIHQ%b(!;!rI*Q?cSOqVMD>}0ye;ja88W^sayO@Av!j1=+$D z@8S6JXjjJ%&~b*MY!j~jFwTo!Z!xuYV#Pm>$CdY#gLz((=N2+kf<9{3VySIgR9Pc~1=&R3$x!zy*iv8A3+P|na>hAoHcQ)QX z<#g2TTK+ZzvwOcmg~-Fwk1`+sb$Z`fmoX`Ovtaq^Bj2>FzSgkx_a0f4+Aps3r^ljZ z8-q#GMbPYkotsYgcSq&m`tD`(!d$ofI;lQi#ILgVLD}bLXZw|J%s3+TdPmXIQ&-kh z+*#CNDrbLf>%_P6!4chY={cX%mfc{wP*){f(lKw|yesRfs%uw68W#?`SGKhZ-oI*e z)9BE_`hU;s*R@P?J+O_!Jm6WQW*4W+v}1eA?(u2yZ`yy?2|ZLM$qIo&sz&hLo5 z^X#&}z3!dqf~jsUx3o6aE7$Zr|NCNbf7Y$#AM0!?J|sLW-B`ETccE^O*xz$v8~n^~ zS8uw>x$kV3#%7IQy$+iv2ADXV@384U^7v@U#hq$1j(r7fUU<3kz4EU)xu>!x?x?+4 z<$6HswQ2YR$?NjARVHum?cM$9JBROV(e+z%s$F_+aRf&&?rPuE*S9g{ZdKle zRLKjXU1KB!<9+t831z8C-Iy_l%Z}-A)s&+hsh6$Ng$U-35slhPSFshd5YY zizX)eF!#Qk73`WIxiMkw!lXOjsN;yZwk< zA2Gcn(>(W9$Pb&Voh#0+3Ey+hE$J>t(fyjwXRmM>7MdkJdU-iDdG6z&^ZPWa=Nh(} zZc}HN>l*2PJYri;j0 zd2*%8tgSBHTibdCKZ>obzq3C>DrfZ+*EJjMr9^M9c~O`gxmxL(+xJYCiyQeaZ!a~S zvF_>L=q>Xf70$lt|FLS>{{PXU|J+zCZCloavh)cCAN%fL8|=B<{{PW#@pPU3%;mjq z8w>YGY+rO>vz+T|(N~;_*^%qrjyyi{SkyP5H}z}I?oAz*-*g$~E;n~jNHJ3Cnz9Lh7)9!2l1Dt-8A(dBK^HD@oo>BAyXm=t&; zLhOv5+4c4D`Z00a?6U&5?R|Z7dU2-7G`_R@u6KQ_HNKs_?YI7y-#TjD?`~~f{jkAw zif={i?y}r0w~K#Y^OmiT-5vHh`MT1f%Wi5rrfGI(_RHJHeSY2ZHeTernXn-9g?pg> zEr;v!Hs7~NCnu>Yg*Ax1di(dSef+z-yPwzVF*7jeipo#hUH|{z@ab9r}nh3?oh^TYO>>Zxz%yPY}y>*}hE*`=?lbI#AR&AhzK zck1O^=BsqJ<(MV)a%?`)D{X$M#wKs=wKb8Gqg0hHZ;IHS)Agn#^>QZb8iu*2EziBw zIB)ws=B2(ax9b6}3sK(F^?b|U-&6>Cg83pQ!B4HU0RMSO%-f${R|il=Vc+{&`fqVP+CnP|KQNb!A2dhBNIy z?mk|*d>*I|@MLrL^>vpnUkZ2qA$i%>{`Z^Br=Fbq@w-GY=vc_L_4|Hlt&P~IG|~Od z?nRzEHqK9)e|DQbXp&Uoz_Bei{J3fvD<*-O^vh>}77Sf3zh683)!qt z?_R!K>5~X*a)Z*x)E}|ReTGNh%l5ryVAv4QCu=?J*YDrKi`T{Mob*EG_O@K_*Vot2 z-&phY)zy`OALT4dUIb)aso|S0B_lJ(IATqle6YQ8P0!1@ix)38&J!|^v%sx6T(4sSjTyRUcTDXQp6n0mZm6lNUv}#He=?Cv`@o;h zOb<0BaM^O9Qz@x+)xw1fPc5Aa+RwDJq=_TS{>OvnEk#dHZAm{rPxAVFyV_ksA#M?# za)PUliQIYFb?Dm4q)mB(zxfty{;KxEz)*9s?4yej?3b+|MJ_|azoT2uZR(usx_o>3 zKbI0I;mGCP9b0u$dY>9vmhYOe&H8#u9D|s-ptkJGozLfapSSy+6Q%L-&*|yw2-}8povVIX5RUyvR`sv%2;E&$;(Y^7sEWv#t1`@N`4T%S&JWzORQ4H8PlF zm6Vu(Mi6J{OPlBUu=C6L%+>I-j~Ce(x2M8zqQA>3X|tReg3IsisWb*HXMZhRn04pb zt*zO{a?0=c9iG4Ty>PIqy880_fA8KeOP^nBc6R&odDVJAFcpdJg3Qw=asav9n+PzVG|qEubnd%huL*s=t7*d?`Ov z|C4Z$Obm;G&D~}1H{Z_ou^DI_0yGA}P+}*j9h>~~)6=P*D?g^MKJw-2 z{oi})4hvE35QZ7Rwsf+sksgv>E2QAMpzB z^ju>&(e%*ej!5a5XQU>F|Ni~^^85e)-iO;6Ub+4HHV4ExVvAp2U%%XKYHL3;Gjr$B zr`Og-x1MfqYZL1BXPNj`qGwv`R>Q&)#k1eHX>~`ez8nt9iHBY%cWE=+b*yy{pCz>! zv@mz7##hj2Yi(`qRFAD%`}%GlD-~RGEcgEd{(lQTbuX`g4&#b#-&C=2=I>+wtJj1^ zeyIBS>8Z=cO&dyba&$~r>7>1zqOkLYZROKbQ?IPli`x^iW6!mSEpN)g*T?yu-BI>7 z>ft9)C*jRwGvP(k)`qWk$qp1*GS9kv-KKjVpO?%w&-Vk3;xLr3i^|33-`tcsHQsLD z|G)2-gATl!>S0>Z&)}l&%$} z-d;1a_UF&%^Osl6%igG2B`f%Mny+x&n^ntK&d+;$YwJoeL4UUj%h=MQ4CPZvXF1Zk z=dC_7%QTy7`t;V_#hnJ*FaExk{QuwI*3-#c*?}(7g4zss7wdzwH3P$iZI5^w3%@x? zg_lh`$}O(9lSv-F1)WKxb*6-{c$xPkDi)x=4Ei~iqNHU-|!k;OCz1e&pBn`oGs#3Z^o?@z&paWz+Rd6Yd}0_V6_|;pbnzRIZpS zH#f}rikn}t{KmA2Rr0HItTJoz%{RrlCcdrdDD93Y|8?XBGdtgz9l3va?(VCtW?E3) z0iHTwU|_g)gTL-WvrF-#HQlNI{=NTi_xJ7nf4QsNTf$wJukZiyO5Oga=c>>-qM!Qz z|L9L|NfDI!cYFWeXy?lur<=}zR)bD`o;`I_?ytS?Yu7J5Z+tiY-_v-pV+9+}{(Cw9 zpXS?pd#$f7&WS&EP9VmW&Ztly~>-Vk7uF6^y9=Im5 zc3#zyx9;xl={o%d=J$So-E-{bwQRd1zkKWWEz(@mdt?WLPTpQ<=403u;A3i2^u!}p zG2F*SXLqgg$IzRZ+mxqupI9Te*)>yHS$Spfl-55rAQP*D|>y@5*`*_vUTj^WhF@qY{{YYJ<%aYD6mBp@$1#4YZ ze!koNe%ifdIv#UaMMPEJf zujhOC&DWjZ!@gDU!59$tTw%=G* z-1=|hdY>fL7k0Lw8806L{(s;1e*N+Krr&u+2Sa;z&|s{^+kDT@ zv7D^x)O~Wcpx!yPZP9z){V+aa*42=|?XN^qwW-u!H<^eMsb4Gq*G6a*`>tBM@B8w7 z-)@9`{MYln{^ILZT^l|%^V@lR?Koch@u>Lanyy;;_b1)%{r`9?zUt-DOB`EQS;=nw zwO6w6MUG%;N3N`Wy;R`os?g*MH>O{mpZamL(zV=Ibv?I_(~8%R-)Hmn+pOgrS8_MO$`c3iResTPq`tYPh)%C^ zVF}AWU>@3%RQP|B=6b=^M~|G@aYb8h`&Gp#>yE!-hVeH;E(qMtUB^(kYewHq&*1Fk zUDw4JlOq#uo~X7z;_|rm_qU~G!uRhBcA5S9*Z)XquYS)MxtBz;8U)9(=bzy={nD)K@ zYsEIE7z>xKR%+qz#iBM;;n zcEZN17+yqO-LQV5$J$WGs8E(h!F#6Cl3~pI?lj(V>JZTPtG?%x5^*=~Zh_S2S0$G? z%4Xk8yZXXhZuMNIYpK0e+b?&oiRUGs%GAR(9>rko$rsk6O9z zka~UHciFrBH{!PDY`zgE$bH=I&9=9qN;i71%iq?zmtMU0`Rb(TqkkXm-FD$))|}H7P~xlciGv~-@0lA*Z)7#DLnOiy{`T4N2NMf zs{g&Zy1MoL{Ehm%6?d^Oh&ccD_I7pQGtK{N^KJkA0=4HDt{guf$iTqx?05O$jT<+z z9QZFOCFQmD!H&4{-PPaos=mAkeEK?lUZt9DB)2VBg@7Y)Q*lkzI%S%09IXB7`u5_#U6ZYotjj-V5c7FYGKiA&y6Lbi>pB}pL z?5g*hE8cIveC2AZ*zJ|O&MvEuKUNmq@%E~p{q8Q8jNk8ezdsitSNP%LVt3(g(CW%d zM~=8Wef{+G^yT;B)LGeInQ11a-m~yvz90iG90WEpJyA|tD(bR^A>iH9>G5?+I_s^9 zpZSFQxx8ah3R}Rc_V)=iY8V)v`5syA%J}-!RBhHZ46#Tv&1Ys`ym;}@)97tEo(v`C zi1}E9e8|lB^>wkF4ezc^XJ8Op=-w~4^!NAo%R4(eO)M>Eg7zb)o}8q*a{YRJ+pkxG zL6t(rIrzN!{SArEQCqV@nHKEsj9_eVReyAK2LrfUb0H??5pyx9iv^mKeC#*hE*3JC z?vT&K5aA+cQ=yQ+%D}LxgH-X?S644}n5u1LYVcgcaA47=4-XF?k3as> zcDio#w5qBqAqEBqZ66<>kVjWvy_fs=)%d*4WYB$Hzvfz(uPdnZNsI+Kgkdts9jUKG zmRPJ^-XO}rkg@dMy?dwHpRQ8Mf>`t5K;xmOx3}l}GYEjDc*WNKn133yHPh_t;iAct zCv!3+Ed2Y-e1GL5=6@R`jwW<9Ha4=9^v^g{_4d|Q$4kg4~FQw7y(CzEzrv_Wf^ZH(# zq|^lodt0#U7#N}wvi21I|Myq@5FbN>pV0qnD}^>NoqgdAl{R?`8d2bvvsqCi%lLY( zb-9ZygTwL8&d%Pg*P(!B9@PM zm_F+0T*DN`ups#BmoFjz?rtu5d5Pr$4?GaLT`veuf4Te?E5i#B!$!FUpu!5`lFtfi zQ;xDSFf=4hs(^@q$W6wbQ~M0f%%(Ajow{%#0NPb%V8}`z6v+mu++=Vl!yTuw@lcm9 zc&etRcIgRd;O&LU-o1NQE?=(BXyOfCLj*eV$%$Xi#^d|@`=Dh>vTN6`*Vm2S=5vP2 zWT`ncC0!5_Tz_wOx&Hw!hLSy?frQ=V?|+r^Ul5rL>1*t|0uH9A=NA{dPwm*MwQSPS zm1T?!R=$6BtAonJWf$~gcbPDnIKi!C5-bQg`m%I>-LID{3>P{dHCtchf8P<&nD*m_ zJSYkn7#z5LY^S~p_P3qNz+e^Xvf8lJ?#TYeW&f->7RVv_`BhMFL^FJS6+~+To@Gf? z$Sbk&Ojg(K?XA9i<3>c*u@4^#ZtbtHUsU$^@#B|=TDhls*TkN;>&TV8Edz2*)Kk!$ z?2%64myeEigXU&4&(1Q<{Qd21=G$9aIU9~Xe0O(uW>Jw5Bg2+cm;LSMR#l(1XAzs% zA!-%jGUcq>nk#xuSCfzTh3ak3yX)1P@ulu^?EbpiW1AWq8$knt3=QuJ|NQs}8h!HG z6IJ@|&d!o2Cnla^Usc;6n^4&CpZz0fT@}Lxt@HN(Yob7N*by0^vCfW&isOBL;m|lNrC|$+O&bI_KSO(fh%CJGeWetOG7P!h{U|0p( z{2{d=Y_47HE^Vc2Gwh@X_SOqrhchrR=0ouD-c zrOnyb*M&M=d+Fxp7G&N1H&{doGz|%|xP(biyJW-m`*qg6{r%T#ejje!H`be*eDw>+9>w7cK-meI0cq7o=qYXlN(8NLuV1XfRX##5~L5W!h@sYkKDTAK{YK zQMy*u5%IeG)s>Zpo*q7YIJ2ZAWD00`>4B!3dn${gb{3_ka%Ikp-CYJ=;ufK?m$RX* zx3^amx=3%sg|IadfirJNDrR3Sm9P7;@bV?l`iu<=e3Do*oC1$n85n?@2@DH#U6%a% zdOd!5@$+*_yT$eG;=Y~IUccnv!GqvBhuiZA*M+3NfB%BoCk(evg4Se!P6lAeP>1(p z85kIhj5|d$s$og#^o<)4PlZmiv9W0d`#(Nk`uf^Z(EKE5p3<-E-=CkB`NFrCpI95c zJ!{whl8v?P?d|YIS`ONs5slkQe|~ye^5(|Il5cNrdNo+yy%J%ZC*0Q7cB%UP-s#(N zZ%?!G-E(jLzc0&I25#(Kb$g{;^!7Yo&=4Ic>4NdvE3+AH`S?WI7CdmMdfaP%X=U(o zF6L`Sf>rNsZ`TK{f#zkM4OR&vo+JusUkFojy1Tc!Je4b3TTXr1rhWha{RVqls_^l# z-jbJ>mP($!zAkol*qVrsM>c^b^!3E`<9x2Ki}g0ozqjU&nqKy`HJ; zK6NkL^>vWSwY7rU(6vM$_q}yG!nLJ$#(`bQ$NRh*ZfUji%dh(r>3E=%<5+~wUT zH&%at=iA%yRR+51WlMYg&*}A^*5&W!Z2WU(rg4AsX%61|wcqbXF1`d_b}+TWfa$~! zhO*6u510AQ4l;IgbGvkLvHRtk?(1^LZ)e@L`~CgB|LyJh^)+{+^Y@x6KkLbr|Gi*p z*4_TljenD3rEm79zF!^n_U2}F(?^H-?M1)~7;{}g&a{{iE4Ja=_wUQg?^UYr{rBtj z)Dy)C2@5vaC|%MHU$+FbItX-j!aZ}RYoHVXN*z%yEm7Yhwsw?eeff8LTP|cpnvRm8 zpmEZrmy?}NA7Q!FVVZpDIcOxjR46OYFxSNHP3@l_A7{N6zOC+b>4!1X#h6!j`yYb( zF)OxS{th}a`9O`(MyA|{Z*Fd0`tbSf{QYz9RlnbR{NbyRjXIC6>^LHFd6Vb5!VQ1A z_4j#nM;=)Vn$DWDz5DwATiNT+M(itneXZof18^pA$UgGqT-D*@t2#^`?=$q>63l#} zqISAotXJ=fd77H;CvLr|tNHnK`urJZKqG+;Z>xkIq%F$cL_GY&5&YPpH1L2`tjoOl zb-ywns$Axelm3|EGG(sXHs8gJ*`Y0K3}2S)JNo2$+PCD2 z&u7i8i|j$Q;Tdy5?F|o<4E7d0Jk;}4aPcvgYgI09qReu)X?lF!&kF0>9}n9zKR-L`f2Zt~**t#1d49a9$@X%#Ra-XsZRCF}^jhMz)%Cg_ z3D9o+hF@P)8(7P}y}5blsbT9@!PnQ;u8vvOzVYMtj~_o;F5d-81#6?XFN->|>;A6N z*PW>!f2`mCuPV#M#vGii--F`IUin0iG3VQRd#jJ-hOLbX-RUABxxF*OlejNGqs;nzl;I*`H*814p)9ik~ z*?i^l<;l;yO(*sKl@NS8O*cC2PTJdBTc>)nY};68UH)#(n%gCUhmWbo9gk7!n5)~h zwkvZ>;Y__n_oL>4PEB2Kw=<%VwH!1V{Is`iLE__My{(sHlOtoyXWv}5)9*VdeRM=9 zyR7~C59A3QzpD~kb!z75DV^ouS3al16{*~{);uZK{j&OOKT*Z}m}f$_U#(uh&r5&r zmmpQK-UB83LXxlCFc(~PPW8~m8Kv#QkpJfc4+CX^obny$_%k@R!#O@9=)?D)t50lG-q{(t8<{v zEv=6?HpXpbSrb}#d(p|=ifXSwi73Dtl!%TUKc24Bow@9+26uuhcp3B-FWbPhP?ia) zldVpx&CpXz70h0IJL~havzhx`dt%miM0BeiaTB@CX=nuMaq87_E@0;67LSMycS?AqTa>h_*%zkxQO75toQT^{vM z?#KE6f6gCzYX9$JzjW0)-`QrOZ5zM8ySw`J$5Y=PAM2HtzSm#>YkB=F(0qX8Y0ybf zdq2%s8&GER`F8&PuYaxiPxWbosRUlo16_-DJD9F0<>+5Uo>E(ymH*_C5bt5b_ z-EWq+@$H>rpv7&yTG8h6OF;3vVy@>Jhv=^6yX}0kpy@$|3w_`zx>N6NubgZ;`)1f@ zTglBckLz<6LxN|k@J6OwO}-oQb~P3t|2kOD>i;n@N$}vkU8UMvXQw>^uU-A;pAQOS z28N8_Me(5C^SM-Lt2^b}$K&$nBhog3XMOIv9pT!t)FQ#&#%4}buALmX=6kg@@9r*e zeS6mrB;DcLy$m$I0*Y}4h6|EaU{w%aiW;nw!N9enp3v6nmbKB_ z^T4eGtH~Xr5e3Z5%*NAtdwan`2_LhcMcjXSdOAdp_Ytl$TF0j}UtJx3K0=Ir+gvps zkZoeq7cN{Vd3u)RwdaT5fduCI9^tYHD{H9S$IH(zu4iBNCL-&~$;s;A156~RZ%&7- z=}f2-sZFq*V^ykUs?_%x6lfQAx~w^n>?)Y;;{iIObC!Sf_B`E~e;3{5O>GuF{P6H_ z>*?;e9fkp_k{iycCb5F*{Md(| z_EvvC_uA!JV`Jl?=Y7q$et&!G{ne`EMZm*fZU>^wzHXg-Ef4@W@7Gs6nk zo9x#fSH#|AKYuz8bY#t`>#6d$Ks%rkKEC#5_<#R){{Gksg`HIgESxTHYQB&Pny#L; zZ2r6Z`|Uwnc#Wscx2@i`sivf)pT|ocDh3_c-5=88SV66TTj3WHw&c&ADj(-fvM)ACw=N z4m!uDCRS!oUupLZ)4cF9gWVGu$_=%5h0#daO+q-fjpDgaT z^SZq)clAr12#^Eb`W)f1QCzmM?$5{LnaBHNxrH{lD_%EKK7u^#H+4?&d2;*xb4S=nl;IL)5~UQF&)! z@87@EbDBSX{CLXn&JTs(SB%5Ys`c%j<_bPtiQDxE*BJr!Hqfpe&_ZL@nNK7?rpoyA zdh+(RZ7EFnKDYedN*SH^X^R&xp8D6~_7!k45u0vt?Xr(dl&E~&y64On3fJf!x)gP^ z{j_pT?vooKHvZe?Z?EnOFzx&3D}LOMU&dlWmZ z>dM~!y|yDl_A)5-SWWd@b70M*2N^6&3nMwMKJQz}1lk83v&=ue_k`)S&A-z91l#r4 zxc5TLi7ULLcj$`6y7GsIT8|(9xoXw%Z;yhq-`w&|df1B6RQ)oH}=nWW(Ec;ckO!f?CJMU zKC8C<<98(K!(#cr8OJtpSR@;1ZV6ib&-xM8QRJcZNNev>isOz zxXbs~Nl=J_5*-6#q+x+>Z+}0y2)3Hu0hvV3@CF^t6=P>(GY6zN;tzC{l0&pr&5weI zMc|PbhjamO1!5nRV}*$I$5)2VMqA(+}qQ(<=veHa{CJ#=-@&^91lPLa?qt3>wfd_ z@Pw$Xb2}gv4@yU%A{eBU;lQ4b4pVU7IA95Es038Ar$LPXD;mnfr^Jpl4V#@-kPZ_# z-iFcsu~A<^Vic*F2NoExf&bBb1rC2uR-xjj%@7l1C?g|Zn&rKk}axAS1( zX;HW?X6GfIk4MGhP14WJ$=vtn)9Gig*YD2*oer_P@87rY-)A51m#;7Q`}X$s^v_%j z^46fEe8AcpgkLP5UzfFPlELe(+1F=ri|d)_ynjBw{+$iq{(rx+nHfyZhJl(oV8z@j z9hHB7eT^)?&SK2Suncj^_<!SkGKi=in5FP~rg6I6k65NP_J6+wGcy>pfX@g6 zE8tc=0h&!ecb{`36N58|01Gn|EXm*ZbJ^!#^XvcZWMq&?+6`+Uukw2F{^{xI@-g-A z?(BTlt-tTb;nJJy{(gLX{A{-Fi=4}XuI`uzO-^T#HB zd{VlF@z_tprP=Anrp(Xoefje8^7qG!EBeaH%V*D>JNMjg*=fIhE#LL1&h;vODHZ?k zOw3%{>TSh6uT_qlCja|-J^p{e-z$pO&iL=X_c?u@{`IZNCzi(k-g@otpUN9@$A6km zdkpHrcpkre&UyOEYhJz285&$chnRtVv|!Wj^7rSM3fpa~zrCsD&{N!LUH;Cb{_pE} z`yH{;Qa%Qtt4=oufJQjdZ|_~NbY=R2=y~eX4>KNHXSh}9-R`QdSsR<5gF239_f~(m za-I@fyk-0L@9i5?a@tiTe!jT4IBg9J^XEO5b+N@}_Rqdal=l|iO{tZwv&}tFvZkf0 z*yi?wS4Ks9Hhl{>O}F$j&%gKQ@UD6PW4G)-eZzQ~w0WLM@XM&h6HRAbw+p*=Z*BB; zyB&7@x<|Mic%ym29$;YD5GM2pw6Qb2VXOC{63z>;yGk-Yt((D_G|#@i?%R*kY~0b6 zvYaQL{tNEYUU>5L_4ViFs&5`Y`?lyeOGmh7viA>*<4TTC?TWAU8GhdSW@9`%=l#Bm za_3phggM?Cr|+zNmJ^z7|2#3gVe9EXl@_iWw!gh}J9Sm*pAQcYpL>1X(u4QFNhRn| z5d%ZEisKIL@O5AKdd}T1Uu6()6`(f3GDWBT_|$~>%-f&rg!p`J6lR<-Ry^Dy9Im+D zI9dAlkIFeMR^hTcWEW-U_P+dgdtL9wg?HDiwK=z`@$%x7ckS!`_NX4$KUU_ZS6X`Z zwT$$Xvv(9^6=U(T(d#&!(h0@y>OWzoJEHEp!cXL{1Sq3Uhj-9wO zO)mM(&q%Il^#fLBHQWrRZ-Gjl2g*~KehO$lSXMA6_fn9HUHQ8?i{3f>{{4II(Qmi6 z=bwKD>JZwQah^ZR{wt_@N5R8GYxpL9KgIb{^}(zOaZDLYKg91|TX`>;f8vL`iyC60 zg-@o|Y5(leez-R%{H$5Zk2g0rr*&Kr5-YXzJ*#$m!S=`9XI%9pgRR%~DEFH#EqSXW z+u!pVGzZbjY#g7ftNGZ%!b0Pkhtl!F^z`(CfD*5zhH1Tgg&_^5#aGw;KNI!lji~qSHRJFz&(4_+M`OWuSI&=#opM5X}&0zZQmFz!oU=P(d?fSUK-tE$eC_)joCd{_Wehe|Id{So?S8>7VE3`_H$_T{g)eLGwYRRQQu!XCn1(n(Y&Lfm&S`gLKZZ8wcmrgN9jZYJ_yW8@^s#>@Lp| zv0LTNwA<5kUPVO(-P&h&@KDM27_|q}6z(j#J+>^wc8SaaFCRou{`_CQO}lzk;HgVLu9f?T^erF>G$ zeIbe1utT|=XG7wdKK`K0FN=5wzvi&mcaCBKVp zSBh`R+{cl^wY&FDJG85^PjS64!?7En?AY-A($kdk^6w{ZFI^D(NIRe#HQ{&ndtFHg-QRwd_z zeC8yr{vISzK2s{#GcNf0jiS3Z-rh5QU;Df+?ph?%n&d-$vFmlS^^d2#m|-;U@WC@{ zW?p$YZS8sAy~n&BOKB~9SpEH7ZNcBWyUWw(CQT20buWr*4)XymaK(9GPR)u-%blIL z_Gt>0i!LgT-KH~p(_`}XbGroQBB9xo%N9XfaV)SS{*W8?JGa^08yJge}t zU8m@!cx{{a`%UXNU*RlY_3jA6h2!9s49~Q80xydKwC>o~{3w`|dk>VZ`VY@2NLU&D zYR0zF9ykz>^>!H6Tf8SVoz4VUaH5QHY^X>27*;$-kaCUWx&hfV8-rwgZ zojcZ(dn$I;t-jN-pHhFNzIp$?T(0?w<#N6a%m<9XHEY5Wk#gabx4#OMj{ecywiMKq zvg1o;$`3BFxoeVqXi;z*_wsG;jvFm3Ear>QMt>t%W2K)D-%KS zkg#I9e*8J7BF^()U*`QZyyo_4*86*VZ?9R*qR`JZciaB_{WIpy3cvpPF49){j801cC1|pw$w>OgxkoRVFCYB-?6*HL**-tpYOUuTF5a?x z_w6@t-jv*Xzu`{)sls%f-02PLK0ZBvCe(_jq_=SHlO1KHjx&BW&jPo4p8sKYmvq*9 zdu#pHchAos{$_D*{YIJnH7^XGR@|z5VRSWWO!{!>BHFS#W1 zR_)!pH}b4zGIdw*n%BuKRh_N=0MfYPfu@}UkMj{<$Xc-{ABNyGwkh` zg&nF5Umq76*=TYgjG&oxeNnI9q`6^T_1y@9)oF;+)y_(0Tij z(-B2~isbs<_RM)a|EHyn{H!N264u{ivrYSV?%sVHbm@%el<$|_uPU9JV`*GnzbB_w zw{*|OuM2!9TS`Sgf4!;e_?y)s{U@iNTfV}2_>k-L&oY+5U;gL6dsMOH=I_Uasa1T<1Mu>y@(!8HyDk zRc~KdmGwSl?p(-tEv)M$=b=8{$OPW)W#BeDBRt{UUDjSr(47#JeLE6>NTa!s-R z`Nr?k_G=SodA^F1pL`|m6YIUnFW%hTJomc)UT%TzrFK(4Z(Q9r_4TvtWlQz5m$TWp zZf0kY0ACn#Lxc1DS#jrJgM98>O&;|n*UQR07Oo4i$lY$bzxH>TvCE{X$^ezCW-QO&nEk;X^<{rh()_ny$VZ2OE1=bo9}F-FVEVkF(=vc1aR-O-do zZofGgfZA^}dY78qx9qdFw$8q2xWMGt!o~-Snbyo)UG_KqoKbwPIEmRvAGG)^A5BARQ zP=hJslbV7p8arnHPJ3ISw&U(5c zpIs=kgudfH z#)6Bv-trPUXl*{<*cQFBpEo_uIzG+vHCId8n&9%jx5BbOh1rt|Lx7<`Rg84&s&_|vE_=T>BB>pUhChryKA!imY?qW#o6b6 z^=TXJmyDhs^r9ft$Uf5kCEsq116E78vzboDx_-C0wl;cu)!NNx3Rf!JH9xXfL*s7S z{NH`qt2UIpJiKM$>qRB=)<53X$-uxcM<+SUXzBNxr>_a^dUrohc0b>)tfu6$s+F<+ zR-V@k8Dgx;_x*ac`kBRAtC-no{IRCb%4$~^Gj4bXY8*85PHOr&;ZfAP;8#~JsJl#e z%DDcvJx_8zKjWpy&E8DSwNto`J6knwyB*-0_=-<%>BglJ)~LbbvGTfg=T>zmXm*OFI$+p^};&dqOr#h2VRJpTFV z>FH;+re>YV)!n`N+Kl9@%L7@Ut%?nSZFx`kX6*iGC(rYwaGq`Tw}VfAzu%wVrd2C& z;k)#&rPmF?ElnrQp5425-{uLe@(r%}FrhO4@Y!xX)yQ=Fe?K0t`1!g@HnQ4TezVBF zGqYX_|Cw9W>nqEp+u84rv?}&! z&DXDxmT8cMoN+p+r6{ZS?c29B*@)vT#@@$^a;{I-e72_KwqdOFvR6N(mkMOx*W0_) zZ%1$+sCVr3>FFs&$9;S9^;@4#TdQ4i)g)-Sg!HkR4-XuTTU~dvKef!ex2G~?t#aZK z?eKMH^2|f0-weu4IrI8l?f*Z|?duCPuj*!<+%t6_!=2~d=eqkI3;h25`{>-#UmCKf zFJ;?#9lN?c@}R)d;>9NOU&S!25eALQB`ogYWS_RJX;q+0%+^cU62c;HH=n(x6f0lU zQ~T!9YpZtx+1u7x*Z=#oX7ce1{N-N9i*k-%y7YJXjLnA0vsXR#{2h^O&!AbmVS?U{ z;IdxOg84~TM1qoEtiB>^{C?{6+W&XI-ZOtJdD+wS{mJEPZtA>Jn7QB~=(vc)Yc}~z zt9PpWnEBtY;_IuctKT0tzFPKb>D^*EyBdofZXv5uWzuVvK2NiJGpX<^r`xo$JtyaU zjn(fyH*=r$Yn@w+Ssw0J6`y|!h)vdKt-iXGAwnJ87IU+F*SCCjnomT@se*@BuKkU8 z=G=zXlz!Q~Ce=Pgqty82??!e81_qv~4Ut*gwN^oD2clky+*-1G-grPo?k zPPe>%WhX;~Imr182I{ihpet}be0p(l@iWl9bGwVT&DFf7dE%Gh3A2XSqrXyjr9O$U zt^M_-`E`2@=!P%`=dJG@g?H(+N=9>jcv`kJufO*GozX~1H)vGLUYBPB8|UGmi>@$?yEezRQFw9G}8ok(e1bIZa4{p-)pm!zC6 z{XADYxc=1dJ1yTo6?@)O{?7SPHD^{sba?o6oA5(DKWp`NzO89LdF61?>?_BOp8YIT zjWAEq{^nZu<6-;F&);80-1e#{TBWyU?HTu`HJr6_*UrWECBE|fDU_%Ed5YAfz~jc> z=W5l=c&_!E$T%gxbV2khjg6f_0{)IxppM3tbH6tDhTCdhD_^_5hGBYg=&eI*x4eB65)0bj zlOVa$@X6j>>8fnz)wRwAoY#3dv(!3fR=K_GzFztN&c1fP3jOz+h2LmjJto8vb5-2M z_?k_bQ}yYVl;Yca&c|P^FuKoaH!X|j^c#`Os@X~l@0Lz}{QqwG{oYp@v+wrxy$ZQq ze$Hs##(1ssJ3!m{W3EfS|Fbh-(${GRa&;qb@0{|?r&p+<6x@+BaNzo!tIpF=qi{Lz zXIaFxE~Y};pA*)tj+p;=vY%|Me8|?hM!V#)PpxHTWMD{;1g*l*;jt`XpTB3iFGqey zOOPf%p=SwsAHpUt~vw61b zs`@R{X_c~zWAm@CkAMHB#wsPIa?i%kSMB`HH7`8NEtKVVcEh*65KH-8uVN~F%Vd}m zWWmD=U#2|zX5?C9XSY=M!mWlSN`?a#qqFW<=DF-Ci=k zN@liJ{|8H z>fPspj!QeUmTNFvn+kO$TYy%`vIDc667DmlS~)B`@ypQj;qKMa&pZo2M|Qt1eYaLy zKI%!$n_Ii|ub<6NosoR`>p~B^8Ijx9{$gNY`0-;);t7_^pZ=M?PyWn$_Qdb|S0aP@ zqpnup`1bSm_wzfScrSh{v540)O(xdy(4Tkq|3BN$?hm~FM|Pd?*3Z}fSuXXR{e92B zvU8h`@$vDc6`Sq9cZ-c_^^EnC7N0w8_T;wdyekWzWe2XFqJOFUs$%%hau$XjRnRE= zh9x5ZcQF-CT)XgE;q8xyV>N!y(C68_XInchcB7#?ABYuux9gGHU@@pR~%gBC1V{Pc={6m~mNc^ z`uXKI@7~R2NQeceNu8A_EmxHa#5Z1j(# zR^?YfGZ@PPSJiWF+|)VGzW!ci?JR>Obvz8Oy+A9gZfGQL+o4}77Q3zCdg=eN*FQ=N z-rd>BzwUI++44DW9)Em%ocHjWWQH9j??C6koh^(i-C^eXYh6S6?tR|Rj~AAQgGP75 zw6{*G{{F7?-@4W3*j}&OGH?ISXS3NDu7NMa*${ZFh1py2+Pa3@o4(suf6Ljd=QUT^ z`{-%cOG}F~etg}qZbHG!h&e2kxv>Y&q#i!E^lL>y!G)ectMX~F|GV?7pH=Lu`MD`_ z>6-oPoNDb>oZ7M5O6PgR&kbA*3=DqjO4jVD`kIyQt6bW6>73q%bzZx9Q*Cb-ax|1~ z2OT+OcdiA^b{)v#no<7lPG;WyeS6OwJ`)$5H~+)^8RxdI zWvS(7*Z3?``DXHt-m7@Jfu>)h{J$Q-n*e?sHO*Ztz_otj)l% zAuwo)oX{Gd#9boOqPNY?3Rgc{az{q`i;k$o?^EWlyzj3%Uwmgz<>wO@au0QY_SxRe zTcx*o>4YaUuFvJy_y=yCy?nJQGWglrF9$v6H+@|6*uv%6>en~EzdaOSHLccOCo453 zHa2^Cn3cKL=atr=?Y=o}+n!y2zG;Qsv|sn{-HT(My)5MSzOuJb%nYx=mwepN;Or?Y zmA3U-X`OZ`>vY++H(VRjY?7^3s=1iEnqR-Rh;I_7RNS75Lb0^7pVc6=3ue{r#uYOFle7!qPY_4&wb@!B} z9dFwmYI!ZEx4)9A*1S&Yiw5@#2~A>$^_O(XE=d z?)G{1$*`ci;7& zKDBRMu-IGUWqL1}s$X7Oy7bw*6_0nW;Lerj{I##S;5B|Gt z>%LUo>RZ2*k9#6gW2x(gb6?@gA9LZ2C9&(j*)rR`BEGFSRGVk~?G9+F*vwrzPBbAk zcsQLEh=J)-lZI%jDU-@{Zb~%^)vz;DfPB#3Q^-SVxSEnE5XoYJeJeYv||Kf7~gN70?zg3#Q;zoJU~-n@Hf#=yW3;C*j-+0|vs?reRDw`YVCA^tWHXrN|bxa`n0I zSHt5u)0j6HLVLl7qPhO$zF5n<<{R%p)fjV?6*CpmoGO;`&EVXzP4Rlog9%O*O|?rM z5}6uT|8lE2HtV=wM*hqRIeD`gUavYf`KRB9ja&9!ec14L(+8$Q z>|~ABX>L27EwBFk;3Cs~9!_UD3-9l(-o8@vxpR2O*0%>hgYgUu4z{39!hvHig;i{I z7`L?~9M2KG25quz?Aq`mQS$SIbDLLB;M>SquC~YG%hu(mUv9r&cY9~(wZg39rC(oN zJ-Kc1>5bK&o_H3&zqdE7zP|p$9909`r#p&x>i>K^?)W^>YF?VGO#3Cv*$&VfbxXnZ zmbB)|Rcx~gLfNP zp6&W~&(}bA;l4T7_y75H`pvGEZ$bt>33*paS%y7u#fv`${?D^t9K% z{PXj(e9Zjo6aBUX+lO1%xBt(}d%phfGuCY7j$ply7el< zmoI+mVGIlpTs%15TI{xdcKDpx3itYF>-V=f_gCMQ-Tz>9;68gT2`WT1nq8|Ns5|{ok(kR|zP@b+&=JeGCj6rrG`d za{1ZS)#01x$M3JR-OaE;a@+P=9?&SQJ9wU#fg!dG4K*R##@r5LUS|66zO)~#88_s-Q<1o^-n>X(S(m(P|jmInzH zTmsK=gP5R(D!BU#5i4%7c^LP@M` z;5IeLEfTra)xT>izJd;e)w!{8>(ccC3+_(4~f5Q?~s2faym6Zorgpzza9-p0U zzWM*PUQq^%m!Dea`rH5A!YFa-I{17C1_lPTPd}f}KYwTq1A}@j)0&^#`_FwoAaTzY z(rIAud2(fC@MeSKppKJl}J zZDr?ym)9{cFeC)MzqdC#ZhxKaZ()W9Dwd_MLO^}CId-+X7$v-6jr#;8&b9yk{eFKI zbld_P!vhuX312^-x1ax)(_qSeM~F)p)IQzL-_N;$i9x<~d;Wd1`v1T0r`I#_ECmfO zf|ML!5sIt*`|IoP|L4SZZ@bCL;5Vx!>~{U-OsPCuD*GmbIY%CeuFFEg^i#^Ng0s%{kE;niQ&M>sd=B5`^}y8 zcTPR?+5grY3m`o_kbw*gRhiCf6pwK6fQQl{LbOPU;Ep25`0UqLSBIYkwHF?w{QC3x z{Oq-BuYOgi{{1cY^Y{J#_cG4d{%U_U!!)>aHXH+8+8G)Mt_gj|2gi}oWgnV z|M&X;<;(`}{p)`Pf4-SM-<09F?;JUh1z=3yj@3443&nkZKAi@Qu7j;-xWQvJT1jXZ zzq+#WyZ!#^@9P*7D)aB}%Y_6E1H%Iq;iS~mZQK6s+*9}at$CwPgR1I}|G(ew-~a#p z<>mgcGL)gwI{f|ny{c)E#jL#c?K4WZrde(<; z&lwrKknew8P=b62!eEiQKA(Z%+lGe^AHuS|!%xr&yRe8JoQ}o_)&+~deEDMYx2m=l z)O0ered|^fc;aBeSC=&m4(>1C{(Zb%zhBPwQ~zlO28ZCI{HJZ}{``3P{`aq6LSV11 zy*QtN!Ro}nzrR6;0&iX)9u~HVm4RVF=&#>@)k8o^8o~@aMHyab7_w?Qg)uNRgmv$) zesg;}Q}@9yk00iQFnVxA}XC=Zab&>a;YlV;7FS*e!53%Z+Px!>GV%QiDH1lUf754e>H zJbd-$&6{og$6Kz=IC1N((zUbPW$kTkn^+kZM8OklgKQ1xv^cxx*Vaa7>PJLGc;xT- zcx>9&;NakDrAMp`v)thh-q8H?=~LPHlg;N&`6l@B?VUS!rhR?<_;F@Qi3uaaQ^cVQ zZxV8Ha*jXeP`n-OvS#z<&C%ER`T2L3F>LTggv4zrDJie#=jLkH*f^cIyxd=%fngOQ z-d7yDawTL}!9yppHDNq_d};FT^*=v7O~1y>uwnB*Sim}js;Q}MO3lpF)YaGL4rgSL zQh*O{t+;sMLclf#hJgL|V9FU77*r8%WMBxef*!2`3QvZmuVMGgFyv-sW@<)@iHmQ( z&(F`leB#83N96D9tv0{AyIdc17wPZ6-1>Va^vPIGy4CxdgW(A%%E4wZECmJMbiLSH zo9dF1lw|Ge{=9szT-NhEc5l_!%r84GK6sEIB`bS&o3y;Vzq7OR%0Odd!t2D#{+acBXKVM!tQNez%_^yP ziHidHY;DtT9>>c=D0;$N96gr z*3+{>OX5RU&ucI}V%QzQxWEv8;^zWhmoE~Noyxi7&ASvn&n>@qa@*@P!@{pir^nqg zOt||7G*@;R)NSJ`$qs#A+N1FE&CSiczDHOYth!;{5{4V4=6QEcC>^Uh`sDoQ=jWH_ zi7>uCIa&SkTM%a@W@YWe&Be(Pg=z0kS+(nMwVP4S>BJX+U(%yyl#pQASV z?cMVGwa>mcH#cXdq&%7VTH<=aZq2oVn~rUqXIE>*$Z*#eo?G6m`uX$ca`|%ki;rjL z@0$s_ZBxhNuFgDh`EdDzS@SyN)z#ECF>Dii{P=OGzm{&*+pr%m7WZG;nth#1zW(dg z@XMh4dpm{Ix7n2a{q;5HH)#FU@7mS<){m}urR=#}+LJ9exmf#p?dBQJq^=w0-#)7} zsrUIil{oFV^35AJZUmJXS)s3O*%)%*hf6b*T}_`~JMFKO;=`w>r*G%wdc2WaTrY+3 z;h8f&?~0RZ-z*o~>XWZ)ob>lWGe4L7?+=IhFTY;DKki3G%UaMOguf=+|D3Gzr?HjO5r4BjlQqX&&~C=UU^5@dS}s7ue>8tjBmgPF`v3V z8`Y898<>EZiT$c8E1pjba)uv@WHe0hS!f4KhOT_@tq^G+wM|rUY=g*uGiPsKVR3+ zxjOy)Jm0Mqk9*CdtXj7!CEbi#pL|i|YDZEsBg3xgNU7=L#CK=!towBF+uSu8Nwsgc zUJqK^*48%9FFAK=MQ_!*WS8}>mm|c*#Do|w?1dim#K3T1U03F+t$y#Y1?9|_RGxqGdd3SgD_BE@`6V^&dNo7S!-0E_; zrV_^RB2OudVZmdUJyP5Z3=Y~y_|F~{vNzaX{~we$w!~>KZ!X)k2UNY>bveStP%=f` ze;!8!BSS;bk^8nuTG=`b3=Y+&XFs|1q9mMwA<7@DX6n?b%j1t9ua>hYQ26@giwekH z5z*17A6-3l-}ce##>Pe#28J!$PfyoZXJD`bopSg>;p4=4q8~TTV+vznSTM7yx_Yzx zwACFeK&!+V8m@tk%aYapS18HAu;8ZIzYTYO{i=f0^QKe4L)wr8GzH}}nV0YwVaR=P zVWBf8!-CoH@{Zxwg@=dRgE#By>Z&p{lqtgNhZh3n@9ubhe|OjWYez$AWu+w}!xnCM zqH>U~`gl~l`1<`lmBv?-^YZi<8MX)`$yyaYa(VY_=FFKP{j0;*t1&c`!A{&_V90Pj z-Y0uHwjPvcS00_J9e(N0pBg5H40U+?H<*b`j_7u}w*6j}Ht1gKP|(4Z{>!)b_4R>_ zLO3!bIQ`t5ld<*B&&~aESpJ_ucW`&owcX|Km%V)X^2;&l{3TDHJ_TiSHg+ScW=+k-xV%vHXb>0O+2nbQP!$NBl`c->G63t({gfj zboKO>?Om0@_4dx47^~V}B}@#b5EXGoGN`{<^>XR-OM9!obIlh%m=*X!Dv9g$&f@2w zlaVjQh0b)@UHR$NpFcIbDn2Ha)iE>_!GpiSR(n~&u}dqWx92VW{QP|Q-#;_DtSl`f zuNL>qSWW`XiIjYLax&NX+FKug|8&9Uab_kaQ+$(qGfFq#ym_#M78K61paz8O9z zm|=k-JOC5UM@2-Ocy!cFS6BDyp7~kI*9zX;*!bnBczlW?=y3g2_uhd{5xsQgjE~sa zN!#YS?cT9thVIo4g@_|u485U2(b#-=(47;7- z)y9;hloS1oc3lZOsDZ40qx zNX^L5U}Wfhy|e!RzbYn%7Xtsk?>&8a{rviWKd)#^j$mA{cjghUH`CJo-(_aFAuVTD zGov=ATtY&^qqeqor6lM+@GYA*O=@`erCI)u!q@NH^VlN)?ELa}`+d8=e^2Z0-}Cgo z`=k8_YySOw&UwT7-xvS?CbAX<3Z{<^HnW3Dq~E_D9Bf{>eY-j1m5jUdLAy>FAOI^B5S)oa@1* z0O*k0w|5~8vGvPx|2?+{ub~XlAbr6AYQ@FZehu}#ZS()n z=a=>Wzt;;hI9Ln8haE~fl->KTeEDQzwigUW&{@H&%$VL=K!128ZQg}$dcytHLt zz}wLTg>J*N=%^^K;^N|$*Vabgyx!g29hzVL@K7tLe1oJXhFzVYI(tE@QpDVuGfy&I zd;0XL%kz$G@zZIbE0G|IGUkBQxQdC1fr_Uit7Tt-Qb$=?+38=Wr|U0=+>8QJYqAV< zg5iad?(S|-Z3Gf($OT^@6XgKfo&gfruoqOGIt0h=EK;3)WLA1XfkAJ7Kj^ybkhM3U zqoE6KgEh^1^XlsAov)SSYQNtt2OZcCO|my$gZn(bTQ_W&u)D6RDhg)yhyUPWa#ju~ z8+-v8+4_z*~ z#q6mt{QD-|{&drsEaqzh!nXG-pU?gB>9l_OWRLG%ZtI>NE56p1y)$ypvGeu+KHq8B z>S1HPt#g4SI072>f{Wt|tx7RH9$T(GDBRq^tvoL$?2m-7RdW5-W2O(_S&RUes+1-nsAV9sQ{<*H%BA1&RL;?BK*L>*{gi#FP`!+w)R`eP0{e z+RkljYg<)Ur&^VxB6N3!ko~`R<@>W=JiezK)Z@9Ru;#3gVa|%0p4#mzkL)_z(~(@i z|L58KOD|qzWNq6a*DII(M!7Gyrp5*`MttEexCs>6@nik8e)s%m-vl$lq&J2wI{udF z8VAeqW5+frn0}K!E_VB9%eh4dwiqQEJ6(%vy49=XcSkQlRz~K`p`#Y-CQh9A#x%L} z@vXe7j5ptZe0+Sf`jy#jU(??2($7~Hozr^svvA(yy4ka5-`*6fnv(k@>RD&?yHiuO z{p;nAgKnh)-O82zZY#&G$2*cVtMcFP`Rw=Y->k|SaDXywkq0Gc2l3ASr2BeRJql&J zZx|L`FybH zqaUj)`9D@o^;|Ci2#h(_Aojoebk9P{Zrpe=z7QMFQ8?nWhO>OL8Ue`#Dm>dM80>w@SL@-vdigWm7S5D-8Wmc zx_MTmTHi}o&1I45aynu$e=Exx(T}$T;OU(7kWH|o9J z=PObh+IGYh)_}%tMyjL=~XtwCT zu(-u?8)M^+NF4_)hGAfE`2GsiJ}cR?=!X8G<8DuKZ8F|F89TzJ5Kn_2G+) zi+8@>tytAlyxUTSuXoP+fD(O^*KA-l#%kY-TXU{iW}AQp4MEeV?-30J28IA|k<74V@6VqO`8Ta=)z5~ z4I&y{uI=sZm-Di&KV||AeZF}6*0;8{mUBVeKORPgTi^@R7I63U^gLM?9~0x#t8uHY zpuiwBJ0m0Gbls!xf{TtNf89~~I_zO~>8?e^w_j{!VPIHL{P*VkzmZHU!dceT|9f6P zkAdM! zwK2vH+A{l=l}lxeqETsq5a4H_p$Tp{{H!VUcI4g z%J=8NEYl1Nw_H`?0^f#xh@+^s8>aD52;EJ17puWh0Y?lj?8*`5I-)>!V`)F^al8)}IWl?Kq z2uW|u@oCl-Qp{Z&>}~(&!{KQxYZUt|`^uMV> zL&@x~U%!5NadGkT{onucUElx}Ar9hQ55Bx!zyDm)#j56u92&|MIp2<)yAiLNveuj@ zH!WiKc-97D;*!z#&`uj3oM73Ew2X7%LW@lh<$Og@mbcZXy={T7p z{g{uTA@AyaeMjb3>3zlw3=ZPm312{$n1F^dl#XS&Jc+ouE>zx9UOruZVs6Wdt8P;T zuO9o|vA|@S5!1Db82W!n#DA%I7-gLVYHHmduwwtzs%+2Bi@x!QhBw zrR+aa!I6v%yL|s#@H?^^Tuw5+292&Q{?VSoz_5Vl-#c)->_X9NyW^0Y2P!WbE`cjg z5R-v{K?CKW-b-KA85(SJ3JVPx=Vn(_fG-OH-BULcb*@eg)>Yhc;McFJZ43-0ljqHw zm&2F=sSp?#7#xJxu3NY4c)xu5ekO*J#rN*r16_8L!K1|QUf`(|*UQSVVD{Rz zYnQtB%ca_H`FyANylO)g+ffzCI>@LvSNB*+YfV=4Zh5=Rin7YIjiJ-riOJzb+~|+MB`Q zH)sF_bY%#Gi5qOF;li1 z`uqErzkK>rwh;3cDi;J+-`D+1ot~Zra18C-Pxg-z{;>75uPy_ zOe>$yE#FpKQ&C|7Y9DDZGHfshSq{>`(6CBZN9Rc$Ppw7muaa4_W(h50Vh9jLxN7Uq zpFi(>6&4oGtg5nNWN_Guuxo19vJHNq`$rj8w8FA7!-`v%E(N{&1)1I73U2U%?SVH* zLA(p9pv&h=USC_Au6B%%mv`yGg9lBltY+2jm3~wqCN6&Y(4j-dualc{WrAg-&vzAz zde7P3`)JP5BG4_1w;$~~W|+6{`J<|1hP&1=Y_Nqp_QJ)yJ3A(V?#wEAdTQ#HJ$v@N zEmqc&k(Tye?mz#W(&4bK6(2z(FLiZx(c6S4zWwpz$K|Dh`uqPBt-5~aPE73W3tNpv*zcg%lF+Qq_3APuh!evU0nR` z&dzD~^BFF5!kf1a?p>TSjE#-0*%r;--l@uTq(eShP(19>)rc}KL+wYEg89dUjvL$B z#+IMiRaum&`^aLI?X$GKX{oa z*j6)dm+r!t&6_uu9$hfC7StY$-BV%smeug=mvsBzkI{e+g8-l`=3eoE5Ow0rkq4?|=XLwKoI9 zhHw`a31OG=Ad`hg+xq*<*I#|{B4gVXC8q-&F0&U3%{}IR^!V|8=DXH+7{2ZeH}C!~ z@q16fL#J0^f^*&O+~g_zANK9)s?Ozt8_X6J-9N^Xz~BIy(wWf_CJ!1P-n(hjB+xd= zwU_R{w_nJ_u%X=L&-D}ThptO2`T6=@71?;~%DK5r*E%xY-Q4E6Z55pQ&Lr3L(UJRq z-<6lv%hb-%7`-~&>>@Bff0jJcgFd^zdypOVMNFC4GF|88IBXA?WSd3*n#vg{5p zRomuf5?iwWm|gO0x5ZD+KDu}N$E?D7Uq3&);{SOz`;-d*%h}iMd3l_jVeX3O|Nj2A zYZnJC(h$vjoC2C}3hR(x)XmDUAnGIYkE#BXq$DIVZiRe*zwh@s{x88@)8p%QF6`JE zC%7@pdg>;jE-~43m&T3j7g-oIU6}D`*WGW16SvBN&ZPb}U!CbpM}WGT+NBE@E=)VF z{H&*QiR}`)^3joTy!abDBAfvqc@#S(b0r*!BET?XfR6=PI3lyDt5W z^0`RcM{?Z)rJw&jx^;AG*LSJ!H_H+WWrAgHmwk8Hd)&R+qUJ}zuY2G3P5-uuonLOr z)~#FLyl!Ua|Hb0FK<+hkb%`Kob;(`_Xw{=J*AIi9way=sae08olH#hgr z>qhs=ZNCT3*&H5MsoEW8zTZ!0tIP7+E5FBef7q(w!`86Z4_>E*$i^Hye(O2ww5@&@ z)`SLr2!FriY)6Q?x_a^QjmNTk`}@PU&R?WpeCSlwd3TxcdzO8VU$u2?eGwH_eeUy~ zpU-ATD_uL4ZK|Erdt#ehq5cuWBYQUm9=TNbe#@tNbA}7=5as#o+cFGcGPYGFS664; zUUdD`WbqAcZgy&R+hk>A?rhpO?QvH6T8s3vJEmD%*8Qni6@Ib$^|Wj*21vgERID@P z=2uo)me(o=n{{u~?b6Av%v*ff-rdb@Roz;@$>Mp(Qtm{&621Mbb-(L(Ut6h}GorTS z`XsY9?Dc_rcFW#9H`ZV5Ps~@DwML^$K>BWZ+=QEFXML>ue6G@1`J!82;rdvAh81C; z9uLUM1-Y(Mw(i?EZ$Yfh_dCTqU-QdaO#xlwy*%vY+qY+9ub;@ix4+)L{BI*O`>K2I z4;*lK_p3up+H%{!e}9%Nj(omD^8Mbp%J*w8W=GyUp7#6u`}LLkU7!CuF;RJC-2LD8 zzH?pQ{;TG))W`jz3{vo@&q#J{lzB64Pk@2T9njepA<#=yv&*!VBR!A^p_`@B!;O*1aentInYd{yP7GK~0 z<5Bm@DA)73Pj-L?ETl{1tjlytn-_h*c*2sI!73P*A{a7?1?@oBvPEC3|8mj&<&jR| zm2w+%=cV~1fmR8LExKlGyH#V|+ixAF_saKPH#&5G=FFM8uaoORcX=`~+?otpaR7F_ z!)iW8=S)n4yZQ=2?rlzMK9&Rtb zKHZSl^jv=2o!|d{zklwxV67X=hC=B-4iPS-e0@7Mi) zd*}GF<;#QDo||Vod-uO)emjjh-)233cX#(o@%=ws6Jw&^Pq}1MX!m*93DCm)*2xL8 zf8MGLEMi&y{{#R330a|GKe!o8=EK`yFF0HqGhOBjZh9xu1^`K>spm4e{0dyJp)vH(EfR(jv9%jwi%#r(emf7bSPID&jd0qJb-(QwL7n|AnK}q}D z*MrUM!TIYeyByA5gItHnz`)?Ekd(Uq#@i0lL+3kql)ZA7ZB9SG?EAfHebc1f8k^$; zi`@>~T2&k^l5=g<&4Vw}1pm7I*?rmNcGr$+g}$#9lUiSOL^P^Jd{>8z6*DkgFjPwW z^JKFBrX8CjlOClnX3U;3Z{E3SX_=)5q>_H+7@tpFTlf3+{j|wxa+|m2M(CJ)SXUA5_#22gA@0+#n$D{6P{@Z*1x@$!HdfehF);mxn{|G&n+?ut}a>lH9o zn*uuhZ|Xv!O~*dI3p*3FQ*LYAY0#pDH*p;=%D4B)Gpz83j$nYInSp_~^2dk7sMy%E z`{dAP>KDZ7=;(l!exzTk{r~&Ezx~gX{+IH0Re#U>_4j@Ke9&qS-H#tXOS}3=ZA{il zZSO0zxxPOBeBIvS=jV+3T?3?#e_Jg7SL5&5`+s~hAHMSYbnaoc?*n#w572$z z;OR4ygS+f4!LnciZM*~CCBhsEp}N#p=)gY1t!obtw+nCC{jcsPBLlNdA9G`tfRe$LLu<};67>QO$Za|BZ3DIq}iK=8UdP{1>chCJ$k>}cAca@vT6w;352 f7DQeXz8dkr-Z-v9b-{x^@cgBxtDnm{r-UW|6()Op diff --git a/content/migrating from Quartz 3.md b/content/migrating from Quartz 3.md index 98a5b9a..d3feb3f 100644 --- a/content/migrating from Quartz 3.md +++ b/content/migrating from Quartz 3.md @@ -6,6 +6,7 @@ As you already have Quartz locally, you don't need to fork or clone it again. Si ```bash git checkout v4-alpha +git pull upstream v4-alpha npm i npx quartz create ``` diff --git a/quartz/build.ts b/quartz/build.ts index ae5fd40..05edf86 100644 --- a/quartz/build.ts +++ b/quartz/build.ts @@ -23,7 +23,7 @@ import { parseMarkdown } from "./processors/parse" import { filterContent } from "./processors/filter" import { emitContent } from "./processors/emit" import cfg from "../quartz.config" -import { FilePath, joinSegments, slugifyFilePath } from "./path" +import { FilePath, ServerSlug, joinSegments, slugifyFilePath } from "./path" import chokidar from "chokidar" import { ProcessedContent } from "./plugins/vfile" import { Argv, BuildCtx } from "./ctx" @@ -91,6 +91,7 @@ async function startServing( contentMap.set(vfile.data.filePath!, content) } + const initialSlugs = ctx.allSlugs let timeoutId: ReturnType | null = null let toRebuild: Set = new Set() let toRemove: Set = new Set() @@ -102,20 +103,19 @@ async function startServing( } // dont bother rebuilding for non-content files, just track and refresh + fp = toPosixPath(fp) + const filePath = joinSegments(argv.directory, fp) as FilePath if (path.extname(fp) !== ".md") { - fp = toPosixPath(fp) - const filePath = joinSegments(argv.directory, fp) as FilePath if (action === "add" || action === "change") { trackedAssets.add(filePath) } else if (action === "delete") { - trackedAssets.add(filePath) + trackedAssets.delete(filePath) } clientRefresh() return } - fp = toPosixPath(fp) - const filePath = joinSegments(argv.directory, fp) as FilePath + if (action === "add" || action === "change") { toRebuild.add(filePath) } else if (action === "delete") { @@ -133,10 +133,12 @@ async function startServing( try { const filesToRebuild = [...toRebuild].filter((fp) => !toRemove.has(fp)) - ctx.allSlugs = [...new Set([...contentMap.keys(), ...toRebuild, ...trackedAssets])] - .filter((fp) => !toRemove.has(fp)) - .map((fp) => slugifyFilePath(path.posix.relative(argv.directory, fp) as FilePath)) + const trackedSlugs = + [...new Set([...contentMap.keys(), ...toRebuild, ...trackedAssets])] + .filter((fp) => !toRemove.has(fp)) + .map((fp) => slugifyFilePath(path.posix.relative(argv.directory, fp) as FilePath)) + ctx.allSlugs = [...new Set([...initialSlugs, ...trackedSlugs])] const parsedContent = await parseMarkdown(ctx, filesToRebuild) for (const content of parsedContent) { const [_tree, vfile] = content diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts index 0904ed1..e7438aa 100644 --- a/quartz/plugins/transformers/ofm.ts +++ b/quartz/plugins/transformers/ofm.ts @@ -413,12 +413,16 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin js.push({ script: ` import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs'; + const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark' + mermaid.initialize({ + startOnLoad: false, + securityLevel: 'loose', + theme: darkMode ? 'dark' : 'default' + }); document.addEventListener('nav', async () => { - const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark' - mermaid.initialize({ - securityLevel: 'loose', - theme: darkMode ? 'dark' : 'default' - }); + await mermaid.run({ + querySelector: '.mermaid' + }) }); `, loadTime: "afterDOMReady", diff --git a/quartz/styles/base.scss b/quartz/styles/base.scss index e219cc5..185582e 100644 --- a/quartz/styles/base.scss +++ b/quartz/styles/base.scss @@ -7,7 +7,7 @@ html { scroll-behavior: smooth; -webkit-text-size-adjust: none; text-size-adjust: none; - overflow-x: none; + overflow-x: hidden; width: 100vw; } @@ -311,10 +311,10 @@ pre { border-radius: 5px; overflow-x: auto; border: 1px solid var(--lightgray); + position: relative; &:has(> code.mermaid) { border: none; - position: relative; } & > code {