From 7986d2f2ab0424e6fe07e21b3cbd3a70f3dffeeb Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Mon, 22 Jul 2024 20:31:21 +0800 Subject: [PATCH 01/13] init-setup --- Dockerfile | 2 +- README.md | 4 ++-- conf.py | 3 ++- requirements.txt | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8e1ced4f..ba00224d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM sphinxdoc/sphinx:latest as builder WORKDIR /netmaker-docs COPY . /netmaker-docs/ -RUN pip install sphinx_material +RUN pip install renku-sphinx-theme RUN ["make","html"] RUN ["/bin/ls"] diff --git a/README.md b/README.md index 5672b5af..3f01a617 100644 --- a/README.md +++ b/README.md @@ -12,14 +12,14 @@ We encourage contributions! Follow the below documentation to build and make cha # How to build the Netmaker documentation -0. Install dependencies: make, python3, pip, sphinx, sphinx-material theme +0. Install dependencies: make, python3, pip, sphinx, renku-sphinx-theme ``` (debian instructions, varies by OS) apt-get install make apt-get install python3-sphinx apt-get install python3-pip -pip install git+https://github.com/bashtage/sphinx-material.git +pip install renku-sphinx-theme pip install markupsafe ``` diff --git a/conf.py b/conf.py index 1253b264..2e33ddb3 100644 --- a/conf.py +++ b/conf.py @@ -47,11 +47,12 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_material' +html_theme = 'renku' html_show_sourcelink = False html_theme_options = { + 'description': 'Netmaker Docs Description' 'nav_title': 'Netmaker Docs', 'repo_url': 'https://github.com/gravitl/netmaker/', "repo_name": "Netmaker", diff --git a/requirements.txt b/requirements.txt index e1eac84f..eb496eb1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -sphinx-material +renku-sphinx-theme \ No newline at end of file From 9aed594a986181b9c7537e802e5aff82789c9091 Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Mon, 22 Jul 2024 20:34:22 +0800 Subject: [PATCH 02/13] Update conf.py --- conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index 2e33ddb3..f5d43b20 100644 --- a/conf.py +++ b/conf.py @@ -22,7 +22,7 @@ author = 'Netmaker' # The full version, including alpha/beta/rc tags -release = '0.24.2' +release = '0.24.3' # -- General configuration --------------------------------------------------- @@ -52,7 +52,7 @@ html_show_sourcelink = False html_theme_options = { - 'description': 'Netmaker Docs Description' + 'description': 'Netmaker Docs Description', 'nav_title': 'Netmaker Docs', 'repo_url': 'https://github.com/gravitl/netmaker/', "repo_name": "Netmaker", From af8f19886f77b2c0cf5c93f5f33c72d18c729fe3 Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Mon, 22 Jul 2024 23:45:56 +0800 Subject: [PATCH 03/13] ditch-ads-space --- _static/netmaker-custom.css | 3 +++ conf.py | 9 ++++++++- nmctl.rst | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 _static/netmaker-custom.css diff --git a/_static/netmaker-custom.css b/_static/netmaker-custom.css new file mode 100644 index 00000000..faea178e --- /dev/null +++ b/_static/netmaker-custom.css @@ -0,0 +1,3 @@ +.wy-nav-content { + max-width: 75% !important; +} \ No newline at end of file diff --git a/conf.py b/conf.py index f5d43b20..55b02fe4 100644 --- a/conf.py +++ b/conf.py @@ -52,7 +52,6 @@ html_show_sourcelink = False html_theme_options = { - 'description': 'Netmaker Docs Description', 'nav_title': 'Netmaker Docs', 'repo_url': 'https://github.com/gravitl/netmaker/', "repo_name": "Netmaker", @@ -65,6 +64,14 @@ 'globaltoc_collapse': True, } +html_static_path = [ + '_static' +] + +html_css_files = { + 'netmaker-custom.css' +} + html_sidebars = { "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"] } diff --git a/nmctl.rst b/nmctl.rst index 2c81fb74..06bc8a82 100644 --- a/nmctl.rst +++ b/nmctl.rst @@ -8,6 +8,9 @@ NMCTL is a CLI tool for interacting with the Netmaker API. Quick Start ****************** +Setup +------ + Start with getting the latest nmctl binary specific to your operating system from the link below: .. code-block:: From e957ffd213c31dec92e13081083f036de41dd87f Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 23 Jul 2024 21:52:47 +0800 Subject: [PATCH 04/13] test-customization --- _static/netmaker-custom.css | 17 ++++++++++++++++- conf.py | 9 +++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/_static/netmaker-custom.css b/_static/netmaker-custom.css index faea178e..4d634161 100644 --- a/_static/netmaker-custom.css +++ b/_static/netmaker-custom.css @@ -1,3 +1,18 @@ -.wy-nav-content { +/* .wy-nav-content { max-width: 75% !important; +} */ +.wy-nav-content { + max-width: none; +} + +.wy-menu-vertical a { + color: aqua; +} + +.wy-menu-vertical li.toctree-l2 a { + color: aqua; +} + +.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { + color: blue; } \ No newline at end of file diff --git a/conf.py b/conf.py index 55b02fe4..616dc8aa 100644 --- a/conf.py +++ b/conf.py @@ -52,6 +52,15 @@ html_show_sourcelink = False html_theme_options = { + 'logo_only': True, + 'display_version': True, + 'prev_next_buttons_location': 'bottom', + 'style_external_links': False, + 'collapse_navigation': True, + 'sticky_navigation': True, + 'navigation_depth': 4, + 'includehidden': True, + 'titles_only': False 'nav_title': 'Netmaker Docs', 'repo_url': 'https://github.com/gravitl/netmaker/', "repo_name": "Netmaker", From 996a2e475af57352e1175c61808dcf46ba57fc3d Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 23 Jul 2024 21:55:19 +0800 Subject: [PATCH 05/13] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 616dc8aa..3ceaf12e 100644 --- a/conf.py +++ b/conf.py @@ -60,7 +60,7 @@ 'sticky_navigation': True, 'navigation_depth': 4, 'includehidden': True, - 'titles_only': False + 'titles_only': False, 'nav_title': 'Netmaker Docs', 'repo_url': 'https://github.com/gravitl/netmaker/', "repo_name": "Netmaker", From 30f1e851bc2148a7482a81e3f3a616907a463654 Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 23 Jul 2024 22:20:46 +0800 Subject: [PATCH 06/13] add-logo-add-github-repo-link --- conf.py | 19 +++++++++++-------- index.rst | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/conf.py b/conf.py index 3ceaf12e..689c90c7 100644 --- a/conf.py +++ b/conf.py @@ -61,15 +61,16 @@ 'navigation_depth': 4, 'includehidden': True, 'titles_only': False, - 'nav_title': 'Netmaker Docs', - 'repo_url': 'https://github.com/gravitl/netmaker/', - "repo_name": "Netmaker", + 'github_url': 'https://github.com/gravitl/netmaker-docs' +# 'nav_title': 'Netmaker Docs', +# 'repo_url': 'https://github.com/gravitl/netmaker/', +# "repo_name": "Netmaker", 'nosidebar': True, - "repo_type": "github", - 'color_primary': 'blue', - 'color_accent': 'teal', - 'logo_icon': '', - 'globaltoc_depth': 2, +# "repo_type": "github", +# 'color_primary': 'blue', +# 'color_accent': 'teal', +# 'logo_icon': '', +# 'globaltoc_depth': 2, 'globaltoc_collapse': True, } @@ -85,6 +86,8 @@ "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"] } +html_logo = 'images/netmaker.png' + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". diff --git a/index.rst b/index.rst index c3e58c53..fea3833d 100644 --- a/index.rst +++ b/index.rst @@ -5,7 +5,7 @@ .. image:: images/netmaker.png - :width: 100% + :width: 70% :alt: Netmaker WireGuard :align: center From 07791371c202f7a462a1f4380241d66a093d020d Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 23 Jul 2024 22:50:45 +0800 Subject: [PATCH 07/13] Update conf.py --- conf.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/conf.py b/conf.py index 689c90c7..daa7b73a 100644 --- a/conf.py +++ b/conf.py @@ -53,13 +53,7 @@ html_theme_options = { 'logo_only': True, - 'display_version': True, - 'prev_next_buttons_location': 'bottom', 'style_external_links': False, - 'collapse_navigation': True, - 'sticky_navigation': True, - 'navigation_depth': 4, - 'includehidden': True, 'titles_only': False, 'github_url': 'https://github.com/gravitl/netmaker-docs' # 'nav_title': 'Netmaker Docs', From 9b028d797b7c69fe64693e8278af0a323e894424 Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 23 Jul 2024 22:56:35 +0800 Subject: [PATCH 08/13] Update conf.py --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index daa7b73a..f0d8bb06 100644 --- a/conf.py +++ b/conf.py @@ -55,7 +55,7 @@ 'logo_only': True, 'style_external_links': False, 'titles_only': False, - 'github_url': 'https://github.com/gravitl/netmaker-docs' + 'github_url': 'https://github.com/gravitl/netmaker-docs', # 'nav_title': 'Netmaker Docs', # 'repo_url': 'https://github.com/gravitl/netmaker/', # "repo_name": "Netmaker", From 991e22bfe946040d2679877dbf89f3167613557f Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 23 Jul 2024 23:05:34 +0800 Subject: [PATCH 09/13] added-teal-logo-changed-section-menu-font-color --- _static/netmaker-custom.css | 2 +- conf.py | 2 +- images/netmaker-teal.png | Bin 0 -> 38268 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 images/netmaker-teal.png diff --git a/_static/netmaker-custom.css b/_static/netmaker-custom.css index 4d634161..29a41445 100644 --- a/_static/netmaker-custom.css +++ b/_static/netmaker-custom.css @@ -14,5 +14,5 @@ } .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { - color: blue; + color: navy; } \ No newline at end of file diff --git a/conf.py b/conf.py index f0d8bb06..a4b6cc44 100644 --- a/conf.py +++ b/conf.py @@ -80,7 +80,7 @@ "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"] } -html_logo = 'images/netmaker.png' +html_logo = 'images/netmaker-teal.png' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/images/netmaker-teal.png b/images/netmaker-teal.png new file mode 100644 index 0000000000000000000000000000000000000000..36989e9d4820f8790dc83796ed9ed802c029c671 GIT binary patch literal 38268 zcmZs@2|U#M_dotdQF3Xbqz_>#8Ohd0gfb$OEp zMY2RiAv;NGFqZ7g|GZ~W_xt;MJnp0WcrUNld7bk-`+3iG6C>Tf_&4w)2=bTSVLTB* zR-_^bPxT63xbiTP76$*UJb&2S13}hpLI2~@BW`9Oh!moS-*4s}Pj7$cX3>(jyX#ZI zkoeOC#AlO~1lPa{e7N#z#WhkAL0v007}?H_+lK$8YrB`*RLo>$^1~J5f00X*PDC}% zab?xjkC|mZfBxje#o`kWkMA8eA2v?X3KT?;sYGI{9^MjP-s_|sNC@KrIuJzQt?>;U zf>6KIVSD8Ams3M1sv(pH$+>Mw*dA%@Mz6pZo$}v=f@@c>o({L?M`-xSFACTm8Ei&x zsD30=UUVf_0(8f9-^n!Cuuo518I?@v3--up$53l(XzOTk{UtQg7j#V zakNO3&C=H_^rt^bGAUxQ)i#hY4Wj7Wd(B4wI;BuCFX3b`lMZA;7bS$I@A`zIT3?sF zHJ9=|M~8K5)}fjYu}#)@J%$;nr;GD3(%#vZ*0J|1NksQU24&7|#P;k|ui^5$LCJk* zzo4wn+L5t0)ek|gof7MnPr=8Gvkv#+Ji3|fA&u^_T@jkhU6jtFa^g`LU73^_%YH0q zM;{NOBwrJA2)E_cLzX-R5<}4Ej+`zIqm()KAGZC-$9$hxA6*h532TODzrd>OlJRF= zwoPUpSVy!0ws%=9KGq`5yiV@-fajC@Wq^b{t+RkBI!k7>1{6}`&E;GDN++bT3WOQv z^R)9Zqg=@M0tG5Dz;gqpX6fmo7;fafX-a+^Wy*pSwozq(g?65M=yjcx{9KCniY8)d z1&91AI7x&Y@Z$ik&zG~bwk*0MfLH;mkn1tt=9)ezr@oB2EyDrj-o^4O^|>70B{B)O zd2XWbBgf|5dk>U%`;MHpxVAE>|M~VjD~?o44bfBbk@{|UwW#qvt^wsl|NP=WXxdsA zTDW-WeqOFDuzwdrmEmMDvBHNG7Ub*9X6y_K45`~IlV1GDVVw;rOM%1PdQu~(gk`fi z**RclZrX#yi;(r?@}6OPcB@yen77M~(c(~I32;6PQsYmd>I`revOww9{rj}~%D(G5 z9M9%$+r*CYs*sde^R_75*#kExvz~yPtCKVJED#)qRmIpB})|Yqt)L! zu$iz16_NO@l}Q~+Yyq!CErVeB72{!!U^X#HiT8|Q48-+iD6s@69)zj~7hS=_(y6~o zYw6jUfwBJj7BMg`DUGCc7@_VH`bqPra$_=cSxQH1MuC+TXeFC6Zp9IWpfQT^aKe

