From d08971df1a355127c83a135d37655a5d43b8bdf1 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Sun, 19 Dec 2021 23:30:15 -0800 Subject: [PATCH 01/10] Add copy to clipboard button to website --- docs/assets/css/style.css | 39 +++++++++++++++++++++++------ docs/assets/img/copy.svg | 5 ++++ docs/assets/js/script.js | 44 +++++++++++++++++++++++++++++++++ docs/index.html | 52 ++++++++++++++++++++++++++++----------- 4 files changed, 119 insertions(+), 21 deletions(-) create mode 100644 docs/assets/img/copy.svg diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index fe691c0fe..dfc5af3a1 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -350,6 +350,37 @@ header { header .icons-list img { max-width: 100%; } + +input[type='color'] { + width: 1.25em; + height: 1.25em; + margin-left: 0.5em; +} + +.copyBtn { + height: 1.25em; + width: 1.25em; + margin-left: 0.25em; + position: relative; + top: 0.5em; + border-radius: 20%; + padding: 0.25em; + box-sizing: content-box; + transition: background-color 0.25s; +} + +.copyBtn:hover { + cursor: pointer; + background-color: #2D804E; +} + +.tooltip { + visibility: hidden; + background-color: #2D804E; + border-radius: 0.25em; + padding: 0.25em; +} + .borders { position: fixed; top: 0; @@ -408,10 +439,4 @@ header { .footer { margin-top: 6rem; - text-align: center; } - -input[type='color'] { - width: 1.25em; - height: 1.25em; - margin-left: 0.5em; -} \ No newline at end of file + text-align: center; } \ No newline at end of file diff --git a/docs/assets/img/copy.svg b/docs/assets/img/copy.svg new file mode 100644 index 000000000..2ee0e55f0 --- /dev/null +++ b/docs/assets/img/copy.svg @@ -0,0 +1,5 @@ + + +copy + + diff --git a/docs/assets/js/script.js b/docs/assets/js/script.js index 33f5b3a0e..3d8abc73e 100644 --- a/docs/assets/js/script.js +++ b/docs/assets/js/script.js @@ -95,6 +95,7 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { /* | Change selected icon + | param icon: the new icon. |-------------------------------- */ $scope.selectIcon = function(icon) { @@ -158,6 +159,49 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { } /*---- End of "Change selected svg icon" ----*/ + + /** + * Copy the text located using `id` into the user's clipboard. + * @param {Event} event - a JS Event object. + * @param {String} id - id of the element we are copying its text + * content from. + */ + $scope.copyToClipboard = function(event, id) { + let text = document.getElementById(id).textContent + navigator.clipboard.writeText(text) + .then(() => { + $scope.displayTooltip("Copied", event.target) + }) + .catch(() => { + $scope.displayTooltip("Failed to copy", event.target) + }) + } + + /** + * Display a tooltip. + * @param {String} text - text the tooltip should have. + * @param {Element} copyBtn - the copyBtn element, which is an + */ + $scope.displayTooltip = function(text, copyBtn) { + let tooltip = copyBtn.parentElement.getElementsByClassName("tooltip")[0] + tooltip.textContent = text + // reset opacity (for some reason, default opacity is null) + tooltip.style.opacity = 1 + tooltip.style.visibility = "visible" + + // create fade out effect after 2 sec + setTimeout(() => { + let count = 10 + let intervalObj + intervalObj = setInterval(() => { + tooltip.style.opacity -= 0.1 + if (--count == 0) { + clearInterval(intervalObj) + tooltip.style.visibility = "hidden" + } + }, 50) + }, 2000) + } }); /*================ End of "Devicons controller" ================*/ diff --git a/docs/index.html b/docs/index.html index c3e1fad2f..4071fddf2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -62,6 +62,17 @@
First select an icon on the right, then select the version below and copy/pa -

Using <img> element

-
+

+ Using <img> element + + + + +

+
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/{{selectedIcon.name}}/{{selectedIcon.name}}-{{selectedIcon.svg[selectedSvgIndex]}}.svg" />
-

*To change the size, change the img's height and width

+

*To change the size, change the img's height and width attributes.


-

Using Pure SVG

-
+

+ Using Pure SVG + + + + +

+
<svg viewBox="0 0 128 128">
{{selectedSvgIcon}}
</svg>
-

*To change the size, change the svg's height and width

+

*To change the size, change the svg's height and width attributes.

From cbb38dc2cc71fe80aa0456ab5a9ea46187e373e1 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Tue, 21 Dec 2021 13:52:58 -0800 Subject: [PATCH 02/10] Add styling for color picker --- docs/assets/css/style.css | 169 ++++++++++++++------------------ docs/assets/img/color_wheel.png | Bin 0 -> 75404 bytes docs/index.html | 20 +++- 3 files changed, 94 insertions(+), 95 deletions(-) create mode 100644 docs/assets/img/color_wheel.png diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index dfc5af3a1..b6914992b 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -2,6 +2,13 @@ @import '//cdnjs.cloudflare.com/ajax/libs/normalize/3.0.1/normalize.min.css'; @import url(https://fonts.googleapis.com/css?family=Lato:300,400,700); @import url(https://fonts.googleapis.com/css?family=Damion); +:root { + --primaryColor: #60be86; + --primaryColorDark: #2D804E; + --primaryColorLight: #65d693; + --grey: #4c6857; +} + html { box-sizing: border-box; } @@ -17,71 +24,6 @@ html { background-size: cover; } -.icon-brush:before { - content: "\e600"; } - -.icon-type:before { - content: "\e601"; } - -.icon-github:before { - content: "\e602"; } - -.icon-github2:before { - content: "\e603"; } - -.icon-bucket:before { - content: "\e605"; } - -.icon-github3:before { - content: "\e604"; } - -.icon-bucket2:before { - content: "\e606"; } - -/* Cachons la case à cocher */ -[type="checkbox"]:not(:checked), -[type="checkbox"]:checked { - position: absolute; - left: -9999px; } - -/* on prépare le label */ -[type="checkbox"]:not(:checked) + label, -[type="checkbox"]:checked + label { - cursor: pointer; - position: relative; - z-index: 10; - display: inline-block; - padding: 0.71429rem 1.07143rem; - margin-left: 0.35714rem; - font-family: "Lato", Calibri, Arial, sans-serif; - font-weight: 700; - color: #60be86; - background: #4f755e; - box-shadow: 0px 6px 0px #4a5c51; - border-radius: 5px; } - -/* Aspect si "cochée" */ -[type="checkbox"]:checked + label { - top: 6px; - box-shadow: 0px 0px 0px #4a5c51; } - -.button { - position: relative; - z-index: 10; - display: inline-block; - padding: 0.71429rem 1.07143rem; - margin: 0 0.71429rem; - font-family: "Lato", Calibri, Arial, sans-serif; - font-weight: 700; - color: #60be86; - background: #4c6857; - text-decoration: none; - border-radius: 5px; - box-shadow: 0px 6px 0px #4a5c51; } - .button:active { - top: 6px; - box-shadow: 0px 0px 0px #4a5c51; } - /* General Blueprint Style */ *, *:after, @@ -105,12 +47,11 @@ html { clear: both; } body { - color: #47a3da; font-family: 'Lato', Calibri, Arial, sans-serif; } a { color: #f0f0f0; - text-decoration: none; } +} a:hover { color: #000; } @@ -137,7 +78,7 @@ a:hover { .cbp-ig-grid li > span { display: block; height: 100%; - color: #60be86; + color: var(--primaryColor); -webkit-transition: background 0.2s; -moz-transition: background 0.2s; transition: background 0.2s; @@ -173,7 +114,7 @@ a:hover { .cbp-ig-grid .cbp-ig-title:before { content: ''; position: absolute; - background: #60be86; + background: var(--primaryColor); width: 60px; height: 2px; top: 0; @@ -184,7 +125,7 @@ a:hover { transition: margin-top 0.2s; } .cbp-ig-grid li > span:hover { - background: #60be86; } + background: var(--primaryColor); } .cbp-ig-grid li > span:hover .cbp-ig-icon { -webkit-transform: translateY(10px); @@ -252,7 +193,7 @@ header { padding: 0 2rem; width: 480px; color: whitesmoke; - background: #60be86; } + background: var(--primaryColor); } header > h1, header > h3 { font-weight: 400; @@ -278,12 +219,13 @@ header { font-size: 3rem; } header .download a { padding: 1.3rem 1.8rem; - border: 6px solid #60be86; - color: #60be86; - background: whitesmoke; } + border: 6px solid var(--primaryColor); + color: var(--primaryColor); + background: whitesmoke; + text-decoration: none;} header .download a:hover { border-color: whitesmoke; - color: #60be86; } + color: var(--primaryColor); } header > h3 { margin: 4rem 0 0; font-size: 3rem; @@ -316,9 +258,9 @@ header { margin: .5rem .3rem; padding: .4rem; cursor: pointer; - border: 5px solid #60be86; } + border: 5px solid var(--primaryColor); } header .icons-list li:hover { - border: 5px solid #65d693; + border: 5px solid var(--primaryColorLight); border-radius: 5px; } header .icons-list li:hover::before { content: ' '; @@ -330,9 +272,9 @@ header { height: 0px; border-left: 15px solid transparent; border-right: 15px solid transparent; - border-top: 15px solid #65d693; } + border-top: 15px solid var(--primaryColorLight); } header .icons-list li.selected-version { - border: 5px solid #65d693; + border: 5px solid var(--primaryColorLight); border-radius: 5px; } header .icons-list li.selected-version::before { position: absolute; @@ -341,7 +283,7 @@ header { display: block; width: 0; height: 0; - border-top: 15px solid #65d693; + border-top: 15px solid var(--primaryColorLight); border-right: 15px solid transparent; border-left: 15px solid transparent; content: ' '; } @@ -351,12 +293,51 @@ header { max-width: 100%; } +/** color picker */ +.colorPicker { + height: 0.8em; + width: 0.8em; +} + +.colorPickerMenu { + position: absolute; + display: inline-block; + font-size: 1rem; + background-color: var(--primaryColor); + border-radius: 1em; + border: 2px solid var(--grey); + transform: translate(0, -30%); + padding: 0.5em; + margin-left: 1em; + font-weight: normal; + z-index: 1; +} + +.colorPickerResetBtn { + margin: auto; + margin-top: 0.5em; + display: block; + width: min-content; + background-color: var(--primaryColor); + border-radius: 1em; + border: 1px solid var(--grey); +} + +.checkerboardInput { + width: 1.25em; + height: 1.25em; + position: relative; + top: 0.2em; +} + input[type='color'] { width: 1.25em; height: 1.25em; - margin-left: 0.5em; + padding: 0; } +/** Copy Btn */ + .copyBtn { height: 1.25em; width: 1.25em; @@ -371,12 +352,12 @@ input[type='color'] { .copyBtn:hover { cursor: pointer; - background-color: #2D804E; + background-color: var(--primaryColorDark); } .tooltip { visibility: hidden; - background-color: #2D804E; + background-color: var(--primaryColorDark); border-radius: 0.25em; padding: 0.25em; } @@ -388,7 +369,7 @@ input[type='color'] { bottom: 0; left: 0; z-index: -1; - border: 8px solid #60be86; } + border: 8px solid var(--primaryColor); } .main { margin: 0 0 0 480px; } @@ -400,32 +381,34 @@ input[type='color'] { margin: 4rem; padding: .5rem 1rem; border: 0; - border-bottom: 2px solid #60be86; - color: #60be86; + border-bottom: 2px solid var(--primaryColor); + color: var(--primaryColor); background: none; font-size: 1.2rem; text-align: center; } ::-webkit-input-placeholder { - color: #60be86; } + color: var(--primaryColor); } :-moz-placeholder { /* Firefox 18- */ - color: #60be86; } + color: var(--primaryColor); } ::-moz-placeholder { /* Firefox 19+ */ - color: #60be86; } + color: var(--primaryColor); } :-ms-input-placeholder { - color: #60be86; } + color: var(--primaryColor); } + +/* Code related CSS */ .cde { white-space: nowrap; padding: 1rem; border-radius: 4px; - color: #4c6857; - background: #65d693; + color: var(--grey); + background: var(--primaryColorLight); font-size: .9rem; font-family: courier; overflow: auto; } @@ -434,7 +417,7 @@ input[type='color'] { padding: 0 0 0 .5rem; } .cde-com { - color: #4c6857; + color: var(--grey); opacity: .5; } .footer { diff --git a/docs/assets/img/color_wheel.png b/docs/assets/img/color_wheel.png new file mode 100644 index 0000000000000000000000000000000000000000..65767af8170056a62db091e8c4cbd9794bbe4d9e GIT binary patch literal 75404 zcmYJZWmH^E(=|K{?(XjH8r*{i3&9!OgF6I=!3UQ>@Zc8Q-Ccq^1PD%Wosa9e-?hFU zXZ1S$tGjB~uBu%frLOi79fbr1005vXD#&UA05EL-eMkuJJ3ayN9`6gXvx1%*0Dv*@ z-v^V*ib49m31=;(Dg^-4#rr>NB)|VtnJZ|j0sy}B065Fda(Nh>yWqkT%!U3~f6+#AQO4Y)?>{<5*5Ow7zKGbZdqK<77!%+pl#|las zoiKG0$wXTtSZs6oYrOiQf=G3{O)YNE;E^aLr?kb_%K`Wq_OK1#M^Vr7E4HaxEH45B z^#M|^`fn^D6VVY08Qubu}nOXZ9z9UjUvbU*S!$qG2Cg9JI#C;)t+~Zq3AWoCw`#5#<_#TcW;u z9(d04IvmPRo4|2mNM!eBsT)z;cW6X^-qN&lj;WY^{_f=E^y9~mkdRFRbxR zprP4NrQEhLRRyL)Y((G6UhwdtrEE%G8P16zeQa~4VJff1d}%I#guOO`+57GZfBF!U z@=^TlVd(zy{li>v@etgwcQfksw@mqQVmvx$OlBy4sD;fkQpP!I#tD^x<7T%H=S zNG~V@Gc0%r1&011SpFJlU@6T>$*bV+J4!Wq$*7YWd4?guI*ur%F^gH5ZP<-BAh#9w zGh_!50JLf7Az|3Qs<#F@ZFb}OT)oB&tmIzAQN%cpc4?(B`3w$?ToNo-`t(0g>Tp{s09Fia4$b8~Vd#-Pi2Cl)vKWJL9{(+{TU-(4O2T{(_hoRB@lsVI<6_cAiFg%2 z6(o;ZNo^o0hVT7)o-7_Ux?g{5e%q8urs0qEz^3sTAaJWI#40o@vp%Y6>X#cj1>6Kog zZz_s9PZZtYWkyq&H$fm-B~)H(ZUzW|;nN49V_)8Ekal@-nxKe5pA>f=5|(rl_Teok z$1m|kO&{PL#9qz45gp=RLOmB|48*}e)K*J)d)rMe;B9ilc8 zhSJQ~?XOg&Ak#1c(aUNIP3nHQWb>dAS}#iCL{whg-f*j-z*3@L`rgerEK?Z!U={C!DFZ$03D%@@1T5{Lu2J1iey*$RmAH+Xe-dV@3}pp!*zGd#oP_OOvEo-kts zHX{jL(~tV;Se=mG@^j9D%icx$7exCw>X`n02#Sz}4;DKDTMM0Da5xbcTe0z$sXFwP z;dA`oHClY16%iUU948A|IPtijUA@TvgQ3OtZKM|&CWV-0%fngmre$wnn_%jrJq0%u zNT_L&@5m&d;zFmJKLB3PH;W+Pn3&PQermzvRjNStV~rv%!$;tTQZCRbEF~gWhr*Ou z!fOq~<Zg(AVKXta+8?|Dl7Kh@ z-Ozl<(@pT+;PoNS@RoROOV9n@5Z3NW6yI2`Ufy+sIt6`GBaG*O&rG7>LrKBZ;`4~@qX1aa0h9FbOkrx%G8 z0@2qU3CErflwHCp!Z5CVmHUm_OsJn1JUmE5<(qi+7OCSMVntj0fru#O!yE4i5S25| zAghXObTgmg&1hZGF7oKJP6^rrbDoc4ZxdiX0o<9+<9m}dGkG(T|AJ>1eK94j!iZ0 zb9>mRn+OP8S)*Z;(;+a9%!Gs?B3%C$?QFgY%AJAZF1L&5IkeqBRt%R8mpb~N1aZdRd4TYZE*mh7UR3?Uom7(q#9b##6+@jy1I?Fwa zCa<9c7%C&7M^wpB$rN+;^*7qG*O+$5^F3wV5UNhltIRPCO+vt{oGa~9EN$#G%uNyr zX6>KBryQxPvtnP|>S=3>fv_JV%oSou_`8o>S>=EK$DReaEzpO=krhP2SPbwtkB*AI z&n~%-r2UQ&oM=!Y;$FEqiAx?8c^fYb9d$0rbQCUHd=fA)61nv`T*sNZ%@0j?s2wYu z+`$J(t0{GZIqE;~4}L(1ppEpcx4pd95__hOw@4brM}x^h6qRl&Ry*S*G~SfE06mE} zZxW}^zyuAvhz;xh^NO54OJbVlOJrL(jH7@i&a$QU-qUp6!z)Z^ z@0MSbeqZHMQ3~G=+tDa7V%0wli2p}ivqXm79$E(v6(R(~+E9Zn9CN0YzK6sev3{qb zMeNGw!63fP0W?a|kSJQrZ-oSE6VALylQ=wm?M@Rm_T@x%?ud0BjKmOx{iq9^w~r(> zeZT2t&%1WA=w(fCV3I##GyYNrucHqxzDJ}5ldFPN9c*W5?{%(J@)>RD-C<1Ys;ETu zXoZ~^mwIZaVAiqi|FbU4!^11;{Fy=XXN-VWCohdqIcWK1ZuWOH%AR`vBY0$7rI<+U zVt`ptQ#{dZn|&>OR&6!4!x5=~$Ou^Dl8Vs36#h?O5jXolo){QjWCYfV5ZC_zyOaMO zQ+Q-Ls3`-_e4DK7`4+QGcmXr4|HPwlqm&ck5d^{sy+^8GU}O7s|JN-Ew3vTI%Zxl<7j z04Z-47!$qyn*NDx$!TkD`RzJ>i9O(asv_Hj=$yyj;sKdGt2RzKzsAo@-nNtK?wq@z zQq4Nd3p*2Hbp+brwJNG(lTC*pTSmbipHdy8crM5lAT{To6U&mnKogqMP9z$7q)miS zOs0Ywknnu2m=@D;(%vbL6;0f2Bxsf8Ia0hUT)U-LXPTCiFWd{!^y_1&?!Xh}Xy@h1 z6tvVxliCvj!7&($CcMSLo#85qshybGQCR--+sBlIyQStpJmOOi-ZXf@$UFoyrH~LKR>=ARVxR)n!Lo~qA>J&YZcs<_am0`~ydNVa~k6yP7ODO!$^e()xsO(Y*2pdo@ zq6t09uw!OrBc9o%F8(ZKrvIT;1Bqj^qrBnoJbt&<)5K3gy)8L0%ZH)M+(c|kb<)Ne zX*@U;q7CkaObIZFRf-Ga{$S>W&<$@-dnDMy08N3NnqglDOKCh7*)fhl9|rCWhvq#E z6q2)s(m*L~ov3_wt_YQ>hkAnAbWmB|2%8QsB{aYM<1DZr1zY+I1hSbMAHmOV1!kb? zCARz3%2kfAi?(#4m71GD6aVCUBG>Y89U;G3&pf$R_5XnWmQuA`A#EdJ!IXDHfBYZW z@$_yW-VZKHNZ>k8JapgsG@e%a`yh2R?p^r-B8*&DaFX(RknOewc3ZE9toV z>+dB#eb0P$0QH)wraab!xdEbT2653^ep@)Ffn5cC@J)}$o@S#ipbz`7Jq4~4gj^a+ zyS9hL!nK7#M~`sK++khV$X*jHD`VCrlN#7j7Kf8Yea!Lk*4;&3_9jGDs(6tk)V+=Wdtp2$A}k2M8E z>8zE`{qPb)1c632{XsI$klLUb9R#qoym9Gr=Zw40@2}8PS6xaQLQd9fIB3!SukN7% zX19M+w4}Hm+*dB|W|`vcvUmqFVj+DW9DD5>H9M~)Ct1ceJi)&ejfu-NR9vOrJ}|>j ztjh!{?2x<_Lrc}shQa~?KJQer9Pz9GA1$FjG=F0NYGbae!o&+!_&0K>n{VmKP{e^x zJ4dwG-K|iPWM=z;o2D^(Mo_SSUqh#{5I+N2iHV;uICK2`QTpyX)LnG& zPIMRjp~&rYLqr~d0WDTvmy7nVoC*6B9A^WOi~FJT8NCHvtuvknAZLb+nm0{LKJnJ< z0*5DwOZkEFQ#zLUUtqAFw6q^`)O%oZVhkP;6nJ1K4)?3;ycdr>(8M(Pp2rb(E`+em zJV%K(Gbl0JN;O}&9n^rGo&8nCSjnQ{JNSPX4TtXtfW|v6#o>MxSuk$T#qmvdi`n6C zcpe7Vi3THg8AlV_2ZtKw_40_|&gqaXKixqU?CZIPdopJBxtmu&O^^)kp_;c|#5)ZG zhyMz+0Te&0SPtq3ka*Eo)_-aFP@CaRuI;1ul(*I$$ukx1o+cvy1#>agLXw?`C=uas z)<7Lv7n@66Q}UEx3B&S)@E5AEF%oEF-}3g_&mHqXS!Vx4SQdVZS*0FYj=c*4aizaa zgQi`C=ViWoMb@@VkTPR$&dyWM{IAxu+5Q(-fr9$>LrJviw)0$c&n=>+=bRFE6$ilZ zK#z9B>#TB_dI;5s50;uZr9OGZOb=#fm9%(wzlTmO{(%aU5tpnW?sbv6e2O%N9;T~l zxZyU{cyIJJlnI`mc5Z^&PAXhjGNH*CuPo+<(v|?rr&#z@m&jSW ze1mz?Y(kuA&#&|=&N&VKqdk>a8)cd|GtzZvLT6B@7kVPf7BrBny?F$FL!tIK@(4{Bcel3Ul8jF zSG?34FCWZh^>>4ifCI9)bHNT+%v>{@njMPdREiUtb zc_u)K=b>wb3Wdt#gv$zEZx_%T%(CRxRJne`qL?GgnNLkJo~o0oCs(6pD72z~Ak zS1DWGvxCK@moP zAY3X;ix`*gtQ>@t+4z#p-BzJ+?gU^ zhHUL0BHPJNuEj5=AB+(!E761_!W}uO{a^la9uL{!jh!@)gv5m+cD%ms+IX1MsXl!;f+bD^wF4h z5WMIp^Ml+%Ru}^z=`m9S1=a8wF|(HJBE(T1>sp9-Un)Sp;hc_lC`4_58U09^E<;1U z2`ls|R+k`|#}uuUw&u@Mf~St?Vm0+s5?q4_A~y=vjaX!0U1_iDC56g{#7#2Qo7oiG zn+$0X^d9ps5ix>na7c&hkwhBtFmxFuqg$b3ZMH3H(gfg|GM;~6xuk}#$G4=*YuNe$AIY4yHcB&}~z?;N*eIx*g_bak+^bkrAg@D@oe zmcxu}QAh3=x&7osiv_jpk2W$~{TMfU%Rr!;4nT-P%aP9d?%~}w1s>cr)VHR?5(?R^ ztzIM!o(eJ>1pFkXW>d-JUI}Mv4WIqE)W`qf#6$|6o;Y*2rGU(dMZCZ$5;CP6U3iT? zxGQvc;2v*QQsj3W4Tt}%pvoEc;}DZuX3QuC)-g;r<&|ZVSEX2Y>jD1k;`3Q;J0PLg z{ZTaAujZ+NB7SJ;Tl35Jh+4{bcX_NaI(M4#(ll%Q@aFC89#`FMh3 z*4`FFY=>~*V>q&*e0tbj$U$b==ezkFm~zf^7hV`^Lzw&4@Ag@2&!nMI_sG5#v ze|N2(P;}QW`5`xtO%;W_p-~f5S6|)cq_?)QYv%0T;q9$ZXnyrdNX28!F$MEC1O)rm zPiWON!!kyW==UQ^F>zoHns;FZ3_N+-_|DVG)*kIOw#Dj=atbV{*8E6OVJ5%A(;p_l z8~GtET$mzEoOT4vBR>c(e2x@agq2gl|t*1Sa5j(z+fNe@uQ?aQJJR%oc(Bnf$$y8e4SPLv_ zIxs1^qlHz9#GZGMZH~eo7!Ls(ySlCzs$9;F%#` z+|viZw1}AFg_$y;L8IUaXGbgWu28QZ*twzm2yRt&6Va+2vwK ze|A&Nv&?KdAr~%51t+DYwbGFBV~z7bxPx06s*j}RLDE37BgNmEP zrLfp!VF{SSw3})6J60w!T^-Zt{A&A8*J}k8dVCjaX5U>JQkM(*jKSqYuk;bt zdP`!V*kroFZ{NS<(Vzvngw@lMPk=#tdfA947jUvk7mCSWbDW-tN+$8HSQoop> zk>CEvpt0WYD%cMHKw)gE7@v-L4Z1Co6DC3$#T{zJVJZ=Ly8mI%ZX;e_9=CVAk=+(LnVzMhC1X)@C9l(Yxw<6Gz-fuIM;;1MX1~)3yQm3h*u_*|^ zD*fwjmAW6w{C9joDN+cl6WFfiHRZTthHkH^=}pp{ptHFIUD4*G|NKUh!x8jPF(orf@RXU!@PL)bE3${y&QO zn)pHpyJ;m}9xa4DRi?(7TwyEaBpL4~H-sGc$Cz_lgv(2u6%&SkZ)_L|I}OI{YhML^CGx+!TEvem%#;Xa zjh%NFPQeniOTlIsg3S@8+amV`Ax#NQK_xpVvziK08jl(IE)k~FjkseKif?PmZaJ+D>dc=Rjn^` z`XAykCG!tLH^&l%y;#%fX1z1cmD%&ZR51avnb@ija_oiBf&sYJgCa{td~B+#d)%>) z9M*m7nUX(LMC!#8?fs1zyxfcv) zyFx;oxp!l6WBLC=r9WXaIvv7Rf$woKC8e0h1jOAqzR-G#46Mzacl8lc_nT7vno1rK z*Al&hV^02y3Gu;T&`xarQ(7BKEXq_K^une>rU94FTP&rml7zCbrMFwmt1Qj)Pp`{z zYvdM>MEh87fo|^EoH;q9#M@RjPU8;oc6d|eIj^@?(Fv`1V271gg#F_l%~Jfi!eCjj zWY|qglA)uM)%~!$V`N2@Rr;hi--}Pk19niGeX|r1LVw58eLO2JCSYc@o^Vk^JlGv-oHPa7oyK09=?Wm&EJ+c+m|?cQs9?rVL*}Q zGDAnM_qe4;sgu-P#3|#GS@;&}>ujPl-h{-VeM0e8`SM6%CUrDRw>3Yu>Rj;2DJq8aiLMf`0OQ%l5gs{0$Kfv&5Q7du1%O+5S-;g_iG74m;Op9`#JI#7t*# z^nM^+rXHZ!mdRoD-my@`^gpa0hu`Wc4*a*EKy|k>0VG)Ng>SaYAKp~w*sk+6_hw?Cvq_*ks^>}78oiTt-7)TF^#9P5O z*ngyOxtC9dn9t0OB|HTR#^LkB%qW56WfaM5K8E%v^og|S!Ep3SQl$m3s$yupxRj=a zX~J}3WW3QgXmBYAw4%mzlmy64g6 z6Ue0($l2~A(jIp^0foyuh}FOX=Tiws8F(Wn(1akR8TXHAdBfXJQ+WfVYH?55Izq$E zN*-yFEDkP=LGA2msz??i9TRF!@b&@Am7d8byRmC{^xQX ziHnYTyb2 z;iebSc%|KZTC-Ly{mOe&^v=ttIza48Xfs`k7c;#h2ADwK>+hsbOFO~Lce(}u*tX!6`=8WXoM!WU8?B=32WqVR@87@Wozthc~Y>Od6Wd|LHK1I;0yleUp}@JfLqot>Loa4tR%aV<-~)~dg{ zRlFtu7L3Nx`_$2tvs#6y3Cw>fo%XPRVHKHuDc9VCe;mOyYO?BGF@7t7t$c0^{e6w7 zgFrWWG;@Pfg&dlr?-7eP$;>;*L80_VzE?H9@;4lg#GF+sx zL1ZXU^m1KsD~Oiy;wskKU%X09KNXZyeb}rkMo>5QOE$cIb(DTd70~{Vl9DEz6;UdF zlIa*keiuG7Jg&LP9I~`+>k72{dQhA06fGuo;IU{(Lzvvj&*Qu?u8VQ(1Am|TjVRTM zJzY?_KG=}qw@Frx_$H``%z;N7bGVsJnC_<=Y%5homNX?+<`;vNN-uYx+E|wVs=M zm^+DAIlkw6K4_Qn7X-aQiJ`cv+DLOPKw+Y|V?rq-A0W8YE3H3>^etl*&R%dRxQ;gq zjxu3()rH<1AiG#N4u*YaLB$KbZZE*I%*G?FaO?U!b8$ND(i%hl``F9fvctX)j>T6a zPgaFJiVH5&!21$}Y9O#H6jK{@q1=stGF9qz*)h^Rr_L*1=7rUmn`02hTgkOGhD%O| zmy3dXnMK7l*q4E_e386$mF`VQo0;f)zd7D;y;3_$lCp79D>aP)bAG1Zu)qM!^cM^7Td>-BPLS|hY#=No*A5lVh|Qo$@u|RGLgZ>)%N9+iEk2A zx)$Sb@4TTkKJj<0s%j9|l>_|88j4G81M_g|ET_bZ;=gG3tzp8g@1qbz1p!vJ z5*)iMTz~AWYaV?A&#;x*=iIt13I30?ZL4z5qxkngA_^yGRpc2jyuF`R3YzUdO{@OE z!mD|D`tcT;-79r7qsIZTe*VQlI$xK{o(aN6InfXPRCkD_$6EGA{m4=BZ=iHU-V)Vk zDDR$>V3$g}ZYHD99Mld3bNzDAqIDvF(^aGGt~4=5PqJzNXu)W_(qhUbLI z5HTkW3nq$Q9mc2(hQntk?ZLWH=|f3zzljaP0w+l^xgkUudf$J#QH;V1KOTRZexv9F zk#h`B+WHu6owfcue(95NGx}>lwLum2=}%saqvbC8qn3F)(&Y5lB|LDLqB|j~D1QMC z4Hbj2A-mE5FgP(5GK-NUb!&KZQ2Z02YHdQ>#GMP#5DS^k&bdaRyxsoQm3>SAKWQdo_+ zCOflO^g)sOgL9|_Bep2Qbj9~htnk*)wJ5*M74zir~m)vgxo-7s$x?F zJAEAxFb$N%$EUrZz&A6a&I`nI-xmkEdTps8C?xWXGSBMW-CuWWAXaYpblV)1{MM*e zwqf>PxVhNQ&aXVGc88NaZoE3;@dff5w!)PVQwIvkGb}h(jKM``Bm`j{#&Wlq`4 z!hBJd(jgARPmyw6u`@uR%E-@^!Z&V*>xBv%@V04rvq7H2rngyGkkMyK16D<=b_5xT zROcrym4d5cMw^vN?HOgGtiPuCsE2HG!FyI9(LG)B z(stKe&y4+{bTN@8CfGjBHY%hw#btK@X0!e1UfN@JZBbcz`ZhSZ-&A$75>Uy#Lkn>G z;vC9_2D^t!*`?Bh@In;M`H4ae77`7!90btJUe_bfOHit!`4E+=FaCTA zszzBe zq;**)oAb%=WUe0X?!1R=>pxWLb?SR&VQP4aqKvez_PH|Dd>31ve7+jnB^sCd)|*}` zz&;CqK`MGxXFgBni^))S*j=xR)v!XthTwb}wcMwIb>Gmb#Fv{S>1*gNuNh}kHR;|l zU;HDK)0lK0ZU(Uw@b|`5Tx_{fx5FAZ$4DL;W}kJg2R4 z26aBxj78ng*ajBTHJzZEUr3M<|8(k)148^lzBn>*(WBOyA-86z$jYyT2O5fT*~~D0 z+uYhz_kqp?rYZ_{4fJvN3?xd#zur^rF06w9zsu*+r9J~KU4Ky03G~W8>gN6{XKux* zz|IW&!A03CDZ+c0gp$5@yV0vItzVEC3_0EeC^7(m%B&402Cp$L`KR3~;aVNyN8P0-fsKi~ioN{?@9{_`<{r{2NyKj-iW_d_$i(nIYE{yT zjXgu|j;UARX=qGLnC{*3OR@(q)}r#_T~+kLt0x?BH49j%Yy8f9#5WDPsw7;W%4YPE zSYD}svt~c3qqjNclF3w3{|?VtR3~NA_vIa3)uk|~d>|OVWodLgMxq_H+?`eNNVHW6 zD&^V81hSj{1!E(#sgJD5uIGQQ%YeOl`-LpNl+UgG$qI zdi&UpsEL!;?Y}GkxX8PJ2jrghmH!i^A98FbC zQH2V0-|qckiyABGe(g?wyBA>wH70m=jXzJ?y6AOZ6?^7slq+L&gsERwu0hs~Q#vjF zAQawlaj4!WlgY3TAQE1GmL}7Lhl%}%15|bU#XS{ugMol_b4ux(SQKKH=#=>nO7ujL z&3pfi*2yZ3;odS_m*qQvCeeY!5QdI(QatRH*8W#LJOzcjMOL)BF||9E4lJKm)HxY71{(a&?p)GzRBiZ5}B@MtXt zGScCXG?{IgU`!^`4WdujlIXrq+_!uhvY?c0jlCgcUU@<`bR7Q*bfpRK84+R`teE=t zsPjvt>(YhXT_x{cIR4l|`OYM6R#E3w%6zbP$)6gp)V~%U8PgmIlfFJr>45`Z00&b9 zh`~hQzIh!gdUHFCoW{csI{TCfBk9(Yn*f(=5jM1555nQ>Gpez zZQUiz&l~fRjMLeEMd$n@TlJA>DyY-XPQ5fb{YPW|@5!)kL9IMbvdI3L3*C#YV_iLI zk9yqHi_1S$2%0)0RB-l_6?~d+is%LKFqyW(5bJ6&{$umsQyElf%YqN};Am+Czk_JL zgsm2z`r&L7SB!A3B@0a->G%i%Mol;HW2Vq6&7OmSEyRVfnuGg#2Hcd+H<5psw36W5iBk;R5qEvr-s3w>!hs?`SeR@martp=|O^5}}d z-wl4^(80m?KVe@Wut6-b_zuZZF$j6cJl5mdck#9THrqKunuKRpN+VvwF>63UqfDxV z=8PqRk&&iaLL6%pT!TKuZv9vC>goey(1C*G4P3!`p6py+-hv)tIHHn=kuyBtD`5{( z$RaoQkp&=XN{hUFFJ^^w(c~ARUaCJF)#dn>%%xVr{%%0R@VrAHnIpsAV}L;C=2O?R z&%!@tz-~1@vMCYRN(-$zD?fzQ1%?bb%`60Oy^W-Rp&o7tAyS7F&u6M`t_4+}xvyq) zSzUiiepfor(uaTBy8SR(yemsS2S5_yeJ?MD~4}vB{iu(jyrQ{xPdkvGeNdrf+atCuH{nhqayHqxV0zEwX z=@P;|1j7t<$bZlhTk>YE2mcGD*PgMHv!tz!VyF;h`!bIo+u8qBb}1Ur?wgT|w zovz`pb*C@87AQYT@I*7iQcp!qN8t>(QS`$Pf?pi|=mJBCSYgvYMC~ettFtkclkQw1 zQ@p=3V!?5@QC}`$xWv3K_(RrT*9&K`_KBjV5Ml{;Xv#C~yiQRXzIs$hqs!r|K%VC% z%woO*P0epCC>T+XNTH&2(Q-)H5P{pE9tigEc&h+*7B)KOQI?kmA>FmEvS!!`E}WL^ zE=b?f*vYob5@OyCS_SILhf5^Cb#!j*_?ldNIvj2~5s&#`K4b#e{coa91TMJeoam)s z>tzDV*_5t?Ah59LlhC19-RQDA4a z`;JjYzT>&bP1Ci~VJs~SD!F|rvBj{{O_e16D8gCf$|;*yxq-ZUM}a^sJ?!o-{NtG0 z@F=2GGzt;fyy^q#s%rC-?n4@D$P^W`1urU=tgeq#c`%bR|C7vDDVw5y0bK_GzGoo_(o{K}#=el3WPUKH0OoYH<=A@Ak&n0%Ca${ihn@iHS%T zNR|-+iri0oNE#-jrnyvlfGUzGbR@n?c3@hp!{>L-cchV1axoEqetzvnT6|pPz^K^! z**LCGr`9{e0TI*0Cr2n2x|_4BDXmGa2nzWyRFM<0N53LdMiOJ?D7l+hoW*`Jd4j6ZOMYdDjUd$VdmRM7)}SI$`^MFe&Kkcn|ePY==8`g z)x@Y$*ms!V9wYG=HN+pxg%R$+fnNrQLDR)4^2vEu=g$$eOGSj0i{1z zI6eQ=+YGEC?*w$@aASl>;>kiyqGmVy=JoWxd*fo}r7qPLy`#Er=Gzhxcw!aQy1}Bl^spSH9J}#a)i?fZ%e?(oXzkI zHk?xgyGJL>B=tk-wC|sSazJOA$mB&ijf$Pcto_&Vi^K3%XV6Az|6bZ`C0?K9fn*x8 zicB0!52UfNf_wpIJjq7yT$KJQ23!PP{~gymf1E+N`nWu^z@>`>y?`x>siomA+tuIe zC&OO=n^Vh3rbH11i48FG&awRfhh8$iQz=3eJCgW9Gx&J5pLIo?gAHX#%2V;X+3t7s zUB7&Lggd97$F0QuOFrqhxs-Ktz*?J|(AdHJdBD{cML0?9svp6)fMvL*!rDhWV;LO% ztuUCQBjr0!CDgD>^&0Pq-tr06)HML1E8%9P zrZL$p-36O4%u9itU8LKHS2ylEB6Ld3AiJPb*^4hNR@80{MY-^_cFvlq66WZnWd>lu zxlB-mp)0X&tt^US#V&JC=kSvZq-g5T|HXt#!GH@xp$!c(atWd5aTQ13wAwm-%=)<& z;Fn#Ku(5iz#|Ut;b_kP1gY8X5&ddiUaRMT!eeO2b{&In5ukDOp&@T^) zDti5IGLWr$)<31_JQLyX{{E&{<>`u+R1A59F&R1jV|h#ZiGN(veW6j;NG1Q4YBl>( zFQrXy;9-qim))!6?BJR#;?}``@e^RP`oH9X)CJw(LTcxNpXi}kSXhWn1R_W2(IC`f z)2N+K<*V+D{lY8u-q_fBb&9C%B8XUf`{p}z0&!q>cQ6a6ESeNz$K}u0X%hlgVObKK zUlpmHl+(qEXoyU~afp~sRJyUUYmotYLJ>-b-aKJ4^E3vdrfU3UdJ?Ee_(jhW$Y z13YpP3y@J%ENGc|>>@SH>h&y+a1f{>x&A_=V6tFG%BIf-_3u?6$Qol&I89qvxEpSI zzQGrTO4Znv$QbfmgsZYlLoIvhV9$O@u|13&eIcg%FX>Ksbn<_P$LR8$yF&78=;Fu4 zvOt5;vl?qptl)lguMWd;AF{3QzY`Mx9Y($AeOzdzt0VBqf!ywQns5ow5qV*ecec>`Rt^k*)@wU9(A@f;5{#2dwN8pS~CVgvpIhgqb)jrCah5-oj}qVZ8rOrlUgI+`N}Whf9%^#&%bX2pdtb0mvSK z0d2L4m-X!*Pe+33yB+?1Drvoap@Bbf7jfb|IXRCbY&U4Pj&A4_`^Rlg-oWlFudgX{$T(OmDq^;UV0~shv-KrN0NqR(HQv#lyJ&_Y%Z103&Vh{Ch#G0c!}KH=Yvw9P>c1XAofe>%?ac_5REk!!7+1 zZ5`{>Eo)iiHiOmeikTE-`;l52%&pe(hmfrJcs#FjB)rsTX-l%hjxTQg%eLk|X$VIz zm~FxV?5=#M;OBBaeo#`k8cp<0eQ}=JY=QNFB3tWBPmsp4x|rhe2#-KO?ug7Ywv18j zy5R6N{QE2a{&YZtkupl3B-(p9@nMh_*?6Fl#+&#S5I$sPdeFJ_cW!Xzvu(Y?leps3 zJz};*`uy3YkeWbam^z$Ukfur!AW^q@*!nMwSyEgf4_mM5G@FbSZ}yzw~YM4Jr&UKR)4ik5Ak+;s)M*4uWe}6kpn-{XzX%qqoD8>L;-pqNW-F22#!vOfu++iAd$ijY$f}^nH?qykO zO>a$E_~nv^Fa|*$GUVl`1mx~>BV*+EH~fSi2%Py3-u>!WuTYsmG?f9MyF(A3!bH#j ziF!W?HZvCN11&YqR?f!Hcnjw6ZvVT^_CbWjOA>+fGY{zHp&DY!T{D;D#AvR^(M^Gc z=6<&F7b@6Mc@M*}%en<6qHmpMF?s%XbGj_RQxYlHxt(qen|#N@wywwcY3c$x`txQa zL$Lr%;YZaTx2ZD;qB2AJYGlap?jtdi`v$0dJaMrJCzSXqoyut*Sr z0u=c3P#~&Zm3{V_dl(oH2~Lmp8qAXGL!tPKLBQXdcf7Zv1G%woe3kRiNb)d_^Wf}4 zgxTn1Rb*j`22iD~d3o*oVsh4V+$(a1c`MK>=l43CzK`$R@`DK!*^#K?P+d5}$4Gt^ zoexm%OhWx{1p{9m3g@$Z3cKuf%p*A&xYu{i;8l$^p#?w=K(pwKUZ%zuSL;(&aA}*p zk7F>? zmD;=wI0yRs;VVthswr#5RH~894~v0s5PQZg6rb17Y6g)9)QFs1ldMsC_l=G7Ac=6P zfr&g}AYXZ27JuwvHnlpp#l%>)x0OB%>N~YEM=C1#^gj?*Gj!qEg{Q(kk`Gu!UfYQU z&1Z|-Nv^A3{CPc!oteJ!otOS3aU+&Yg>Y z)<|j(8iG#mg9EPMnNSY8_*2eB8O2~zOyFnk18`|1v8O(Xw3W+Urojon~UgFau^fHB?qG`(e+WAO{$Un52#lu%w1II9A8-5#aLbl?ftlHSRXPLws_tc$ zZ`gWerP`|moy&L%to>{~(CiG6M(4LM{EP?%&V$?o5i7FsK!|r2!O4N!hLvL%!GBD) zRYg&S=n95ntEO$4@s`kJ?66u9bD~Og2je*6BDObcgkc1&A#T7h5!=Uod%T=Kr?my^ zD*$U}Y=bZiMA2^_V=w|G?7%e4mkEMUXek*027n3~QCR%{&t)y{Yod76z1^%%O_xpJ5< zi!I@C#z^N}Y3q9m(~z{88)WMI8$V+(ICVqUL2f_smL}J=K-n>fOI9pPV8~+7-og$t z|7?{iZ9pEp%2@`y`eh<{_;sroqNSOwqN!WmDWd6+G$T5Yo8HN&)!qZ~tOV;~npTA( zk!6rYF`}r=M-25zi#vU!MTyqdY`q+Kiv?kOHX2dX_tLZ4=L5Jd`@=lnc5B9%uK=uF zyA8rH5WTZon1f+p2WCU8K*1C!J@gSxBnBWygRS?Tugn06B1?|$-gmPf*8HA#_rvY@ zvS$ZzD^Ti2>xofXC1OUkU&1hx3u30F>LJnwwfKbKNRhNBeazCCt!2S zj8e5U`yE5dEObH&!0C__SYhp2hv%{%rjs?u(kLC(QaQ!uL_ebnD|8_tst@D=VNfn> zp|M!hLFicptk!9*WohB%LSyy7=EWGiNGfrccj5#n5(3TTYH0^)X>4$NHF+1aGFKrQ zQcjhJ7U+r+IMN@Y3%G!gXn_MIAYm>*X2zQv_h^+}C6+%kZ~qdo4v+oj zvN~@oy5^`07L(w2Izde9C9zo;gDbc|*-i+bszg=Z#iG$j3_RgWLC%D|Bg9ga6m&!M zQe~KBv?e=<1V3j$FB=F{o32hkBdco0SC(bgP=&4{(=bUzElwLXqYElGL-5M-v)GL> zEg0m$dIIe)1(k$>UaI|iUNnVF``G!}qB3jBuHv3xSY^i+*MK_u4LoTA)#!#}x8cBh zT(&0n0%JiY(pXwhRL%EN3*IM8{D5 zuH6P2n?5SNCTmi;Iwk_rSP zEtXu&iKO;LgM@LyJikjqOGl**5Gs2d@ty^hy!wG4#O~!*vV^u;gZf_Kuqni*;Ud}+ zp4SuGiR@a6IVMk`QPz}MR)%xLagi7sV-iyijQx1f%DMIn3Q=ji+cC$l7$X$TzQ`Z`7SW`ViQ9O{YA{O!AUiwoBAdDz}p*Bv4(a5O2bGu|y@2neqK*}GU#KOWQp$@f@nS`eZJQ^9`MILoib%DcusAM=7VKa_{o zujGwvSaU4d?XupVPmj&gdh-&1v@^zG5Qd?sZT23a2k6>^^sL=_h;E%LbwG#>PC(iY zN&M~4#K6D+NRhB&=l}N)6|8X{Pp`}KI?L3G5w?SsW+`o4i$7EUeTSW>_^iY7I2lPZ zF}~~S=gYN~E3M!uScD|Bf<~C{7Ftwq5>_x-ZvpWlpteUYeU}a>SfIW2s6eY~@VqZ< z*-?ODr;=jBvO2xM&P)N3tl(*kK^ILBOAyD2mgx#xq+T+?CtzNPrmAKD)*DrhlCens zG;+$vXb)xI7_EjgCJm`GewL&}S+BtgB#d3<-U~zT!cRcsIKuO^YP=YjtC_IXC1%5p z*7}+>GRObhLs;wI^?8dt?&sUGtcOkvzXFhU#zqLkFcg(!R$vnbVFXInqhbi|=r}0Y zAUoJx0NeUs>eA*CcTpng|Mxc)tm|?)zRKg|g?6*mvv0WRZjdWGk#c&{=5=-VW%HO> zbP7lZ1TZp|3Op-qA*VMGLrTT9ZZ+}vHL%=R5-(=JmTJ_#MU1jZ&cH&ipi<1dCaokJ zpA871-gk&+HTPj@A)zLsmd$NIS!;$koFKrYRXQVT2FuEuq$ScvnGdDJh$_Ah5il!Q6rdkQ)t*fC>Irdj4;2d=oH|YThL@_E@bUn zUHfnRM!ToKC5BHE0tT5YTi}KlYf;3AA(~g2ja>OkUqF+hw>hBv%S2k5k!cHtct+?LQ0FQvlA+7zbe(hN6zc z!p1oehu|!n6tN*jB!(`moT5gRO6>n_mJZpfs;U$#cK&~VbHTcOuIFk0x-4O+O2w+f z?8DCuKD6~M-NSHvM-f%kiYFqWO~`XCq1!}+02&k$7bDE$$;jwZcpv5~M*yJ=K9*6i zYy2-6RfFs7vGsue+=5(E=XNfkW~m-o?4nqIpqRHze-GuCbcP7{)uKoeF- zN}{;c1mn$OTbeM+e3793KLk?(gH)y7Lu) zvun9Q5D22f%qCW0GhQsh`aFB}ZWW$LtN;s;^^;|J^JctoB7s04n{4Lsew#L|={f0b ze?2}v)0K5ayN7wm2wE$OkI-=0;H>MnjM&8j|4T9{!fHpUlwumQtAyYYGkL3uyiz># z{5LHX(?4Ues)(=ms-POrqHMUuXMk@Lio3~tkm&h~MXMHIq!-1Cu=j6y*TE%|YQhp~ zQq;i>%P1h_O=z*P7@4D0qIQefE{3w`OH3gd#u#VGq={0$+h*Ft!O=0ABsO3yjS(D^ zN)gOR9Kg?SEV0PEi~U(Ig1^A}2{r=F$;1U(w<3OWDsZmAwDmm}WDC`=+3$M0S7BYp zyBsd(-D&HF^%j7$Ggd($27>5L5_@Y4Kf&6s@;e195e2c+f4D|uMbUG1Ha1rsgsbkz zX0yDRnN+ZLx9$2eKWrX$AJ5YgSR5wH5eCVS0@g^r!(G=eY1lfpy)ZS@g8-5$w1&in zS@#(~3W5a1MxU)7I0|xjU|6)ubui0t@W%-uW)MP#<;6Hy!jctC30h7NTZE3sxxfEI z4a4?m_GiSMMV)9i^lP;7n&&8Wb3q5BQ);6ApAiY4eB6<*Rh79d^-AaN4ml=18HdR`K#RxO| z!lJ~=RXL=1?e*?3n4R~F)#-R$PN_Xl0XREjBLrd~21@o*0$q`PMt`Ib(+2?ztvr}v z2Fyu5l8@ZM%~{fER}HN5_Bh{h?c35M)_2Sgp@XApxGhwI4f=LAA)>lCd?{lKXBBNo zqq>wDW(`Qh_JWwta?xI$K+kzS5_l`bK}2^6ouAWetylMuR(0c4nlEX(C9Wz0C<4jp zQxWP;wzZDb9SmVrt-3Cj?U&)&bjU;$x^E*4UG0E&q-R=?e2LmvRh;QkZ~?t(K8s0i zi{`kMWXmaz55rFf%D!^6uPqJID!o)lLZr_T9fqXBng8M;c2He|cIEA`Fh`KKMe!r9 zZ(u_%Xj%-{67TnR!R~Ze_G@O(O90BQSVv(PhT6$5urYB1;s^Nu9d$>yaJSsda?(ji zb+{Beel{?4YnsH38rg}R_`TIfjML}o@V!4DZuAE#__!<@Z-tkHW`&Lir(IPWNKLL# zu1;CeY;CVWetU6BC}|WHBg33VQAsg(k)DhJL0hDU7d6Kjg~9ROAN4Yvypj^Oqfv5s zlx~_+lFK90kV0H5^DIVJmfyU~u{;JqM1BGxj0p1_4DT?-K*Qczghd(p#vb@>sw|?b z`a;j1>dA84P*)WtKmbL+WD(HF2by^Dq-6#<3spO`vCc+yKVsDST$>*SF-3ZLyc!_7 zW>%npN2E?%cDvg)W6TL$O9A(=DkZ&8%r_J`EhM0wHv`=*P*WJ0-ofbUyURC=n`PMe0%p$Ip; z?I%c3Ymx=#le-ypK-E9BX>5wt+Ivkkt#X)W29f=Op5<+^HCnY;FoDD(G;DI4(XGXX z4MaCDm#2;-11jkgtdK1QF*&r~X^^mieR*dK4#O~8Bg^MtWny?%zh4l1LXs0e55by5 z$UqeKEjgl>akJu^(^h^f|EubAG)YP=~_GJOvPun#2(^m|-ZuB6__}F9#mi@Ul+Y)9or)&v`mdr^n@o??$mH6w?mG zu!8Xs2;rps6(g&=6-8WM(Pc`pVRKBl0rGU`O43b-TUq@av(g48-jPB`&SAe{Ov_n` zugam!l?LJn?3I_W3WN~aj(=n%JA_UD z2dqI^I*RasJ(Y&Sr;#laP)FEwC~yh#P~0X=G|BrzA{D*mCzFH8)~*4kRry4*kByIV z*b3PiJdMI#864DVKc4EsK)@N0w0tPt+}uv^)POJ)VW3osd-F2drrOft{Q~Z{^L1H1 zyApQ(0#J7LI0!>A3{LX0a}^H2IT*Pt3nK#)>V}vQSKzVq$9CS*wW_*QO`n|4_O5|- z`(97)oX*&)l47|@NN8vPjc$NwkT{>DVFdxCjRsz<+z;|jn3kD_Z7%`*S0^vv_W4$W zvCCFYy>eZ0rouEeLSvqPWRD4==SR8i9D&277knCO18}rq|x^-679Exa&U4){R- zDgt{S@JN`9sz9hj-k8-*shOlexG+};e$K;WVc(WbUei-;fTamQ(R2nx)5iDWRuG@N z`U>^>JltN-!{u@R9QVwizW|h-!3{z&3`5b#S0>20$itPpo zZrs0!lG=X$d0^e{*LK<*w@bfBd&=uiP|2tWQ4B+*c9?@(H#AnsIEPoq3zw@`Dz^tY zvKt^iFAX)X6flN4=jS#Xch9?FwI+bTY|HWiGC#n>xKo;+jA6#@hC(js@F`?TV1+Tr z!k{}X%&^-h#51Q6beJP$gu&0gFO~s65t*fhEXsnU7Ax6$Dlwtrtxy`V6!s|3zuCwt zEjlGfvfdu6E)@QG&w6)h`NAY)L|)7!WaBb*-Q6 zkXyb5IUV}FpGxp@1`hkS`)6Q11YqpkaS#S#AZlBC019dfDvrjLQ-K1a*md=*1viUf&>fFvcOvK9~Gl6na{gEhC-ATLZ+nCqhd@LzXg1UZ>J+z@}BHsu$Q z$ValCTDyxT)IozwfCwA9mx5(bAl6|?(qumgSLu*Z1Cu&jFE9iWar209<62hL_dt!N zSQRHXlaEs6Axc+nN+TF_9yjPlNC}0F9_xBr5NoydAO(+2It6&e80WOD6?~(DNhnx^ z5P1;a2BHJNfK%~rjnteSCSmsO$oGrrF&$6W%YDD~9{LEt*tMh}6a%rz)Z@7lk11|l zcoabp-r5sL>&CX3OoexVw<^p_LO#0>*8OumZFmaRV-a^!KMPuhr=f$XePE!5B6O|{ zdgx19$u%m6;iB(fay$rR^r-4kwoAk(AF5Tm%gw`W9a^!diQ9WB_MeQ)% z|BSlE`>>IhH7TZ(L?aC(%>R&8@%Rmk>`PQf@Ai7&c)PsMd+*R!0LIQ9w_zBD!lax7 z_y)}dGW7n3=#aHbw=PLtpsOB(#H97e7-&WVmSszp#GjAkOIX9t@AdHYc0T>d@?@yZ z;UQYG4`?~5b(3|bq(n`r%3mudbw&amZL#)!pmDdPA~#XV zDS))dsM$q95(nIP-92nX2~`OEz!xECF+Tnk3^zN-po|?!Du}ySNWv{?MJs$Tp!b{-Ka74mr>cEVb;|p*+qeuD}8S~R+#EQZtTF_ia+8a#km|wm{ zK0l7{%d)h2p7GyabQ6HFGe|)g2!deGF1h*&U*Lm0`dtqm#DfI!Vkq}Y}edg@#%$2Y?Y9+JmTe^w5O4YRXE@>qhX zr!Ywh6I(f%1|6#Chp0(V2YU&_#gH)=*XSgQNjMZyf|e08a`zRm@zfOEw&|151}KXP zF&@QOdldGbJs<+VcrT1Rjb#4zJ2NJsa(WGl>alzgfY8k!(?BK5alyZI2?O-oe7iG| zpVWmgT4=GsIGLsvoEn;VBq*Sw(7(^K_siyRyFRyTYSCK&#?BZAVHk#@cEf!bxCPv| zGZMF8L}EbfY{XEApW^426$C^9?Y zIQcYi>v!)0R3s1wY_NZxlZXG1WgT801q&(@kV?ChS!3@$*Q`FY;WVT`OHO!j%~YTa zqa{CBr0*ha`%Lt{tW63|s!RI@j*Er_t1N%QIjA-2cLoBe3%fGKx%NIpLzFGBklXur z3N8vmudNRtzsbMv`^D`da-1Lg?M}|W=AxGXgq=MO!Y~X*?Ibf2y#sIn?tcR=z`|6i z6GaS24Ae%bar@aVu=h``^6D>oasC3U?b=PZJMW+L2zC^OsKBmdOTiV-5FFGE*i>}^ z4#CkrFoS>P5yqiQdxr3ZTQ;PxsEa)rVh?x&O%C%}5pEnRF{!nnt}MA(uPA-DQ>>8K zErrRB1-$6VW$^XeZzO(4M8^x zjC3-)ybi7cQOdZ zqOdr?a}k_dL2dWAUx_ZK!?EvgrD?XWUp#sXK-jtCAPfURbk^%5aTp4&OoxOJ6`~8` z3K$`gcy@NBR7pVriiqu<&)Yo`Uf$=!v)_)~_XKGH03wP?t9)H1Sx%EE3vB@Wva*mt z;y<2?;gpY`?9g`ljMEiC;#Z`+g(0*;NsYD$O@hl1bu9+5N6H8`vM1{xo*N!Kg`{Ux zD0hO50F-DHqw%7h0m(mQ$?`B49Tdgzd^}f>%#t_5Fn}Ro{Lf0q`rG59T ztaeflnW%05g@7#|ELx!WK2TNB3cT5%${(A%>Gj$DB0O#0n}6_O{6@K0 zC7WD|Y2K|~g1 z7O|vBKnyXSJh-)rRdEK&!!^{~FZU_i1d@`!Zue_(*Qm{c{C1~e10a=QzxM@uT5*`c z)^txHiYS;d1p4qCA?IuwQ^_bAd4NP5Txd`;5gPe89ZgCwiHH)+%xudLiUy7N8nutu z8Y84&%^F$}dr`D}L4!L;AFbuTa2ee;c zgNgq?gNX+e2?hqr!T@zprPw_?g#|<_Ayta6xjUcp7qBk3ak%cz`!~J(Pzi28h|(N$ z+R&p``cu+33a{#KY5{i-{U-#rtX^e;CmWE)!KsucE=)<^qA)10Ju5K^*aFH!q!~~ZAXh^YX>O7ED-Ng<1~{VJwFNHBmPNA@ydHMZX(mgyV)4rArq%n zV?lZmmpFVtYq2mKs-V2mMqnNOA6*Uc+715=V*3&n#??dsK;|ZDEkLS`r;4Z3C={^* zZ7XpXh|gW1zf5?geD++D0@NMoQOot&`mAQqn5tW6R7@m-Ms`gJD5KG51S^HmGXYqA zKv?$>IM7}Ohu2>!B?Z=Dkzyzsf$MoE8c&Dg^q8a{`k!v$R{*}w9fv_6h@tc0Bso*g zA1NqZnn>wcl+P}v^*v_=`3b4@m&Hm2MOb z;V5J&LkN1IlRio|eetVIjIsD%AcP%)d`YtsQ~61nHvQA4hEM<2-s7HYlRtfoz0smp zlSXHpu(&O|Pq~{kQ8$@c@p@W8EIWC!stMLaN^5&f+N5M+G95dR6M8%)n~`ip<0a+( z?2wA%e6S1;ugGL&RV9{AIG2YiD#pZgX;F7b?wsFKj7(yqjl;(d9qO|_LbREhJ zEhaIlJ^>Zp7sy8!b1fQg$@Q-14$dPEk5w?HnxyytA<_(|$q^F^A6fWVU#Fa`T>!qW z9S30;hT2wdgTx6KI64C}XJF|BYgd~J)$y|(nA)LIs#c2LFVBAw*28Ys7p-uZ*(i@f zm4Y@pWs9CBZgnwvIt@*dSRFBO8*Mss@+A3>)KWG9lR)R4Bp zzqNwad>y8EXGTi7Kk#1nJ?Fk%PG@@l+LJy4&~?Q~2*WVUG7P+di68I;{=>U?2`^w| zXDr9UF)%b{Xr0JTnA={uL}yu&{THyN=d^nqZpW{DDn*MIO$Qwx2^lx8CF1x!O=dp~ zU_wc$QksJm-<8x2i+_Zn_88ZXA@$!7`g2BhQt38UH*Jk48|cuLZmB}C6qm8I@WB$; zTDJlXT@@;W$_XhmiIjVk4)}#OQAZ6_L&#~<$X|l-MNtHLs<*X98G;R>kYRGYv~K1s z#2-Nb#>4(xxhn(eX;e))ePQc?CHiD(+zTi&Bh;hvp;aMjLrYl;ZLsm@Ge>JAUSOLe zz|_9nN(pQKivR&>BpLUpn5tDff~#~O<0o55c!n8+yDoIvX{uWpz~4$!{+v=eh@y~H z#o~flKll9-xnK7uIm_iAF8u_c>&lT3hGC#&nVyP*ns@PWn4uvP3K~8T(>TfQ%K3op zq|j)kJq{t^=Qmxyr}sS)Q_426u@P&k5j4QHJo_v)DQe8KLgHwpO&)h7s5J~=VTa7k zeDDVJ)M7_e^_;>O_m)ft%RuL6TZgiAy2e8NpmtDgXsyg0rwMH1LZVzNlU&1`Xzg+z zo)KM6lqZ#YwxZ?)DmN>KU5pcS0$9-q?Fg3HPB<(kfe--4)N-akxT%+H@6u%6gdI>B zY!mTb6jf7EQ{Q%=0O*Vhx0fLnFv%Cb!>{W6y{kM1lY?9duRaKxm8~Ie^-w1m#_%l) z6GACy0v$S>!!|--f3BtL+uK{( zYbQ2>rACCG{WICM_9KF@KQr?(`**@RKTrDyZbir`{HeulKDFbSj<*3eg_yyZT(jyn z_LG7v{?(q3?zH$|{8!w<{v?7Jq$VZ~nXda_k%W!vWSZ4ZDU<0-516192FkxoZ_IH* zBwX+fOd3pWXoqk)bgcvc5aZn>g>-s_yTm0t3s=!OO2WoG4yA;dg!O5sfTiHI4y>y+ zX#hvLtTef+9`nEHKBLckjptLQHIN)lQ@tmO&?RVYOYNq!6@ZjL(4LZ#JnNvV6D-Or zEj*#7)LW!qE8i7DsVYbsEWzo&KyqJDl0R79k^T!;=?AzL8`+5~1sU}WVlxvYl=(Nybdg-_Os3{xGl zR(M|ygNZc*G)gpCx(!HK)!z!4k`Th31rh4MbLaK`MocC3HRi~ih8{+drec!+oaf2Sf{BTOZG5xpf?+Z8$F1dw%52Stw)h0+vSJ)@2&;b*f&m6f1-wJVu zLZ9C=;QvYQs?TR*$HAB<;g!VB-_yqiq3)dfGfg@bKCiI*b$>cv>VowZfUR@KVHk#C zC?zL*mu^MJ-v2yZvvum{04Y$^4oP_r5GR9eQPgA3-R;}yec7(~b-ij(>7n-QQgQ*6 zCW=YhorjVc$fp`h+E#)=cz~tpKn$Q+l5S>+JY1$#lylnf4kQR8C1~`}n3`!#pt;BH z*@tx?k6TPlQAR1{O#2Xv0wZxkK+E-@@s4N>rfqah3Ni_Y2=H2NriD->YK9;trqiUk zKAD%BbPgrl!o==!sO}ToaT+z$?Fb$mUrnK-4i^5sZj0;A*;kEFTJi@A>&y)eYpQBtfWwlh8J>VwIs{ALLpVAVX8nzRSO+RT*C`b zQr9fn_w9IUr;N;8lZ6=)Jl&zxD@!|%U+_4Wxuf8O=qXK|N~4mUy|_3fB4!SiF5c#2 z#ja|`(j%xD4OTR;DYg?B9_;uT(A5hNxfa2Jbt*|_F5`+Txk`P{!pg`3N+1Y(f`RRd z%pe49FwMYcKn)Xso6x;eG^gw49rm;uwed+8rNcD2FDIay5Kpj~%hd$lf|^@Qci)e- zh|gvUT$l4;@QuR5ADjB`L7JkYOrbV&-qq{pA?N4)d))1}W4xPw0?>8sI0!>AEJ<&{ z&ceXVp*aY1?*T$80}C%q&9nVpr%Ii=)QaOz=79BGuOENHekp`RMNzt=Q|zO5XM_Jb zgnAqiM;oRy7YO0oIm=WZ9R2ePSt|X|MmmoI&w!Z^WwEN)0OE}%t(;US;{jF#FC%qP zV?OA23(-->r=A-N04lYpBs5{T2m)4Bg*@ezxpD>^vgT@#U32*HcI7F=#^7QPfO3SQ zZw?hPs0bqcv*dkP*(9=i#~Q?I8f4-SBpXZ>30HxzDu(toT7{N08w(aG%KHj(U z<#bnU`U^nU8RIYrLow90g7%g+|h&NOSa95e#FwD^)aUw^L2jjR(mgY1I`9 zAY=(yDBTAlGqW2~!^Y?L@bFVuOcuIFjit*Xb61%&!_0&wUTYkeo}&RcNt3P?hvo?9 zq*cYq`B|CBK7<94v=OSu6+el4w+f&WK#Qf^bkCJhJ^M38bS;V}PO?pip|c%uKJO_U z`U%%qVHgO`ZjgK&s*3xc34`F_fLhwXDbq`TZ@-(PQco>s)*&l)U< zM+r^-ty+%^g9&8XgaVLYV9ZnNKZL(ilZ@Ktozy><4JDW<+Bq z?G)ZwGHXpyBE-PU_0TR%VkGJV8qIBAeYTjFW4;I!rBVM@IFvJuACs6&sWHF{!E4f% zPjXNfef9K{P4ImaF!7>(YF;eQmbf4EZFd#Kde!o#L*h@IAyMQVWdZ>E+Hy& zRlp#`YNXIs1L;rHa6*1;Xm#>j@!m(H8lVyl0(-b@6$%oGBaFiIS&-J}rTh7KdOk+q zA9f+8^A>=uGuA;EhJmP^{sJSP#KiwkAh94(mUbhiNF=_yWNOE@Qmop3cQ+KQ*Zw?h zzFx}|BXA+eZGt7R=Mr-~Ho*qiIg|y=8X%TOYLQYidR*Cn4vaz{>k7SvnpZWn(bll7 z9C9xjQc|3_{bFgPgFfmp0X|39hivnfsV=cVsD#lV-DNHovTY5DoM({~&$n#Yg1QKy z(T5(igjF_ra)TkKVVphKLQN6w{767)U`wb;$bdYM&lO5@L=25B-tT}n@oo)9E-L&H z1q6%scFmFukKmW6FsJG*Sj~dgT|*t71^BTFXhMT*Q7qoY+J$FvOy76gSH=LvidA-Qub z^y<>btT?QvV82OrJQ-s6-%b>WOumu?xcUs!5-Ox(^XS}JgmNGI!pWZMjx`sd-DLt2 z-(bjS7mW-Q-c>=yI2|Au4MH|%gD4IGOWbfO@Ag4ECZiCni_&!1U}Q6@yh9@*L#4bd z{vOQ=)g1tBGAv&K{Ymv7>yPp7M16pZsITAH;yYRiORFs+6%nP}T?xs5^0_WEa6aC5 zn=QhG^%8)tYu7;-hJki6A-;w`=T8`!8CVb#U1^Pw;`DrWhe{p#NLuyk$K53X*5h=$ zeB?zuAWe!sDaEeYqNQSaXTDQhd{jiz-#&IF^-y~k{pD*NU8fWixmvvdjocw+xRfHI zRN{-tp_xt8QEuR(V8C@UvT8O`1_~`PhHuHp^CJ4nb6U7Rw~BvfX=bfBN`=I~RP?lmvr?jc-@i~TEg4}ClfBoML$K^#H62*ltw}-l0*#%r5)2c*!RgcrG^0(*TIIz3YpW4 zMm2iXo5b@J)4>78%iH96KmYx)u82=R0r)zX9E4#YhRy_uBOsP+x&L9f15)7x!H7>< z+ZkAQQz?x*o_JnFu$J4h@2BhGlfT-1tCSWsYso=yS)8`<=C3fw)u~`BQdl#m36%Es z2!&fdto<`)Z*8&27Rtv|6k$$+Q;Sj^a-C-!^N+A&>ZPf5V|ZZ5g{Dm!?`c1rnDEYO zy78m82a_niDntjn)3Rd%t>Pz`$jKT|B;+oKKtTh}943Wt1S5V%XcYyR;LtsPoqJbQ z6131{IH)hg1IOKj&0_|jY9mrp?jTW@|Oqq8E*e+H0oMO@mAEillG3D7b78K&(&xz{CwS{;;b`Y>tag35x)N7qi zd~`LLWFA`Qc@QpOU6@2|Tko&u`-cChp8#}S zNe;q544b690*Std|Nnps7lZ@{xOI#Kv)D;_K&P!LRZhGK!n!^$>+5)LheK*4bZm*E z+FaN!fs?Z#HpFgW1?zr1SwG@1nEh+HoZ|PhKpICaNgEG?qPHYIh%q^_+KkufNXWz! zTj#_$W{GMXS5=N+;v?jrm`2Jls=^BwSTC`e&>oWZf9gT3n(r ztHy#F7>!WNp5)vZ&#bUP{NS{7sL$#yz6Z{7VV20x9vm&wnuBN;S1bxjBar|*oTMmR zTG;@9z%$DS7yw>f;FGr0g)U~ zP9clM)_A#DWnt|rF-_tTKB=SqKkVRP#qqKz)a&qU-R!R%RQ1M^K2Tz+&*tJ^fz189 z-JXx_bh+BC�dObe*vh!Y~X&?d13x{{K_p3pjQrrdlxIoTP?5L)+^)wk$tOzwZp3}>QX+OpVyC31;Eb_x zYK;?DD`Xu!FYDSN1=9*lY=(XyL03ynP^LCF0a+Jbgl*knc08n$r~}PSm|!nl7>wFW zcLekE>(3|>Uv|Z-vQj&Y#g>H4ZCq(O5}7`i(Cor;C?c47?#!7Id@-~nJ*fM(zUWY1 z)j__kFfqR@i)o=7w8O8Tvy2139O6TF8-|I}&RhpsC5|L-RcAbmUrnz>ED0Ol+hDWc zhuGM}X0%hk1|R7TTBEN8$_cR^B=!$*$YpGD`x$J$TjZbDE);UoVFe6AAa$)`5fEWM zO**rQ62{`=4v7*g!mSEfu49}5Oo$}CF=YYnxDEj;Mn--VBRRH~Ip3B1r-p9tv{vYP zKhT(17(FBgdo^@1O{17Z2k49E0nMMgt=1-aQnY#IM3K;#GxnV7#WTxvU0~@AQ!2Pi z>9mHvv`#BRJfY)_#} z#Bg|r(nfws2bqZa*B+-5>3nV_l$|JLda|7|UpW_1pl|lUh&Oi2Ox2fYniM;a5`&7- z(+pY~&{dd|3u$zOrhX-w+0Q10uKLk32F&;3PaY^jNK8lT;~>PLIKz!$2Y_=L1T2WM zbq&2k*r^k_MvL`~lY%hN)BuwRdHNYN-Z=-*lSdcME-C<@Q!rq7Tjv#obwDyKBso~v zpzJ<2bfoT+48^E>OwoyN@m%M*_kLNH-F3vcn(@!yJ0sm0#OW?B91nXkyc7 zr)p~IIGlk=Ln3t&KfGWa-`DMp&0&8@KH(Z+svP(zf<|&sFeyCq3@?eN1(~1BMY@I@ zw1j4sfCwNGlj03#Mp1SlaWLO1Lb`dng;kJuovQFNL(di!$ zRgDZ&jtDc_BKn8K>CiOu=_Jb`<1q;s_2@6+VvV-eQBwOCgi7uVfdK}VnqQMhO6c059qPDgEIqZlzdp{V z53tW@0%u~nwTUS*5VpC86@ zh{2-@#o{2UBy&F;nuh~hOw7Lv7=wxRh2#D@;f&sBTY^sV|Q&O+)OHnV@WRP zsE;IYmCux#cBDwbqA(pSjj{1=ni8{O%oqg8X>e@V+p1L2qs6eRZ4AP*HQy{w_^Cly z?QCfrYF{ywwF{H8j$eD{qC#z^o7HvQ+L%J4p%rTJBlMNlvmFk<*B<}%z2JuXe%)UH zy3QSoVHgC0h~yx?|EXN3OqCQd`8Lk@Wm6PH#bXblXNwj(o;p9OmPb`M4t_d zYsHsQ$;iUX@=Ru#T6U<}pCLTiV%!_j0&$%8K1s@8_OBl)Y~?pMJ!?Q1*{)1@leKot zTXVva0HB@WmPAjK547-Kf#%sY?6^9}Vdr6MJ_Q4)SLA$0_#mXYzulZh0p(;0Jpl0~i*7jw=P@rJc`2iWOAuf@5Fe1ctpGvw}h;6K4t*mUrnK%Y|y@ez#t{|7NL zGl5W%AOWE~?wqV0BDJX!`yRf2VBL?`(_S96ob+kThz9_A9+858X$<@*EzHaIS4}4} zE1NJ~vzXDP6`bR$R6|sPuP&K|+-eVP-yr)jv29q0U9(UHP7Pjb?J}iIL+VY{KBYwr zhJ{Lr#gynqZEC+n6*bz}DE3{6Rb#HB3&J>dre!J?nFfJ{g&959uK$<>Ry$@29o5IT zakvCCfSK?Y=zrEj9%znv3`*sUK9M32hJ?`me8>w4@)*9M@ml>|>iX@_$zeJ|bomyj z_pmTQU}H|auxQXp4vgb@sESg%00@WL>R~snl^0B|nPfrch{0stN4^wFFg-i;U={Y4 zi38Tq{T{rYX1B}X+&+ zM5K?b8nnfLipj&8K?grLZjfWc>cV_4oEI+(`B6Z)TpbJibYVFS;$$4-94%eYrD8zH zXp0@0N`Zs|3W@qcVWe#A=MMk@=J@CmX%+69dSQf68d5$4-eca6(L+KO8>HG`SB#yf zqZZU-2dYw7(~wYGFzOyOpYwuGe=K>4g=Pw3+Aqn} z3kU8F%))NsaeGquT}wq#f$?6#&! z(@E}CH(J|?MQNNy&IqXm zv29~w+s-7J*tRjTZQHi(OzdQWci(UC-Te#wbXQlMI%o`Q_l3(36?>yGC!yRzS%m98 z|3jb(#n`|URY{+YkZ$$+G}bxY0Hsvs=ZueaW*jJ!%3>6IT?x+?Y~MK2;Olu2PKUr& zM0dt=Fd_#_PEaBIsX8>iO`jR!sl^COtQJ1=)JIP-CgSRY*Y=UV9az0P6FpFZi;*j( z$@B>j!Wc*m!q69I@XE2gy zBCdN{x#p_yi$b_!w#oYPQ;_*Jm4ZmF+mW=c2+X5vkePU*D7va?(t6g}dA%??UV z5+;lFxR(8S;NPU;PZV^7Rjmb9>Sq*X88c>0Fe~6XRw)uuR%fUIMsQFE%7Vz`L4@+7 zfOBl2kqp*M-e|ach}b14h6At9)<7*zbWo#SqKX2fCFF*{Se4AYq0txGn63djCKIRu zKAzs{t{;@u16d4GjbyiD1p=1BgJt}^xAr`>JHYK`lqO1qu@)a-zqcO%;KIZ>5pJV{ z)?acH+}XkjeomuOhzoKDYP7cU`sm6ac_Zp|%Ngy1#p>88(4d=wRplO_g6XHe4>;fu zT68oe)ohZSd)sTej|;)M06A8Qsg9R1FjLqRMz`Im%2KWS#TkL{7Y0gO{I)amSKRjU07Uhoy z!Tq%Iw1;^HDY#eOWVp>dl8Qi&qN4mP6gE!1{0>0y8Y00BGG;OUnwp4y1_;x(CTm`$Du+KD z-CCYqq6yZfCxy_KUHn#MKgVSwmw+dKwPv^g|0fmYk+eGv0;P~?^WYR2lDy61ihCrE z);0gVP-$PSZ}K=hX!Y~lb!0XsKPzOKZziU%4e`DN7m6c)BN+i5`>5!(;5h=(puO|4 zFfvzZ@jQ}7HXJ=KsD8!3I!9zkCJaw5u&cn&>rXCY7Qx-}*a>WMx43mA>CxK(I6co= zTh0v3G$~ef=DfYe-T6&7n30ZZ3W0!Leb%QS6CzUfDGKtYp~4F)U6W?Cs;3viT)XBp z$)C1$TD@DL>W}MpXE;OPK5kSNI7=e57!{+Pd@R; zeb>Z3OxDSgdz!aA9LZm)?gf8nk*G#hDc~_!iyj2cR_CCcMyMhzS%I_{GlX##LIefyrTI&ngNXrN=s|k=|KsYMm?N0F6izA_e*LLPG!PC|x z8!X&vwB$5!G0yM!H^)TQdG1(zg1KPR7H71&G&D(~>HLCdY7-{Z)7#h&r8sA2Y;=j zk4kq(p}NS_TSCub)Tp&3Ynt3eV|rw3)n7)x4+6ku}V3*aT zZV83n$ZOCZMyu`nW3pi9LOT|RcCr$x_JYDnUN+ANy3+Igh-g6n#0fE(vncBW$e;zD z?&S0dyQE7=aVK{I&VtQa4qsA=s0P@XnTtsx-BC(J%0{m9oi$@qa4_@s1}dnOAYK^~ zo@lJuy#BPM+5S~$<%Em=L(H%^+M1^v3j+o1N z<;0tG^|u|Ecs~4)N$-b=J^8_-phKUhAMg`GNWuvNlG;7|=K(?uuX+f%v&$lAvjP*8 z=wMp(Ju%7{*i_80*En~~M2rF>6djpgW6;kKM@Dh!Y)Ev9g(MEr{>d{U1J)3W_vQZG zUh}-ECq#qXGDC#$;$OzMX=sqPh<{#2#Tpy-ey^8p6tL(#0VvSl0A=oc zriiH4Rz5{O#oXo}9(HBe)epb)d4@jh$TXCwL7IA$%RUc4z#H_5j^zNkmA8Ah@*HxYtQ`3v+4EUR@%oPPTJ`>q>I65aAdj4L)}L*6vUgPMb5z zgD)xYNt?u1HwpdgNs`OP^kw1D_utt|+Hl~>VP`;F0tsG`SgrPVKznkB-<#tWJ&~~e z2M4$SOsoM*p@ju*O_uV3@T&B|B~JqQcqab788lOgbQ(DdTUZ!(C{k2+k;n=_73OMVBi& zI;h4`lc6p!!mrkK0=S(Hq}k8O?*TAwnO{|^TnR#XW=j-nv4Wj?{x)>u-@OAvhG1A9 z)iiG#*X&BCy9CC-H2?gnT2-v^>51`AtJTXmg^iYdH`ZvCtUbftV(=-;qP#8G@^@fx1F0ma1Fc9bJBui}3K>W!9SW#zO<@A(dJGog#> zADCE=+9Os8;O@=LW`y_r@yGBDC$vKE#f3KQNaS+UZVR+n#j0VYhgDUt>!phNdJze) zA2iC^Qly)xR)*XNZdppVuC#tk^rZV~Q!*GN?vHIWRE3-p8tmrN*#_;whyJt$PuCh% zEpQCXpghenJFV7X&jttNDXx_)-XB`OZH8xGld4hIeHUd5gysTB-QL-gy_%Pg1R7lh zzBxsS_JEDpjWh}nxyH=v0mOoD4aX%oCC(nvk^UxHM7Cck4MP*j&GbDCJvgG<p|3U^?`-;IhMKTg8d8hhVZk0wVmKhhmQP#00#a__2c0w<>S7d= z*e&w7Pa1<+{5sGa!>C83uljR1#H?0Br$alq;0PVRdgpf65TtdM2G#^6qyY5wo6BS4 z&wojGo4jc%Xa?0r2Z7`c<~O!*h6%px;_kse5)5HOX?-yf#7qQy_#f4QNUZZpI~y`) z*Q)M95U#|%vT(9pxizZAY?Y1WFEH}0&OFfi1Ql|az?F>$p4nVM|MK7s+C8;H<=d8@ z2Zy1ZnxLRqjElA%)$Pt=X^A~{NZrdyig22&@-Lu(eb5o4ra`JTrXnY%zaJPsU@g_0 z1-gG(lulI_oIpm&B*9HIo^taoVPht_(m6*%mG5CdAo2fx+x|*^G}z|Y<6s#JP|iX> zpVUtYLUu&J3&sHiZxVNnLgi|9ghR2l*V+tTs#tGixe$G!14)!!fxwB?h;!b5;>}HH zKSm6cBw@Xq>P0^~XQHfIIk@hEqm!PS7Ef1$z(F*V>`AMU>oCY0Q|KIYY9*RrCWO+% zm#(JSpHYvOr@E(m@w~ZY0J4J?_iPok>a>er%;^0C%3)5k3WObz)@GrDtaL%ln0##_ zvOlgOZ74lWyJxDyUgbOU>1({%Zt|4OgW+8dGXR|pFB&d1mN8s*}3sQ3bX#ZnF0M_UqV-jhQV^$1Kx^?h)!KJGk}IgMY4c? zu^8xR3nO{Y0#4l~bZK)eL|p&z!a7h(@e*u+uWMROtRZd9xNYeMb+jB^60}CLEn3vC zf;l9dZS%u+wx+5V56=E*{6ATA$*9AnN&}qlpFfP?~$P>{{9gyOTxj&$WnvD@8W?1e!I>u(-lK(^b!uasy#iyCic8xJ^l%u z+3x$V9EM1e8xe*+NH`>Y3)ND#BAB#Btbb-d6596`82-eR$WdKm*v6qovuTlicb5ssv2 zYYG$b!Fz%BS2o9-x295Y6B3ftinaBkS5Q2Wl?g8(9~R9B;MbD%g*h zWj}Xk-$e-~H8&!e-}X`j&O!M2L~*#)+wWFN&?6F62+pSVMLDP-Y82S! zRDxNzB4tRdKAWl9n$%%7h-q>sTy49-+JWS0mim*~v{=hq-XR__{7K!^KMVYYZpj`! zv&B-ZQ;J&A$sDuSL^0U#76g^a%=YN2D~)Cq?pWVpJ;#<^`ObjqNEfIwrvzLa7y+@~ zkOHV{fDn&-C9eg(%Vmu~u}nYm$KxG6HL>mnBEg9FCNw3x>G(U2tJf8hvL@Xq7;73g z{4^9>5uDatXyi}fJX4BMiksDL=Yoy0HJVKf7Rkr1>CyVtAy77ml%m(vblp4uBB3De z{X#5nQ{PL-n;flqP~koO;TvW&meln_*MrG$8klK^7F0EG2Gi1Zwr}yh&ponSv9g0wV z1FSDl0I;U3WWZRCSP$->-=-sM1P)YTenp=>XY?S(KjVUh5r%UZX40g)6Tefr;M=)oBpL57U8^!jlQk$_Nnwza`CEefn+xQ7eT242f zgt@vB$CU?y;vf3oqA2$&L_|1)m5G(D+v;jE|D*tWM#CG~Y zTXz6qU4v=zBs8rHp`<(2I%f7Z^9o^fxb9jsu*Mi~&<)F@hhyS9IyCZJ=s(xu>1 zmQ${EYw?<=YFJ%}2+x-QSd%Sk7@>sqBy1VT*Ng?Mz3_#!S1^GmQ&Dnd zJ{&?fvxc3l43|=z>@t`k(8EEdVEZe|8ICpPf5ZwWZ_#i>h3za)#2Q!7u9Qs|M}r|e zCn=aR^!TjIQ272%d;E+j@M3VbOpD*NPxxCx&sHkCW<*;-4&RuU>=H#X5m}JKx^W#R zKl}0qE4+?*EetbQuL1zXBU|vZue$5aQY%C(;5aebzn;|p7F;gpYWK{-u#!wbpDtek zm4yn4&h*Bp;T|R~kA`#{GNm8%DgCIQPA7(Fs;0znBP#2I&Vne2k43%)(`cdYPboZKnD`_I%&b|76hDk|NcUuJNfSpW-VE6;$KTidRW{tor3&_h zK%kGG+xvQxz1Bh9Nw23=@3`fMc+Jd$nvlUuVyALrKcii4DWfba_lS2!Y7p!A%X~(r z$vG%3TpE$Kl(3UchQwno3AJ5dpIHLd&(7(GHS%fawT{N-G!^9TVQVB=MRyK*GRmJK zC1!iGE|cHn^n%=OD^=DTVI0Ob4vEJVpqMy_jNNGV7tT21?|;zQ+i z4?9KOxK>0ZB~onVQ@$I*e~;TztAN@*GsYL{HPWtM!3!p@YefjZtoc8&@v;(Hj#O70 z*@sCOVuvr%NLYF*^=>TLCBc}L5*eoU*2fa3d8jw66mnp29mcOnmL6S`TbR2OjoXNz zM4sWjKU~sxcC=f~1sNK3ckJzBt<11F=ObuQ&gYs8B@nfOHY>c;iM0Koa9SS04b)_@ zTrSRwuz6pMguHO6(|DPxXEPoAja31rFJMi?O>{cbZ{sZ*-Y70FBj({t9hcaV8>FDJ z#Milt+Z0y#V@$UC6@d`-BojevyMCYV%D&dNTgXrE%ooz=((eDx16Ov7`~9J>{?be^ zu&`*ON)^{H^)h@{s`fUA>xO-;VOtlS2knkgo~BY>nCh!cU@S8h&1kE`VX#eERJdp? z@=F$4*(?}x8H53_YUGT`V-NrQ{!B0TT?{XW=m2B9<>^Q8xe4Qri%05ZS9tq2Dy|tAE7tRY*L>~ zG9FaojXAS|Pk>uq4W58m^iYLtPJ?Qeh!+zABy3HNF4}-d?x|x{-fU)7e`a2{UDq3) zjh%eGq5Vhy2D&c>mJ@~{?a(~~gz8npZ`MN>DLk>`Nq{2e@t0gfKloK&pI*T+aaqIc zgqh0gOL~JenFS)mOl?W}EAKJEp-brY(hp6VuvUz0`wL$^>yqApOpcxG+byf6XOvNm zaY>B7+Lwt20V#pMEGS$@5;)#^Q*n%v@StctDw!0W$)Vi!waroy&A9pbr0GyhJLX)E z>77QAo>Cl-9T7F7M-#P$$Jno$|K9sg0@a)aFl4f$_j>XCCK@P&E?9rT=h zh^yfvZFrVDLR1amhS)eW2Txmbdo*-BSo2)>I|54413a4~d4u3clK;0WavHR^O- ziG-q#A>zgMpq-Y!e0MU}8;o_AoSl5uKe~bW;QE&JK=5`@nI!keHK5OZ)7)70CkFm` zNx0_U3JKw>vm<{mzc3<81POnW)>qu%;;dI{2OQKAM$rCfZEZZ23N#ue5T2o)6uEHn z8#sMI3KnmR5}!doI{pYvUh+^C+Xfj0Z-holB+Se8>OhRYh@MrYm>T3SyZW%04>T!I zMF;=Zy9cL(Nw09IuQ=S@f`*L^TqE@*MMU1(2G|Th$VskbsrFM<5^2Dual$RoluAvg zW`$4~y>e$dqzNQyG_j?l@&@vmrjLun8Y=bl$EWcv%%es+sFMjdD|K3o)Y~zyg!1mD zdy_*DM%(QANUt*;#JD}W(HTW>LbA`x;I;xl8^e?zrL=Bj5&o5`Ne8~hhff}r+`3;< zgJ@gEgaBh@MfBNd-#~@{hGX;h0a_vV>l?{(S;BD9O>Uc)aB_98sPR=szUkmSrf5=1 zDhj}5)_FE2=2UGSG|8_Z*_j~i)OGFvZJcv$oCm#cg$%k-%W}5?v*@)WoVK9C`{{fi z8{AM=B99%++9E+`M2u1f@_3f$KqI(klMOradTP*}Ks%1#V(1a=c-mbI>jbJl)Kjlr za=yHOzS3J|I@EL37YU%|dnsY-vf|C$4t0C%mAa}_g`IQ~%8qFW2 z^@OVtaq@VFn!%`2DqdF|J_P=T_-5A^QhF zpoMF~MPJ#-kkLNCXIG6ST{G`6gTZw^-`VNKK=R4Xc^A7l(3W9rR^!7>5-nHAWAA5% zu^l=)cu|sPJwM*o<&map6BBsmNOj$tKiIK+*7~)cvc&?S0y1yucl)jwfO(j&WTDbN zu5EDgb*GtThhCgCJFdb#9p-)M5t1Np;sg|IahUK}9rn1K=YWU3Dx|7|)k1?W4QTW4 zQMeH#up-2r)4+vCF*~S9=(~ee8F}gbc6y2p5zOXs4F33ra=0~EbBygYH0ZM=2D0OW z2_b-P$gR->zwQqKfCB2<<_KX=i*+1Fn;)Qy@@-3AU4vPMw-Yzwv&K>%eHw`J5boT! zGBU2?@Kgq4&put4dutTq|17T1)%GipGlMmS7pS7gB>Vof{F=#E-XWWgDjxuUFJ8?o zGD~8>)(aRySk6EuxD{;o6R@uCcQVH93`g zPz!0RK(u%CyAUzTvZXobfG!%mUj~-PpC*I$*96{$xD|tj8I}U#fiE#bSoZT)(51LW zLhv=T!qr>))yu%{Sp^FHC~jF|*~2!*QO?V+UBN9+O(17Jm=O4xhmBVJxMo3$001O< zK~(3Jb@_0AQVfHht zPNL=j^=9o5mPs5#KLdkFvLLFzqNlc9-(MTy{zArauizVzt*8bL30=>)!w(YL{?NaV zz+gTzo01=EMjv2Jqet)*g7sL7_s6+Ei(fCfe8+ugqF%F93p%vro&Iqi{!^o>yc>%* z&tdFU)qPKC;foyjxKjRmT*}ld!rK709Q#F`=7!cd{I{&(F^Xce#p8|d(ci{fO4S7v zqWcU1#tOO<)mn|ixUn%0f7UXl#fU0k*3fG9KAk(AWF!gJpES-x%VAsh!90kHV&2xF z!1AxoX^dJatL3g!%QWj`+p)qRY&vd)NaCMlKe=o`Qu0%N$BSVIK*W zy}&Y|ii9O$Q4-m~GXV`XEGq9%9dt6vVGC)qGT>U2US%?%Ci7|U96P@oW6GqVN2Eh6 zU^*QXPrPf`2zS+)YO9B9Fo%s2Z=UXc9rOrH`So6sgXmgT2eY6I%~N2qkYu2s0RZ6$ zF|6}1wQ;vlrEnFM%eD_DeE371dP3COFWb0JbuZiBpr8i{Phpwb8FgOT>dHT>o63-q zOR90q;HaQ+hf@#}>5T$*aCF3(aSaSsJ!g=N96m@&voh^z!(!Ypz}u$=;pM>*-*GLq z33b&tlRW&?CgzQ}*y)Gfu-s}#P^jasjOrJ>>NdG2U44Cm^QT3(E5H1CZf4vVT`pB% z?x-_2WV7Eab$6+aB_}Ua`h~IVsAQ1-Eyu6RIijnnS4j&dgSu9etqcITXH(rE$+zFDY%`4o`=CqJLa64ZSLOOOzg`qAHvZq@j1UpWNNF50pYM`a9HgAqA zMWjN#VkKR+eVC=~-b}2okq?`p!gN&a?Df5xVLc2AgAa*(Vn`t@iAgbRFZdf_aM{j_ z4F(qxqA=J+4GxcOdrQw%SVEarZ{{f6ZB@fMHv7_nC{-Zc(+`M3{J%SNtc80H2LM>x zAt1;HpcMxzZ*|n@)3u~3-sgVtQ&-z>?ap1^vodY+m6cA~Iq`)54RJtI7|08`W*l0; z(Uzwixv=9hiSt0HTV&hM!~;LffBw1Ik$_{8SjHE@VdSXxgk>^IDI-d*v^q(2S1;NJ zy@j@pvWcxl%~d?fXR2m(O;1Wx`jRW#NhxoA-okd3G}w;By#rbN*wwS)Ayz2-i zK!h0{_<&d?LhfJx{I;oI9zrxuwQXrN;X_b3%}RA;igTJEJv7k@uLZA$W=acMZY2W! z!gcA6*|>e~AaIGJ@8CPJb*sg+V9fpmx5g!VAIGLDE9xMLvUw$u3|6(dz5M6ixid5S z`2Anm0lqB+@C8@7zQDj(0D#(q3To6u3{`P9JpxrjltCu=aaZ3J_Q<*S57X8e^fl#7 z^2K9={YY3$RYI-{qhA&${#s$ktbFW5vCd#8!e@#se*(Tp_V_}UGv-ok>=HjHh9PQb z6!Hf5HS@ir#7BdOSse2jaXIR!x6LJceZ-!}c%_^eG#0LbavRVC^6M*wj_b3 zjc$y!w4M)fw*!9X9|}>@dA|l1Lh+%-pAR!g3g*?u_P3ebSFy72zWD+FM*FF@z zKyVTfIO67(ov&-trDp3Xw$}|@$ji6h9mDp|$rUxWNEe(C(+Tq+Rwe#gdNc9gO$`?! z&J6XKY_B6D4~3^l2Sj|}vK(!;9>1(#*vqCs3A-2IZwZKXz!?<+gyk8==tt%(jxAml zef=MEd@_G3)bAJ=neb0k{7ZqjqHI|(FEv;G`7%aOxZ14~xBi*%OXypAqgTyre5-sP zBl1DK^U;H~>_p_Gn>TZHgpwkm2Y&tO9@Lt)hPL@!oge;n7R$ZH+?GC{nDr;c#w)ds zj`crK*Zh1Fk~A42OA8W)>@pwrp3IAkrpHHSp++9<-H@zk!4oh2-vT}je8yU^4D8`r z4C{JByAnjR{TG`=zJNL)gdu_ldBM=A6LdPRkVD8ZE_v z)A9{;AjO~ws70L;4P&0}(P`nJ-|qN;litF{;d4wRHM1%_n!K_uasK_J&v6xFRaB82 ziO)bD%`U1fa&0p#x#`Nc@kfw@1T@b>OE%Hh)T9-=Nl$&rHS?VSJDFI8MK#O2NgZ6qZu@!nkmfSfh=F$~m;jiX0Yz28 zP2vnfO4JV!8X@eh$A@#%-nyt6(*y>!@p*g){dYcd{B=>;XpvPHxl|Qt1}?=hAx!zE z<;I-9@BUB<=?Mg=BtUU+JwE(o{x$fv*PP-UBlAd-Sf4b`(vyk_XU>XvIP3y_qOA59 zqTFORusi%}*ghbUr5hd!d6m5rw%W>FXaA0t3d*;dD}c#pae^=pwNY_ul;+^X7U_gB ze~lEQk`B}6RjnQ&pIPyLZsB%eJjOCE>MSJ!z#ap(PBs9 zk>qZ^Ir8)#o3GrLQ;tXUybu9>&k~|2%`1i{waAdbZ&P1Ro?PUJ5v4)Dh~l@iYQG5+ z-KUHiZ84qWdvowho3DE7fP)CY2&~Zwz<*wJfo;Vq2L9*^`Cvk?^D>_b-1qaMchn)D z_>G^M{F6F`99^I$*iu>5!U}ndJbGU)>+YnV5&BuDC3E#;fUnd- zle(&gDfHE^+Vy_WxZ)G@ukjL3af|}*@i=E@{?w7)-Q6>G8ChfRnlajMy2-*6+c&*3 zaFs>VN0VpJF>w#_A!m>p?FF>7hm$TM?^ zzdMB-Z{OzXfJ(vvIAAJ~xaX3Z%6#zQ?Yp&KkvelyED2|3=1c(woIrDlF*V;uDYMq4 z_xho`-y7>qg!Fvv>^Qi0h`vIk#|CN4!Qti~ zokPa;P%g6}=a~&78=sSC=~a>*ec1>cx@=KoF$A+3n=*kb=`v&Uu9aZ2(rSgG6Ee_! zf7(xDzo4Q``^u1HHn{|_(#lhG4fi*4O2`~Gw}_iVn!;|179ZhURw07fk#14V6v-1u zs4kci9D?go7ES7TRZ?P3>QxW|^b?klTo^RiBbaKZKU|IFIDYs`-uy01sHv_~-1|!|T@Y{y&)Ge@6L@Z()mHAa0)k9yfLM<{ubn z>grX(NVhOHGDSia+(+o6q#hG8=UxiZGP~1PM zdWyh8!AV8(nltlB;U+z-q8#GF_2Hk18Tv{Ov#he849QMuI;E4?_E${vH(4LK?fS=Od$#_m*FT_yumi|G z8fIBePD8BTCyV$X26IMPC859zQD$!~BgiMNSQ&RtI?Kc-|2TVJbsC0$eX#h21v|_b z?j@L?Sy8T$ZlMkiBlk!gTF_LwjGsNcta#b$z5*tf=&UNrJZD0FEb{toVKmQe{HW7` zst70ZXCNR=<(oGw6;B1Sr9qCac=b*boHxeQoE#w*xkg#6>znBB4dSc58@-1>wUL1q z-c51dn7p2?D+di;%78pirimP#+>%A3mTkzwwd&Z&Wq#Xst%fsWTJl)iz9W7)8|esdzkR3%e4 zpY$KC@}i9?Cnll3wOd8R@TsH8+n4_~lN0|rM|hz2knKb3y#YMA?}7va*QLv4EJqJk zWd$TEO?^1&wA!BEHy<2`_x7b4EBGjx3zkknbN*UH7Lmfm*bmyW!J^ghvEP^|2K|t1 z&~8n7EsM+NB<(ph=w5JlqwN%5W%&nj@K~7p6bQpKT!wc-$lmKuvomW+wD#}2cCWxk zl=(fd=eKlQVaSY`HKKlKQuxZIij`;r&!z@tMDv z-zEh~6~%Y{Q5heUmW@*MAUyiR6?SAjY!-+9KvVIyord zhbCO0S~AEI&RjRN8^G0A|A5=v8B6lPo*et^4v(EQk&a8Nwf6Y+-ik=fKa468ZygOYj%8;Mz<{U! zg%ogJd@rlY$qWtM?K<%WHZm9aB_|GE_f0wVkBC+6CJ%(3n9iA zAv&2{-bS(VVKQ4xO|3BZS}5ePvt9RzPQ$tubUxQb4S9-enh-F+AGbgAf7d~?h^my3UaXlI#jV}O9CMKm8N0Da5H?x(h(8S>PmADYDazpQV$f1gDUB;n-2{A5lpJ1M zy4b#c>7G@Jl6F@+Kxny4vE~h~mSwL%&K`(W_Fxj2mB7*6MYRXYM!WA@LC0p;7 zHEPj^_Qd#^;rwiD*rt;Eg?M(ZrY5QaoFUs@H7(usm|-JU)9dC;J%C~y0HNuz8Ac9F zM;B5{{?qo92bRh2>(%Kps@hCV(Sf(nF7S*YB=6^2@15vVc+)OsnReH1T+7=MqGw?S zJJVPV*AGV+Bcf5a=IHetgKqOVmJ6vgbGR%#gR{fb1%Ag#l**T3EV4-P*vW*eECS!U z;(T#1r1%)aZSZ*a-Mz3lGcm43h~K1hneJ?i^hA(iIFKIXk3TbHY3-=ySf>-ywEjBU z_W^S1&J0h>%YcpI|5D8N2*W(2lzvxs31t$)g?(0;}Tl*9g=`CuvZ&JjMVzG#=Z>-!plP>qBoB z2NnqssX9GwOV|%UqCEGhp1mpC7b<*j1c~uNC=s?B=8xpt0kx|5v%~$@!Ntga>`d%X z#PMpE-R=el1m@(ojs9e_K{q8MYYxyeQsWkL-yYj%O-?dy!7(R_P$r0y<#bL7$~igA<{^S+ z8?XGd`yM;1XZW61zrHXPR*wOEQKEuGit;Bvj~|p2`R5A~xUiHLPqpUZo&7W>HJwow zVnU2(z*I(VWYc$8<18wo1Wmmu1-5=M{~^sP-`s^QypGP%|MYBM*Up*-nTpwP%BIqi z3pF;rXG;}4HdY?BURN6Tc#y!Wkh3g+pLs~eWgv4X1Y3PGad;$A+on@hA`h?P!q1?& zo{-62m%uBO7cORRj5_pNkFSnYw2daeF|TBbA(11tDhO@{2p6Uez%yqild5o)wx=N> zB(tgi!4F#OpoOwB|4gHqb-LHoi7Qi-bh7ETU^YJXwl0wTygAE0Xmmi%RWbxN&!+!@ zhY_0-z~n3~3cuh$05-VLpj65xMr83>6Bibauru=6u0Ebt+tkr}n#8KF5n)aa7=GDA zDTzcR_1-kBd7|fAx1=)1gO{vkND=?Qsj}6;$_Bt3mTQz_haTo9a3Fm6tR=GJ)!zPC0y5=#N#zAOI8VSD z9|5^pBYm!#(pV?YOaF-IeK9|l%rA4`+}Uea>92|8wzpytqJEv zP5b1ukyzpiqultdkC3eB*+t2c40X`xI zII-jXaN~ai9Y=6mkVu8U{0GUjqkQl=M~+SKm49*N;$$d|09V=|?oJgB9zaVWyTsE)T4o?qoXIYFJtv%ny z@sBvQPkgRJkDHuB)``i8Yk%3lPTf3T{4dA@1T(nJ!y!rO8twplAsIME#!^w*i!V1N z#PbEJuCdpiXCn2dm)9Sk({&fW&!IVgE-|+;`&bu~|2{Rt45q7sO^E83^n#Rr@kQJ9 zQD%}i$NuAFOm17cB!x_Xpe;-c4r&O^iXU^x;HcvbpzwAxUBGpQEHG%(MgP#V9VU0M zrd>@7;gBjaLtupw?=3e(23y6zL2P?u$zyEsS-4$Pm@-7W-dutkrm*En2hqyhfE?7{ zD~Qx`Mh(lYhAnluy_E0|!&S?QQSKLHH2+hQD;pGuc9J|z{?dqMznt2CkN53L1DalO zBpX+(>*KZ%7F1LLb#qS*RggIHq znMspi%f&JUqs|WZY>ks%;r^HcUf)Q@nNBv!RDarNX-@dfDKIs6-FZdVETkcZ^3LF^ zb|u;Ye&oh^dlLMLO^<*en%`GM-8gTDwGeecp$yq+2_>R7Jw=!xiQ#&k*bT2I!U-&; zB*fGiW~a7d2$D+o$D62|k+XM!`v8$JbSrir3u-f5K)r5K?^-oIkwBGjYEXn3>9|ae zM1p|`EmJa*Od>}{uy(RC{M0oCBd3NLBCUh`T5veCPAh4Ld4(9>{*>Vy7Ee5@QRgl= z<8J(-W_a{8`5qrF=GL6;oWae{roIZ!um7)E<|Bckz#8tiWO)FflM4-Er!2!%c-++D zcD7iTP${}}j5QnOrjPkVX8V3M$@MR&pINkm=f}1yFws*q%e=^h2*3yGCnarwiio&V zXF+bQ#H<*=Msi`RRjuSlH3!4Ff$%H~d#+pYU5LRe3;gX5=Gj4ih<7Ir=H0qwQNZRV zN?xils*qE~{+rvFB}W0~qkX7hrMy^>P#slt0x~8Bf<8|era9KZ(@sd%9#lmWY8KHa zXOFza4N{-VV^+FNpM6F{hW;nO(|5I)#$j*s=czaJIbqI7H_Z^N`vWkCZXN^7Rpw3P z6Z#wkFvkOh(UQ4T2{CWe^~*5((}T=wkf}Rxzl%V>;G;m{hipzg%c*;3*v_BywQ9~U z2&2mwcN7>=5;&h8s?kAlxxR7amOER9>Kc0vP&(fHV^1H9x-o2ACjUmv|2Q zz?<7Ub>3VQ8A5C47AL=U`6qyM_SIFX;16t=O$kCwaKcKjk@(P9NLZZ!OC+qmk%5u$ zpEwZB?%RzG-+|?k*Jl^~yhMue<{LYYy+2Br7D8bc<){A|P}rC_6{HtXsCU8JtKLGY z{!_)*$&H<-KlHgt#FYMo(aP7vo9BZY+!ED&F5Cf4)-#z~<0$iHY<7+ImlkxRj;~S| z?nAjxzLkYd?7nbo(5KWL7&DcwTt4 zB}gWm7(;GqEUV6*c`+6953Ba&+<_~SjCOloK1Cy`N|e?vZe~?PKV=81Tj$>z*ggK~ zhSWV5>Fy^Rt$%FYh_Ik|aK%?35>*3>(L-Y;b1$aJb_l`uMN@Kl;1#H=>7`V0SLd)J z-3CnnU{@&bY|Fi==gp3@2WUx*;DQfhO!KcmrE98mQpF`Chga%c!#l*NP(JLgS1gS@ zFkA!%|8dlxvi||06ENq$$6LVNX!l4%9FsyxSO>W~k9zbJI{%kqn7*)zt`1ko#rpBB zqPP;h)tCtDd5xO%Hqg7JAsqGkIrcQZd0*QsG65+7k5AQ|dReMAs_&~UfIbcVNYXo5 z+A(rnvNW}}R|T0~IAo8C;-5(^UZG&SQ|CJlrmW{yU6Bp<46)C7gGBZLonYd!i%zlU z_033Ff+%?YKWgyZP)5x~d+RrRT<3Xe|MB2>6Ed_GLAX5IIn_@QWVI}8eFAa`A$T9S3NppLX=2Thbisajjbarl~ww6>pb(d#lBP!4%D+&?*&0RYwjhG}ld*Y+(9B z+Wozd##aty)gVa_hHNg}M$DD6boA!INN7erCiZqjG8Le9*l_$URy|=-d}Z^ie;3-p z%an6}WL!Sq)5V{(c3WI7DgnI$D8qp&-ok--c=f-He=wnM8#=EltBCR`6@>;5Hh$=f z!$>m(li*6Rd!QR%w}xNdZU1>+@)$qporOGsO$l;}sqy6PGbf%N><~OIDKv?=F%mK`NOJ&JKyX+v1=>DC7~ z>V|oraiK_X=8y42FgyyjDl597v@qx2@gtU9t_0u`S~Y%bqpuGqPJtw{_PGUgnYh=j z*u<Xc5JVW9tQmFgu-+=<0WoEs#QMVfmpL`3(OC@#4^aD+>L#ARHh2)t57RRKvmC z1C)w==#f58LFm0w%}X$LCCAXEblv;Ys87&B;W^mwHTGdFo#t5` zLj}joG$ke;;~j(WKD}RA7mcrGvnI))$GUAeyJ!&CF#R6@4ngt0&1FIWEZTnN>ywf= zsfDi4JBX+~X6sC+5SjWxrG)$&eqc4PD6sPy6#;O9G(aMnfk?*)xHX5jx=_ouC`QiQ@jhMgECJ2z0vSj0vzaL1R>)v zV&4jiw{DvWFeU-5Lh&f7j%Lswp{_&d@yGvad7u9Ada^&SmjHa7F%H5o5CreebTst& z3I)IA8x;J4mr%q8p~T+ZGpVCUQ3}hao1Hx!J-qnsvD)3<_JS~POSF4#r)i0I=l3ja z@p55=_WLnTz}r8kIxQ?1jkL`RV7@ABtxCV;u~=^~R-GkEHBu6&?aIlRRIP6tvKra3 ztASm#YGQ!{jb38uG$=x?lN?_1LLplPKJ}_0<6t5ly;sfnCb{Q0noGFD2cOkp(G@nL zF}z=H`TJ*`i{yKEY4zFua~O|?nzvM&X*CXir;*ch`7139oXLM2MLP>O!hXYa>LbDf zLW)4BQcb8;LdFxBpem2!kM6h_H~Q>AX*mE>m5fKCzO=dbt4&H?e<_>gd*)ov&!aQx zBLH9Lj)O1^1ktraOOb*$NF0enQgR_A3a&thh!-h}ows9@Ds7a{+TM9HyIZivHbNNYu%*`5=|V{LYIuH($qT>#V>WaP%bd3q4#A%rx%3#nM51MxETYD?jaeK$)y?m zRgOi}kwYF(f_fwY?^HG3Fv$jmi{3aLKH6D!#M0sfLUme>MU}0%D3I3M_1h-MV?V1! zBYWJL1=S44-Wh!~RnIEQK|pr-g7em#Nn8Z#b&#K(Nfil2Iz>R$0D~^?V=abX-!O`9 zUZa}CVahJKS9ghLw_=?m8bLH9q)Q-nnv2x>e3QrCSjG=d@H3m}Hqc-4pKLAmo|uB# zMwMxdvc*9eJigI<%}r=x-;DQGVzD$)E9pHtO!Mt@9$$Mk=_deRSB!%&48)F??Z@FX!v${k+YCjgk+AlrN>Wm_ksn zG~5NJyaVA(6fp0!y~mcf;%IkFgg9%lLBggq z!2h=}W~5CxCu`woQthxn@AU>3)HOBeJJgyud2h^L)iH?=)E#InG@$jj7zDZsi9^1f z#h)lXK`K>9yia5}SgfPYasCyy>T@<%vyxaOyX$~#c3$Id3P&wOClV3HJagKd2H(Y$qz6GjwSZ z_uGDlH>~~H-k0Zw`|X1l1&cXv7i6gnt2I`G=&Y8eZ#c6SPZ)WoK;aF&zX}u!!T?%T zgw`Uibe4|4cc`8rsf#241LygUJUH&=9_TL~`kEL(Wzy!}prn&RmTYnh3zdHjqm^yi zm3ki*k~!fygIC?=XfMgrB?)Q_8|gq2R6dU&l#L{RljruvwoU0Ffv8a`&})6TFs zjvO-Fkh&^qnx~NMAV?+vbEWu!=Ps~i9 zVO7rV41vKm`0S##(Y0t(cd;8H^9+kmFZVi`GjO_YkAM5oR{+A!7zbe(hN5xk4Uiam zfl91gh66Hi7-mLJ0Ta|gf;xG2Ds^W8m0$nl`TtG98uzE$>oZ;7!{h7|Mf(b?xJTF1 z=1fvx+i`+$Xb8+p^_H?MqR6OW3S4njTYk#2*)2BakW{aK{*(h4sGcYn@#58GN+}Wv zhPL}B{H*veBi5q`0Y_jEb-ynX@w6}?vTa)84jj*G_&t78!w%C7ulTVC=+0jPV!)IJ z?&C>mc2C0D7OkYf_ZU?u3(v*g!PVS1ImCGSCN&_ zLbHh3?_fI2LE3NWEN2iodp`A#LnwyWywcDkyq7^WBykB2>9z8H?(G`^P**>%-c%5P z&A97fKG>Yl&!_-W@uJu1c^Qv~`<5Pk1t9Ee0 zH|`mv1O_2`_|dlSnO?@g@&0^fqbw^3x&xI*g5-^~i|zmM7KBeDO4s!X5lW4;0+MDM zuPobmrxx`HriX1rDI-Qon|@yp9lnJ$50E;7s7pZQCDFBmZV|Vrv0&(@XGES|s4T0l zG;qS8ao}+(#R^fzFVS<2Ru*Cz;*mi=_Dd)eg{Yyq*hXA8*~zq^|D~`$-6WHF^RvR5hwt0VZEw@{ zsSik}v4v7lx^U2pJJv*DP*M%uYSUwgeT86?)I;XL3pfik#ecOynCs_EUHpJND+^9@C;HqF}IP<5myI1O{C3dFip_4ZX0)&@yCFt%yiq)T&nY)d8B4 zLmgVpEn!puoT4LxTtduCFVN<-_3=lIDFQPn1S2pqUMaokzQK2H@CT3>)Ngg|mH)G05M~-knU2=fnM_Knw)YO%CjB1hEn;OMl3Z zyAQfv@Ea^_kK46MGBb&At#F`3=CZRpZ+8jS<@8uS>wV6L*E56-#WySd%qWoTz)HY% z@=n{7(?INSur$Ogi=iN*H#X6Pd4am4>-9UI zZ^!o@E&2(-*csy>360i@lqh>Uds~hi zw65pv{k%SwblRIZMnII=LJdF{NWCnQF-bW@AACFJV%?q0ldP+8?IP5D8H!xJ;}APt zJkZGeGpIsAQzDtqGmH3J5V__|t18&Y%!0UyR_8oKJAY%NjO5j{nI%Bs ztO#=<<{P7F2eS?*5pKvlYR(Y(K~m!;WPEe#n(W>1()*u?*zWKZoSb$hfV?x%8ymLL?$IX43L!4YsS?wU1#eqe1xPNtY=n}~HEW5S{m@Y!5 zN6StYD7DVgF`933{|*#|PU%{<)}c#HpWEyHYo0&yE&2+;*csy>48u^=DF_x;E`T@* zN8q4L%-qc1NT^Q#w;4KgsM^X^lzc_b`}Quu`ia)@`8vgoz|3gvzZf4_q&!SV9gNER z9SW{6rZ14IgQ6IsAt#I*LGP{g))Y&g0JXvKot&=bAP3r&*S z`Xsg3>V^af09>skM#5&$f8kxA7xLbszf);&548*-TWo>agsmoJkgy0mS#woT+fa&= zhnliyeD7qtmv1D$_F!5jh!^-$asDQ)%#Dt1j zCNrB`f@7>}Vi4lM7v-21vdyH?c^Rc0Sur&;;xG-(rNb57gFwS>-Umusx zULE=hz}UItAPmGn)OKjO0Ud&hb8#r{#05A(1Rc~_^HIDz;|)>@IwS-|@Qj~lHf!Jb zy)Asa4j0*8&!*gFR+|Lj5 z<`YH6CqtAamU$7)L$Z>fv0%tbJH{_Qm? z$wV1VC@E{+c~fVF5d%cu3~)g!DQ4OGHlSRHF*rK}h^5)*>GM2}x6^)iU;7+-3qaYm z)5 z($P4bf}pf~6hX&7=kHGM{mb);Kem?ul%2s9f-n$7vtS2$;OesgE3gd<^k^LxU;}m{ zSuYU&jJa^*06chkBujSY&tcEW)A9Bi^YWbIb1z+{P5vQRLfGtKfer;~_MwAf=J6J@ zHHc_5EplwR2S3U*ybF_0#Piot;fW9wT_0JB!mcZtI>5;=RxlqZoYgv7v~eUtO^a5(Q8K}bAm*gh%R$$QZeDC zR6QVzR;#3ITIK4PAMw3o$LCL7NEuMl^HchmmrkYECZ5=a zX30>L*m`;k-S<~j>C@gAJ03zLT?MG2l^DB%VF^Ct`TLlzr}v&Y=qCVW*RFy<3`Y2ntL6G}zV0sb&FS;> zBmuD&LMM_q)y>Mni^4#6Thei=5oa-$X%q(Ql{{+W-^35|0Woknq>;zumV{w{+C^y8>>3JLU8P| zuuWIt{-$;f^LNbru*D$v!|k}AZC_Jz&|3h?&K?J07zU$GB^X#3IRxB=kt4DpCN2lD zQGtf{Ia%7JYn7qO_v7cuRz5qsTsLugm`E~GIbA3T1)n=fE8dYP_J+JkA1fp^EaHFt zrrke>6>3WI2H?>z+GI*31WfN4Q(am^v%Vw(W=&UfNDfaXf{-o~a>k;^$pk>yjTTz_ znTobQ(EDF+?fEM-Zihc9xpOc5+2DdaR{o(MPc z*bVq#HA(5^*2&q-RxnLO)Ibty0|^&NVz%$cnK_H3bui;O;&mBjWGHQGvIf$sX-fDx zV#SWJc1Z{=n~DjZQomeNDd=sHiB-^S7jkM0lEU~FxaarwXt%?8e_#9mc?&?<8S5Yj z1VMBUsO+rlX{50;euTeHVohOUP2vaGuxl(hXJ%>WXh;Z0E;GmMyl(Fe!}&Hn=V3aW z9(S`(>R)Gy4bzoNqU3OR)Y6WNsKQWug>NF{aiBy^akPS9q4tJmaifF!z`jGRyD@%(gkM zk8!{gt7Kd(;nEtBed_u-+oNh(3*^$!k}YB@gDY>aDK@0fp1y_ntFiiC(4K>xH~4{p z_RV3P7Qw!Sj^eonCe~>u57Rz`zG(q*@=AOMa>nRoU_{%$dxC z%(x6Eu%ZJ=_s~IRfFV#t2`hu@Qw5?%tU%12V3Vn_4RQ)wu(y*!7itKo!Xb=|eu0x$ z)w|9AnFv%@U39WFY4dU*Cf<^Q~mU`LY2tm~4aMKZK(C0B0}HI*M4u7>g<95p%79h4Lyqczji%8-;*H>}V7+ zi=ChV;UI2g!W zoiPr=Knw&8RQv&vf{u!Y@A4oj9)W1nP;xc`beHkwXwoN56rIlA+1>S$mxkT>`Wz3J z-?h&HZ#p2&04t^C5FF`T(j7u9Ha0U-w}ZyvIiqr9AvNnh|Dx$iE@_(GXILKL^BbK> z>RQT%QlJ#d9leNzO<4$0d7}bGsCbSmaZ!>Q$5mu84Dd3+vUTh*WHwblA2}y*N%5N0 zwlo4oCy5l^Kosp*g1jkoq%+S<>3Yf|haKNYG z^#31Dtq;P;pir?)Vln>|hjY6W{z%QsI${DWxyU8@eijdR6VjP_NeD4hN+A@;6S@&) z@=cIq9p-~V+i0Lk(JQoXXpsr8q+Cu-yND-?zPQe}c-8yo5eKhL0M4%624NV8`kXYZKtTa5lq|p$jK~yB zLBRlsmX-pa0pT<6oef3WNQn|Dy5zlkpK|+K#!ubc{(_G zfa3bP2W=2C?JTiqY*a+Hgr?=Rd0JJuy{Z{TzP&G_m>b`p2qss z4O-Ru;oft*Ossc2j)`y^pJ69rCb&4|D%~g>)+8KPLt8%A090W%&<6^V3C|g3lt%~` zxe~Pf5&evO8CJ&Gy%|JS^j2oRwq|NWisgFv`lryEp$9iNqo3Q#-G}v?{F*km&God} zF3(fv&Qk!=&fNxKAPAyst^^B8pczV_K1!e$VsbJ9Bz(7s;LdNy8v&6eut2heW^R7F zUvHe}{p)@^U5g#Ui0Xtj8bgCdts8d08lP1p)S!pz3e0ME94vM%tR zdb836fneq>=}$TJLRtM@=5Y-b`Z7uD7-P%+ERaWWYAKVj_!m^;_bOyW1NAJFOPHMO z3nbB+%mSiZML&?q@lK}^dC;E=zHDH-!ObeAXGLW9FkZ=jQA1YPy6b3c88#PMeSIb4 z#w+04staGo=k;*jKmJ*BJ_3+-#z+XmFc6dydRk`aV1|;4o=3npc?1uj$s1@GI(kbC z!Ex?ncj@E8PU1wqz0+#R;LT?Hc?{?K;W%7HUR9p@?Em{WiSM%)&>IxIO3TL=Y4bFL zgH$G^fGuDSlXEnQH6n^Bu2}0o8;MY03O>PnTIoHI^AIO9((TUWUpJMJ&T%E4IFqXB zlWUYWCR_p;c4{$}<-OHRRJc(p#U=v|K%POZ{bLr!C@5DGu25de96h5*-veb{6hjT( zMCYaz*zls|^D7{0SOWoY*6_NxhF$$}b5#ADpWOT<(&drQVY`nj}-wIR{^M2dIaiU25jh(7`&4TDS!@bD+^1SWVCtI@Td<7uw z3~mqxf*80Q74YGWLdbg5yJ2OsBse8X;0q7$oZYXlk*gzzH#= z+Cb0`DG23Q7?(4FZ(S(|Ym13s?Yah%fl(73%yW`yr-o!~4dnBF5NgGM0{$&n9i=3= z3hR6?saTbbvz0PBMbrctOjX2ZpaKz+`kaNl2h~yojdH$ z0Dn^OEK3Oq0LTRBG!40Dz>++262D^tahPIftH}e z=T_T|h%_-zA31ghGL4{j2e7dPIAsS1W~-JUWRx<9`jj2$$C%sVwF@p%n2Zw*z0H{V zhfudURSSw@Rkb7zIIChc-v2=1l5sGi%)(STl+;d+4kXEw^DLHjoC?oMC0R)pPb9hx zMs+H_sT5?`i~+d+!Mq{4bw%PnI>U7NWhS}@K+AW8I{^*XxSht(Y`P}RoO2**RE?+S zgMYt$Ns66m<)H^Nf&6cvVDH|@>W7>R{UrCHIEzY|rl|0a>nUrZX?@&!<~1sVul@6~ zJ8U0Id~3b}uyzGG2*N;cCBA@okpmy_D}KS(`2-(h!VA2Za8|o(jJBN_>WyQ8040>p zGSiuEjgt(+I8WE(rL%o02RSPcQk-2NIw_|$Lr>5E&Egw2vkO@Zr+TYa+r@~j2oi(* z(`q@WaqGdbJon+HOlJIP!_1jt$yn*NNR${AO`u6&0Afp`$H{%MUnxlTFJ8B07Ai>& zp~F5RJkmFwKAZkwmZ7c@bREoCk^)LX6Fma~DH#J=!+{mqJbBiOfDC7i91V&>oQvwKlNS2 z{6sYO+oE9f5OzP^&i$@`tnsaR3&7g7ogfgzz{!1Ef`8h9AXtcPS%lx#VHpQjA;NAV zh#r&K_;(%L!tJn=d1Mv9`uMW8=iBRfyhcn*kOtCKWs6#7`4VxslUITFNKE*kq7I zzMxF0xXKp=HErB=RaEy5-@|jRPF9FEHf_R-Z8kr8-E#1o0nw4^GB0r_lX9%eOh z^4wf%o515RU-qZneJz}M3&7gh+aL_ZK-hL@BT+l%lmk-3hR4qH|Oj7b-YZrA}tl$L98DV zd({4Qz#vM+CEd~UIHGD_cvp0KW(;<4Sk8G;$cR7pxwNKtNYBB6mB$4drYv%WZwmiJ zXc^4dakLA5@C=!Ob7s-z&e9pNubQUH5D;xKArImlRrfT~UTKPHJ3RLg4b|M=VbaYR zX_Ca#7+x(khFrZC-(F;vxmc;BQVrB^$^WUNrrw3Ho#1YzGPjUS_#`0a3eTykLe=pV z52k3ZRKEtv{sO9nhbvSQGR3SAU=2x4YqQ7UcHf_N&n4HGj{vM)!41Md40Hcog*UVC zWig&eOu;O$1zZw@)Dw;qe(eC)>eNJW?8Lh!tgpMy^KrT^INZx#3f4e5a-b-?WO9+b zyMib9y)zDll;2w^Flg0p2VIOH54`@s6PlQm-7bU23M-67rVUKwzC?%@689cj@nKZu zHDo`P&aln1hi7SrOF~JI2IQ!NUyrG~Iw;7Er4OD> zF^b@ohLjQ22%;E(Nbf5_Z}fM+L}kFij9lbo#=Fs&wNvqP8mQJdiOhmq1NTCh+4+s^ zS?{98FLRZi+b7#Q-^bT&J+Bw+{Cosp?d)+7hG8gdSDXSdGnF&Yku$R(F_ddmf}IoC zMnX+^ehFLmDpEUCcE0zs+xoz9yv(oX^?ukdlgPVc^u;Q77>zm3MR+ZA7>Og3#Iy<^ zEsEUfSETpuvAyZQ(@X(f|HRO+ zppyimO}Q$K{e?mzRZZSPX^RL1=oAV^%lo1wzOH@-w9qMzxSUZUWvmm&GC+h(fS?%H zYReu;A%CH94A4rTzbZ&=X=4%-YbJw8*=lq(oNZ9Di{jOw^42P#btxFONSO6wp#NuHhM2G_l8_7f+XjNkmcV7-TYIE~|VwMdtpiiJrXj#kU{ z3Ba7Hds%Z67wpCp@TM}Kf>U=n33LVOW8xDWCBoaH#Q~0NCrT$T#17iCl(@YX>{p%S&Mc-2ktu*y+kpQU%QOt z@j2*1_5AkS3KKc(ilRh|fz44`Kb8s$MNbG%3|$1}IaU2T?iLX5#PF#|V2l~<8q~T< zPwUVMx*?IsI4%jkv5YZc;j}5FjZ5Ds?t*b=xc1+W%sB+}X8uRvgnub=+uo1s{pS3S z+VT*9wllV27>Hq@K2sP0+qN80mA4Sc$O|aPNrT6uko8V<78$CoebM!ijt4 z2eN_*ZD;&jege>T#x@88 zQ4IB^qhSInXrQG*?7;J7cr|bK3 zJ1!Tm^C)3U)8>+FG!2TDch3=t6s3yMEsaIdC?-o5^u;BT@bg$HL3njEm9(kMxKb2^ z11gPFbx0Aps4EAl!3QQNX4xWSj24#Ym_GWktwkuq11Oo7urUh>=I}LCTB}D3bJFPl z>=IBl=%wt4m-Y0e;yojcHBHe3skx9e+VvDkK#o+00~*HxX2SzoO+B45?{4eQPmjbldYg?Zht{4ps?xFp>{ZfZ|GaDuyZc;w zLmkg~)H&r$H# zsezg%lg}nf(d(yZ7jXGl(L0PQ-5~g}5m!$|znVox`a3|BZV)N~%`fIB)z$?i%C2xv zWppML7rl-kfwY;UR*do{poPu991k<{P1^#hRCE<7*>at) z2+Lqi)Sj@A3_#_+NCzP^EszdtdJs()V79uWc+pq1@rMMTBUj2wdX}@bKryd@9(7-8 zponIv8=~B^gG1p;$D_qJy!P+Q;S7cr6O9^{l8l!G zb?Gfs|J3iGa}bJToli+-A1(JS|2`)TvQm>~TsfpnGM9}lC9rqBVqt^7!#f+A(e=@U zKvtdfOx(eGDDSrv+!OcH^E^)D>!070j{vlty$!-J5QWbX5)}oA6~Y!Qz#xc8n1Ld_i?qn9_x^>61_;vOiCTkU};`K$BtT= z5043(VVJcHl#&RE)}SG|!cIvDWz$Ptc(bsLE~h3J2GQhl)8VfhqPRFq%MW*O%TuUm zy=2kcppXmW7ot%TQV%*J(!}>Xjd14OBgKecU5Uk>!PLHI5Z2byBglgvbfgtU{exP* z%61-B&@;6)Ec{vok@~GR0pbmSV7Z;Lvcf?8FJ<2xv*RhUg=97hNRq%(lTq|P1*;H` z2H$3HrVKaG9Xq`SPN#dUoo{FL18bgl@8{!uKOSCtd@3|l-iG)IGimuC)sV|C zn_a;Pt8+%JkpCq~aFzy3OTtIl0%JU?NsfLpkc*YU9BWsS+C>bZc#0+a zkf4BshzaU@?xB2>;+J=wE9?|Cl|$653OaLRyqgViU34pM9Vvc5_dld0Ek^t;jY80@ zHbYeEBF4`A-^<2r)4_?aHVREp5ch25Hy568!)0@wwv(-Wo_q!1?Tl>@27(~CrVIi{ ze-0_EDTdConIMBSw z##0{BYyn8Q`M9j+g{%o6xB~1dH8bQ_1ufA6RoBvxXdWD8fO);uV{{xk>T5x3T~Ey( zSZy`U>3xdzDP(zroCZCvuiJPUKYN@dUjcZ#VjF~kAa+QESeBBSL>3W`NRpanb-5N?k6CHu6VQZD- z$BK?eFN5A^fYS~X_*tPewpkMFS%rTnEOl8o;>--i&<;yYhO~rI6p9C*%oy|T!5SbM z;;a8G%Wz+WrC3m1*h5F+Lss%MYk)Az@m~ZI2yn~udJ>;tdGF(lu<9BV7~~g`=kNYE zpeE;5S6g~wzW`}cOVwdwt>-(8*84{u@+_oEL9+qu8~8&JsTzzlD&Y}~@Gy|V0D0s0 zHW3>WN*-hmta*pH&Ii!oX0*rgdD)%zx25XHM*!Z=;0R$Dh=F&`lMa}n1UjGs>YxG| zp#Xjq!xx&M20qCdm>6ApzdoKg!qokgItYnJjpb%9k1C65`5`rpCnl3FW#w&gm3xF@G zXB&udk?VOo)m>AHQD&rXWaoTZOk>}oiLkT|aQKX^*fD2Y&D6K>2@6%uSd5=WW2(bu zFo8k=WPCPddgM4@!~fHi-$AmzO5QQL?&d(fQzjdf;?$d2gc{n9d^67gSJ`Sq0Jgp$ zH)?NcZNSWi@+$86B54rFB1>Tc(I0qkivQe=mvUU4{y_!5-%9}A&e#T_7zUyTNK64p zYyb;T!5*x}9Be=ZHH^Rru}uM=?>nddseb9NNKu^gy_;jgwc8(WkLT%%#U{NS2^(B7 zztqy8h9YDI5qTooI}9qXRL2}f8Oq}V2v;*GHRKh<7)wQ%5h0^SQi-CCx0-NnIS{N^ z&Z6?AwEpl8CAG22MXI43^lH?0QCBlM=8qMYEX3^N^XMa-P4U6@trL>$qscEcboy)O z&FXNf8pKT$+iVCP>a>ESruN@E=}JHi z309@tI)vWNf4S@r#IZ4aAC|bEUzgQ({hsm+`3S(<726;T1TlXUu>dUG_%MK2}!Kl^N7k3V0F<>CB%Jy!GC<%oDgVoxeX&PWHb zqK$T8j;3q#vY9Cj)?3-hAsw|av0P%u7`7LDA*TCH{K&6b0?8PP>YW3%e7|TFKVc{YihJ}gyAhB@>&Vo1t zYZt_VgM=FQ*$Hd6s%vW}&+p^e8&<#Bz8?3}rCklnh29Q~HxW(&j^s*cJZvg5oN)dn z{xr~v5HzagU0xE1A)|8M*?$0*v3Mb!MQ?q)5ApXZZa)c36bkbQykDr(s!AB-f0S+k z+cLXKV9Jh!2eNVzGDc=KZgL?HF)T$ur@|pnZWF*wQHZBzKff}_7$ham9G$#7f^l{u zWzkz>7@v*FP2P1u67+#G-K-fPlv^Q#* zC1tEkvB@VlQt;U3@7^}_+z;pexVv`i?mc(^_zFPWx!WKR#6WZw=^6o%AR-bfpa+_u z8gg=)pa=pAAR-_nL1Jx00^_lX@3KoaSm{3AvEQ3ugln-}U(VOZo8pbXDVYhjSk_{u5-ej)LRv_3gT}nBqD13! zJ)Q~c5{n4ggvD4zIhg;XsQ>att}&ws$&pdBiL~ubD{Pdn*x25x-@%21S|R+sKDiO zKLC%->u}#a_tW|8HpaW-EdX&>aDyNa1ow!c1WT|1NF?!NeAC&o+{`?@N6* z-U1MJSNl3CaA~=e{PsXrb;HIT*`U4?gIjBBY3HT_S+F05-S{!lEJ=q;%we^(vT15SoL_ z!C^hYP;AEmc9>Wi@bA3p#FQHHdm!gLnL@Qb2t2A=tZMd_jfBjli7&0+Z&I|?hQp5n zsd-^3FN1D_+iGr0k_D|UDGN584)xJe8N&}6Qw47E%v3&WJ;il8Ou_GGToH)&Q-_KUZRmHyUj+(NZFfX~1dg+l}GFSDemxtImM|Tack)PrB_}0IJS^oYh;(n1- z>2NkPL!!k^Om#Vmz0H8+F(0I17K39oQG!w;8YjlogS(e32JYg!E|omocix>0ffhs< zHFo+c6whkrqtd7ikY{lmLu9@^Vla^qFi$_Xd1&Rnf1J0+-L>0vuO+`39|4HFavOw! zAh>rK5+X%dB87;A4rsw8&;gZ@lF$kTAkhOQn1BeK4@mIL>=N6tBTILloo`1)Sl?&0 z-rR53{dv21%_D z48$dlLJ=bSLnYM8CSy~v<#QUR*}C29G&#(V&9dpnzAxSaFn8rP2*f~e*M^)95D5kF z6#yB1P!$=K5D+0z0RaslBq9RjHA1>)X6+m<_UTTtHS*5P&i)**zR!HMJ)Mu&>2mxW z$?LM_h-78cWcDeXC>1N;xG)b3xkV}ogHsK?Qyw@V%TmM?`*__B?9@r_<`gU8tSjH7 zjl7kHN>){L|0W!rn`>&GUnAT&+kFqXDsxn zov6_rrz6EOKhCst?_ajZo9{RHd);N0V_TNFn7i%2*f}Xovfw3 zji;~?1VPbzcm;1HcoYwyw$^s`HiAh+@z4H0y9d}UQ*B@}Nq+vk8AQVRe)IMIa6LUH zv*~kVuUm^;DOHP+ag0X-lX@*v$XX_WHy8DyAUF#ZI}7lSd|a`mebggr)y0E=Nkl*p zS2Wu*EF{|0(@N_UkKcs^naxzjA?@P>n;_O^NA0gbwDIwR=k&wkZ$z` z+scT<5rkk2AfcqB*Jp9bv%8;|eq68zC0iA#cKXJ!Co?dlj#y-!UPjQDNm5WcaYQa0Y>NIPe}?(I%2VL(@1ed za*hANmbmcb<+x7eQL;#9#UD>i2&e>(YrH$zQJtTqL4VNJQQ$LCp}-MhHr5IV6(TI6 zfevGS7n6Tjz2g{rl!TwgIRQ>;AS;X_WUy%&XmLlwCPkexROm1=ChN#X#nZd^9InC- z-5(`(c};F)MML{^>HgFt%I|Tbbb18z^RBTPwc+mwBmXd`UunG$)lOEZ?sf?;3xt%dB(q~aV7fxzKmpYm>N#gF} zo3T%YDXggQNw)PSQ31!IWimRKEm7^hX(*4=Y@HDmH8^+s3RL}|^`H;#N6i9_b2z{L z|7`jUECG`w+y`tji$`D#1HuI)%4#&z3M#-BRW&wa3V?kNcuX5D@0q4_kWHjM5^L?l z-dp>8K|oH$m}eH*p0ZiUeg8Ob54&r*Ds4&_@fCo%Gqyn(2BPTMMu>_IM3+d2k~J8F z4zULtz$olMhgg7~0Z4R>-_x|~*W-RXx07x*m+M}n z8_FxYW(6h+5g*c>fL~D!DCB>OjJ*?saz1J!1A$#C-FB=56=s9%Rx4F@OJ8F8v;+v5 z%V`(`rI0DAM_8~fkXMf8SWF+yP*$L=#=afmAcZxm0Nj=S{C&@*Ye?Ma)^Uoanb|@F zwNn&!u@Y+6RyI?)?VhLRu)Qo+%lFvUhpzz4ov{r9F$_h& zBXlh#1ww2<$sY8qK*D6C{X?eR-SeIOLe#0V#W zNQ7op;=EQEuF+>zfVS&+cGeZn!}=#7BgH;}iZS*Opvo_R^386LkhJKOQML)5p5G}$ zlXd6~a!c$eeQ#Y$&Yd+}HT$m^{G#-?wlIwp{^_Zr&$hgwY$QHiO$??NXo0?6{@Lk~ir$nqYbs z*OLM(*^*YRus`_~3h(k!svaP)UEVC!f~loOHY-Ii!r&r+^1QgKhT%?uZ_FPMwAyb% zi57%aSkwNQa*2sR)!l1>^or`PDN_8@NKvT#T$}itAqE`}Tb75*I*Qu6gwf6Bu&|`wP23YywR8E0)5mPCs2o__b@#~A3 zP<`Bu)_-0Z{2BmXTD~@P7R`we9j#y=QJ^eB+2frVSG|~&j2>K?l6w^fN{0gvh4m@* z0IJb~WSUeqV2^RGZd1;S%~B@Eq7+6LtWFoMx%(r34VAXXp7dd5dwP0?{&2O2%OW<~R5mO_PvoaWH z{DiZ?(7yD%dHl}<5;>1*o^X(pdAQ~MLOu=scX=@tOaL_&38ILincsm2b#b%PoTpTx zk(dB&A)1^TqDKGzS39@ozMdY#;@GeI``q#1BLH<*Zi6ro1lI=<0S(XxNCe0U5@k>U zB_XJR2B?78O^_fY5_|(j+%Y?6a&YFeo~4Kxq@^ z5PD$nv~whuDTl8@LR}#k6^C1dG98B7d)@C|7+vAheWHwjEqzF=xR0{us1TT<#IAD3 zC)-?MJt3+n>G4(=#8*?tl87jtLm3kjn4Qr1Dlwr2B>bWEjG!Au?elZ6>PrA=@Vm{}%g8~sNx#(<-JQ zrsXAFha($a*G42tqBgNtt7^xry+_enwO4FvmYP+G9mK3E+S-&>)d*^bsJ*MDwwkqz z+LF)rd+&d6o^#LhoO92;=X%6K@5p57)w{GvCYgqXi>zGxu`O7SN9Gev+78}y3?TKa zK4`2EYBZTuUW`m$jEFso5{e{-M$yUK*%~X73yr8&5nLP7`(8GYw5!k|!;EFA+Qo-7 z+tpSwT@MH7Q{k!xHO=qvN9nqH{OcoC&}F-CoT%Y%-w)Y&lih1%`><{r*34ZB47X3H zPoYk(dHJh6%qshzP#T$vFrx<;ZzH2=C-17kn@S@! zhQ7VCg)F2_JVVp?H)BxK&z%_0M(RQ`)A5KQx5Meuqw9mGZ{Gg6Ne>QaRHB0{0ZP@r z>L!t|CixI?25#(zzF-H9w}npK6T<5D6WEy0hkQM2Ir z=vGW5vv&f3x5%^$)r}``1~vf(n(y&-|0#x`b%gJ_Vvg#^ezS(2q|nS71NnshAjt#C z0T&eo{Fe&pdllV5{iFaoR|O}%0I?3ZZ9`NznAYDso%vFq>+lX3HTrGfVCHS$$mdl= zz-Qat$B_C~Dr#i2=S>}qDm<~(1;Lp~6E)Po-O}%ZOg{I*-pbSw!m>@i1E~F-KjH=7 z3Cz7S&>yk**fr$e<;tI+;RZXt?^DH8_W>4q_KK)bIc4_9IV-+GXY!0Pq*ent!?>3f zWuC0Afw1$kSTmJGx*rLJpaq{Ry-rkaQ9(MaQu2(bFx>sFE+tj%-{bqb@n1BGaDMFH z%9uhBN)P$XGMWqwSgO{Bwc7nFy74NAl*C>tIuj?4#qfdl=)-t;Q{`=H3}In3&us<)2a9Q@ux2J^K%<# z`v}s4y_@z&TqOU+K94TT9cfj1X5{U%0!LWLm0c=$mhzw4c0oQg_IJQ2kVQt~4_sa?@lS z>`%6nDN!Yv(d;gJB$adJp9p(C@hy?sR&CZwfHw#&qGtH3Xqcy1-IIEyJmdA4L8fV26RzJ*AV%G4;*<+V5<%ZGbnh+5YHomCCn zgB1h=Yj$K~f|}yIyXDq=W!i(`)Gs#D%*UPBWTPunbBF_<@$;szxpfm3D8M@PGR6J?yjy(5|C`XHG3`H2WqzPEk-MS#c3>%esNEQ=CU!_l!{*RKpC~45 zXy^I7Oxa7AvZ;YrHzuNsBIY$#WCzH3}3SeRwpW|`sQe*Lhp zZa?osmMl@*yO!Q6`M}<9q4k!^AMjrgz@@#!o5r1E0sAQ`iYAJhVX~UiBPW`2(}MIV zg+)x_Z6iatA3T)Gk!SRnULayI zjcY3Zj#{+uxXXIamxp=$-Y+^kopg74eZRS)cH0(IWl;OOaD>5loM65!FT@7@r?!2c zZ+5Lc?~$+i*=PreU+~R+k8VRqAW2bcVj>BtIx?of^|qWeoYkzbSXIrDf`vjOIwmtl zAoyg%!0#6~AzXR%gj!Md)9{{uht$5T)*@&FphTtq{(F(Q+bd&oDPBFapYcB)AP7XC z`Nd263*z~&?TIO=>NtdyGyB;$=I6Dn(Fr@Tah$sOT+DB`qng;^t0qGIMt0vGvcyW? zu21Zh^>R^N+kjr_&mZUnQc$@!aoob!ySiEF`LnNT$8rL8O<>Gvf>G!upYt z5Ab9aL075XbpjVKnBhM}`fYr4U=CiqXr$`eMdioo8}g&@;A6{&(?Z-h#3Uozp=~f4 zf->8(7ZTiKu6h3z*)SJL)1;Root9FU)QiGkh$}o%a|0xec5vZ)e3R(ZxdC;%6r=)2 z4^oMP0<0$)Twu^HCgzyO5mj`1)Hbgm+o6xoS-FsLwvj-RFLrH9VPXEpdBhtW<~@xCE>wLI_bq5e2JYv(+XAOKq*jIR zZ1zrEId%K5f*Yzxo?nr_)RYU8p$dJss+<+D)am1>)rJI|FLWV>++WN=Y3h*Gmg=i? zngpjBuo7KAa?&5Jg{j1I)oT%Wg_W)eQ~~f@8V?~9jmHw(&w57{mgn(-1gxa-R1(eS zwDZ&kE%14z_^J;rVB#a9da=+PT?kp=4OC7i>m(GL`t{v&=jvq-XUriVf8RT^rL|3q zcTr(o0CqqMBwG)8A~moS#u8A?~~ttM;J|xYbeu>DbZA>Y;2{ZR>9R` zqax|7FO2mc1c%hN%0jyjHkh_5!2@2m8?4>ao<4AvZip@aIwI%@$F?J>XLGEegN$RY zXJgjS2+!!B^Uni8a~n>DXen5col&a4DiAP(lus#zShU1!ZaBaS8?u)qkUH~PXW8^K z%vMl0=fYtSUYn&)+fu1B=9jLjEN43x&+fPwzzS6Y-79k{cjXA&=Vx3_|3W{%RMlM4?? zGbHkAoS#hi|Cwh5^0&kO${Y7}izM6}xTd}KMad7{y< z%umvk1H__RXBfGd%0e+=q3bL+1u&tuW;LZvKDAu7{?pFXo;U3hxM=$CSj=9e%BgB2 zm5Aj8$arh6HR569X=itM|CbjO&<-UnXT#OHw&g+kF*-83t%Q7tj;%swj;s(6a)ngl z8wwQfyQk6xW(Q4v*Cz1(inj^j5)IdE-yvS{3f}w*J*2=BAmw^Wcpmo5Q>NW5(P`VL z>RErhgp*}FP(CAvd^b%Nq_N)R&Y%jTvwFZA%$nZY2>**ixq@29+|<}5oE^2E@brPD z(tAgiw9mx~My?#+Qo3r`tH+lDPpG{0(Zs?L1elYo2Z;wQVA536viBR(GOf$kCGMkx zi|g5nNPqR>rfH3C$v1ILsWm2?q9}lL48>oKU9l3i_iI!BWmGW|f>|eQ2Vf>s6`aDq)h@go_DF4rmO_+FutTJxt=;>+|VLN!_s zUimmakQZMp%;=1@QTxle%b|EIEJH|VOyi;YSwt_;2WT29m%k$5wQY-IjY42W3(;qs zyBVejJ8X1C+dW8yrIcNCFzCs%X$wZ)i72BG^Hk;va7ybE-T4Dn48sxox(+y@D;-b0$>yeZs@Sa$Mk>sIX>Cc zbHDq@tz^~V#yle+BjlZY&7uZ=xK*Q&D!%q+_o>OPN7Do*z9;suNg(#P98uQ79DPp9 zq9|D0gKV#3B@UEhn5zSZ2t30!cy&QGhk4E8qgrTM^T)o%%_}FBw%=?`pORX850o#O zmipcnr8hTMf43ySiu!ql*)*AzFH^H^oi+CMVBD@C*mR#ZB@VPO{@4_*K@qIQhtV@h zZ%NiKU(rTa*M|&cubB01oepiOuJCDk-0j@3!9{FIDV4o+Fn%p0hoCda28CA7 zne-t;i*JjwHmSrPjgMTZ?d>_d{iDt?71@Y|LJdzz)WCN^LUkdK2R{9(oNj9Se2%k1 z$$`{)G?&OL1Y0b9yJEt$>uV#%TM`8#ZIS&IVDVP54acv0!^;)kK7MNYj}LJ=Lybhl zl8#^@=!4pT*f-1j$#|PDR3Bgwp>d%n)M0PZiLYaT&mo@PT=UQ372L1h5MO?U4xG^g zCLB$)Fj;gBYAM9tgJg8;-ajEaD+Yb$7T4FQYXhS0jo=7(ZsX3_)@#5yUr`67{7rdR zi@rYU6)k)=eQEnkc3N}LCXkhG-HXHDp&O-ui+fVg>AT|4(^>{zp})0S@91tjOh9K( z;b2^WWJV*aj@SrBR{ugA3NyT}O!rhX+WRwOrDy+b%&2kha@w~kUB=*8cCBWR`2$kz z$4u1hL^nhrTCK8lQ9nq55FLH^(^bI)cXlYbn#GuDLO=E;%&|*Bhw7z~z~PU@gEj|< zPArYrU!Dt>oXrn+u@sD2-8377F_AYaN@eSuyiZR_)>;EGT~sdQ0Kmjn25rNe?Zaza?uiI>N;#+T_)ENedK2W zJ&riNyd8Wki>{1ha-eVWaVrJ2N->a;zV*dr?#j$xZ@V}|(AR)A(uM{lWli?)Dx6mu z53?cs@t00{clwcXrpZc|@z3^X8a&sY3E{6sQOyd(Qx(Phv%XNn-r_N9UqbbB@^J%b zZ2pVbQgDJoIhF4ZxaC;F_+95N|KB7RT_!@G=Eg;>ZhWgCj27VrlyMyYGq(_3)@=7; z7=%awE?hdM8rdKy)zbC(bj zUtB+tmYS@(pg^hIN#gwzD%-C5S%6hFPS1x8Uz@8tC7JwuAHA+iN_4AWoCFLGA?yjy zz7M#3m$~5kml5wL5WoEIQTKz}fQjF29q4i=4u}pDs_XO^#?_;ZCuqy>qsZ%#k@=mm zPx`nPTTnLgxJg{IboJko4z&9lD>1HNalHDwrda=2MZiP`nvngb1@EF^^PE_M=~~*I z`Yc+>tS2UW+(|93NnP1HlRWUX4DSpvdh_y@(FuY_bjMjsa5Jq1v3W0xr~WIxkX<=? zt}B|UU1vT_i*NEQk^$MLCyXzoT*U>Oh;jYi70r;3{mKj-DuF(htt~nF`f)#<;dS^o z`I(PhL^s@E1z#pM;83J*Mm)F7WWdpQu5Wzcfws4I*0fX1^0{Mtcy(pcXg*`%T@g8? zJw}6&>@b4kF9b>nl~P-gLwt1gkzn!D+@W&nCV&Y`%0d!J2<9J-cH746RYj(Oa`Po-UxY<58n0~62!O}0ftrkl|^w&FHG8o^mpLr|lTbQ-;+T%u$+4rL#G2vah zTRk?EdDl(<^i2g7LPiMMLrA>3yZ|WFL;_&k3CtJPV9ktY@I$2gR746B#nz{!iRQsI z7Ph+3rDKt?>~vc}9IJy*(%s0@t&Pz`<+id~7;@^&e>UiH@MFS?)dg~rGA3{Xnr3aR z!}O!bw^G~wzG&y@L9a&Q@;l)da`Dky#0-|P_iTPgEoucYI}rWHN)_|ny{V*o`O`aY z$4BK-Q=jTQAO%t2H3~kjH^xg}xq-8eM(90u-n|!OQFE72Ndg-YdqLj4czbaJ2huOdh5Ll;DK2seGp zy!=$BkV~T7)rU8_&;Y&#^{Y&AQ&D_GZ_SMqFYZOH4TxxA>OPOPq(ZWL`>(V;O_y0V zF5-hEDSMREv^0{aU(!kNP6)9b(!l!Ol=IjNb;g8S3ed7DNc5pYZ5e-3j!vHlh%YVJ zqrwk328K8%LhkGgeMUU!!KJmFaVe3p0-~$#;G`s~8XA54TV78-@qPG7P>FR|vjlLH zO9)rfXfJHT5gVuJIB!Awr0NUO-4R*8UK890ilI?G=_GU(U5Sov*<)UndTbgHYXvBcN1X6d%T)T zJhxWD9<2VHLrkikBXj_SC>sc&J`(tvgA5m-M}vTA{(2E+#%Hb-KzUBYh13EI2}B0m zOZ{`zf)VLMo~!Z>*4^;0{d}x5@XXcW_`7hrl?5U#MMTTe;hM9?j%>C@4AQsVHU=6Y z6a}*~8%{-BU#3cy#m!M@$n8O;+fSI<#GF-ZwunWM;|(MZLTsAt>q+EBupFO51K56Y)YV@Z}Zbd zA8N9c$5ECS`=YhXF7s&uY$zZW)Iie1@m|OS(D1UYVhIUZC=EY=ciqx;TBPl!II&{{ ze0(1@2O$KyK&v+W#1y0$C^HQ++CEf$42w6haeuDzUiW`Mvmkx#mBiIif2m6&KTr}so=r$4^0Vpox3 zbF1^QkPBRG9@ii9)B7^siDnD2Nuxx_8PDP>@GjBX*X=p=o$agN*F|jZgS|JCes9VZXhsi(bZXWhttrr z%{4-HT`GdvaCApa=|v)Og^kOpYnkbzI8Srd!LEpYcKj}^pfT>oDt?!q zRwPLq7cS@{pmMEuWB^+r(0^d3m${rF61+#{UE|5(uba9`S+CVNF-HAA`MGzniMOq} zCnK_zpeXBFdbMoKyJ7+l{yQ%*`JLZLWLl&7DMt_lGC-sNNXb#fNMP^|f8=<+97S<9 z_oA*_10$-uKyJ5$+#Sii8Z1^S=gBa`^7Q10GaFB<>h& zk;K`-9_8!`+39Pgy!k(6=WDqQ2bc055CdNcv2X$^NK5W8_A|j~)KIN`lUP~|PZsu2 z@G$n{0ay_J!R)4x%tF>;={>mrD7$tmsZOh0*<+;atGkY=W+*2PlFV~x=51D01GF%_ zPFNrbc;d%Vb&U{49=!Yl=-{|AweN~1QkA_G;s#Kh@~NnTRp2LdH*Up zQq?whxh3Nkj^Xaf%xPQ(6KUz4{0c#S#idtopz~Vl+W$$+Pok(7!TYGTP(SPB%K(nFd!0yb(ZMUo81OP4T>sO?IfT%+gc|Kp(qebfd3{0B4(>C(z&qnD^% zJMD`AJTkhkF6rW_{r+pQ*3d5O*%r*5G@p2l*7W$%c;6)ntV-a9ug?;~1q4#m$Rl3U zhjGVY0?9(HZ+j_#ub-G4y8x$Cv|XLMZ=S<@3xQvHk+&h$XYbt-j9CIQUkn7fPDZ7~ z#x8e!r3OTQl*9o-IpTV^)P50?Ge;7@Nv-Lx)51E1@5+URbrJn9vOvrsrxy&pb-h#! zN(&F1cn(Q#kc(rq`=S~UUeIHhQnxkF$eaTlMB;Oq9O8q|u2Ejru zw}4YCm#44W=h`ZHkFP#93{3S(Rbr#SbB7lPw=GnzRISy&pNW4>-qpLq4IL^%G25gP@)JOx;R^$kzkL`}w)H+y%6~IurYi7UJ$%4ox4a zSL=AkaQ;p_TZtwD1oD8zb%;Ac8t=+N7oO^rM7*X6=P51<*EZJQd0l{B{V+Z$^MF`| zD4Eehz4RdLZ|45m+h8?&d!<(wf&a2!|K7Mak-^EqB-TpO(7w>-06!xY!s79oikbVI zGkKb;0lx@@-u5&4&{i-A58sv(=VH&l;{0xxZHu-@fw^kPQK!;)_;LVvw?H1Nf-TUr zeUk2pyWK(E;^^Vd&I5a`%t%#T^zwT&7fvyhIL>!#BJ!QC_$ldwrU)Grs%`ldr(*O| z{{KH%60VNp54kw2!NxcGYAo2wyLDgvj*RNsaLdTpzv&G{gpFbkE@Y`YV(8&ZB=N+% zc^V~Pv(C?gCBKx8C2G<}TS<<_rImSu*_Z2HK~RiLbQ9vFt|fxM9X{XJx^tlnSV!|5 z3d^H)+)yy?VB&O9EubR}cO0Qe4FYjggK#20SD4q5K)$SLzUt5eE2bMi3E>jqI*zor z*rfbKwBIqFDTyKa4@MlR!iz(Tr4@NNc!!}J7&N1?b8X_$^uyAEvHb^+X*F9GIMx_FN}?!&BII|XOwW3rmhk2})WsesM(C$8%cBR4na4$}H3goJ z?MrG{vL#N|(lWx~)b!49Y9`mSyV$`4otXIL&zUM~2=CW7H(!5skPqrA(>kwQ-Ng=H zCmR@@47=+x&-^E=l@1hk%7~t$T-WDx)nb=1W-2hQWTV1Brke51tuz_Z;^2R9^Op|t9>>aA*Rhp55J+n) z1QM%LVlt|X1~n+O*{NJ-6yUcCS@3?N$rXJ*_8uUP^Zh;C2~Sm-Sb88dg0d` zULybD*(A=b7Q!Qwzz>v>OtfeoP+AM>DeUD5hu;>nx(IMYx9g6?and=<;OgqVW|X6) zC$o&gE#DerhN-&0KE6cFU~J0#=l}n6h3NKM&+nB$cDiuI{Qft`WFG=Ny;^E5HA(Xw zHw^Eo5H@d@^ZMNo*U_)=B&XUt$t}HmJL6W faz^eo5&?(;1fp+-{RvzV-K>Y2k2R{);8FhvZ)J9) literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html index 4071fddf2..b18cb2da7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -61,7 +61,23 @@

(Super) Quick Setup

First select an icon on the right, then select the version below and copy/paste the code into your project.
  • -

    Font versions

    +

    + Font versions + + + + + Background Color + +
    + + + + +
    + +
    +

    Place this in your header (once per HTML file) @@ -152,7 +168,7 @@

    If you prefer a local install, you can download all the files on the GitHub supported by various contributors.
    Copyright © 2015 Konpa

    - Final font build with Icomoon app
    + Final font build with Icomoon

    All product names, logos, and brandsare property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.

    From 50e8a9c9cfce3fafeb59e2eae129ddeab7c973d0 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Tue, 21 Dec 2021 19:26:37 -0800 Subject: [PATCH 03/10] Color picker menu can now be toggled --- docs/assets/css/style.css | 32 ++++++++++++++++++++++++++++++-- docs/assets/js/script.js | 9 +++++++++ docs/index.html | 25 +++++++++++++------------ 3 files changed, 52 insertions(+), 14 deletions(-) diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index b6914992b..7a7106166 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -297,20 +297,40 @@ header { .colorPicker { height: 0.8em; width: 0.8em; + border-radius: 50%; +} + +.colorPicker:hover { + cursor: pointer; + border: 1px solid whitesmoke; } .colorPickerMenu { position: absolute; - display: inline-block; font-size: 1rem; background-color: var(--primaryColor); border-radius: 1em; border: 2px solid var(--grey); transform: translate(0, -30%); padding: 0.5em; + padding-top: 0; margin-left: 1em; font-weight: normal; z-index: 1; + display: none; +} + +.colorPickerMenuCloseBtn { + color: red; + font-weight: bold; + margin-top: 0; + margin-right: 0.25em; + display: flex; + flex-direction: row-reverse; +} + +.colorPickerMenuCloseBtn > span:hover { + cursor: pointer; } .colorPickerResetBtn { @@ -330,12 +350,20 @@ header { top: 0.2em; } -input[type='color'] { +.checkerboardInput:hover { + cursor: pointer; +} + +#colorInput { width: 1.25em; height: 1.25em; padding: 0; } +#colorInput:hover { + cursor: pointer; +} + /** Copy Btn */ .copyBtn { diff --git a/docs/assets/js/script.js b/docs/assets/js/script.js index 3d8abc73e..9992eac7c 100644 --- a/docs/assets/js/script.js +++ b/docs/assets/js/script.js @@ -202,6 +202,15 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { }, 50) }, 2000) } + + /** + * Display the color picker. + * @param {String} id - id of the menu we are showing. + */ + $scope.toggleColorPickerMenu = function(id) { + let menu = document.getElementById(id) + menu.style.display = menu.style.display == "none" || menu.style.display == "" ? "inherit" : "none" + } }); /*================ End of "Devicons controller" ================*/ diff --git a/docs/index.html b/docs/index.html index b18cb2da7..f819bea45 100644 --- a/docs/index.html +++ b/docs/index.html @@ -63,19 +63,20 @@
    First select an icon on the right, then select the version below and copy/pa
  • Font versions - - - - - Background Color - -
    - - - + + + +
    X
    +
    + + Background Color +
    +
    + + +
    +
    -
    -

    From 5ddbd262b9502cd471c695a38207c55f147eef39 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Tue, 21 Dec 2021 19:43:59 -0800 Subject: [PATCH 04/10] Add color reset functionality --- docs/assets/css/style.css | 4 ++-- docs/assets/js/script.js | 11 ++++++----- docs/index.html | 6 +++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 7a7106166..3d3548a4b 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -354,13 +354,13 @@ header { cursor: pointer; } -#colorInput { +input[type='color'] { width: 1.25em; height: 1.25em; padding: 0; } -#colorInput:hover { +input[type='color']:hover { cursor: pointer; } diff --git a/docs/assets/js/script.js b/docs/assets/js/script.js index 9992eac7c..debf04526 100644 --- a/docs/assets/js/script.js +++ b/docs/assets/js/script.js @@ -1,5 +1,5 @@ var devicon = angular.module('devicon', ['ngSanitize', 'ngAnimate']); -const DEFAULT_BACKGROUND = "#60be86"; +// const DEFAULT_BACKGROUND = "#60be86"; /* ||============================================================== @@ -41,8 +41,9 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { // background color related stuff // default is the default site background color - $scope.fontBackground = DEFAULT_BACKGROUND; - $scope.svgBackground = DEFAULT_BACKGROUND; + $scope.DEFAULT_BACKGROUND = "#60be86"; + $scope.fontBackground = $scope.DEFAULT_BACKGROUND; + $scope.svgBackground = $scope.DEFAULT_BACKGROUND; // Loop through devicon.json angular.forEach(data, function(devicon, key) { @@ -106,8 +107,8 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { $scope.selectedSvgIndex = 0; // reset color - $scope.fontBackground = DEFAULT_BACKGROUND; - $scope.svgBackground = DEFAULT_BACKGROUND; + $scope.fontBackground = $scope.DEFAULT_BACKGROUND; + $scope.svgBackground = $scope.DEFAULT_BACKGROUND; } /*---- End of "Change selected icon" ----*/ diff --git a/docs/index.html b/docs/index.html index f819bea45..e7e40f36c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -66,16 +66,16 @@

    -
    X
    +
    X
    - + Background Color
    - +

    From be344b424ccc6d9f65b537cc796eb63c07f67b27 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Tue, 21 Dec 2021 20:49:32 -0800 Subject: [PATCH 05/10] Add checkerboard functionality --- docs/assets/css/style.css | 27 ++++++++++++++++++++++++--- docs/assets/img/checkerboard.png | Bin 0 -> 8632 bytes docs/assets/js/script.js | 6 +++++- docs/index.html | 4 +++- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 docs/assets/img/checkerboard.png diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 3d3548a4b..191e28777 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -3,10 +3,14 @@ @import url(https://fonts.googleapis.com/css?family=Lato:300,400,700); @import url(https://fonts.googleapis.com/css?family=Damion); :root { + /* color */ --primaryColor: #60be86; --primaryColorDark: #2D804E; --primaryColorLight: #65d693; --grey: #4c6857; + + /* sizing */ + --listItemPadding: 0.4rem; } html { @@ -248,20 +252,24 @@ header { header .icons-list { margin: 1rem 0; padding: 0; - list-style: none; } + list-style: none; + position: relative; } header .icons-list > div { display: inline; } + header .icons-list li { position: relative; display: inline-block; width: 6.5rem; margin: .5rem .3rem; - padding: .4rem; + padding: var(--listItemPadding); cursor: pointer; border: 5px solid var(--primaryColor); } + header .icons-list li:hover { border: 5px solid var(--primaryColorLight); border-radius: 5px; } + header .icons-list li:hover::before { content: ' '; position: absolute; @@ -273,9 +281,11 @@ header { border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid var(--primaryColorLight); } + header .icons-list li.selected-version { border: 5px solid var(--primaryColorLight); border-radius: 5px; } + header .icons-list li.selected-version::before { position: absolute; bottom: -19px; @@ -287,8 +297,19 @@ header { border-right: 15px solid transparent; border-left: 15px solid transparent; content: ' '; } + + .standinDiv { + height: 5rem; + } + header .icons-list i { - font-size: 5rem; } + font-size: 5rem; + position: absolute; + left: 0; + top: 0; + margin: var(--listItemPadding); + } + header .icons-list img { max-width: 100%; } diff --git a/docs/assets/img/checkerboard.png b/docs/assets/img/checkerboard.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae989dd50e627aae2eb08c18d6813ea48aa250e GIT binary patch literal 8632 zcmeAS@N?(olHy`uVBq!ia0y~yVA%k|9Be?5*NU6Z11Yv7Z+91l{~)+v@AAnE3za=bd@;=h+`nmT0&xWbzKGr0zo>^JTRB-a& zp}242-+oor0?lJ!_~U+n2}mjUj#8sRFq#TRGs0+DFj^eaw?=sTea`1!Y!5D-*<;7J zBc(o3|2KE_&G;Lq`E@`Q)FqZtYBUH&Q^9CP7%dA%i^Bn_5uW|t_xTscgL9Vi^m9y& z*ZVW*fvP89KdLT)5$K=^YNOO>5R9gR(Tp%!7K|2$15zV=t3Fp*%UqC|7B`aeWU;8DZ3b`!pvkErAC8bG!+c#j8Omf)&-TyD_YL@r+PpI{ zX9OsZk5Z#SF!WNv*{JOOa!flmZ~xjFfA-94!3OVl`hQOUZLR+~Ivq7S9W^=~H98$N zIvoY9+zDj_z3HvY3=E8kptS%*C?8cq-UQcMhJq6YktcV}n*j_#22WQ%mvv4FO#s7x BRY(8; literal 0 HcmV?d00001 diff --git a/docs/assets/js/script.js b/docs/assets/js/script.js index debf04526..153ca460c 100644 --- a/docs/assets/js/script.js +++ b/docs/assets/js/script.js @@ -1,5 +1,4 @@ var devicon = angular.module('devicon', ['ngSanitize', 'ngAnimate']); -// const DEFAULT_BACKGROUND = "#60be86"; /* ||============================================================== @@ -45,6 +44,11 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { $scope.fontBackground = $scope.DEFAULT_BACKGROUND; $scope.svgBackground = $scope.DEFAULT_BACKGROUND; + // whether to display the checkerboard img in the background + // for the font and svg respectively + $scope.fontDisplayChecker = false; + $scope.svgDisplayChecker = false; + // Loop through devicon.json angular.forEach(data, function(devicon, key) { diff --git a/docs/index.html b/docs/index.html index e7e40f36c..ae9e8910b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -72,7 +72,7 @@

    Background Color

- +
@@ -93,9 +93,11 @@

  • +
  • +
  • From 5d3630a909521a78826e1d9e94b3cea055dad3b2 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Tue, 21 Dec 2021 20:56:14 -0800 Subject: [PATCH 06/10] Add color picker to svg section --- docs/assets/css/style.css | 7 ++----- docs/index.html | 22 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 191e28777..2bcf7a1f7 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -298,11 +298,8 @@ header { border-left: 15px solid transparent; content: ' '; } - .standinDiv { - height: 5rem; - } - - header .icons-list i { + header .icons-list i, + .svgLogo { font-size: 5rem; position: absolute; left: 0; diff --git a/docs/index.html b/docs/index.html index ae9e8910b..0f8fbec44 100644 --- a/docs/index.html +++ b/docs/index.html @@ -115,10 +115,28 @@

    *To change the size, change the i element's font-size attribute.

  • -

    SVG versions

    +

    + SVG versions + + + +
    X
    +
    + + Background Color +
    +
    + + +
    + +
    +
    +

    • - + +

    From 0304708b30d4f2ec83115f775ecfc0d0e18520cc Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Tue, 21 Dec 2021 21:18:36 -0800 Subject: [PATCH 07/10] Add contact info and more legal details --- docs/assets/css/style.css | 15 +++++++-------- docs/index.html | 20 ++++++++++++-------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 2bcf7a1f7..3812f38fd 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -211,25 +211,24 @@ header { header > h2 { font-weight: 400; font-size: 1.3rem; } - header .download { + header .buttonLink { margin: 2rem 0 0; font-weight: 900; font-size: 1.3rem; text-align: center; } - header .download i { + header .buttonLink i { position: relative; top: 12px; left: -10px; font-size: 3rem; } - header .download a { + header .buttonLink > a { padding: 1.3rem 1.8rem; border: 6px solid var(--primaryColor); color: var(--primaryColor); background: whitesmoke; text-decoration: none;} - header .download a:hover { - border-color: whitesmoke; - color: var(--primaryColor); } + header .buttonLink a:hover { + border-color: whitesmoke; } header > h3 { margin: 4rem 0 0; font-size: 3rem; @@ -327,7 +326,7 @@ header { position: absolute; font-size: 1rem; background-color: var(--primaryColor); - border-radius: 1em; + border-radius: 0.2em; border: 2px solid var(--grey); transform: translate(0, -30%); padding: 0.5em; @@ -466,6 +465,6 @@ input[type='color']:hover { color: var(--grey); opacity: .5; } -.footer { +footer { margin-top: 6rem; text-align: center; } \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 0f8fbec44..5dc6ba77c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -57,6 +57,7 @@

    To use this website, JavaScript needs to be enabled.

    Devicon {{ latestReleaseTagging }}

    Devicon is a set of icons representing programming languages, designing & development tools. You can use it as a font or directly copy/paste the svg code into your project.

    + *Please read the legal conditions of using the logos here at the bottom of this header

    (Super) Quick Setup

    First select an icon on the right, then select the version below and copy/paste the code into your project.
      @@ -171,28 +172,31 @@

      GitHub repository

      If you prefer a local install, you can download all the files on the GitHub repository.
      -

      +

      -

      +

      -

      +

      -

      +

      -

      Contact

      +
      If you have any legal concerns regarding copyrights, please reach out to us at info@devicon.dev. Any code/logo contributions should be made through our GitHub repo listed above.
      + +
      Originally created by Konpa (under MIT License) and
      supported by various contributors.
      Copyright © 2015 Konpa

      Final font build with Icomoon
      -
      - All product names, logos, and brandsare property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, logos, and brands does not imply endorsement. -

      +
      + *All product names, logos, and brandsare property of their respective owners. All company, product and service names used in this website are for identification purposes only. Usage of these names, logos, and brands does not imply endorsement of Devicon or its members. All icons/SVGs in this project are not monetized in anyway. It is up to the user to use the logo properly according to the company/group's brand policy. Usage of this site or any icons/SVGs from Devicon means acknowledgement of these conditions. +
    From bf4e6dfa9c62a0930275690797de309bed09b3b3 Mon Sep 17 00:00:00 2001 From: Thomas Bui <43018778+Thomas-Boi@users.noreply.github.com> Date: Tue, 21 Dec 2021 22:06:45 -0800 Subject: [PATCH 08/10] Apply suggestions from code review Co-authored-by: David Leal --- docs/assets/css/style.css | 2 +- docs/index.html | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 3812f38fd..0bbdebb0d 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -467,4 +467,4 @@ input[type='color']:hover { footer { margin-top: 6rem; - text-align: center; } \ No newline at end of file + text-align: center; } diff --git a/docs/index.html b/docs/index.html index 5dc6ba77c..ae02774d6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -56,7 +56,7 @@

    To use this website, JavaScript needs to be enabled.

    Devicon {{ latestReleaseTagging }}

    -

    Devicon is a set of icons representing programming languages, designing & development tools. You can use it as a font or directly copy/paste the svg code into your project.

    +

    Devicon is a set of icons representing programming languages, designing, and development tools. You can use it as a font or directly copy/paste the SVG code into your project.

    *Please read the legal conditions of using the logos here at the bottom of this header

    (Super) Quick Setup

    First select an icon on the right, then select the version below and copy/paste the code into your project.
    @@ -186,7 +186,7 @@
    If you prefer a local install, you can download all the files on the GitHub

    Contact

    -
    If you have any legal concerns regarding copyrights, please reach out to us at info@devicon.dev. Any code/logo contributions should be made through our GitHub repo listed above.
    +
    If you have any legal concerns regarding copyrights, please reach out to us at info@devicon.dev. Any code/logo contributions should be made through our GitHub repository listed above.
    Originally created by Konpa (under MIT License) and
    From 8dc9eb446542fb4385c906bbe5877a160836a55e Mon Sep 17 00:00:00 2001 From: Clemens Bastian <8781699+amacado@users.noreply.github.com> Date: Mon, 17 Jan 2022 18:48:33 +0100 Subject: [PATCH 09/10] ui enhancements for color picker and report abuse (#972, #943) (#1024) --- docs/assets/css/style.css | 24 ++++++++++-------------- docs/index.html | 18 +++++++++--------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 0bbdebb0d..37f6cb7b2 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -327,37 +327,33 @@ header { font-size: 1rem; background-color: var(--primaryColor); border-radius: 0.2em; - border: 2px solid var(--grey); + border: 1px solid var(--grey); transform: translate(0, -30%); - padding: 0.5em; - padding-top: 0; + padding: 1em; margin-left: 1em; font-weight: normal; z-index: 1; display: none; -} - -.colorPickerMenuCloseBtn { - color: red; - font-weight: bold; - margin-top: 0; - margin-right: 0.25em; - display: flex; - flex-direction: row-reverse; + -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.3); + box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.3); } .colorPickerMenuCloseBtn > span:hover { cursor: pointer; } -.colorPickerResetBtn { +.colorPickerBtn { margin: auto; margin-top: 0.5em; - display: block; width: min-content; background-color: var(--primaryColor); border-radius: 1em; border: 1px solid var(--grey); + display: inline-block; +} + +.colorPickerBtn:hover { + background-color: var(--grey); } .checkerboardInput { diff --git a/docs/index.html b/docs/index.html index ae02774d6..29cf0d6d0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -67,16 +67,16 @@

    -
    X
    Background Color
    - - + +
    - + +

    @@ -121,16 +121,16 @@

    -
    X
    Background Color
    - - + +
    - + +

    @@ -186,7 +186,7 @@
    If you prefer a local install, you can download all the files on the GitHub

    Contact

    -
    If you have any legal concerns regarding copyrights, please reach out to us at info@devicon.dev. Any code/logo contributions should be made through our GitHub repository listed above.
    +
    If you have any legal concerns regarding copyrights or want to report an abuse, please reach out to us at info@devicon.dev. Any code/logo contributions should be made through our GitHub repository listed above.
    Originally created by Konpa (under MIT License) and
    From a4fe13311cefd68059f13eb0d4cb8c37b7650d69 Mon Sep 17 00:00:00 2001 From: Thomas Bui Date: Mon, 17 Jan 2022 10:06:55 -0800 Subject: [PATCH 10/10] Shorten instruction for size adjustment --- docs/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/index.html b/docs/index.html index 29cf0d6d0..6b3b645ed 100644 --- a/docs/index.html +++ b/docs/index.html @@ -113,7 +113,7 @@

    <i class="devicon-{{selectedIcon.name}}-{{selectedFontIcon}} colored"></i>
    -

    *To change the size, change the i element's font-size attribute.

    +

    *To change the size, change the <i>'s `font-size`.

  • @@ -150,7 +150,7 @@

    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/{{selectedIcon.name}}/{{selectedIcon.name}}-{{selectedIcon.svg[selectedSvgIndex]}}.svg" />
    -

    *To change the size, change the img's height and width attributes.

    +

    *To change the size, change the <img>'s `height` and `width`.


    @@ -166,7 +166,7 @@

    {{selectedSvgIcon}}
    </svg>

-

*To change the size, change the svg's height and width attributes.

+

*To change the size, change the <svg>'s `height` and `width`.