From 63ed502115a1e9b0ad5fe7d6d4aa8bc06c40c0b4 Mon Sep 17 00:00:00 2001 From: pollfly <75068813+pollfly@users.noreply.github.com> Date: Tue, 20 Jul 2021 10:45:22 +0300 Subject: [PATCH] Add ClearML session command line options (#18) --- docs/apps/clearml_session.md | 105 +++++++++++++++++++++++++---------- docs/img/session_jupyter.png | Bin 0 -> 50841 bytes docs/img/session_vs_code.png | Bin 0 -> 49611 bytes src/css/custom.css | 11 ++++ 4 files changed, 87 insertions(+), 29 deletions(-) create mode 100644 docs/img/session_jupyter.png create mode 100644 docs/img/session_vs_code.png diff --git a/docs/apps/clearml_session.md b/docs/apps/clearml_session.md index 527362d3..d440b91b 100644 --- a/docs/apps/clearml_session.md +++ b/docs/apps/clearml_session.md @@ -6,35 +6,56 @@ Machine Learning and Deep Learning development is sometimes more challenging tha you are working on an average laptop or computer, and you have a sizeable dataset that requires significant computation, your local machine may not be able to provide you with the resources for an effective workflow. -If you can run and debug your code on your own machine, congrats you are lucky! Continue doing that, then clone your code +If you can run and debug your code on your own machine, congrats you are lucky! Continue doing that, then clone your code in the UI and send it for long-term training on a remote machine. **If you are not that lucky**, this section is for you :) -## What does Clearml Session do? +## What does ClearML Session do? `clearml-session` is a feature that allows to launch a session of Jupyterlab and VS Code, and to execute code on a remote machine that better meets resource needs. With this feature, local links are provided, which can be used to access -JupyterLab and VSCode on a remote machine over a secure and encrypted SSH connection. +JupyterLab and VS Code on a remote machine over a secure and encrypted SSH connection. -![image](../img/clearml_session_jupyter.png) +
+Jupyter-Lab Window +
+ +![image](../img/session_jupyter.png) + +
+
+ +
+ +
+VS Code Window +
+ +![image](../img/session_vs_code.png) + +
+
+ + ## How it Works ClearML allows to leverage a resource (e.g. GPU or CPU machine) by utilizing the [ClearML Agent](../clearml_agent). -A ClearML Agent will be executed on target machine, and ClearML Session will instruct it to execute the Jupyter \ VSCode server to develop remotely. -After entering a `clearml-session` command with all -specifications: +A ClearML Agent will run on a target machine, and ClearML Session will instruct it to execute the Jupyter \ VS Code +server to develop remotely. +After entering a `clearml-session` command with all specifications: 1. `clearml-session` creates a new [Task](../fundamentals/task.md) that is responsible for setting up the SSH and - JupyterLab / VSCode environment, according to your specifications, on the host machine. + JupyterLab / VS Code environment according to your specifications on the host machine. - 1. The Task is enqueued to the queue ClearML Agent listens to and then executed by it. It will download the appropriate server and execute it. + 1. The Task is enqueued, and a ClearML Agent pulls and executes it. The agent downloads the appropriate server and + launches it. - 1. Once the Agent finishes the initial setup of the interactive Task, the local `cleaml-session` connects to the host + 1. Once the agent finishes the initial setup of the interactive Task, the local `cleaml-session` connects to the host machine via SSH, and tunnels both SSH and JupyterLab over the SSH connection. If a specific Docker was specified, the JupyterLab environment will run inside the Docker. - 1. The CLI outputs access links to the remote JupyterLab and VSCode sessions: + 1. The CLI outputs access links to the remote JupyterLab and VS Code sessions: ```console Interactive session is running: @@ -52,16 +73,16 @@ specifications: To run a session inside a Docker container, use the `--docker` flag and enter the docker image to use in the interactive session. -### Passing requirements -`clearml-session` can download required Python packages. -A `requirement.txt` file can be attached to the command using `--requirements `. +### Installing requirements +`clearml-session` can install required Python packages when setting up the remote environment. A `requirement.txt` file +can be attached to the command using `--requirements `. Alternatively, packages can be manually specified, using `--packages ""` -(for example `--packages "keras" "clearml"`) and they'll be automatically installed. +(for example `--packages "keras" "clearml"`), and they'll be automatically installed. -### Passing Git credentials -To send local .git-credentials file to the interactive session, add a `--git-credentials` flag and set it to `True`. -This is helpful if working on private git repositories and allows for seemless cloning and tracking of git references, -including untracked changes. +### Accessing a git repository +To access a git repository remotely, add a `--git-credentials` flag and set it to `true`, so the local .git-credentials +file will be sent to the interactive session. This is helpful if working on private git repositories, and it allows for seamless +cloning and tracking of git references, including untracked changes. ### Re-launching and shutting down sessions If a `clearml-session` was launched locally and is still running on a remote machine, users can easily reconnect to it. @@ -72,7 +93,7 @@ to an existing session will show up: Connect to active session id=c7302b564aa945408aaa40ac5c69399c [Y]/n?` ``` -If multiple sessions were launched from a local machine and are still active, choose the session to reconnect to: +If multiple sessions were launched from a local machine and are still active, choose the desired session: ```console Active sessions: @@ -84,19 +105,21 @@ Connect to session [0-1] or 'N' to skip To shut down a remote session, which will free the `clearml-agent` and close the CLI, enter "Shutdown". If a session is shutdown, there is no option to reconnect to it. -### Connecting to existing session -If a `clearml-session` is running remotely, it's possible to continue working on the session from any machine. Starting a -session initializes a Task with a unique ID in the ClearML Server. To connect to an existing session: -1. Go to the ClearML UI, find the interactive session Task (by default it's in project "DevOps"). -1. Click on the ID button to the right of the Task name, and copy the unique ID. +### Connecting to an existing session +If a `clearml-session` is running remotely, it's possible to continue working on the session from any machine. +When `clearml-session` is launched, it initializes a task with a unique ID in the ClearML Server. + +To connect to an existing session: +1. Go to the web UI, find the interactive session task (by default, it's in project "DevOps"). +1. Click on the ID button to the right of the task name, and copy the unique ID. 1. Enter the following command: `clearml-session --attach `. -1. Click on the JupyterLab / VSCode link that is outputted, or connect directly to the SSH session +1. Click on the JupyterLab / VS Code link that is outputted, or connect directly to the SSH session ### Starting a debugging session Previously executed experiments in the ClearML system can be debugged on a remote interactive session. Input into `clearml-session` the ID of a Task to debug, then `clearml-session` clones the experiment's git repository and -replicates the environment on a remote machine. Then the code can be interactively executed and debugged on JupyterLab / VSCode. +replicates the environment on a remote machine. Then the code can be interactively executed and debugged on JupyterLab / VS Code. :::note The Task must be connected to a git repository, since currently single script debugging is not supported. @@ -105,5 +128,29 @@ The Task must be connected to a git repository, since currently single script de 1. In the **ClearML web UI**, find the experiment (Task) that needs debugging. 1. Click on the ID button next to the Task name, and copy the unique ID. 1. Enter the following command: `clearml-session --debugging-session ` -1. Click on the JupyterLab / VSCode link, or connect directly to the SSH session. -1. In JupyterLab / VSCode, access the experiment's repository in the `environment/task_repository` folder. +1. Click on the JupyterLab / VS Code link, or connect directly to the SSH session. +1. In JupyterLab / VS Code, access the experiment's repository in the `environment/task_repository` folder. + + +### Command line options + +
+ +| Command line options | Description | Default value | +|-----|---|---| +| `--jupyter-lab` | Download a Jupyter-Lab environment | `true` | +| `--vscode-server` | Download a VSCode environment | `true` | +| `--public-ip` | Register the public IP of the remote machine (if you are running the session on a public cloud) | Session runs on the machine whose agent is executing the session| +| `--init-script` | Specify a BASH init script file to be executed when the interactive session is being set up | `none` or previously entered BASH script | +| `--user-folder` | Specify the path for the session's remote base folder for the session | Home folder(`~/`) or previously entered user folder path | +| `--config-file` | Specify a path to another configuration file for `clearml-session` to store its previous state | `.clearml_session.json` or previously entered configuration file | +| `--remote-gateway` | Specify a gateway IP to pass to the interactive session, if an external address needs to be accessed | `none`| +| `--base-task-id` | Pass the ID of a task that will become the base task, so the session will use its configurations | `none` or the previously entered base task | +| `--disable-keepalive` | Disable transparent proxy that keep sockets alive to maintain the connection to the remote resource | `false` | +| `--queue-excluded-tag` | The queue option list will exclude queues with specified tags. See the `tags` parameter in the [queues.create](../references/api/endpoints#post-queuescreate) API call | `none` | +| `--queue-include-tag` | The queue option list will include only queues with specified tags. See the `tags` parameter in the [queues.create](../references/api/endpoints#post-queuescreate) API call | `none` | +| `--skip-docker-network` | Pass the `--network host` flag to the Docker that is launching the remote session. See [Networking using the host network](https://docs.docker.com/network/network-tutorial-host/) | `false`| +| `--username`| Set your own SSH username for the interactive session | `root` or a previously used username | +| `--password`| Set your own SSH password for the interactive session | A randomly generated password or a previously used one | + +
\ No newline at end of file diff --git a/docs/img/session_jupyter.png b/docs/img/session_jupyter.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1515e7b002c9ed0a6d255c2423d7d9cdbdb0b5 GIT binary patch literal 50841 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 J_W0G?{{_7kH97zQ literal 0 HcmV?d00001 diff --git a/docs/img/session_vs_code.png b/docs/img/session_vs_code.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0ddf82d08682bc022df0c3f54d039b2b197b63 GIT binary patch literal 49611 zcmY&=Wmp_dur)CfoS?xI+}+*X-QC?C7J>zLcXxM(;O=fAxVzgokoVr_e*1^r>6z}H z>guXGr>Y5*mK1`4M27?e1A`F}=9dKn`{WD;_Wt(Ed*F(s=NCrc51PGzvb~&@p}mui ztpOO1zLl=QcM%I6BLi6j9eo#@0Rwh0uucmReja(}#lsZ{b@{Dlu2Z@LG(#^QM{pHn z_>b>D^-#!&*oZ7M9I2`()^AZ#)K}dr+^m*7NFCIvH`j{~Ge}6NBOrcaTBeqX(NOV? zbkO%gGxU4u!b}zP)xr3(e&KnQG?!?Uc9CM2W@mVQcTQfy;dU(zOz!Oy*CB}f-&e2P z@8kb{1w-kwU<%MIr=lvCCPlu2%#|z_h~-)HNOEB}ixeiVv2}1TsQ$|T;qCTYjwHiv zuCk&sN=nM>n+rQTyV}ai^^3a#+TCh;bO{TMRN2gi7|(^Jp{dT!cMh-O0RtN!8vcY{ zRAg{<6_h|CCoOTx{paE?3>G%V$0t93r#zmrQrX5ZZN}p3_WB;EH0BBn{i!qig%A0(X>DEkwFVU>rK7z)5~N?N9doYiz`FJQ zS^`q5X1O%6xrN2ULA?G@9L46P z)}I$_4`fqywN3X&gI`qUD@_i4VOZvj$vwJ9^bK~<*FGGGA0?&`3B|1)9ghuJ^3LK{ zGiOY-Jny!`KFZxcJCv%{nr`%l=8Z8O&zM-P|5N9}f?BOzhb|ZHRd6W(M?U8-y@Kz?{e7|7C-I z>uo&W-YE>+@Vzi^`5cv6oq6}KuS}N95d->qy&+$Ndq`u8@cbekxgJmXEG^4~@m((` zgtD`;MpN19?RG|Q)5y0iV6z8 zW597eTC1yLP7!psShd{|a&e_234}ezw?F3A)y1V4DJsUr#?JUcAm&LV_u79mAxpje z;{(@!P@&VM>9U1<(N|Plywv95CMXEL;Bevdt!rc%RFJcXs%&jKK`t`ZztDm zNswo2d>B@%;z^^4`gKD6Pu*T1=)c7$GTUtrqiVVHBvp|qmN=jFpbCX!OQ6r^m?Wj7 zJZ?ryC22YTMB-hX%vrd5emDX4qdOpLPEO7o-(Xa#D8l3AMmv$NSo#V;{8OCitPVwz z`FIP$tRyM;n(dw*cjsF6F9ExdA)b<-sL<} zsMSR%9(M;KE^&NDMU8(LyME3R48t7gMi+)+VPjhYKC`oNDU&$Qr=KSuM~8;g+C4cI zPESw2H%CXiZzmdAuC=uS>oQr8Mx!U#94nsmwE1h3mmVF)WZR=`sg? zlG!Nhn?)|-Ny|l8aj}`uPxKskTgBJ)Dx^2$<}dDv3f8E%OwG>TXg+BxRxGZ!STZc> zJ!yYgU0Arwjn`~)IGFA9`Mk2c3=V^?Pu`xD#Y-9+l`J;MB>7cUMMVTwl(clBW0*TR zKg~4=f+k{)Mz5FJ%I$q)^^Mfv>3RSTdVOn43pEq|zeOm1-Sa)VBuGI!X>P~Bkio&h zcq1m0=P&mMmXh;u%kB?7;js5#~ zuax~nIwSF50*Bj{&f}Hl6E0knfatlXs3<@=fo&J<`i;^28;dt0kz@q4MJ^pPCalSP zGB~;_hoXrI3CkE!n)C0Km6d^kz?A&NuE;?mrv8zU&}DR6Z*d4e@Nmw1Viq;qP<^WN zZ}i7sA_j~y{0{8XpPZnco9Mwi+o-a=~_2vt_Nnsm(;a2q$#PLG|2Y_Pe zi0j<1NB0^@OOM}O?C|mOCfH93uGCwtHQMd$9~_7bE%f&03CPe(ME4e{mJ%-UW=3G% zJXc~M1m+YK75VIFW6L3#bO`bD=j7$VVzJWG(M8wvs_EmQW=RvP;zz}~OGt#83<5hP z(F5>zORTyM4h)TgmCC~{4vvn5B!-hqllzq+98ilKDdL29EGOllJan%6UA!vPwT`7F zHd0bkz%*`ZMrf3jl)V4&pw1N8#ph_Zr6tyJU$_*RN`GUHz#U}iratw zjQ_=Cl~ppWZOY5@XQ3>#&Wos``0$EH`MA8-{5gaqRi;%=#L*i*qn|rnJiQ8rV7f+2#>BWFE4=rMnFi&>6%p7 zBg%EP%0Ns-MFrT_y1IV>_b{9jJb=ahKMO3L>gebsCMKr4pNsJE`A8FEGMX#*Nih%+ z?Q9N2yK{o33uJmHVCalSmz$leq^05MKsv#8--QOo#)x1{46%hS1SHbf6X{*mN)#sE zo20zlZiJJ@4t93x%$BH75at|yK?%Nkycj!~uiV%O=OSc)$HL+;nZ&2ti_xj{KU%6M zA|iUYy=}SQFFsoRBHIsmY%5ua9JF@(Jz2VdrCPJOopg|-sR%iWR3fb($@*S?I;ZpL z_v$YMjXpUa^Tyt1*VQqyu_fzQ*VPfG(>@8Mq@?Ua3&&2zUsu_kC~rpT~O(>snprr1b_H8}DBu7&wN)f8W63CPg!NvL{Yi zE652tK6tYaC#|`~!N0Y7d1uE0F>ql`Z7t6X_lvfkUbZ~(|Hj9!ZKAnV)zy4J+jo@U z0ld)v34*ao#lcl%WziAoJ}F#qYga1gl|$=6!h3hUmrP^bIy#yOFRv^t40K^I5bvb> zH<8vtgNz?sFRsSM#L1x|xDWJt^xiAz-RP>{*bK!D6k@waN?$&qhAcrFLVRm|SIwg- z!S_FbI=XTH*q9Rz`~1wzr>n_$K4@sh1k#*HaOpd znS(3VRLSC*{bSlt=07g~-W0oM#+Y6-S2kBRHYUd3-ye5y9O!5>7J`_%^AmP>pYJzm zmLqg}WBA|^N^){^`u?zKjP$(5Cnm}+_8;^TOpJ`C$Gi>yHis+8ctmWfo|zsH*Xrr! zWehCFXG8naba(7rh?t@I;Ia0Ev2WGY#m2@$`c*Zl=FJ^|_xk}o%*@S^Aq4?&q*k?b z#`MaS<2TIP9-B)y=I?bLrGka0;)*CHoxGEn%jF*j|?pjxLI zoG{VBdx3t}BFLteTHV?^RH{>uKWP%tOAkP#Ib-@^XGpy{@M(;r+WliYOLo(lH4mQMO_|AfkVIXeUVg)^J@Dw!oR3OmPljK;2^Swpp z_UwCeiK%Jc;xp)v5>9(3ys6*EssFr(=_US<4l?@Qy``Rf6tH~hs;FrG2+AMCvEHQ*r3JE7qy{B3_OF!!s^a_`~-sM(S%9wc-RWO%GjHA{jfJKQ6 zlcCVc_&0ppPeq;oMa%tp;a7nIC}*3UH!{Fz%Cj$pmy9r#T|=ER-ooqnEoP_wgWhG% zC@}@ZACJY~YIRf!#@l|?+$Z#qhnk7^Z?;H0tcdX09Lw()-WB}VJwy~JRpzc#nNHJE z#<*sFvhbVkloXl-0&hB@4}wy!^6Kd5_QfFX`t!HVJxw&1b|s^!>3(}88NUbchMk>1 zhPjE6u1mqc_)A`P5`S=+6@eNDRAp~;e4hVl=X3dAwVwsl`=vW1k4I=td4+-ZyY15p z_JdOrPlJf{^ZuU$Reax*NxzK)mM>d)Z&<=pD38tX9i!9`9@0+^`d+f(9Usv>ZXTPD z&HMgprNbaA2uyGpkmq|D@LksPQ$RCq;1%41IiHGQqKz@Rz3*T5q?dO{-X7;|xo)m( zqvO%y)5A?YvVrz_1T=nfB6}-zX)t!pM8;J8=J6r)aD_`~+>=-l-h#6u4FN)yY^GX2 zUX88IMQ^5@Bl=Nl0kX>~wZxlAzT`6Xfi)z2!AAM=afNGF;)9p~nqsNyOjb=rMFkN| zzhLl2)UXHsY{!qCxmu1|)uWzZR539zAd+?4-5gElk{WaZLOGZpP$*(WoHR5xJEN&; z^_DB`Adsu8tBXrxcsSgYk2Zj(DJ+!%3j*NgO+zImC8rkdjRuIMyhMMkeS_xWJI3eL z=_#nCh5F3Q_1%eVAaeQ+Uvw(g2+ zAZc70B2=rXt)nZn$vL)3VW19$(Y2ZB+q0%B zlOG52=^Ggh0Z~TQp|f2HV8tJo8is`MEjp;$ZUNAS2w(%pM8GFb z^x=S(yS~%XM&)d7ZznNMmTNQ%PO{B{AM$9VKu4)}3CU+>uGv?9A1}OR#Z$34vRG=DvB1kJdrI_kAW`CkwOmRyu^DmQbTWYKC8hZ#ZgQC zJFhr*Mr3NT2tS&a;Fh5d`kdM0Qfq(M;9$33b>GrC7=kIo_Ei`e`CD6C1cZc1*9;jZ ztc;AaV`F1gpLG{?J3BkE)&L)KVBbV3rP+%aDJ&(0!{%u2B>4=i2*o|^7r);^I36_u z%b7jPF#4!blelU|M@-Js88`1?@?`u0P@3lUEWAGKO^$5#-6<7qh}-fmhD0ub8_bR< z1jiwrX7F^sxIC)fY_9Ccxy0M#94%gnq&#n^$XLyclr|@oxU0@$35e>}p0AnQ+}!k< z#0ej+m#hYa0O*sMnF)6YHxWyv=`Q!w891hTgec?ov|HwjxG>2&D2Tvr()l}}wRAXd zsO)$p&AM&3ZgkK@dGqI|YXA8ps(dcoa732^ONDbQg|lVMhNa*EgsXh{E(mls&D5SlNzzE8`M z_IDqEvIq#;L}B2<#PgRkL~*n*HogU-IzU{p8t=3K0^z!;dt0p*#F zS%q_vU!+|8Ueok&Eb^FWyTvJIOc0~usL&a5Aw8_*db#pr;nOE-TS+0MQ#1)zn-C;>q4HtY-ZIgvs0Zp)J$eB=d-R{783xTIGG^9D1S; zRTGVZwnX{9;-aFsBdwSp^mg7?b>>8b3;U0zxx2dFKUGuId=s2d#I1%mbSer9q_WRf zAFMoR)X|lV7q<*P9iX>&0%Z<(&8H#_y zl8oBsyb!6Xshy-}IUCYTs-};3%pHA{*)KDHI?&}ihM?12R<+Lejj7N2oy>88H=yXI z)8%&J?pYHviK5k7hQUZcxxBRCv75jG=f;SnL1pDByCh5{(TtBp?>IUP@8ooH+Q1UY zI43tXvUSq_^C?*iO6Td%L&+U=3h2X_o-e#Uv!mr=A1g zC4_GSup^9rC>G+G1E;t6l;AligpbXHpbp9b3QY9t%cN>bH!i0X~D1o-&f z_TAk8D6mZO29^!LaP|!tvKos4V=Ym{D);yK(U>^_?YDn>P!E_a?&ZKna@Z(ur~0fO zPK%3-4T*j5br%lOS(r}`Ae~C@PG2}7?(VAR9}M*>Ae67~e}W}9k)4^fxo<^#`G9bQ z>K$T!zqHj85^2wXp0Q2kh+-F+X+NC`wbkt%Rpu}n3q{F_r3n_XYX!uyRmTI^PYDTEY+Md*SKP(On@n6~e|{Rjgl)wUh2+bbj^%5Wg;VWO30IKyw<* zu@^gIbX&=t-RMn)C7A*lJeq6nKI)hwSgNG4 zbqOGEG$tK%OKT^mvHt$u-5z;@zLR2%hwHxbF-uNs-*7^sW6*|N`U7)!#B*m@{Rs^I z{73O5{rN9fg`DoU!NH&8&4>2B-$qqV5r*RB3J4d;ZTIHuOK;#VvO>0(1)Vf#tMhyL zW{LM!&oete+%BhPcQT$g&O{Dx#}Gu9fvUGQ7~b)jlU7*;P=J2S!wXtlajdxf@=f+! z=XbnK(WzThRq>0<`p8Om_dvCs88v6KKrHU@vU3gV+JnVCOGND50m zKN1iS07jo6pWbjdL9$j;t!H?8erts->miz_>a0QSV`C&%%9gi29cWGh$E-H*4qOGo z^+p$x&Xzd6@~cx9M%1q_frLcar;@J5!N-vMKf9$g)!Fe3fA2!rwF^&0*fA>A@#ALh z7wr#Y66h|-z58T_GWK*p^e|bpsC7}7nUys=NM?HouZAr!U@Kc~usvykhsuc}n5y;i zOjh1{-n&00g(Rn_$jENDb*VJWmpfb0^yv1Q9RnL@c<=3{k`YONYhhuLcyx>^Ch7)| zDS%^0OG!kx-Q#+}(T-M3#$H+o1?;=T z&E%x)g^RHNHj1ZI|J@py6;@o!<8}T*>a-ZuwTRALNW(Pk3>AE@t&Nu7-!(hAov z)N8K62)M{vRS&?04nz~t(R|uI8qefoV~%T~BJb|4(Ug$$<<&`ech}$9=}j9F-ajxf zFf!5#+U~amw-gR;U=x#+PTil-USRmnIx1_&7ooQdC|aH)a`*1XYD|55y-5>~ z22a?u>)|AFH17xZ_q=?V$5f>h7FfB75*<0nH~_ao%HL#WmXwrrN3WoyG`CnQLMG36 z>~qYHK&gp9mMX3|=Xk$jv@pAxrgS;9exTTi2*ZcJIPlVphBJX_=6nvbf1)LuPbI6G z+9PU+O`5beo$o32>NPWPE-o)OFYb&+Q%uPCOif7##{Fy%DX6gs`pqi6&n!??^|5R& zwk0MPndr{iV`Gs`LX#*x<|zqdwCNoW=VywQq7j5ydc*s{MTi17@$zbyW{)+#(A(S5 z_K(53Qx~l48k7;OVHjIQz zfU_K0^K-m&5+*&(i2V%24Hy;1USMkG3u7T@&hgGEjZj> z_azt#6QFg5B44&Cs*7?f1r%jvC)XhkM+yrHfV3W`{qDHr2Y~EL8bvfoOM851rUT?! z2~fLqP#n(A&Ml|Ep$rW>ThdMbctOb4up)o=apxbjsvJ6T%VtSU{T$h~9+8Y6Js`Z1 z-V$XIHF*Q@3o+fZvy87maj~W`!5mF)HC8krivft(W z&dDEAo$70x(o~l_iPo57S+F|=9W5GGqzlhb^)D)D(1GiYPpm37A2Wa{PNnZGgxFEFX~vQk9TDJ#ih z`{l`{SuT)>nDBkZgzQ{!AzpqVA}X<8l?$(sj8c9{ONG3-DLgc=>$X+%4zFuU|`T&d@LX1y|4vP9-hun45oyJt}26}rYUzqi8&zVmGwshZ&rLyMnI68{KKoP^xeeQVOFHL zR0LcO4v$wvD_B9zq&JZzklOl0L2XC>no-cWo&MIBX_BN)TkUu-p!NAk%qESwXm2Ke zDY4)LNQ3~uR;ExM;Ks$pGjnqAfdr4c!vNoGqz&S@k;gNK1AXmG1rjm>w*a&*CLxkK_|svYKx}2C07QYrP`GQ8l-qijr~2L@xO>t z{(gR?nyvQ$MBLlk8^bSlcr@n3Jy|ZeTWujO!x(8LD%1&;AZO|Ie~-pssq=( zp%_3$0fjCF|aco;(N+QTqGgr5wxY68*QU>QK-qvoi8(M*Kt~t8pkrW|q3_zCDW6?9sJJ(;z`FI7Q~gZh3d_Y7QwlcYFq2;X8>Bi z_9Ol<<2Ud<6IB-msG-o~UTtDA9W|JbRj^@KztTK5pC0SL&mgJwZ;G3ncvPq_tbsOt zktwQ(`FlaEBoyRvv%q2(C@P%AuXw*zU7Qf8?!by=`12z$tk*lqQbi}n)6RxswgPxIkskf2?1|iSIXfU!vSdz<>9pL7uG2 z)bwg-O83J(Vr!b~m0t0=DU=kHsnN=*wX=7+5P|8xs+p$1VA9<#2~m#V9@*lV;mZj8 ztsgI}WKA|h?*{y!N3TGY=?U4PkY+48ft6YxSeY-y%o%Hq{f~!6+@a!!vcTEqGTvqg zmhnJspH;5MN>~BY@9&d(o$1x|m$tZybalagw0w>kmuzsRFwn=3>N7N4eIAq&%QB=*2dxFl@Wl9zTI@)% zhAlHDcDT?~jZGVPk;|udvwmiOp_FGT$v2a$Y%-UZwG`lp&(T!!#*akQF1(l6+Fd3U~}C@^SpskZK{T`P=GM z34o%kDl|6z{)jd^MxYw0fuM9Pzj+;;@NWlQhkf{m<@=T61-~rH6KvWXc1Ll`VE#<$ zUqK#!h+{?N-xTu_D}nd4v!mp;Xlk!UwNx-0@JKl(Jd73oTilEuybAGr5@}@&;US}Z zSa0`x_52t=?a zn*Pg+Ho?8Nry-YyLX*-&|LD)xo$SXjBs?x?pjeFhrl^3&Yw#vMZl)jOV5vDnVz;zE z#Ej-Gn;x{_V&Sk*XiDUX$LsDRo8>GH6PABEuLCD- zTH##;56$075H5u4U}bXMEj<%y@8w5Me8#52u|4VTvaEtHc^F~r2n}ta?Kr@l6;z-Y z+@b=C=}SRpGw8>&=}(4I@{k9+^+qLvf}CQ^CNnXeb3w$fxCwY zeZ%davY14uY>vG&ma;<1@|D7744n1Al$9>MZ6T3_tU+4ISmglUyI&O7e$rx6C#xQc zMV2nxH5Ua9J&3M3QNJIpat#{iNI+z2#N(ss?jtq%KFxARRr8k`eLuIZO8a~-Lrc=5 zJT|W$A=V9^_9se<$)he>!GqndGE{Tbdk~jSPlw)SnQAGWvfTQRB5zU0a>DMa3CBR$ z6v*(udheWZPpqN%d*}0oDr2&T;j@Y7cQUH=1MwHG-XO^%X61d1dhHh9I`um$@U7>a zHv6Rt0Ww|oW=y1lF}9YQs1zc|L@v5<>0gp@4y1STf~iJ_KTSMmQ3@&ZB>%o|#1gBI z2yvh5uJ#;e3}0$s-VRFETX|YQB7IKV%&0Q8%f=T3R~*6A8rF5t*A~y#%(gNR1`i(D zxQgu|&v9FGAv%dH*Gwlir!ty2c2YD7^Eg>Si#o=ZOT6C`gV20=oO2hE(n^&r?3O|T z)Rr4$26`fzdhxsSZW+zFM0+X_@*#9v^WUVUoT^y=641kmZR@rsrE*-25@wH2;-Ca~ zIBJ_(OZ`)Ft@+9QQve^W>Vg{#27{$SS1!UhOT z=sLZ~APUhmui5>!*pxv^=klOYB9&vBs4L^c?PbLIJBn?vM>J{}zpS|Hf=e`3QK=We zVp@K@6sMY(e;Mj(YYv-?37Vd&?sEMj0ukcIP;r%ao_dFFJQjGN7k(%_kEi^o?Aw|< zXqEL|3&Q*^RxQ48_q-dPb+2$m<+1MyNmlMe)G&ZB!?bBSWVu1s~WQ9ZiBcmDSyQ9`uWshE!0H6s`fG((k&ooduu;OTSo zqcStdE(?A>fTk5;2*3%!Oa zVC>4Qh{k^!0wgfE$IlG;EqYSBtoZceRN1UgfPsnl!;i&wt_FS z=i|9VH#mjop7@qk`7p(qmveYR*FC6yDMK z7;#}Ovm5aKbyC5W8pVEQE0qRz#O+;@kJDm&?pD*62TI?H1o*CM9w*iEx#+rMsrXt} zGW?;w_F^MaDXD>qP)*LHWPJo<>I{O7zr9N4q9Slw=nGr0*EjaogLJbZRt~1R)k(bp z$VY5nnSYd6@BT5RV{uV`YS|smf#RFATUi{8Rw93X=I+p&IxqDzOdhT|s0dJh7_rKt zHtzkMp~+?HGS~#dym8f;nao(zg&7>SD4s)>aK9-PQa^1ceO-~=a&K@Cll#ia&j;t` zyo7#RCmc4KV`Ifo&iJ!utDei4l~NhLc2z}jreBRCjPj5dgeb7~EO&LZH|TU^XW$^> zEkja{Z`9tAx0!jBTL^Aha2Oa|W0th|H%S5?b9h-c5_4dq%K}B!vt{n~GXiMV6-K|Ns>@N!p*3JCI5Z*wxrlc*9*Gyff>F&iy)+bEDP`YZBNFOIYEG_wwyJYMMe(S2**p}2k} zl;K+zbRy4KId9CH`@m*?GIJ5rusPobic4RPn?t$M%Jmmz9d+P7lTf8nVX*7Ohz<3I z=aI5y^IPp0FVSYnDyWzp9GfD*S=-xf$;S_fvjs3Q#B3qYEwaJT#<)I+@?O|%v@a#Z zI9cJqdT7XK7S0aLcvoG)LP6PDln!-Tx#-8n))Y63)LW1#F{!C2#HJOIHA^&#rg%1k zKWoqN)W#|#X@*PO^|T`G%-QK#GJDdA+|j#e&>TGz^EstQ1nnT;K(?`%xx-eI3ly8~@4`U5 z>oKqx)99?VakO!;YrRPK88?r~tTbM0Z<;hxU_yrW2?4b{iGq^pf}x1e!1UI z2Vv)PJ>P*m%gmc~eLKaJTH#|FEwAdtw}5;x6fhPP$*Vo^`YiFH>hSY`We<){t;YLc za8Uj|na4sXZEEvFYB+ioLi@m$^(`*Z$#|k(z#~9@{EA7feII5l$lVq)wk0PR zAPlmva?=G32{|zvdy{@?2qMFDP?M`FH=Qn}ddqHdC&OvP_L1Kf7d&Y;T5kwfihhu6 zVg*?3;3HMF5=ufZ#R;%Hum&znciZqR&7z86knp`=r=@1|n@a^Ap>oQ_UJ1&IPF&`; zTuWwL6|MhD!PlixdmJA|joW^?de}&WQVK)IsCe3`$?|K{JWny3?1b}Mkdv3NlVnrk z8&#p<5pvuTDHQG!&30`23g;3PZJYEoKYj5M@0#h}8&c;+{KY4(%vEP;-vPuS$s*C> z^zH2!hnK*>sO5^QcaVBr$leHr*ize-xZdX9T$xewt|ctBF=ISbD!tWf{*6iPLo#)AlYw*4{CjNY;41m~VxEnqusn8Frp#&XgE4Wlg4xMYf2MC4tbAFG z?8%0!lVN{U)l!{gn7g|G>qQG2^ZdXdSpj@FV-|6J4lUc~0LxzKOBD#MgpwE?WwtI} zRBfEv!!6?I`mf=wm^$Z-=AA^E*;?IvT>N40^wlKT zv?hl6e7(Yg3wtcNncKB-ob7L79AErL+#gce&7h3H>};&uk|;SOf8N(!!JR(S%BAB- zGJg7JWMVwRiB$rNnrwJAh>jB1>}KE+%A>svDjh~q0j9L?WUQD+>u%5q~W09Et(S;dhsf1Wzd3J z#F+Tsi5)e&z>lsV(|elb8Er8l(~rduWD#UPD@Qq{ge4Ay`8bHN9(|#aP37Nk;X`OqVtL?{I(s< zhh(eq=s@Z$zU^+IyOY=8JSjfvn5y+ji`K;Lf^XnRpJR6#=k0y)dgTtgXXy0a=#$CwJTXsrF+5FYpIXYMjNH8@N?Yd72Q38I8_m zq|U#btjVHzR!6F>eII;Bz-n42pzgV!OqCZiJ5lE{Qd6og<9#-~8-BFYQeU5qsf{)4IZR0v zaxagcuZ!JTRxonm06lNMr@T4VP7@3*(sUSWLBaH{{k7)ml%9#$$Lv{Qw(&KeC3{&w zUZR$F6R>jU(<4ieLM^9bcb>ULPP6VecJs}2hv+B1(zX0MWqc~mSGJMS_0nn28=dU= z1-YK)MY0|Fq`{B}1sSta8MF=?H;HXx=`OdcG)VW8C3XU~2H`?@le3+dH(_qI(RDiDjSBlZ`p%CX2`fZmX z7gveE;>HkY$uUIzwnj&9^CuBoRry*&qUVOH;pS~O`;pyEXa|vD<9g`91_*NvccWrq z>>E@KMA}TtM*;x~m!=*bwE;dx4xt{`Fw-N1(&aAQWwlT;n@8RBtAmk6OIox5kW^Dy zz9{3!I2OCeWlKVrn`2+RZwLUquNs{(6r^s z)ty`NCVJXDnLmB5OC#5D6ZYkNz=(utd!rcMno9lAZNpqIl{2p0Q#cNLy{5pKuWtUI z{xBgEQ_7dyfk<4IB@*LdI#Aky0K?e8H@fT1n}a%V&ujP1C!+7$b1~bSTW3fVc<8PI z$5iS0kM&Uq4+7*aPl4lX`G1f&IR55eO*>y4WSpmfyU7u8g0>3c5LoX7$ek?~x*0Fx zaqgBYdVOh1#@V&HE|wI_A0EHN)xQzIpJB}UBYt3wEM3^q1KIM8xJw6#$(WP6+?krx zPDb;+!EX@7pG6s2y0egJ(pCb$>~4PAL-ib?j8G)IM53^bxP^ubhdx7cVj9edOIvMy z2$5f*O^pjl;{yHkJ-(<{B5s))=kT1M*vje_mvmFRszP(wthLhM-q^aL@)!c`6>qJi zqiponDRCCL9)dtY^he2=vZf>!>l0R7TstrK57n*Yb(Z0ZnuW-0wTCSkB{3H%-A97T zF`@*XiLd7M9vR>tK(tR<)O(04kujfX$Hy<=jlp*Dyuoof`gC4I%6oemeFS;EElteZ znya(mG`QhDqti0AUCLBVl6=3f%#RnkP7DM8$HQN;Sv)~Z$*(=x5x$23(?(!}U%e2z z!XT()3%fO~NvS)xYYe?0LWRC4^V{YjtXOV4 zU)L_?Qe>1~ZvpFgJ@GkgV`J=WC|OtS!Ka1>9ODd-bbGXQq~8BWg%N*52g}f?n@!3$ z+;JA$AKqlK>oHJ@DwhmTe`P0t(o@*d_h829UgaQnLCu2nVevFGCU6VR-MNhItftpH zz`$u=``}|f%xjE>>gBQH$Q;VmAARtDaan@Ai@fz^!nYw*mpqJI&3 zrxV1xNzotw=Ao_43rv;ONMCzKZ>sE~A=JX4KLP2`i z(3yQHQ=av_gjk+NeZ4~VTWKU1IQelH78?qcW=Ig27iC4311KT!My|?fJCtYBLft+y zK#Zd(Hy*+-!4>g!#C!M>XE?Bxhp+4OlnJ&Qzpk`1xlw85{UP6m`?hQG5jaL`j~FZ< z5lYI#@%jW9m>mV^z|q3X%OOqq$jR|J>gQDU<-Z8 z``LBCluFuj@s=S41G5hIL^6iI^J_-InV(Xtd`k|zJ|zW0XYF(dOJN$q_@9ejYvnep zW0ZX^mn}d^^aqG#6`QZ4EwG1~(MDKY?xbR*b2i)K;O`j);gG^;N2|ZJbWp^8|u_G(11;uu^-AzqYWkv5pgIq=F zneho37yHo1{v`mwzK@Sn>B88d_%76=8b)BRxioOo8XU{D>569l4H8M3OK8}l(QOlT zHFf&EPS-Zp<1AZM?S@FpzhOiPXRl3$WG-9uGs}2j_m0LB*JCfSH2^jZvxT-dRn~~; zm^1qe$o|eIXcdx@M6c-1-I4 zysEhQ#16+Z?=An_o~`OGsv;n-k5M$rlyuSk&w#?HZuF-dd978Z0?uk!;QH~5CC`_q z5+f%z0<0>kyu4w+q4BTRN81WR$gJMg^EC+e$Vy>^xhn-_a!f*Gm$34Pxy7+$4Z4*T zrLrGuye3Vik#ghb4v+-c=G5CBAo}ET55ijo-&6w(Y;inSkeciEj7jmMJPw<+=)yT( z*h9hI`snpKnPMyN)4^1iUn{2B_y8rrp+y*NNW8s%_j@gVJ9*p2Fxyr&xY|9Dz96hT zDh;IX+lr|xHCuvqSP%j=l7vKaq_kR?78X6oLgX4O6KHV%&al6(qmH?e5skxx`}uZh zBLx?NxFZNZCEcSe9BP6W*ZTKF|WN#l*sQTR{%f!(W)vrMWDB4|MI#Zaj6z zG-*;bEm^FmMWR~rc-OIw;pYLR53Eqrw#XDV#BqAhbH0wSB>ZQCq3v5f7 zT>oi1Fg!<4^26LQh09f~3)!lx-+e*7E=*7hlpoeFTKIialR|m*;{0XfbdunFOexl8 zB2E#$i7=gu`0zk%r6gza=b1Hf%t=5vpKbp1ES);3K)WAd7F8 zy+J0GM_cm9n92_;EDAtJ{Zz{iW8NIoB`zx=Z$-4gytz?rn(LDDPEY$l?8~?lpu7B+ z1W&gvx)TaU6H7TeVl!T*l&fPr~3Eqgk$jArkQWL;wl{}~Mm-jy!lAsS=#yp@lW zFWdOlN=Tk`V053Eb!t9&Ce~9w6H_X*S)(FzT%$AJmG@!JbcR)Q6a5>9ooWV_z>Fc* zDu}dRv}|@_R38aY?P)t zehjJjBFZrzKmUOPxXK!A|oK|_Gx?j9hxOXHH@-nc`D;1UP~*WeDp8fYAXyE_DH z+`X~eG|w|$JLCJ#8ROpld&{cYRkP+=Yt|}yn+D9SZEQ%73gJX5B2Tj6(;+Lp4FIL0;6 zzp8n9nDs&uUCke#Y3RcTAcRctB;quW)&sZ!>#(z4RcI)7dEW_n5Z=}OD;x{f<2 zX?)a4X54gL&QWurcbmw6n_6fg3mWPsOK9iB@czk^Ga6ep6 zqaaFEGZ1-f;)X{$WSw?-e;38CC3|X z6?pb{}VO{-ffUK6xgk{iATrz2}V~?ZdZ!Hf`q?%G+|g7nj^vL6YLiRRytf{A)tRCJam^ zUIUydSHMPncxFT0Bbb=>Iwk|5zkpn&S|vj$zn2%6A3?PIztZ7`?$zT2 zw-fp6q&K-RHCBDeR4MF_F8n^JWPsH70_DNbC-Oq5>>EaLm}k(MKAnF-fJ>kkY0bpD zNO?x}Ik&>R$Zau$*XxbMvkBHd;2avU;>Qtq4{tzYzo8lW6vS!-`3)vCR>aP_j{fc} zBXQ^{a#Qn+3L`hJ2j|pYGeMRC1)YdOz=1+eEAx9?4rR)Z84QdVM|Vt#$U)}dcWi58 zP6;Apbc~Uk2Y=PpX>J~ha6hLzV#IcS+w&o>Fgsh>t~k{`(<_HQ)t-NIC-s5?U5qcF zU!O$4+lI)A!tJ~RyR87r?l^O&&X#fcAi?f5xVy=Uw-7oti*iE$I?gxnF9d`MO?)R4 zg$+!@9p>{N?torni;|!m8f)vr>4xB=E}Uc0kFIk+2eDrG=RLr{#>+nSDRRdVRHT=t z-Pjhy>PGu-xGf1X{$>_$;oORCd<(1M`VxQaugQtV{x2jVwR&qzT*t0h-R&z9`t7esU(E=g;c2)BnkR8WI6Tt2`Gk?K+nKBDas82v0snx4LSt_WV}< zbsLAEF*A_xTftu-xN!%;hJT!U3MFsmMSjM75v1UV7F}ZJ&lkbJ?Yq&BdyGy`NB56x zr7YY2Me6_qP-8n$6GBpIkl&zwQtww!7|IphXNQbJ@v4}X6EXKH; zsY^?g7C)9v(>p8Z-_xnv3Y-+nlHO4;=+Zi5?6CxpmiuBiCwhc&&%^a5M(pzKYZ9YEu!VE)jdul(X_1u4k2hhmpPm>}fqmZC89jeS z{#cq$q!7JQ=MOFX-KD~E>`KDB7f6exsVtdZrk{IEVw9 z+E)Zdu<)^@L+WZOsReA@EkU8CcT0Pyknh&hYXC9*#^E+JuxgVFH`sNXj&YN7JhFs% zbm^4c>BIsnM1VYZqwdmNjcmYe@$v)Rb>NFQ${`)yS$FS`T(VM)m-2pY<$L;zC0HWe z-Z#a|VuHYi+?y~H$q<3+j4d&wriZW#5(sGWaw~4c8ws$1i+yFGFIhw$Ta$^Ow z{j8-`&&E7ARWK&LkI&JNPu zu6R@cjCnZx>R|%)mv} zW?v%2%+tUkEw8cXNUu7cJ>BjW9y!2yx4K(m-&pK5q;$|Q$F5!Tv`)Yqa+;AvcuW7gO1m-SCM<(qQc`bAqkM?AS=iCRb`LbXFV1_ zWOKtDZ)jU}gm*$}*0&@P)WsNr#yV~P0CxzwB^2g&=~5h?zMV6EYs{SWJ}<*dwn=5q zD8{g4zI$>Sl`}?mN9dwuAV+NAYg}kWT-WtGM6*aJ%)VOmRFyis{RzkZXKvo^=IXLBNZKK+vu_rz;q>~ju;HCINeheon? z$nmGPUG1(C+g$TSe9pG}fvSqALo?XDcm>?aq`4MyPFe&!MBjpG3<>2ern9%#@;cSe zuk519;_wn7qbbb)vTmoXo6uUEBF0D2r+I~67x|3dJ`MoY=CiPjFn1{mkKS|E^!kRr zyUro7VF{}QC}?_kQTEm;AZ*0hwqzF*D$1bE!a zR3_KIn@xCCd`iSKQ3~RrY8~@kKmC(g9J1hbaYC;gz--vHxUViDV$fa8(-M;o4mju6 zl9ZPmETnd#<083m&|O&gGc&$5PuhWnOIMuMSaDqN9oqwToYebbkJ(Ao9^0A*>x#e< zw8`OTr44{}xB%}Ms4aWwIt3P<@}d!qM^yr^WEDHPzzrJW)+N?X!;y$9)-=W93y zOr9^=o_cJDKRqcF33oBFp87sui{LHI=t}T9Mdz<%==(ecJ!%auB5rEQ4;Ze=JSIzY zBMQhWMeAHni{=kkc9N*r;{#~={*-xf1g=PfafGCfpV(*F#(uYT1N}Um3Q$yX6r%CHYpxrY5EtRHF6$~eYGROz$XG$l z6=;rTgxUAqlJyC0Xv7K8Wre~OSdaV=S%Te@4o$ZSR&^F@BxX|Z4-)M#L}ugQi^+MP zr4rjDgoq{XW_Nc{uZJ0_JES#<6!AKRADZ<}?|4l%6RUbxr~-Ird7rzsJ&=`}OwBN} zc;)~kBqp=ll^fpOhbohM2AnEX?@w;S4cQ;`z421)at}|u^Z$#te?$|0AZ0=LUms}S zE0(9|uRn!t)}J9F{*PF4zdmosTv~xPk9+V+SYD0~E*!%4PnC1rMlsgw>+VKJ4M*Y- zZ;h7`_FeANoYSsbPc47mzGPn)mw)b<@?oX!PHk5B7vi2~uKw(NtSAAX!{w1j4*`XQ zvywN&ULlS}lnnMjDyu;wsfOcarL#JWXJZqRYdE!MZfqpLO7(qyt3`-cgYN#x7`rnP z`+Q}WMF?F}URMe=L})>iNqW(}oo8Iux4#ZFU14#h7WfL<4FP%8$s{T7|t}xKkZfAbkFv&RN1m6gl%9%naPAVE&{LRe|Tha8% zD|U+2lX1zUmd^O7{3yxRV_46>D*mi$gktTFG%+|x`#>Wsc$ZP>K+DP}F9$n0#+3m8 zA2}V8BYjoW0x$$h=p!`G?Mia<>fQ=wiN4`#c@6sX!t=(E)@yDKJtZsi>FjpK;rR*c zuFb*`5dmG(HnD^TQ%34uww=lFFic!?UgH{hr5~!41F^SX`NmJqF<#g;7T;uK{;8`C z_YZ-vSFU_||rh2SP`~*UR_Vkobr?qUNstaVR9}3c#glY2!UW3Oi ziGL#~^OstimkiJIT}TB5LZiw0@Q==~#v{LL*!P+o_b6(&d5|zrP-U$Hq9LUUo{Gt} zj6k66uEi;A@ZX@RP}=5dB8b{!sSw9t@pdcCBX^NkNhtxCS^a`_pEXM2b;iZ+~rXp=&nX6Msk)MbOrzR-2J7u_g)o;I1P zng6>};>s5*Le6Ptn=>v{po&A;O>B=Is))Zk&WABuZKDr7_gK8NtvMj&tj*C{Rh=L7 zrUG2+N+lv!?&J&XkPer|M;R!9z>j~+c3h1OY$RW^)E`|j8-e^}| z-{*GY?EdWpb!m2~8Ks*;rglYwO5VZ5_JKi?uG4VW9~Ju1KvMX_A>}1n(GMFxd$ICYmwlGDU1Q|)7 z*FQ?z*x=#9wU*Ic>XCKesq)o-O0pM9)Avb6PR`VRI(E*3WPq8c&3imY%TW#kCD5a| zA-mX%d2)U+JDb?U@}JHZKw4+dr2Af+H&=FkZelD)Hu& z8+Mgty>G(+ouiq`C#Mup9tvj>)%oa%Fh#~zLIEb3S#fn3t7P+1cysncz zXQ=)>v~>UdM-HPcjd^Y&Z35GzEKQyn(;#BlV z-jLwQ;N?!i>U>oc4$9{vKc$S_Wd6V?q;)@E8m*9g(;7wwYSJf038ow!rObIwj%@Cx zq^Vcjd3?*al0!jvNYmS>Q>Y{~uQ5+B#!z4=)}4b#JXy^+;9+wZ>5H;AX1NazvR`dj zEx0U#rU;=>QZ^k`UAOidFOPOW=1Bx7Xo4-Jt8sG&Gn*b@w&osYJ^0Ao4`)sb$9*!J zgalo;ql4nx_vXgW+*ZhaXV%Op$;cSDlz~@Ed+8n;8K2=C5u~2fN;YK^g za_^PAENttxL5~(xXmnXjB_Ggn^>ShiX`=B^%bC9c*+Ig}ivHXEPx&J(8A-QwbjhUE z$Fd%BlC}Cwol*D1(j-xaMk&82H(-D0yzg70LO7F#M4x;U1e=e6C3eT~KJ1pOCz~p7x&I zJEO2|pHz8$;0KK12X@B)4Srit$hRb+8JCRhliJdTwTGQw{Ox-zW78Y|=DjDNr zlwfKH$JK7V%oZY)r{aB`xro{ODAlauCBgfXipE=+SpUIQ+*QFkPQKDVmuMVWr>Ttx zQ~bKy#OS14NF@uiJe`7WO}C+uNKMXuJr6zJ?Tm3u(&sZEM7sN?2AeqTyHO}kV$-%{ z(mo5p;LnGptah^Kq46KX92F!8MH|6ni-y{G9t+T;V1X)+kC#x-EB;0uM5{<(ZI?ua z{~CyEm@I1Hp4GY2ECdey%6qB)*=|^R)^R)D2dp5_uX{WEy@*!^qyuFSR|QSEs&V;Q z$@J4P=&yg@lt8>t$AdM^g9FBDIaNtH%XxJy9zM1sK%YuiT2T2d&87gDcg8rSRi;A@=iFl)ILgs!>rG|+5zIBXr zab|zh+uVzGNA2V-4V7|1!}^sCO%;4yiMsZ!jO7?-4*4<$FwK%EWqWL1SGj@1S{5C- zsA#3WfV>bDJPwoa?LX#idf4)_E3USzX8ht#VV!roO~`)^JL3I z&xskfyg+)~P_mJYj|fZVm^;71AJ?jIp*5zipY+FC#-+{xntcq~bZs3IckF!(z_r&2 z8)EOr-a3s_aI#jCG|T7NV|4I{?aoxV z93Z!Mbc`S-2+7C)rTd3y$^V%uw)KUv%>Vq$)AZ-TX5V<2L*kGrhlTmO%}tighlE?7 z)yrq-A#A30z}-|JnI+igGvyB{d3t0Ts`LlN(pQ&Mkx>I^}C{kus) zV8=>-b7TO_ciu-vMDGv1cV-_>q0>&G<<@~^P7%HSox3rZ!BaJF@@j98KwK1ed}%>Z zEjoYbVHa`D&5z5u!r?g0wj730mKNO&;)N%-tL4_(adaKO7-?Ghr&oEhv2RX=Ah_}5 zneT3AKF9hctM|;Iiug>x5*6xY?!bLK5vd4=x!L+}f2=~INhxY|<1igHk&%K@DJHjC zQoRzj#g0XxY&x2dB`o88zH~Cf%`=yR&3)3WSwwSfJsgMFsa}|gA`hP&zmdWc0hcm(@Afz4!@`%3cdSV+I#85O9*ErD zhM;di{3=c@6Rwfzj3G&8)_+fj{L3p}7+|!#IrSB}EICET5fYy8qc!2e_lvVmVQEV`+J*^ zQ&tMh(97VxU~O8}cWB5( z=CAPl+e_l@@eC}s^5aQkO4f)6%;ed>{ThIB90Cs|AAg2@Se$MSqRHZRYT<_}A|8h` z)^%>**ZRHtz6FkxMZ#bP?Z}vftf0e|QGLghT7F?m#F%C7oEIH>RXjDCCZ%7m7}*Z+ zn%d{vM4hAI`#z?+-h(EQY=n01ZMQt;mh$~Ct6S*5254w!u=Be*btkT?z1QprL>hS3 zmJ}6Rm!=|roxhtLT{A?4rUyIPFf*2d_Lz>~4sdl2IHhpAsns1-a_(lO>z7l%uv9_V znfi`R;JF0dW?=r^2cxyyL?Wey{dIP#DClSt>m4sA z%Y3bYW(GiqV1s92laQ6f;$J+@&J1G@!iC}l>YGl|tkG`7Cln$Q)Xb8H1|3rga8Zea z)jn^m*k=fIlibEpM??^`CVnrHM@!q{&s0F>nXcONH;to0F0Q^AN(Tp~u=>#qB)2zI zc_cnjCk>57AFh3PV_E{znL=1H&u}%j5V^d@kBSKjkoA7H!@Q|@P6xNf$_iz}{_kLw zn@nhCLFj#C>v!smK!)e>3Tw$0+7ODIixM*x&CXninu*I??9m?CvAUEx55x!|EPLl)LWd5qCHhx=`=$W znQiDSKex75h#(4Jx*5@%9P-A@`haNbY+FQghjyxl#p6&_Cb8uuP*f#QAGLkP8do%H zu4ZV{WYA|~Av7RJp`VUsP@i`6_@S-FL!UGgbt_pvZ;cLR!|S6atv}INJ#cW;ksb($ zPRCjxzlmdnS7-l=TR2aO#+;yC`G8Z&mL!v3D7yz*zj+gK_kCTmtKoFt!CHirCFbCB zM|Z&1jp#tsWUq4cP&^r3>xNa{t!I}eq{=E7nW&`nDo=P?4_bMVbjEoR6+#QzQZ0dL z6K>6v>Y7|g&UY5aeht~RjBZX(OpIvg7GjVxZAQd5KQShne+%dy_F-$d%~zMu$Y9X# zeVfCn^Jb6FYwLPr)liKgl+w`&H$py71XOtS8R znPm#Hu#(Jq11F_J={kbkDcsrUgV?it1~IxFi~9LX<>AD<`!tmf_X5jumj};mnWEB< zX&eY4lO>(gkYGNWdvlusuPu5!}&Q+lcdh022rl{dfNeO79#^;xS>LDI3KsPgz!slFk7z2(o% zd5}4zOxRgYj%BF|5t{vy%WQ@m8ZITP#jGGHl~5QPPO?3js}Ibl*NsV_2=0C+70e>) z(;Fc(hFDPKv(fy+rx|>ILezL}hbFvdwuDUePa8JPM9ORR3LG2qoIDD*&)lu~UaT1S z<(TKxMA9RReXBDM%}0-TA*PhYEynUBk@4dkLmVj=fb! z?QPs0#gls*WG#z@Tw9i$+ZFbSHqgWHp;;VcN>%YI0gB0cs>i6M=Qa9-qg6g%oB;#& zxuFNK178GjHw6C(aBk`(QKEKgO=dK=z)Ti@mTb>VU7QY+f^iCWd;I7;1;>UE|WHE$oX1I|Z&@dk7qh8Lj|j!=>n)0Wn+9(wEDgxg3;Ykgj` ztflLrW#Vu>Yie?U6=R8&+Bj;pt^S{@|{|_R9{~cO{Dh~a0VfUOPs)6n5o7HEUtPem` zpeqxPa-=}s?g=^YvqgmY?t9jC_5RieN9ppc;yDeEbSd z=@roR3aL3_K1IywB=V9?-%B3u;16^|we&Z1E?fZ%X#N}h$ZR>o2=+}f{hy9h)nMJR z5BdCp*EeD>@(#}=wx&voPDYf9^X9;G#J>rJ)nxa!}@G)!T0UK48gB z5`v5s*@?d%8vT!^9SqBf6U}i&W7R!Rfh zc9xHy(V@KQr5Qqe#+ z@PcLcbwLBr3E?LfnIkAG#x#-FwqH9Y#C`qr#kDmt9#a9=Ph?EVg~I8^k{6zbJG;aLThAmDPG&(!5xuI>=%lv+zn53AM_Iwt z2r3tp+RK`_ZE^*}vZ&y9{#neWC6*H?&3R>&o6^%JWArABwg}~AQU(QNZgWfW&sVaK zzbg7k(<;a&(>2CV_E)nB8gd`IFfd4KP$&oFjuik3;b$aiX=}sFn2*5^^?_F$pP!ej zK#cqg=z>cA8>{^MO%ngf1ztKq+L%u%#c|a|a$bc4eU`$(FQlbW_;Iu^* zvcuMhVJ3uU=wz>neV$v|S(mfPdtq0)ZS*3EUJ8Do&Jsqt;s(5eoqCCm+u5|KIYJor z6dfa(welfESz4-XJImWidsKh&4Wz!=xE9aHU&5rht?c6Bcv;EFz%iITx3*lKq0zz7 zj~$w;4ImuxD_5<(>-kL+Qb_@vC9JKcz;OxU$)bh_Ytn1+iI-BtA|e7s(yy;Q6Yue= znVbdg@jc{n_7hoUO_2(9PzN~o`9=uG+PYnf;4c!!FK=$NA3T#b)ofz_q~71T-<;|M+$EJUC!=i`=UBA#rdox-04`rHC&m)oh4$219h3? z*jw04DTOrZ1CGLE*Aa;@e$V@~bj0BN&P-Kk=~GufSEYLv^92c8?jg_mMe=`>h>1sT zTu_$p>(NUhz&q_1=un&-23KTau|LRY9khRc4TvA(C{)S*Gp*-!L^!Fj(dF*kz9!^| zhWQ|WV9phzH;V_RFrj$;QFQ@rY}cupW{}IpW|}?tK~U}qv-^<>&j+z3y+$u*U|^tu zCPn(?pI!|_usoEPMH-k;yWM_8i6!-F%gt7LW_OZ__+|z0Va^t|jfZ%* zNVFgJi$LdQ%w}3v`835Z4P-J*OL=xmVM_csnWvP0D8AjSvB@lF#@RKB)TQ6@;>r?J5f(#)O zm@ubZU zxYyiP((-BBqfQ&xWa)e?61^IBLIFVLXrf-fV2W^g>Tqmbp2&T}7~DQ>8Ap7AhVCB` z1=aq&G2}n|T|nxFmf<_rE~nUQX=mq-mb*O+S(97^AOM%PoFXTLdvZc>gW8pY%bGS( zQG*lllRgX`xK^xP=Z)cjygs%~l__|8m>qbB!n5KVhLBg~rRMOwnZ6>1CVlI79TmRa zXGzlU&q%L7nU20QZRu^Fma%aw%tlC~F1T_6tw=--=3N!>2~ z8`YWrZ%~II^!IjS78p(5aaZnp(MlaL(CS}7k!Lo8sDSK|Gd1~`$b1--cp}w zZ7R`pQ$)6KY2fXCEk{`LveHd!aFM|lo{w3qYF~?6V@!b2IBJeMiiMq#oK#`67)tI{L*Ig7Rw$Tm!ybwl(FM8|U#EXe3LvN9xTRGV< zYVtzU$p}}~#!;bo;vhv?J*653;(8+zWf-%%UL+DP+S%YF@fZdm>*Oovw33YT6D&+} z_)neBc{1w_f_yPch#8xhELh*knzstUKksGeU1R#Kjy3|L(D8wUX>~XdI?eXflqKLvgt3N6WwJM)}8K7GYDDy zm)xGd(&}XVZJ^~=ZZ^V(<}i(i(;y!GQy>!$mmb7tlCOAXKA0&oqLbg{s(v$gmuXI4 zxKp}7uW|jQiq#9fZmZ)6q`Vo9WiZ0-Pa!4-W$gDMN5Av><)O$mK3CABHvtQU9kv#P z0A3Iy1X|2oecyhz?C`nC=b;+>zGM=-T?2)r)oXsgc#HD`lXY$|oJ!ljW=83l6bb9r z-s7|K$2}E3=ppQfbb;QWVg~(@r$Fy6NpOG961 zPx*1%y;4s0d7@CkW)M@+b+F7ZA3y1&stf?|jML#lWN6EKm&pOH5SmvR{Uaqm8zoSM zDH^?8GFQgp1YuvgJ9-BXiC~=RcU|ml8}~+kA3R>TO+WCOdb5qN+I56~ScNK}$&Alq zGnQe+^zI-~uoE?Vk5VMesp=f9|GR3kwLnfTZmbDB&o2hR>9vlCDhbA1_SC-mnfb?~ z)|^vJ)2zBvMn#*E_eEpUwnko_jDyTEaSPMT^^Zx+5N-}ePYo>_`G7SY(5EADJ0&jZ ztB_%*O6{VlUv@D9o}`=rvd;)hUa|9g22+;a{h7WZD(&=CK;_jg}qY2Yj?`YqlNX>1oxT@x4)@;|^KHTe#lDP;2jZgn4R)6HIpQ z)!Q05UQ7!aCF+YkFV8pULeKcVj7?cD*7O=5&5~?Q{t5Y>Ncazb!HiL21R^RxsP2lf z^i9wkKo{*yh1&|DZc>B&-&r>V_a!(O)@50k3;_WfHb>5A8?c}zm*xvtq{<53$%1?u zXU?+$OK23J#Ptr2wD2fF#IqY;h;5M*!x8D+jmk*mz@Z6&UCJKSpn<7X^Q>EWHU)u(hp>=$3S}YCs`;9q$ zIp1^bMY0cSFhr&l?7$Aq(hea1$aAD;Kklh^JdoxW6{UZvj_*16VoKZ{pbv4k|Fe= zh2#zW9@|y*yD>KYd%=N>oSdg6p7UdfdJnC`hb)H_vNBSz|HuLUslIgd%hs)2amt$@-?i`}h zcP-k4jN_iReM*NyFNn#~*1by0?{)UPh^_s9Hs1*xas(;3ncQCf@P)QDmAgUm8~YuB z-gHb#V_ndbE*__TJTcdJYa`ngj007oB@4(LkY{9$8e(@1wC@?97$i zi5d{gHJofsm9NzwK5iNKa6BY3}oZy25JKg~*`t{9vD;z>)zFV*~hi z)@Yw)vj6!|#|@BeeeI~?C0gau0$$Emk)vW@m^sU|qP!N43L~$s{bHBV2>Y3OEDbQu zSkThftz)_b>N%B(Q``@SFF%*;IHq6=dlR$!iSzZZWWowMXx4025qUsU!qzzB^$Cmy4^zv8h&g_h9X zCWo$k@ZWJ*XlqaaX$)k!G{Ov@@2ne$fxZA#3dOX_Ftj?^F3$M2B_bEpG;Cl|kI7s5 zrh-;!vP1T!FAzxDP}UN~X*1xjhKN7?0jFL|EIcs9%O96-fob^TPU-XjzZwp)Anl() zjp?t+a`5z-t6tBSe~4*IGhtK;4~-m~E9TQHA05AM?;{0Yo&$H8_0Y@BLoVwY-XW;D z0H_-K!?_!15;smiw$2Eaiz?74Jk4mni=^c% zGk5y^!lM~EHNCX<){Fdtf^`O?t~aKqbxBU4iBQ^ndWhw~+YDugRF^TLB6Cf>n5LY1 z`?(c?1L5BLMOFnKlytCiM1=C1b#P)55-u<1`r+rs?JaG<=NRbhHa(J$^lf$%OhM=` z5AH8D-Qd{sPtyNX%kX!T6J*2zVYzoz!TSih@ujmvrBUz8PRX??R|BHkz90wZJZyjb zkoA9)EdCDxO4*@TtbLnzrD2vU=XQ{Mj0@k6YR`xq5`Mg~O~?DseW{g6eB#7>4Z7X+ zF*JqN(drM3-JR6IM$@03_s&i*)W#tW@XQz)km2A zG}ycdHRhjT_g2ylrZe_S@l!Sd!)hB6i@W(iQM>eKdy^APKh{sqb1~4~fa%YbDRtx$ z_7K?SI+nWelWdg_)(I`?RUys9Gg@mp8IewMs@(rsop1c7ylKDuSEUPoHT@MB1SLJ@ z*qvSUhVRRw3CE+YhR)Xy9#p&5OSnHa6p^ySi^I+CL}A(dFTdBG{63fOgl-W)GkdIG zs^yhll2dESeVs``#XCPJ=`+B1*Z!T7tl?)Ry~|-r;tX1)*OvL-QAB{zxF&3cHP_&| z79oEi-P9c`wfs{3(}mm0~9jHR96G0@Qx@M?RVwEn&}=GjgztLC%*PlkrPTNuCe(d$%L zU_GXw=VL=vBg9$%Xt91PDid=qTiXFwqrLqMw&>chJ1}XFovyz@tcZGRQOMUpgcpL( zv)7bYa@VaEm*wJGAYgsAOsW=>FJ7HHQ+F41+*!M|yVuS=t=ItS(mZn448bH|GZMp3 zK_5@U;E}10Wq9q=cIrgRK|R}>Y%fWO=9ij3rS=IA9*HIZddX-3e5|+VbhIjWB~IfN?bOFe4=sXL7~YIzG4WNlT;d}@AilE1JXH3C)envi$Aq-wp>w*g)hD<4{XUY=B7lVI0X9-n>b{0hQp zvSljhd9@K|E|d=q=9;R=3f6LB$j z8xpgi3lW&LZ!~40&f%@^DMO<$BFE(PIg%n2jyvA<>dA#FowEW918_+u%=Rs_r}f+y zo^e$Zjg4ENODctb03(`wzbkU(1OPNs9LTgT&(U^)g9{4r3aS+DrFd974ugVn`4=2)<`vk3=Nzh8_RX6WBu>c2p7OSe`^-VKj&{x5fa zV~MJ?+r8BoN*M!K(zf9B zwb}Z3R&w;S3jT)brIb5fYyEW{$4-euAM&(oXy)DR$%o@Krh-8eN~sEZ4dCom=%T*n zrIkgWBTY_FW3>jA>xTM1X=uM@482#VocFezc-IXWpQHhPmiX|4((AX5>(fd(yz-R-rd*9<*Ax7>~s*l^f0I%xe)$*^c#5df-LY<(}Q!p{Mk zh>#3LIA5u<3MZq$E|-&te%-iSL2;(89?)iX4Cl7lqA*aUx7ir9X#ClH-_=GFY@fu| z|0%FKJ-@Bg-(Z(BluWqFOQg&9gnroee@3=xp+3HYLy50aq?*smEP~P5-O%En6TxowWLIqd$^z zH%pCw#yX-~3noW+3oNwkB?q$?I|JRCJEUM;?YasDY|5;tru5 zW7K3)BfI;X&4K8GogM1c#(5&7ajIlr_4kth=lmk7v8J#Xpo|wZx2UQ+YRkL=3?21b zSj?Ti%doJFwbDbuTPEc#<Lf03ZY37gx+qPG6XuxOn7Ft79l^ye&6EpsdpQ_wN<<65Jx4i zq0wfxa38j{M~Q&H(yJG|t9iNI;hR$7fuLfxrx!Y6jU-tfBosus-yAV zNd`>f`6s?~PSwd5$>-WysasQLpjJL}JdcnYHoS+;FNK}!R};avzWe)|GS{4Q3o~WR zW;jn1zs_|aeVCfk{A6{1i$V(WVU)6z%GUYL)$<=MX7U0~{rD;OG7H-0PCyR8*2lLt#ptp^1RQC}glCC+M+t_o zQ|C4SITlLOidUcY-CZ%zvf&|l(6xPxSAkzb6kOs~v&N|@T+h3Tk_&JT2QnIWg5!7D z_c8qoeL!K)6FbD%`}VVF0&|%$^cYAS!3+~11_}4=QV|Dftgs#3&m0xlBnv_{F)_vn z=I~Rl*vFpUx;bfwOFsc-Dg=j`u+vYp7xWV=)E>k^ink7yB_9D_kXL=hb1;HpvtTwm z8uwWnyvVjL>8JfxopA2ljsduRGk%pgH0&l|cQw0wjC;o);=1$$C><$3zIyw1s?aOx zUMyh`;n96%zbWoA>1Rtwg?mKTg>zi!Y(08aVEd0$oPT`8w33XWunl(?vpykK_LO!C zG_8Y{#VzHCzFF!}3IomuK0gAscH9QW__z$@<&PJ?I33|vM_yPB&?7~Dtf(X-FRC3> z@<6{Xmma3DtVXT{Y%j>QxvfaUU6OE(mmlp?W3=mQS_Kyknhx zZO4A}U%JB(q8ZR!mku=EJhDN|&q^_~$#j=i;c#RdIM)6f%#K*Zj@gdb#XPW4Skq~* z8PsmbS&iSlmO_nJ({W5D#tf~O*z~I=F(R_-Y#iYI#<476pq@Q&G1}7qOjce_dwcwy zyUuTmEbCQjt?XI@wg-4;r48oW(+@yiS5X^?fADN3cBX)E&8FjH)y3%MtBV&o{Oda9 z=l#4cH;#_)2?9W8XB0xkHp^>0m0d{Dg&y7p1ewf_!^#fZWFh`L{pBU)Y@-?v?VwzEomIe zKZ)2DhK8u97wCPf<(JQ{)yW@7HOQ^68Gicb)l06HMfV8ugxF_9&ESa%t!3N48(-fr zTXyFizmV4G63bBmQEw!7)H6XPaO*4J2v(^kwd_Nk6uue>sy8Iv*~XjzWJ~Coh+aWA1-hD(AP8W4L@kY zgs9uLQzK66sUM)ba{$mHcSm zv)5S|$dka;zPl$PxS&ogQf&{Tqt_ApGqY-vO&LP@Dq6ka+`y(twi7yAdcCo<=O=DO_kl$GKI19L-6`~rcm{#k^bwn^)A(r83Awq@*KsXpTpvoygxU;fEefXuIK?3fcoyQ z#L5@4@3}aK7A}n~y@SQ)dG}a?1NE7*uE?AH3D^k0fn>g6Y_zB9=&V88N8Qvl?Iz-4YH z)1BFr`Ikj;Pa-vTMAlTvVtUy(%dhL1{rNi`9854^>5-9T=onq4XJvaq8kT*i$NmnT z>4Oj&6(fBReJ=!aKQOG~^U8kPE}NlqCx!N+F1dL1;mY!aph#DN6~BM;05Kk+dqbn> zZ4<=jlj9T0aQ1Jc0la#gr{_MB6gHnWPDQHh0WNScQXZgA`ozXbqdpva8lkfVx*A!v57qE38hF2ll&vs1}6?sPVu!V`!d*?=%$4}a|3rK>>ZIj8{j;1lP>%KJ~ zw$Mh7ei!pq+e{Lr<5Vv1rY0Q5nUPYm60iWD|nk zKI{MfX=1JzUn#HBhmE59dNmT2a8~cmQnh8aQE{W1aYQzq8khRt#AJ&Oa7~IhDpO$uTuKOd9$`lhY|m00_BEe z{x?GBKYjjtq5Plq`Oo@XLy-To2>)4x|L=~1Uu1MekdFp@gVxr~q=~|MiX=VPR})4` zN;*24&0Xg+Chr?G^(XMCIWED&wkcz~k$NlX_Z%b#=OLj+#H`FOq_o17Eq`*oggp$G zF*J(SmaPKFT>Uj2Yc-YUNW`XzVAAyT^q=uBxbH~m#IQT<{lrnT>>K9%Il|Ri#5Un_ z5zk;`{NqMo-m0X#E*B*=QQqH#Bhvvx_r)f`zfax{Aa!zo)zaKj&Qv?#GC*#{ANq&} z=t_SRI(17YZ0kNjbL*KaUS!<%>}Sc$V#)jN`pT7@3`)i1IINrWd%&zsG^2X3ZVtq2 z|L4zzvqBu#jnI>wUHs9%DwiQa5gGpr{NwOn{Dlzvt7Q$=z_*s1=^7Rjy)pC=@6;qp zRg?y**T~%j1R9QTS1?_znW0a*gCoMj*>^fIG~y1qH*{mVo~}IlHBKYLkyNxdod&+y zm(Rg;XaTEJgC6QC_&`J`ACs~cW&DVHZm^f}F1IFkE|GGU2>m*ZX1y%$;#UUzZl;9r z&9(DWs%>3_|~-&tg4!kPj<&B^!SxKvwBFQ?&#uN-HEEso6&Vr3QFbO zEx_3HW0LFaMw-nx0mq+G_s1mydDu1BJ-u7RiXHvs>MfA*j5X^DEB zO5;lkNQ!Mqm|&WeLT4U z8L-AE?C&R>lFP91lgN(};Xy3+;b*O%c_b`(Rd{41lHV(n_1tN%B~N`I%lJ&MLOJhm zj-ixgE}_Av)Di#un4^-YhV*hW6_O>aZH)*U#_FpYTPemZh_zXA^TfKjklw`c-b$I{ zs&8FO;b;5j!?*MDsO7z+X?)4lCbzNrtwq{42av96aawtk5S2a;@95+Lt+*}F{o9K! z6+Riq8?*JxP9rv}FK03VW_iOoI!8V%i;svmZERj?57pc7J?!UuIBZ9VuIJC@%aF(w z-0ZGd`l$!JLBQPll)4!QQ4R_Xxf=lgFs(da#5>0hUe^@}cpB{68R(~Mx&J*!knx`Y z=Iyk!V5Zb~+&5N31X=vBA_Ik1!vdCa%Z(cavRej&jSgk>Zdei0prp?Vz zEZVK_5xi}LRQP!gT4fvA@vf6u+V=Rehzm`FJ{vq^j9H1FUgps%5)&NKHB_^sdEx*( zazXsv0G+$tb;l1gUVHmGO{%_z@S0>ZHVG?xa`V=jam>z*JtnThIb_Gvki|8K$vT)A zx%r+U8R^6V_o!cEjk_+9w8WQtlF9QTG+__k#=Y=V_H}8DXkotT*Qozx04i@DLL8*RQM*Sc~n*`0fO z=HxUo0$QvbJYq?IV=g~m!|^m#8NqeJZN|mK@%OB|ru;V>^8rNppubO+eM$EDemYK4 z`IxoH&LByMbLy+jE9MCKA1VCQkD~C=M~~2Gw-(tif2*c6Qithy=yGiCIk*ESKsO^c zCBZSeY1~?UJNmcr@!tum{-13y_@@O%G0kYL*{WPoZHd)w$73lo|2j3NkS?oDp?>;f`6ziBRyVp^R-J|Cj;yFQ8S|i zwbfZkjbPe`Dr3U}K1$L6LFS_M1kJ&I(u~mKhDN6In|=5M?l}q!K_%pVrvy9&7qE%t z=NB4{m*RA697c816Zl*_d!|(^Xs|QQ+aeuLibw(gW8X~Q?9F$rk7*}@8SkhHmK%Ch z=5Zzatj}gN$*FLj{W`>XT+7?l3jdyx)0fEy{h1ebj)@kabB}(3K67QaOqFWBK`VU% zcV5Gn-L)N})kq6Io8i*ljeEI7{gbowMZ=bKAD^fw4<>*0Iy zfb~>xPllmFXp7)moxePMsKjmc00^nmn^2hG@WSb7*H%&d?IGYNI%-cUEBaYOQ0A1@ zN1TSgOh&XljMK*Uvl6>pUn-Yik(9kF=c47dxg zInm_ww>ZT_{@Ljr{PBUCd0+Q$yKm01fY_p;QW)PzhDF6kt3Tm$#e4X>oOyROYC0|s ze<}rW&ApLheSe?e645Q0K)C74%_Esw_zV1c51*~S z$uTVIwv_HuA?GpgYd3aK4<2fS$dg{|X7e-W;dGEGm2&bK@VZsNKRxXV*n>abgQI9Q z9+r`h@Q(jQw+;G+vjh0Ib^yJbiZ}DD^q6=umeW^ZX!r2cPaHY|SVcZjEPqA(gvLq1 z!WAyy`oSnGBp}! zwbNF^BoFP2%!?DeDz^}>u80a#}hA0%FPpJK1OEyC_cmyqsw;u z-uv~h^}wQ80f&Ic5qP+~*X8(d%+OE_V3Mxu@%C9Hw;q2`W7K(w;a=C9 zP-pqaF)?nmvopMu78Ue2LuQVTg5n&qb!Je&~o4ZcQ}=+HxqRv!9yqjB5e5 zAWTGDH~nLf6eshBp1x0gXy*CEW$6(sPji_4dfwXx{f~Q@n$PianPxtAl_;#bwrPlr zcp|*tRekd>Otz9_A{}2nQ^PQU`QiAR-Y`^(gkpW7X2R@I9>3E^9kY>B-TQ5AWo180 z9uQ<*AIFUWHBOMuR7X}tcD9;h!Q+sve@mh*9D?Qc%DtVVJ7zuQXE^G`R_v_RR@ZJ_ z(kN@|a5^0hR636q6(Wy^Vz`P&BnI-RFp1O(r*C3$?O$01myj=q3|JUXPJsGv; z%e`FjIFVz^(UQ3Hq5(O)ls%U3RSSxcaY3px%YpWlU&l?^t6F=CBFR$AnDG0abJ;+q?rQSQ6%GwxKO?`<6r#&*DjnYW5yn10*do-{@R#sRf_*A7Mh*-y$s_#dUi9)*YXlK z=%HJ;n*IedyfycKrNNlG*Ai@e%F)PRQv5eEQ0K|t#E!TAXCr#?QCu@oEjBUtN|SSZ zb?$e0e^*ss8a_DWWRp~_?nwe4lB`s-0XmHVkC)h4mr+gMh}Wk+?@R|qr`C%StgA%1 z8pj#jYoQQ}75mZ+2W2ipbbR+=MYcsoki!_@sHw;E5#n0*O~VAe56XcV9J22G2FC53*~qN|MbFR3Pw5}UzYr^81eo+{L2JkI;Wa? zmd_0{F*YxqHddqc2xjf<*Uv?DSHPhoKpDetN4YJX-0&;4jm% zDYQ$coTD8u>Aq2Ex*Bc*?l?FoQ}l`1MgiOeLz%_v`n}Al(zVI7_qV)PtxgvxvdsPM zn#{x0oP-u*u;w|>+;X`lK`k7|zVVGU>J!x>ZXN5^ZiEX~M%fGxv%YJHWR9G4p9=n= zxl`ZAQ7XOzzs}=V!YW7Buiz~0UPJZ1ljmPn996|rcJ-jA0l(J(5PLdGZj$&eq_hyA zRr+jmx;MFOYrM$a={Fu}C@#&Gzhcwrm6aUi+ACwwNGt4l)*RxDc2z&E3T{w>( zwK4|BAQwW|V0ZO49u;|-Hg)g0`EO6{36CA=R&+Rhew;kSXP}P@p>d||Z&+|>T$-qA z9BvSw!~6uZ(Cxm%9*0MIE!6)J@k{Dt%}7Uqm=EgxMpJ1!W)hAfLS9!7K37Ti9;OR?I$Y_!S+C#5wx9vsPt2yH zrOZ69J5NKpBfu}du}QY=!sr&fUiyE;W`KNMqo1B0i(T}ZfoI?j!bh;sbo?{#t)F9N zZN&0c?rxJDbwynmu8Fh-la0-=+7YI?Z>SWgRajQ(K%@%ceSHI z8E>QvHMI}@+~Wf#Yr0b#iMh{7xG~Y$uKvrohd3P~zE=@q1Y-l+rjlW6$7&~jp`C9- zoGXN@3l*rL7jCwPc_14)?+a5T-&D_)x0%&}+qs!Q$NQ{RuP2TMcKY) zDqpdwfu8Ay*_O6`Y=FDf+>_1#rb}6N4tB*nqJPA%w0o<(t4j9dW`-ip=mEf|9(BvQ zrW%RxR&G&GJ+Hn(;6K5NYbF@_!WBeQOz;9jz|_|)-@bg!!V@k7o82nd(YzyQI@JX> zZt%Dh_ueJ4dwaT={}Mxg4V*AAFy2Dp#Wv`8V2>-4u_FxG_iW3Oxr9!NfTj6siMS@0 zYYd@&i2`748*V54iM$re;+@&!u4EJ6-@Ul$EPGa)uYd2PS^E1<3{=rSz$hQN)12T2 zmmI#yR^@X<$MO5EU3i^I%3edEyweCz?I2SeX@vvE2HL9t=hgU<$*sdwUQ3g7HfEOM zCsGoH@-ukjEW?ldmI;9C*Vywaqtx++e2wVawC|jarS=0VX(ij2WZ<^74+*a`$o9Ow(ybqY$~g^hvR{M=WiNmWoaxff)jRz zZpC$B0pZcRdNM{#Rd_gusygGU?<-<{vl7?;k zK#hxfE4OrqhDv35JC_E}X#FF07A5IYWgUZn{Ag4TJ1^;$vNG4Z%wGiHigyt-RHA8F z4W&J%R>0ktx_fCZ{Ncv-DoOJpJ%GY|V#_ym#Vjb5mw#ya@O3mA3mK{azdCtkHSua_ z;Qj3%mN4M52^rGw`pq#=Cy}#+XUm-KhqpV2aAF-hyU(6m_*VDqF1G zw6O^=N!~1_2K^{uQE$04TpZ(vLc;+~RR=Jo#CO&Y6e>%=kb&9t%OOgPjMK11Od zri**K=*rK^IxuIG*6}0yeR@i2D&bMLO*wV%4zFv7nXqu%U0m@w;L{`?5u=Rrx;Ro| z{@qh2%~ee+r_%X%@r(7dPb#aQxn z#nW9dodNKwZ5`X36zy5)b+MGreY#8NwGEqMBF~Q{wj73{)>bzRA$zRU`T`&*zGTGm6ZKn6H*a>tb zyU5YhlsB^s5qrTOT&mvLvFENrYjEQ5)7VUD0Y9z)?paaU)G_7hof1BNFe^spLsv3; zxEMgNBHdmKgDpK2q~8biKbs`a6r5VqRs7Nu#GaD(wv>xcDkeJSEDRrC{GtH_AHQI6 ztWU~x68AI}ML!5llhtgfD3auj9ds4D@RO61mL0C}E1W~3up80x0ct?knrRX| zM>u_1g>w3bYMF29OkK)Kt;7*hIPSbB%GU&Xi|?!B>&czi`-|+GOqv8C@0Ct2*aNQ(If_3*hGZc`|oSAOxZYuNpu!j%4; zhT=$qX36NEmM9Xk?4jGS4VJ)+LF%}CvB!FyF)5vUTIQ`pEvAYjzhjtt@t~zD+n1-sXr;0yU|St_Z$I&) zp;KM(bF)QseVHWm61ku4X{ys(&RvdaX07?z4bUpwKOGopKgO6~t2{bs2OP^)nT_`& zK-jh9?6WbYD-^7Pu49+}0PjP09!v)p?z>b7YTJ$p3wwfXy3pYKMYZKBc4~t;--zb) zX+|%LefCT~rD+fOxcJ+y`+`Pkb_?KHvwzUrN-U9>!T3TdLdMBUWg4|CHOZJ(yl~jc zJ|nmTI?sP!Jf$jf=Ke+A<{6Ua%PC`N?wG4)ajA0l!sho0$9k?SC574r0*A&)cRQ!%L>e}l|591uy|$LrXRh_V}PEUVZ^E$5QpCT*~90zx|;9u z)XQiNoas?UWO!R-i&V3er)5)%O}cxJ57nq@rd-S&%bNwLmu8*5VPv0t%i%JtnHSL5 z(6jXV^`t24=@+*q$b&7!Fo0W%GD_xNFmm-VV^I`AjLaF!A6r|BbJu)YYcf>rxZ|3~ z)Sf9PP&-1T`*-gfgjdc}!rkAJ)O{#>>*8f*X+vKTS+8O@(>q)&I!|x+qUo3PbLMb~ z_lhaci@rn$C(4&5Qwb>goT$QT>G}03Dhx@uOPRlg)Je0eb2qjCR$~eZ^jMJG=FI}q z2QjBXIV1FZDZ`o#X^C23w!8acr@vwx{mfyvxAF)mTMn#oN^9%)Vut`2|Mc2SSMY%0*A|2el?XBnUetXi_7xS{G^CQ+ zTFSIV4-zIj%24AVk;H%yf^0{O3rc!pE#m4QAe2g9skZz#2VE~Xhd2R*iLKFXd6pYuAkcC{2^am zD}luNB+FXL^Tp0MGprY*o>h z5EV+B|3U5i)RhUmE8NG!-vjNq-uCZ`@#b)TlcvMnX>+Kx*TK)e-=$5~r&b}TW1;ik z&k&EGPb1~vDON&y?o*XLQ{w|0j?e$cyP+L(PC8)l zPMxuvSAjd)Ltt7~VZS6xke#!|Vi`$RW+o#1_Q%hfbK_2=tqymeBBW?dD~11Yty-D1 z((kR1$aloj-u^}Y{k;CjiL!6(uDs(~KSoEZO=8P6-nC(KSY40rXqzL=gyXMhfVWdO>OhC4LDx* zeG5K+><)EI4oa!&4%#6PJgc!{G~9l zXr}?=Q|~VtEbRFq5)-=X$}6~DwmV&SC2j&+To>|0aSzAyv#(QvIZ>|2{Zjc_!u!;% zVTsIiEdo9jYDD)hMZ}N8vXE~r`+3KNh*bj+btzWe%kC4c@X_Ko!p8B?{ z(muROsX&qD0;Euqe&D#Vg>f$4E;507+W_o8m2m1cj;dpCSQ%N-Fv=Rr(V4?XB8BEo zD0+|vcjAB7>O#0JYN*SU%D&M=?S9)3{OVCBKXo|1D<9DGvTc6xR@ILK11%;`t1f-o4dS2oSRgHlvsz#ix3 zuZ&3)jG!|F(VxR>H?$IEJYEOQ2e0eLTSzONw|)Xy67os>v5oP4dajjhr=r2)ANi}V zOk6&foP~^2e19Ob?+Jw!Z8R$EOxD+Z@z=cVP(8W(T=}3QMVCjHZFY^^${RblKoS{w zBBzn4(3O$fq|oyO3hMqyB$6W$=~n2`Y_~-yd~_Z)Q!pE4lfM3u%)S=6L6wLcQ!6%6 zWigpcuJ4~WoEocK(qy2Pp5y>MOShv%+9n8g z^EmAb2r&W|*8Upnh*Tn$i4oI)VzR+AmktgeVj~tY5K$NfHxuG)3tk60|8ZGmeGhaI zgmy=xUg;)@)fDxty6$0D3qc}o<$|a#Y;%lpcKydGsGV-2Rg)PEN>BIoD%_pGeoMff zhT4IW+nFJAuUOc1|LVh7kDS$Ewg`2R@DJzFvl1?!31ps9m=?=99h?@*%jJ#37;)Io zVQZ^(|JnKu`oa@qdYF>)PA$>gCWBhy;2sE43w0_*2e$-Q!>$f#!(<1>`44&HI3DKC zeZ-=7nIpJ05wn*+{jcW03SAz4lb9B=>E6AUrGXtY2xo`(BO3CWJqc@j^Nwk1=`Q*O zRO}%tdUn;vG7aE-$%;6SC)j$AILPNddCh%j%&-xQTnbodUShpFU;b7gW zHrCvhMIdNCNw=Mvpdm8B{K?UM59wb|7z~adRq4L>%aw9!IJts!7PHrDsO-^sw?1176*%KY|BE}2mH4oi5kr)q`H?4i15MY8ic$DLwwlZ;*^5sdpZY!&#i_yV@Uw@#zUg;M e?*erD{w>Phjnh-8^T$8`lb2SOs(fo2@IL_f6hplL literal 0 HcmV?d00001 diff --git a/src/css/custom.css b/src/css/custom.css index 25226f49..30fa7f94 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -492,6 +492,17 @@ html[data-theme="light"] .footer__link-item[href*="stackoverflow"] { border-bottom-right-radius: var(--ifm-card-border-radius); } +.markdown table code { + font-size: 12px; +} + +@media only screen and (min-width: 1400px) { + .tbl-cmd tbody tr td:first-child code { + white-space: nowrap; + } +} + + html[data-theme="dark"] .markdown thead th { color: var(--ifm-color-gray-600); }