ndR?^rPgS zkZFGsOYzsQLbnrbepjl2FF!?EH}OLUZ|SmbEWBkuQy#VgsAiVbs!)kHpHQZpNrHmaY@yJZeB2Skh!tRiK8p`kjYMZLeVi%B2u#q>J-4cK@6cldvuiC1 zJnu{GSL*kw^XWD@vaAJJ8WooJT?MRDi?r(V24brUTjK;GQ3dVf*cYk)n9ubaL_z8S zwtKo89Q&oLq9vFoL9QJJxpY-NSL)U&FJg1sTN9N`r`@aIa~#OjGda2^hS9D5oX&bv zX*0^v&U`^(&AF}YgE0iqgO!3zLnukP9`Da^jIQ&K>8KS6IW&;dNJ^04W}a;30Q#UfJb3)r zY4s{L;QW(O!fvdT45M+-fvRUjcCq~j$9~&29c(Q_P%=+M!J&HDpr(CA&lzEIy7&gA zl`c-W!QNhGnB!JeAGLqF5e%lM?$zc$^--G_Bu~a2zeeQuVKYt19Arm(6wA2Bw{!(0 zNB*GFty4eemK)RQ%<`>d2X{Ee`dmlZl=qTsVaAA~#8C-T?{(6$w;M3sBJCvVV-8hb z5!%Prcybl$DAzwg-?ZVpDS*CdMwn7UmaYKQX#d18>})xNTvUK_I()oJ1OEl?u9Q5~RnnNxF$2N2UF_-&N4Rzq04ZD{=g31P(WCdP`e0rrIPI>7#q;D z>!4?E_`p&3CL*lJ`|^sA@P$9zL?*hz_kFNJGpGn#O=%{m=@i&6s*fWya1=zz7Rc7l zjAd}Kl~f=av@5xQFhyJBU`q;pZ`>T-Tg~Bl5W4Nfsw+Zse4O{f(D%IHJumWc6I#HN=a`Fo09Rn_WYM~<9rI6=LZks<2A;Dz1#fpcn#Gcp(mUeID3n~qh3AueQ7QQp$|Pn)89U@)al!}1%j`lCGL->1r5Via9q>qq zXBnZ=stS>dfVp*;W5wYR@f(MZr36+?{IxJkDV*G`LR*Ms1ifI>sI7=gy=A|r<^0;# z0^dw~)pJ#4;jVg)FU)I)JsuzeNh>9r|Hq;I4o))6X_7H=adJdPt*=Jyb61ZxE;1N;+jHls`A9V=5O?)@{$vcMJ_1%#?XPk+jcjMtN;W%I1? zsR_X@6C&j7?GH-c8Gc-qguNd!xHht~O%|Cap0+qtUQ8EPA_lh0e`71{_vIBL z6ZXdrn;$B7JbR~OW(zioUk;J+>*BcZ_p5H;N^Tse&c!`KBAj3Gg>fR_7s)ZNLg*bN zo2v(^4d&Niyf&`mGBss;3mPZJmP)YauP2^XzwRpC=SqsgOo?EgK-gX@$bDXb8I@8f z=I$afYuFrpIFm_71S*HNPga`fw?v!cOSa|h8Pw&zWizb%2Z<9vAc3I3BauOSILMq*@@Gx-)$$v_+o!umN-VPt2XhhR0*-+BmkRh<&`BTMtAVFqp2WBT z7$kEqBPESPlT?WQ5iEx(5ROgVY)=UTt3H=xoSiUX?###Ktst!V-hj<;RXI~leECFo z_u1#VxD*>F%*Z6_^;ghV$?M>j&!n=g8|~l1m;+QuJMASfX)Wec_iV5|XLDl$fpH99 zP6|ZZ!!}i2|5y@Y3)?ThhEs@LD!{mv#l1nk7X!B#R>P!M2@e(+nR$i{n}9J@%kj7z%yC6c%hm2g>fRs?e_u3}Cah>Ip2TMuCwkM|v| zbL+;AvQ_`hJ6MsZFLu@3MKMkFwb1y@;5H@k8e*$C=K(`yM|&#q&_T83-y?~wR(Oa$ zkwlku99}4yY6{<{s+@q_+a7{+CqAy!Cy?Y~!n6I~|0NK@R(-)Y71Zl+usn18Q!k;b zTsar+QMq*-*$(CM5kf4ILe*0ZAAB0_&VT*_YNjBx=J8f$gGxNqzWObs@CR^?a&@nD zwsgHET`h!&fpI!ICBK+$uS3J_t0{x}xXBhZ)yI2M^5KlOL`dd$sxQkDWz*ZNUO~M* z)AQE^KsIccw5M~~d6Q!9ub@*jj@wDt)GH{YZKd* ztrx1GV&u@^*N`Mge22Z?YE{S8T+CsP;Hybi0!Y6JL{qpW7-_qhgk zddcya=R`~oot#Y0s;S$bS>hQcsY*WTB5BFf`|Ay7iOcrYg%>bxcO@=$3;@Vmq{(j0 zR^KkhCGe>7vw2f;*S`8Nz2hJMh=j}5cMq2DRbQsG0bt+t58E#?PT#<7vV9f2RaG%> zJ7fi~^Jn+=sE86c!m&Q6>?r=cx%30S*67(iFS!^l#d=x55$&ZNV(hDFgEx3({JbCM z@fpxoJv*>+O)4j#R!ogi@q_(%9oJ!g(pS^6WcPDtCyWeM)`^eYN&t*>%T~H1TpQM6T3v6M3TpTB zkU{xXC5>M!>S^In{;{8({fm})){vE0GsJJ;c)sqJ_I2NYc>+shqEt>9vjy+1QbDyl zagFaPy|R_qYDij<97qzybe!x5uga#w80b(cK7%_4bjm#;wjP9syg;qMTeHdtU3wy> z*ZO53D&4V4C^<-x`en%87sJ)1%VBh}h$-*MNxnr$k=Lh;5nCbozIATW_nnG5pVA68 zAyZa2aIf8kTYs)QzoGzgNTBrj(Ww`_-p?%}$V@Gtqu5tx6-K?fr&c8-obOvWw;Ntp zpXL)I$#n8tJ zw3hd00$UwRLE;FhK`wQzYN}W9wtch zOCCTew{!$}X3^3>y0yN;@0y!jUc$k0SCXLZ1r8enMNDUmm9J`kCpGz!-OK?ihkmwa z%<-b!p_SuO$2*Ub5DI0Cf&33mde^4*kY9633b%}vQz}V9e>u0P+4j4pzgsT3KHQOn z*p7n&d$ASxZA#3?bH`e^y0#_c&MEm7_w+i#_G_X_y_o!u*mD6SSnY+{+(#5fIv z+p0KqpJ9frw1+@JTtUmg1D1ptDrn6H;(RVn7C>HUN*G8-0mM5M)Y>kxLP?{Bj?gx< zVH6`z6rLF>?`(gflp8EStT;K%9*;5a(5kwTJY@I|?QLBbzsbTlV^av7>e? zG;A*go!`Fv`%2Dh58$yn<02acD`D9FXp3hhOyGlG|UIbV5Ia+tONoaB5q@{eWz^dc!btNXG#Y>Lj~E_ zbAtc9X|Bm>W-&2l88FOU`RctBkzeL!t_GMp@gY-!9Ks;SqDK@Y-P45)dD$U1?Je*y zB1BlA#RqlP+!Uy6krzx^%dJ;~UjO!sr6MZ&+6(K98HOBGuJCuh;*4eXF8~u zEMN`UnH}{h5pUpV_f+2r>7n_gTWkVPmzdK%6K0yOq<;f9|JC)#o1PqIo*{ezu->)& ztk({fV-2O)>uV)A^O5&m?3Wf6uRqJ*3y36(vMWhSDzLP&_uFNa9ue@~TBFyWwxV1i zAAt%_SocosbNXr}%*OBBI+GcVq$pO-NuD=>n|+4q?|3{^lZmaKE+MvvPC+dz_n`$q zrdc`ekv@o3Ul!Wz2?yEd^Yb)Xf=6ho=)KR8UyO2eXw7uZ%ns1r<_B@?R39yro_FcT zWP^p>^z{V4((XMitjN@RUxkR&>sDf1@b@emFSs~CZ=76(E{VK`9Q-89h1d#^k_`G= z)DXcgIdzQEVPGS3E`$4pPpfA8(K@%PG#Xdlx7G-@~C;*F$-q4%_62`7qDPp zYn99ZSW3M-p#XX2Ziuy!^78MOe+_l-W%xNMkh9U05&qUIRfr@DLCFV-zC50hz)M;k zyM)JZhplWZqrOD7NZXPjZ+kN&&!$chXdkaCCdPTpGw{Xr(dHy}{x}6y_vCY*QB<#1 zT7AQkwKtlNyx+q_F*yiiz`UB=1mtR7gyPrS%c02Xw zW!h?32CY15-%6$6zuZdN>70 z=RmjZOfzDu0lO+6hlT^3Z_TmGWaa7Ar5Vg)ghEwEi8oj2)T;~6UVRd=)i?`Va`JRK zba<53^{4DUcYKFhF<&9X5r{9N>79K*5=Rpudw%m3b_P=u<_fh@Y>y=1-@1F=Nx6(& z>ZL6J6dZCD&_)J%*&fV@rus74DnAMZ@Xh3;_%+yOcP{0)b1>PV)o{l0syn}uJjA^h zCwB>;PmnR_Hs4tmrZP32Tc8$-0bkG>$bRMus_{vhfeY~oL7CJqbH+jQQ7sV6}h@jDjyRuLfaA7$JF*vOieoh&ydD59{s#?q57uUyWiv)vmgtnZ* zUucn*s)6G`@5>o8(%)?4gq)lmg9{yo;mj44xWI@tzraDuD40x$tMJP+uQkT@1ioIr zR;sehUOl^@T9By~G`IQj>9KygfL}`Ew?KY+Q(ChTuf|EfAWg__50)F^Ep^M~cL^ww zB(e5I=C#FiDdy?Enh*x0D@0T&liAzTVg$($9%XET2Hlp(hPItFN=Y~+@&MDkLG5?n z!x(P9F;qkVzZvL?t!uqgT`|Hp;ogR*zbwIkU?c0fU&KDx{*i- zx;)e1q-+CHxF?%8e}bqM;(Drr=VIzt8_0Biyw}nLEyz!Du6M(<)>lgUREN*r<^EEJ z?NP=;b;DYW2{rP$BP?Pc8DreCnW-S{mj8&seqa z)DFVqSQ)zX>@eV3cX!BOEzP5oz*m}OUaNJee17O$p!e19>P=FK?p575QR&29>HG%y z`jNufsZVm2p>|ji6DFgY`9LLapy3)TjW%T*z20YVIqs8O-oAonmSIvlwFuTxs;YR{ zkg2cmVwNPxkNV6@coTCK=pv8-kdA+}*O1UixZ-(Ee<{*IkT+0Kmg?zeMzgH<$l2hu znomTd-i5tV=yiL3+UHaFr~kdO$W~U?Q?~NZs0cW7^t3vsIf5whLgA=v7c&TDFRly* zcgnb*nSHS@-2>x4l@C!jr{07xi{?|MEF;2R{SmBQdXAYwu&y9F&>UhouuUQJ8d(}N zY|4Ka96Z}5LPPM7^75`zEFZvm5h{EPb{NCDw0=#62szCctp9J?MS%ADT>0NEE~a@W z_s1T@GfTuQK_KtF(C551E_Lb<#2-|Sp~4E@*<1QUpNQdZ1r>F6G=*r}fITT`lgEBu zB6S8ji(Q_7#ObgUC<5am9Ej6SM35Ockge8#4&)C9%98w3(&MPa7D_;wAyi}ieTOy) zd7f>wS(lQ9fTw`K#&RGWU?eH z5@kI__6K-=4~7~CyZ445^axlfFg_ZMYS>FnK+huChULcDm*|(_sl}%Tu3ML$vW9kk zav&>GVm-w;0hG@FS#?Gj8_-L?SV1J~DVhPWbiDOB(?7E=b!`C@%na_t{{4G(Xon;( zc0_$SyQJ|N(C()xJ^fR)5}^%ayB>J6Bvo%gU_&?55uW{i4{Q!CtBoD`Fn83r3YQqn z;EClr5u^+Plu`d`L0T6pt6@_%DVwTYdK6z$FZi;H75cGmAZP?O)4kWysC)W9obm%- zKTd=4UnnK+>v{pxKbkoRWBU!F5|}c`KF=F%y1%6D%zKJnOs{@E#SYwpF(Y-P9Dod9Q#aUP;hM_2%V1N=Qcs}%3~v1 zc3{(A2CptWzfLi3kzODFA1%PZb{6P%c-i%gHGf(RFz4gV;IP9fO!EJfJt)(@0`uBv zlz!L=lx|5RpnS`(b??P$ItJUGKWp&YkdOy}1}?N+hjEJ#zijs(i{Ai>zypr22{U3q z66AIM!|u{{;!;7N2g_lQL7>hNDmNT;Rf0Z&k`#wkkY_GU2Oy~cYF;NO0OHG`)2MX# z=O3zRyH~{2mJA_`9CqP$!sVB0Hz~iDlz=5IA=<*JFJsCDVnY@SV|Xh>);~h$Kd>3- zimZYR>z?f#tVn|u{qb{KfFV0pv6D@NhLKIB(LgAU0IIr|U7&eOs7EJZg4_zjSVDm; zNllgw0b5vZ87$|3Z`)jH8}p}5+s4Da&2VooHlPX?ti}EYRVXNTXpPnX3t#fc5ke3K zkRu6=O2skob4%8Cy(kD+I7>pyb22GRN<7w91BmfPe27yq=rN-prCJLroTW*9Ba zu`)^)DFWaW2(Qry9W)bsL+oX?SgZ-k%Vlgq(1*$m-36|tZ_7(qg5ou>-7-)G&fL@! z&C-`8-$%9sFrF$3p-iF*!AdAuJ1J=Z71A6~u>m|4NN;cVY&-m1=ErdSr^%;5JdMY- zZ!YgSE>*Wn;ffJod5*UHsvCU>|8v@}RQYD=a*Ka$@qD9{b##y0_s&M$csLaiYlC<@lHiV~f%qjVl2_fj}iOetOFm87eF6+&_7^rMox;X>t zbm`f#K}Y-?l;riE|1&cZ&9M{O?I6|e&rc@gu^Av9wP1|$5-C5xUE*EB#*3;1Uw$od zoylG@W{uz*D8C-h13cUXQU^-@+-)zIe+(wuI!_e3YU+Fu9;?Gx#Y+Sk0{YuX8!!-R z#Kb>Hm8@U#QokS~TyT7Gy6oyEfA7ReL#@Q$Q~G>>)O)E_CYc?3#ID_iAz;J4dcB_p+qv^m6iZ!w!p`OnZBdBbKX0iqxEkgv}!x^ z;o z0l@00@ivV6!U2{Jt_DQvnrD6qp-jbqY&P5t0DHm?PO<`lPSf~9<6gXUExk1h zL~4A2C0FUrFf@km2GEx{GK5dTGG5^i4jy-?ys~IXjT`h1^1shOP_j0q<&iN^WC7V$I z#}kF){bm@{v|0PvqW4@?uT$das|j^+fQF?r6a&XfntyZb-k#_fU*#+W`tfO#i3pU^# zoFHM({1m4oiDZGtp?wDB@j+_^Op(7I?^R^y(+GJGs3E0Y4P|OOXvj`r8K+2!Fwjb$5o~A8@#XNsG)cnV1h-DsAun2h!e9q_R~65n-{KPJnlXKS9R00Q+esut6q;UD6-s z^q?=8sm@ooH8tv6Qzea;@MjDHqJR1gva&x}#_)y}JC<0s`7cAQ1t`_9r0xyFB2osT zm_1Ar0P~rw9u0zMgxT}o0++X5S+y?FiWbVu|Dd@Rh7XiZ0rpV01$rEkDjCR`-au$V(?ruO;pDkl)_FR3zgo7vSyKPn+wkJnG>lsU zcr7&wC4?h6C0#g~%TqW2MHRxp%@TiF=x>m*$NT{>u+Wd1*`!!Npj}&c@l&F1Iph#b z=_oGoQUQ2bw3lsz|3EXj2<)2EDNx4>C?gvGN*$==jIJU|d?+QrN{A;Qn%0{Ec`pGB z9c-mNg`21i{=aA@09Ue>vF(>yC`FpXF7$?y?{9VioG%QskVo4A+zR=FTf6?y9RhGG zYx8ezfupeDrzx_70p4}596A2TIUuaPbWa(5r&Mku=t#5Q#*LNVN{fFc7T*Z$bQYbh zeq$4VBWAO32Dkh9w zSiw6Fl=dA1?t#}*yBkmfLor*XORV!iWu}T%7&CHey#MPYB)4S_RQA#Z=xw6Hyo#nB z??BCWZd6#O@x~MVzM<$&wMJz9CxzXUwFaI2S`|(o>z8d;bbli9zM@8}@~r)s8mYVE zt8?`WuXUK=#3`*8*Wca#)Su`u@nE1*VRzs$p|zieMwPL38cine0Pwf2+4BZp%bhch463oRbs3!~lJ|J0He=P3KPnqhl<=OA8R#oTr zP0s#Gi69c{J?DJaj^6s8@B1a(xp<`O3-@iQoS| z@*_QkT=_iA(1(_>a_%6`GZAt}(S=8Gl<(AJQd&ua;K=ACkHhVHTY?>NomMJi&CoCB z*?`W2)5GUF7h8S5o|R2CJFM*JreP*?dS*n!dSOka%KSN@tu+r~a#U~NR#r>>JmtbW z{o=53ll|WlgWfsRQ#t(8Tm_o_TJ(WCNt=2a^=nVb>28d#4A68qXYY|I;9Iy(`0pE@ z{g@GwarA|Aqly;td)p?IcTdLjM{SoIUfG}hf_vyFUVPT~VvO?DmgBWCuRMyHCVS*| zZ&kE><5U@0Q>)~W97B|@pjI3q=z$H7&Uze~R(zdu%$heEy60{prV~#GDjS*!4E59J zG@WLjTF9haW4xfvXE@~YPphaO-d;V#t@BkNzHVadpRj7}+10agQ)Po5E&*O;GL~`G zU_aK)Zu>m{U2gYe>izZuk;H08`Zs^Q0lN@=TwlG!+&_WFLQ1Jh28rFnUDn3GaJxGz zNE1H16;ys)s(hH@=aY`aZiA^c{R4y(iZC71GbPa(@wI9zY1jiFUwevip)!KIwqEO* zd!|!CHHvkA!@8F|`auI&cP)oOlb1Hs><1x_9PAo0LDLc?F3o>w80&|aqO_yC-sXx# z6tUFQXgUaZ6W7k<%@Yraxc=As-KN|YI-&aAQl0$u6zUrcPi^I45c*PPR7%Y1TjD5% z@_|heY1CIc=FDYe*QJ9+&@b9kOkI;5YqCHL2v0YewwkVgyBNBU@@_bzDzH=%ceLSb zG1z=>i z_8v#h{+0Oo-`=+UF1-2sULSK3+E$y?>)#NrLs~IPogLM>Upl-{V0Y)NUY&j5Fk#rB z=+aiX`gNkd&)ZtJXj*hQtZ?8rPzq7LD!Sp-3+vnml&O8#(%ti_)R9dAP^Mv=OUrJ# zxGJ$)e+$`Jw%EvgAX|LcDXXD*^)Ew$vc&5iKoRijvA#CQc|eH9k?`k)4oZ^ z@^52D)f~T7mwztxlK9_*--{}PFGt-5BF5i{L^%sO@YnZPCs8j`yhSmK$M*NZj1qFg z{m{KswR*Sp*1TMa4+WBwz~T?rrSA11%A}qC@+)XSjpDd(hc!L{cA=WeDF;<8Qr_X; zLLxTdjGc76;$FQbev9SU`Krp*nxCGj43(~;hb;K2q-GtDkU;r7^APuF4xDpW)bH4- zWBat@>Mk*(*LA`M7gooW&Eodf2-4(BEMAe#Aiz_;iEY|1@3J-S3)TL;8NY?3cwCl1 zUuisiq*DAK>ve^E+Vk~XgcfX@s#bZhEIditm zw9*5`SlbN)vaZD!ZSF;APt)!E>p6D?sIU0pt38ZPdA{eg)_&Cc?FdA~d( z#TQvb)S8Zc&d|)In(tK|^_k4l58G}z`e7rm62^eDoQHl*Pp!t-L|KxK5x5HB3o~Zg zDELZl3pq(HV$SsL75iert;fGw(v!K=m0M@i3GW5q+o^8<>9h9X)tfKAtK8RKq24)X zRemAKRBK8;E`jcRjsCM~NJVaHV_aA9rw}pI<0ZH-oJNSRe-uO}THqIs_YC2nTIB_=A^mD{7STNC%X;a^L-jgA2EMX|D<<-Rn2>ft#RWbi=m#4R|LzWaTQ@>D7gbX2 zR#!bzVyb$LF0DgC^5uMccFoRwIz8h?;n&AiSSD?gbdQ%HUw}0xzN)Gt>SMdHr3%l? zol3Nukc9`;C z_L%bBcj00E)02{0rsbw*j>@G_y{eSY`bJ7fy>ufXA74}pW^IKno6|2-rs}usD+ak~ zfZU9s?FWjuv(|fyJk0=}(th4zSj`imxB*|=TW|7$X#e=sfnha~*l+ziQ;T~W!i{d~ z($1P4*EfF*Q#pqVsLEI2-{ue@LoEe+O|&7<&k2fG$K|GTO%>B40}+=aV%l-9H@~}= zAT$Xxezd6CzWQwMz8x+`fk}MInOZ_-_e9p5@#~nrD)d;p9mDO zlRyla-B%O)eR3bVHY3RKrwZz{b?}YKx@17e7G2odF>k2t-KhfVF#RsKg_%As(5WA> z{Tya*YUC3saq<{w;6_MOf?1^lGz@ct)X7|+L@8+rYO z+FAt0$y^QsZutc5b9s~)2lAqckPfJ*^K34JHo3aH2*&2y2{NG4yQG0qSSR>$^Y$J; zZTRdYvxO`1y8#LL24xy&597!+l}AWn+jAYh4b={IKD)kneOsm1JI}beqWRL79g){x zo;JW?+@OVc$L}4idtvpCb~Px`cHM^EEY@G>@nL7@Ym43j^h|3E+BF^dnsWe*>hB%- zVjidz?I~E(&@IjvDhl(gSvp~HmqcaDw4z(o0w5tq^hzG=@Z!U`DHklS2TU8A{JneO zE(D_&TgM-K(nnU0q>BWkl_!g~?kt!+6&8`m=hzyMe- zQ}=vAC60}F?70{7O2yEPz?Il5yIVc2HZ>mVP7FNwCa9I5btmV)w{dC5JA?W&3ty6O zZB-K_Jtu>kbBZ)ONiAI89txz^dGdWMS`d`q4=ffk`nEHcYt|&dS>eGDQ6FC(TjjIv zw7Ua8gIibmfv+`i!^g>{z`kSry7p})eGt|rWc`SIH>VCNl;(;}o;1;!s zlXYc*S-T4Kak^DU0=~(G8sripHbNPP1u#l9w3xh8Ki1Bp$>n&4z$Gr)9dTp-Cj;)w zLZEmT_C!fp^%AMjmlV$^*q{9m6%$0a%h$Ozliocth^HbGkHSPPoFQ=$6Zai+Xre)#<`zt@o&v;#L zy7q&b6Gh~2bUXquBLpjd@M;V^$%n+;ZlI`!wQ&iiqV=+48~^2+__kLjK<3QVQha%I zPDEP|P~nKTJT!Oa)lW}6!R?p6=yZKf*%q6{A_a#r^)8>YiAGR1s^}bUpl(mi)iUkU zwd%>s+|(nFT_8MPh*Ozh>>8Lcxk=Qonz8bePoZ8EGi@$C7>+Y@`7t>&nH>woZdtXO z`~(P82!mc|huHwN1Y+K^nRIz(C8a#Ic^PfU-wLXQ^wqTugLkSM&9ZK2%$+5IbyvN9 zN~qfDdkzoH)v;!*wjFb=xnwq}@|(w&*QW>4>1e|}P?B;gC?C`*Z#jGr`KZRO1o4C=36yrJbp7R( zpZ@Axl@x3rW_uB9T|J1Vo&%vcD4U$kpK5vWh6P zBZx~8hV5w{)JxTR__?GF_4urEq_NSe>bl zLp-;scS`7%SALZhg04iD%@fuXAZ%oZWX-azh%nJj zt@c{yS&t1E=P zYd8}9BeNu42wi^Ue~w!Szib4|2H4dxS{Y30o&E?l9EvJT!!fmBjxGt&NeHE|#h>cy z30CFV>6vV_b*2^o-*nmboPGDpQS)_spQ<_y&3xz|ewTum3ZHml9^fwu!@x}?(wWr4!Cf9wr&;<=9_Pw2RXAE>RO$7I)JyC-S6w^?{5E#nHRvEvEHJvlYV=q4K`Ie>YeFi0;+ioG1nEFnH#an0PPZz-xqs@qG4LrD zJ`0$F$dVikr`lZT$t$7p$?j`rDip7G=Y;d82LpGi-luBZ_4zOxcgo^<}HDAI5tN}?<30Ubf1c=%uIyfizhoBh)-O0MuA zv^)MGZEH{S8ETQPH`Pa3#bnM;@wyX+O67%{l1R7uvH|Y@<|;;*kPbdyks^Y~nUD;t z{K95Ka=epa8X1{phqODX(QXia=15P^06R_5W(2lF=1}4F{z1aa(8%TDvD*%!<*%9@ ziv=x{9su&GbQM98SW&U(Jm?{9^rTj0`-Gf2%^x^_Cvvyr#OaNx1F}z7FGFm*tCiDZ z)sK|ow%kk^0P`9%-YeMByRAMz*Cz9ew7aOn3#;$WV#01{45qvsB(TaXvG?={doeka z(tlM7lANA*w44Ra`?#vLC8Apltb+4mf@!SEsf77}xsRW6TAsKTfBpGd2R_bOPQLib zJ-+@49hn4%J*ouQI|tj|;eB!!PFNW7w*6GH#Yg416!9dV&{zFAv$AdQr4Zlsrp14+ z&Z-oj|Fp$MatKOut1)1FHNMIKvZ97m)U}rgI$~{^b8JG%kneWcW3W~qsgvoo&OMip zf1b6R5LDI~{grMy;XmC|pNuA~MIljwgVp-3P)@OO4-J-0K~`f%wy0|#8N9R-5`Y_2 zE>=eqA_b?+r`!mc&{F@pC8Edo2IED%! zTIKVut3>_n5x0@e5GmEr1rFv_c7R1SV>LsWSu2zjm{oHromi3Q`l08|WGed=ipe`R z+a&FE?2Hz*Xxnbr{IT9AqabWmDlfnY9qy>)fkRIn`8JaC3Fes|HRw%o_xdPAUC7^u zAak?~TyYcV(BV?eNZc^3rLtb2b!I;r7mbR_dsa0$ccY~vy10;uK3A7Qspv)sMNRJI zRLl69Ts^gyGUzHP0N*SV!@R5Hr;}=nWUXcRh1P8HlZ%)*->UbuBf3ew`MH1dXua=a za7FSlM1G_e9bZbRPJRR9vM~?$KvHCvB7-1pj)zMo_SgE}-XHBZ55R52&CYu@zpO8z zwB2d9YY6vPkbgkzJ6u9~J#lLh8@StMTXHhd8vV6W{Lz z%WFiP4B2xXlhO3#^U$rigGGwrcN_#-7lItOw$o={7?f(RG7U&l+~mdgFiGtQ9FMDX z6Z3dw5pS)wyuM&n>+?TQqe26)w={5FFID z{UYOouEre3^(CpR=C30AC`*pP2j1lBNUkt?(7MzCB^S@X5Sq$gRZYWpGRuypFcSTr zR^IaSmou&MFUoyo)*}7=;xVno+n@=#NT1g<_J?8$+8TP4XhoL%Sqw;CE+bw$wO7&NJ~!AK0Tw}q&Q(p4cQTC=a=fD3b?xM4S3H5^=6a>rrLx?!1|AeK zEvBL8$}_-F3`M2cPKn&Fx`L+&LFDUi`OVYy#-2e}P1XHajt$yK==qgyV(xc)U+jyq zc0%f&6fQ6Ac36U7SJQKyk1K9T12`+@zL0#Ey zd>tcbknZpUj^Z2MtFTy@Il*N|_0Y2($5$3lS1snqUlt zq0z~4JRR#wfX-T!&Z;p{T%~-8LFjp5-{#0mdes31?fw4duZOiK%Fa1Gq!LxiECRj> zfptyn_9T&e3`pcza2!ZSy$$o-OJ>j*!Nl6;VgsUYu?pMl>qH6MX^D5=_LXStqXct5W8U zK7ct~V=y#e@yhTMUo9svGL7i~-=k`$eUh&2vl-U)P`ew7PcfT7by+jxm@5o8ldB#( z*42gK5SONlpR5m+bCd~9W8kxoDuq43?7%2@f$!j5>sLlBnq|ATQf4DRNG<++rm{?*MdLD$N16TnQIB%RnkFq=be8?3(3rJ0QDkYiYp`i`1bA=GJ zZFCpQ8_8t2xLUrxA)VT<^kbtq9QB#3?mg?RhrBJSH=2H68M3u;*fRX}2|r-g#4}l6!2uuxyGYE(OWj0;$H?>3E4QX@J|s8Wkp>zzWIT)U`2kRHUOjMj}SE5F*0^KZ;BC=HkhTiuBB6-}b> z54|IPsqRpoOc>!AG99`JKTM+^=AQI~qN-583}LvWsQO2V_v+f@@MysJqwS$;pV!QW zd)WO;`*#D7v+2$qV3~y;+a9|C%Js}ncg2qefb{dwqQ>NFowwm*;a^}IZSAf-I_H%I z5=Fz7m{`bZLaOU;KR7WglXFQJe(5BIAaAqfkhf{IWL|YgBnVk^?c*-*bjlpDwG2&% zF`%M3TH78qtOj_z@QVREm(rq4|oG z3P?|M{orZS5k6d%u6=FKK*SZmyxks0JQ?R?A7?;U7 zPkp#0Ar-2Agi6$RI`RW7o5>yreu6%97$4kE7!NR+FM&Y_8X?l7Xz?wp&3pVO)Nnj~ zMdMyR%!Mx(R5IBhnVW564Y3)Mefw7-iM`P2jF#C(zLBuS zrtDhPL?CY4V%VBZmg;M+_=1HfyMFOll3)uLc5yfuzgE(5b@p`ozQk9XCC+bk;5SS0 z>z{XSG}piWsJDob2A29;W=NasKFVCZ;2mmby%q$|z3`2R0cmyD!BCvZ)tq9#XPrKsf3*@@U2INmn9JSYeSTme}qu?`9LKM8EC5482ddfJUlN7y19zgY=&u{%`eFtNTBdX63%}x}vNcPAJlKhahb{K60fD`HR5yCQZs* zf#SR-kXKcy;-=K>%m4f()_Ihe<4{@M{NC}aWVWYhibxCqhi(bLsm8Wv!q3<2 zdH29SQTz6c4X}RQ{ioVb?A}M5dam>yJ|YswO9&Gn(or}V?`T~j{?aXGeRuU{>?GJq z{6hb0!?@*#od`h*(AauNzcm`TsYj=A+R7^la%N)~M#+-uTRzAf zjI$&BW1xyWZiFwkrqKNFCZ!&Az-pTfqP+(xD+zPCflw#IFI=G=o%V~lw1H#@MT;zT z$9o@FPnShcsvXr2ItcqK3H3cni~!|Hm4wls!14>E!$q#d;uJiXHFpe#e-g7$i%h(V;SNXVVIVrI349JSXV4abK;#U5E^uU6MgLh!O{Hp$Aj1qD0nok? z(HtMKr%%z!Js#$pD)hn052)_uX+=Jv$#JS==BDApap1}lqc*8cq_>X!3fQ@ME;ii~ zM|knB4%4vB5Ppec_Nzb|(DjN0E+9`0x@fcGEJO7&LDLY-`wDe9CQ)qeCpvfn(>T<% zI}nE1-yga20L-1+zuqk{bkgOYfS)^C9T&8a9+`TLj$qvEpW2eb?spKYJqelGye084 zYDU-axhv5F!1K~y+pzuySx8hpkayT zFH}Jm`d>ywS{Y{EaS$(e3bt+zeoZMfyLPE!L|q8eZ|aZMdyi+KhGH&gRqBAhSS|cA zTGcil-=sC0#9_{{r1GbyZ^>t?YhQnw-s9&t#bEY0O4o~krrO_s;uZV!!K2<%KC*ui zIyOmPT@T}l+M;pK%DU38xi7$1jkWtHKB)M{zTaNYI5+9`%(o5f|1EF-ACQStP8quk zfwk#*G@x54pJfa|oH$JS(Kfb~mwTl_WO=+Wr~S#=?HZN)8u3O-5G^4!8n|c!*@+@{vGCjFn5o@kgeZ6Z+9YTkeIL8{iPR#U58s@SDN{{RnY@DD z8LPJ4N1$ra=fjhHqR-=p12gCFnzsHt$Z*zrgJuh6L({M6;>t-?85*PrC=vTLbyKr}w11d3|?3yCLY#7R_Z_I5_iSwY4F z1$FJ(GkcOYBo>8LI}4tiG9j(t`Id5Rcu#X01Q3a)(l8WEE(6ubWesMbm5!rFkhVUc z-r6Y`@eUpJiS(%*fJs7|!LEKMttUcNO=$=EtOMf`HvMRJJh`p<{(}u+r|TAK?OGPh zjDpOSQ)wUD@c2DxMExsJx$;uKKDXm~Y-;DT8{A!ddyZ7<|3gkwg}CYOtru#t<611V zE&8ghzz|^E&_Izy+5V(^aj& zTNpY0yGt`mT=cfZ=i&UhF(Z4AIj5*_4~xOd&rlt+KUAF3Mtq$#AT_$mEjgaM!I==W zCANKJUjYQ?=hNILCYb^CgGUaY>yYV%Q^i)cH>$O5zm*TYjN1A!C%kbzWJ_0JBJer| z70Bz!CY7K`oVxDUzzOYgXf$nJ-f$9DoEF&u0Up>r1{qa1LmlD79|>!5NC-(7vv}rO zYY$J&oqgu*uD!tkPVu-=@2E4v{A~|V(=h8nYJDiWi+XS(5KQav4~%pofy;&QG`maQrHRU6=&R?8w&w9}*%P%{C%`VHx6lM=JTZBcx%O z-IsM2J)mz>l*xc!YV~cRioOVebin{$(n^f#FI+jitnC?8ECpI%a`w`us#0}a(!pDX zYRi8(0uyFL;?{h2B;E3#)`d@te-wZq)k5;FeIgKQ&;icAV!%^qOGCPQ&+QmtVmss0Qrrq@=Cg({X$K z6w}0ggS(frV!WvD(3FB`_MUdhF<_L&-=Y}kR={+0!&vD+WyqFYfk8j~t*Y0>!cY9c zYG=?Ka#9atz4u<6)#~~Vw`=^7R~2`KZbuIUC49xWfReDez|OR6a$qOnnmfOuBebG2 zU=++Rz0Y5F8ez!xg^Z%nx~JVwYXp&zE4CbY>aGWI=xuc|f5%thzKtsRS=6JCcg?AV zizgj$gc)F^zn9Yz{j?tc*ivj~g#J!x_}{#11JQwN3B1H*JNW*4bKj$I@W6@c_s$fE zJT{dH$_J~wrNqS_a5#|?6oC9O+H21=#D43O*{%C)ZU=Uu67VdaH8+R;h@pnT^d)9@^TPVSO}G)IeZY$P zjblQQ5-U}zRZRebSF!Fwo^DF2PZA_tV*W3b`vbxb6p`ce>E4NTDFd&0| zfT5tSi?`ffsCu-9-`as|%+nc0ScpbG)k8L7Futk^gU7Zibiu`CKyitgsAncA+1i=e zbA+!hgoP_nxjo$24obSI2jrK%zNM!jwuiR@RageL2kJ!SR=yb-r+kCrx z(*PEmS|k=$qKLSi^X27fQHZdyyf^I;B=tUljwa5N5&iviuUym*Zkz3xJNs7fmdjhg z)fm3Mx60po8yxg;onUiTS3_1`X;HsBd<;$32%R8IG#D&zMSFcPCVz0>Wh!8H2aLcT zE(s8wl#Ff|RD6@bj3L~YeX=8kH4_p8YXon*fU31f+mD&=+U#trp3x)LxzAC4B$_hi z|MPl&Ka6dTP(S`ftF_ck=xi#(OVsZufbo6rqOMJwBw^Zs>^gw$F=$k7F8{YgQOGqP ze!<0-|JvK_sqt?lDyTX7!?wex76v1Njt{}l>&ZfZfPTne&=7ts+kEq#0ca9t`Z*Cg zU`$V|fB~UHe;=jatMz8yQ7|=g(5YBw#$_<>3EkfuowgKlyAuru1};+yDU_y`{inal zN+S99ORgls7bZE^MwM0~$kA=W>5{^m#G@o+1E~8>kvbI=Szq(abjU(Hh64|? z7`?JRr$@ts?+T>mF9@vY4i)$fFibZ<-1YfT!0{5srOl z7;-Uh`7+3?8$V(X`!aTPWz$+}fYq=(bGv-V|!2qM~H2?9_D$O|}Us z%h+$($spTQw-iE*j1XOG$dVgbVj@kJxG7t<$&xG~yRrT6H)HAk-}BVt`R07*yyrdd ze%|w*Z`wPm-kiNR-8T-e-alLRH;@4j}4>1l89Lm3-S=e{{_lm`*A%OZtLb#eq-qR*EXQ;di%t?=oGMpOfNe8j8K1yJ@b0>ZZqV=WNy7?!=E7s z(qMCB7jw@}wXnt4BHu_xVyX$9w$o1VE5P5=X-XE$Enkt@(m^y}JFi6A;pB{wl3 zrUK!D!?{KWDOD0m3+IgNflE0f2n{KI@?yz89vQK&c|&$D|MddOfx{BN=$6LAp%|9{ zsji*=VE9t&z_{hA3rN=54L#ysfuS|=R`E#R75*KOI6VNZ3RrY3;bo*=X^gsT9~}KU zC$r%rq(IdFU0RrS^9~QNJ6d#d_#(G^nYvzf*GoD(qLYU*a68+-wO}Q6=)H))#i7u2 z-BLHb$(rkzniHXkBND28T%@9_x?MAGbbCjgjo|D6LQF4F-yPOnD2n1K4TK}FGSLZa+0Qz(fUzuO zUxX=DsD3PvbmAAScG-d&j7Y=;csquz`_r_etrl#FA@Mp|Y-z7S)-w0WJ)D!Y!Q9DF zhN5ohHce-16E{M-80q@vHxG<#4d#?@HK};#V}*bYVjUd>NjYQCEAK4aH8R%|+E9B@wgNUC!- zWQ|bbdJc#DF1vAG2iUZKyiOg)dd%kZCU&6&lYxf0thcp1Q-lp2QHO&^5afe|6=zFC zjHK))e_f8&Q1J0CL%4DfM2Cq`Dl#Tx^3fwn`}K`bKX7LDRcL&iJ9TQY^U~>!$fEKgKpE+L8SbKr?%T(jeY~1^1Jmkhb*eyhUBXdGd5XAmGb2*U& zJz#jn3%&b}Y(F~s=LyV$lp;E!VYM)vUhwM{!k*oR9+rXAZJ_|WXTj@@FMyzuglrcY zXJK$mc@XULxIgs1-1C8HIGv8vvY5!?5CeCNAQ_UlZ|0V7knSi)&^Q*@R#%@BSB*Zu>PVBQ-wRfv75o3cA<#CiAmGaYKH-y14 zN!SU1qVglo|0J;{a%B5Y1_s}ax%))i5QO*cJ;T*pfV6VZLAw10@5N47aVA{s9B9oi zINSE=Q9o3vr%Ql@5gBZ^9%3CdnMNJ0tJd^s^aSRB_|`DsvUmUn1L#z?;jy@X7j76({G0!U1 z+8MsxFOM`nQzx0o+B4qE{Hm>Y2)i5|*Yhj*OKfl9umf`sgT`l5h8V&eu8^Z>UChWr zZrHaG2n+|qEFKtV!I6v}GlY!OjY}s@s2GDbJLY0dBfJ6D#%^ zdS!`eZhN2vGH}|E46+Au_bqPqyZT$q&bS;q6ortN1KFOI(1T3; z#QSZ?&Y{2SR2u-Nkm-@@0JMGniM_YtE&XjDSC7)35_ZR#|30jQ7i-FqKjG+Gr@;4# zH!=zwSJA;`QKdU~&VsmHO!v7zsoI+Cd=gkY&A_P9ITEr9F*1?8|Yv7N1 zF~cMvuE{e;Y3X5)fiM1v?AaZn0&B>B-Y=?KC*WASwTPgAZ6CS99mEw`}1EnUl3ghuE(!6m0)~ z&Riq=sUqBi4LOz&Vr!l3anh~Nt9L*d2EVL@8YM@H(w39&%K^!Mhm5$?e9fH*{hctS&KUksR0a0Mz1y?je4=BOM(O zG9rWmmnjU!2FTs{S(y`(A;nb>>n>m67@UM`PUaE&AopM0%WA-eOT&AG%Dt`AHIA&Z znznt5ajxOg{0XNnY_%jMPZPkZz6PcyZ3HpoQ2-m|u(yX6%RmmLW;P9=lS3VU^r{Q$ zIN2lmVMryq6G6HH`N58$=tSOKYiv57E^iOJ1oA&kNG7|&mINF~ARPq0$kuh*KV8Aq zFSB%?4|Z=r1&M(HEO4OH*4Es$)X77-kW-pqXL`=v`gA3lPdMIyp;pu#=r$qVk@p#w ztuv{XorZ+2c0IR3yE@UoAJu1x4r5oDq!;mn3V$#al-X;JL?<%62#5v@>0h$z;ca9q7S@=RQ$s`=DVve^oZ%!zx3npBOAZr zBEF_3~$tf*wu@A;QU$dvhQ*vN>}`|BHEqKCOL ze}{$|9}U%1^>Y~oln1Z2V5oIarAiF1FtLl!+>}AQQ?z-yA6$cb{MO=rVN#r zCQrRvTOcTO1`>UycO@9mwU<;ci5i0?rPFzZ2dyOcS&i|4yw8$IJM@J(i&PB zZsHgFmD-WvMs1hxJLq=(m9(;N+=icpYX%WBs4g7xSaBEpiEHDQu23|v^}0SWh~%7U z;^O%$%Rx)Bz2l$T=l3l^Jv`)4vR#aR_|PCWxS{_0XAVNwlH_EuG=h23#rF5O=8cK$%)C0Sl%v}V5^Ww(k(1lR5icdQzA#@_A|9cN*bsXn$h4I@@!!N7LDnt+kK4yiNDq zE0@OVbIz7qn{`@v-kyw}t8ZkZL}fYDNe#PJ>$)Q?c^-{y`{tU@ab$G!Xv?N!#^6W> zlHwR`e$s%qv`n;V&o^(|F$xM!tTr+B-< zH1`L>*S(1p$*cX1YzcbJCo=^3Gu#w9Xr|?Y zZ~xq`&zTT=Vk1YYT}+VB5kE-9Lh{6^Z;teghgM#5JI}Y_P;a^%(l?UMK9&SEY>)mL zil6Es8u~1l$ahW5lnsjsYTtEpp2=9d( zjyY9WJcw|1yAyo0^p;;7tk`{YQVf``7MRYE#dO>nOXzUj=y1^8Skho|U3zH!%oD%% z^w2W=qU{4;QL9Iz-@Of=C~?A@?JBcQP*gm0zk-2^jP1;0Mp*`9HnE|L%Y%HKj4#TM z9`Etc=OeiqHnL%o7&9;6N2!E8Nt|;ns6Ibx(v~UNA%D3gJ3f3tk8eW?9pUca$)CR~ z79L_Wbt`$WXTmp~zhJOuwBm|(mq)t1&iQ3&eSZIb#>T0^Eg5QB_g=Hn!hCD=zki=e zX3Qlsdv~o)YF2tGT-zDj#FZW&kP)h^x#;#Wpqt0AlI9i0WiM$TAESXC=GKS^IujJ+}-`hDS~ zrdj(jv%+ba#;&_!afX};wO;Nd_Hj9JJ(ITB*No~>lndn-_oQ39Y$X-S2ZhtIif{P- zRWY2J^%>^=&Kun=-*zSV=|nLZkS3j8 zetWY0qyrK^Du!alZ}f&3;VG#`PlY}CcwSn+cX0|R$_PWL<)hfc^G>N8;+GZ!hV`t`&$T;yP9syewgubF1wT&8<*+XfQ7^xG%sJl)r3Oi|my-Ry9HrW$ zY}oruj+1jD*T0sxG=iOfv;w=UJ~h*S0rQeh{5mn2z)-C<@iUO^`aH8cb_uI6d5^OO zTG4@*`o`j;4=)xgS}$(QREZa>d196@xp2~PacFLw8W8txBJISj*66;6zrP=%+CMro z{gl2qITdzR6(!oHQ#Pd=YC9w~Z@4+{*|I0`{iujX+P51{Jz6vknXwyfv?YbOB9mh! zT^GunXc5@t0j&>TBKRIvzc_*qRO6|GuM%I>T&~WFz@A%lYA$tHSH z%tz6N!$YpVcK@z+n>?Y8u7UiZ_kv&H|IR+HNdvX)1c|m*tmvFt}uYji0CA zp0cGAzFmFfwo)O5qfJ~k=F@hY7yXOtFA6krbA&!yrj1&C?fU~nrcHf*DDu20-|OqA zFEUlxxj~H|V~Gw@LmQLs%U3T|3x~FfigpeU%;V|E7RQ3TQojn*DJHdQZt zrgcL0Me3;H1XO)NF1O4tWJ;gWSTc%Z z=LsIlatKLRscp4*=@tLYAo&bTf6+KP!08&!HKO-GRpq}0n7%0x#4h>8q6?F6oTm0y zRo`e<5NQH)z`x{sn}UsZU9AQ79Uj`mhZ`T9>x=ZidVC9c{@>+x1C6C6_`++rr7}k4 z+^Jd)z76U8m+eCWRKE|J`eKqFr1`Npk8qsdOyp5)?^MuN{ydYhqBeKY z+fV)LOb^Zt9bNuvnQv)d#}#er>oTL%HrFkB{Eh4ju|?I!h>}ugdcT~?;@mUM@qWXl z_w)Ag^RZ&uW56{|K2E;T-@J$38wX>5v)g>r;@szLC79qg?$9n5(-}GE_-}U9xe@%g zsCB?nas`g4G+`EDQCx@jM; z!2`AKjOGpfH8m)~S6<7jE#ogs?Yz`>4r-p)U+kG~?3rmFq6(VQcH%jpJOB|&Wf2(L zC#AjSi4UnSKvSR(b8m>ow0oV5`~NSq_fRI##YqL_C@A*g08Hu@5QdSx|Ez%m1+I5TqYy zjI6;DhT;kX7Ejn3EMHOZLazR2W?Rvj4eR`OW}DF7W`3C2sS^NROKz6K$g^XqE0fJc zd)o`W-S1U#U#ae$21lll`8-Y6ORE@8N5Oc6g7Hl~p4KhI`dA0O+iM!;5M%G5#abOw zD-bS8ap=<*kt*xe{$!5BxH7>k(Z&4K89mM8jG&0RwDu(gQ%LLspS~Qay1e!!YM#m@ zWH}gUWMx2P6Md-rQD8nFi%>9tEMD{>`J$qc9R?L`b6vqX4r-7hTp*p9rZ=lyjy8;{ zV;k9knP&t*4q#Zf|`6QF-(sNTSQIuPDDz)Ai!om#|5Pa3rlbL#&25a9a=p7ZwPH zHtuJ=p+7}GCBUaO`Kxr32&H!r_K(lssfKS~r5pM&wA~8>4aYUQnE?-*bbavuCPptt zQAYyOj`&u$!YSf%=&;WJ<*{sVP?4UTA9&0Z(hm`}|L~YNS_D=6H`Gs%eY(n>V(6Cw z4bR^lsd8UkMNf1Sm?z#koCd0k`HY=GA-4L@%x~`8W)QNV(Ps>00m|(kNO266F%(jk!`^kKAfRaaG%Ke8}5k@De5i{g+QHkIWQljE~hWdjJ$2Y?4UV6L2*^;^M~38jV;G zQ3`(4teY*}V*I&{0G52gDwE~NEQc%%-{volxt*~G=e*r9Jh?1Q%lwu~`Q}R_S6-VC zZR6Xkw0uHiY2lu-Yy8sh(>qE_=!>x#QN6DBvBbfs?4>y|v*j(I>?XQQ`@70&JX%Mn zuFq-q;e9Yq92Lw=c=p@t(_ zpCAn?dfwhY+wVxo21_d%OMH7K#_eS3Zjp#stBclL33cw_L4t-RZ42)mHK^($BfK?)K!TV@Zz(x8uLB7fI- z0Qb;4$+q`C2OJ}8mf6#UBKrL5+7{UBES0FiY&0ZIDW6iit4X)&Bqn)1^cR|Xtq`8#eXeQXz# zA(*<#VU$qAop{E3-sRw2MQYAMY;QcY%j|mpvnTj!KWGz505>;^2Cwkt)=R&U3g*4T zGhltPm#nf})e|YBs+HtY@_6&hLvX~^EW90NJkxlZkoF&j@SX~QDmd5NeoN*e z82bgr;ps8(yZZQ=YW*<%&Y~LTq&42fS-m0Wtn$G^FvYCyB<=sNkWcCNKpRYmRw-lnHxitd+CvYsKPp%kA*9P*S7_wM$0`Vx`b-YlY6Md9 zyEls%s3D6fl!nm<#BjUP}(kGZM1U({S+6Tz7g;jG{d5GWEidDei*QYSiVQa zY3S-=^Azw$Smkz>Xpg(O>>~N*S#B<=Ljx`=vMac`pAR2$1gwRM56|DJ45u+K>;QYn zM>GW+1;!BvFnNq%nZYV>u}a+d-~tFBgKYaj6b09ZqSj}4eELnm2m~j1a(|GJ!8M^8 z5LTqV;Jh_kiKjrKnt!WoK);d04#%qiEr7Ze$~9GN~0`U2q^>LZi$oFv{0hrBW|EYkw`u4Q>D|M*6#pKuEG(Nyto zd~54}0Z{CyiARR(eVb2uH0~#07$z+cwqyY#j*SlzChkB|swehfQ6s74?l$Hxq|Sbe zYJKZX5W&j8AW~OjdvjMc`IH|n9CSjs@h)4omgko&eduG1u40HEu)5@+)5MmRN{#@W zv4)(aLSU5xRkT$t^O0dFkz7W)YDU>eXoff@wKh($@af7tPQ~$;G5YmYVbmAHG%}ki zqwCe0sWi9%eDM687gRpMRT#M=`@l9iRF%C-nrYubTvZXRJiq9=IySslCHx1RO17o2KzE%nES%n+h1WXPz5uS;8 z_!B`|l(B_QrA`XuuVKP!bQb~R5B@@} zVcMjYt5h>Rv^_}pWuKA?GE9YN*w~fBx_&H1ru@Ub6GB^s8m>kCB1qRzr=zgA67b6( zbF3TU2@R%2mVx(`s9{ebP}-F$R<;Co*drI<2B_$!>7mb50Yel;MCzJI}e;h11HaK#mT7AFcH@KLXOj?@39=~%ixX- z6mn4vQFhu{IQ2FA7WJct3tL?3Ztmp*Rb48x}d#7%R~rOmjoxK`FrDSh4^IE{Sy zo$aGSoK(9wh+a-Zya5!+SC8*3%yrU>gJ8uKUaRvbym4Fu<|B*+S#R59va!+yd^2$7iDUD*Irf0oHFzoB9~JRCq(|0IqDxqPTftPyf7 zX;}_v1eV!riUq%X3fSyHf>HCcoz&r2SPhPT8KSMF|L_A=6ZwClEHs^Xx$lt*3P*w* zk!8SvN&cu5fxiUO5Kzc4-=3lju3~(AL+2YuVQK`U;SS%3YxAb9tPoPbk;#}Tun#I_T zT;MeQyUS>x8Tv1`ENf%kqMoA?&?3<{p&mb^g5ARNavq#3Aerw#G9qf6<3tF|v-%0d z=&@LNjP?M?MEByG`K_H_GFPY?_x=?sXxa}N@eO)Xg-jr-r_Z;6C*E(N*#!;y7x`zi zJh9=H{T{fvlEzZtKsU6b?}I@OU|8`augy69<}UoTnwBg4voG-;8SG9Vl$aV!t*_J3 zgb7TJGN)Jy&j7o^XQe75_f2R@&QCQpC_keQmAp7M@F6vvU91Ug27ggm8S&%G(1|Lv zlmlzbC4BiQRFGd;Ugjq_qe`Lp`Ufu3QennNlab;kcI7Xa)%@a&II&8i|Mn zU7qrE#V{Z^i^AHbuP6jJ9aG$Z7*8DNK+H%|*E@ue&EWea3gjvj_?`)^^S-`HvLJ*t zQP-8zSv(3P{P_UH#yT2RST_m5Ebj*U@4i5w3*fAMdwaCp=~M>a!;lO&osoR8KUkRJ zl%!aIC=}mgJ93`$2!OwH^u!lOqZLW`^-nLBYL9-u~gG`qQeBZx8hEn zcC}4UI`o+E(8oCPEUUTE)qE*Y&dGD5$DS4_!LK&U{PooRS19hTS20>b-y=eep*t?^ zqS2lA<{cAYk=8~IL!3tVQb-eQVo~c9P&Oc~N_$LqlGs`^BiumYooydnP=;~eM9Pl+ z<5%J!Di~H*;ma@!V$UXE&aR#F9KDAf(b@m-ToDPK=kxvbdd1UlS(Qe^Sj7 zv2+Xnwu$GB-4i%(jy@HVfy`Br;|ExPD#ms%&fiNEN)2x8f){BkWU|l%H>PMbnDs6} z1Zq|#v~|SwCvmxI;l!x|P{^yEf0^_{kU%>DsILzeZ<&yE^|W~Tl3DVZCr1~&m@TS@ z8)ZqhCc6_6+;!J#A%#P8=s|Au;mL;v;Ynp*eIdp%8%GlgVcYR{tmL1e8X*A46V@$N zh)>&Bl+5zE1xcSTKr8{IG$E=~C{?HuLvsk9(PRmGag4GLWAceyg$L}m(lnL|uRYdx41(Q=SwL8#eJ0($|N+%D#ujx3ykC<550>EM(_2r}s>`XNm) z1CR`sI`eUon$}f{N6j4UCrN4eZh_J@93r-I-mQv+7 zYhU~3b8ow6fP9@ARjsp_A&*W`tXfea#qui%9x2Z(!Q_?=Esp%G^8m0|)>y{v71e9$ z5UwkCZd^;41#F6~q%X>BkHY*C1v7-we7?z5X`pjnZT!%f)mYycx#2r2X1NP7 z)jr*4HXOzxS1GARi|S&K#>GT{ADD(DG1Qfq8IHA88pZF8h&?QeS7$OhX)fAI;vlGd z;;=-Oynqivw9M^X5UzT*%t$_7yJUP=7Hn8>%$YFi*gmTygAvoR9~w@h{#Si|f@^GV z|EJ?l#F%d*LfphN%wCc30d9O}r8>XoQD})t5_^K3F|%yd=##5bC9|vu(qUW?C0r1a z0U~?(8)XSe!DDPf4WaY0jBYz2)yN_HpfZS#m#DE;vrBT$LNgq&5wo@50ux*XOb6SL zY*bXHXpSpY6~m3`+255zTX*R=hPNLq1e5%VHjRagLsvvA$uk;D+7OzFUJ1>N(HJvw z{)1(m{@?w5m%8HJrYgI-rp&g3wj4gWpE;(uVV+Qmpc;dERPm5k7uX0ZL;%-@*})~K zfCkT7X2tokAbD6YQeQx{olXUbOZX`Z>Tb<{<1j-mbsA@}QDSz?bd;7-IEF=(ho}8^@H8?786AfJL-2+=uas zRPFe5DKfAMYvU&n)%&aV5keY>o(K_UMsOkBL1%rGX`3c6v5%-R#LZT81Q>(Td3*aN zqVFr!l7C&<89;_3`S4)+>SyNR`^o_HY95HKKK&dC~(bQ6#Bx_w^>cW12?SqC@A0Z<`pPzfbc#%btx z-zC?+gIf;#sp|Y{wQDP&DV$P5x~~+xJ{}qRE{uRVd#=s-6x__pJt#Jw9cW2CyY`m4 zPbj72cmLewBJekEu0gW(wng<2Dx4~S%~vpV^D$*y6Yx)1!#@}o!d~&@SQLT4(i$@IL=D+ebY*37q_bcr#W3^WmGC2TB7>{ zXe5o248Mu4{|13vBE*yR(Nvb&z;);!SyYdRK)%n>bx=J6h2?=RIM?YSF@f?-MUCN% ztT%#aba6o@hML5?Mk#*^r3_Q- zTyF;lWfWIQ8CM>#E@Nv^m6;>(n_hCbLf>qCMkKg(nHticW$8Q44bl}gGlv(ym_QgllIV+ZOT z?)76D?kf`@aKrmF{&%i=aW_w2GFTx~gk++Nlg$CNqY)ND*gBKzapA8p!(;@V^_Q+( z_|207z7N1SCxaEa^0WZJ2h@`QKm-jgUZ|90qyRGd!Uyu_|Oo z3PrD0J>KXN%TQS96Ru*j<^k5QbzC2P9PaQ=;2&^<8QcV;lGT!Aq=VzV1FAOyf_?OT z>#cXejo{Y20=_9D4Qpup^1FofDTc{$gGz}O{xyVCc2<(F4|seKZ?Jv%02m((=as%y z;JWP;aHFCh{+BZM3#V*_X+&7AaY0@Z>=mmqaO-4R8xD7cqbO+cJ-!BPp&pJm2eOcj z+%ctXzTpw8Awxu`k7cLQx1(xCuTgz8R%F6MyE1FxF-k5H^Xbc zEJEM|H@{S|sWS5HuoOBPZc|M0#9050O;vJBZS>rS64lewgA(1Ly_f6p~ zuUN59h;0IbAlXLYkNp;#{7$SQ1bGBEyIY_eM6hdW`6lZ}jfUPbDd`8I9sgN^n7P75 zBqzY2tblKICfJ*6$`4V2ZrIcq*w{5GF}5L4_(Luj)B%LGMJfrisQ!az0OAd6Yfrc4 z!XHXvDhAqLCg8s5uF>inAeL)d&-kP(9M=Q}k`2?4P-6_gd$!!VDjUS$-RZ>_(XfZK z!(wePAGnNt;Nlzgc#}1yfRw`R?|<+P?-MA#vNe@NAC>TXG+WJ5WlHeIsSg|f8 zhQOCB9`||sR3CX+bNm9f@1T;}ia!AR4W9#+n>+d1j&J?ToM-7I;>Bh#wyBk*Q+)c- zJ^}F!B81bQmF$r{e{Cz@@PIf%iZ;6DGU`oZ*Y>sGswQ+AS|v-ICL z;VI|e|1+b}q~Um2VOpx{WR<0%;r!3_D_b^*mO7=pitAjlmfj(wZC$wqPkaPhx7i(4 sTOF}R5NB?n`XS4&wKGU(75-%z Date: Tue, 23 Jul 2024 23:15:42 +0800 Subject: [PATCH 10/13] Update conf.py --- conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf.py b/conf.py index a4b6cc44..8955d32f 100644 --- a/conf.py +++ b/conf.py @@ -55,7 +55,8 @@ 'logo_only': True, 'style_external_links': False, 'titles_only': False, - 'github_url': 'https://github.com/gravitl/netmaker-docs', + 'display_version': True, +# 'github_url': 'https://github.com/gravitl/netmaker-docs', # 'nav_title': 'Netmaker Docs', # 'repo_url': 'https://github.com/gravitl/netmaker/', # "repo_name": "Netmaker", From 389fe80d1cb9c1eee9fee8b8641d3fd1dabd1b88 Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 6 Aug 2024 20:08:46 +0800 Subject: [PATCH 11/13] theme-color-change --- _static/netmaker-custom.css | 21 ++++++++++++++++++--- conf.py | 5 +++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/_static/netmaker-custom.css b/_static/netmaker-custom.css index 29a41445..59c21be5 100644 --- a/_static/netmaker-custom.css +++ b/_static/netmaker-custom.css @@ -6,13 +6,28 @@ } .wy-menu-vertical a { - color: aqua; + background-color: #0f0d2d; + color: #fff; } .wy-menu-vertical li.toctree-l2 a { - color: aqua; + background-color: #0f0d2d; + color: #fff; } .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { - color: navy; + background-color: #0f0d2d; + color: #fff; +} + +.wy-side-scroll { + background-color: #0f0d2d; +} + +.wy-nav-side { + background-color: #0f0d2d; +} + +.wy-side-nav-search { + background-color: #0f0d2d; } \ No newline at end of file diff --git a/conf.py b/conf.py index 8955d32f..77ca3056 100644 --- a/conf.py +++ b/conf.py @@ -60,7 +60,7 @@ # 'nav_title': 'Netmaker Docs', # 'repo_url': 'https://github.com/gravitl/netmaker/', # "repo_name": "Netmaker", - 'nosidebar': True, + 'nosidebar': False, # "repo_type": "github", # 'color_primary': 'blue', # 'color_accent': 'teal', @@ -81,7 +81,8 @@ "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"] } -html_logo = 'images/netmaker-teal.png' +#html_logo = 'images/netmaker-teal.png' +html_logo = 'https://cdn.prod.website-files.com/64149f8bba6c1301c5e75001/64149f8bba6c135dcee750af_netmaker%20logo%20old.svg' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, From 861d6435ddbac5fa6c528c8ac577244d38f8d791 Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 6 Aug 2024 20:34:06 +0800 Subject: [PATCH 12/13] text-color-change --- _static/netmaker-custom.css | 31 ++++++++++++++++++++++++++++++- conf.py | 4 ++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/_static/netmaker-custom.css b/_static/netmaker-custom.css index 59c21be5..9ea6b3fb 100644 --- a/_static/netmaker-custom.css +++ b/_static/netmaker-custom.css @@ -30,4 +30,33 @@ .wy-side-nav-search { background-color: #0f0d2d; -} \ No newline at end of file +} + +.wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { + background-color: #0f0d2d; + color: #d9d9d9 +} + +.wy-menu-vertical li.toctree-l3.current li.toctree-l4.current > a { + background-color: #0f0d2d; + color: #fff +} + +.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { + background-color: #0f0d2d; + color: #d9d9d9 +} + +.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current > a { + background-color: #0f0d2d; + color: #fff +} + +.wy-menu-vertical li.current>a button.toctree-expand, .wy-menu-vertical li.on a button.toctree-expand { + background-color: #0f0d2d; + color: #d9d9d9 +} + +.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand, .wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand { + color: #fff; +} diff --git a/conf.py b/conf.py index 77ca3056..a496a7f6 100644 --- a/conf.py +++ b/conf.py @@ -81,8 +81,8 @@ "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"] } -#html_logo = 'images/netmaker-teal.png' -html_logo = 'https://cdn.prod.website-files.com/64149f8bba6c1301c5e75001/64149f8bba6c135dcee750af_netmaker%20logo%20old.svg' +html_logo = 'images/netmaker-teal.png' +#html_logo = 'https://cdn.prod.website-files.com/64149f8bba6c1301c5e75001/64149f8bba6c135dcee750af_netmaker%20logo%20old.svg' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, From fe45ae1f1ba5797e2bdb556b89635510f0ae565c Mon Sep 17 00:00:00 2001 From: NEETweeb Date: Tue, 6 Aug 2024 20:40:39 +0800 Subject: [PATCH 13/13] color-fix1 --- _static/netmaker-custom.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/_static/netmaker-custom.css b/_static/netmaker-custom.css index 9ea6b3fb..8546e874 100644 --- a/_static/netmaker-custom.css +++ b/_static/netmaker-custom.css @@ -37,6 +37,10 @@ color: #d9d9d9 } +.wy-menu-vertical li.toctree-l2.current li.toctree-l4 > a:hover { + color: #fff +} + .wy-menu-vertical li.toctree-l3.current li.toctree-l4.current > a { background-color: #0f0d2d; color: #fff @@ -52,6 +56,10 @@ color: #fff } +.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:hover { + color: #fff +} + .wy-menu-vertical li.current>a button.toctree-expand, .wy-menu-vertical li.on a button.toctree-expand { background-color: #0f0d2d; color: #d9d9d9