From b1b7c2feb3d0086593d049e3952ebcb2590c21a7 Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Wed, 18 Jul 2012 10:24:34 +0530 Subject: [PATCH] Use grid based css design (made css resets local) Introduced foundation based grid css Related changes in example, template html Change-Id: I8b1c1bae1c733ea0ed997d8317b9954592cf6eca --- UniversalLanguageSelector.hooks.php | 58 +++-- UniversalLanguageSelector.php | 5 +- examples/index.html | 79 ++++--- examples/resources/demo.css | 2 +- resources/css/ext.uls.css | 139 +++++++----- resources/css/ext.uls.grid.css | 320 ++++++++++++++++++++++++++++ resources/css/ext.uls.lcd.css | 47 ++-- resources/ext.uls.data.utils.js | 1 - resources/ext.uls.languagefilter.js | 5 +- resources/ext.uls.lcd.js | 20 +- resources/images/clear.png | Bin 0 -> 338 bytes resources/images/close.png | Bin 637 -> 347 bytes resources/images/search.png | Bin 214 -> 881 bytes resources/images/world_map.png | Bin 18136 -> 8803 bytes 14 files changed, 530 insertions(+), 146 deletions(-) create mode 100644 resources/css/ext.uls.grid.css create mode 100644 resources/images/clear.png diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index a20c978b..506371b4 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -71,36 +71,48 @@ class UniversalLanguageSelectorHooks { $languages = Language::fetchLanguageNames( $wgContLang->getCode() ); $languageData = htmlspecialchars( FormatJSON::encode( $languages ) ); $data .= " -
- -
-
+
+
+ +
+
+

" . wfMsgHtml( 'uls-select-content-language' ) . "

-
-
-
- America -
- - -
-
-
- - -
-
+ -
+
"; return true; } diff --git a/UniversalLanguageSelector.php b/UniversalLanguageSelector.php index f6ca6d20..637cfb2e 100644 --- a/UniversalLanguageSelector.php +++ b/UniversalLanguageSelector.php @@ -72,7 +72,10 @@ $wgResourceModules['ext.uls.core'] = array( 'resources/ext.uls.languagefilter.js', 'resources/ext.uls.data.utils.js', ), - 'styles' => 'resources/css/ext.uls.css', + 'styles' => array( + 'resources/css/ext.uls.css', + 'resources/css/ext.uls.grid.css', + ), 'localBasePath' => $dir, 'remoteExtPath' => 'UniversalLanguageSelector', 'dependencies' => array( diff --git a/examples/index.html b/examples/index.html index a867fce3..d5a2ada8 100644 --- a/examples/index.html +++ b/examples/index.html @@ -24,6 +24,7 @@ + @@ -38,45 +39,63 @@

-
- -
-
-

Select language

+
+
+ +
+
+
+

Select language

-
-
-
- America +
+
+ -
-
-
- - -
-
-
    + + +
    +
    +
    diff --git a/examples/resources/demo.css b/examples/resources/demo.css index a3c21668..c20ab58e 100644 --- a/examples/resources/demo.css +++ b/examples/resources/demo.css @@ -1,7 +1,7 @@ body { - width: 80%; padding-left: 10%; padding-right: 10%; + font-family: Arial, Helvetica, sans-serif; } a { text-decoration: none; diff --git a/resources/css/ext.uls.css b/resources/css/ext.uls.css index 4e902ac2..02188e1f 100644 --- a/resources/css/ext.uls.css +++ b/resources/css/ext.uls.css @@ -3,16 +3,13 @@ background: url('../images/icon-language.png') no-repeat scroll left center transparent; padding-left: 36px; } - .uls-menu { position: fixed; z-index: 1000; display: none; - min-width: 600px; - min-height: 500px; + min-width: 715px; margin-top: 1px; - width: 50%; - + width:45%; /* Styling */ background-color: #ffffff; border: 1px solid #ccc; @@ -29,90 +26,126 @@ -moz-background-clip: padding; background-clip: padding-box; } - .uls-menu a { - font-weight: normal; color: #0088CC; } - .uls-menu-header { margin: 2%; margin-top: 20px; } - -.uls-lang-selector { - margin: 2%; -} - -.uls-menu-header-left { - float: left; -} - -.uls-menu-header-left h1 { +.uls-menu h1 { font-weight: normal; padding-top: 12px; - border:none; + border: none; padding-bottom: 3px; + font-size: 21pt; + padding-left: 15px; + color: #777; } - -.uls-menu-header-right { - float: right; +.uls-menu h3 { + padding-left: 0px; + margin-top: 0px; + margin-bottom: 15px; } - .uls-worldmap { /* @embed */ - background: url('../images/world_map.png') no-repeat scroll left center transparent; - width: 400px; - height: 197px; + background: url('../images/world_map.png') no-repeat scroll right top transparent; + background-size: 100%; } - .uls-region { /* The map doesn't flip */ /* @noflip */ float: left; cursor: pointer; - width: 133px; - padding: 0; - margin: 0; - height: 197px; - position: relative; + padding: 0px; + margin: 0px; + height: 125px; + border-bottom-color: #777; + border-bottom-style: solid; + border-bottom-width: 3px; } - .uls-region a { + bottom: 2px; position: absolute; - bottom: 0; + font-size: 13px; } - .uls-region:hover { - outline: 1px solid #0E90D2; + /*Cross-browser background transparency*/ + background: #3366bb; + background: rgba(51, 102, 187, 0.1); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#253366bb, endColorstr=#253366bb); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#253366bb, endColorstr=#253366bb)"; + border-bottom-color: #3366bb; + border-bottom-style: solid; } - .regionselector.active { - background: black; - opacity: 0.4; + /*Cross-browser background transparency*/ + background: #3366bb; + background: rgba(51, 102, 187, 0.2); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#253366bb, endColorstr=#253366bb); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#253366bb, endColorstr=#253366bb)"; + border-bottom-color: #3366bb; + border-bottom-style: solid; +} +#map-block { + top: 1px; + margin-right: 0; + padding-right: 0px; + float: right; + overflow: hidden; +} +#map-block a { + color: #444; +} +#map-block .active a { + font-weight: bold; } - .icon-close { /* @embed */ - background: url('../images/close.png') no-repeat scroll left center transparent; + background: url('../images/close.png') no-repeat scroll center center transparent; float: right; - padding: 10px; + padding: 15px; cursor: pointer; } - input#languagefilter { - height: 20px; - border: 1px solid #0E90D2; - width: 95%; - padding-right: 20px; + border: 1px solid #c9c9c9; + -moz-transition: all 0.15s linear 0s; + border-radius: 2px 2px 2px 2px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset; + color: #777; + display: block; + font-size: 14px; + height: 32px; + padding: 6px; + width: 100%; + text-align: left; +} +input:focus#languagefilter { + border: 1px solid #08C; } -span.search-button { +#search { + background-color: #f8f8f8; + border-top-color: #777; + border-top-style: solid; + border-top-width: 1px; + padding: 0.8em 0; +} +.search-label { /* @embed */ - background: url('../images/search.png') no-repeat scroll left center transparent; + background: url('../images/search.png') no-repeat scroll right center transparent; + background-size: 30px; + height: 32px; + width: 32px; + display: inline-block; + float: right; +} +span.clear-button { + /* @embed */ + background: url('../images/clear.png') no-repeat scroll left center transparent; cursor: pointer; - height: 22px; + height: 32px; position: absolute; - width: 20px; - margin-left: -20px; -} \ No newline at end of file + width: 32px; + margin-left: -32px; +} diff --git a/resources/css/ext.uls.grid.css b/resources/css/ext.uls.grid.css new file mode 100644 index 00000000..d7783253 --- /dev/null +++ b/resources/css/ext.uls.grid.css @@ -0,0 +1,320 @@ +/* Generated using Foundation http://foundation.zurb.com/docs/grid.php */ +/* Global Reset & Standards ---------------------- */ +.uls-menu * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* Misc ---------------------- */ +.left { + float: left; +} + +.right { + float: right; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.hide { + display: none; +} + +.highlight { + background: #ffff99; +} + +/* The Grid ---------------------- */ +.row { + width: 100%; + max-width: none; + min-width: 600px; + margin: 0 auto; +} +.row .row { + width: auto; + max-width: none; + min-width: 0; + margin: 0 -5px; +} +.row.collapse .column, .row.collapse .columns { + padding: 0; +} +.row .row { + width: auto; + max-width: none; + min-width: 0; + margin: 0 -5px; +} +.row .row.collapse { + margin: 0; +} + +.column, .columns { + float: left; + min-height: 1px; + padding: 0 5px; + position: relative; +} +.column.centered, .columns.centered { + float: none; + margin: 0 auto; +} + +.row .one { + width: 8.333%; +} + +.row .two { + width: 16.667%; +} + +.row .three { + width: 25%; +} + +.row .four { + width: 33.333%; +} + +.row .five { + width: 41.667%; +} + +.row .six { + width: 50%; +} + +.row .seven { + width: 58.333%; +} + +.row .eight { + width: 66.667%; +} + +.row .nine { + width: 75%; +} + +.row .ten { + width: 83.333%; +} + +.row .eleven { + width: 91.667%; +} + +.row .twelve { + width: 100%; +} + +.row .offset-by-one { + margin-left: 8.333%; +} + +.row .offset-by-two { + margin-left: 16.667%; +} + +.row .offset-by-three { + margin-left: 25%; +} + +.row .offset-by-four { + margin-left: 33.333%; +} + +.row .offset-by-five { + margin-left: 41.667%; +} + +.row .offset-by-six { + margin-left: 50%; +} + +.row .offset-by-seven { + margin-left: 58.333%; +} + +.row .offset-by-eight { + margin-left: 66.667%; +} + +.row .offset-by-nine { + margin-left: 75%; +} + +.row .offset-by-ten { + margin-left: 83.333%; +} + +.push-two { + left: 16.667%; +} + +.pull-two { + right: 16.667%; +} + +.push-three { + left: 25%; +} + +.pull-three { + right: 25%; +} + +.push-four { + left: 33.333%; +} + +.pull-four { + right: 33.333%; +} + +.push-five { + left: 41.667%; +} + +.pull-five { + right: 41.667%; +} + +.push-six { + left: 50%; +} + +.pull-six { + right: 50%; +} + +.push-seven { + left: 58.333%; +} + +.pull-seven { + right: 58.333%; +} + +.push-eight { + left: 66.667%; +} + +.pull-eight { + right: 66.667%; +} + +.push-nine { + left: 75%; +} + +.pull-nine { + right: 75%; +} + +.push-ten { + left: 83.333%; +} + +.pull-ten { + right: 83.333%; +} + +img, object, embed { + max-width: 100%; + height: auto; +} + +img { + -ms-interpolation-mode: bicubic; +} + +#map_canvas img, .map_canvas img { + max-width: none !important; +} + +/* Nicolas Gallagher's micro clearfix */ +.row { + *zoom: 1; +} +.row:before, .row:after { + content: ""; + display: table; +} +.row:after { + clear: both; +} + +/* Block Grids ---------------------- */ +/* These are 2-up, 3-up, 4-up and 5-up ULs, suited + for repeating blocks of content. Add 'mobile' to + them to switch them just like the layout grid + (one item per line) on phones + + For IE7/8 compatibility block-grid items need to be + the same height. You can optionally uncomment the + lines below to support arbitrary height, but know + that IE7/8 do not support :nth-child. + -------------------------------------------------- */ +.block-grid { + display: block; + overflow: hidden; + padding: 0; +} +.block-grid > li { + display: block; + height: auto; + float: left; +} + +.block-grid.two-up { + margin: 0 -15px; +} + +.block-grid.two-up > li { + width: 50%; + padding: 0 15px 15px; +} + +/* .block-grid.two-up>li:nth-child(2n+1) {clear: left;} */ +.block-grid.three-up { + margin: 0 -12px; +} + +.block-grid.three-up > li { + width: 33.33%; + padding: 0 12px 12px; +} + +/* .block-grid.three-up>li:nth-child(3n+1) {clear: left;} */ +.block-grid.four-up { + margin: 0 -10px; +} + +.block-grid.four-up > li { + width: 25%; + padding: 0 10px 10px; +} + +/* .block-grid.four-up>li:nth-child(4n+1) {clear: left;} */ +.block-grid.five-up { + margin: 0 -8px; +} + +.block-grid.five-up > li { + width: 20%; + padding: 0 8px 8px; +} + diff --git a/resources/css/ext.uls.lcd.css b/resources/css/ext.uls.lcd.css index 7de7edb8..d27cb612 100644 --- a/resources/css/ext.uls.lcd.css +++ b/resources/css/ext.uls.lcd.css @@ -1,29 +1,23 @@ .uls-lcd-region-section h3 { color: #999999; } -.uls-lcd-region-section ul { - list-style: none; - float: left; - width: 140px; - margin-left: 5px; - padding: 0; - display: block; -} .uls-lcd-region-section ul li:hover { - background-color: #BFBFBF; -} -.uls-lcd-region-section { - clear: both; + background-color: #eaeff7; } /* Language list */ .uls-language-list { - height: 300px; + height: 21.5em; overflow: auto; - margin-top: 2%; + margin: 10px; + width: auto; +} + +.uls-language-block ul { + margin: 0px; + margin-bottom: 1.6em; } .uls-language-list ul li { font-weight: normal; - /* TODO: maybe not the best way */ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; @@ -34,14 +28,21 @@ .uls-language-list a { font-weight: normal; color: #0088CC; + font-size: 14px; + line-height: 1.6em; } -div.uls-lcd-row:after { - clear: both; + +.uls-language-block .three.columns { + width: 22%; + } -div.uls-lcd-row:before, div.uls-lcd-row:after { - content: ""; - display: table; + +.uls-language-list-footer .three.columns { + width: 22%; + +} + + +.uls-language-block{ + width:100%; } -div.uls-lcd-row { - padding-bottom: 10px; -} \ No newline at end of file diff --git a/resources/ext.uls.data.utils.js b/resources/ext.uls.data.utils.js index 1b182cbf..d384309f 100644 --- a/resources/ext.uls.data.utils.js +++ b/resources/ext.uls.data.utils.js @@ -277,5 +277,4 @@ $.uls.data.scriptGroupOfLanguage = function( language ) { return $.uls.data.groupOfScript( $.uls.data.script( language ) ); }; - } )( jQuery ); diff --git a/resources/ext.uls.languagefilter.js b/resources/ext.uls.languagefilter.js index 704b5e82..aed98fca 100644 --- a/resources/ext.uls.languagefilter.js +++ b/resources/ext.uls.languagefilter.js @@ -51,7 +51,6 @@ var that = this; var languages = this.options.languages; var query = this.$element.val(); - var allLanguages = $.uls.data.allLanguagesByScriptGroup(); for ( var scriptGroup in allLanguages ) { for ( var langNum = 0; langNum < allLanguages[scriptGroup].length; langNum++ ) { @@ -88,8 +87,8 @@ filter: function( langCode, searchTerm ) { // FIXME script is ISO 15924 code. We might need actual name of script. var matcher = new RegExp( this.escapeRegex( searchTerm ), 'i' ); - - return matcher.test( this.options.languages[langCode] ) || + var languageName = this.options.languages[langCode]; + return matcher.test( languageName ) || matcher.test( $.uls.data.autonym( langCode ) ) || matcher.test( langCode ) || matcher.test( $.uls.data.script( langCode ) ); diff --git a/resources/ext.uls.lcd.js b/resources/ext.uls.lcd.js index 73d1041d..28be1ad3 100644 --- a/resources/ext.uls.lcd.js +++ b/resources/ext.uls.lcd.js @@ -47,7 +47,7 @@ var that = this, language = $.uls.data.languages[langCode]; - var langName = that.options.languages[langCode]; + var langName = that.options.languages[langCode] || langCode; var regions = []; if ( region ) { @@ -79,37 +79,35 @@ getColumn: function( regionCode ) { var $divRegionCode = $( 'div#' + regionCode ); - var $rowDiv = $divRegionCode.find( 'div.uls-lcd-row:last' ); - + var $rowDiv = $divRegionCode.find( 'div.row:last' ); var $ul = $divRegionCode.find( 'ul:last' ); // Each column can have maximum 10 languages. if ( $ul.length === 0 || $ul.find( 'li' ).length >= 10 ) { // Each row can have 4 columns with 10 languages. + $ul = $( '
      ' ).addClass( 'three columns end' ); if ( $rowDiv.length === 0 || $rowDiv.find( 'ul' ).length >= 4 ) { - $rowDiv = $( '
      ' ).addClass( 'uls-lcd-row' ); + $rowDiv = $( '
      ' ).addClass( 'row uls-language-block' ); $divRegionCode.append( $rowDiv ); + $ul.addClass('offset-by-one'); } - $ul = $( '
        ' ); $rowDiv.append( $ul ); } - $divRegionCode.show(); - return $ul; }, show: function() { var that = this; $.each( $.uls.data.regiongroups, function( regionCode, regionIndex ) { - var $section = $( '
        ' ).addClass( 'uls-lcd-region-section' ).prop( 'id', regionCode ); - $section.append( $( '

        ' ).html( regionCode ) ); - // FIXME this is regioncode(NA, EU etc). Should be Proper localized region name. + var $section = $( '
        ' ).addClass( 'twelve columns uls-lcd-region-section' ).prop( 'id', regionCode ); + $section.append( $( '

        ' ).addClass( 'eleven columns uls-lcd-region-section offset-by-one' ).html( regionCode ) ); + // FIXME this is regioncode(NA, EU etc). Should be proper localized region name. that.$element.append( $section ); } ); }, empty: function() { - this.$element.find( 'div.uls-lcd-row' ).remove(); + this.$element.find( 'div.row' ).remove(); this.$element.find( 'div' ).hide(); }, diff --git a/resources/images/clear.png b/resources/images/clear.png new file mode 100644 index 0000000000000000000000000000000000000000..b371608e4941164934b141ef22eb4dcc8976e0d1 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^{24nJ z2uuZG#tRG=wgLquOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kpe0@@9E+g zqA{`c;$Gfn1A(@O)7PKik!;kGt)0<0ze8|FhhTtC8At7|5XnZ#Aeqb_5y9I#zS`cO zTN@b~x^oHRi#f&I?8|d+8yn1u)aPG+;BdUmLH2^FCLAvs%qJ{os!MqH+WKeU=@18o zY3FvjGOTQnU^#KEw71M)^Xw(n9RD6V9ALL-O%PzdQd&Fl%a;$yX-7?b*VoQ<+W*Sk zHg~S-UFYZva_{cNOt{gMB%twk#YIysw(aLV*BWNeQsWBtXYyivEZE~?aOzA|g5N=h d1377b#jV1op6PjLl?L=0gQu&X%Q~loCIIgbe%$~7 literal 0 HcmV?d00001 diff --git a/resources/images/close.png b/resources/images/close.png index 02e125a5fe2b80c06c7d66326f2847674ac994c5..ad16b1ef4b05d9ad36ba83647cf89e4088ccc725 100644 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^{22?p zxPdTZMzBH?P*AeOHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprRX|E{-7@ z6Kf|QoYD-nHo4ySu)@e1o@C6q}^Y%ckA>mCO&`zMC(R{GZ|9>uCy^Y~P%!jWQaZ zoGK2#vr~1(o!Z$H4`hOf8?ToH6qZUKg=${gRdM4so8F zdR1w{e+doiJW|zInms81C6T8j;{m9_y>gTe~DWM4f0dS11 literal 637 zcmV-@0)qXCP)Z2&_nvd-yfgEjQ>1@i z6;Tr-q7Xf?&%GS_nBED0%lCjg`rkEkvJ#iqG zY>q3eqpZ&J2k}<4324d=#h%zj?N7>LK`)4o=z73A;uincQ1$>N-w0Ha<`Z#Oe5M?i zDT4*x$V|FUFjKNjkX&>hn4km6M=WU1ZYqr{>u z1lYnCQQ5YiF;;gg^sqpSyIE)=bp4%p$ylbwe${iZP6~c<8?DfUIR4%}$NebotlYPa zYOLxFSfnI=*%n-2_qcy+Vf--D{yknyQ0!CUX{gx}X(oa_qhTfWb1!$Rq-55Zroau1 z+zbtP5wf_?yk^*{32$yyD0Id;nH1Mi{YAVAHM50(A!4nsVdjo?Z-}LRhIB@_FVldM zT6v>77RD{Q&^S#2ku$-IQ zy)*g4!hW;gH^15WX1*CwRkCEQ-6tX^y!VqLas)UGG=Vy>s;YGnsl{>pBeR1XNftPY zqQ6As4zN2X{+0LsT#_V>-vZCg&5aKX3_Ji%X85iHBN>Bf0XH@_HvU;zS@~WRY&xKC z(ohju08Rm;aU733=SIBu2Y|D{+u$|?+!`AjONv4v^~cuQS_=9>RWCZ{YFh|Jg`!XZ z=iIW0ECzEoaJxvH5s?!i09Cyo$MK7z(6(Bw)@9(|V4kX0tEQVjfbrf>rtC+(LIIYR zmYS;iESP&6jmAVSI1~o}ZM9mj`vC(OW9sd9RXv{T&(Dek@NRi|`D?#m@BM0O5TixF z&G5dbUub8%s(vg2Zcou4*4q93QblBQtrP`sPLYWG*)JH_j8)bAeXOeKMRCnqJJ2g} zetv!umrk()*0L{%x5%Ll`D7y|wS zW{VV(N~JQ`Y&P$z>ZQ=M=A0|(R)>5i7{FS44Y(EB6}UG%JbZO=aq(MLV7XkLFvdIt zN~z{LFkPhNZi1(#rgnv+?R4t<2N8Lys&9-jYu@`2prootMC1%Gn9=7;U?va#%MB!o zqH`j0m;BpDTWi2~AYFQM;lC8~aGo9l9s{4c0P7-h#yM94rUR_4W59E3?UqF;^Ul>) zwOTceMq@%%j~in~RrO_wsT8467Mwt{+>)bN2N8&mSMR{aN|FagJw#;etOR3d?n#b9a1JUCuKzxMv+t#({(W^ZA^3 z8YJg#=03t06%}i{UFt~k4}Qk?){Qn2&;OsFX}S8rod5OfYuOmo6e?FgTe~DWM4f2O(2% diff --git a/resources/images/world_map.png b/resources/images/world_map.png index 96c7240ff0386ab923525b5394658227fd9e29db..30751d4d41ae023cb8787162825fea4d8bd78839 100644 GIT binary patch literal 8803 zcmWlf2RxL29LH@kFGO^4a_Mj(bYx|7Hc55}$=*9Ngw8lCdu64|`di8BvI*JQoh>AL z#Q)dhb?)U}=NZ4}JKmqq_lefgQlX<}rzRpIqC=}H>Vfxe@Onl?0)Fc*PA-8rVh=qP zd7_WspzGid3M+LLMWV}pKY7h1N#K(!uBt{JL_{=9|6asI8CloChm@XZO(n`1N=6D| zl!)k71`!dA2(2im@B3rR?1c%tN!>@{_Xr*~YlxC;XdX}JTVKW`&p-R?564?SXs>>K z`_`_2hyE(D4TMaNjmG{n=eYEl0qHG7-umY0J01P8xwBaZa|c2-@>wf=PxTwZ@z&g8 z&L^(13KE!6s*O=9yiBjG?a7#Z3XG~`Wa^L}3%}2fv9Imj`>a*c)X)I-T0Ul9Yg{<& z%TO)H6eRW_6^>r_JUu^`Vy3T--nW*{-Mukx>oY;IRldD`9-9W$UDtyv8u7ZpyFyu>lqs)!Q zUcRI~h$D$5G?)rJ7fv6w_u@;5Q7**7@6n1pd{|*n?oi7^G3?= z&%4Z6zZ`8iW0`*M&QT500hKvm>yZX6deX_=Cp@@UW%$7ur=_L!U3At?)KlUnUZ@qp zaD%Z@QI}aMu>i6Bu0C5>4pLWFC(B9likN=kXK}7|%~W>wP56pLMHaG;7XR6Ix8RPe zsj2B(jpCdIl1~=m&=o)PBE73*S7|AxFA{8~!o$O3V`*|$d1FYX?xL~CJ~BC~Fd-2U z5gC~|mI@!JD=DQx;qYta!jh5_QB8+hJ3ci;$r^%&Y-n$H8P-i zPVtsy6GcNXwZnD|rXP9e*8LkAv0oNlr8q9T9$w_1 z{~mmJ$*i03Kc8|mDAKzU z2J5TVDw+QApq3L zW8v+l#AJ{8uK5!ir7G!u71F>NjED|Yf9N7q8ROt+gYw59WykCXzkQ<$%R^9qSiiVc z!PKS3la#2c2qDA5Grj8=y;biJmA9-9DC&AjWP5mcG@8=ucm)MHR~d@3V-PVZY7wg^ zs_-vvS>U`HO`o;~)fyt>Ii%%jUpP3#!g~@E6C)xbiW6zVDjOTGluwGTvtw4;!znS! zcxz!ZltcCdmcW+Q)?5vqQ0`m#;RJEyYIpbR>8-jc$Lo>TsL7jV&2b=_5yvuWMS9KV z75aQ|^bbc=M)9MvT}WDbK!_GE zBoxVdsl0W(?M9*80D;n_V99^u8-U)3M20>e(}S;mV$(M`A}&(WYw?M zcy{2mEA*knzfGPMzY^-A$&=K#Eb;K+bEEM^*R_LFkm-?@)DiOhPxS?y5X|73aG8tV z%|pM%J|rs_vT<^hMWGo3EWCbt>*!2SK;Zj2xYyg?3wdI!Dq89- z#&-PNZJ6I#^_$x~sFUC^Fff2c1w3XF|CUNC$u$Bt1(WBt8KW^Z06PSfLyEkLl-Qp9&Xt1@&Z3AtP_ zl$4ZA*PsyP+jk6u$y)9ZX3$ts85s^LGUFX1B#V!?w}qo};Z@IMP+98m>Tt$HRkBwf z=66~``SD!Scl&Ka%97_ImyWQ~>XOPgeq=|`(7aS4fD zx0#-vE3|ZP?1q%vc6_Dvc-e?bCEL`&+8PGSn;>$_^#AxbXU~c? z6PN3i8REwMn?Fu$mJ}B!^Ad?_hHIJ&q=ALX*J(I(?5&nUp~hqQ4D&%LPqkTGVOAR3 zJkaO!3Jg3y+i893t>7AMc4Irlc6rcDfVHohiHQju9Z8z4MR}1N9UXmeaG+L15`C=| z5_^lv%FQj&^7`w4-4pDJzt%W=z?O~zKT@K7kG5ud>*a1blWUrCVY^!vjH<7%PasXb zWQ2F(hUO==qKxe9#~Gm$dHQ_diWB^bOf8C-S(MzoyspiR+~n|4s7q8U0>PH@uzt!> z(ERhzx@WtE4i=tK47yopQc9l<;Dpq_wK})^s{59OuhWA2W?=BIb{lxMpPcwLnqHir zcr=^uurlztLIs(rYmEn->nTZyvG6VLfFzfjSCw>&^wxQl>CRo9oVMmKFMI$bh_b)d z?Xs$JZ~XB2`Xa5&j>|qe)h3Pr8>QXSfP|k)?PPNhGVOnDYw}zs0bS~)NgVsC5o)lO{C_SZbX5w<}2bNTuGpysJ ziMK+t`M<-QpPwHddRIsqz6id50w3;eueYu7b9eu4Ej+gAMYZSTk;I6{ zg}?iv!Bf-P8tfr*mZsAv#SxE)@o#RawaR-cGUM@sw##kI{$RS^MSAzHQ7VAf4y*L6 zto~*9UZO1Q^~l|`zw@oZPs;Qw%$vg)#Kgp6I|^V_G&D47CdGneED8c?kJ#Te`?IG6 z6nY8H$~mj(j{f=ME|a@+7HF=*9A?$j(xQd6uJ{gCNf3$5%FQK+Z@Y>Y3?q7Xb@Xrs zps#-sa&&g4zuW)ii+q_r2+@~=*w$G&0k2qlK~(Gjo7|cCRdO#8ph3f#*hDE zTNAn)P_j@oX5T*E={93kMf=rbJSmGJm&;euzxInv@I}^ut&NcYGj;Ig*?d}RYO=CS zb+=u{;n`nMzd#X$b`if#D4v>M4$b5bw^B97XHGhzY+Ng&Q`6GG*Il7UzEYx^6ZZFS zzi;DQ**npp9-8H|dl;W>qygJbcxW?{!g&?=A@$bqpGhlL@ zt3Zue$)XBDU?t~RSzSHbEZQ{ib5Zka;y5E;&75)s3L^{_0uN)4GVg;rtAd5@vDQ0j z0Cc7EONf?hxJAD*eWO`0cB>b1)(-s&f zH&6n94{x0R-JWeS=?M>kt1UFZ(SU$IJ%)g+zOb#>hf&AJ#W^3tRn5ADX!YQgt@3mU z8#30LylH*Bv*8JNkDws>t5l`owbNVqI`o{XQTCT7e{SQ2daVEK@Be3r z3{!tYXqcTfQ{~ioPo1Jh?!Eyk`J?Iqh$06f7?rsNGJ_>{d4J#2-M#vt*S_{sQ`6b` z$)1VMoLt|wNWtUxp#Q@3>Cz2TQ?8K_)0L`3oYO?%iEWtMd;#(et_J*BLQ7f5sP|0CmzrP&{!DN z--&G@eH5hyYCmXGvX4seQazZEZ;sK%t2!T zjD8y&6iKIzwA|a<`|D-rRsPIRDhJfg8xp4$Q=|3=qobpflan?FhWM&@AhUD@(sY%W zRqxrXuvKOiOR$8&@?6QA`7}r1Xg;$-+^>^56hj;V@VQ=D2-|DIan18V81q{Vo_5{m zRfYiZaSv1nZ1+H_w9B;ih~H-)D1TA`Qyh~ZsBsb&Q1|+(`T6;Wo~s)r&20>8mW*`c z!w9|tX+X>Ox?2-*uB}gI!*f>iBN^scbZ(=+udkOO`wYsxAf;dYW3I8pb`%yCf=uWC zOWzwNqa(B6QAFn(yAK+ib9Ga~v24@%-?O8(eo%R*93!cpMOtngoSvTgn-uQEy`s6# zu9-AT`4}F~bXD4Sj*fy&^ujxM)^|S^Kw$yCs7<3NE6YZ>9VyZGM-bJ zfI1o}&lPg>`v4t9c)LZ2w?Q~fiI2j8|I6pkDaWqvTSz4>*<97@=3MpT;495&DMIu* z*Qcr7{@pb<-olsG7a=caRP(@YW59+IBW?TqxyduhgjXkP!-e$yZwTW0%5MC&3mY37 z2g&*LcCt7&<7+zI)}WUJwQ|-OJ-RJ6zN2_S->KHx>vGC~G)m=^38Z>ytMkh6#A(&o zF$!-f%ARQUpkMAwO`uT? zP5!W*!1V8MVby?}pqp295r{Qeb~%hv$>n_aRt8eEP~DTio?JK_k=-95WmG^Q_765E z^vXt0K|+B+gFWGj25Z^cP#voa~|>arG~oMQZl($_(fHCfkAnF zeLVv`eR5h)HLbwgV&lHPS3FCHo*aUoLJCUP*IzWvesjyJHr@Y5Ort^jx`H=xc!_IC zeEazLIx~<_TYD#A?G~uamzNjP?@&UtB3XGz#k&+Z;n;$P+FJ7b&ARfB8l0e0_MR#p zQ?KmxB;85d63ZwCO>Dm9<-a=B_a_bZ(9PRBwV<@4qeIMP?sMP?qt&29wpI_#_N___ z0kCEGKSKn_Y;A9IaBx^%reBkhmIem~J-YO_rcFUO!Em9HZU0f5-l4D5P4Rn6?st*M z|Lmo_o0`j-tVb9IY(=`sVhT7O1_e%iIzOCt0fhMC#T9I0Q@#8)S*6gws=>e^C2N`n zN3VICmXEaro&dVq@|HXfg47wN-oH)@zzslcaB#4VjZHv+3FMW0K9S>x_`V9}5pHho zaF!fJ5r8TA_++=dV zMoT#O;h&qIzBEyS@1(dcwo6sBrhRE#a2hW?$RXT~`gqDCK z=b<7qAuiB?-XZJ*0-DOasQ>eGlgNHjXQJn=92!6oE|+YX|9P>=XUEvY7bG!Q(K`E1 z;CtLkT&o_C_O2Pa>y{)3P*8tanB@0|p? z%(pn5RvP0#7j4|io@U|p%5%^k*e5pB96I!Gwygp7NB_5P@+&O=Nxkl{a=P(C^dLPn zn=*=G#*`uCJOBRcI)M;kOa4SvC?{v(e=@$?g(~qNhnr@EP?>a2LSQ}9c`3u?;QtpirmcfY7BdzJ+0>tvN|w(rj4CEZ*7pH4PYOE;k`7|@?Id*0D)3K+qIi=QqyB?FUl@v*?Lp|;~niB(_%kbYvaf7f#xe2@$>hmelRqc z`*5e{;rg!c&s|>=?yAR3VUp8Z-YII=Fv?rrP19S>&B83Pz`a!l4xK1Pa^!tli_o9s zkA5Ba_bpcs+r4|iZd@PA2j*R$ z;84)tE=w2@&&%*MO0D?Nc$2KSoyLofK9t_m$lQFpzdJwufyGhv5_F$ysj*~a9kgHG z%=S7|!gfE8WGmynH4F{m)jfbx-rmFn@tna`F%)X!KmuC!LuG~_e(`5nz1ck8lxVH; zX45RtihH1f$jsdbV2ds|o_1;VDhw~&^vhA{Ur?i`F1hvX+c!|CItjaJf=}y&8C_3RvHQQKL`KQ2 zhj^nDoPu93S%`Vxrb+}nebkJ9gI}bIkT=G$Aa!hf-xicw2#MdnKQ@q#m<^d+cK3?s ztMpAiU+?`vLiNkh(ee0i5Eh=Fs@^jQ#M-Sys?tLptx3;SVz<=Af1bfRy|Nq~fCi1G z99kcY%NSpXW_&B-HT#oeA#|NO!oOMj=+Uch{)>J=0Rd-Y6}Qsi{m0zhrFt-t#x=q95{s6kXZK1fur^1g12_%5w=5&l+GN~5#SOp&iAxOC&=)X z2M1m@EfCL($=O+HNy+dHF`da^CtWH^jsuAfGP&cw7d|_4W~Qc~-#CcrZlHZb;e0Hy zVpj&6X16o5(uOw)8ayLkzmmlf)O1TlcNc!&(q(3g%tvehRRGH)evMIn=HgOO#$aAi z0St&gPZUUi2y9mV5(!5S!A{SPcFOcO00R%T7M+Dm99$=gw46BHm7PZ+vae?h(w>#` zQ2Ud&tpbfKoY?l-Ln0eAt>a_y+(CupD~mY=i1IP^_^$jLC%~T$NxDDay4uObti;i9SdpZPVie7&+aZ{El%17S$I-}b>DglJbdPr3~-9H(=_Jsq|qL8;_D=)Lh#La)^k zWg>JP3aKNLGc+^XI*5|Vt#G=*2R!$(zS_o4TTo~sCaBvPC zaa~~Is7=7acIyeJdx}GK^1PO_7|_h$`uq2*$Qcu0R6w|84$!N%029tUpf#pol1+4| z)JIkx`k4VRMP_DZk2RzFofK9>oB<$dOD=%nxGPuH!>>DtL%}2j%!$f6XJsly*#~B3 zOoR8VhEv&R9M1k;vrk|-&-jjs@;e9kwJz^&sUOp9-)Du81 zCy*9?-edyDD3f0JWDZ0Q;j59FBVfiPnyppBpQ1KRZIYsP0FX|(Fw|H*rl0``p5xtT zquuDjVX814z7#~vCuG-)Qm&iHt>c0zKRaSs(>jJvBXCDM^GBjeW;|yM>B+U^|Hdps zOEAaB-N{aChN+k?0zfDu2|gZMI@dTQBV}md2BSr`0OhlL&Endp^cU~FHs7Oz4V%&s+g_fI{`k*Kt zXaS2W4Ex#KiK-QkYsKRLv_@Kz$q}J5G=xZ*1R^W*9~ zs(VW>6-Gowqd#-;v<*tyF)Vd-C{@IVP*Y6~@ul#ks3{c=OOEX@{D}Z=EZ7!CJ%3f$ z%B_X@Hv?niNEeLh_)>cB`p%^k0<$inzc$li(?80Kw@hI|=UwEHzfJ{=%DjSAiXPb) zbh^L(`?n5+EOWryC!}NVd}HH1j0y`^x^=aiol@|LIJEP^UXAEhwfZi}`b6(Fw!_^( zMC5Oo4lSewHxBEGG)qMWHxI7rEMdOia&Lt0I|BRprS?)QDy453L_HTIZxPSw zN)n@0Ldv2JQB2DqnvCo{fq$H72oHY(gEXM#H;Q`~A}`>;e0eDkBxb%2)y)BFc~0xE zxB$-N|C*YnEfp8K!usilq9vP_haS*&JNykUa2<+#{2X|!6ANH8RmVXmK^3;bJo|a@ z*Dpt=abSX5j1)30C8j@kC5qu8N3dgnX4?g-$Ks>+TaVi^uF(0px$OjoE}?!Kt_2er zS(B0xufeK>nn?>G+Wb)3*T0;9`jg3J<>a8&p|EA3>w5RPBkW&kWEjl2mQ&2Y>AenIPAEcTP zXmLxTD!h8?m!{TXm_eF(#gj&9$#u&#l&E)$x|#ZRT_T>3(u7f7$4WBx;qQpsHn0B2Z}G(uM~Oq`ozyZB{c*S zAr@9`00!AcXe>Y;idn>Op3!#iZJGBxRAKWwE&*;)*fkT1RP%~f;WKT>tCN!xlR&gl z>T_G$jJGVwbn-KM-$=^Qx{-){pa9(&>Zj?bm7};+v7*w_FO5b<>4R2G=A3k12Tmm{ zl<)5D-Z-6d5uj;9Q)TBYN`c{AW1Wh?+|@AFaBnf4as{k44C2~osx}8k%|Pf#acB#t zJEmO0!ZkHDc{h1Kl}Pq>0;c_E4{iSZ`DOE9?)0?%K@l9i;VH3}r4IR;t#s}1$zfcN zwYxYpp=ml}o`llg5Xq7(H1ZXzkUx}izaHUNc|z`-opibR^wQqJQx&_kcd||LKFI5n zJIRB%v)_y1j8JSnDUKC9Q84lESpay1e7=B@JDB!e35fDUs?IfNRJ;l&-_iB**d99} z0ZN`+>U99Yu0_}pnJ5;k+5XSSz7#c^=g*^7{gQg#X^4LEkN_3;{lq4~j7XpO_xUF;fiGi!G(`8V z?Ml|*>Z0jFaqdiY9JwT6bD{!*iJS{oS64scmp+dGCI<{%-RHs2j_CxZ03dQjT}OUH z=k#a98$cqdDnPqHP0rV;G(;Z7N^5{)Bs?C+T!qAUiKO>~#|rc&r?V)$SkD6r5FbB$ z$O{I_FVQbh+b2pq4%kp9fkC#mosK9U`Uf*tZt`aisA0)+xMDkmmuxSOMvMMlEaEA% zwZtAioIiQ9()6WjfgFf4lB z6*(0Z*jE(N;&N*LJZC%9>t^xozCQrX5r5XMt3tbKrhe7C%scb${(zHPgteqEx;2XL}(=~#gFn9VgCcTvK#0C literal 18136 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 IM6N<$f?}Qd&j0`b