From ebf6365b06fe97bdd0d6cdb338e35f95527fe58d Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Mon, 22 Sep 2008 19:31:52 +0200 Subject: [PATCH 01/94] fixed the order of javascripts - hotkeys now work --- git-wiki.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index a6126bb7..cc6d963c 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -165,7 +165,7 @@ def list_item(page) %head %title= title %link{:rel => 'stylesheet', :href => '/_stylesheet.css', :type => 'text/css'} - - Dir[Sinatra.application.options.public + '/*.js'].reverse.each do |lib| + - Dir[Sinatra.application.options.public + '/*.js'].sort.each do |lib| %script{:src => "/#{File.basename(lib)}", :type => 'text/javascript'} :javascript $(document).ready(function() { From 87f60efe27b3746f76f715623f3409f179ef06b7 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 09:00:31 +0100 Subject: [PATCH 02/94] Better hotkeys --- git-wiki.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index a6126bb7..dcf2339d 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -169,8 +169,8 @@ def list_item(page) %script{:src => "/#{File.basename(lib)}", :type => 'text/javascript'} :javascript $(document).ready(function() { - $.hotkeys.add('Ctrl+h', function() { document.location = '/#{Homepage}' }) - $.hotkeys.add('Ctrl+l', function() { document.location = '/_list' }) + $.hotkeys.add('Ctrl+1', function() { document.location = '/#{Homepage}' }) + $.hotkeys.add('Ctrl+2', function() { document.location = '/_list' }) /* title-case-ification */ document.title = document.title.toTitleCase(); From ba9893ce1ffdf58ceb63eb7cc0154219a9daa0f9 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 15:15:51 +0100 Subject: [PATCH 03/94] Support for images --- git-wiki.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 9a036dca..77591bcf 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -148,6 +148,16 @@ class App < Sinatra::Base haml :list end + get "/img/*" do + git_obj = GitWiki.repository.tree/'img' + params[:splat].each do |part| + git_obj = git_obj/part + not_found if git_obj.nil? + end + content_type File.extname(params[:splat].last) + body git_obj.data + end + get "/:page/edit" do @page = Page.find_or_create(params[:page]) haml :edit @@ -182,8 +192,6 @@ def list_item(page) %html %head %title= title - $.hotkeys.add('Ctrl+1', function() { document.location = '/#{Homepage}' }) - $.hotkeys.add('Ctrl+2', function() { document.location = '/_list' }) %body %ul %li From 6e576388e8fd7c7b6904a5e74b4b22a4ba0a497b Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 17:35:15 +0100 Subject: [PATCH 04/94] Make custom h1 possible --- git-wiki.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 77591bcf..61310595 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -75,7 +75,9 @@ def initialize(blob) end def to_html - RDiscount.new(wiki_link(content)).to_html + html = RDiscount.new(wiki_link(content)).to_html + html = "

#{name}

" + html unless html =~ /

/ + html end def to_s @@ -204,7 +206,6 @@ def list_item(page) - title @page.name #edit %a{:href => "/#{@page}/edit"} Edit this page -%h1= title #content ~"#{@page.to_html}" From cea0bb52ba69dd045b22b8b83b20c77395893fc4 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 17:53:39 +0100 Subject: [PATCH 05/94] Update fork's README --- README.markdown | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/README.markdown b/README.markdown index aadc5555..7a45c352 100644 --- a/README.markdown +++ b/README.markdown @@ -1,9 +1,44 @@ -git-wiki: because who needs cool names when you use git? -======================================================== +git-wiki +======== git-wiki is a wiki that relies on git to keep pages' history and [Sinatra][] to serve them. +Features of this fork +--------------------- + +## Support for images + +You can add images to /img folder of your git repository. Subfolders are +also supported. At least gif, png and jpg supported - content type is +set automatically by Sinatra. You can reference the images then from +your wiki pages like `![My picture](/img/2009/my_picture.jpg)` + +No web interface at this time - use `git commit`. + + +## Custom h1 header + +If your wiki page contains a markdown h1 header, then +this one is used on the page. + +If not, then h1 is created out of the file name (as in original git-wiki). + + +Plans +----- + +* support for attachments +* nicer CSS +* support for deeper Wiki page folder structure +* do not rely on wiki words +* support for special programmed pages - via haml or liquid template + engine + + +Original README by Simon Rozet +------------------------------ + I wrote git-wiki as a quick and dirty hack, mostly to play with Sinatra. It turned out that Sinatra is an awesome little web framework and that this hack isn't as useless as I first though since I now use it daily. @@ -11,13 +46,12 @@ hack isn't as useless as I first though since I now use it daily. However, it is definitely not feature rich and will probably never be because I mostly use it as a web frontend for `git`, `ls` and `vim`. -If you want history, search, etc. you should look at other people's [forks][], -especially [al3x][]'s one. +If you want history, search, etc. you should look at other people's [forks][]. Install ------- -The fellowing [gems][] are required to run git-wiki: +The following [gems][] are required to run git-wiki: - [Sinatra][] - [mojombo-grit][] From 1ed9de0aa9cde7677bbfbdc016661bb7ab15f2c0 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 17:57:10 +0100 Subject: [PATCH 06/94] More polite license --- README.markdown | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/README.markdown b/README.markdown index 7a45c352..14a3101e 100644 --- a/README.markdown +++ b/README.markdown @@ -7,7 +7,7 @@ and [Sinatra][] to serve them. Features of this fork --------------------- -## Support for images +### Support for images You can add images to /img folder of your git repository. Subfolders are also supported. At least gif, png and jpg supported - content type is @@ -17,7 +17,7 @@ your wiki pages like `![My picture](/img/2009/my_picture.jpg)` No web interface at this time - use `git commit`. -## Custom h1 header +### Custom h1 header If your wiki page contains a markdown h1 header, then this one is used on the page. @@ -118,17 +118,20 @@ then sync your changes back when you're done.

Git is the next Unix

-Licence -------- - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2008 Simon Rozet - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. You just DO WHAT THE FUCK YOU WANT TO. +MIT license +----------- +Copyright (c) 2009 Vladimir Dobriakov, vladimir.dobriakov@innoq.com +Copyright (c) Simon Rozet + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + From 93d2a97c95271ca20119d9af6f2bd43345279fef Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 17:59:20 +0100 Subject: [PATCH 07/94] Format README --- README.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.markdown b/README.markdown index 14a3101e..db1ac64e 100644 --- a/README.markdown +++ b/README.markdown @@ -4,12 +4,12 @@ git-wiki git-wiki is a wiki that relies on git to keep pages' history and [Sinatra][] to serve them. -Features of this fork +Features of this fork (by geekQ) --------------------- ### Support for images -You can add images to /img folder of your git repository. Subfolders are +You can add images to `/img` folder of your git repository. Subfolders are also supported. At least gif, png and jpg supported - content type is set automatically by Sinatra. You can reference the images then from your wiki pages like `![My picture](/img/2009/my_picture.jpg)` @@ -122,6 +122,7 @@ Git is the next Unix

MIT license ----------- Copyright (c) 2009 Vladimir Dobriakov, vladimir.dobriakov@innoq.com + Copyright (c) Simon Rozet Permission is hereby granted, free of charge, to any person obtaining From 6ade2b4420c0398f963d90747f331b83b4db9018 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 25 Oct 2009 19:08:36 +0100 Subject: [PATCH 08/94] CSS for navigation --- git-wiki.rb | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 61310595..73997a63 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -194,20 +194,40 @@ def list_item(page) %html %head %title= title + %style + :sass + body + margin-left: 2em + ul#navigation + list-style-type: none + display: inline + margin: 0 + padding: 0 + li + display: inline + margin: 0 + padding: 0 + padding-right: 1em + a.service + color: #4377EF + text-decoration: none + font-weight: bold + a.service:hover + border-bottom: 2px dotted #4377EF %body - %ul + %ul#navigation %li - %a{ :href => "/#{GitWiki.homepage}" } Home + %a.service{ :href => "/#{GitWiki.homepage}" } Home %li - %a{ :href => "/pages" } All pages + %a.service{ :href => "/pages" } All pages #content= yield @@ show - title @page.name -#edit - %a{:href => "/#{@page}/edit"} Edit this page #content ~"#{@page.to_html}" +#edit + %a.service{:href => "/#{@page}/edit"} Edit this page @@ edit - title "Editing #{@page.name}" From 2ce8a597567fd1e6aa559f33c5e8d9d67bc7feb1 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Thu, 29 Oct 2009 07:51:05 +0100 Subject: [PATCH 09/94] CSS for print --- git-wiki.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/git-wiki.rb b/git-wiki.rb index 73997a63..2b38e050 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -214,6 +214,9 @@ def list_item(page) font-weight: bold a.service:hover border-bottom: 2px dotted #4377EF + @media print + .service + display: none %body %ul#navigation %li From 39cd5c5abb99ee8b59bd73af3ac059f329d2914c Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 7 Dec 2009 10:29:07 -0500 Subject: [PATCH 10/94] Changed path to rackup and syntax for page names and link text --- git-wiki.rb | 8 +++++--- run.ru | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index aad7d1cc..e99393e3 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -117,9 +117,11 @@ def commit_message end def wiki_link(str) - str.gsub(/([A-Z][a-z]+[A-Z][A-Za-z0-9]+)/) { |page| - %Q{#{page}} + str.gsub(/\[\[([^\]]+\]\])/) { |page| + file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9]/,'_'); + linktext = page.gsub('[','').gsub(']',''); + %Q{#{linktext}} } end end diff --git a/run.ru b/run.ru index 664eb858..0d72c2fc 100755 --- a/run.ru +++ b/run.ru @@ -1,5 +1,5 @@ -#!/usr/bin/env rackup +#!/usr/bin/rackup1.8 require File.dirname(__FILE__) + "/git-wiki" run GitWiki.new(File.expand_path(ARGV[1] || "~/wiki"), - ARGV[2] || ".markdown", ARGV[3] || "Home") + ARGV[2] || ".mdwn", ARGV[3] || "Home") From 750bf01f89d7949d8d08fd405b631dce8bdd373f Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 14 Dec 2009 19:33:31 -0500 Subject: [PATCH 11/94] more work on the names --- git-wiki.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index e99393e3..63b4670b 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -120,7 +120,7 @@ def wiki_link(str) str.gsub(/\[\[([^\]]+\]\])/) { |page| file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9]/,'_'); linktext = page.gsub('[','').gsub(']',''); - %Q{#{linktext}} } end @@ -168,12 +168,13 @@ class App < Sinatra::Base private def title(title=nil) - @title = title.to_s unless title.nil? + @title = title.to_s.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} unless title.nil? @title end def list_item(page) - %Q{#{page.name}} + title = page.name.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} + %Q{#{title}} end end end @@ -184,6 +185,7 @@ def list_item(page) %html %head %title= title + %style{ :type=> "text/css" } .unknown { color:red; } %body %ul %li From 5ed311c1e0ce49c537efbf0a0b7252e994b2b4b9 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:31:36 -0500 Subject: [PATCH 12/94] new TODO --- TODO | 1 + 1 file changed, 1 insertion(+) create mode 100644 TODO diff --git a/TODO b/TODO new file mode 100644 index 00000000..a658ff75 --- /dev/null +++ b/TODO @@ -0,0 +1 @@ +Use XSLT instead of Haml. From 5317c2b0ae61ee5d6e075fa15cd3b69461d2582f Mon Sep 17 00:00:00 2001 From: Docunext Date: Thu, 17 Dec 2009 00:33:37 -0500 Subject: [PATCH 13/94] hu --- TODO | 1 - 1 file changed, 1 deletion(-) delete mode 100644 TODO diff --git a/TODO b/TODO deleted file mode 100644 index a658ff75..00000000 --- a/TODO +++ /dev/null @@ -1 +0,0 @@ -Use XSLT instead of Haml. From 0fa681bdd51024d4b6b0905c2b7cff4a3cd43c04 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:34:42 -0500 Subject: [PATCH 14/94] new TODO --- TODO | 1 + 1 file changed, 1 insertion(+) create mode 100644 TODO diff --git a/TODO b/TODO new file mode 100644 index 00000000..3eacbba3 --- /dev/null +++ b/TODO @@ -0,0 +1 @@ +Use XSL instead of Haml. From c9036d9c3668c4873ed5e15ae3ddc3a928b886e7 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:39:26 -0500 Subject: [PATCH 15/94] mini --- TODO | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 3eacbba3..efbcc54d 100644 --- a/TODO +++ b/TODO @@ -1 +1,2 @@ -Use XSL instead of Haml. +Use Rack XSL instead of Haml. + From 1b1f4e79037a846ad53a5eedab7d8842fc8269ce Mon Sep 17 00:00:00 2001 From: Docunext Date: Thu, 17 Dec 2009 00:40:18 -0500 Subject: [PATCH 16/94] huh --- TODO | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/TODO b/TODO index efbcc54d..3eacbba3 100644 --- a/TODO +++ b/TODO @@ -1,2 +1 @@ -Use Rack XSL instead of Haml. - +Use XSL instead of Haml. From 6d81fa5d1b3702e3844b2a9d7dce7ce21ab17d05 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:43:56 -0500 Subject: [PATCH 17/94] rack --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO b/TODO index 3eacbba3..5855e86f 100644 --- a/TODO +++ b/TODO @@ -1 +1 @@ -Use XSL instead of Haml. +Use Rack XSL instead of Haml. From 9aae89ddd0316cba8c29f60b0295b05221c6bf3a Mon Sep 17 00:00:00 2001 From: Docunext Date: Thu, 17 Dec 2009 00:47:08 -0500 Subject: [PATCH 18/94] huh --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO b/TODO index 5855e86f..3eacbba3 100644 --- a/TODO +++ b/TODO @@ -1 +1 @@ -Use Rack XSL instead of Haml. +Use XSL instead of Haml. From 31464dcd6ec9b815e88691f039a460d883eda197 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:49:36 -0500 Subject: [PATCH 19/94] rack --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO b/TODO index 3eacbba3..5855e86f 100644 --- a/TODO +++ b/TODO @@ -1 +1 @@ -Use XSL instead of Haml. +Use Rack XSL instead of Haml. From e6f8879fa752223fee5a51dd4e520cd9f2f793e6 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:50:34 -0500 Subject: [PATCH 20/94] rack --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO b/TODO index 3eacbba3..5855e86f 100644 --- a/TODO +++ b/TODO @@ -1 +1 @@ -Use XSL instead of Haml. +Use Rack XSL instead of Haml. From 8f06488f5391bba8eee1bff12a209ab762b82910 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:55:05 -0500 Subject: [PATCH 21/94] mini --- TODO | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 5855e86f..a8f429cd 100644 --- a/TODO +++ b/TODO @@ -1 +1,2 @@ -Use Rack XSL instead of Haml. +* Use Rack XSL instead of Haml. +* Ruby GD? From 2bf4051e5c35ddc9c9100ae3e013e0c53d9b9c3e Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 17 Dec 2009 00:57:32 -0500 Subject: [PATCH 22/94] null --- minitest | 1 + 1 file changed, 1 insertion(+) create mode 100644 minitest diff --git a/minitest b/minitest new file mode 100644 index 00000000..e0fadc27 --- /dev/null +++ b/minitest @@ -0,0 +1 @@ +deleteme From 5730d2129801600463506488e4dafdbd7c396e48 Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 20 Dec 2009 01:44:57 -0500 Subject: [PATCH 23/94] setting up static files --- public/s/js/docu-not-git-wiki.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/s/js/docu-not-git-wiki.js diff --git a/public/s/js/docu-not-git-wiki.js b/public/s/js/docu-not-git-wiki.js new file mode 100644 index 00000000..e69de29b From 9ffb8214b215b1f3739ca1223de80d4c08fc0c27 Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 20 Dec 2009 01:58:03 -0500 Subject: [PATCH 24/94] jquery --- public/s/js/jquery/jquery-1.3.2.min.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 public/s/js/jquery/jquery-1.3.2.min.js diff --git a/public/s/js/jquery/jquery-1.3.2.min.js b/public/s/js/jquery/jquery-1.3.2.min.js new file mode 100644 index 00000000..b1ae21d8 --- /dev/null +++ b/public/s/js/jquery/jquery-1.3.2.min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file From 1c35fcc163fdb9f56c22dc53ad440544258bda18 Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 20 Dec 2009 01:58:28 -0500 Subject: [PATCH 25/94] updated head template --- .gitmodules | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..bfa1537a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "public/s/js/jquery"] + path = public/s/js/jquery + url = git://github.com/jquery/jquery.git From 81a0342e5781c146be0850b2238850ae7ec62674 Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 20 Dec 2009 02:03:35 -0500 Subject: [PATCH 26/94] submods --- .gitmodules | 6 +++--- public/s/js/jquery/plugins/jquery-form2xml | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) create mode 160000 public/s/js/jquery/plugins/jquery-form2xml diff --git a/.gitmodules b/.gitmodules index bfa1537a..6c07b392 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "public/s/js/jquery"] - path = public/s/js/jquery - url = git://github.com/jquery/jquery.git +[submodule "public/s/js/jquery/plugins/jquery-form2xml"] + path = public/s/js/jquery/plugins/jquery-form2xml + url = git@github.com:docunext/jquery-form2xml.git diff --git a/public/s/js/jquery/plugins/jquery-form2xml b/public/s/js/jquery/plugins/jquery-form2xml new file mode 160000 index 00000000..bbb27db7 --- /dev/null +++ b/public/s/js/jquery/plugins/jquery-form2xml @@ -0,0 +1 @@ +Subproject commit bbb27db7aa74905c0c05a38a63145716bf97ea30 From 09fedc6686e8a81ba95f971a9dd67b5f4986a132 Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 20 Dec 2009 02:04:04 -0500 Subject: [PATCH 27/94] jquery script ref in html head --- git-wiki.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/git-wiki.rb b/git-wiki.rb index 63b4670b..9201897f 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -127,6 +127,8 @@ def wiki_link(str) end class App < Sinatra::Base + set :public, File.dirname(__FILE__) + '/public' + set :static, true set :app_file, __FILE__ set :haml, { :format => :html5, :attr_wrapper => '"' } @@ -186,6 +188,7 @@ def list_item(page) %head %title= title %style{ :type=> "text/css" } .unknown { color:red; } + %script{ :type=> "text/javascript", :src=> "/s/js/jquery/dist/jquery.min.js" } %body %ul %li From 6475d6fb9a67a1c43d80c99dac4688f06c642170 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Mon, 28 Dec 2009 15:46:02 +0100 Subject: [PATCH 28/94] Style: monospaced font --- git-wiki.rb | 13 +++++++++++++ run.ru | 1 + 2 files changed, 14 insertions(+) diff --git a/git-wiki.rb b/git-wiki.rb index 2b38e050..e66e1248 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -1,3 +1,4 @@ +require "rubygems" require "sinatra/base" require "haml" require "grit" @@ -198,6 +199,18 @@ def list_item(page) :sass body margin-left: 2em + font-family: monospace + h1, h2, h3, h4, h5, h6 + font-size: 100% + h1 + text-decoration: underline + letter-spacing: 0.3em + h2 + text-decoration: underline + ul + padding-left: 0.3em + list-style-type: square + list-style-position: inside ul#navigation list-style-type: none display: inline diff --git a/run.ru b/run.ru index 664eb858..19e6a210 100755 --- a/run.ru +++ b/run.ru @@ -1,4 +1,5 @@ #!/usr/bin/env rackup +#\ -p 8787 require File.dirname(__FILE__) + "/git-wiki" run GitWiki.new(File.expand_path(ARGV[1] || "~/wiki"), From 7ef7caaeb72fc371e39f966c3e582f4d543fc5d9 Mon Sep 17 00:00:00 2001 From: Docunext Date: Thu, 14 Jan 2010 01:16:44 -0500 Subject: [PATCH 29/94] preparing for rack-rdiscount middleware --- git-wiki.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/git-wiki.rb b/git-wiki.rb index 63b4670b..cd63561b 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -2,6 +2,9 @@ require "haml" require "grit" require "rdiscount" +require 'rack-xslview' +require 'rexml/document' +require 'rack-docunext-content-length' module GitWiki class << self From d6ce6e40cbfdc6a3db1210510d91ab03ddec7df1 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 14 Jan 2010 01:18:47 -0500 Subject: [PATCH 30/94] hmm --- git-wiki.rb | 2 ++ run.ru | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index 9201897f..a366c1a7 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -2,6 +2,8 @@ require "haml" require "grit" require "rdiscount" +require "rack-xslview" +require "rack-docunext-content-length" module GitWiki class << self diff --git a/run.ru b/run.ru index 0d72c2fc..53c09e2a 100755 --- a/run.ru +++ b/run.ru @@ -1,5 +1,5 @@ #!/usr/bin/rackup1.8 require File.dirname(__FILE__) + "/git-wiki" -run GitWiki.new(File.expand_path(ARGV[1] || "~/wiki"), +run GitWiki.new(File.expand_path("~/nudocs/mntdocs/"), ARGV[2] || ".mdwn", ARGV[3] || "Home") From 182c0c8ad2d6f0fe82ae0aa2dbc50091b423b456 Mon Sep 17 00:00:00 2001 From: docunext Date: Thu, 14 Jan 2010 01:20:11 -0500 Subject: [PATCH 31/94] hmm --- minitest | 1 - 1 file changed, 1 deletion(-) delete mode 100644 minitest diff --git a/minitest b/minitest deleted file mode 100644 index e0fadc27..00000000 --- a/minitest +++ /dev/null @@ -1 +0,0 @@ -deleteme From 4fb998561ec5b032846cde6f7484d1be07ab974a Mon Sep 17 00:00:00 2001 From: docunext Date: Tue, 26 Jan 2010 19:26:28 -0500 Subject: [PATCH 32/94] working on commits and history, commits works, history does not work yet. --- git-wiki.rb | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index a366c1a7..6e15c2cc 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -51,6 +51,10 @@ def self.css_class_for(name) "unknown" end + def self.history + repository.commits + end + def self.repository GitWiki.repository || raise end @@ -154,11 +158,21 @@ class App < Sinatra::Base haml :list end + get "/commits" do + @commits = Page.history + haml :commits + end + get "/:page/edit" do @page = Page.find_or_create(params[:page]) haml :edit end + #get "/:page/history" do + # @page = Page.history + # haml :history + #end + get "/:page" do @page = Page.find(params[:page]) haml :show @@ -190,19 +204,22 @@ def list_item(page) %head %title= title %style{ :type=> "text/css" } .unknown { color:red; } - %script{ :type=> "text/javascript", :src=> "/s/js/jquery/dist/jquery.min.js" } + %script{ :type=> "text/javascript", :src=> "/s/js/jquery/jquery-1.3.2.min.js" } %body %ul %li %a{ :href => "/#{GitWiki.homepage}" } Home %li %a{ :href => "/pages" } All pages + %a{ :href => "/commits" } Commits #content= yield @@ show - title @page.name #edit %a{:href => "/#{@page}/edit"} Edit this page +#history + %a{:href => "/#{@page}/history"} History %h1= title #content ~"#{@page.to_html}" @@ -227,3 +244,13 @@ def list_item(page) %ul#list - @pages.each do |page| %li= list_item(page) + +@@ commits +- title "Listing commits" +%h1 All commits +- if @commits.empty? + %p No commits found. +- else + %ul#list + - @commits.each do |commit| + %li= commit.id << " " << commit.authored_date.to_s From 5ccb1f7084761861c230a19d9f20de2d0d9c89be Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 31 Jan 2010 17:34:04 +0100 Subject: [PATCH 33/94] Search for TODO entries --- git-wiki.rb | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index e66e1248..359d7d31 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -77,10 +77,30 @@ def initialize(blob) def to_html html = RDiscount.new(wiki_link(content)).to_html - html = "

#{name}

" + html unless html =~ /

/ + html = inject_links(inject_todo(inject_header(html))) html end + def inject_header(orig) + orig =~ /

/ ? "

#{name}

" + orig : orig + end + + def inject_todo(orig) + orig.gsub /^\s*
  • (TODO|DONE) + ((\s(\w+)\:(\w+))+\s)? # tagged values + (.*) # title + /x do + puts $1 + puts $2 + puts $3 + '
  • doDO' + end + end + + def inject_links(orig) + orig + end + def to_s name end From e2cba93b2a34ceeeb3852db80b5f37020fa188b5 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 31 Jan 2010 18:58:16 +0100 Subject: [PATCH 34/94] Improve style: del, ul --- git-wiki.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/git-wiki.rb b/git-wiki.rb index 359d7d31..475c1d67 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -227,10 +227,17 @@ def list_item(page) letter-spacing: 0.3em h2 text-decoration: underline + del + color: gray ul padding-left: 0.3em list-style-type: square list-style-position: inside + li ul + list-style-type: circle + padding-left: 1.2em + li ul li ul + list-style-type: disc ul#navigation list-style-type: none display: inline From 1955556b7981236b5b31076f2f1fdaf87a68cadc Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Fri, 5 Feb 2010 13:53:11 +0100 Subject: [PATCH 35/94] Fix page title injection --- git-wiki.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index 475c1d67..1b731091 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -82,7 +82,7 @@ def to_html end def inject_header(orig) - orig =~ /

    / ? "

    #{name}

    " + orig : orig + orig =~ /

    / ? orig : "

    #{name}

    " + orig end def inject_todo(orig) From 08dffb314b51250f09b123cef913e2503ee1b5f9 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Fri, 5 Feb 2010 16:22:25 +0100 Subject: [PATCH 36/94] Recognize TODOs in the content --- git-wiki.rb | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 1b731091..e54768d6 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -76,8 +76,8 @@ def initialize(blob) end def to_html - html = RDiscount.new(wiki_link(content)).to_html - html = inject_links(inject_todo(inject_header(html))) + html = RDiscount.new(wiki_link(inject_todo(content))).to_html + html = inject_links(inject_header(html)) html end @@ -86,14 +86,13 @@ def inject_header(orig) end def inject_todo(orig) - orig.gsub /^\s*
  • (TODO|DONE) - ((\s(\w+)\:(\w+))+\s)? # tagged values - (.*) # title + orig.gsub /^((?: DO|TODO|DONE):?\b) # 1:TODO with optional colon + (?: (?: \s(\w+)\:(\w+))+\s)? # tagged values 2:key 3:value + (.*) # 4:title /x do - puts $1 - puts $2 - puts $3 - '
  • doDO' + res = "#{$1}#{$+}" + res = "#{res}" if $1 == 'DONE' + "
    #{res}
    " end end From 242464d24a506680e891187cbe58dc94862cb9e5 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Fri, 5 Feb 2010 16:28:53 +0100 Subject: [PATCH 37/94] Sort pages list in case insensitive way --- git-wiki.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index e54768d6..4d89af0c 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -28,7 +28,7 @@ def initialize(name) class Page def self.find_all return [] if repository.tree.contents.empty? - repository.tree.contents.collect { |blob| new(blob) } + repository.tree.contents.collect { |blob| new(blob) }.sort_by {|page| page.name.downcase} end def self.find(name) From 1e5634a71633ed7f4b6453579a4725e69ddebb05 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Fri, 5 Feb 2010 16:48:43 +0100 Subject: [PATCH 38/94] Improve TODO list --- README.markdown | 9 +++++++++ git-wiki.rb | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index db1ac64e..4bc89135 100644 --- a/README.markdown +++ b/README.markdown @@ -25,6 +25,15 @@ this one is used on the page. If not, then h1 is created out of the file name (as in original git-wiki). +### Integrated TODO list(s) + +Just write TODO or DONE at the beginning of a line with task you would like to +remember. + +TODO: support tagged values, e.g. `TODO context:home Recharge the helicopter batteries` +TODO: gather all the tasks into `task inventory` page +TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. + Plans ----- diff --git a/git-wiki.rb b/git-wiki.rb index 4d89af0c..4bf70cc0 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -92,7 +92,7 @@ def inject_todo(orig) /x do res = "#{$1}#{$+}" res = "#{res}" if $1 == 'DONE' - "
    #{res}
    " + "
    #{res}
    " end end @@ -228,6 +228,8 @@ def list_item(page) text-decoration: underline del color: gray + div.todo + line-height: 160% ul padding-left: 0.3em list-style-type: square From e3db0c229ba556c20a039f1e682a616e22fbd465 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 10:17:50 +0100 Subject: [PATCH 39/94] Server pages in form, suitable for iPhone /compact/:page renders * no links * different fonts * smaller margins Well suited for viewing on and mailing to an iPhone --- git-wiki.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index 4bf70cc0..d370cb3a 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -196,6 +196,12 @@ class App < Sinatra::Base redirect "/#{@page}" end + get "/compact/:page" do # especially suitable for iPhone + @page = Page.find(params[:page]) + @global_style = 'compact' + haml :show + end + private def title(title=nil) @title = title.to_s unless title.nil? @@ -258,7 +264,12 @@ def list_item(page) @media print .service display: none - %body + body.compact + margin-left: inherit + font-family: Helvetica, sans-serif + .service + display: none + %body{:class => @global_style} %ul#navigation %li %a.service{ :href => "/#{GitWiki.homepage}" } Home From fadf845d3132bcdfee58a599c76ffa68953cf320 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 11:50:48 +0100 Subject: [PATCH 40/94] Move task parsing to separate classes: Task, TaskList --- git-wiki.rb | 71 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 8 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index d370cb3a..6798bdcd 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -25,6 +25,63 @@ def initialize(name) end end + class Task + attr_accessor :orig_string, :start, :attributes_str, :attributes, :desc + + TAGGED_VALUE_REGEX = /\s+(\w+)\:(\w+)/ + + def self.parse(from_string) + t = Task.new + t.orig_string = from_string + return nil unless t.orig_string =~ + /^((?: DO|TODO|DONE):?\b) # 1:TODO with optional colon + (#{TAGGED_VALUE_REGEX}+\s)? # tagged values 2:, 3:, 4: + (.*) # 5:title + /x + t.start = $1 + t.attributes_str = $2 + t.desc = $+ + + puts + puts from_string + puts $~.inspect + if $2 + puts " " + $2.scan(TAGGED_VALUE_REGEX).inspect + end + + require 'pp' + pp t + t + end + + def to_html + html = "#{start}#{attributes_str}#{desc}" + html = "#{html}" if done? + "
    #{html}
    " + end + + def done? + start =~ /DONE/ + end + + def project + end + + def context + end + end + + class TaskList + def self.from_git() + end + + def self.from_url() + end + + def filter(example) + end + end + class Page def self.find_all return [] if repository.tree.contents.empty? @@ -86,18 +143,16 @@ def inject_header(orig) end def inject_todo(orig) - orig.gsub /^((?: DO|TODO|DONE):?\b) # 1:TODO with optional colon - (?: (?: \s(\w+)\:(\w+))+\s)? # tagged values 2:key 3:value - (.*) # 4:title - /x do - res = "#{$1}#{$+}" - res = "#{res}" if $1 == 'DONE' - "
    #{res}
    " + res = [] + orig.each_line do |line| + task = Task.parse(line) # try every line as a task decription + res << (task.nil? ? line : task.to_html) end + res.join end def inject_links(orig) - orig + orig # disable wiki words end def to_s From 198d4d54f3daa5256f2121e5152d30b51848e556 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 12:56:28 +0100 Subject: [PATCH 41/94] Raw view of text files via /raw/:page --- git-wiki.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/git-wiki.rb b/git-wiki.rb index 6798bdcd..38b58cf5 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -257,6 +257,12 @@ class App < Sinatra::Base haml :show end + get "/raw/:page" do + @page = Page.find(params[:page]) + content_type 'text' + @page.content + end + private def title(title=nil) @title = title.to_s unless title.nil? From 8a4e2719b1c67ae0526f5260eca14fdae1dcebee Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 13:40:14 +0100 Subject: [PATCH 42/94] Recognize INCLUDE statements --- git-wiki.rb | 73 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 13 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 38b58cf5..cf0c84ea 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -28,28 +28,24 @@ def initialize(name) class Task attr_accessor :orig_string, :start, :attributes_str, :attributes, :desc - TAGGED_VALUE_REGEX = /\s+(\w+)\:(\w+)/ + TAGGED_VALUE_REGEX = /(\w+)\:(\w+)\s+/ def self.parse(from_string) t = Task.new t.orig_string = from_string return nil unless t.orig_string =~ - /^((?: DO|TODO|DONE):?\b) # 1:TODO with optional colon - (#{TAGGED_VALUE_REGEX}+\s)? # tagged values 2:, 3:, 4: + /^((?: DO|TODO|DONE|INCLUDE):?\s+) # 1:TODO with optional colon + (#{TAGGED_VALUE_REGEX}+)? # tagged values 2:, 3:, 4: (.*) # 5:title /x t.start = $1 t.attributes_str = $2 t.desc = $+ - puts - puts from_string - puts $~.inspect - if $2 - puts " " + $2.scan(TAGGED_VALUE_REGEX).inspect - end + t.attributes = [] + t.attributes = $2.scan(TAGGED_VALUE_REGEX) if $2 - require 'pp' + require 'pp' pp t t end @@ -64,22 +60,66 @@ def done? start =~ /DONE/ end + def include_statement? + start =~ /INCLUDE/ + end + + def [](key) + hit = attributes.detect {|k, value| k.to_s == key.to_s} + hit ? hit[1] : nil + end + def project + self[:project] end def context + self[:context] end end class TaskList - def self.from_git() + attr_accessor :example, :tasks + + def self.from_example(example) + res = TaskList.new + res.example = example + if example.project + begin + res.fill_from_git(example.project) + rescue PageNotFound => p + puts "NOT FOUDN" + res.example.desc = "Page not found #{p.name}" + end + end + res + end + + def initialize + tasks = [] + end + + def fill_from_git(page) + puts "in fill_rom_git" + puts page.inspect + p = Page.find(page) + if p + p.content.each_line do |line| + task = Task.parse(line) # try every line as a task decription + tasks << task unless task.nil? + end + end end - def self.from_url() + def fill_from_url() end def filter(example) end + + def to_html + example.to_html + "\n Details will appear here" + end end class Page @@ -146,7 +186,14 @@ def inject_todo(orig) res = [] orig.each_line do |line| task = Task.parse(line) # try every line as a task decription - res << (task.nil? ? line : task.to_html) + if task.nil? + res << line + elsif task.include_statement? + list = TaskList.from_example(task) + res << list.to_html + else + res << task.to_html + end end res.join end From e18d457515c3fe981f35f0e5f77ab4ae81ca32e5 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 18:01:27 +0100 Subject: [PATCH 43/94] Merge description and plans into README --- README.markdown | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.markdown b/README.markdown index 4bc89135..58f4cdda 100644 --- a/README.markdown +++ b/README.markdown @@ -1,17 +1,18 @@ git-wiki ======== -git-wiki is a wiki that relies on git to keep pages' history -and [Sinatra][] to serve them. +git-wiki is a wiki that relies on git to keep pages' history and +[Sinatra][] to serve them. This geek brain overlay system aims to +replace trac (wiki and ticket system), a CMS and sticky notes. Features of this fork (by geekQ) --------------------- ### Support for images -You can add images to `/img` folder of your git repository. Subfolders are -also supported. At least gif, png and jpg supported - content type is -set automatically by Sinatra. You can reference the images then from +You can add images to `/img` folder of your git repository. Subfolders +are also supported. At least gif, png and jpg supported - content type +is set automatically by Sinatra. You can reference the images then from your wiki pages like `![My picture](/img/2009/my_picture.jpg)` No web interface at this time - use `git commit`. @@ -32,7 +33,15 @@ remember. TODO: support tagged values, e.g. `TODO context:home Recharge the helicopter batteries` TODO: gather all the tasks into `task inventory` page -TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. +TODO: include a task list filtered by tagged value, e.g. + `TASKS context:home` should list all the tasks for the specified context. + + +### No wiki words + +For a hacker the wiki words is more a distraction than a help. Example: +if I mention ActiveRecord, than it should not link to the wiki article +ActiveRecord but appear as it is. Plans ----- From d87fd76cc44b33ef4e0d190187a8cb7f86a089b9 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 18:23:35 +0100 Subject: [PATCH 44/94] Plans and TODOs --- README.markdown | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/README.markdown b/README.markdown index 58f4cdda..0754bff7 100644 --- a/README.markdown +++ b/README.markdown @@ -31,11 +31,25 @@ If not, then h1 is created out of the file name (as in original git-wiki). Just write TODO or DONE at the beginning of a line with task you would like to remember. -TODO: support tagged values, e.g. `TODO context:home Recharge the helicopter batteries` -TODO: gather all the tasks into `task inventory` page -TODO: include a task list filtered by tagged value, e.g. - `TASKS context:home` should list all the tasks for the specified context. +#### Inclusion + +You can include tasks from other wiki pages. So it is possible to have +one separate page per project, e.g. ProjectGitWiki, ProjectWorkflow and +to aggregate all coding tasks on one, say ContextCoding page. + +You can also reference a source on the web. I prefer to manage my +tasks related to git-wiki development in this README file. So on my +ContextCoding page I have following reference: + + INCLUDE http://github.com/geekq/git-wiki/raw/master/README.markdown + +* TODO: iclude via http +* TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. +* TODO: allow optional asterisk in front of TODO +* TODO: group included lists by project +* TODO: merge and resort tasks from subsequent INCLUDE statements +* TODO: gather all the remaining (not referenced) tasks into `task inventory` page ### No wiki words @@ -43,15 +57,18 @@ For a hacker the wiki words is more a distraction than a help. Example: if I mention ActiveRecord, than it should not link to the wiki article ActiveRecord but appear as it is. -Plans ------ +* TODO: do not rely on wiki words + +### Other plans +--------------- -* support for attachments -* nicer CSS -* support for deeper Wiki page folder structure -* do not rely on wiki words -* support for special programmed pages - via haml or liquid template - engine +* TODO: keyboard short cuts for edit and saving +* TODO: check dead links +* TODO: search engine +* IDEA: presentation system - markdown + my S5 alternative +* IDEA: support for attachments +* IDEA: support for deeper Wiki page folder structure +* IDEA: support for special programmed pages - via haml or liquid template engine Original README by Simon Rozet From 1ec01c48812312e7eb3b581565820784a83ce887 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 18:54:26 +0100 Subject: [PATCH 45/94] Wiki task inclusion work --- README.markdown | 8 +++----- git-wiki.rb | 39 ++++++++++++++++++++++++--------------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/README.markdown b/README.markdown index 0754bff7..89d42eb5 100644 --- a/README.markdown +++ b/README.markdown @@ -20,10 +20,9 @@ No web interface at this time - use `git commit`. ### Custom h1 header -If your wiki page contains a markdown h1 header, then -this one is used on the page. - -If not, then h1 is created out of the file name (as in original git-wiki). +If your wiki page contains a markdown h1 header, then this one is used +on the page. If not, then h1 is created out of the file name (as in +original git-wiki). ### Integrated TODO list(s) @@ -60,7 +59,6 @@ ActiveRecord but appear as it is. * TODO: do not rely on wiki words ### Other plans ---------------- * TODO: keyboard short cuts for edit and saving * TODO: check dead links diff --git a/git-wiki.rb b/git-wiki.rb index cf0c84ea..4a74f850 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -4,6 +4,9 @@ require "grit" require "rdiscount" +require 'pp' # TODO: remove +require 'ruby-debug' # TODO: remove + module GitWiki class << self attr_accessor :homepage, :extension, :repository @@ -45,8 +48,8 @@ def self.parse(from_string) t.attributes = [] t.attributes = $2.scan(TAGGED_VALUE_REGEX) if $2 - require 'pp' pp t + t end @@ -84,11 +87,14 @@ class TaskList def self.from_example(example) res = TaskList.new res.example = example - if example.project + wiki_name = "Project#{example.project}" if example.project + wiki_name = "Context#{example.context}" if example.context + if wiki_name begin - res.fill_from_git(example.project) + puts "fill_from_git '#{wiki_name}'" + res.fill_from_git wiki_name rescue PageNotFound => p - puts "NOT FOUDN" + puts "NOT FOUND" res.example.desc = "Page not found #{p.name}" end end @@ -96,29 +102,32 @@ def self.from_example(example) end def initialize - tasks = [] + self.tasks = [] + end + + def fill_from_string(content) + content.each_line do |line| + task = Task.parse(line) # try every line as a task decription + tasks << task unless task.nil? + end end def fill_from_git(page) - puts "in fill_rom_git" - puts page.inspect p = Page.find(page) - if p - p.content.each_line do |line| - task = Task.parse(line) # try every line as a task decription - tasks << task unless task.nil? - end - end + fill_from_string(p.content) if p end - def fill_from_url() + def fill_from_url(url) + require 'rest_client' + content = RestClient.get(url) rescue 'Content could not be retrieved.' + fill_from_string(content) end def filter(example) end def to_html - example.to_html + "\n Details will appear here" + "

    #{example.to_html} (#{tasks.size} tasks)

    " + tasks.map{|task| task.to_html}.join("\n") end end From c7c428bf52902c309de90df9e54e0c79c29ede0c Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 19:08:10 +0100 Subject: [PATCH 46/94] Include task lists via http --- README.markdown | 4 ++-- git-wiki.rb | 19 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/README.markdown b/README.markdown index 89d42eb5..d228db02 100644 --- a/README.markdown +++ b/README.markdown @@ -43,9 +43,9 @@ ContextCoding page I have following reference: INCLUDE http://github.com/geekq/git-wiki/raw/master/README.markdown -* TODO: iclude via http +* DONE: iclude via http * TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. -* TODO: allow optional asterisk in front of TODO +* DONE: allow optional asterisk in front of TODO * TODO: group included lists by project * TODO: merge and resort tasks from subsequent INCLUDE statements * TODO: gather all the remaining (not referenced) tasks into `task inventory` page diff --git a/git-wiki.rb b/git-wiki.rb index 4a74f850..73a662e6 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -35,21 +35,20 @@ class Task def self.parse(from_string) t = Task.new - t.orig_string = from_string + t.orig_string = from_string + ' ' # add space to parse include statements without description return nil unless t.orig_string =~ - /^((?: DO|TODO|DONE|INCLUDE):?\s+) # 1:TODO with optional colon - (#{TAGGED_VALUE_REGEX}+)? # tagged values 2:, 3:, 4: - (.*) # 5:title + /^(?: \s*\*?\s*) # allow leading * with white space to both sides + ((?: DO|TODO|DONE|INCLUDE):?\s+) # 1:TODO with optional colon + (#{TAGGED_VALUE_REGEX}+)? # tagged values 2:, 3:, 4: + (.*) # 5:title /x t.start = $1 t.attributes_str = $2 - t.desc = $+ + t.desc = $+.strip t.attributes = [] t.attributes = $2.scan(TAGGED_VALUE_REGEX) if $2 - pp t - t end @@ -91,12 +90,12 @@ def self.from_example(example) wiki_name = "Context#{example.context}" if example.context if wiki_name begin - puts "fill_from_git '#{wiki_name}'" res.fill_from_git wiki_name rescue PageNotFound => p - puts "NOT FOUND" - res.example.desc = "Page not found #{p.name}" + res.example.desc = "PAGE NOT FOUND #{p.name}" end + elsif example.desc =~ /^http/ + res.fill_from_url(example.desc) rescue res.example.desc "CAN NOT RETRIEVE URL" end res end From 56e042b3b563cdc7a0fea8ab6870b91480a42fc8 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 19:43:24 +0100 Subject: [PATCH 47/94] Improve style --- README.markdown | 11 ++++---- git-wiki.rb | 68 +++++++++++++++++++++++++++++-------------------- 2 files changed, 46 insertions(+), 33 deletions(-) diff --git a/README.markdown b/README.markdown index d228db02..4724e552 100644 --- a/README.markdown +++ b/README.markdown @@ -37,13 +37,12 @@ You can include tasks from other wiki pages. So it is possible to have one separate page per project, e.g. ProjectGitWiki, ProjectWorkflow and to aggregate all coding tasks on one, say ContextCoding page. -You can also reference a source on the web. I prefer to manage my -tasks related to git-wiki development in this README file. So on my -ContextCoding page I have following reference: +You can also reference a source on the web. I prefer to manage my tasks +related to git-wiki development in this README file. So on my +ContextCoding page I have following reference: `INCLUDE +http://github.com/geekq/git-wiki/raw/master/README.markdown` - INCLUDE http://github.com/geekq/git-wiki/raw/master/README.markdown - -* DONE: iclude via http +* DONE: include via http * TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. * DONE: allow optional asterisk in front of TODO * TODO: group included lists by project diff --git a/git-wiki.rb b/git-wiki.rb index 73a662e6..62d43fb7 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -292,11 +292,13 @@ class App < Sinatra::Base get "/:page/edit" do @page = Page.find_or_create(params[:page]) + @global_style = 'vimlike' haml :edit end get "/:page" do @page = Page.find(params[:page]) + @global_style = 'vimlike' haml :show end @@ -338,30 +340,9 @@ def list_item(page) %title= title %style :sass - body - margin-left: 2em - font-family: monospace - h1, h2, h3, h4, h5, h6 - font-size: 100% - h1 - text-decoration: underline - letter-spacing: 0.3em - h2 - text-decoration: underline del color: gray - div.todo - line-height: 160% - ul - padding-left: 0.3em - list-style-type: square - list-style-position: inside - li ul - list-style-type: circle - padding-left: 1.2em - li ul li ul - list-style-type: disc - ul#navigation + ul.navigation list-style-type: none display: inline margin: 0 @@ -370,35 +351,68 @@ def list_item(page) display: inline margin: 0 padding: 0 - padding-right: 1em + padding-right: 1.5em a.service color: #4377EF text-decoration: none font-weight: bold a.service:hover border-bottom: 2px dotted #4377EF + div#page_navigation + margin-top: 0.6em + + body.vimlike + margin-left: 2em + font-family: monospace + div#content + h1, h2, h3, h4, h5, h6 + font-size: 100% + h1 + text-decoration: underline + letter-spacing: 0.3em + h2 + text-decoration: underline + ul + padding-left: 0.3em + list-style-type: square + list-style-position: inside + li ul + list-style-type: circle + padding-left: 1.2em + li ul li ul + list-style-type: disc + @media print .service display: none + div.todo + line-height: 160% + body.compact margin-left: inherit font-family: Helvetica, sans-serif .service display: none %body{:class => @global_style} - %ul#navigation + %ul.navigation %li %a.service{ :href => "/#{GitWiki.homepage}" } Home %li %a.service{ :href => "/pages" } All pages - #content= yield + = yield @@ show - title @page.name #content ~"#{@page.to_html}" -#edit - %a.service{:href => "/#{@page}/edit"} Edit this page +#page_navigation + %ul.navigation#edit + %li + %a.service{:href => "/#{@page}/edit"} Edit this page + %li + %a.service{:href => "/compact/#{@page}"} Compact view + %li + %a.service{:href => "/raw/#{@page}"} Raw view @@ edit - title "Editing #{@page.name}" From b873e7809fc378014fe3ca05b92fddabb12c9b5b Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 20:13:50 +0100 Subject: [PATCH 48/94] Recursive task inclusion (always on) --- README.markdown | 1 + git-wiki.rb | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.markdown b/README.markdown index 4724e552..74997150 100644 --- a/README.markdown +++ b/README.markdown @@ -43,6 +43,7 @@ ContextCoding page I have following reference: `INCLUDE http://github.com/geekq/git-wiki/raw/master/README.markdown` * DONE: include via http +* DONE: recursive inclusion * TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. * DONE: allow optional asterisk in front of TODO * TODO: group included lists by project diff --git a/git-wiki.rb b/git-wiki.rb index 62d43fb7..2ef57637 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -90,7 +90,7 @@ def self.from_example(example) wiki_name = "Context#{example.context}" if example.context if wiki_name begin - res.fill_from_git wiki_name + res.fill_from_git wiki_name, true rescue PageNotFound => p res.example.desc = "PAGE NOT FOUND #{p.name}" end @@ -104,16 +104,24 @@ def initialize self.tasks = [] end - def fill_from_string(content) + def fill_from_string(content, recursive = false) content.each_line do |line| task = Task.parse(line) # try every line as a task decription - tasks << task unless task.nil? + if !task.nil? + if task.include_statement? && recursive + puts " recursively including #{task.desc}" + list = TaskList.from_example(task) + self.tasks = self.tasks + list.tasks + else + tasks << task + end + end end end - def fill_from_git(page) + def fill_from_git(page, recursive = false) p = Page.find(page) - fill_from_string(p.content) if p + fill_from_string(p.content, recursive) if p end def fill_from_url(url) From 459821323497f9bb9fb7cbdbf5a1700feb87b387 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 20:40:48 +0100 Subject: [PATCH 49/94] Mark included tasks in special way --- README.markdown | 1 + git-wiki.rb | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index 74997150..8b8fb8b1 100644 --- a/README.markdown +++ b/README.markdown @@ -44,6 +44,7 @@ http://github.com/geekq/git-wiki/raw/master/README.markdown` * DONE: include via http * DONE: recursive inclusion +* DONE: mark included tasks in special way * TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. * DONE: allow optional asterisk in front of TODO * TODO: group included lists by project diff --git a/git-wiki.rb b/git-wiki.rb index 2ef57637..395605f6 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -134,7 +134,11 @@ def filter(example) end def to_html - "

    #{example.to_html} (#{tasks.size} tasks)

    " + tasks.map{|task| task.to_html}.join("\n") + tasks_html = tasks.map{|task| task.to_html}.join("\n") + "
    +

    #{example.to_html} (#{tasks.size} tasks)

    + #{tasks_html} +
    " end end @@ -368,6 +372,21 @@ def list_item(page) border-bottom: 2px dotted #4377EF div#page_navigation margin-top: 0.6em + div.included + background-color: #eee + min-height: 3em + padding: 0 + margin-top: 0.7em + h2 + padding: 0 + margin: 0 + position: absolute + right: 1em + width: auto + font-weight: normal !important + text-decoration: none !important + color: grey + text-align: right body.vimlike margin-left: 2em From 46c5049d4c79b44ea33522e837ac413e1c5585e7 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sat, 6 Feb 2010 21:11:13 +0100 Subject: [PATCH 50/94] Turn off wiki words, edit link for included tasks --- README.markdown | 2 +- git-wiki.rb | 38 ++++++++++++++++++++++---------------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/README.markdown b/README.markdown index 8b8fb8b1..b8dff1df 100644 --- a/README.markdown +++ b/README.markdown @@ -57,7 +57,7 @@ For a hacker the wiki words is more a distraction than a help. Example: if I mention ActiveRecord, than it should not link to the wiki article ActiveRecord but appear as it is. -* TODO: do not rely on wiki words +* DONE: do not rely on wiki words ### Other plans diff --git a/git-wiki.rb b/git-wiki.rb index 395605f6..87ea5a83 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -29,7 +29,7 @@ def initialize(name) end class Task - attr_accessor :orig_string, :start, :attributes_str, :attributes, :desc + attr_accessor :orig_string, :start, :attributes_str, :attributes, :desc, :origin TAGGED_VALUE_REGEX = /(\w+)\:(\w+)\s+/ @@ -52,10 +52,18 @@ def self.parse(from_string) t end - def to_html + def inner_html html = "#{start}#{attributes_str}#{desc}" html = "#{html}" if done? - "
    #{html}
    " + html + end + + def wrap_div(inner) + "
    #{inner}
    " + end + + def to_html + wrap_div(inner_html) end def done? @@ -104,10 +112,11 @@ def initialize self.tasks = [] end - def fill_from_string(content, recursive = false) + def fill_from_string(content, origin, recursive = false) content.each_line do |line| task = Task.parse(line) # try every line as a task decription if !task.nil? + task.origin = origin if task.include_statement? && recursive puts " recursively including #{task.desc}" list = TaskList.from_example(task) @@ -121,23 +130,27 @@ def fill_from_string(content, recursive = false) def fill_from_git(page, recursive = false) p = Page.find(page) - fill_from_string(p.content, recursive) if p + puts "SRC #{page}" + fill_from_string(p.content, "/#{page}/edit", recursive) if p end def fill_from_url(url) require 'rest_client' content = RestClient.get(url) rescue 'Content could not be retrieved.' - fill_from_string(content) + fill_from_string(content, url) end def filter(example) end def to_html - tasks_html = tasks.map{|task| task.to_html}.join("\n") + tasks_html = tasks.map do |task| + link = " (edit)" + task.wrap_div(task.inner_html + link) + end "

    #{example.to_html} (#{tasks.size} tasks)

    - #{tasks_html} + #{tasks_html.join("\n")}
    " end end @@ -193,7 +206,7 @@ def initialize(blob) end def to_html - html = RDiscount.new(wiki_link(inject_todo(content))).to_html + html = RDiscount.new(inject_todo(content)).to_html html = inject_links(inject_header(html)) html end @@ -259,13 +272,6 @@ def file_name def commit_message new? ? "Created #{name}" : "Updated #{name}" end - - def wiki_link(str) - str.gsub(/([A-Z][a-z]+[A-Z][A-Za-z0-9]+)/) { |page| - %Q{#{page}} - } - end end class App < Sinatra::Base From e6484d8c2af7395c9159c81b925a6ed4a99bc81e Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 7 Feb 2010 08:21:48 +0100 Subject: [PATCH 51/94] Avoid endless recursion by saving a list of visited nodes --- README.markdown | 2 ++ git-wiki.rb | 32 +++++++++++++++++++++----------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/README.markdown b/README.markdown index b8dff1df..c91866d3 100644 --- a/README.markdown +++ b/README.markdown @@ -45,6 +45,8 @@ http://github.com/geekq/git-wiki/raw/master/README.markdown` * DONE: include via http * DONE: recursive inclusion * DONE: mark included tasks in special way +* TODO: switch recursion on or off +* DONE: avoid endless recursion by saving a list of visited nodes * TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. * DONE: allow optional asterisk in front of TODO * TODO: group included lists by project diff --git a/git-wiki.rb b/git-wiki.rb index 87ea5a83..b0fa1b4c 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -88,17 +88,22 @@ def context end end + # List of todo tasks class TaskList attr_accessor :example, :tasks - def self.from_example(example) + # @example [Task] contains attributes for task filtering ("filter by example"), + # also defines the source of the tasks (Wiki-Name or url) + # @recursive_origins [string Array] nil for no recursion or an array of already + # visited nodes; needed to avoid endless recursion + def self.from_example(example, recursive_origins = nil) res = TaskList.new res.example = example wiki_name = "Project#{example.project}" if example.project wiki_name = "Context#{example.context}" if example.context if wiki_name begin - res.fill_from_git wiki_name, true + res.fill_from_git wiki_name, recursive_origins rescue PageNotFound => p res.example.desc = "PAGE NOT FOUND #{p.name}" end @@ -112,14 +117,20 @@ def initialize self.tasks = [] end - def fill_from_string(content, origin, recursive = false) + def fill_from_string(content, origin_view, origin_edit = nil, recursive_origins = nil) + # avoid endless recursion + if recursive_origins && recursive_origins.include?(origin_view) + puts "Breaking endless recursion #{recursive_origins.inspect}" + return + end + recursive_origins << origin_view if recursive_origins + content.each_line do |line| task = Task.parse(line) # try every line as a task decription if !task.nil? - task.origin = origin - if task.include_statement? && recursive - puts " recursively including #{task.desc}" - list = TaskList.from_example(task) + task.origin = origin_edit || origin_view + if task.include_statement? && recursive_origins + list = TaskList.from_example(task, recursive_origins) self.tasks = self.tasks + list.tasks else tasks << task @@ -128,10 +139,9 @@ def fill_from_string(content, origin, recursive = false) end end - def fill_from_git(page, recursive = false) + def fill_from_git(page, recursive_origins = nil) p = Page.find(page) - puts "SRC #{page}" - fill_from_string(p.content, "/#{page}/edit", recursive) if p + fill_from_string(p.content, "/#{page}", "/#{page}/edit", recursive_origins) if p end def fill_from_url(url) @@ -222,7 +232,7 @@ def inject_todo(orig) if task.nil? res << line elsif task.include_statement? - list = TaskList.from_example(task) + list = TaskList.from_example(task, ["/#{name}"]) res << list.to_html else res << task.to_html From 8b8b1529739ebaeb8db09102b6276be234cbe72e Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 7 Feb 2010 09:13:20 +0100 Subject: [PATCH 52/94] Gather all tasks from all pages with `INCLUDE wiki:all` FIX pages list should not show subfolders like `img` --- README.markdown | 19 +++++-------------- git-wiki.rb | 29 +++++++++++++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/README.markdown b/README.markdown index c91866d3..132345a9 100644 --- a/README.markdown +++ b/README.markdown @@ -27,8 +27,8 @@ original git-wiki). ### Integrated TODO list(s) -Just write TODO or DONE at the beginning of a line with task you would like to -remember. +Just write TODO or DONE at the beginning of a line with task you would +like to remember. #### Inclusion @@ -51,6 +51,7 @@ http://github.com/geekq/git-wiki/raw/master/README.markdown` * DONE: allow optional asterisk in front of TODO * TODO: group included lists by project * TODO: merge and resort tasks from subsequent INCLUDE statements +* DONE: gather all tasks from all pages with `INCLUDE wiki:all` * TODO: gather all the remaining (not referenced) tasks into `task inventory` page ### No wiki words @@ -72,18 +73,6 @@ ActiveRecord but appear as it is. * IDEA: support for special programmed pages - via haml or liquid template engine -Original README by Simon Rozet ------------------------------- - -I wrote git-wiki as a quick and dirty hack, mostly to play with Sinatra. -It turned out that Sinatra is an awesome little web framework and that this -hack isn't as useless as I first though since I now use it daily. - -However, it is definitely not feature rich and will probably never be because -I mostly use it as a web frontend for `git`, `ls` and `vim`. - -If you want history, search, etc. you should look at other people's [forks][]. - Install ------- @@ -93,6 +82,7 @@ The following [gems][] are required to run git-wiki: - [mojombo-grit][] - [HAML][] - [RDiscount][] +- [RestClient][] Run with `mkdir ~/wiki && (cd ~/wiki && git init) && ./run.ru -sthin -p4567` and point your browser at . Enjoy! @@ -113,6 +103,7 @@ See also [mojombo-grit]: http://github.com/mojombo/grit [HAML]: http://haml.hamptoncatlin.com [RDiscount]: http://github.com/rtomayko/rdiscount + [RestClient]: http://github.com/archiloque/rest-client [tip]: http://wiki.infogami.com/using_lynx_&_vim_with_infogami [WiGit]: http://el-tramo.be/software/wigit [ikiwiki]: http://ikiwiki.info diff --git a/git-wiki.rb b/git-wiki.rb index b0fa1b4c..ba2f8dc4 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -99,16 +99,22 @@ class TaskList def self.from_example(example, recursive_origins = nil) res = TaskList.new res.example = example - wiki_name = "Project#{example.project}" if example.project - wiki_name = "Context#{example.context}" if example.context - if wiki_name - begin - res.fill_from_git wiki_name, recursive_origins - rescue PageNotFound => p - res.example.desc = "PAGE NOT FOUND #{p.name}" - end - elsif example.desc =~ /^http/ + + if example[:wiki] == 'all' # load all tasks from all wiki pages + Page.find_all.each {|p| puts "loading #{p.name}"; res.fill_from_git p.name, recursive_origins} + elsif example.desc =~ /^http/ # load by url res.fill_from_url(example.desc) rescue res.example.desc "CAN NOT RETRIEVE URL" + else # load from one wiki page + wiki_name = "Project#{example.project}" if example.project + wiki_name = "Context#{example.context}" if example.context + wiki_name = example[:wiki] if example[:wiki] + if wiki_name + begin + res.fill_from_git wiki_name, recursive_origins + rescue PageNotFound => p + res.example.desc = "PAGE NOT FOUND #{p.name}" + end + end end res end @@ -168,7 +174,10 @@ def to_html class Page def self.find_all return [] if repository.tree.contents.empty? - repository.tree.contents.collect { |blob| new(blob) }.sort_by {|page| page.name.downcase} + repository.tree.contents. + select {|blob| File.extname(blob.name) == GitWiki.extension }. + collect {|blob| new(blob)}. + sort_by {|page| page.name.downcase} end def self.find(name) From ab693f6cd3a2ac52a29acc430503857602a3b5a3 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 7 Feb 2010 09:29:43 +0100 Subject: [PATCH 53/94] Switch recursion on or off with `recursion:true` --- README.markdown | 10 ++++++++-- git-wiki.rb | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.markdown b/README.markdown index 132345a9..08eed64e 100644 --- a/README.markdown +++ b/README.markdown @@ -35,7 +35,13 @@ like to remember. You can include tasks from other wiki pages. So it is possible to have one separate page per project, e.g. ProjectGitWiki, ProjectWorkflow and -to aggregate all coding tasks on one, say ContextCoding page. +to aggregate all coding tasks on one, say ContextCoding page with +`INCLUDE project:GitWiki`, `INCLUDE project:Workflow`. + +You can also reference other contexts with `INCLUDE context:AtHome`. + +Recursion can be turned on with `INCLUDE context:AtHome recursive:true`. +It is off by default. You can also reference a source on the web. I prefer to manage my tasks related to git-wiki development in this README file. So on my @@ -45,7 +51,7 @@ http://github.com/geekq/git-wiki/raw/master/README.markdown` * DONE: include via http * DONE: recursive inclusion * DONE: mark included tasks in special way -* TODO: switch recursion on or off +* DONE: switch recursion on or off * DONE: avoid endless recursion by saving a list of visited nodes * TODO: include a task list filtered by tagged value, e.g. `TASKS context:home` should list all the tasks for the specified context. * DONE: allow optional asterisk in front of TODO diff --git a/git-wiki.rb b/git-wiki.rb index ba2f8dc4..d589cae7 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -241,7 +241,8 @@ def inject_todo(orig) if task.nil? res << line elsif task.include_statement? - list = TaskList.from_example(task, ["/#{name}"]) + recursive = task[:recursive] == 'true' ? ["/#{name}"] : nil + list = TaskList.from_example(task, recursive) res << list.to_html else res << task.to_html From 96e249e2584225c5182c76a9765b47e892f8d1e4 Mon Sep 17 00:00:00 2001 From: Vladimir Dobriakov Date: Sun, 7 Feb 2010 10:23:50 +0100 Subject: [PATCH 54/94] Enrich task attributes based on origin (referencing page) --- git-wiki.rb | 67 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index d589cae7..e5e278de 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -29,7 +29,7 @@ def initialize(name) end class Task - attr_accessor :orig_string, :start, :attributes_str, :attributes, :desc, :origin + attr_accessor :orig_string, :start, :orig_attributes_str, :attributes, :desc, :origin TAGGED_VALUE_REGEX = /(\w+)\:(\w+)\s+/ @@ -43,7 +43,7 @@ def self.parse(from_string) (.*) # 5:title /x t.start = $1 - t.attributes_str = $2 + t.orig_attributes_str = $2 t.desc = $+.strip t.attributes = [] @@ -53,7 +53,8 @@ def self.parse(from_string) end def inner_html - html = "#{start}#{attributes_str}#{desc}" + attr_str = attributes.map{|key, value| "#{key}:#{value} "}.join + html = "#{start}#{attr_str}#{desc}" html = "#{html}" if done? html end @@ -88,10 +89,16 @@ def context end end + Origin = Struct.new(:name, :view_url, :edit_url, :attributes) # referencing (parent) page + # List of todo tasks class TaskList attr_accessor :example, :tasks + def initialize + self.tasks = [] + end + # @example [Task] contains attributes for task filtering ("filter by example"), # also defines the source of the tasks (Wiki-Name or url) # @recursive_origins [string Array] nil for no recursion or an array of already @@ -99,18 +106,21 @@ class TaskList def self.from_example(example, recursive_origins = nil) res = TaskList.new res.example = example + merge_attributes = {} + merge_attributes[:project] = example.project if example.project + merge_attributes[:context] = example.context if example.context if example[:wiki] == 'all' # load all tasks from all wiki pages - Page.find_all.each {|p| puts "loading #{p.name}"; res.fill_from_git p.name, recursive_origins} + Page.find_all.each {|p| puts "loading #{p.name}"; res.fill_from_git p.name, merge_attributes, recursive_origins} elsif example.desc =~ /^http/ # load by url - res.fill_from_url(example.desc) rescue res.example.desc "CAN NOT RETRIEVE URL" + res.fill_from_url(example.desc, merge_attributes) rescue res.example.desc "CAN NOT RETRIEVE URL" else # load from one wiki page wiki_name = "Project#{example.project}" if example.project wiki_name = "Context#{example.context}" if example.context wiki_name = example[:wiki] if example[:wiki] if wiki_name begin - res.fill_from_git wiki_name, recursive_origins + res.fill_from_git wiki_name, merge_attributes, recursive_origins rescue PageNotFound => p res.example.desc = "PAGE NOT FOUND #{p.name}" end @@ -119,22 +129,44 @@ def self.from_example(example, recursive_origins = nil) res end - def initialize - self.tasks = [] + def self.derive_attributes_from_page_name(name) + res = {} + res[:project] = $1 if name =~ /Project(\w+)/ + res[:context] = $1 if name =~ /Context(\w+)/ + res + end + + def fill_from_git(page, merge_attributes = {}, recursive_origins = nil) + if p = Page.find(page) + attrs = TaskList.derive_attributes_from_page_name(p.name) + o = Origin.new(page, "/#{page}", "/#{page}/edit", attrs.merge(merge_attributes)) + fill_from_string(p.content, attrs, o, recursive_origins) + end end - def fill_from_string(content, origin_view, origin_edit = nil, recursive_origins = nil) + def fill_from_url(url, merge_attributes = {}) + require 'rest_client' + content = RestClient.get(url) rescue 'Content could not be retrieved.' + o = Origin.new(url, url, nil) + fill_from_string(content, merge_attributes, o) + end + + def fill_from_string(content, merge_attributes, origin, recursive_origins = nil) # avoid endless recursion - if recursive_origins && recursive_origins.include?(origin_view) + if recursive_origins && recursive_origins.detect?{|o| o.name == origin.name} puts "Breaking endless recursion #{recursive_origins.inspect}" return end - recursive_origins << origin_view if recursive_origins + recursive_origins << origin if recursive_origins content.each_line do |line| task = Task.parse(line) # try every line as a task decription if !task.nil? - task.origin = origin_edit || origin_view + puts "merge_attr #{merge_attributes.inspect}" + merge_attributes.each do |key, value| + task.attributes << [key, value] unless task[key] + end + task.origin = origin.edit_url || origin.view_url if task.include_statement? && recursive_origins list = TaskList.from_example(task, recursive_origins) self.tasks = self.tasks + list.tasks @@ -145,17 +177,6 @@ def fill_from_string(content, origin_view, origin_edit = nil, recursive_origins end end - def fill_from_git(page, recursive_origins = nil) - p = Page.find(page) - fill_from_string(p.content, "/#{page}", "/#{page}/edit", recursive_origins) if p - end - - def fill_from_url(url) - require 'rest_client' - content = RestClient.get(url) rescue 'Content could not be retrieved.' - fill_from_string(content, url) - end - def filter(example) end From f822abad55c5c664edd17cdb64f635c0e3ccba6b Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 7 Feb 2010 20:46:10 -0500 Subject: [PATCH 55/94] adding css --- git-wiki.rb | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 6e15c2cc..29b60009 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -1,5 +1,6 @@ require "sinatra/base" require "haml" +require "sass" require "grit" require "rdiscount" require "rack-xslview" @@ -146,7 +147,11 @@ class App < Sinatra::Base end before do - content_type "text/html", :charset => "utf-8" + end + + get "/styles.css" do + content_type "text/css", :charset => "utf-8" + sass :styles end get "/" do @@ -184,6 +189,7 @@ class App < Sinatra::Base redirect "/#{@page}" end + private def title(title=nil) @title = title.to_s.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} unless title.nil? @@ -203,23 +209,26 @@ def list_item(page) %html %head %title= title - %style{ :type=> "text/css" } .unknown { color:red; } %script{ :type=> "text/javascript", :src=> "/s/js/jquery/jquery-1.3.2.min.js" } + %link{ :rel=> "stylesheet", :type=> "text/css", :href=> "/s/css/yui.reset.css" } + %link{ :href=> "/styles.css", :media=> 'all', :type=> "text/css", :rel=> "stylesheet" } %body - %ul + %ul{:id=> 'header-menu'} %li %a{ :href => "/#{GitWiki.homepage}" } Home %li %a{ :href => "/pages" } All pages %a{ :href => "/commits" } Commits - #content= yield + #container= yield @@ show - title @page.name -#edit - %a{:href => "/#{@page}/edit"} Edit this page -#history - %a{:href => "/#{@page}/history"} History +#page-controls + %ul + %li + %a{:href => "/#{@page}/edit"} Edit this page + %li + %a{:href => "/#{@page}/history"} History %h1= title #content ~"#{@page.to_html}" From 6a6ba5de3f6be8c0bc575ae4b55618c3d65bdc33 Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 7 Feb 2010 22:26:14 -0500 Subject: [PATCH 56/94] css and styles --- git-wiki.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/git-wiki.rb b/git-wiki.rb index 29b60009..45015934 100755 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -218,6 +218,7 @@ def list_item(page) %a{ :href => "/#{GitWiki.homepage}" } Home %li %a{ :href => "/pages" } All pages + %li %a{ :href => "/commits" } Commits #container= yield From 92f1b84dfcfd6fd2ccfa67fbefe01fd657abcf1e Mon Sep 17 00:00:00 2001 From: docunext Date: Sun, 7 Feb 2010 22:26:21 -0500 Subject: [PATCH 57/94] css --- views/styles.sass | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 views/styles.sass diff --git a/views/styles.sass b/views/styles.sass new file mode 100644 index 00000000..a04a7cb5 --- /dev/null +++ b/views/styles.sass @@ -0,0 +1,27 @@ +h1 + :font-size 120% + :margin-top 1em + +h2 + :font-size 110% + :margin-top 1em + +h3 + :font-size 105% + :margin-top 1em + + +div + :padding 10px !important + +#header-menu li, #page-controls li + :display inline + +#content ul li + :list-style-type disc + +#content ul + :margin 2em + +.unknown + :color red From 4dba058740b4ba6ebd83ef0b1f9857263421bebf Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:39:24 -0500 Subject: [PATCH 58/94] new --- public/s/css/yui.reset.css | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 public/s/css/yui.reset.css diff --git a/public/s/css/yui.reset.css b/public/s/css/yui.reset.css new file mode 100644 index 00000000..47844f75 --- /dev/null +++ b/public/s/css/yui.reset.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} From 2fbfe7a6bbee11e3289cd39f382389ed07c184a7 Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:45:32 -0500 Subject: [PATCH 59/94] Revert "new" This reverts commit 4dba058740b4ba6ebd83ef0b1f9857263421bebf. --- public/s/css/yui.reset.css | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 public/s/css/yui.reset.css diff --git a/public/s/css/yui.reset.css b/public/s/css/yui.reset.css deleted file mode 100644 index 47844f75..00000000 --- a/public/s/css/yui.reset.css +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2009, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.net/yui/license.txt -version: 2.8.0r4 -*/ -html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} From 0e3f1c84230e3ccccdc22ed5afc7dab649d1dbc1 Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:45:45 -0500 Subject: [PATCH 60/94] Revert "Revert "new"" This reverts commit 2fbfe7a6bbee11e3289cd39f382389ed07c184a7. --- public/s/css/yui.reset.css | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 public/s/css/yui.reset.css diff --git a/public/s/css/yui.reset.css b/public/s/css/yui.reset.css new file mode 100644 index 00000000..47844f75 --- /dev/null +++ b/public/s/css/yui.reset.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} From d47519eed1e232b0bda66c79271b26eb3a2237bd Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:48:09 -0500 Subject: [PATCH 61/94] why was this ever done to master? Revert "retaining some" This reverts commit 240d54446cc62270fa6fe153e6de764c1e696d73, reversing changes made to 96e249e2584225c5182c76a9765b47e892f8d1e4. --- .gitmodules | 3 - TODO | 2 - git-wiki.rb | 69 +--------------------- public/s/js/docu-not-git-wiki.js | 0 public/s/js/jquery/jquery-1.3.2.min.js | 19 ------ public/s/js/jquery/plugins/jquery-form2xml | 1 - run.ru | 7 ++- views/styles.sass | 27 --------- 8 files changed, 7 insertions(+), 121 deletions(-) delete mode 100644 .gitmodules delete mode 100644 TODO delete mode 100644 public/s/js/docu-not-git-wiki.js delete mode 100644 public/s/js/jquery/jquery-1.3.2.min.js delete mode 160000 public/s/js/jquery/plugins/jquery-form2xml delete mode 100644 views/styles.sass diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 6c07b392..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "public/s/js/jquery/plugins/jquery-form2xml"] - path = public/s/js/jquery/plugins/jquery-form2xml - url = git@github.com:docunext/jquery-form2xml.git diff --git a/TODO b/TODO deleted file mode 100644 index a8f429cd..00000000 --- a/TODO +++ /dev/null @@ -1,2 +0,0 @@ -* Use Rack XSL instead of Haml. -* Ruby GD? diff --git a/git-wiki.rb b/git-wiki.rb index 9b7ff688..e5e278de 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -1,12 +1,8 @@ require "rubygems" require "sinatra/base" require "haml" -require "sass" require "grit" require "rdiscount" -require "rexml/document" -require "rack-xslview" -require "rack-docunext-content-length" require 'pp' # TODO: remove require 'ruby-debug' # TODO: remove @@ -224,10 +220,6 @@ def self.css_class_for(name) "unknown" end - def self.history - repository.commits - end - def self.repository GitWiki.repository || raise end @@ -321,20 +313,9 @@ def file_name def commit_message new? ? "Created #{name}" : "Updated #{name}" end - - def wiki_link(str) - str.gsub(/\[\[([^\]]+\]\])/) { |page| - file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9]/,'_'); - linktext = page.gsub('[','').gsub(']',''); - %Q{#{linktext}} - } - end end class App < Sinatra::Base - set :public, File.dirname(__FILE__) + '/public' - set :static, true set :app_file, __FILE__ set :haml, { :format => :html5, :attr_wrapper => '"' } @@ -346,11 +327,7 @@ class App < Sinatra::Base end before do - end - - get "/styles.css" do - content_type "text/css", :charset => "utf-8" - sass :styles + content_type "text/html", :charset => "utf-8" end get "/" do @@ -362,9 +339,6 @@ class App < Sinatra::Base haml :list end - get "/commits" do - @commits = Page.history - haml :commits get "/img/*" do git_obj = GitWiki.repository.tree/'img' params[:splat].each do |part| @@ -381,11 +355,6 @@ class App < Sinatra::Base haml :edit end - #get "/:page/history" do - # @page = Page.history - # haml :history - #end - get "/:page" do @page = Page.find(params[:page]) @global_style = 'vimlike' @@ -412,13 +381,12 @@ class App < Sinatra::Base private def title(title=nil) - @title = title.to_s.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} unless title.nil? + @title = title.to_s unless title.nil? @title end def list_item(page) - title = page.name.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} - %Q{#{title}} + %Q{#{page.name}} end end end @@ -429,12 +397,6 @@ def list_item(page) %html %head %title= title - %script{ :type=> "text/javascript", :src=> "/s/js/jquery/jquery-1.3.2.min.js" } - %link{ :rel=> "stylesheet", :type=> "text/css", :href=> "/s/css/yui.reset.css" } - %link{ :href=> "/styles.css", :media=> 'all', :type=> "text/css", :rel=> "stylesheet" } - %body - %ul{:id=> 'header-menu'} -======= %style :sass del @@ -510,26 +472,11 @@ def list_item(page) %li %a.service{ :href => "/#{GitWiki.homepage}" } Home %li - %a{ :href => "/pages" } All pages - %li - %a{ :href => "/commits" } Commits - #container= yield - -@@ show -- title @page.name -#page-controls - %ul - %li - %a{:href => "/#{@page}/edit"} Edit this page - %li - %a{:href => "/#{@page}/history"} History -%h1= title %a.service{ :href => "/pages" } All pages = yield @@ show - title @page.name ->>>>>>> upstream/master #content ~"#{@page.to_html}" #page_navigation @@ -561,13 +508,3 @@ def list_item(page) %ul#list - @pages.each do |page| %li= list_item(page) - -@@ commits -- title "Listing commits" -%h1 All commits -- if @commits.empty? - %p No commits found. -- else - %ul#list - - @commits.each do |commit| - %li= commit.id << " " << commit.authored_date.to_s diff --git a/public/s/js/docu-not-git-wiki.js b/public/s/js/docu-not-git-wiki.js deleted file mode 100644 index e69de29b..00000000 diff --git a/public/s/js/jquery/jquery-1.3.2.min.js b/public/s/js/jquery/jquery-1.3.2.min.js deleted file mode 100644 index b1ae21d8..00000000 --- a/public/s/js/jquery/jquery-1.3.2.min.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/public/s/js/jquery/plugins/jquery-form2xml b/public/s/js/jquery/plugins/jquery-form2xml deleted file mode 160000 index bbb27db7..00000000 --- a/public/s/js/jquery/plugins/jquery-form2xml +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bbb27db7aa74905c0c05a38a63145716bf97ea30 diff --git a/run.ru b/run.ru index 53c09e2a..19e6a210 100755 --- a/run.ru +++ b/run.ru @@ -1,5 +1,6 @@ -#!/usr/bin/rackup1.8 +#!/usr/bin/env rackup +#\ -p 8787 require File.dirname(__FILE__) + "/git-wiki" -run GitWiki.new(File.expand_path("~/nudocs/mntdocs/"), - ARGV[2] || ".mdwn", ARGV[3] || "Home") +run GitWiki.new(File.expand_path(ARGV[1] || "~/wiki"), + ARGV[2] || ".markdown", ARGV[3] || "Home") diff --git a/views/styles.sass b/views/styles.sass deleted file mode 100644 index a04a7cb5..00000000 --- a/views/styles.sass +++ /dev/null @@ -1,27 +0,0 @@ -h1 - :font-size 120% - :margin-top 1em - -h2 - :font-size 110% - :margin-top 1em - -h3 - :font-size 105% - :margin-top 1em - - -div - :padding 10px !important - -#header-menu li, #page-controls li - :display inline - -#content ul li - :list-style-type disc - -#content ul - :margin 2em - -.unknown - :color red From 5918b827bfe1aa46dac74762e61b4000605fc00b Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:54:01 -0500 Subject: [PATCH 62/94] ugh, how did the merge on the branch get applied to master --- git-wiki.rb | 370 +++++++++------------------------------------------- 1 file changed, 63 insertions(+), 307 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index e5e278de..45015934 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -1,11 +1,10 @@ -require "rubygems" require "sinatra/base" require "haml" +require "sass" require "grit" require "rdiscount" - -require 'pp' # TODO: remove -require 'ruby-debug' # TODO: remove +require "rack-xslview" +require "rack-docunext-content-length" module GitWiki class << self @@ -28,177 +27,10 @@ def initialize(name) end end - class Task - attr_accessor :orig_string, :start, :orig_attributes_str, :attributes, :desc, :origin - - TAGGED_VALUE_REGEX = /(\w+)\:(\w+)\s+/ - - def self.parse(from_string) - t = Task.new - t.orig_string = from_string + ' ' # add space to parse include statements without description - return nil unless t.orig_string =~ - /^(?: \s*\*?\s*) # allow leading * with white space to both sides - ((?: DO|TODO|DONE|INCLUDE):?\s+) # 1:TODO with optional colon - (#{TAGGED_VALUE_REGEX}+)? # tagged values 2:, 3:, 4: - (.*) # 5:title - /x - t.start = $1 - t.orig_attributes_str = $2 - t.desc = $+.strip - - t.attributes = [] - t.attributes = $2.scan(TAGGED_VALUE_REGEX) if $2 - - t - end - - def inner_html - attr_str = attributes.map{|key, value| "#{key}:#{value} "}.join - html = "#{start}#{attr_str}#{desc}" - html = "#{html}" if done? - html - end - - def wrap_div(inner) - "
    #{inner}
    " - end - - def to_html - wrap_div(inner_html) - end - - def done? - start =~ /DONE/ - end - - def include_statement? - start =~ /INCLUDE/ - end - - def [](key) - hit = attributes.detect {|k, value| k.to_s == key.to_s} - hit ? hit[1] : nil - end - - def project - self[:project] - end - - def context - self[:context] - end - end - - Origin = Struct.new(:name, :view_url, :edit_url, :attributes) # referencing (parent) page - - # List of todo tasks - class TaskList - attr_accessor :example, :tasks - - def initialize - self.tasks = [] - end - - # @example [Task] contains attributes for task filtering ("filter by example"), - # also defines the source of the tasks (Wiki-Name or url) - # @recursive_origins [string Array] nil for no recursion or an array of already - # visited nodes; needed to avoid endless recursion - def self.from_example(example, recursive_origins = nil) - res = TaskList.new - res.example = example - merge_attributes = {} - merge_attributes[:project] = example.project if example.project - merge_attributes[:context] = example.context if example.context - - if example[:wiki] == 'all' # load all tasks from all wiki pages - Page.find_all.each {|p| puts "loading #{p.name}"; res.fill_from_git p.name, merge_attributes, recursive_origins} - elsif example.desc =~ /^http/ # load by url - res.fill_from_url(example.desc, merge_attributes) rescue res.example.desc "CAN NOT RETRIEVE URL" - else # load from one wiki page - wiki_name = "Project#{example.project}" if example.project - wiki_name = "Context#{example.context}" if example.context - wiki_name = example[:wiki] if example[:wiki] - if wiki_name - begin - res.fill_from_git wiki_name, merge_attributes, recursive_origins - rescue PageNotFound => p - res.example.desc = "PAGE NOT FOUND #{p.name}" - end - end - end - res - end - - def self.derive_attributes_from_page_name(name) - res = {} - res[:project] = $1 if name =~ /Project(\w+)/ - res[:context] = $1 if name =~ /Context(\w+)/ - res - end - - def fill_from_git(page, merge_attributes = {}, recursive_origins = nil) - if p = Page.find(page) - attrs = TaskList.derive_attributes_from_page_name(p.name) - o = Origin.new(page, "/#{page}", "/#{page}/edit", attrs.merge(merge_attributes)) - fill_from_string(p.content, attrs, o, recursive_origins) - end - end - - def fill_from_url(url, merge_attributes = {}) - require 'rest_client' - content = RestClient.get(url) rescue 'Content could not be retrieved.' - o = Origin.new(url, url, nil) - fill_from_string(content, merge_attributes, o) - end - - def fill_from_string(content, merge_attributes, origin, recursive_origins = nil) - # avoid endless recursion - if recursive_origins && recursive_origins.detect?{|o| o.name == origin.name} - puts "Breaking endless recursion #{recursive_origins.inspect}" - return - end - recursive_origins << origin if recursive_origins - - content.each_line do |line| - task = Task.parse(line) # try every line as a task decription - if !task.nil? - puts "merge_attr #{merge_attributes.inspect}" - merge_attributes.each do |key, value| - task.attributes << [key, value] unless task[key] - end - task.origin = origin.edit_url || origin.view_url - if task.include_statement? && recursive_origins - list = TaskList.from_example(task, recursive_origins) - self.tasks = self.tasks + list.tasks - else - tasks << task - end - end - end - end - - def filter(example) - end - - def to_html - tasks_html = tasks.map do |task| - link = " (edit)" - task.wrap_div(task.inner_html + link) - end - "
    -

    #{example.to_html} (#{tasks.size} tasks)

    - #{tasks_html.join("\n")} -
    " - end - end - class Page def self.find_all return [] if repository.tree.contents.empty? - repository.tree.contents. - select {|blob| File.extname(blob.name) == GitWiki.extension }. - collect {|blob| new(blob)}. - sort_by {|page| page.name.downcase} + repository.tree.contents.collect { |blob| new(blob) } end def self.find(name) @@ -220,6 +52,10 @@ def self.css_class_for(name) "unknown" end + def self.history + repository.commits + end + def self.repository GitWiki.repository || raise end @@ -246,34 +82,7 @@ def initialize(blob) end def to_html - html = RDiscount.new(inject_todo(content)).to_html - html = inject_links(inject_header(html)) - html - end - - def inject_header(orig) - orig =~ /

    / ? orig : "

    #{name}

    " + orig - end - - def inject_todo(orig) - res = [] - orig.each_line do |line| - task = Task.parse(line) # try every line as a task decription - if task.nil? - res << line - elsif task.include_statement? - recursive = task[:recursive] == 'true' ? ["/#{name}"] : nil - list = TaskList.from_example(task, recursive) - res << list.to_html - else - res << task.to_html - end - end - res.join - end - - def inject_links(orig) - orig # disable wiki words + RDiscount.new(wiki_link(content)).to_html end def to_s @@ -313,9 +122,20 @@ def file_name def commit_message new? ? "Created #{name}" : "Updated #{name}" end + + def wiki_link(str) + str.gsub(/\[\[([^\]]+\]\])/) { |page| + file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9]/,'_'); + linktext = page.gsub('[','').gsub(']',''); + %Q{#{linktext}} + } + end end class App < Sinatra::Base + set :public, File.dirname(__FILE__) + '/public' + set :static, true set :app_file, __FILE__ set :haml, { :format => :html5, :attr_wrapper => '"' } @@ -327,7 +147,11 @@ class App < Sinatra::Base end before do - content_type "text/html", :charset => "utf-8" + end + + get "/styles.css" do + content_type "text/css", :charset => "utf-8" + sass :styles end get "/" do @@ -339,25 +163,23 @@ class App < Sinatra::Base haml :list end - get "/img/*" do - git_obj = GitWiki.repository.tree/'img' - params[:splat].each do |part| - git_obj = git_obj/part - not_found if git_obj.nil? - end - content_type File.extname(params[:splat].last) - body git_obj.data + get "/commits" do + @commits = Page.history + haml :commits end get "/:page/edit" do @page = Page.find_or_create(params[:page]) - @global_style = 'vimlike' haml :edit end + #get "/:page/history" do + # @page = Page.history + # haml :history + #end + get "/:page" do @page = Page.find(params[:page]) - @global_style = 'vimlike' haml :show end @@ -367,26 +189,16 @@ class App < Sinatra::Base redirect "/#{@page}" end - get "/compact/:page" do # especially suitable for iPhone - @page = Page.find(params[:page]) - @global_style = 'compact' - haml :show - end - - get "/raw/:page" do - @page = Page.find(params[:page]) - content_type 'text' - @page.content - end private def title(title=nil) - @title = title.to_s unless title.nil? + @title = title.to_s.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} unless title.nil? @title end def list_item(page) - %Q{#{page.name}} + title = page.name.gsub('_',' ').gsub(/\b\w+/){$&.capitalize} + %Q{#{title}} end end end @@ -397,96 +209,30 @@ def list_item(page) %html %head %title= title - %style - :sass - del - color: gray - ul.navigation - list-style-type: none - display: inline - margin: 0 - padding: 0 - li - display: inline - margin: 0 - padding: 0 - padding-right: 1.5em - a.service - color: #4377EF - text-decoration: none - font-weight: bold - a.service:hover - border-bottom: 2px dotted #4377EF - div#page_navigation - margin-top: 0.6em - div.included - background-color: #eee - min-height: 3em - padding: 0 - margin-top: 0.7em - h2 - padding: 0 - margin: 0 - position: absolute - right: 1em - width: auto - font-weight: normal !important - text-decoration: none !important - color: grey - text-align: right - - body.vimlike - margin-left: 2em - font-family: monospace - div#content - h1, h2, h3, h4, h5, h6 - font-size: 100% - h1 - text-decoration: underline - letter-spacing: 0.3em - h2 - text-decoration: underline - ul - padding-left: 0.3em - list-style-type: square - list-style-position: inside - li ul - list-style-type: circle - padding-left: 1.2em - li ul li ul - list-style-type: disc - - @media print - .service - display: none - div.todo - line-height: 160% - - body.compact - margin-left: inherit - font-family: Helvetica, sans-serif - .service - display: none - %body{:class => @global_style} - %ul.navigation + %script{ :type=> "text/javascript", :src=> "/s/js/jquery/jquery-1.3.2.min.js" } + %link{ :rel=> "stylesheet", :type=> "text/css", :href=> "/s/css/yui.reset.css" } + %link{ :href=> "/styles.css", :media=> 'all', :type=> "text/css", :rel=> "stylesheet" } + %body + %ul{:id=> 'header-menu'} %li - %a.service{ :href => "/#{GitWiki.homepage}" } Home + %a{ :href => "/#{GitWiki.homepage}" } Home %li - %a.service{ :href => "/pages" } All pages - = yield + %a{ :href => "/pages" } All pages + %li + %a{ :href => "/commits" } Commits + #container= yield @@ show - title @page.name -#content - ~"#{@page.to_html}" -#page_navigation - %ul.navigation#edit +#page-controls + %ul %li - %a.service{:href => "/#{@page}/edit"} Edit this page + %a{:href => "/#{@page}/edit"} Edit this page %li - %a.service{:href => "/compact/#{@page}"} Compact view - %li - %a.service{:href => "/raw/#{@page}"} Raw view + %a{:href => "/#{@page}/history"} History +%h1= title +#content + ~"#{@page.to_html}" @@ edit - title "Editing #{@page.name}" @@ -508,3 +254,13 @@ def list_item(page) %ul#list - @pages.each do |page| %li= list_item(page) + +@@ commits +- title "Listing commits" +%h1 All commits +- if @commits.empty? + %p No commits found. +- else + %ul#list + - @commits.each do |commit| + %li= commit.id << " " << commit.authored_date.to_s From 2d1f59958a090a1d623ee6c110b1208b87acc9a4 Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:56:55 -0500 Subject: [PATCH 63/94] new --- views/styles.sass | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 views/styles.sass diff --git a/views/styles.sass b/views/styles.sass new file mode 100644 index 00000000..a04a7cb5 --- /dev/null +++ b/views/styles.sass @@ -0,0 +1,27 @@ +h1 + :font-size 120% + :margin-top 1em + +h2 + :font-size 110% + :margin-top 1em + +h3 + :font-size 105% + :margin-top 1em + + +div + :padding 10px !important + +#header-menu li, #page-controls li + :display inline + +#content ul li + :list-style-type disc + +#content ul + :margin 2em + +.unknown + :color red From 385c3eaa16db188fcf28da9941c673e29958a654 Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 8 Feb 2010 01:57:27 -0500 Subject: [PATCH 64/94] back to normal, pretty much --- run.ru | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/run.ru b/run.ru index 19e6a210..53c09e2a 100755 --- a/run.ru +++ b/run.ru @@ -1,6 +1,5 @@ -#!/usr/bin/env rackup -#\ -p 8787 +#!/usr/bin/rackup1.8 require File.dirname(__FILE__) + "/git-wiki" -run GitWiki.new(File.expand_path(ARGV[1] || "~/wiki"), - ARGV[2] || ".markdown", ARGV[3] || "Home") +run GitWiki.new(File.expand_path("~/nudocs/mntdocs/"), + ARGV[2] || ".mdwn", ARGV[3] || "Home") From ea70773b3b614a95669abbecfd6d01cae91c8544 Mon Sep 17 00:00:00 2001 From: Docunext Date: Mon, 8 Feb 2010 02:02:35 -0500 Subject: [PATCH 65/94] restoring gitmodules --- .gitmodules | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..c2d147d2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "public/s/js/jquery/plugins/jquery-form2xml"] + path = public/s/js/jquery/plugins/jquery-form2xml + url = git@github.com:docunext/jquery-form2xml.git From a89761fa3c8cc12b1a545d36f9961700d3146a3d Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 22 Mar 2010 19:13:27 -0400 Subject: [PATCH 66/94] integrated some improvements from deadlyicon's branch: nested pages, edit param. included forward slash as acceptabled character in page name so that ikiwiki repositories can be used. removed deprecated use_inline_templates method --- git-wiki.rb | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index 45015934..3e86e6f7 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -125,7 +125,7 @@ def commit_message def wiki_link(str) str.gsub(/\[\[([^\]]+\]\])/) { |page| - file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9]/,'_'); + file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9\/]/,'_'); linktext = page.gsub('[','').gsub(']',''); %Q{#{linktext}} @@ -139,11 +139,11 @@ class App < Sinatra::Base set :app_file, __FILE__ set :haml, { :format => :html5, :attr_wrapper => '"' } - use_in_file_templates! + enable :inline_templates error PageNotFound do page = request.env["sinatra.error"].name - redirect "/#{page}/edit" + redirect "/#{page}?edit=1" end before do @@ -168,23 +168,26 @@ class App < Sinatra::Base haml :commits end - get "/:page/edit" do - @page = Page.find_or_create(params[:page]) - haml :edit - end #get "/:page/history" do # @page = Page.history # haml :history #end - get "/:page" do - @page = Page.find(params[:page]) - haml :show + get "/*" do + path = params[:splat].join('/') + if not params[:edit].nil? + @page = Page.find_or_create(path) + haml :edit + else + @page = Page.find(path) + haml :show + end end post "/:page" do - @page = Page.find_or_create(params[:page]) + path = params[:splat].join('/') + @page = Page.find_or_create(path) @page.update_content(params[:body]) redirect "/#{@page}" end @@ -209,7 +212,7 @@ def list_item(page) %html %head %title= title - %script{ :type=> "text/javascript", :src=> "/s/js/jquery/jquery-1.3.2.min.js" } + %script{ :type=> "text/javascript", :src=> "http://www-01.evenserver.com/s/js/jquery/jquery-1.4.2.min.js" } %link{ :rel=> "stylesheet", :type=> "text/css", :href=> "/s/css/yui.reset.css" } %link{ :href=> "/styles.css", :media=> 'all', :type=> "text/css", :rel=> "stylesheet" } %body From df39a6bd732fb27e1ccb8e5eada392bfc03fe3f8 Mon Sep 17 00:00:00 2001 From: docunext Date: Mon, 22 Mar 2010 19:13:59 -0400 Subject: [PATCH 67/94] new script for running ikis --- ikiwikis.ru | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 ikiwikis.ru diff --git a/ikiwikis.ru b/ikiwikis.ru new file mode 100755 index 00000000..82c973a5 --- /dev/null +++ b/ikiwikis.ru @@ -0,0 +1,5 @@ +#!/usr/bin/rackup1.8 +require File.dirname(__FILE__) + "/git-wiki" + +run GitWiki.new(File.expand_path("~/wikis/"), + ARGV[2] || ".mdwn", ARGV[3] || "Index") From fcd102d1e2fc0080cd2a51e6d514f68656e1688d Mon Sep 17 00:00:00 2001 From: docunext Date: Wed, 24 Mar 2010 17:11:03 -0400 Subject: [PATCH 68/94] debug ops and fixed post --- git-wiki.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index 3e86e6f7..dfd73074 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -175,6 +175,7 @@ class App < Sinatra::Base #end get "/*" do + ObjectSpace.each_object(Sinatra::Base){|o| puts o} path = params[:splat].join('/') if not params[:edit].nil? @page = Page.find_or_create(path) @@ -185,7 +186,7 @@ class App < Sinatra::Base end end - post "/:page" do + post "/*" do path = params[:splat].join('/') @page = Page.find_or_create(path) @page.update_content(params[:body]) From 55813d8d483ef49bfadeb6e3de219f6d1368b8fe Mon Sep 17 00:00:00 2001 From: docunext Date: Wed, 24 Mar 2010 17:26:16 -0400 Subject: [PATCH 69/94] working on paths --- git-wiki.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/git-wiki.rb b/git-wiki.rb index dfd73074..a68ee59b 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -125,10 +125,14 @@ def commit_message def wiki_link(str) str.gsub(/\[\[([^\]]+\]\])/) { |page| + puts self file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9\/]/,'_'); linktext = page.gsub('[','').gsub(']',''); + if linktext.include?('/') + linktext = linktext.split('/').pop + end %Q{#{linktext}} + %Q{href="#{file}">#{linktext}} } end end From c30c485d2c7649d15a65ae2093e0d98d9287af70 Mon Sep 17 00:00:00 2001 From: docunext Date: Wed, 24 Mar 2010 17:36:36 -0400 Subject: [PATCH 70/94] huh Revert "working on paths" This reverts commit 55813d8d483ef49bfadeb6e3de219f6d1368b8fe. --- git-wiki.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/git-wiki.rb b/git-wiki.rb index a68ee59b..dfd73074 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -125,14 +125,10 @@ def commit_message def wiki_link(str) str.gsub(/\[\[([^\]]+\]\])/) { |page| - puts self file = page.downcase.gsub('[','').gsub(']','').gsub(/[^a-z0-9\/]/,'_'); linktext = page.gsub('[','').gsub(']',''); - if linktext.include?('/') - linktext = linktext.split('/').pop - end %Q{#{linktext}} + %Q{href="/#{file}">#{linktext}} } end end From a3acccc987df59dc446447fd86bbf806cbbcf424 Mon Sep 17 00:00:00 2001 From: docunext Date: Wed, 24 Mar 2010 18:42:12 -0400 Subject: [PATCH 71/94] huh polished things up a bit with a fluid icon, a favicon and a config.ru (cherry picked from commit 7afd54cc7915c31caa28dad9b8ff349b0a285494) Conflicts: git_wiki/views/application.sass git_wiki/views/list.haml public --- README.markdown | 9 +- config.ru | 4 + git_wiki/public/favicon.ico | Bin 0 -> 1150 bytes git_wiki/views/application.sass | 232 ++++++++++++++++++++++++++++++++ git_wiki/views/list.haml | 13 ++ icon.png | Bin 0 -> 336651 bytes public/s/css/yui.reset.css | 7 - 7 files changed, 256 insertions(+), 9 deletions(-) create mode 100644 config.ru create mode 100644 git_wiki/public/favicon.ico create mode 100644 git_wiki/views/application.sass create mode 100644 git_wiki/views/list.haml create mode 100644 icon.png delete mode 100644 public/s/css/yui.reset.css diff --git a/README.markdown b/README.markdown index 08eed64e..35f7d41d 100644 --- a/README.markdown +++ b/README.markdown @@ -90,8 +90,13 @@ The following [gems][] are required to run git-wiki: - [RDiscount][] - [RestClient][] -Run with `mkdir ~/wiki && (cd ~/wiki && git init) && ./run.ru -sthin -p4567` -and point your browser at . Enjoy! +## Setup: +`mkdir ~/wiki && (cd ~/wiki && git init)` `./run.ru -sthin -p4567` + +then just point your browser at and you're done. Enjoy! + +### Note: +if you're using passenger you'll want to symlink git_wiki/public into the repo's root directory See also -------- diff --git a/config.ru b/config.ru new file mode 100644 index 00000000..b071e247 --- /dev/null +++ b/config.ru @@ -0,0 +1,4 @@ +require "rubygems" +require File.dirname(__FILE__) + "/git-wiki" + +run GitWiki.new(File.expand_path("~/wiki"), ".markdown", "Home") \ No newline at end of file diff --git a/git_wiki/public/favicon.ico b/git_wiki/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f31d715f1a767dafa349d9bb641f3e71a9bb2633 GIT binary patch literal 1150 zcmaJ=Ur1A76#v8^j6fm#2SuSTlC%e33}1XPA|ra}p_ho*OJN}PCP?8^8AuFFWhQO| zF%>nO`>&gG>gG1r=9o;T&TZ=2?yQZe+Z?-`&UbA!E~`6!JLjJ7{C?+r=Wq!r!CyrM z!T+1&=N7XnRqS48r~gfNcd%_~DSn6g z6fRe?_P76bZ!dkN7?;M(=0yGA;J$Ep`1=#&2>Sa&uMjOh-%<6zz`l@zVKNu~#iwz+ zLs=jYXg8b9HkC^GV`5^0k;~n zu~^KGjg5UhIXO93OoL_F()IQA1*`+80XCZrR##VHWn~3SCKE^`66o#ih1uEJPsRAh z$H$McZ+3Tg7d##h==FNo+}z|emY0_S?*JnsBhb~=m1P*FhOZHe#lGz9>_8+E0iVyu z)eVJ0u(q}aGcz-w)oMB0*VjjTXy@}2iG(#Cj|1ue?SX>o`Tc(GE|Zg!oW{`55Ga+( z9zH)BjcRDWsZBeh+sc|k!vI*QBFwU>?w?Bjisl^$5MC>5<-3fDt{6@ literal 0 HcmV?d00001 diff --git a/git_wiki/views/application.sass b/git_wiki/views/application.sass new file mode 100644 index 00000000..6b267992 --- /dev/null +++ b/git_wiki/views/application.sass @@ -0,0 +1,232 @@ +// reset +body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td + margin: 0 + padding: 0 + +table + border-collapse: collapse + border-spacing: 0 + + +fieldset, img + border: 0 + + +address, caption, cite, code, dfn, em, strong, th, var + font-style: normal + font-weight: normal + + +ol, ul + list-style: none + + +caption, th + text-align: left + + +h1, h2, h3, h4, h5, h6 + font-size: 100% + font-weight: normal + + +q + &:before, &:after + content: '' + + +abbr, acronym + border: 0 + + +// global +!orange = #FF6633 +!blue = #89BDFF +!brown = #9B5C2E +!green = #3B8520 +!yellow = #D5FB6F + +a, a:hover + text-decoration: none + +// main +body,html + height: 100% + width: 100% + font-family: 'Trebuchet MS', Trebuchet + font-size: 14px + +body + background: black + + + #page + display: block + position: relative + margin: 0 auto + width: 900px + background: #181818 + min-height: 100% + + !nav_height = 30px + !nav_padding_top = 10px + + !content_top = 5px + !content_right = 10px + !content_bottom = 5px + !content_left = 10px + + + + #header + height= !nav_height + padding-top= !nav_padding_top + + #flash + position: absolute + top: 40px + left: 0 + right: 0 + text-align: center + color= !orange + .message + display: none + background-color= !orange + color: black + font-weight: bold + -moz-border-radius: 5px + -webkit-border-radius: 5px + padding: 3px 5px + + + #footer + height= 1px + + #title + position: relative + top= !nav_padding_top / 2 * -1 + text-align: center + font-size: 120% + color= !yellow + + .nav + position: absolute + top= !nav_padding_top + padding-right: 1em + padding-left: 1em + a:hover + text-decoration: underline + li + display: inline + margin-right: 0.5em + + + &.left + left: 0 + &.right + right: 0 + &.edit_page + float: right + + .nav, #controls + &, a, a:focus, a:visited, a:active + color: #999 + font-size: 90% + + #content, #preview, #editor textarea + padding: 2em + + &.edit + .nav .edit_page + display: none + #content + #editor + position: absolute + top= !nav_height + !nav_padding_top + right: 0 + bottom: 0 + left: 0 + textarea + position: absolute + top: 50% + left: 0 + bottom: 0 + right: 0 + border: none + color: black + background: #B2B2B2 + #preview + position: absolute + top: 0 + left: 0 + bottom: 50% + right: 0 + overflow: auto + + #controls + z-index: 2 + position: absolute + top= !nav_padding_top + right= !content_right + + + +#content, #preview + color: #7F7F7F + + small + font-size: 65% + font-weight: 100 + + strong + color: white + color= !yellow + + em + font-style: italic + + a, a:focus, a:visited, a:active + color= !orange + + h1, h2, h3, h4, h4 + font-weight: bold + color: #D5FB6F + color= !yellow + margin-bottom: 0.5em + + h1, h2, h3 + position: relative + left: -0.5em + + h1,h2,h3,h4,h5 + &:first-child + margin-top: 0 + h1 + margin-top: 3em + font-size: 130% + h2 + margin-top: 2em + font-size: 120% + h3, h4, h5 + margin-top: 1em + font-size: 110% + + p + margin: 0.5em 0 + + ul,ol + list-style-position: inside + ul,ol + margin-left: 1em + + ul + list-style-image: url("/images/list-bullet.gif") + + ol + list-style-type: decimal + + pre + padding: 0.5em + overflow: auto + background-color: #000 + diff --git a/git_wiki/views/list.haml b/git_wiki/views/list.haml new file mode 100644 index 00000000..f7020289 --- /dev/null +++ b/git_wiki/views/list.haml @@ -0,0 +1,13 @@ +- @title = "All Pages" +- if @pages.empty? + %p No pages found. +- else + %ul#list + - @pages.each do |page| + %li + %a.page{:href => "/#{page}"}= page.name + %small + ( + %a.page{:href => "/#{page}?edit=1"} edit + /%a.page{:href => "/#{page}?delete=1"} delete + ) \ No newline at end of file diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b95516cbdc112fc765c1d5b817750ab3fbbaf1 GIT binary patch literal 336651 zcmZ6ycRbu(_XVmOQHSVlj2aTX_c9ngYKY#Vh3LH#2BVjR=pkwdL86!Fy^9vTM~L3t zujhT<_x|qvYka<#IdjfFd#}CL+ELHd74aWYJwic2!B>LAv`|nmpeQJqwID3u$W>k{_x=8EW7u>c#dk@yj7FPlFL^&3yNZnE71S-FU#5bb8%6nI!+ z|9O!UOt684|KCRuuiFuze}DU*7lSY`_`iSu&y#8_M(F?E;o*rDz5?w3eNW&?FBKB; ze?BFwJwbp1Z2o_rFgS2SJN`c_nKt|XEu{QE3qgclU0wA?lX6)7UG1v=<-6B6nkRSs zyW)QzSn}ha1s`$;-QDy?(g(7AeKnNS&>%|5YlWZ*I2qH@(|h&*zI6iDKP&MSw|8)0 z{Ax3jR$9uwv)K6UWOquX|08q$~$Fq^StubyDJ5S|9#XG=#o=NyV-V$ zevPfB)#hM&B3J8;78X7g(+8)95|tmp$lj5Wchqm1G`r*Jxu_j$5>;~~7oFb!cY_nK z9?v}kwm|}aDe&5{psr3YIwpqp?{gg;rr6k6-Z#I*>(}DM*8lddm}E0T z+6L44Hkyuylh1$o9f;+KU9Kl@TyEufC4%=V8Y_$fFE?E0?20IH{&%VcpogfC`_|Q; z%3+KFQ&Nh0{P^+rnU{u!#_~vxitn;48rchEs9@Y4TCYq-W?_Pt#ErkJV^rUBxBs8@ zD7{wz!g1TPxTGZNscFlCyi`hBTEk4nhY!|$NzATyms{V!M9S(l*vj62n$LeZ-J=tV zKM%b4K|hBt_}?wk3YG`LF~TWqb91w|RJW`kFR$HB3?(o!jU;;Ou$6JlyBe!Y{UC`JgL8iZ^fHz8#;OWSS__c&EZy50kuD4kM5v?Bjm@ zlY7?oW2{xOnxM-%`uyR_4`W~Kh?R%HU5l4W8{lkIgucDn;2<#Y_I z&So*Pdq_p&7>gs_SS97I-^Lew@32?dw_rbCj;hv4W?k8;$rK;d6KJ11f+uMo8z4OlzO)<(P!9dwG_h6 zx%2NFn@^|Rx)&1|}lEe&D0 zepScqy5HtV4q=J8LO!s2CuV4&+v14uj9q&>oK2QZ>`k^sZ#6VO>U`+FrbzGM?Znk`0Zru} z6y|?OKoMqi(T_<A(bq#mQ=uSqC~D6Dl}Ff}=-1)xE({FZ7w~=W?Yu~0Ih^<~pGZ_3kyMhe zJ2i@E(Hi5#BmuGUPdSsLk`cfQhZOjF$)6)&b*a9dFkAFgFy=lio zZr2zdlX00m)h<%^Snq!JZDD-HM)*uqkyd^RPh|7GabT} zjoSCL5Sr3o@2xDa_1YN|H(j9)1vCCkuU|gu zAJCrR$XZKX|K{Vvz{d*9qeg!Q8fV5jpQ-w5XDJeh2t+*-vsqPUl>Gyj@If3i}S0^r{&$O87 z^AicikWzXXzXHyU(;u=7P$f9~pR+(V#;Epdvr9!Qgqj)^X) zuVwxT9oI7DQgeV~oY3!vsg;@WN5TP*_oCpmW2Z=WbkTg<*CF zEhGxD-sFURU{!q&0n#$p6)#ld3Wz9lMZHCpqY_j z*!3dU$_b$W-M%4Zp|fbF+ZVQFb^Owf#mO9&G@%ob!DAVrn$9av0OZeJ6Tkh9@C>!V zaWn39-lq>p%nILDdN5ODg7Rg7K)8zSt59!HGEw-DY-ld7OuD*WN)l$?7uGEIq_WJa z<6*G@ARnmtMo|U=N06{mkI{_fPJDrLnF|Y#{}Nl)DF>~q3{)6+t(A_$y%|p>pln}O zX5BYVs%895D}#D%!tZda0A>>J`Lu%iGb5ZBL>?$x{@i#iH;f?Z;RbCo0r=zrvTdh> zkn)PsUpgKWq9$^#GTcD?IO<-rsQ}|D0z`9|A5rwXdsJu zU%qf_e5BOB++y{7a{nmQCpR~DRAi&z2Tx$-*I`i~TLJ&msTXlNn*#m9B<<4c=sBkX z5#x4i#5nCDR}?%J;je+Dt);KS7W3{|+FbvffEDcc<&+4Yn!*>ZL^_qUr+L3?b#!!k zIVzi0p`x5khqAMl@e&B}n)<$f6K;bPHz#;9G+0{2d_qmgQ3#V!dp(SL8|}yAu+-5x zgRigZ;fV94pjJ6_9y&9KssG1Q?&OYg8`Me{EcxRtK{K&fX_AD`NdWxCn`1r_rs$X}U%FaU+M|fE$ zW%=AHpWeL%aaL~&3m-O48KV)gDA3W<6>SD7dkcOOyh^7sU|@vUK$sx*?~mCo`7=&PsoiL<3@5+m$5_E6m$hz@k4V?dStj~?$|$M^T#=*m*89cOz2Cj>W3a`3 ze+j$31gh|W)ZJe~k^Pzpn#&IR$=*c9pzR|5od~J(M2QwFq6Z%r}$u3=l*#;?ET>gk6VGegxGtHPiqCdZ4iptR_jj7HKHei)F=`*X4Riu=r4j3Dj z;m)muT&v`aYh41kotB3-<~3-9>&irYjHpVQ`j_*MF<$3o(WQFD zStz47JO_qf6*^{n0DwFh+TMy^Toi5@`C|I|d0_^udo#Yva8T&*pJmsj$lAcPgN zRlq7rTZdKgEa(2FNc?=kjptnLE#f=Stu6jN2f$kWZfTin`S|F*^!w%t_phao{szm1 zO(@=5(LB!&nVA9`H_v6YPHVJ|h)4trRDL#jmR6S(Lxa8*@6Oeo@vQErEQ{)U=~T2m zQxTL>J?W;3I6eI=`xRXIqb7!wo1_$TR?*i%-9iN4l;_PuM}$<8Yo=?J)#S3uU)CC> zJvD-IgdM*$sRz2`DY%Sw^W>yZUtT2LF7#wnWwegWvEpx~%m`PaEkfTckVy@!6)UJF zb@iqOzNsxREzb9@LbepE6QfWvl8~OWhd!w3W*J+GyL#l`wBbq;!bmK0AL6^aPib9} zMA%16D9QZ?)YbK~ap%*A@RLOE1m%owpro%rx#+x?QG0Rtw(*Rq%H7w#6HODWpx~hP z1(TqI^DKiEcu{DcW(sC<2E;0hh;p*oMNRa#>}IlGw(a?2_uu=|FCB=*A|*})>c+>l z_ACt)4qrpXgJON7$S&KCU#u$iu`aGw39ZqF1z?L+v()5QRLPXSD^G}i8)Nl1sjHe@ zcqHTMrCssoq<&J4jYz4xC_LJR5PxAy1y$aToUm~v*oFR^=2NQ+#0szNqD)1W8~v>9 zeL4%{1;G{hF(V9oOcr#17%7#atuFGmS7GnPztAK>EcfP0roa)uAb@aTmQ zZ=aX*maRouhD~gWeT+g9o)}9;CL`QnY$627p8|_X9@?C-gYtN5)b?ht9ih_eWyNaS z#|u;e@q$G&@rX+<1ESW?>3EcROEP|ii_l5^7VoObiqfP8d(dY@&1P+XUL?)a=IayB zsm#@MaxJBSZIG=J5wpydLZwNUmTql^_s0Y4BqU0L5=?${2JD(G?o%BTC%h6)vW{Sk z`?CE&8vRqVjWD{EG0-2|FzU@#53|t8DtvV_g7w%L~hWw3?QH;`patSW^ zyZP+b&Jbbn$qkP(OV^OZNe$zGabAu|<6zUU1hS7Up9c(GYS>7vHSP?&+=;j==lGeB zXXsR4sPeYD7%_-S3yBRJt@&^$tZs-PyCfQr8Rn;KA2ZBg9AD699Z36}5PkHBeC%uW zCthw(>VoP|O1`8~H2$OJTKdn~=!0%tBDYfh0Ff6y%?1v6tUUo3c8F*J>p*%9}Q?*2?=f+1G4T%3fqx{cp^e&$-@j&I|yw+oy3>Y z7Vp0nGx1T#!;es+89Cb#n!=NhpFVXLu76?I@Ow^-W|OHF#kN%C81LUJNQp{4MsxE* z+nAMuj4Q!sW24%2mbV0dGxF+_ucA)5l+_oSntPdw4B`xMRYD)|{kE4{TVs->FVYW~ zE!w%fGT14>jzMwwl&E&-E9b*v2faV5ENLmtGoJo8Y6ZTCMxzJItXE=eP+jIOg=oHA z85AK&cit^2YRE}qtW`V`0k>Q> znwiw?ufB}2y6bQ?XvlX}>q=|LjXh81`QXS-Qn#q^3us1b;hgld(GduNZ?W`JzvLId z>9RpnwuPz*;EZuJhW7K(EkwBJ-%b+i)y}B2(*LIB^sbxBQa@*7#u}gnQn2{V%o!+iqgree#z1PMe$MEi+^vn-6; z^W|8rf4ixjHs-tt3_dTqjYvF@0@E{E7!441*;2HW-Gb6zkq6(qp>(dX$mh)n(gD5R zo9N4GvssIh%8I1T?x{I4YCKA)*nZPj#-|9B!!1(DdCD=Ov9@}r+9^F=i%t-ERj!pL zbOe%EN<)(qh+Q?(^au>1JetV4(|JHB!#!7-?PhT5qkS>}@a97{hqI{7F=0xeAk1<` zS?O;&QJBU7+BR&{JU+CRNK$RR=erBY^@Zue+RUK4 z%cH{|gpK`ArU9}*uHm`uw>Gow**2N>?=;+I(hFGD4S4*d;uE@Tt-q;*%0wFpjdxxG z9F!qL!$z9n`a`GUEngwg!!}loV2l^na%#DJ<)9joDZ4D(5RDy3sX7(-d?-@KoqoKK z68w3jWMZKHIyijUPdmz}+H;I%<*t+tA+W-6C6teG5uPtkv9g_2uS=`b#EqM5Mm7Dse}^c!3ho z*|UQx|7NcGU{(Dwuer4&DR?Cde`Z(*J7T=7{?&lK-p88bj#k}6=l9ww3}29Ye9?@% z0Plg5^JVKLz27aXgi_GLWZWO4CRX%fOQcndoBg(cR2_wZ2Q`q|qzcC)QRmz(ATCzo z)zug-&ocfUC_@tJ6;T2aIyM3SkHG}(HYJAN*>^Ig7PTbU=%{nv154RTcEfG$rVEh$H-qm}qihAXMKHdmu4C^Pc^$OK zG}5ybG8bw+eXI5ONz$ij1t8K>-r{mB)XF(u=8Q~w6rgQ(m1q|=oM|**fYrvbb^Q{- zfAv}|q~av3da-ytW2$)Fx7k>U8^8GH8M$<&J`hgwh~g>}>wl3Ijyb?bfH7!mpPDLS zbUqLwHU5>N&l=`-Nbt+vcIwSMpP3TI<02il41$9)lYw?nI!^M+)(2pF#iq8qD4Kw% zLWXm%(}cD>&eIs%+FnbDB?2c9)x5bPx#f7_o?kO!M}=Z3!|x)Az+n%7m2FxgVmAif zDY9`4229)XGBf(~Mx7hr*f@dS*$-h*CV~=EkCy_r^|D1=6vVD)aFu=%eELP~3encz{ng4nsj|>Qos|@J})@psfOTZGVyt$R|gLIDkvfK!iI%X8x_y+>ovdJ6m%bRMNEtP$J8<@P_K3_2YJ#x?A$`-?rc zBZG-#6|JNyN;#)ll9;gNqm2RU>2i(r=JQWjXE3RL-H#mLs$HsoYtkDd&DZvwJUL!IpWbKX!FeF0yD z)n2D7yrbgW_OT68S1V*2M4J=kYiS+u zbx6=n{nI_3i>q#H57!bU7ca9308UrfyH02!dj$4LR~aniq?%kn`=7!ZJA^-8_T>fl zmN7FqmYYugR+b}@T4*@yqe5wMH}(t#S>^9-kxmtbi|g@?tJv1s$uPWNU;u8P~u5E6g3lmmeu;8JY00zr5FFY>uw(%HR-nQh?Zqip4j z8%I5KDkePMIOv~F$bAX^QhBZKC5eXe(8hl6W$93$I-NZDzDB@TfhQ76qAtvEbTq&< zFrgv!3=rK6I0j9!@Q2>^5IkQbn`_+t$`qp`S(aZ5(+IfSc*jZHUzypi{B#T3g;H2{ znsA22js_LAs_ml0sv^#OL8#ZHU*-x-fV@tjXR(Kt)90=Ue;{s;65WaVL;vPliOE$) zsjeUBW{v7#Ew^We1~nFM`E{n?ZqCNK9s)(~3J%1cEA>#ZYF!HI<_fZK4Xdfhj(r-+3bXP7A6N;hYa&+TD zSDjJi8!vI@eEhZ!^Z9zI`iYYR;Y$mVxy}##3{j`B~87uUmC5t8h2yqhs2gsiN}1(--4X zJ>+?oRWN|e;8DEz-FVPK#FiMB58yx}MK$Btz&GJM9CXBh)aS0IKZO^T_aQ_VQ@O@m z+TuGK4!G=ug<*lBhzPt+cs&fu-w@@Y(;v%)_6W=vF#=?&RtFQTLI$6c-3lPm@YAmC zw~3{3Uk!Of$c^2>vaS__Pvg+ySk^*CAD8D>uLRqrQgs|Lpu4xi`g*O(2x^|3VlNH7 z?;J^3+o#z9)L=U5VFOcB`gA@U^>si1^PGxD!9Xipg(W0Lk@1t8K)z zM?m+KI+lio`i-bUHM1kSOWg%O1uokYW4c!SdfA zzBkz_B%jO6J3f6Gbp$rFLyHek3&Pt#v1Z7MZ@+x+KNtRr)Aag>(Z#bfAq zNQ!m=*s4Zi%SB9zRj;K0A&U$JS&9Y>&W7!LkSLdVE+vYLHz2i%+33id-%gEwIWF8G zj|hiC_g`^;^G(-N!8I3$X4zFz3%MyOwYX9yQ> z$p_J-hUy`OR49~9^7cfV9A_oorQDX}6w|KD>tZC~V51QtQuEuUqQG|hlG&9Y5&m^j zpjP=b$y%$*D)FhwcYXFUhfs&I#8NZEFEvJ+L)olfZHCgM?k`6ib>*w=_~fKV2_NLz zY_<1~4+j<$I6UTmNsPcUx-%rg++NA#%cNBrv8$wUrn0*mhYIr9|In=7`1#Cuk|5xx zyw=H1vZ6pG5Ci>y1k1Wt`K<++^Ck8%_PO86YL^yIPz4^fV1KNk!(8o9`+t--hMB|D z8B@jW5!F9`CuNoZzI0)C8;3O$GGiJP(0FaZ1d%4ir6>+ZlastTxWB99b8jTUaRKBE z&Fn!uh}^q&iSq>#nGq&3MA{X=^{$KyI(tv{jl1JLTibp&qT4+A2g)@m%(Vt24FWV6lrp@?)|BYa7|tvLFLq3ch>9%s6!M=6p*QdV8`lF8=d zQ_}{WSN=y)kGIJC!yQ?B6Y}IbmBXq2Q4k|&P|X`2Bu_>NH+(J19aL9%mJDP6c2JF%>&`AUr*x9i3WE+0E<%3_bZm$THaSXMU28Jw5XB6Aa+2U zrJm~3l0fl*2gpLfw+O3!ycS%=7@oIPh!fP$7bwn6F4LYr&9P~=)b~HO*DDbBS(}n% zx9E9G5KxwozFd^;G5M22EL)nFSHgGmCz-Gcgy7DTcJET84_L2ZzOjeVH~`1$VTV%w zGEzQHgtZqpJI3@*fV>w0>*BaqQGgXNd|#UKsI9i`gBk$s@#N%-{^(s_ySF!`Z&C^c zPLHO@`NFPs8F0x*-nAOJ1vP1FsJ>Wv>Bq$-6KD(cWjznOw`?cVd$Igr1j%N;a|C&d0U~{F!R}hFr8LN6z{q zsSQWNLv`}@-3St_K*e{bl{5V;A71bNjv0}~>N&-mV zPN&GsC2tUj#Z~!Ao{>yl{4dN0;4?DKNxC^3e?vzAWaMSiqt8N$z8X3;W5nr`hKKm` z9iV0hfAY8+LOXf@Aj5bM;G@i{N>ag_RQ=Y1X9p`O-Fr98mJZwJ+$=nvJi|neq!k5W za&Q8PaE#E{^l6un8|Fu0+nCHC3XLclZCAw?b=PP6dms|Epmw{rP1X}y88@Ba2?Pl< zIfUAMq8C)5`%%|lvk#W}{Mn3hP2ca?uZ#9I8iz!V)c}9i7>%9TdM{yAR?+ETx2c*8 zPDez8a^x@+^6TZP6)s{ewdrX91r+2Fpdrz!+ zJ8r|1&v+>NDdSt?3W;S5OhC}q>+0^OJDqcrP8wp zUC-hkaQ^f?NTHeZ9=Sipz`>TR`Lu~oDf0-(IsO766PM8T*XEd(hlVU4gMz$-3hjxE zlf;;XdaRUloxlOz7CkmSE8bs~xWWUTG#;|69qgN72bhhmE@lv>Q51H-P|#APZEldm zN$4kS=hq&hB3z{DcrOIT0*GDKEfc}QHALd{ffsp<%r|u%5(RUp^_SMx)(*O|D_@0? z8J`kgXUN(lgU4EPwkDt+_@BqepKsBuZnX1NZoLc>)TSPc^$siF*o;Z1S_-r z>)UP8_M2Jgt?&7oxl*7~*$F$FYj}4;`<{}^p`V;{U;)zw2EA0kxRR+hn(Rl2j*;NB z#G8Y;2O^Y}rUb3%Z>USSh@>?y^kQawj-n==g`7ciUZ3N0Y`a73v!kPwch+-$69x5! z^=b#9f!8_r3yjHiOTTo--=B7oYf<{gN%md?Rsj6h8Mk3|b4$tr|7OA0koVz?;S&VZ zg1^NI_w&I-%Ue?S_2M^&KQzzVK~g}swK3;V=@GoNQowf;M8_(qtYwZ7cWM_LT55N{4WFe@o6QBG31t4H_ADxrdk%wXjd3sS6*R zYah|5#;u6GmjtgU(uTKkQ1(b6VOWZ)6kMvVtSVSJnvRWK8pL?!`0=E!P_iL!l z*s~L8%e8eU9Ik?{9`tom28CY-+puhsSW`=Tf@O7XauVYE{wCl5N&o%9*O~DWQF@NV zqW#?B@9^kHddbh{Ue%~wjP$kk&@Ku!pRwln6Z1-#uQE^xFOi#gGg$LloE|{&V^6hS z7&3E2Ng7OGN#)$u`yY+5avH;1k9!&8Q(EtD>D!y1xQ{(|+Zx8X@{6s(xG#0swVtZB z=5>jT;4MvlK6h9!2Q&^WjLvy*oFVg)HP zyvq&oDg7Q)2ytlU5r81R%_kCpE;Jq6;2^mdScOM|zr5E{;@xJg--+ZC7fpJFPp))_ zXjL_NyEAGrGfw7dc7%}nOg)8Ihq;-jF0rajKGDH89e5eB(z+>@aHai`>?SE+ne76M z&u+UdmQ~e@DWUKw^ZZP*h+`kQV;Xc@8^iy%iz6yJH?%uW?9aA4uK#DE0IUp?eA)cP zXr%t0Uz7qU+xoDwFjqc<`ek8>fNfa98Rt}?ADzlkU~iE6RKHGo6LY^x z)H~oj;5_wSVk^i>x|O%2qCB~>}G z%l{;*2HN6!wOFsmH35v@CD72mlt#G_tT?Z{CGStS$)-I1x*nFqRo<2mh({_CQk}&y`)s5c+L@B9JVc%Xbxq#;d@yari1g=JsB)oM{*fq3-JX@)(-~E z0`hjIH?y7ZicN1bBNUStO1+voI~s$yz83Ls&v+V}#$t!hDb>o|Iy9Dcb1!-*nMV{? z9_8^Ta88q7{A&9nB{Q8xNO2!Fy+5}Huf@<(YyCIx##yJDa@|5Xg!k2}Kh+cnNa8()PkFUUs z3Fmfa#Td?;NKj(^q?*2p!4SY3$`kchF$zU35nd!mS^1H2s4q(J*T$o2HHDgUN~kg@ zz=rNnn;&Ie$PHtJjzQ)A@(E5s{)Y_Ngg%G9C%n+OgHw4El3U3j`raUAC7Tc42&{^z zN7VLy1CXYhjsbHVDVd&rA-7<4ssE5PeJvCkJ<$5O6v>8(%Y8&*E zGl5L%W`)p^Q|LdcaLMujS1WQ<5nO;I!vS+hSf1{N^a83U!+O*=8{|R#R`wB~!gMk* za6bj}{l(F1GBS%ugv4@E_RM)K=hXzkgWt7wu zN>r@`W7-7_J4D;%2kPfr-n6`^`}F<3S5K&dML?+9%1ylFmsTmmB*s}tI4c-@a9($w zRq#?;JU1sHCU=Ri+l;)kAx-~0H(;FmLRBSXB4k+%VWJgF9P1q_eEiY%F-$~8D}@xE3#7CwnO>j6|_!vk{6P24CZa%PMxKXvhY0 z&+%zGmwIUm3YxwbyTQ{z>Xl8O9GGs#U0!I%4{UvHMgDG_`Bh`^;T%7LCgg!Q7YR0l z#wYkmSac!;10n(Be+cMjlXf!PI}yjeYYYs%MJG|X_#+$s05h%o&3+0@q*rg|>$Q1*ZwCkw13A5Rm}#ydK`MYRRV!@8Yn-wpFlYPF9tStSBJo zu^VUddgGSp4 zmcs}=$B1Pb1*icT%t{~7+!L%Z6pX{aw6_FYHz+xu{hkGbFvi(ayb)f7G2C|Jth_R^ z!G>>|YYh{LC_>7WV`;^v@rdNUDf$%#l3;4Se2_n>89@UxDO^DtVg}e8w3^@@X&VLk zPPDQi(}2^|Yg%H&^-w^zu!{vXIPten&lOFj948*FXiC+1z!ET;G50IdOd5kUl0;S( zQ^hCZhCrn7II7j7aEs_bq;uZWgEVM&vZNY_FDs^(Pc&Ciwe|pp(3444F70JO9x*g|tK-%x z5K6puJR)TpgIpF**MJXE@V!C~^quE0#6cWk+I$Tb(FzTHpe{f#fy1&@f(BW<>9)nW z$ywZnXcNI}J@N0ToxYoYKA)SHGPDX;fpD-pcL`7Lynr;Lecc**VUl|EW&pj>HXiQc z5+$$rADizYc?c?byY0tESWFmLp!&Mv_^l$02n)f-MGZ4*)@EUt&H775_*@x(Qpc5eR*XL8K1uQ=VL7zz;65Rb3` z9iv$I{HNwXO&Su57wQr%X=qd1KBXx(kDR_}bM@JxazS4>CdW-Lx z#K}5HZzWLc5vE8S@LeB#e%+0o#TF4O`mO#7JSAVOEHBrYHYggDkC43BX5_sttAxLc!mv!o*`mZV2#?aG z!lRTmgDG$ibFW@1dG7(lzuIikfGO&?hE8#Ql(?czerEBT7NRO8I-zS)Qi& zO5G}M)fGWSYf$-d^wzbQ{fEKU`}3fC)`OO7r@8U64hYpT;6`;iHxjici83)2M@!k? zrw)8JXF~%1vTmD#;b>c&de!Ya`|8G1z1R(Z*4`6vBxCB^N3yeWt1>axi2tpbLP6}F;m|X zGtqaE8!+qDpC3iI8NFPPFIHgtyf&0gkRI^VdRp_%Q*ZGl=7(4kgb;wy{CPv&){TIS zbz0jCl3;O^(^k63s#oYk#0?89KB20?A-!R;K)9_GwNzNsM~SXbL6-RO`&d`_AF-(_ zGrb(=qw;Qf;85n{a2e#OunYVe=1ww2+>G2Yp2Tcr`#EVjLdQJGG&1DgY|OsBkvhf2VV5083yHS(dXe~K~!Wxg)^OEoKc6W&=VIj-kA;n4* zY#Y35m<%fqq#3-K8@^@1qJ{DHE-sj2W2Y$R4?BdLWi(zF7mYX+Uy+xthsRj( zt-L(q=5i#+(~`9yAvA>_{<3@8J;zHiXNQe9)H9TT_?R}FKdwmQ z-PfX)b{O3??tn!isS6GM*kqzk>(LHbrcftMcrY<>Kq-K=YH|!gm*?+9+7XGurDSG2YNo#HVG&0J&OzA^yJQ_PzeJ zwVnY{bnFH}B4pUB7z#Yf(1&3$yUvIG*2U9%4p;gK^jStx<$%M;3XXue+B4vCcaMGu z7KiJQhw5_aJ?BAA8HBtx?;>c%!QXkc!E8d~Hps)-(9Uj1fmdP)kPE}OG~FOg+2hTj z>*4Eyn8d5_U`{L%b!LSI4QX2@SUxj_w!B7Ve)|Q|?2CphN~u0~j};oNv4dhF7*ON+DQY4JClQ%To-C~J6Y!1xzPkgO9#;B*6U_xIY+d2NlaKWEw+5&` zmOF(v8gS@u0UOH#hLqc;>bLRnF&CcTiuz3|E%w*dLKNe8Cpw%h7Z&wEgR=05%V+dN zX#ZPZqwB>tn|Cilbz6S>nu@Yr zKc1-iV00o50zn`l{R$KO-q}~GsT5|~*exFq)D^g7l|Y}RJ8od5X2On9p7BJi7`XeU z6Fexb4ol0daZhgASx$dD!*qiv!z4@NZ4&mvLg7_L%o+n+h{6xS?CkW7}hKH`KgVp!2TZBw-9g z4-;_=@=p!xo`#MUGhuA^1|J~AAxm`<#86!U7yUrJ>h}m9CaK$#iMq8q8yzB4myLVi2V{1(=qSJObK{aS>MGh?~yDf{}?J z7n<4z)LXGs5W;;&em(jR%myYe4dbf}50ML(TbMmZSESL3d5qT`fbjP47hn%g8mr-< zdFk=zH2o?A*LN^ZOCZUI;J1b~Mr=4jL3Z?4iG{pwg87e#`WeLJ@m?AN!3~Jh}KJhZu4$&+Zj~A8MJl*Q>#y%To$Ncq(5A~X z6Cueox`$Ln{Q8KJ^gpJ|n`OTzYA!G)s7V&v|lmh~A?u^_)>1f=$Uyvsl~Zbne!~U+vw0;YySe zzBMs;;Z~Zw8eJT^Zn7U4Yq(hEv$X@#7QE)_>DGWk=9&L)+rT4S=$H48MDPNMvSklD z{f9^3pJR7BOpFEDB_$VT=qQMl~Vs&|BP1iNE1%MjLZ|$K z#%DdzY1NuEu9SkpfhuknT@EFTgpn=`H#8!(OFsew?HvFG(Ptb;>e~}A_*YS}HIA2d z{9dMwj=Y&s>%$)McyYuqlZdmT+|2+oDAmeM{lQ*^7MWbbOJmCntyWUtP9ruT^Xzuc zFlZmaBCgllBp!|t3G+MyAayx2M%0f;ef9zrD~w|rD~kODo3i27PxfqmpTlAK&mBQm zsAEA0R>conkmnGF_euGqEN9N-wz`-Q(Y!7YB4+OGUg)`_GRO|@jD8__cUY{7#=z>6jJ+o-`R(qvSsRu z^A&-w{}tWRh=)uzw~(87#gCadvp;LTHY3^lAU{DkUNhEkmL>b&qFX`LYAas(j~~zD zMR(c0jcq=VKSJ-mVGomZMA<40e;{t#R)Rba0PK^ElAETuF@!(KQa067k?^yY@c0+i z3R~e@0DKo1!cSVFNt|Au6#~oanQ|01BbIlV)!sf+$1UswD}8p73#xr%%Ex5eo~)8EwtoWthk9=LL`snAwc zgPJu99lJjDaUq=>-sxL_EcIIl=5)R(SaVnBl{}HXZ--A$>5((M=SDjOm>=&mbCr2C($zVto?Wa zm?WQmSwA8$`p5au&aFJ{SWI2a(ICqy^PH0J)%Qs(*;}Ql+(rBKU_Iv*pR%*iprzCV z#3>CwRp^1{P`>RL5$pi$18 zorOQ0|NsBBqaEFj?vCj^+SD*MOipi_sfmN5+c4d=iRtd{n66=%j%oJ0yg%RHAK-R7 zu5+F1dcGcUf1V9{!NclIMtY8AX^VyS-n#3o8}LN`jh=qwyFcZLCGtc`nKT#UVtOA6g`U>YcIh=PY5)-GwLp^a3LrXhccTGf;-wuEvx1%+q~?2 zYW{}F_i6HQ>`t@dvHL0TsQ7b>EVA*{nML%H^QT*y%^a}g8$J03n~My^-LnL>r2n`MY zOz!e&%W$$XG?ZT4_W7!!GI>>2US>5u?`mZ`Q)4=6!u0ngj!qRTeaNRc)i%Lo799tq zl>ag}@?x?y!s(bvsk(IEbTL4yq!x+9Y3hmicDfc?n?$w|XrY9P^mH|3D%-;~@h{4o zTF&sP+Lf8E!)v3e&PdUw2!YzQ_jb|O4>jS-aRS?cVhoprcL-2Kzu*ob^{?}S|0t0( zaNd~=RBP1)o*^X!ZZ&%UwTGSr{A;1;Pp6#Vb86My(|DEVR%p16m593^M>s$OEC0Xx-oV`q0HgwLy0UcgLS-cjbN`on2hoIvy&df51|lNjh5_~ zPAcdnl`9=gLK{;xz@GLMl1#R=W7d3{XKgc@v>!pxJ!v!y0V-gVroqMXM~QsjxAYCd zl4sAwi}}9YaBoQ27NAnOO_6&0Wd#3Wb_8;vj>N?xpQWQ!hrq-s(O;sJl_C@+8iDNY z4p1|4nos#~dPv8pd|+xu|JEC9AIqjNU0e%Ir??a4&nqnLbG-QN$MMzST(UvA$9n$l zXGtZIG2A8Rx#8iBMN$=4iysw6^+rE29GHKDxGX;WPe9aB+)#%C{kA!1bdDQ7z8OJ~ z3V$La3=fVjRK{037;9A*nuLulLtLc>+b~7y-_uDx1>_S5P4PqsZ8k88fXma(28GMY z%Bc2b#0wtfs5W>{30>&a$zZQ@A4^ban^g}YXG;YN2DFe6i=ouqdEaiZ86i15cF9=L z9;XTq-CHqFtEY(a6XwIAJ3ee)FZ(H9`>%HUZ{qVzXJ%*d(vNpY|E&E6z?A!Su7)xO2|v7lGXww6>>fyJLZrLS z=AVAxxEmB&aIokS+i0Bzp%)Rp{s?IL2dBRLY$k?Ay7Z4DL1$^lb2^anvM*}LN2PYj z*nPs7{dWEK(;DGa#_hfeysve?#i(8~tp&-z@X-{B}(|er(1p7)Vn}xLha5Uc< z)@snK2iXN{zg|Tm=gY-acx{fBfDb5ZRk2Hg3uA&6`EImv{w$R3(F|zONspb)&uL}b zOoGs*ttG*JVQ!Tvo`of#e)}?toPVba7O{OVWweO5p5=AAUw~C^d?2|r05Cad>vYYS z=?UR$8&r9sMu0#DSI-cc(&L{dh;PDeQ&LsVaqem&vRlh_{y){IKdFg!|I`PhR%YB1@M?pB9QQP!ZjZA7Zw3QPXcm!* zb2j~cHm$_<#yfe&n~p-2_kLGRNms`l`HHa#YkuAhdef%P5%n!^Vhi-{wDbxW3YW;9 zxjoOP^3YCrxT#DPd!i~4wDu7&3VP)sdu3St3GA@)H=k-IPxbV3K(Ye}`9vo4C0>+SLmB8H=+80r zsCR@hg7kq?Wmc>Z1AO84A!5thI%06rJ5)yGN2^{qSVJ6XS3+GGf-)qaFktp@bH-iQ zL;8KzhMDW6lno!sAftG*Ps^SYPJ)Wd8;_q(v-vJIfx=%^k-j&rD8I^X{4CAdR+IgG zsh+&x-_Sw4e(E-6=|0t0osB$Aae1_vqy?^Ryo3l%OklEChwC=irku42Oo_%V)V*wwm!Kzgf}@z5U8Q~oPaRW1j$>roD7s34dO zo3z1^l%CT$pJ5;{4%rpAeZ2toO}W&_a~C`cv-br)6ZK{-pt?5IDog)mSJ(e@Ye{h= zx%^)q3&@Hy`Hot|h$?D`AJx|TQ1VpAslQcIVv3d+{zQW2SP)VzNid2UU1QTlU>i|E z(n#I5xo6s$qU@~VY;rn!ZmvfNpc0-BNf;JgL8#!U44a)Po$w$4TVV&aPWKuVOl_p2 zb6Vj&&GPW9IS*ZT8@=pxS5W#$NHTn&I zI+;>NsF-qv6ziIsE%8YO@tg>;&Y0`W~AA`({A&NW@py3Qj`YFIxSJCXz8{ zSd){Up86V1G7``ZJL8+r5T;4_yG0cY{fqWpSpDRX=n)4pm63#x8{Qqi>f>}D*WQ%* zo;^{DhAM{7-d{nVw$$O5r;^WdnUOl-bTdOoR64KvRmTU30A_#rN(iC%QD8!1%U@A# z?zGQV?@~C?66$lpBG-?petV2a*YOui&u`(Vrau)TY3c}1(8KXA8@PG}PQ}PTyVGsgP=ZrTL?uZBz%WaoZP?}>P zAXY8Nv`^C|3HjWD0=L`+S(iVWB#y&(QUQ->2_?SBWYRk)W$H zq|G`(#{wl-wnyp}9mMVYXZR6NdB4TQm?G|Jud`&?4osn9bP%4Kb}6u_TKcpRi2i0v z&=Nb&W;4Mryuie&dw&F~3w<40WV&Gk)QK{mxmTZyYu|I?vju>d7*TT1&h~ye{i{=V zC5u`=!cZ>4Ec0!>`4y?1Pv`XA*&Ji@x{@~R6c|uF<|E=v>xT-}FOiuTQU#n5(jw{J zIJJkA*w{F^n$Z$OvA`SvIZWcNcxP zrHY@6UQ_*0QFN;-0X_9^GQ+45hk@jZ=J-RotRyQv0I$>Rs*A4M4TN8iyUzXl zz5G~ymyZkC2fbY}XuVIVN((GTQ^>}dfFRvx{36Ejbxef82G$lo?CnH!5@{ zGos3`$ZA{jB0%i7IRi8E$%69)nP*omy80VJdcjEqlGg8D1i1!I?n+LFL(F`A+c-^HC-r6!C`Bl1KK7OY z*^KAMwlf{C2|d|Ys9cp?*RYgg#P`l#9XX8@m4(h-q@^ zieB2ViD|S2yl(Ery+F$=(LW{mE9R<7+vpy8O6&0lY!sXG=a`WNC6zvWUdnSidJU>1 zoNpj6X$4ybF+lvpWJ3SDE_`5-32?WB*%2Qm?=~pfiYY67X9{qWKp>emm!w6&f7U0Z zSjp7AHVmPskPAo0F4UBM6#TY+2EYyVfs%~{8%1bsupWm_%|rXQ^3A4zEE3|bIyosF z;=t)Nfcy7)C7bDwtPlhO(cyYoVfD2~i(ak{ZQA|g!pYP9iRU~mjxIGMgBAw{Od?U! z)8ETru|N(<wlWj2|e!(J((X|mJj?0IK%&_44nXUlQ;o=a!sa`lnKN8 z+0`7g8GO--jVdG=%ihcVnVBc!=cXqZ3|s{`Xnpgvr{N zXj7xKk~>y^=rge~9{gvvP<7*`eAn!hI?DY`JRLRU2zC&=^8kp}QAlt{6!sn{N=^`3 zp-On`j9aKfJo4fn^r!3I^hCcg(#ICbb2>e1@#I=ic2vNMwF#4?k_swu6(f5noRpsN zaw*O8lkv=;&fI&|?c16Fc}#ns$-Nl$x>&aY8^*sG7lJSImETwf_}C`DO)`X>`0>6x z56ZQ;frF=uKb|O?`J3BP#BJ&0&OYlmlhI(Zc(4wJa+|3O;Pk6)zx#Lh#pu&cvc};^ zr9(U?VlJAZXGnyuIs8<73jf&{-r^Sh0wNeY6DIrR*z+`DDU60cm-&nsgY~H~gR33@@=={JgBU*W z*v@9~>#<63wxn}S9Z=TX|E>)_OUhE;5$9(jqdbsEih}%7;0U~#;(Nf+R)C^_gDCDa z-!giK%_m2}Q_ zzB_c9OR3!PgiK(^02I2OF+0to7=gngWqTE5#sD}=BW$B_E5?<>zUo0y#tmEFgf~NF z4B`#Tu);2M3!Y5@=7kxG?{o|r?d$WdY+U)p0nXb%;pq$D%kY1H3=e=jny&+C-%O7s zwtYUatoqFfR4K^Yt+}rK!KNNt7>e~n6dDR?tn|~(iS8NX7h<65@!JK%XPnwhJVb$^ zLN?CUrL=3UGSMnW2hB*T()z)I@yXhe5y}r#lvOne6B(KNG{p4+WvQp zM6fyF&3-iP0#}5&ovNkCDV~x~3nlmohf8!&d#+UX@Cj!g6}S0N9k^CYCI0lFz(x=0 zlH}pyigzC#E~u~!s1H~#|MvW8F3%^WazAMMj*;FeiA zC^QNIc|A4&^IG9uYt4_$D)lJvzSO*B%s>SDr?YCO!|DOCN09#2k5B7f$JMYK8`5Ug zOil>x_m*QZQXB%TIBqDcj~x|0^9cxPi?v1B1i+v5+~yd>bW|jUG|_eegeGV&vNyzR z(_xSa4pQ}zgYJhD-g2GXfy)@Sgwv`f(Vr zHFs*!4Wcio695HIm3MErtjzF7dTwF;&3;&D@zSJ z-k8X+qUs8;w1>#8Gr$5AaglJ0XmA@ zz^C(a9_1S_Ko+({0cg9Q%yxC|O_au+twoiL>DcMDd9(1%h(`h$%pr4o!MevUVob^6 z&~?X@Ng7r?zLqCUWsRe-k?Ueb3>X&HvgEZ-$=vP%JgcIaV>9mhf$s#wUDx~ra;ouS ze-bfksV~1zMw)7Gba#XZ2*PB4RFXdxLCXZh7|GybfbidsUb5urY1p^++ga@HmIqIffC^Qpgz|T{__LbkHn@I1=XuS zbNk4IFoq>Bqx$@zX8~{!sjF$Cby-li0a$awbAIM+0_NgFmTtzJ<%IDo!O2LFeTu1g z904#?jn-dnD=AF+-$=Z@$(SZ4?vh&2Ju-InagOV#9+TVQU4hh*xb)PA#jL3c3f;|~U*ek9*TBriP`^M{U-JAU+ z0F_6*_(dPPdwCAOVRQB?er<60akfK5XnoqRZgaMyckIYNxm<-`*+&j0^hH|!@i`fM zxLsFucQ5?^KZJlzvlz%RERa;Q#9RplWn4s&T^mtdzqNn8LdUcqp=BsEf81W=?63!h zs?t?Zuv71am;d4wUD7`9AfFdVDO4~J+BHb`PlQm$7pKrSnC_L0om~V>?eATwb`dyU zlBKe3P>`y`Eh=(ILaASpzBA957Un`fVA$+dT0VOTXqdGvJj59wcgdDCSTj3W&Hb6WXKD{<~S?#wz>sJW%`Km!wO`X`N-zzxLk zBfgk;v+bWKr$i}V3hZl4X%V6QQ$1H(O`ZC<>Yu>!O^5Ged+XmTO755WF3G@u-}CuC zvTG6ttUenL^d04%1@l~HXax~=4pO3jIx3-bIhZV!42fOp_x!y68EX_&U+5-WHkXie zKzo;kwCiu#I4TUKT%f=bS`N;_1ypS?nDYVwxcMhpE`mIc27#okZu2z1`COT1*sDy3 z0>%0XA(|VGCNr7sglN_G!?=i733u_B> z-xSJ-=o*`9>gjUE0gwQBj|E#LazkFRJlkG0dCgEDsMk!5gf1pmS`K_+t@1D72IcR8 zybctGsQ{euUp|BOKW*Wp9(^>1!V<8`%Eos=;UN__05(6U^=V=a6YIi7UvNo8JgOJq;XeYRa-il&CnD9tVcZKO4%kKRu;qM)Ky z-TV50W2|ch&`ssi?tbc~Nq=rnz7izs1z7g0*nxqRw*X8lGtbLluap5fdA?gNQJp^y zbkgy!U4WBM(J)s=T@~k*4he6D(2gAO&t$iN)PP=7)WB=LZa(f`#LOeY03-Jmle}wQ zS{w%AcoN@8go&imvp8@~FOObq>=Z;*VNhP0S(iS3-A|8~ibwFR z9)OF84;82+S^|Xt?Q2mWDYOlAR5V4ueEzRl8REI(Jm9I{PB+O$9#O@#oA|BX0VpFd z2t$Y<8M-AmjooLe$CTWeDq()AG&lNSk^%GVuwq%d)HWk5XhM(31 zqOmpua6j%49sJZ!Ryu!D{4Rn&a~_-0w%^_z)L2aNC}Gon0DeUP%02WL!KL$gB?Dmf ztLreLOyN-=b`@ya8~~Kt4Ega0lu#-TO_*fa%&#w}y@9(TaRenf7PIGuF)DV!ih5P5 zU1u)Zv`E2`;Vys@%?(ZS{!P|cn)LkuR9cZvhJ8lA_ho$wKDj=(xZ&x4l~e+E6OTHh ziuEIVVR1BXSiU0Rs?TOIMlRwLE>a291agf4>;Jr=<?U;g?&+F9mbzR8S{_BDO zQwSi4IAElytK_;Q*LSDgldhIv=H4l+G)# zAbO(Kz_Z5mGDm$|*HvUMCwQfrPcdzQPOO%ygk8@*8T%3fp;=f!*Fi#-m5+JuYD96o zVX=o>Y~$ku2IdpXlqAKgxDl<{@)nH9YO#o<%zOo&j_NrrAlq~7C62SOnWXRb(bpnT zpR3s|df5*ar-Wi?B;P!PG@q%|t5;$d=z9E@mab2C`H!PUn*_LXhS&&W;vWf$(( zYlFI|IPMyc)62EUgDBLVH)$ms^ulOIJVv)zUr~dC6!1tilVtQB+1gq3MJL==i-Ar< z$?7%m_vcY{iQ}qM@asnZmVN5lz=Ub3apptu9M983dYz{uxlfxRUkZHvMW?t^ip-v+ z3?MvTuu{oV7nA?c~tYgQRhm^$N}QO0FV7Gy48 zxA;E7X{=D(x(#Mcdc!01-cw548?2Yhr3?j#?gP6j>eONpr0=F;w*!!Il{v_9ZeNOO z{w}kDAv&n5gye~3L&#U=g7(bcY*9urToOq9J!I`B(w+K3{9RVIXuLi-Os+# zY+9#-47Mm>A)R-LQOrc&*`y=P6lVK@hx(yz zlR&uTIRG@)%{2Yo<27F!_5FCmlUS*yt&AK$+iucYfL(6p!kjMtJku=hmj|#*q=gR% z@oSDLNAx}uFr8^e!iypXGCkL9k!6A&UokM-ei@A~;G!o`86E-fFss7Af|gx}3z~vh zg1bY_9X1fARBT%=Th7u?L36oq4C0!riP(97g{){I3q4(ZL&tDPW=}q0*;l>Qq*HG(X`;wKQa@vaDB}i5iZljI2G?AZtH7exhKBe0B zuez6A@3cWc=FUja>3eC^s)Rt9MVwqbTMltGkPd4kQb76IV;U9a!1C^MHw*(q+&Lk#vbhup-YX#kEX$NL5TQ0ZRMDpJJyQxn@V>XP_gm!m_OubxfOPp@O)7Bgg3Y1TQu+$FGY}vl%gM8r zcErR#I}p!skY7`(+29KeTaf>a>dKUb@_z9J?jr4V zdCs`mD9iK1$AfXVq*0Q$4x2iH=7G0+Ktjjv#d&^t{eaur+he>7`T}GyUecx_(K(R4 z_Lxd+9XIG!6#v~~+ps{ODl8)>gH-Y|*HLLk+$ku{{+1>>)s!JUVe4FMH~0SZ6{)6q z=8qUFDeY1)Y3WL~m(+-yhEKfIbIGHB3EG@b&!3ssMc^c>9iD{Cn&^*=F4m$(L9b&X z^^V5pw@Rsj0iAo@|2>!n4LRS`vIc1fZ0@|ywwWk3C9n=+Ns7nFRt9w&KEHzN*-3`P znBwrrSSqqi18jCM^jVe9l!ZC@6FUty{hhM#SyhvAF0*jtg;E;RyW%i5@F#!vYzI?h zros7nr-t`-HEInwYY@Y*bUI1bMlL0{THuxpy;9iy9|pJGz(Z+_42_k#lM6u6(qjD8 z$M)Nz72w=tD1P#t`AzBm8+@b!!>aVydNkLb#9K~IJwB0)yant$kRj9kN`q(&o*}FuPRHIIo66{oLV)B$r#|ZX z(fMg0miA;ggzyZmNX)UU%55{u;L6EJN;#mD30kMq(?NO*i=I!)I30;q@|k*=0+IEs-b5-_5$adHJ9LH!0dYM}zI~pGwcC3DK=60sbQ5 zDUSfQ;!B&Cd)?{6_b-Q=S0l+Zqr`S9x)={Q^^Ja06~ z6#%OjfxA@=10madYplo_AEMqe+a-Mm4h-@97+ugjH1y6!h#pK2FJ@v`<~yK%s;%Hf zP5ql#OG6me)7|ed0X9M5%lu^Rh08!e_c4d`Uk`ioKrn?UNY6$|&chrzaT*w`K!s1N zg@$Swui!zDP^E%2NMmYXNsJFN8&)aDTOS;!f=-R@rjW=6;}`DYjdF zk`b&mWC37oj{$6pql$yD0~{Gw1cI~2$VJ>;fPgt7+QXhbKNM3WWd1GKjGV@UR5$#b zQ*t?lynX{(_<$3QqJEyBM=uhvq9iFwUIsoUWi~i$n$fuY^v-1zgK)v>i}4DuYN<_t z>Mb$=8^ZMj_Oac#O3M7y_l8~=5CU#iz3WwRw(tVM(yq` zQ=7a}GO2~S3^ETQq3?%8qv0a0HFSUZ1@wRVYvH`u!S-cIHXK>#9Zi7ry9#7wS_VBY zQB9$eDrH~!(7vWM)_|N!Z(rD)CVXhhbv2%7?UTUoKS)sH@yHgx!EfL9>qDaM73thlpV%nGC z9iaTjevJz1YTLGI`4H*=h-cwA@dZ2GsmP&D$_Ta$Vqi+Y%5YCG*JPz37L#%Y?5_ zzgvzyzdWr`Ki%>)ChHrOnwdg{X;d*c4ed$`6C_g@5y2`6Nr`N)ijtHOLcm%m&^WUv zAQ#W;$nA9jeSGT#|3Ph(l?Z?`r&r|kb2X$#MbYk~opb3ljzI!_V z@^&c(h^MdsccmlPqdu)=4}4%#u5JRhs7~(wo7Uj{WhOA65j}Xq@x8y*pD$((wwqYk zlOYKUD%t04*tS^Svs)RxQSQbKRK`?AhBtl!Jpwj(O)lm~=&kRMY*Q|lN2}X`!r2{T zV8Cy%Qm-UHGxCq760*~sSzg^Qln`P@zyK~Vs1qTF$iB6XK`^#T0OjFqT(r^pH+!C) zu`f3-(sJMgD*F;?$4*AZyDPNM$cmtx9O{RkDFkzVPL6^2(W)}WNyN^;Q}Gryn`<%t zXyV*QOl^%Wh-p;80u8nnbefd;B5C}EO9#ts^X-TJ<(buwJP+T*ffDpe1jlzR3W-L4 z-k>XWKl8Ht(^I^e6dmDuLbCY(u5j-&75nc}x~0}!06u$RIGqXsKT%tm#Vn?r>7<#U z&F&`P1Ybv<-yKx0$7K+Xq0l**u+D^QLv66EhGNA2l&r0$>Vq8M&z>2Vm&y`-Rj!lE z6jKVg>jB?F20PH>*b9p>K0l9IZ|q%P7K3U`m}^izBW44^(wQgCi2T`Z1Pkf6Y0! zYclxEs1{%eM)FrMw@^7jvJNC7OH$s~iwIQ~nip@01&HKwr1e)h zX;Tr^yl%nr-;I&D12wFKN$C#v>uR=L*ljB*HScEm{fr*HbiDFpqs$%>R{QUfQ1P7O zXOe*dDs^L-6DG-fk46-UDg!|zSf@>#c9#aBBNEJXpyJg?k{KL9F0Lc!vxPwq%ti<# z`z{kWjoWIm*nUNjkpN~6ss81fJWhL=O)O>c1pVPpQyOgEO61pd_QOU5?v!n4FEb`? zjsWoDmf;(bi#_)4${dwthpS;Gvo12X;0$u@7OT`SGuppv4Q(E*waIoU--fH@mp=eo zjf@6hzF5_hAsToSG9^SmfCpd;0QGUA>qp=EMY(dar@5gY*zT! zb#2w`+ug!Zj|G1V6{9G_z7iwA%cAH^<2=Wsaq$OpZcFSjooY8Gab)X!2SH^$9aFz7&|M4hl_!SY~GAqLup(WWD?2^$HugiF(=ZeEAtn> z2jy2?MmXP+lF7mc0cT^H~nYp(rw{$UqYq2cH4p1bh{59jX<~ z@Z}sp1bj7G<}x~}gz?oTkqohfo!sGjDR`2XaW5bSHqM7{^(@+0@3`dyQE4IQVWA3f zFh52s@tvesZ!qN`=+tg;%fKi)L;t0~QO<^h_^k)pCtvFkp^cCG#T|qdB&U4`KE5?U&DINqz?vHY~3(cy5iF zb+E(j+_gl*nfes6{U5eyJ%RK=E01hi@j4}S7NRRRPb`vO8{jIv;Ie)Hqleg_lGXKP z2PS-Dk=A=Jm*%iE8E1;LTfnX<1p(%Az`wp&v+1Fp{FUL;cYwa~947 zT@fsXu+th5?jfE3N>g&q@7Oi_qInc^lN?at&0km3mtjn${=1j`aEkwB|K4n|!%R_q z;%899szS%(JI|ZVcY_WScb#zA#cH*`mq`emLnFvGnX77SJEyA8ceXK48rX#X&W$ zGf3UutBiyr;r4sQVzOzm6yZ*>%C z?C$I(S_fi%ViVrv77C_HtUPL>PGx(|m7>J=Z8-M^gEkXVKVr%=f6&EE9b4zE17N4m z1_cEy|Ii9-nAK|Z!a2&@JQM~-1Hi#(xGuq=@3(s9uc$WGhJL~T641!w?;xyIv+RFC zlr`IN(@6LA#r=Hi$b{yF$*)~1JFe2-eptl&^d5>i^WRWm%#jxVCa;#P#Z$q;bq8w7 z7;s466N+=uV$AA>5Nu~2W9Y=&yBM+^B0KyE&eV^A0LyXw8L$VN#J1Y&pDbP_V-lgf z?0a@Y?Y$c0P33`Q7Gkz$YSSKpF}P|G{52vp!stQlT5t`=4*SqE?khx2&~J{;p7P4} zKjlj$+q90BPXzP>EB)Dzw_!Pk#{RCHkN=gQUf<$?{w222RB0Pz6g;cw=M2q6x=GNX3=YEAwT)jSb0pQkj>TR9^*%Urr8O_ra1h~)mAa0nDX`d>g{o6!@7s{ zMBQ!b` z8K-|D0{oYJ1w-$;9tjf{aaA1PjG2s+v(G%6t8w?Q8GNH*rWPHPTu7n_bf(6Vz#GD3 z070rWCQATSCLA>@;J@X^`itA?ZdY1pva>wG5u8T?nBZOY%#SkE+Ew)^|MuAlY$;LWIJ5QXM3*cYtCmH4%V^ewS zEp3D(27r}Xc@3DUg;NrPCC3>}>UYY+6WdrI^X zgaCW;)jLGxCc4^Xj*ZUg4o8>PHdNGYHp1=3^tMk!w-}r}Xg^|ai z74foeDc8|qv0^4meLW|pqUFI9erJu?8^iQ&J?cRiTI_DWS`k_>St$#ayhvxKOPTpkG-QDL~FT!pzb z!B7O{g7^ae8nCGDQ3Eq)={ckILAb~WDB|9#iYm*9Gzeyv5CD`82xwb*>NCbE?@QoX8<2LXYEtv1t!e&7)dJUomchDuxCKgC}ryFQH$=< z_VeV*%RdG0L81f*=*rt{!ShIhX7C7{`I4X2n~nN}M4SFk5b{xDBp`JLIj438z-_Jq((>41c>r1tIz)=O+s zgsl;-rrNh=g@vnCxoVAp!9FYI@@Ort6QTocqDL?BXe@=z=Ma!o*cUsO9A;kb20IF@ zUmRxt-$>xk^X#BuKmw^dT@>xI^7;e9#-oBlgCY{g^JHw~47kfPCeaA`%uK6(1fESa zIb$!-m4+o4#Rhh%sjwnaBhY$P8O*&s7r-TNYuA<#bKvMEQH-Y8 zS(b4}CQz?e1;9K6>&(ggR=8MhS{;L%HB3^=xr7JcW5iWpP3o6jF^s(jp`Ql%<w((I3B?KRz(Tm zsP32M+fxj{qBW;v83(_u4yIQQKMP2wrs4GWt;CtBSqfk1JUv;Df8FO6IYD~ixb#+N z_dA^mQ~maU{=3z-o9>b0vCpk(op44Bxbk!d)7x1!k}N~mN2TBu*V zg3J&bp9Ufy(Qxi0ZYn-se!=1fGLPC8GfFV2W5_qz7E@WL$|bYDF1k{Z&!2w_WS_+- zh%<&*GVWVKkTT`5VB*>p!Q&)EI3TzPix3=1%`& z7e+you0Rby3BYi9xsmgFxUs_337Zpn36Y7S7%@1hH>qsSaXBwj=dndwF?cn8hgwO2 z2b&TBgw3?ndwn=+N@V*wc|Fb)$2#mZ$wL`)NO^jw1~|`LBB4H4V$m6i{JSJxX`noP zJ5L@C{is&HGv>2TmD~$u$<>^E)thRuP%4ol$LECz@dr|&6Ju{D*+ma3ezY>w1JJN* zu~+8u29O{r?e#r>4pHGuExtf&=Ywwzzx^kg5e@W+e2=l_1jLS-YR}W>j3TQ?DX=>6 z@cWu6QqH#xky*_xPQ}I1QyGxB3kBF;E9@=nykwj3{;e&}ZX@W^s#liBXFbmO;u?AP z{kZ>n+r_vKu)Ffm_ zg0g*>y^u~XWy{EJPv^r{^b6-i=9ey!V+YQW)~<5NumnciJzo{$xB}w@@*SqVDG|g^ z7+vgv_<7Z4wQs^kT*y@yk10du#oQY`mz-`iXX z5uab$LWQFmm9-kHq~t-p+IcbNG%D{RFH?nMndzIk!tC+RP){aRg;%H7a*EQc}=&kF* z?qtom636w44?zxz$?H#hZB%Oj&WJ=sbdnjcyOy8bHo%x@Ma3*uL~CVT=Kn*S$j#n3 z95YSg-(yWCxujjU$x@5aDMxhj(RYjTso^ND?Rrf-5MM>iWMK@2slqom0Ru=O(i-lF1{ysF6)*aH+kW+es4nLuxT=f zHyx?p;9hp>00`ylEgyQJ5bcCxqTfOm2$Yc6(jl_2Xt-le-O{n;azS#GXeZW4#NGjC zxS4;2yp%q89375|!}y336&H>gFr`ZhArZ$5@$ezv2Ix0(#G%JfpEsVB!Q zFrZ1+TpYz3v&*R&SVy+{T;NQxZdvtM{`AH(fiaW&nKi&8N$Ye{{_e4CUI|!XD_?n$ z+w@_#%z)5k{99M}8C(O&No$bERiBO~BU@Azm8LTsu+@LEjlkV}u&hZcJqcS%dH;!D=k8MJ$FMYPCub(PB zNyvTVAfc9(I}7mP!_}@}v_?8L?xWB~ht{#LQzIKYzLC~j=f5Jkoh#dJYwqW_{>^=B zogOZ9Fw)m`l0^2Vnp|8q6j%J7QYYTBW`U>aPU+Z;Xwg;+P2QyW-|)K3^tM%Pt3Uce zWzng?LM5wA3oFfpQAJ>Trfl=38E*Bq2$B&{Od4mi<(Z^17 zgaKxx;v;4Fr)EE{wpy#cM#T4+cYk0XaLP`4ff|5s5e)MPV12;(dtZ>KVK?%_D(o7t znSM)hX#h8U5{n#?E6`fN^L!4_@uZbny6%yOSkUR?DZe|DybJyWxJ~(zoF}M@_&!FfU1_tCUXA+oxLUIf1h9wgHjiq_bc=DFYJt z0&w1FLBrmQJo?c0m+WoDzlw&@qbgOjZi)9}At5Cw^BzVK#JP-1^()o_na3VG1x(L?GAQGtHAmR9CTgkwO#EG|xLz6c zwDxX$;WUWw!tIP{MRP)8B=a)5vME=MOV2!Gluqy_cyaNhM}io6CF-zIjk{$u`e9G$ zhdr))Bv*A~Hu|gM%wNLmF0RLw_&M>6DoFGRZZQ08Vdr1a6DTstf>+aLL=}5Ltzh=?;D9)5B7?2Y-(gxm9Z6`Z zNV_=@Xm2!fiOKpIvwI=GOu`KdU)ILo|Mo=S#T>HvV&pcZ@B#3QG$VBqq>!NqS!^Ac zNC8g6Y{gy!l*U20_!|&oGg%c;FqyXq(?`~r7p_M5RQTU>&ztv{WpJs?{Fh&E1B3bX zcvC8#YLa~#xV{E16d|r++WyS8GnwstAvZ^mYOK=ymM9A`GW_qCG0YHs!+Y7LjH>@f z(p82<)wS!PhaP(9?gmNek`h6Q0i;tI8V3oAca%*OEx_0Ak*3&oc zFK@b6cRK6VXv*!cx%~EQc|1dK@{@ok${kxR@56#IJe<1EJ2_+7-EPt~IE-hrqUF~s zr@6R_%$VW+)mDKZGyl2vq{R+2@*@1APl}-gt{QyRMR$Ff4lOBF^Iwo@@RTOD;`x$S` z*p-(Kw57-rPDsbfI+Ae&GUqp(iw&Mv_!1iRp^J0GA>~Mp;@xN;_3y>~qb#~54hgtI zA+04)WmIKr(58|r%@NXetpX?$oe=Lm0;FT_1l4Ek(03+)0z}gmKz>JlL+~QG#%&$Y zzkW(}@d$KN1lQ>*Q?GrAOCR0C0^*kZK`MD-9e1lh6Si|_`zsU(apF2q;!<(^)Ko=( zw=n2^S!ENVwys8x_%$IjARHlnj{cxdxv%vh&uG)P_!Q5I!OkjU)%K7)KxM}VCXeP4 z^j3HedvpNrTp8T=-Ol$S?KHYC64tbylAc&yWIYho^ge3bb(F8O?CyGKZuK;->`y99 zO%t_%eHC^1Tnc_Iio0;DrwgLP3vC6SB)j znkNg~^udb$19#;`{^62y>;CM{@((nuvC+eE)>UGSggfhIIIr>8_@(HvT;ug?#nqMh zbr(Pen%MeZAg9y$c%wBut;Y59VdwwG`DP)nzt-AsDzD$$DA*GXW?+4sI%dho?t5Fi z1*==hG{H+wCw^gendrr79W+Ts&IswTofw>k)XGOi;kl+@q--(C1%-rq%FJs;bYUH% z{X_#HM?99^k}6DCIBkHY`F@RY-pvyL@;SWLws%D8GrQJ+rtE_t1M1CXrT@`WK081g za5Ms(aLXK!;-FrNj{m(uB z1RjprNdjeL=h^vP*Si^lfA$3YmCg3o-i_JG%ziMJGlP3_SJ<5^SIZ2R(s97i*b{Fi zshs4&m4UGljGAu;h!{RZV^=Sj@21kVWE&rBIW#9Q z8+dB))fesZjZK=Q*4Nst1vL=WNDYn~n!8WrWG&__8lctg@JZMUirI5G%*;GyI&1n2 zUP_(6wsojD)HmGjb-J-JaC7#v&&;}fY^CeznlXV-b*+gq)tVD_$_`$B6g`3eTd;al zEBJFOX~Mw4hh6OnTIB^Ob?=fsryf8yG7W(!Xi1$UTL6*cb5f%P2XLy|pP;>}5~tKnC#F9R>uSvH2ksgc!v3)IryX#b|;D*h-kW8%TeC>YF#GbG#* zwv`hX4Cq&ztt_etcawKoqB|@1RG%Nu2+}`K`Ce5mIt>`tt{PW9^sas`cg=FFYrdPp z8Ex9e;@dKv^t*m+on2iC3|{Fn1dSoR#V5~S^&l?wKs&ck}P+A=~<5h#>aCMW*(l_gU$)%AsYPkWyVa@ zyMS^0--G9xtGm=k(a|uEc&nZ;)(+v>@hsr>^Btdn|GGQQO3ZOr69e+7d%nmg{g2ks zhx)VbRUI%3Z za&G=y>4FtfsJBTOZS(WPLYR1TH4YU#xk?SBIGc)30qHV|i(#-umgh~6TYWX&33$l1 z!yirUOZM7?RzXwmPTic2bR1gA3}}vz)D{C-QnIC;W3z66A6J;#b0Oqp!h3!^Lt-9{ z1i=$>l+ih@O#JhP+LY#Q$-&=~gneyObk+Jz;|k7sH~43Z=epngcuv~>DT@1QfEU^- z)}ogkn!?!KZaSH8(EE?0e6?kFr!Qo(6Ak`%?5{>^CuNK+!{WUU3wRB173}Bb)Tyk@ zfi0xtbsr`*d?V@W=E8h$DEL2K(VzfyN@5|pNGjO?{01YH!_2uz{NX(Qg&f8V)9)c4 zZ=S9cepKV{9FPQSzu_K$2A?=!@`zu}Px7n%^3u4P+1P3K-&6CsSmG!)0h6Atxsper z;^(5j*FAJysl&#-t|L>-zdbF3kugCo1a&QKjv|SP`ud*m@{I&JupncB1f$Shg23lj ze!r6F?h|>JqIAZxwq%A517iFg^iaMxho;Ye>Uvrw%GkB@ataj#=3ZVam z+rVqXk?=dl#GQQWy&RbL2ZtWSaQmHk<0kM)Ucm!^=JGNAi^~9r@=|_UVkKuWn#%X_ zGlqI&i*-se2#ozq{luTB2e zj>fhb7RSu=hQqwID>yXM2Rufpl@r^OX}oB{wv#SmE2nm%qv`;<^>mGXRr?Co;KjtRjB1M7!ZFzu^5F=%nSKR$*4me6JOQUX*zx z^`VAj@sHhV>4C-I$707l?Z&?&-262fF;!ZCpLdHc9_%@~%d2`?tgW4OTK}fV-bZr$ zs`N*$ZOrcb+|O>23G29!plV`NqG;=bK@nu zxAk<(BU|q!RO-BY5>>S#9El~9KxFVf$WCu3nW(kAP~R=N_*5=gI^>EYjEOWq?DIH|?+#wAvPrwt1VcM5f4*<~XngvR;k0z| zjt;4f`avz)gb1zIa{YYWYf)rj&-*VB>o!wWc5n{76BTuysOt?}Prpd{A2=#@J*PCH!9sk--yjarK z&!|ywL=&v>q&6DGmtNQ1=TZb<4fl()5A&(9{2bGc)*?%me3&4>jUwP7iMK=C8gZIE z{4sbs&FeVWJ5wh0lH2-5DIW=fFM&Xgt4#`))v}!h&B`lCO%?F6r}8yzpnCR`8R&j` z0GQg*hx=Vwvmzcee}$oioQjLG1uvEx+e4|NWT!Eb>ESuyXQF-f zU01`#wUnLqER`*{ljr~CBU>u&= zaJi(tp8w;!6HWJXne=&|b^$XaaFNlSb)o=bxT3>*b(46OR|9eMW=lXqjub~1A4p3e zlDHQ?0MsAs-Uc+2-zcYHr1euG>3>s%47=WspVXn{nSeUBJbl>%0w;kXO}{fr*-#5X z4jUU~jrcREARDMKn^w>ZOhT@7_|7R^9YEoRCMsj%g)!rbJpck93qQ$U+*d#UcW)<# zI9$kmFAwH!J#KLz3_vwks(0H?G4Qrp(0{D9puBCP75u{@A_L_1Jb1sx4iCVteY`y= zR)e^9yf&t2Cpf4|RCajT5Y#)Ai62a4jAb{@=3F0uxf_vFm@@-_tW3LqzBe;XMR3h# z6vu(OWzQmBU8lhv_NQ;gY8Kl?g|FP`PIcB{nV%0V_P>O+Y^Ry5@yd9(iaAX1c<$zq ztm5*w|LSgx^R;d=Ml_SH1Yj_{b?OMmu*w!VI!v+ur#7N)sl*a70_Yy~B>{GLRdA4I z3kAiLLlym0u7s-^t_{(NMuoz{y{bXDmvQ~coG7F{XRoBrkn3uYdLrv4YC{Ndv@bc` z^k%A=pO;yA0r6Z@0_tTZdWu@&g{MWf@OnwjRK9rxR*?T`Fn!Z2|Jzyo^JBoIvz-fM z4R#_?yn3+NNo_;!fjY!X6}$92Axx<{;%GVNN5EF<`jpt8FZ1xDSZ40oAY01Wp?^;( zZUZC>C4fl#sCV_9D8bNl4<Dyh9+>PwGGy)9E9+^%LiTvtqk{#p5ZUW4e|Uds|0UG+S% zZoJM5bow&JM*qwO``<;j;qlQs=YRUsLuenGCV+T)oWSmkpe;tz6Z1kv`Z(0-C24Zl?b!!1-82qIix_HmmlzD4id)m&$IzvqI$7cJC zYFb|iiTss21XSI*AEw6{&>zsNf)je5f0FO~`_>3s;VmE{=44@3GZ;d_qM4cvSBf1^ zd}_^*;+2j;XJi>WoAiG?mj=RB(v|^R4=(L_vFyXU{G8|eymyV`lnKS7)Zez6MZNgh zG}E=u8rA(YV`H=seu*BY|5@Tz3kKk$=SZ_HC~Kb?cJhKO0#SA_cY90|&wtL7Xbs&)Ut^$WTfY1^ewi}MprVJyR=AsI;YwDZI_lqVR zg-`yoYd>-7d_er0IiGB0)F41G%Lw)G3VZB_RM;63c~c0)eEPgt6G554!WBW3V9j{5 zMgJe{76{S$<2jH_BlK2WP}EQyg+MzofRKZx3nRo1>{_qF85uDt??L7HE-Fo~nG3ZGD2O z)K=E-WICX#CaWq%IPtM3zfp->{_BRyOezfj&#AwHgDe#+((O{o0{ZiNK3pPk74l|% zc*2_3>Wkj~JpaD*GAy7W))q z)Ax{UB`ClL#=V;glc|d@cZ^d`J2QP1QuqFD{NT9xd>QM&;#k(y{bW3Q>)8KPzEMwf z$6#XMS*O?SzTKyrDYqLY=q@tp$&RNB=lT*;&Js2D@B>4Q1;B;51Aozf_@UzjG=7+% zBR4{7wmVrb0BGbc^TxPy|*wYLj+&?cZqKb4}`=$UVnhVyBxFeK*BWo}IOk`(R_I=Kglg ziSRK#T0zUX8##|anQpTZR!+CXM}FXR^^F2KH3prySIv{3oQMSEA_=y^V3dHae|@#> z03p$CgLKIbxyS933sfgUb5oV5?tKMBd0}yGBB=Rd-WHAKa61>jY<0O1-XM5T`CR4x z#KH{^N(~Aziy67d<%y9z&$U%abRxm)eWK{urOHI<=Bdmtk5^E_>$uf;hM)WYP5PV+ zk_Rl(6c6~`Y6R(Xo=Zn_yFYK<|BMy!b_dcUoqqL2g!oNTc>-Z5*LJILyLw|_+w%;> zMoA(8X`bYFfC9QIn2^EE1&KQr3I;N}zGX+*#r!c@Dia4$5d+=V~g~pc0Np~IsIEjoFk;7BkcaWD$7c%7aNGIGDpu! zc`EFA2WY}I8f+5Ll~`_yf%8=6& zwEZ`00Dz#ulI?&7-T;bpFB%L=B`&5EeNkr36FjecLo!l>OBR#w+Us30F`}S9KKX#Mjgv3z&be7}yt8BUvP(mBjov>#Q zfW#n%s4q3Crz`YR|Mm^UIM#HtXp0M51#Bf#<2^Sb+l^dt;7KkU`l^@EmvZaFD8S^f z{$c*@E@IJXeq*Zt>&8lvUy2 zTRen9Qy0Uyxk@z9i1u*T`JYcFRISC-sqIX~6A%#AKQlwe6I6e94Af`Q=9j7Jw*546 zP(D}At9(jA@dO|nA7*jeY%wO?@^il6!YEQTzmBtv*JD2`3bY70`B)W$HrS+Z$?$fzpRLF&ne^CyTnPX z1S|y@kYtv53wx@)1fQFvZcF6nF|_<=p_rmbW>K@o2f60up;ggVQ%-xcTVAb`8>t67vf835qc z^V2SIGN1?Xfxr&{JxliRq|%S8pqP2L{pf_uW5=e?4|<`)DAwoHdX!p9qPzK{erutF zDf&|vnC6+NtpW;+VgFf{_<~MpfrY#Bp413Mw~ras=NR7!<%zlD4$e&Op3qe#4+nnn zd^`S}&^Knh@vom5C@pxVxG5w3xr?larWl=Wjc41BZQi04pf!a2qxz1iXj}=@!YIU( z%wz#aWR-`6O_L*mQASs3lTSK20+2dSqT!0N!8l|hvE_myDXwxTM)Whj=uNN(5=P-f z5n$qCe*!V>8Qdlm<$7WICLopOz^$EtMnVhtY*-8#bYpG+?&era=H~a;Z2GOEr~MQd z;`z$za<%XxjDXkQ=dZf=jF@1s{%zyp^GcAI0MPU6Fb%j&mM>NyIlrH=zRP7EhZ;z@ z^}N($WG1E2f+_2M2)u+Y8RASoihTPNJEn|6B?OFgHc5bBDWkd&O?5o_*<$g+p*jYAYGmb*Kgop zP&Ob^UU|4`?Bw-<7j}g|#eC)fe*o)aB1`;}e2fMVCm#cud~gnsyfPlmKAE-rx!^UDuWg)1=|a^IKP zv50qhDuXZ;hPMBESpUx}mHGLarLs#IoI(yi`}xF|@hsa51GDO+D*1ixcG3=wtM`IKJ#A8>sbCkeiPiupKY zodOz(e&u!~lL9J=%EKEVoUwDt4r%*)|4x9&xo|!PAhZfyQt+^`Gd_L&=eJYE`i?&! z|8*{$K^ucnrGGH@7Rcy41_pGp&b2MwhgXh#D1?afT)E(m&k(ZngD5q_F7kx|3A!ZYB8s`mdYLgrIljBmXXL& z9gHjp4}^f#i7>Rj(UNNjMN@o07-!t&cY+_rE&D9h{cG(3Ie}w{9JqC1F0+j|*snMT zp-v8{3vAGB(QjN3z=cYTIqy11YcO|q?+19;&%emuz1PbGa*J1~hlKtBQ__8jjFYHb zbO-v_Hx-$?#mOr*QKe$>jPVkoDKjMys)JY=_@|Rxn9Iun!`>T~RMV{IZ3=l>`BZL8 zONPpYi*v&0a(iE13YeBM1jQ89eC0}@nt8B6JF8G9v!vL&0g(@P&sRwG?1BT7hl=d` z+R?P%y#=MJR^1GtgbF)Tiq>Vg&{vF0>&?a%kUjg;E++j#FaWv?Qmpz7_yO#?eAYkj z{b@_gy*&id0~yP(QxP?aB*3@T32Z9sN5Vij7v^i1{a`+#JQ zaVN)#+zN0J^-cj{dC* zca(wQEogHk`^7r90h%c9e>-ncd9Pz8c;$+61xX}tt7xFq0wRZOBy)ZMbISLkL$o^i z9W#RANLy_T5umg^;&8 zaaRK$a-C*EEuCY3shtcX+ku5c(M&?>q@ zTLybOd;@0uEB@S`jtql&XB{XdGzpDLQ|NFM}uqNvHX&2h;Zvd6i z3S>R|_Ue;5NclyBps=q-M(n;9kjSmE=j9=$YvjS>uR)IzX{lT4O^8{$H&YOerUId2 zG^*&rl+bmn$lN4#rKORUqfcztBUXRm4!C%DA0Sx+~b!N^TI5CSK(ju8mklv$_81hip|Qq?{0QT$9;5th9-p8L^=wMlc|vln(IbT#5$ZlpHPNT94Nu~_+Q0QxE4i8E(3_ucd;GLRcxrv z1SG6FsN=gG?|ZC}c3Bk0Rn&roQ@m`RoeflKp6tqwC0y(W7b)doiVbsj(h}kfnFHK0 zDqzfpfqggDtCXrls&z&HK6+YG_w1B)ZBGXOO8yhan6@`;zD4c_2~s zW2G(p+&G;Om3eCJ5841Y-!Gef&?Gue`(KF}cT6y%iV0oQT?W($bQi4GO6nUsimdN+ zJ{&pw9j2YLnp-9DTYfKZP;Yqmbi^nEH>-dJY?rNA>0KU8-kZP64OSRKbgNGw=N`_=4WtfkfIV0JaJISVT~KP|D%g0(QZ-C{!OUenigMqF@}A87a19 z$IexhVX*y;mG9KG9FK@JAt)=ciOEYO*?uMXds6bC?5!eIsXLCW#*Ahci_}2sIkG<3 zkqngxmDyYwWK{JgwwJcH@^Io4{6$-?k3GxKSBco(h%GuH`p6){(mv3T+UIZ^%M4s{ z-}u;sV7`qXsFHt30`X~zaoDBU*DQ*W63@jeJ@!x;8l4za8L1Zh)$uB2y2)9*SgnFt z&Z2RcB@k7~`8imRA-peU^K@ zXMc3P*d~KuuMdwcA2blmErsmhntJFTUQAVR8$boOz%(>}2a$iD02%4tW zf=g2ZTxQ|vcxC&#gW)0e_IByC<^w{TD&qY=1q&a>SOba5cIR|w-(N_FNUCfE^R^Fv zB6f--F=9DHwacOiz|%zeNetKSm=(cr*^_K(=%^)V4xlo2?F}Ni`0V$}-`!CT>_!Q4 z`O8B}&ZrXPQPvgye!!?~{aX4T&>z1q%(`3jNg!!oc0nkBMN}-bi*&m&Tu^=l<>k1o zGQ$NYoW2Wu94655aJ4*HTi$H&v!>0L=>0$79)F2__xegI@nr&_g7~CI2h5bjp#?T# zNCH`$2ouqGuabr%a|I8pas)ZSuUf+e7zfPPqT;s=g%c^X`o&~$a#?g0+_*dynlG0L`-NOo<3-^$G8N#@Cb#fLmK!o!>AGNM0H^4ZB^E1zL zCKBr-;!4m9t*=ivAEhx>AkQmTKYEn+pdH>P&)T{({xGU&)nRgxiy)mgY%o%#GiN%L z=RpTS0||YdzMH|Ox+j<&;vzTAzdOLX0#B|RxsuO(9`*UqkXHph-<;4H|HD1)kuL0n8@^gn7QtVt2R2ZNzpdC+I%~N5rXew^ozK(hZ{PxR33T@ypQsXd2-%xn_2_V%>Gh#BV6`u?_W=Wblsjv%yAC?5N|LLO&u@+kk za$w;+qeAYffE1#*a0@uRF3_T80Pc2lN7D^WMb2)5e7WdH(nm&D#^-KO1*o)FtMn#; zr>6BsuD}fdLfX}UC6bB^_asuDvf>He<~AALPN3pN238a?E9O+t{y1$?Cxrtxy3ugj z!V?!3-2<5uU&MS3r2;)lp6~!)%U;2n;LybKlbLC~u+@E)8*lyfN9!=5ycnA zfUbT3bmv_du5q&#!&$)7(sl2GNmU46bZ#kJb%LA_fZ zHlTXrNMTDJ^Ep4|L(Aa%oTK+N`qAf;zB|G)73np(L!8CgzvQn~ss)!4s%9iHErN8G zW!>&SHnwixQ`@Pz-q3tE(e;rzKp!B^2tB(LwEH59f)_JHV(~d&;hE|J1@5$5RsU1g z1))(DGe6eqRb_bz=5O)pDI*i53PaC-(lt5y%C7%t#RKE ze3aLVHK>x$uy|BaKK4p!`;TM{%G(yN$q=#<_47Ts{iFlx0`}*Z$z#c~dV+}RQ61|H zycA&cu%tP*ag)D|*wJ}75c3oer;p=twN5jSeHV$Y8jsSZ2)D&+EWR;7G$cQB|k1PaBC?2Fa$japab*|75ub|0GhtP zI8zuW^XJY~D|q#Yr$G3;t3ZH-`9#bDRo!7IY>QzGmni6Eo9Kc$nzQ&QN<;OirLC^z z)U($m280i^45;J;3~H?)q!EiXQ(qTm`KlVjYQ#e&Bk_q69QhYyrN`W+IO}cA{32;Ws8pp zU?$Hq@c)N)G_YxKj0IfCc-j7}$mAqm>3pB6FV7Sil-#?nB4ip*5O`eEU(gu>CzI_B z4vDe5B5CfQU^O&$^&-kvCy}vmH&M|^V>Jzo_!1NK_Y+Ya>}Q2bHaULdHYmC+aZ;e7 z#WJw8;%#Pw%d02(^bOOg4)l$>X$Dq+K$ug@J{yer3y?c5xLEnL4(vb0+>INXh{_x6 z-3xc;D-i{Ux@Tf3uz(6AFxjK{a132T83vwSyxwy~7~@rfTaH@G3vla`tP~3sc4{?I z{ADXGt8j_vb(7p)S*m*w%8I#JSKA+Q#&yh3gyo`@Ck`lHe{UCq$OHu#(X;HFd`bo zzaz=~OiyNmfU1LL;P2*njl0IDujxx;_G<&K@C99=PDSaB)wFi`VHAHy)3^Djbxe?; z)DL2PVn7##fvM-6PRlnbb*{M&^tkSg&uRZyEElE88>)8GR2}-sE7u1s#U??vjvvfS zn}T6PZ31k9@iqbHw4qMvO%-p`m3cC3=*$zaY;}njunrL;YG7Kham|}NB{6lVK2Z(y zqN3~(u&7?5=z*&!|FZ!q$RbjmF6#Z~kIS={paK@%*g4OmTM2ioW8cguRTR3u;T$#> z!~GP+JTW1FrwbRz9)m&y-$Xy=`IAwZf6mI4-qj5ej$v-Ceaj6lyurN&`NZNAA5HD1 ztQVD|(%TD9)U8%GZb?h=WmCJA@It2Xw3E(o>cI76`mwDS}D}dZPiL&y*d9$L4tB5vr!=< z>6;mH;X4s{m~#R819qhDwbmInsjg3M4ZXptECT#Dc@gT*YzI^##3yyJ^S8RniO-A?i$io2NHkU;{yq6_e+~8ZTBsE))4ORR%z`$RsnX;|!0;==oY#lxUWPxx zmR*DST*;nJ&|m3{oe=%`v3OE`Qppr(V(`TExSy>`uBc1H=g7O14F*ymYj=Ts`$Zxd zLA<1_ibB9fAk7cLruhdkpW+sMd}gN5u5+~T?PtW!zdHJjJ|RLDDf*sv^8ij3wXGZ< zQtpC15$g%#lU+`&u*;}etp;Ox`$C77^enqAT?;?)I3*+WUb8I?2gT$k$9%4cxjA7O9(aj; zE2~)oD`<9W-A%1o9~1XJf+w(BJZTy{CmGy1)cdL;B}fm}A<(`6R-R+valcSo2~X?a zunxmzPNNmL#bZa-*j23zi9hbj{xy$T z#=qsoQ-(~D;m?ABFw=~$zpl=g!t!uSc;r8#@k1e8os?EW3rgQac_Ku?NPA^*gT2#P z+peSqTgXu%KM2G#RIE)cV{kKO8{mk_0>j!fSl|?Wrosa?6<~*%8NO;_-*;4_gHEgK zqZbGjtzdomt=6G-Od7~FQ!Ge3yv}K+^yCl8i^rh1X$ENL?MKZ1aI^@btTYNH;87>z zt;y@)s_pxQ$+c2;50SF7JmXT^xlVTRv&X_sMbyHeq|76~20hz^Q$-i8lU_GKi^Eni zEwKE6m_uL#FUTkUi9IJ(9!929#8MQyiD6|91gUUeVu|8E5Q6%gCgoK8<}R#9 zM_T?sEL2KT!dUx%Zv+p?!H_LEP%=hv57PgAT1@r4r)cimO$Nl#d__BrUF^J_rA!HZ zkDc{pu%i!iS9nJ@dk@Y7xU1_}GGvqz9+wVT z5-_mBHmBxQzx_r-gBo2Fr{|YE31T*ff=OTBeWXAuPK^musb=acm=Y@O1`w`}*@>D3 z>|}}jI3f@o5DaBa-UH;q74v(2s=d_!HL#&9D*JFLL4UIMSTz%h&^bCU;H}HRA;n?L zD_`PGODeTv@(wt6zi*qTH9Y+_zv5h(!l2?K*M)%p>GUVm$PWp&j4?p||c^aE@w| z_JB6jmPN>UX7k^^gPFY9YBbC@t`9)9q?>AFL_^x4%Q1fq^vH#(`=(N~ymq|fVr|v6 z!H0c7t?IQ-ed^emS42*$&4*ij!5_9w@#P(ftYV}pd$Tnd=lO(-5zaE)Gm#fqT!JT= zx1&^nCypQi*htFjo)-6HX$f>jfsdTDVQ8RFeCW7TC{IIQO}dPIcq2 zN51E2W5dFavMHJ?CcY!o2`^bu$_mTqq6xOw0fQojo#iLI_!kQp1nt=`j`T;a`=|7> z1oq=suQbDDtJlFgj1!nS-KIx6oReWGxf08XqgqSDWFQGy>wB=&8|_b>E^C;MV3K|;@5ef7KsQ{71I8N09hv~9FV5{n&@ zex&={9@@z+XLZHHJhGAk93mUa++Eu&=Xg)2KBIsoA}_EWDzrsx7U$iy={aSxb}NhaZf1E6q$^ByRpDa26(gG`UHe(J2LN;A{J~@|00PPb6LhV*8Oc^ zqCQa27+Xp)&4$ayxyd`yn z#mZsqr@>So*Nd^lPhM384^JD@ot)ObkA=!X#WWmUL3jRD!&P0hm*oRBZ=cICP_Tyk z3A3K2SP5H$k}v>!seH?Zo9WaNr59>pv9T^RW_Y3cu?5Hy{`mf5gK8Q95dZ!Rn#pi+ z1cc9Qy5s(q(DY)ZJP!zq$JY5R#fZjK)~179wDEC3whSB{qc!&(dXE&dCs?S$crZDZ zU;yUeFtfW;+V<16_%EmLkc5J`ARn8ox=;%(mpai$@ zQo(~A1sKK8q!Pm$nWt5&7T9u&KBvrvdD4i>khm}e8$B6>cx`oZ%rP zYlfp!@&N|EaWRcuU-xXj!A`%W7NuNPF#)Ez4QxDVuD0%bi$Wf}X>jG>+a`d&TLBoi z3{rJqTBrg>38pV) zM?C6K>cgMa*Gs?csi>DsW-DUIF(nk$fqwYEwVxlx905l6%b38+;DT-iCyHBf!tj!3 zFRZqyt^Cu_hzb$^K^MPz$#fUlgZdV*L49ft>w9`fLZ$N7&oQ2 zI@Fc~MV-Awwp?-8w@#Dzu|b7;;LA8;eqXpH_b`gKo02h(5YMIkcR~Ak(;sGn40Vd7 zyJqjQFZ4hP2Ve2qwaFOe&}3?#dyh2nU!hIpTQ(ihOvhFs{`<(e!aRoOe9jgAn%8bF z$Pj0`W=myjM)E6Sex*X*jlhQAMOva{0e9>TOdb)IyZ)^J_sG%&65xnJyi9i#>kvJk zlwQ@zQucNTY^JT&JMl8aE~Mw0S)T8tZx)SI;1N!&gGP{?e2~q1Sc~( zHMbV^V)f1RK6#lB0Q+O;}kut~9xR0a#?g z#oVV^i7P|g)iOevBb7p71j`2LioZ=)D59Hq$uW*D_rvaV3BJRF$>S0u3MT-va{hDX z*g;y@v&SjxM-0L|%9DtECYHWUE7*~In?{i1{RUb#uQK9*6@P3-h1xM0Qx$DHQG@TS z)tVY!CBKNb$0!bAiz>UgQwN2tI!4tq$I%key+Rx!qINL!UYJLxaNAJ^@!#^iA`~)s z%E5_Ic+hYCwIq>50QQVMzi@=&SkNl&C&oX*b3&`sgD|AviAt1)rUZ2 z4op9DtBS1l7?xJ0zmxRXt$fFEcg*Ba_}B>vt>m)^8HABJKcecz9}`P7xEtYyzjm|-Q$+vg?Qz? zMOmhSKPK59SELAi%8!eF3bVJ!6sEy+R}sL~{9p8fwC$|gu(Qb84eddvC{vG*h4f%* z-&wEi#(F7|Q7(VwVHv#wb=gwOVcHLF?LSYPn@__p7?$ld4zrsuZfAO!;MN>kDl1Cy zvJsqqx%b7Tt!k&*>zgkh7yb9QcyoWQRce`_jh02zY;vN+jy&`b*hjP(p4 z8Q#I4kP7Z3*H`*7X*rmNdkGFCxTD-c-71*dK=ZK1^M+cwmB4S*ve0@^Ik!P!Qlb%w zITm~0ghFYwk6d=Q7fN2xFLRN{pc33_>?wbID{u|rRF*c$uH0Rob$PGBLj4`zM>xioO48j?ehTVT;AS1L zyrt*SC@>-LGeaFItEghd#r_^H$h>g$)R7})MSx&37unJ^M+OL@yia{7k%IJXS^3*b z9W0Vt$S+7iHpP!{K{{nPN<6zbK^;{sjOfl7EcH?N1(5aycg4mCMrP@vQtIe9bu!1y z@ks3&?WIEEqJ@-z{Aiu+ZEQoLD?^l_)sI^-Pcyj&4l96aW-?|Fa|YrBy${tYA}#o3 zELiFyNmiUG7d{~<3Lg_Gki1|t*DcTMd!ogCtdLDw3j$oUc2?=i`24q0j=AA3G}Rvi zVPUN{25((4243z1DBa88ukvnyQR4b{q4=z}U6gJ^Npfd?rq|~*!k!?~h9Ct^=dPV0 zyr|S@>~t&WF6zG#K?vMS2e)Xi_ViIPz6WQ3#9hl>fk2u2(oSUlPn@|ThIwfkiu?ri zPSOZPLDY>_sAR18pRa#?K#d1$Y4)aY?067bqf4Xi zV~~^`o?q7NoNRxb2Pmzyc(4vTVfGB))L%SU z3if5+|ESlN^4DqnJ+uxXK%UE=x02JY51rz%vea8xBXa+^mz#->iJ~(_NzDR>9z9l- z5OBU89Rszw7tz`&9K7>(zFHYaW0-6n(*OVDs1B2=V&l+N&v|W&kui@c^cQ{6&HCU( z0-mPC%^tBD5l{xj34m1<^l(A)*?$e~a<(a`@!$wGxzrTgpfn-3UFlINE1gaXK)n5} z+8ko{s)m94?SELZ*MVjbpXYUh>Oc~hShz+iOZX)_9hnTkB}GBcc{3!s<` zF@zt5hl2Vio}a8FcMN-&V%rjs+RDK|V7)xBnb$Cz)p-|NUfsWJyYP2nWp5wxE<;uY zozrF)c?)*KXOVt=`Ms`hKA;-YDx8g=GAJ20N*b$O*FC2ifE}dl=GpV~NAGJzmh%g( z*;itGGp>)lYDA_87OM|irdY?fu~xPIE-~EvKbp?MA&Nd++erVg`J(5XMWFpUl)%jr4xshQ7nB%1nGP2@qosTNlk~#|cLv0ON|gKZTm_2A6%(kerf9e6n7Bg^{6~6bfE60$3B` zxmjf?yX~gB5qNr<)0xa%A%7da<>_5QJCg~a^8~u101{10VGh_OI+Se}apT^kYDGaw zfcxa!oB^jKkQ&htHH8xg);B-=@-H2Kxk-dX13^!>re>n^R3?&-1W?-}F`>F~xTQ_% zb1ej5TvAHN>0VhU(1;|4qe%p6eTppQdl{H`(`CaS%_TOi(^TBkly#NfRKgLHM18rMzPoTq2r_8?1JSp1orqE3e_5X$}#nNUd^qAzzLd zBMDK4-D&l$Q_nvIpw@B0>U>J3f34Hf^XZfH;S4-=FbtZ^M1z zq)`7|T!{ip?$F1^SQZ6I)Gt}Yxu)>c({%NFolf;#;}n6n3sd(09`Ca9w$@ohw7y@E zpy_qlv1pM5yHp%}JisF!iAMj36B&_tN?fnJ+`O-nQIcoxiP^Nl9`qxf4c$S~pR*6i{zp@5y(Rt3UoCbKmW|dGD-X zoC%hE{Ij|%RCe!vXks-4jH)$~>2yZa~CSo~(> zntwJ6{M)PKDnATTm$3Hvp&k;XhNiRuNs@<)kX5vQ2S$GA752e^;x1#n#R^Us(1``a zjQ=?-yv%18K_8@Jb^^&?1K=8$!wf;8;XM3ZX{reOyaYpI-YD%B(_)E|2V9>Rt89k! zyQlHD{X0RorId7>C2+q0X2}mNY~bDXt^-Jo>tW)Iiq5g@Frl(2z%HeVsLN`(-=We~ z(MITT_H%~7X|FZe#;24e=m$j#M-($~A260t zu$rKAUUb^Ju$yqo`+o-@ zwN@Hiuwo37C9Xa1?lC{{Ad*WyTjUoaj_#kHxLe7VTZ}nwyOOh$8Cp}=ipu#kb0NKl zQrO;n8=WTFaL>2+x$>@g!E#FCSS!N>Yvh($hstTZvw|%|10HJWkztn<6pm~4x|!unt8K{S9SZx1!%h*e4|hGR}=hd?sOFPhNp@wmdDCV5K}DST_1f6u^5-wM?1 z6fFUdqy>fC(T}4iK%D}y1XIq z-02-)f?%zol$>BirY880^9D~R$~?rYmxLic37x$YWHlLH&8=#E=719Ykd08`;n-m? zDBg8~zaNsJ4^fyT)$j${%+lF?rZD6KM+hk%>7N|A{B-o9C5rG8N` ze>{yGAt{EjI2eKppVCR+J*(N|GKQWo(HJIUW-Fl|&5{)LE}wv${8mjLlOB7E0fD0*F zl2^vU!L=H1oMrZN;3xjmch+SK+BFXMGFg#ry;yn&hiOsI0*B70hxhcu_KjDSzD)Q6&C1BsD7O!%$pd77WCNa06*+ z%FI;VOsAlccLma)zPp{k`lJlrrow5=GOGLAs{0LxZ5gl#e3y|FE>j@j(dhvA^z!IMNyVE9(AlIKW^FBGUyQ%ExC zCwkR7%7~aNoW1!^%^^t>*>IR&CrWQl-A2#pxQBW$F`E=Ed?{zrS4Rxani*Qt zW`U>=Ln8%vlfR}O4XhS~IB6_vfyOlLyM5UIx(^a5SP?XdJwMyK?}y?Ts;hsX<&S`O z@o|1c01ru$GCwIk;P`u`GD7h};Dz3wjb8sWMI9QlPp%~5N6T%*2$DON#jyXmuRUkl zWIMbV*X=Cx!Fd3Nw2p7gBT+AaB>vq8MU`r@ep~zR{MtL6x)&c-@$f~aZt+kt>Gar z5iw;{wkJI2I;FG#6j5?8WKbVz6f?o|mI;LDL@z5C%%YGl$#v^oUgHKUOFHkYLW!_P z^fktg(Zix0ftxJ-P=jp%Kz?~xe>fdhjR(?91e9L(7^u3JI!oj_XIN)62K*8SN2oBR z>RY{KG@!c)|6%Pt@5kUwgZSO@G{lSO=2nL1t)!t#A=hU@fDs-Jq8@%v7)rbkBS;{{ z7Un1rQRUl(Vk>WVrQINN4#QVYzYYhcvn(-Rm1j29^NqXfGLnC4XQ`Dw;|X=K5akXE zFC6)8Wqc??`Ir0-KE@aLozi}+4W&YGDHzjFXAq!g)=|F@??}?sTMyl*>osG?Ra1WW ztc|Gv?-*00o}I_j9+Wo$^RKyrL+Y)hHqIUEQ1v?uIvmSucp#SR{SfP~_YNl>3|&{` z%Q$4^LnpxJv?Qh0Ymk3nXb`=j*Ldx!K}VS7Dn9ATJz~ga|?I;K#hkZy7x(+NyBR2 zA#aNqrmez?*dF@;1`oZv2G}j9UTOceexeCMgB<(=2B8H1$vrFw=rvz6GvE0rvCS`U z6_nQ{hot3Xg_`;Or=Mm?DEW(d`F8)s5hYD>S0#}wk;chI|C%m<&siHsE6JqtE~hJW zsRFN%-+cywTqmf)&wSM<;|%ML$Es`~Ds!zdgi|i;BDY`K4901{W(Ds&%uJAwQ^=gl z-Y)UR3e`XLkhy538CrI_Ck1P(*6`3~tyH8gN^4TtI(`{-ZuCe@Ack~CP>(=tRkbZ; zu3YQktN{2`5}h#bT0U@8rD<-NIZg7HJHA{Q7P(;&O_7JW8$*GAp^4^lMvL+hu3_y2^|LO_@HJJ5~#P_w_c9~qNz zFq4a2ygBB^)p)x9JihwOz{vt>=8qK^j>a=35<}P=Q{iI9BOy=a8cI}woY5{pP2@deK)L(SH zwRtl}-iM7dlvD1-npq+9Y|Zql@UgCkC}MCeVh!O-g>h$mo?5nONQq?)V=OzzEL`?b z*C&>eyOE+nERC~%r2XG@Y$y$Lj`;}rISi8Bq((XYWevkW0v^$G{Q*X`nLG;9UM8kQ z-iaY|EI@|B0Tpv4qYx~57aSffl=i7m<$rEd9wg#$n%ftQ{g1Ye_3ajkQoKqX0DP*2 ziE-uPZ4~-}cpxE>*G5%&6(MMkr~mLb7Ig}OI3Q({d4u7I27*-RIzXxvT_f8fMS$M= zW1xBS7wtBIuP^m2a}BK@b6vZoumwgZ%u^O#0eMWrBRQ>|HW*nkb2O^h*nNs_^S1*n z827Y6H_9W1WGK#V^0~OkLK5~{V5Q<6ioG?3+BqVXrTaX)w@!5m5HEe(v1gb1GnIr) z1W@|c_|#jc?~z3NSzyRW2>R!JEvJ$i7K9bk6rzOeMQRwB5TU<<9k%@T1&Y$_%sNsU4Byyh09V1o(J%R-fy*;!U+2q#~VQ z7&p&4&hIcDv4o(uH1kRBz6KTPWYpw0--_Fd1DV7WZ8QpZJb(HQT|j3T8zhmfGE^`u zk2+wM=-85A+SH2$Rj!HMBPQi=+C$(JCkgvH?PYO1yz(4A7g19iZOOh1e`%1D!Ue=M zLyi2+qGzzTxv13Tolel!TWV z%SU}hhkk%eqZ)c|T5C^{6J-As5sE zBi?5OmvkWdPPjRlQWANsfj+3wfUt=cJ=CoAi@<>aB1`J(n44-%&FZ)^U7lrnf>}X( zhw6byj~nOH)s&-W%A;&b5{8&@AfD|Ct#!0`bvZ7!NSzWE2W$z>GFZ>;#&_|;@2N9m zxG#f7_#EG@`wv~oZ81yJV+T}5mlRZEjC!ScC%{qtvOI+Qz%^sQ;Z|m~qT+1KMSa+% z=@s^}oCQO-Odkyady0xDK5`mYSX!CV!7stsI7(j7F^1RZFc1c*Tp!2+OCuuok|eRO z4JtSG%qPBK7u*3v{Uf!-VjC@XIo~dpY3@>9v zHx5+_FZ->fWDIUvM=T@#C_q+KxV)-)_RhBqs;PB~_fp5yYQPJpS;qX0w0BS(*t!FV zpf7Ar85Me*mGVcpJ#h4Kz9S64y)RXBhR8xnimzD|prrpEeVfIMgc8{Xtl2SI6{>gm zf@%gI|AQWCtOdx7RgXcCd9#K6nhTF8XVb4jQ7F&;vB`XZ-fy?t?zmrh5z<|9IF>uH z-K?#^nqy5}z%0sOoI21pw0r=_4eMD!&K0d_$w%6_8EU8z&bkgnr+~cUZ=?hR3$T?} zOY2wd`uUMXah~wTQ=Ij!1Vj@DL3qDxpF|0ojElf;Ij$1#m;Cm?a-YlUyn*-a&0vB) z)2u%A3@4?y>6SS0*h0d&=2|cQ52`vuW$n-S6zN$arm})mh=MF-fQT18LY=V`6a(wK z?U*M$_7)KJdyWa0F{{Q4&!=hXGO5y(6&h?)g}+^Ph1oXGy~lI&M75exf=ok@jjbMX zlR5LaBX#Yc41YxLes-^MX4XGc?K#C}pBx$cqun;x{KMHn`cX{>^Y+OJRqjapxxD`) z7xs}5-yAGsRka^Pa#u5KRBPo-aq#}>SU=L--nnRF-pS%FR^5D5pFZO2xy6@ecd_^? zN2zkl9g?;gwqL*Ib>SW?TMY6`n<}nt*6eR7&drsXQSHk8QPWH}|Nn6!vNfYan^9Wmg|wx;%_W?ISmW~YT>J+sPEI3)O=o31o9Z8@KyPTfZ5OiJrLVU zLQ&SOoa5#Bl8_?65rIbR@$&UvfT}hCXlvaysHVJ2IBvgQB^8UOuy>2+@}6@9mUDii z&wC7FOo4YbW-61Oguj5puk=dI5{$)_<{Zfip}AN_O#_X+Q$OEAVBw?7PHVO;zP4fq;!bvzjdz>LnQrNTK%Z>jogw6Ugzpv-`u?^ zzVt(mAlZrE@kNW6Z&~(edzABl(zn9hBf0z(Kv=)7M_l2++e)K`xVrmd zPH2A9I7B3hK1>5!(37tVEFgVQG<3%QQB47rlGo8dL}peCtM*J+BL5;BfmzC(|AD?+ zuPycl$c>ZC%Vf&lOJcc%I0HaNceG;8eC$G_ko=p1xB5lK5!iT*O{5F zUK;jf3!a!Dwk;H}LYf zdAtU^W<>J)^BVb^rQ)8RD#Q|)`B`XnJ^+FL?^^}InNf*Nwu$psMc@$1QDrUfg*~B>{Q$*? z1vgNZ&VGTRUvez7HCd;AlR#to^38q@f&aEyDB+%bCW-Ttb44c3MbdD0)bUl#j3%qSu2e|{V_=jVf&wR`HB^J0i+p-_mTcqMI^ zpE!;Mm$Nt%M)(gKk+}J;1h^s)hB1rm^=hJk_*<*cCo9DwHlw8zGf_QJRE@K^Fx&*> z6w*M^jB7;e7#&6pF}EL>e6XUoQ=NI%M$}7T;6)BgxTCJBut>gN(@m7LFmsSbJQ9qA zPcQErT}1C<|DuSK@EiyL#ryShcRvhY(D?x{>CIwxCMl5&Y{$J{NFgHSY>Xzq{ z%DY^b_Nw3h8E$)|r$}^sR>=Rf5G%RpmS=7gUBp7K`7RepySyzJ#Mgu@f3?;+BcZ6}?KG;EYL$CDn4E{a0Mf#gcZ%jRh3v? zO3tT8M&wKTxeK+0xm!ti#yd}E(+ zSXvGL-*v*H;iE16?i!IktSWwtn(*yG@qV)Gb8qtS8*?U3zfZTU+%loy)M=1p9-yv^ z6bCbj>;XgsW^{4=wSNjvfC+d?4EWzPC1^r%^P#L*@hpQJVXd-)WPhQv$}9}X3W zj&JaU5clQ>yO^74jLz#_j)c<@xTh(M>X&WbnB(a#f`^hhNy@#Pf6e08z;Hc~hwmd$ zS*$=(XD?O{9~0Y9rRsQ`Hc}*cNEx7!#C-(xZ>6M#CXPq!^$bQhg{K77+FSFGN*`Nh zCp0WpdFNuSqtp815?nU)h|W$wU%##u>UKtiUUISy}o4}u_@BKC1H__NWk&R0``Siu?`3>R`g6n7g4luvey2y(yB*ohtzZ(~D*?Xwww;bY0pyTRTjpKwr~0)10H<tZQqBFhxzjld6h) z`i^SCcq-`eYX5zkrY*$lSrYU&)X)DP;)ImGY0;NUu1CIk{C#hx6^p)kiE)3_{55vI z4>}I)M-EP9V~?X>ZEUval#(&YX08|O$d*wubtV}#qKf2|)CWko_H`{3WH|>E0LKLh z-C^&)y_iBdQWUA1H!GcuAGs=-l}-q7m-lt&H|<%O`#fbFzYl|BN9w7g0>0CezGGnCf7i zDb`(+f8kmOX^mlgCD9Sa@$X2vDb4Q^hnz-?T&a@Hb6F@TJYsK;y^F(HOF$Pf*bFF#Ui{uoQu{X&9;rfUY33%eq}U@s zsllQ8oasqk1U8f5<}JA&e@6T_1V8Ee=M6#X82tMZJTiD9M6`+=au7%VQ*-d^byBdg zhp~$p@5Lhvq?q+f$?3GZMlU0mchlc`f-r@~=4u#rgzV*Qv6O$xyn= zKAg|8;?%DYChAwG4VH#n;09&-C})ohkz#pQaA9mUQpt6)kY#RQ{AK>$^)WI9W@STr z;y*6j4THzzOQ*T)PsOSk_~HGQB%DHuq7k|*!H)(Rd=%-)LgT{8SWo0QA3QcNvW*xI zA#Zxw^UT^P&KUV*R|8A+%g2%>aC;{e6+Rw5o@_HY@5--$CWi|S!TkIk+feE}Tj!T{ zf*HBNFvt6O0BTx_hWRm6#*nhsgHBF+wxX>Dk=8&^C|K)}Z$_nfu^BWmA^HVs(2X7D;cd4k-X;#olS~9r|IQz`%3fZg|ADBlK{u%H{?pL_ zx0Vn%5{-${{fE^Z$fAal1k6RWc@f+}zYBwy#Zu%M`R07(GQra(c zIVI8zF6cG->G)rwDi8R9)f(UN^8?T+gfSG_1jEzpDLYsY>>@|b4G)zRyZhat&59q8 zr~l(n*Td5^zp#h^cQ73Zce5P_`fa-8$R&1F1bRa0aylD~Q!ca^|@4GLsO8 zCCMR}SdfnhBQ}%-$|8X*Tl*O0MP-GN=pN{jq~|Ax4uiW$6^4;kcr*0j;iQ*|%1Ok7 zbuu*TX<3dq=`>}drxeVeTb)VvW9NCYMjQ+xGRGK2*0KtnAf(AC^hVJ|-yd;juS>9k z8A5Qs4PjIG3H<)}+JS}JPJFW^C}$}KCTL9TaTkkmY~aFZGuzi-<1agn21Vp)88rX$$!ljLcj53S<~y&G=q`annS*LDTfGH`6G$0^S#%gIw2~6SA@57y zgCDgl@QL)dO`KVUwuaFdGV2J#{LxlEvk`$8595ViD0JPYJr>Du3sNRN;$-99uHmdq z?uxUJ*r9nogB3Dg(O0!})6$?DAV3Oe~<)LtoDsYZ`^7Rle z_j2dEGcN!*QrOd3Va!tJb~ZDGL?S__1$Lo4G(=H&qz+A@AAymCiVoR3g7*|>5IiC` z{6xqsMif;P(WCPyN>}5YH=D5=E>&KZ@#H_0XEYjOM=@4KJwd&65uRfRS z_3a=7TE@pu`miG#5wdZO5rEq4f&Rr%{oM|!ZB2#eqCQ6s12v*B5RtUs%-E$- z=B>_i381Hv1Ylsd9h*{ig02bRk+8C~z1kXr&*LsFgME(r4c`m-8hGpNX}raDWA2v< zLvT;#6g8Q4Z2veB)DU-*as~B^d-Mg zo6FcoM4>{hrWmab+h!sgHDy_yse4}`{xq5B)Xx5snsK53WeQGTww;o|lXHz5P2(<* zbB4X3s8coI2B+ocbIR0&r`sv0Qg_QGf=;u(=|oCR3!slUvhv&KyC~&e#?2WR+}&j7 z@cp513MKyu37?K?W5g&Tr%HLN$692bl$5WO*rW23O?+xy#F7n$L;eLB2V9I7mkFJ8 z%elPwI7SfQbLZY~rG72!dz;i z9~C_FI8~&nxW=?TFKUrx<6u!pNKp}iW?T#v7>(Z2{nfXjZNt#rb@p%2>EggG&upGk zoeA+)Ud4I)K+D5=O`gXL*W+0!_7iVx^{@JugA6!h=l{y#cB;thQK+a&i0|P7_2Lcx zL>EZn6^e*=>t^fJNjQ*Rcd{4pt7Y(dHki}zy7CYai1#p7w!o3YmOb#cD}0D25+;^? zNR>pzKEjo1W8AGeG>a{UT?NT}K&}NVCb_FLTEX?S9<4-9EuhaQTgliDfRUT&mqXgN{Nv; z7Fh~sc53_WOUM>d^MJxHwaYEujwC)=>+>!8%eej0z(L)tl z@D*G%CPuMjm9ERBcNEnLP5Vj!meu<)C`H%0bG6jv# z!1^ek$A;iYu?kAacGh9M)~AvWa?sh-OfF;pn!)Jp>_NqV_R~h>4Y7RdO)?Hxyi9cTpr>9Z{1_YxqZZV7_npW22@M;cx%O zj74{x?d`K@->ni|8L^?95aBQxUM4Vv(sw(wY!)qnD{@O=!#o_*aX=i-{rlz;FLh5D zB~Fpjdyzz5O0|}4la&wTor@j|Jhxoip!~EC>9d&+#=yb2DtG} zz^7V+Dvh0T3|;!-mi>qE&C3#)jh=4uIskgrcImwyml5s*;okfp!jR>oqru{3VqwXU z{5aODpMo4&K7K==>)gy}O*0|x>4VJABE>76ToTss_Fm@iFmeC<+8_VBP5;%)=SJv1 z=eJC069C6dpXEYQnJt};=Ne*4*8Fh@c+gt#1MATtp;8`zGLvHqcoo=fUU9@v?8of5 zse~_|yhC8<4#72{=%F{Ke#vL)IUWo}`Soc0=SC$5PlJ^ko*FkIrZ%p#uAxL$HX=+m z@UTYi%}iMc)>ffVBnTIeS_w(3JmF1zatwRIHu!z$9EiNcqejQ>j7;KfJC=I7OST$)Z>efM|JK`6PVkIPu#e^96swLKS#;>3!qzejjgjcmt-0w>Irp~1SKC5BsgBMIl zqHmr^r1_+3^-IjZAfO=`rQB`*#oLvj3J=2ztbab`dF`A1QuFyps6IvTiwx!bIs7=<*NaQ z$53IClg4k6grA>UCg1$*MPlv}x%#{Jn)I`v*}(D(c=^`oD9xqLZ^I6-F&A6q*Y zq_4B4>FHV;FLZmOvk;ZHgJaaVK3q!hnFHxBH8FUiAt8BEM7SR9I_XJhJvbj z)=Xd|J#pioYbohll+64e^Y&Y$?NMJg}oaOviOJ2)-aaOfqoaW0S=h%^Nb5>d`g#ut&V=7USmf6fJ{e(DW8>hv`Z zF;`Te`8J-_Y!yfrH9^0HhDW{8c6;T0?c~pIcgqYHrz3W`Wkz(PWa{~RGk<5_W)vEK z%LA@NB#@^G^${^!xGput5Y6P_D`8u@ho>Zuh&d(>pMmS*VzxzOSvt~{uN2JsJd|Cs z+^U&JAg?s2dCaLOHScDtfL|Sld2@^Y=lFzd^U#tRggG!hk$9oC{Q26GAt8xx2c`kr zQVaT(wgQ0b`xo5+-eQiS&*2QuoU`$5Of7iRBC#5e>K^4U%ikqJaT0o#p9^x7He3z> zV#w809~UVmd!QYslJzn*wOB&cyfi>L9-Bp|XrAhl>|N)MrOR$7Ar-i$&>!{W0SlCNL0ZXE+F)!16Q=(o$ z?rFz1>fu%wn|+T-y#qA}0;F=AFSM9fJ=8Mz4p zBF^Udgs#9e*e=5vwr%La2FF*}bTYR!m^rxw zPfF_Q39mJ*yqGUZ9H72} zE%BxbvEL%!hI1jH?oEZP^fNm7bHR(B)P;I+F&Uhe(@_O2kjknX(uo_jA8A{nFTP%n zpX_u8UhW#m&e88ve~0Q*`4qrV2f?cn#jnn-3$k9XJO0_uuw!G?ouG3QJzd0ep{+ky z+v~p~J=n~p;iwNP*f6U1HE!$Js78PDbh_oWDkf+}cE;HUbLm@%hw@Jk?kIC!iIeP( zR^8XR2G(Hl!y&pm$N0|9M)?9V(yg24&Wju;qStpdgX-%?xnTnPy1V9+78P6b!TSFN zY;0`uWjCRkkA5k{6U_f6+l^F&P$Sm(24a*_u+?TbMm1Y3R=WIgKy9`vgKrM{u34-< z5REmaTxQqKr3$Pe&rQcqqQ&&{@@L;FpK2VjI&S_;_WDjpRN+7vjIo`>qp6L<*{ips z3a?a#%<^`-;S6I=(FRv0Lr?T=Xsa}fNaLc%C^B;&0%sVZWrp$cbf@mVRyX(!V+}T6 zoh>#CBPnkY9!uD%3qY+5mY2d80^P@i`4qtYz0NQ~Iz%j5L<7al_r+y!XnKzx9|oCa zyeTo)+Yl%f-w=2zZ8K8H|EQ;H>|z5rcYq! z_il}u=+pZO7ZQXR5k5A>?q{!d0xnQoIiB~}MYEVr>52R1h_#G)uDRbo(%}D&M^C(U z>7EKxzG$75D8(nZJO-&9(ZxO)yPeofVpeB=C_o6#C>khQDp9*TNa0IJ5k;|>L)&5i zwBEm)xKQ}K^(0tSCzxzxMDee%(0B`8fINAI0zBMX0Z;xj%h10 z8T~^5V>XW`aKtXK6w4j2CY}AL{>fHHS#jZ}D`^JxJIfi{fCV9iUrCFP&6n7hT!hXo7i6#a7(xcU=dJs8K?b^K_jHcc{DzENH|h zPntO-yNFaJfjT+kz%EbswXPZ`_D{lwd?|Ev2{G8c!S^uu!&v#P&=H(%fKd}3Rj#!8q<`n-(S7w5K&R5?{Hw+Fwk5hnZ6QMto} zLshOc@BMDJ5l9`UP1;<%DbsznZAW16z~_3Fk)oEjefWkVZhdqc1jS4&Y- z^>a%+HB4jOJ{&!G)({CreQav1eFvjv8ueAJ+^N!&Ym4iFI|`@_PlmdE#*m zY?H&7&J0d}wTT~Go&nl=Qrxd&A6)q> zkk~p+0*8a@C~a{g2A-v9h1@2KGjR@XF6`h|G5E9Box^oK0dK>eT; zxw?8rk-TN2j%IC@!uQne6u6kBGF0fp1|WLB2tcur0$GZ?u3q}DWCDM93AS-PD#SUI z=y=p{LU#HHAjQ%32&7)QmUjz$HvQU4C94{NfLXABKun&Lq8ZhG?O}gfip0$6Wu{T*Y? zw1jOHZ=eM=6+eD^`DvNa>C0ers?@rF8=Ue3h5olXng#O>d8qw~tL^_swgRi>7jg(= zt+ehFh#_FBiU0%KawX~RqMV@uH|8oe4vlEE^ERq*=-J`|#DCDwNu+I~pp5v#Lv*zh zpJzy^2rc{8|Iis_&8I!dM#M%d!|C#jSq&jpTndArbYPE({Bbjq?)eD`W5P3y{D|`m z)Vs=C$fp7=prk5zlu9HS`i;XArueQJywff;t7QsjjpqUr#9az1aQXWLz#97XZ5mF! zSe_H?en)eraWidi8iRE)brC_}pZhRWkjm5CotQxhq26c&$L{Z{Tr?#Da*M1lI=gN@ z4tXJBQ>Q@%lLf@-*Q+`Mne$5>3j1A_eJ0CGMhOVE=zZeBj%Cx~f`hnsOhK=Iw^se? zTHc`_ki_HI7x`oyY5zwh?jPphoO&u3gGuF$Sa{Q0jO#yNM`#U)$vjtiP&1G+RJQH4 zD2N-BL=fU03@U{qL7eox`CIC#8LQU}EvFS9JOy175?iW3Yenmx=csuvD0% z-(Eb=2*Jiq{+{UfA2<~A!|d!u%y9UuZ%l@SZI!|+oEXTq{xO)@Bzg{qa{1*|ku8|b_Rv^AQ+0%%{meb z!RbAca~I8K1@!B+{fgfAq_lgp4NjoVJD=z8yT;5>C{=yrJx*=$^y1LA25nH`QhLlG zdvq652J~)5ll7zNW$*>Ll{v1Kl;&_TlXqk|giD1wYrR;RhF{S$fvX#=^1Q0Y<6L~fm=WT;i-jE~A zPsV5ORlmoF6#p&d&Hx^4NxEZ!ZJH}wAg64(-xQ(94+@f*@WH|%S-Y1jT)m{SiI^E^ zR6n<{m^(!y5HMc4n5`-ua3>zlEi>QAQUBg%d-ziuPf|{WD*f{n)(e)sdg>bQx$N)R zEI4@=-!>Va?2M-%Z@3Fm;3956z9;KLdTOD5ZL zE8oi4)mmZG4E08|{n;1GgxckqqJOY-86J*#(!rGc8MX4d_lBTx&*s0t+{&zCDsDpi z)>vF0rcZ|JzRpb*4(5j-3feN+9Avn+7$HZ?%rc=b;)W!u+~$b)ntWQGfy4sw`&M39 zxHzYHo=N!e>YD?%VMR&^?43mwyu?>h-(wGXE|R9b6|A$D z*O;_T?F;)caldVBqSYU$f-?*?zYALtqX&^D(mRtb+5?-7!W5OW5#wVL+mO}&WN38! zprUc6b6jJ-_V~*2McRniIkyx){U*$}!f91tD(mP4ujeOAL3t2h^0vl!>D#l<`kSZJ z5<{hm#rq4SvCG?RMxJcZhP?f@K(5|Vb|E%fl~Zz-#e<0zMR&h3Jf^aI5R8H~nm*`_ zmVBk--%wfHUnE*TAb=e@v^4nf{p%=;slBOX{d}MLCnX1~-)-HKrE#K)G2HOD@8kl6 z$8XV5P@Y`R#li^T-%u|>_rntmwcUww^>KM01uYxO?8^ob#u0+X{;8Qh*cdShaAl~r zYu4tvoyyF7G~Z_=GuN!P_(Bcln(2!3$DZFNX`z{^|+lAaJoVw_yK^-p1W__SE^erM8mw!5EEpX5>ni!;VD9ZUU4xU^mx>ni39 z6(R#O9uS4240VR8|KLq+Oru3KatL~fZTW05l-FaVjq(QRX9b^EB>I&;{@@kH8NZXEd_{U$LDc0R4C3duW^Mswk4Z=vkTz^fmf z-30ntD;GVNrVr>`z2zG`lYJx+gx7$as&gHP1I4|!fusK1(6rC+MqU!(N{QvlFQHf z7)+cpTd{OyH}^%O4RksOJYfWn11;Q|I^y>6#eme3=M&0#Nc?6++hx|hSy-m9l+My1 zAD;9On&*zGPwywWPvK22Ia&%9pzmJEvr1aBMwCkOs#aodR8&Zy5AO?0PRFq(Si5yn zEBBKA@ctuQaiD+{HMd03B}=f#N2`O7!o|^&~l`&QF=3;M>FMw<_=3TwZ3U> zH~!kqCrl%gQ(Vag3{TmrxS^A8ekZT`zaQ>9uOTwI!E>`99?gi+q#%wApHeN zAFi>c(Q7X#8ejZ;<0&jq^fw6Py|$( z2J(K`XjBmephk-8GQ)VG{}E*b=&v68C|#mQu!L$KUkge!E!0i#s`c1N#1+fAx&|OR zu{jHfM3utpfR(@~xC3Zdu7ZXD>4N?_!1Q4`l9I=kPOJx^>hve$5Nt;<4jBe6RM~#@wH)`0nQ!Vdz$^9JY zS9GzOjK02mX+liXOsx4cy~{}+j=o?v#j;*H^lKho5HNZPIF-{+M8(W?wI08lolYs8 zLF26P;2#62314cHB83v)6PA0enFn1C8rEjwD*4SiHl_;(VMR;^ZgLcHgc^XnQ zX#9K>LgiiChvxz(Dv~8kjkIBmxHz%!HT~RQI&Fn_}3pl+GlbtIk;4 z@r`C$5~wqI$xT2ugZ`R7T8BS3ZLg5ZI-Dx9xGcl<5-A-mv06)G68_i3X(0zPW(3`O z@^K7R^Da49$truC5`%X{DFLs^ik#Tv0^vbDHf3;t*98)BJmOL8VRfWHD8`9Yh~Dpt zkilCL&HYxYEWCS{9+aoqA#Rs8mLA@g8DeI383UbpnMYcaZ$rWN{)#X{^bBOCR;Wi zOiJpO?i_vI26_LQ^s3Q!*>_ntYaD|=zJR#*_b2H+z8J)eP%I+|nKLxFCiTX|X!%g% zgV3`^2;xNIgV^27)f8^M@oyI{7;v8ioaz+0&(rfE79mWMhqB{`WTD5YID_rzdY|?= z8c;e)i<-Ku0{@W}ls1e(KAnK48mOx}=L|FogB*0DF>*_t( z11RYpp8?c?!yRB1tVhn&_L5>n<)SlYRp+%teclF{2cQ;YUnK!WVnIsRWwy^Y@ry%_ zi(*Gew?{Ip+{B%q?^nstC zSS7)$pM$Q(Z85AU4Z{oRCwLMWzXPiSsuIcc;M#_>*45ykwr^vsH}?&8ao!?fz-%h8 zD-LWqY+%?_hK3GHIQlnXT}*uJR8oq)sYTdE3BinoU^Cjp1VE%nISDDt_rK^`c>xaJ zhWmnkb_~>Mb*TxRx2oR!4@YMi71h^9@nNVTgrU2oI|Zbhp&RKC2|>E05r&i+LAsF? zlu#swE~OjkKOo&*@8$h8Yt35oW$wM_p0l65f14b)jyHG}XX-Hb{kIE#;PL32x7?rC zWv9Fv10Iu)6+q!q^#h(^9qFn{;5%G5Zpp3>k&Y*bp57#y&F>| zejx8g@`fMq;5 zW-!1Vqk96@SpuB(l>h; zp3hKf*iDT2buER^EnY;(B5!#j?Nd|)n-nR6V=XNAjMnBRGQ!6_OW!-mSYV36a;&#+ znU`ea!T&AKb9RFe1KvSlX91ttbCxyZ$qe|$Yc)=nY4Gck+>=2^1i^o+z9%OFId}na zBn)p9u)BAil%pM8?H7G~#X>Ubmi(mf0UVb1Q3vKsTyptE7u`c`z>HkBEcP+L-qBgS zNX^s#D0Smd9i&txi--xiDGS;0k^-aa4^G|U1`u@1%qx*3*gUH2r|*v1nBSS<;u=I8 z+Xg-+-aZa=dh=Y}^cdsY26LxcJU$aqFrv57hK8@#c6Q=yMG4s8`s@g{AAR8cZ8)g? zin@*pV)GP|tU9S`$~gV4&{db);C5#~wgiv}4#YF2+CGZ{h0)<8s{hiSq(!|`;QR_OZUEc9Mb`>cbWZ;ErjsC8?PL3KDjFxI~p8IAZLm6r;_x@q8NQL=!Y)I``v)MKN zl$zyu;nkJ-*L&~DAXaZFYN9;UJg5>{n>MV4@DWu6t#ack_0G~R;hwpb^Nu}+_`vJl-AJ~HPc zWij{Xl`!bnKY?1fQWsv4SZCb6&8ye0XKJ%V$tCMZ%v(%&{)q0p#e!4&Lydp#!)>B( zOHr{s?v8Z2Dc=vli4V{C9c;Dvj`%P{zqj8^echSbCu>7gm##CD7!%kMuRa*>bJVZk+U4v<5>APhSH2r>!7Oq0MhL{>)%KFL{41t=Ct3{m&eFfrTK!eupTS5 zx_vJRtm6Ix5{6wk-J~mzrtUHld6IT2jV*$vi4~C)HX_pzDoFkU;593rA56Bn!QHa; zd7QU$d~5X30$iH@dZ?Xi;k4g&B)l+uk{!)E3doKJ{e84$wfsq|KuL)mL53u;z!1d$ zKY9RkFPzxcb-fShn!;9Lnmueop1l}MjGLPpVE8B?uG_t1+;7OX=Q(HmhWB@M5V038 zqoD2!x02z3Xt_{DP-8N@ZxA7=?c*S!?JuiPEtbKyr%`BBSZIw$MnvEQxA+B>dwPm| zFkH|6oGiZOM|Xb*x&+Y{%_1tMuj&t6`VDs^Ag%*aCaSgZs&z2OR|GG(A?V8ih1 z4TnvLy8~9S4J_$91Ddhplu^}Z$8D;0iRcn!DLE!nAst`k%&C)&BAX&&Y6lQgNgPP~ z$axF9$^huT@k&e;+**LKdFiV)A7eB1Tc}}oemtb1sqMV_+>_d8;Z2rH1=B}~Z^zl9 zWVynP)0GZzjjr&DSsbpaL7uG}%pf@V;4LEvZ3~>wW&Se8=i4IC7;YJ|#hA`+h}QN1 zm^;i79=WKXFb$gzB_#`;`Np(EL&7Ln=7zRe!Es$(NGoWpNaRFZQL2sn5fw(WN3)yH zm!tw1X=@_@0j>@JuuVp;{zIk}=00;Jv{mSl#ui%fd_<#dvGFqvTgg5*mHn6jeri z?#2rVZ?k0ET#4F-gXpA}?el`1kR+`?tS?@X?$;(%d`lq$mC>=6XsmD@cFVl~D3W_a zneafsIrfvr$XiU}1IL5gkrrc;7u;rRL3^`E_(PxSUNP`akZt_0bJyB2-d=dg^ z_(`^ooge#hnd4{_Jk<=B(Z=mF?AML}h4Ko6ceZ|}d_A)}vlKcY!ZY~3V}B!0G`n`2 zxU~&N5I~Mjk5?8(Mk20NI?hY)l}W=Rp#0~ZBY#4+(k}g^i~Q_&Ui}v-5mb_WstYr$ ziF710wVXej#cZuL2WP29qeWUF)Wgyupreu2>}&leFHRfw=uZ7$m$J)&%iN9>C4W5h zVlf_|C?>!Mu14>tdJIOtgHD9YTCK)P|0uYW0$R0qNv-$W>Ff`*VlT6~vo7zkWy|2{ z%zWO&nrr->!?^#9b!7!)X;1CySXC9>rXnAOX1VckoHPY1pioN3t>G@iN46Y3eg| z)L6<^q)A zpW~S>T%pAOR&I}0L=74R(Y600$7WxVzdZsi-};(1d^9W9Shjq3TZ-hRTrqsLj zs$~%%&qk45jz=bxJ(lCWxP9|>e-1zk`8%c5fwlg@xik*#)lC)4} z>kCeY8E#IxS3JN92-2bI-2S!GJl$+R{7T9Z%R-^mTQ}T9S4m}G}n0{*gszh9ih=b)|e zLl)yNZ1U&3iyerJoW(6FA{}DieO|DHbunNHbWh@ADtnYe?^sGTuZD)4HWeiF9G@qL zG3>lSvsnw$Ft?3eg$lo9gs%$ST$xHSp<^q*6lcftQ%Fc5b}*R#Z~xcM5UK><7KfG? zhF<71LS~FeV>^Vw&ZC;PIJS0g+ZP!1a0Z);BieQ=MukS&jiWQ*gDIRCKKQwn%N+6%aB^82eI@sXrkenLlVqqn*}d|U>isA*>;yyl z=&>Sw!X@|65kWHCm*guycZX-)>R^}b`wii+R@-TW30N2-!@+7^U}`G`E{n8suP-KO$dawcLvnRn=I(ey#{fE__Xp=gzH#^$WE!wxi1n_ zr0t9fIij5ZnKj721OW-ATu;8WB`=W zW66+mIYEDpBP8e~8({6h=dE)TOd-jog}jhRB%88GH(w~cbot}j{I6nz;$a4|q^51T z?g4JiVjb-|tfZLAn>LQaeA%5VO~4Y%Gp2fWdW6VM^8pHIi`ErsAkw+6WT@}IDy(dg z4yE*tWO^~KwZik^2b{z8f-D}IqoP9tpQe|dE5%5%qNAdF*V8{0r@!9!&o-aMANs^y zDFV>f1E$pLJxVrz1jDI~?Wf@A1U(vRM_(HiYBiv?t)w^#Cxy04ikLlWuK7- z#_m%ue&55S-`?;SO_C`BTg`Z)uqAwo&WaQT&I?vU~gUGy8GY+=n#dmGI-9FNK=- zdF#8Z8tfDi;)|_c6n(An&M2RYY_o`hlEs_Mu==e*)cgtbCFaR5%gBqBM;X2m6CWwl z#P%n_trXA<-?!6_-g0=vqNETd#m~^pQ3vDc;4@@N!tbdz9dU=`DlHzUT2tizMhU;5F_%6k_gClVZLSAyPZWhvXjT4k zm5e2Sz`BT(#OEP)+?g|`1lzuCZrAJny(~p&8?S6lD29_mX zNnYQw?(T4s&smGiLN$ojWzn(&NJ`_uN#?-|cE1|=)5lG;Yj>9W_H~y_x~cST2>D&; z1&BQi_&jDv^;FEH8JyIMGw{k!W82mEUwT~5oHOf!^d_y{lH|9l*PW*3zp^57S1(5{ z(@`D0aKR?qMpvSvFfm)fo+x&d?JE!@6V_@yf)$$KIiSZ%e7tqL?*i>RX zcLJam+dUna=Rv%(M)k6=tn=wNP5)I6(m4`Vzot$BE1rXUmAU+@bQ5{@C_lqoLi=mc zp8wi=yM)FWJ=OBQbpA>5c*>9D1mkPV+;yM!8CLR+eN`C?6|R}YEkTyZK<<@-BPs|h zMqtzk7b~%(Oq3xoAJ{5TjuunPk{my6BNd%8B*LOm@}M*J{0Y%@vDyQ zg70g;N5c?Z#8jLIXg_hWF~Gz+7-W0hUbKQF2u{`>e?EcFo(AyQjw$YfQq#TANX+lx(9?3<3wGbMSv2Z-keKpHo#|l~U_r z(s`6{t)KsA%vgS#J+TM3f)Qt=CB4BVUB8brkiRoy!s$E|?CTglC7j)>T)*4jfEBUX zW2r0SKOa)E?n6lc(T#>#<$l^vxgW>os`t?4XOoXk#bN8%8vb#-Rh8{Wwn%g}`hnn; ziR03icQQY$s2p^!y-nIQcvf zO3f!+FQ~u<)4xaZi|RHYO0X;U3vO+@Wn(DFyT(h|s-;;!*<*b{(|*ounLQqI6&>=0 zy>%VL@NlN}c<9tVvu9fU&^hHK|3yOd5Z|SWq9o%>@e0siQ1=7BBKQnj=F7-O!btMx zDscu(9^k~EvBbkpM=ph_qrD#R%KdWN`Y>*d-;hTMi=ynzY=<{H^Sayk{M^sagNVbu zl*04!zOpF13A0S!l@?`7QNvV4a3fGFLq{va{|RbII(}=Y8&SBxMBx#UT1qFTU$;_q z>}sOO-H8b5j9OO_Ap2g}%fS`01%i;GxJkW&Ag}GDK27X^A|o8Z3}jOI-~>dYkos>%6;NzV;^-WMA>@PE5M zxp?>t4kSNOt*<*-$Dd3`_F9U>3M6+#)0-JehKbc<`0tUK+4dVAcPeXYaas+vhu|^RE-CGS;^KGcdRrl}P-}>u1H?l(rO_m_%#WFG{R|`pI_7 z9o-aXF8O1bWKPaQ15Wr*C%eM7 z!aH*{Jf|4^QBUN1{qe;gS!Al`uo!EgRI#)+_-FdtF3mn6nv#wu|IHKtJvG1mH|xvq z(K1H2$P4YSIwJ@bJXgGU1UeR~rgP{uB5aX{t~QGKK{`)y3UUm{m>`v0Ce+Izo9spD zs5I7_?a2e;31hph9^|TE9Yen=;YM31G}YaS*&#}BS1ESO17HbVq*czk29CuUR^kO< zM?$%0Bl<0FqA|@pX6=%CQlRt&o5=1T#?W;Te=~^4rCqhe@IM7kJ)|70U!Z5!4arpM z?8mo6n%^fy=q<@8lZ@T$fi!B#ZM-G^IzWLRYz}6VpkcJ|oh%sTw}C}@QNCw>UQ(6} z4zZz(5v25b_zynLW>lIl3}!b8QZ+bctA2Fn4lEtdXo2QNq9`fiidD=yizVC0fUdec zY=?X1(vZ2c@PJQv9A6&&#G@kc>muJdmT>o!9(VYi7F^HQ1z-kO~vn7$8cs zaR&g08lGi`q6FBeVJJK-6pjf0RVp*$DCeb#@SSwRrbk7MG9c%ta}d=85pxI@p{OkZ zb4DG9RST?Uf(H+r?DQtQ{wufweN zrw(jI`Ij7|3cQ6Wt?yE8xxFO6mZqfse0kl#AdMbO_hn!Xn?8ITmdv$soHHd zhl22Ctkb*y-ISmXhj?7^x0)!bZ@}5v+50+Q;U7eHpSq04AGtHE43DJSV_C(7 zUjph*BZTs1s80t?XmH0VL?r%Ne-Cq88YGqEo4Ef8BeIbwgX^Y7f2^)y)@RdP%h5wP zB*BQE{_G^!z!>^{3j4ctJ-tFzOPW)>UMOUHFUg1U6~UEEy!(55^q7sG22(k{ORsVO z`bR@fcmf$&3dH2l&h&YVz zD{A+T#qfOT99P{qU$OKxbpNk^XY4HS_s0^j$tZ-lSj$`jL+m2#f)YSHoI9etDn=*tz&A!G=K9ePOLY_)7^Q%XL;+_9$x} z`{YD4>zGSGG32$12+7^m%H^$opl1CbivpK*_-7tGqc~c(>wm$S_*v~Id@t%pP|f>S zdij|F!{!yb|5fN;)iGW{WpQUd^g9~=CzF}Mk~Z#p6uPYDe&geU`|Ny?Z7mbbuDeC& z&9>%?_pg|ojsSGbfg{xh3s7oST!h9*#fnsVsaT-#qY2HrJn(vZoufE6P0pycgWj*? zAeBLp*C=rtBCR1`;`4J|RJ+(*CS9goA~=YIu6Zin5Z%YIbPPJ8*F>Sb^Cqc6i(F|N z8|A$1SC-NZ+OwtG4P5S;j`^_~MMW8c1NqDOV}lC~3CRT6qdfbIb3+^;4H_XVNW;*6 zO;&agy@|b_nue<@q^|(F`0(8`n*;^t5McCKwgF9MpH`|t1VJbSISz+AUZRq?xZ=w| zz{`RPJrn~fL`_}Z?Ui!3-BQ2h>`!|(d{;(!=84rNUL+KL#@v|Sxe{@YiqkNSupVurl7*qE4BLK$Vy zj8egDPRk$!j#R87POflRy*=^#7@lyP*%DuR$az4wP|i47UNTcsiwEo6)Lt$)g`k>j+Le_1NNI*k^ z3aSjN$G%t4lrNZIaw;X^$LI%29}Mxa*`zHDihxxd1!#ngD9|av&1F#9({K&Y z%L$Z_d(jdw{r#bS-mxqv%GiYCt5 zg;O@_ec;%SC^g`s)~=&*ld`V2?lZ74sI-~&Bl{V@#Z4OdQSyAMGn}ou{#}?aQ7BTh zllRU0vO&L_Y(5UUH`9YQ7D0c6Ini&5CiizX9*~py;R;l6zWCnY`X9TQL{GPPn*@EN zv0E+WnWSelsMasxCM!c-29y0l`g%aCg1hPOx5Sy*7kP@M7@ipP{eNC8o28R*1GoC3 zJd)ljMKGZ7b?l9*6bCznm!_e`6}2o8gV+0B5igTAy$w`_y3r3--qD(WWGJRrxT+tm z3@0tv#W*eFM+$5cD()F3yX+s_8+u5GNXz3RG@I2(e(xZLGbe2RH9tNygLt@f6# z2Y_f$e^OtqiDPU0PGmdFsIW+`NFj*$R(c9A;gEdRh0exIyG_DUZ;mIbYMwsffB#Ts zOh=&ZXd|b<@CV}M!2HoS+-~pJ1#^MOeq1|E%UEn+&Ec?zR6Qzm$%wcg$9dG=q@Z(Y zhq=RQQ(Nc9wRHQ8VD}u_YXFy_U~D(5`#?IOy;UIaE*XVES(lxhAd-y>K8}I1u_?Qd zKXYwh%f@QV9#oO-_VwU%nLU?x&__p-{kvNno-aUGRL%6himWRY)lY%kW5GL5^$Z%<>^ag6dkXHytN`RePI~}Rbk&gS;D5|F_}WC3Jgh(rSJIOVARrg_WYTUxZJ0#uSA7waOP~UA*?e^pe*la- zlSOm2wqC8@@rVvm$9X7qff(LQ#cXp}%%QP$%QWo2(9qP@d|y|d28=D&u1msK`xV?o z6mbKXk_dp)BPDTNvodbg`hT2!Or>~!1_}DHF^4b0p~u&v8Eayf>~B5vh?fIFJb9l#pCHK3-sP`{BFzKqo92@my)b#E>s*yt|9}C~5VtZxXG{-q_f}&@o z7sn)W$M-$oNIt>M&~@%sHKp+ z1gucsWHAdJ)GH}k1kS(>sP(|5~l|J~f?gZP6mO3lwIsLTGG#&jFEDkAXzrXRE5?;er zcQPo)l6hN!yB;1-pbftz_>q6DvjA}(6R}}XF;#Vj97G7Ed4-^(?MgWsz}9RD^NANw z-0}jen~wsN#4TQ1OeT(Y`gl+>SFm1099&D34y75+|1iyxPPIW*W?9nxWvL+rGC@cC zxm4>NisB;sP>as#_#_9?On5oYI-t=hqagX|++0FIcp`5#lU;cWY{`l0x_#6~^7&st zx>sJ*&dmU^cBdx*FR`-bqNyO%rK;O z^n?D1eJ%xo3yNdSnmkV^486-7CCSWjq!e-a1!v4_`1lt~D1DO)aH6cd)k$S^qV7J` zLSHQp{B#?%ldVTdRKBu&81!1In=q$5s6-}lGQ)jUP^%U0NGC=x^>+)8xHOjnZw-K= zShNC;0gHm?#r5I;t*|{)L~5cvKWjxLWKa0Oc0l@>4euY@51+CDVU9EP_rJazLTMz* zuyCBUuhnu;JqwWN_7PY9J8kd{)$|JT_%cG}MGbw`Qg1^kZfcS^; z>Y&jOHblq7@g6fOo;#t5C6BT_!#7+(%U~j7L$LRkvsM;#tr!$uvw%DQkcZwbL>t|X zjuF2`?LpsD*GIdcH-8fSQ95|VRs_Z5YVSAQ8T%%fpBYUFB19jhX7F}k-ze_SZ})Du zPu0z0$&@rCw1%fsTj6*Bkz@ zq#2qxw%*RVFiU)w8mBImdzLBn9ax=Mwn_mviH-A&jQF#?IEyom(I{ij9PgBwB@zk8 zU%udWzZl7~9viGt!I`?G>>Xc?D#!yVDpW}Vgj(fuAs?%BcIY7eaQv~7#%H#mmJu78 z{I0c@p?Lm}njQR0N&#NY^1zsmi|43-xF8D8PqnHeWTchMCk~1U0?04MU;4BDnpG|4 z06eXMe4B0l(c-G!-{Qam-FfEE$eZ@@Ko zsUyBR2L`im%3~YDt0FVrBy(;*jxR$qXPxX_(C=-kb zZj5eTU(osAraaaO;eFLarDMgKZ0L~lN% zq22G|d*$-|!zJh9EDoTRPE zl~*Yj6#*^LXta*!gT2e}Ym_+kZ9C0j$_9~9Z`eP`o&$^(H-7FSZu$|8N%205UFVO4 zD+B0j<>Q}Ko!yfgD>sKEx+lXrR18{F>X_Cpmh5fl4`(vR zzp4gp+KDbGaNcJG2M-IV(D0Trh=S689S%pqxri}k3JsN=>?F|Jx^H)G!)V+AbfH1I znTKk_0818E%|qqccXD*>z1H7lyW9%cH7_-jH=ylgYI59QY<`VS)R6O!8Jh(sMa`O_ zXei|XMo+~dH;rj49*x(Uqt1TObX!UEAAN^b`#au-?OPJi>RKv62K!$0IE>0=;)f?n z2MIW(%vd{qhK0TprC&CD(%%uY<-mK&Uix+pA*Gyd1*I>HaSyeaj{yeF?Ux=}{us(M z-uh*>xQj!Nhua{L&69c)i$pnU4u`v6m`_izi-}j#sUZ5Z|8$i z+9nwEXltqZ1MtC}8>&8>E^H7(8GbcHf&1D8jSrj3#zRAFn6OS~KvP!$$Vs#%ii=-Pfrap$rE&eH;{Bh|%aa)m7+ruku31O{}- zuy@3!CyFJMqp!2yJPwtDJ**qj-956%(`&E=DK5@b)Uu2Iaz1AQ(2Br#asHa@KQ7F&qWg-IaCfY|2oWHK2Q9NN}}t?$nTKA zPWUq|%nT-j{hvzp?5&7c$8hOxJmbgm_3MW$Dc4`=z~Y2A>&>FD5bU{Dti#HXYhNK$ z5rOvZlxbx(@fCJtEP^w$UO;!@OHRN}`8oC=7Hf9x7w;8HJP)@tN&>a;?YqzNXRVFL z$iGdeZL%`-_vn~>4zOgmYAjy%eLIzFvjuFoQP(T!)8Yri4Qv#i!LQz{FkcK$WNadH zl7bbyJv*5|&qx<(gCHS56gL~G;1nvmO`C_I}Nm(Yf73*P3he}Ez*Xp5j zK-ICBdNLCs4qnDNyjb$HeJW?d_rePadAOeX_^!=g2icnURuq6wR;IV#ZOH%H)VXWi zJ#0uQbI2bGd!SoGJW)q>(*P$daPz<29gKo+3>^TwTc;=fP{brLmE2=lDp&#;4n5h_ z)aPO2aB0yPG2HN#dExJqwuhz;?x21KxoEE_;|?)7-+R2+12_teJCk&okKv6{=f4aFRq-CGlAggqcpLq&&M^GW4?gMlNfAF8+Xh=nCR=kMq`Kr~v-IN!c%&?~giwIzg`jy)P+>vEyZxuMS={5x$5e=E5#`_wy_ zsnd5?2h94WIoS#Wu&GDy2tvLFDbp_)x!f&A5QMzBX~n#@=p0Aq)4P=XMtS$b22ULQ zWsjR1h|%y7nlP;=j`qWiW<2F+AF(s>Mh(~*&9~g}Q?ib|^Yf;q6Zaq+MS6$F%$b(b=|@!fiouhh{O{#TjK-Svr609JUmj-Aeub(7zLAhR8O^VscM#vn|jw#*xYp3 z$8;)O#Xrvn%9vOe+!0eFtAHzYFOkV%R(wHKzEHl>%%FktkQg+k3mam5FM|So?&17?J4L;-@bB@tUiTBEpTv6dZFyz181=#!o>0 zDEiF#cImRMsqwyetspU|>)DG*%~PO{-FOE22v7}ljAX)d+4oVMvEzTF3C8C9JR4Vg zo4_Ep1>;VYpo|bd-2eAPSgzaYXi%tN~W;^Xv~=IG}^_)sKL3 zJmvefx#Gh6)gLlWztLXmnyj(f7AKyuo#ycg9Z_ z%(wt}VTLG3WvO z^6;zk?z2QTfw|{96y=TOUY{VEe!}F-d8pLExF~oY6&v|oK83}bPrD+g35^%kz!}K! ziQ3kX^jt=elN8u2Yn+FZwd6l6NVIf^foH44E^&og`Qj_~-bXdM8+uC#z!AXF9(+JJ7XOM}3DK+>ScbYOW8n1|LX3h4m$9QvFLWbVi)w~XlLnJ@J}Cd)wotZl#CUw&w(3t5W^&s}B!-dKLu#K3e^?Q}L?x)QuvTE7!Gd;RH;!{-pi^S2@Xtl9 z<`;APG$+ReVX-)kswe$<(SH4hN$dc)%zHaUboUNg4e9ptvu7wAUe+}K!9sm#mQLt;+S7-J( zD*}dT{rp~Okkw5tH~a7wl>@!tHT(H(D^^NQ)R((5_!EZ|(``|!Dq8ZPBDj=~T=zcN z?Wr1i^F+3EA&Lke{b@s=p;x-I5(&Hs(oJ81n(H78x<1;ghI8|hn&VEx`=RzbHS>pT z8PO>aeg1b>fbb{mK-I%xcYBm>%%@8t-ac);bXl`rH}uf#JmJ&Q7<6^Gd{+9x?(kHU zG6=o*1M*sMMB@9jg2$NM4ax8LCyC|wMsFqu_0@cEmhHJ8SJJH%dUKDF*wV;p0Mf4=}y)x1bhZ%-r2-PVxH&Iks6#vvhKUf}PkDPlx z(-P*g((t?2_Qiv5l{V#SIzOP2mroM!FB@HSd(r2I096G}qhTZzy#jgP#lx7ojqS5J zK{MVEnWMKSR#F_ULq1>Fb0S!FY9B5Pph22eAlvZ!LZbYCsXUz z8OM*08i)M59~Ti6uT?#L($rh`Jw@o99cmEJkz(t~$VYxp7WVn3dXIQ3w)(A!R|oAk z-Qhs&Jzuxku=Mc?5|H)0BAK~<>v4i>)ot$&s_$%) zMn+;bf@zEuBO0EUM#x|eGR5tO3U2OU*h~5$FoP@gQD-#VOulEkhNPECoHR3;fB66%vA}~wV?ntyXAU_dZL6&yJl`-+#cI_CqSP6h>93iy#CAY z-C6mzn?I@I4Z+r8>0>$|V`b`AH($jSff?#mz(*=F_={AxvZ<1y|eT-`*0C#|H>F*|^k-e{9p_5RN!SUf8sw*w~UZXBe`FR4)Urxa!)mU4P5> zfUgq}LCuyg-Lt8Jw!OawnpexOj_e*jJ{(ew+&)oJo++ryu`*7P{racyU#^<^80d9= zCYDtsM{jpvm|^$R2=u)*F4vrun<|(9hvv0^w!Vim1UDCB^8XnC{bnK~8TgzFk8aHO z0tpuuMT?NzrVvv}py-QfC(=Meo|s-Fp+8u2%gWeFsYb%q^k@+cuXvmv03Pr^%g<{| z<)rxxX7pH*;mV?rjq9iHr{OFUBy1ple|we1rcIHjn8;9Y&&kYq-m3L481GoT-l=9v zSZt0j4TOm<4viEHhQiP2m%}imOFc5{maCfm^*}ZB(%-P=VS(6ZN4GJjJjbT&y>aZT zzcJ9U&`53O-KmH9u?NH|Lw8psjGq~Nz^eZCk9=5rRJg|rVji~~p|9#>FDQ!2SbEO} z9}pWZ`mM&};@D)3_W26M@@|dnEyF8taPM=@=AQ!lMYztwxnivEi46_JSi>_*cTnTi z_Ao)%hh`CX(;11YBBiQnx+2Wj6XK%;6LV>>j%)D@0$I55v~iI|hPANy<*N%#5mgbr zuR2Yt+jzL&&HYwCOg(vu1H6NYgVMy-KayIwN?olu_2u|#-q?ZcH4?-K&Esn9Bt1vo z5RX*O)a@hbg3`QP$CLjp0J)}r*zxrCib%>Z2J=uj^P~;;Ee{b23VR}7>~@!pd_3nY z4^p|!(T)(6K{*GDYF&O*aK~P-`m9qn{4Ds^o&&jG_OUE{tJI0O6%?fbPWd^&X>cHj z`CEvlvfSfCA{l2zaU`#;>cHPt)os_}GfIzgBK{A|;k+heC%RdKI&J@@s5#Nla_Ayu zY!P8~awge^Aa^&LqeI)-h<)R%_oXT*~_1Ua{ zDyS^b*Z({>GyT-RqOFCZZK)$ynFZ0~yLGc|J~>DeHk?^0tbCy3MCb9_(QvX8+Uoy9 z1kxD{9oDjS1~O4GQ-HavtZ?Cy|BcI2 z@7$szgpR?7<@2VIa{F12V5Ikx#hi znU&)jDqrxrKT5YVP`5fnwz`aMZQe06~ zd^j`7Ciqqto!zen4N_$+ZjgmV-L+VJB;jzo=bx7od!pCn^G&ZKD9f;eFXtvrL~dq% ztEPzkoc>^_htgJtE)4Q0#Vq&PR{H9}oQm;aq)DT-knasw+%}$Cjjl49EMp)O>w8sH zv!gW3Y;~61r(nuF;8!7|z-u8dY9suF-LD4}WqG+xD|4(Qjx6ixF#dav0UwU0m)T=M zJm^cXys=Ah)(h_axa=A^H0(3eY8j;{`H5wA zlnH-SDp=NGl?`y0N!qRxx?88L`{w6cO3JpDx5%RBYVJx}Y*2rib`8tSH4M9@(Unm5@^%kea&dNUo zh!^hu6~?fh@yJ<+5YqT*YgZ%qH26G_8&z*T#=6&s-*adMT4bH@oD(vI4`i!mdjv9} zG5~agn=1=VS6UhP-@|4Bd|l2FF%WN)i|O`AsZcVx{#Fh9r$qI+#7S>u24ze4%gLB8 z&yoqN)Wh)j8yL&z#=IW&3|;_WFifsu1x(wOVQiZ9_%^MiV1SG@l_SI&ebZN2}XO zUrT!?j?>j^iQRzluG)3AUN57=i$m+K%>E8gvalHg!Pj|mqBN40m2jMtWumIqUGu}t z{+7x?vRO=p13>p$e*Fq6L=HvEEPjDR>I%O=$q(r3>o~v`J<5-z*SqN1hkLP5%OKyq zd^t!#G#onGwy`d1s$n2;cCyb1<+1#$x8T8UnF?Zkqv{zRc>8(eed$Bi&&wyA_d)aN z@XljU#eBr3hCyZ_+D1iXjmbWsk#eH1_$~+eE-E+8zE0hFG?^8dX`FYe+<96*VcRK7 z8DwQ7N87BDT@&=%Gy1qF@ch?J#u^_;>LSD7JYkLX3=ZV3#35r*M=**asp!AYOJZPA zuZZHQ^$OewR^$9bMfcSqy6U8Ss~d-#6lo5G<n>UeLJx^L`)5N9RrXKKr(jU4|JUo}~7@Kc|SCWEdB2C$R2cOimp9 zcqfs49(u1Z5*8#d?56Ifo90v?;HATs5G0y3sFo-8Z{_i@=K@a+m3f$f_UtGGOU*;t zP2sigUlupsT)?Aqv$O&N|An^}?5ZJF&ZG)j4v7Ib^cGk=txv)F1^! zJ_3%>=DStkN$Zt7oW)?@FRLe+v?5BH2AyXilk=BQeYZ!gOzXrr?sr%0xmr0NwR{Xw zNG?oQ6o~&NT#m|G&B=#RS^Saj^J1|6qdZQPGWvB~4ptJsS`Q@E>w^_TYpTt!N_Y*H zTTcc_NFo1-;yGbofhMJ<_EsR(9Gr&Ecm+UVA8&GH!`-(P&TyPWIm7Fev9#{!NXY=$ zWi6wXJ&GYQy-ngmxa@)cH$6>;oDY<>qJKv1FwqGy9KB3R2pm$}-9;>|NeZ`x-pnw% zDO*;;u}S&ZM1SWm6$<-WC;isdgZA9p9#wLY%nWw}YkuD}tg%Rz{uAxL84`(qWpc`7 z+FeGj&2VFp{blxBb8yg%txAbQ@wkxgLf?96J*9_?;)M6WcARtAWJAfg0HdJ7A&g+< z{;BhF*Kxhr%CxwU=bi??bmMH$+PgGjxCCg|;MUN5A%Zw%VM7kPnPUsQuKY=dMmL@w zO3@M6vV~1d{p0w7rXwbWgI{9Bk+>SosK_zCfs-t}G*wf)96_sTyJX*@QGwsj^6lya zjRUMN6ib$as^eL_xzR3}DNHIG9Ecu4-KB>6%k|6ceS1JZUu}kNaN?uKq>jSy^??NR5v&9eqhUqko=N|>|FUp zOpXE<8C(gRJ++)U!@acsw+_+m2_N(MtGRrRQ9f(&2Z+U(W@Y29?@tu0f5iXjQ1iXG z`4yZvLo%ttkMFTQe)*Ymcdq2MLsb;P2q)`%iX6SN``h3kf%uh*UFj>~?r%A{7%6Hm zV&t-$d27z|?|>}t(_k!4b5jkl+$;W)x2pCWaTFI-Qw!~`3dPenjXfYplnBLjv@**Y zJiuf=eSo6sw6KmBW02C5z}fvpE*rnUf*AD|=H*(si1djdXu1ul;o;smXsB*`RUpf+QI@-y7}m!x~sC+9PkA*vLY1nf?@Hq!^8Q!iG`G(!*9kOc9*B_zY0ARB2pBjr8Ie4vecAI@#nH5Q$rJaZpL7r7+S5ZU z-cVZ!M2n^p`7gS6Tl=D_JNc)Id7*NRzr#kXKLuuYJN>BVp7gCP84rdY?aH8Ou!p7H z6{`N$2z}NbXCOZ5+nqM*e(sCH49n{4y%GZyeLUkZN9I9?!qSe3j5~uUCj!n5cE|&73QCjtMVY*R?+b8*oNJrRrSrT!HFYB{B z@NG)F1ET;(TL53`#Q>wS{Pl3V>>7k2!5WIZY&{GbID8sZeifS0C`>S6Wu)c&#yA?+ zZ-5L#G)x*3sA0hW4Mw@SKte(Bt<;;;eq(C2Q`7q43G1nxT(zNzxNIQNd}8p@oFNix zizg!2#9d$YB@2TFuE14|Ca)}0!Agr;_Vr>_1OaxZS#@q;35l|TozgQo^(+-TO-$=d zmIq>)QLn`NZ=B7L*QGLv5E}(3BRaTv(7iV${kW-)QBzZ14)0A(z2na3tw`>iYkI)o zgC4lwV6>Qy!hrUU!(1J&IHCjqzd31YI#f9kpzghLZG*vcWan~sSyxsb*)J$73w0}^ zWl`w4Ob@IgB7}CB*fro_r8E((1P;Of@*dC1q-n@!L#8S%8rU*L2cq`x?hivO+s&j| z<_Ssrx+C2hYyL;lIYw3bzHNAC+ty@rGA7$K*~YIXo0DzVWZSkUYpSUx?KIh#-lzZj zp|$#0YwdkM&wX9zc^rp`5E#P$$*hXqOSp@R3AYlxD+?#8@ijZ`opH5MUu_9E{UDzv zaJ+J9GwS92G_Y&hR9fWbhghFTgFqJ}PCFR?C!p-`E8NAmYIrMSa=1&N55)T6#!5$K zG?fKmyjhEj&W7^~C{^Yi2~>v$U7JN57gWMATbS`ZR&U;@*$ALO*WodjhECE(J~J5y zM=C5)K%n!Eb$=?~rF0LZXhM~Uz$sipK99^G1J)CJ@Xw*~=`Z}MM=e%YTt_jE}ZX{l6 zG7uRaRyAf48c=+o0+fVJa+105CfZ!Oi2erIgTVcMu08OqFlQBbj%{wpRx0iH8NP~7 zKN@vV3nDrgcTAS5=W7ej+DFi6e`lS`ufB*1F3>+t7mLK~=6QH+70Jy;n9-Es{J8;t ztPjd+KAx$%toHCVY2sHQC>VBAXoM-;iW1db(VxqM_*{L>Q;^`L@+!JcOZ1^69@|1ZXd(2dWzvfZvdzPJFv*A zmXY6GMaK#c3A8=zDx&d@4PM8s#8Y@fk}h&aGug5E1a0a}X!IXjiYZ0|PXgtJO|I~x zZWuXh$7G>vTZ$fNfDpPr3whZv$xyXaF=bHO^mCPv+LO!XlHozWBpmYcawi0Bg?cKo z1bCG}6TAdntzN@y+sW2b9+F0UWjo7lp)i;EG0HX(Yj$TOg^vqefsaoSBfR<%oEKD^fkrnz4ci>f?J*)UDu>S9Q2n@Omi4oPx~({3=w+Zt>V1NIRRldg zJsTIC953BYCxl_%;sZ59UB5Jm55VTBb4XZ2?S>C+F}<+CYoyNmMiH(BR$GsXi^=g1 zgg?h?6-qCJK&R*mQcUAXh@O1vwRl&zPd7Pn05VtQhq2Kto#n73#$29JUz&dw(>8P8 ze_t0dO;Oz0`SgZq`1q+;G|6@i*~VSc;rr4nIXdNfYR>!N{g**-;~pgXZJT}fVNN;O zfZwv?~WN5Ohcy+}ZQbYo5`1K}t!#M!b zrxN;CyvP9yLGFzcP0VvNpAtMjdv}n5;xL%rfsKInEGS6{qcW@(!#+}s#ETgevm|s? z@R>U2Sd*b%fX)=EUoD+9J3{fY83`}mHAuF`pPn}@L_c^-5PzU2)Y6Xh`y(!sMt-gD~Xzow_+=OT*s0=CYWZmZvw^! za-=A3zWdjm4tzZvpZ1z~{lm9DT0_s(t}SkD@*(oEhz;wQhRe%2aWu`3iacdQJi; zOee=2G^~USBzv&eY8Df;1TSO_7b<_(0{<{bRdnY5mAOCIW!|<7-TQ!TrqHY$;ny8S z%G7wzFuvf&=#cNeT4NF)CxU(Q?ct`&|Cb;=j|6tAeU6N^xR4wn^|xD;Y-+? zd6Ott8i**fzEsG-gBCpc_Yzer;&aw@-9SQoQdTKyQxaRLYI!q^rCjX@Om0$phg9Km z)|`e=;P}JjWJX`zN=Ox;)(%S;T*#q2(F4;O$LQaAV5%SZm3d&Q=q(KZOodaAHhN*i znUeBQxqts)CT;dQxQGlTQj6rHV{f*fwNCesG4n>pdhxttT%Wn69 zwa2{8(QbXSL$aArGlFdCEe@BXuNzG;41GUEBmVA{nmqzcpy5OTeGe6ky9660jQ5eZ zX$v$-JUbI1^M-xPveq5Ao?K&eWs!x8fYD;&``D+jDpCGm{t=Ti)X*zrXu>K9K)bPr zh;UEjqxhV+aNWL|_q-eY?F4P>{k45&I)gh*!lr5aXzxFtjg3kmd&&JIgv4_6rGP~w zrt}JHqnOdc+TK=d94b{qo!=2J(c;NhlF0JkVZ7{26M)&3wr#!FvC7qaSzt;a^}C%H zf>KZn`qvCh2YDZK9> zq(CU%hd}hXqT}ftDAt8f8B9HAs_8D#l&-oBDKw!WXpj=O0sjt(O9=izN;Nd^RCAYD zcxE95;Zpa@Wp5qs`WOWE>3fSKpHM~2rJVoi4@Q#cY&zWu`tS7RMvkCEvx>)A$x3e+ zGd&BM+rNRV;G)<-!>ht*9OnDcKI=c?A4fgX=Mq$NN_KP^8_YXHO}vB z59kW<;J8nWc_-JXz#v);9#&E?k2DzAuX~}^01ASsun7ZyEmE^6^E>}QyY7mal*Zw@4d41!6E zJT(V(+60ebp~IZAw?X67wt4=i>R#W=9C9n3O#3t1p<~cIGB;u|aO~ux6bfA$xzfjWmoqMlIsG^2mph`+?x7bD zlwVVKdjT_*7(Cqg=DqZv_JzYD#SMIKU_em$5!G7$NU^N9oh-Qjc3V9OMqP6H;<*1XtYH+uwDFZ%+3 z2#3_zO(-2mh&&$^aSP#^+ophvQ)LK`@p)gM2LjP~i;45E6{@`>{|Pb-^~+b4A_LCo zu^Tlf%y!qHP7?^Ky>m23%I?jI1(U23ceM3VYG$)dP0lcOcM^pojtV!~-%j=9cOJ<9 zgq&PVCTW5uu!$)10-$B741{S>3F9XOTIJ>T>%5n%wD9|Q+qU}LSTza8ARoQBP$V3lo3P!=x9#>x7wMv3rr z(t5aDZOc>G5sCIHT5TVN12K{vP50e@%~WBOgfeh%74@w@9$aO3j+*Fnbp_kt4n*smo8cS59%4$#qc=2)J z=UF)^?l$xfqBKN-6tqp{?Yu^S5FDL^`xospzA|ZypakN6j79krwNK%?sVqmcn5iZC zc93rKgX6yFL|+aB%ouluti|B#j3GCIq>L#YP(6Y@aVMz{sCT~b=*;q^dthb;;>-|uc@9)jbH32E#=ZCOy^O58D1dbs2v`oblxMpL!2{r2Ls0uAmCrR;OU}lu_ z-CyTS$);&N|9L(#0t^=2{b)@%^xUnqI8k32W7q7z57T|rh`{$xKdI5@2*~d zb6K6z`Xhw{4+%C9z5S<^9R2OLnXT=|zV!9vCaQ27{Jntn7kLP@uvK8l(Rcz}wJ%ie z@77m)TU$+vtk=HWwwrF))%BEGo(W*J9P`&BIHXQ_!%WB%8J#v#io_InlLqEF8w?eU z5!^mZ-?3fmL|B?oj6{jb@8Z;Xj$Ff#IkM69wC#692eVC-Et5>i{pZljVlrMA!65vsxeu6`Nkenw%#2mvJQU$57DzAH^hpb?3AjhRl!~3S%wLl%2M0=e6sEZ%k=%~ z*UHv)THB{Z+AwZ7@&DpbviX=5?IUR3n0@hl@qGzKJ#+d@FL%jZOvqAJ7|9oucYZ6Y zY}uU*RU;*xkkSi<*!2N$LEFSFpuN!ZPXI>i<3-A)3Wwc8G!)#!<7Q5yMrcZb|M)?& zWh^E})+<)K`_Xb;qGqqq%bN)Ov?n(fk<3L7%}Qw74#Fq|C7;rZanCs8erIrbMu!Zi z`@tEx(-%E6z$gTdp|=hU6)-^t}~=--*t`y+&h zSRk~{n-`VtJV$~?{Y}Jusr3}#dhnY}CAbc-!MZxCM6s^YvQiTzH z7es8vDnNl%|Co4w&{?yEWGebhYbgOmQj#3C7KB-&#jJ5Hcj=`KS(QgzQ>inh z)J{we$F2TulQIn+LeE5N1-F?{MU0Q6*hY68A!sL zT&PJ!E*%oZdGhUtA{H(LN*v1tFCM&gWttEx;b7)Ii`@tStPD*N4h2!1Jfvy%&%+u! zmjq~x#ZvkLsZa$!85^Er8dNLMVg@6wATsB^4n)GM|F$4tR{=+K=QGTnDl!pF>4F=^ z~#l@iq9}vc(@vpEJWprYN|lq zR#Mv`(h#~UD+7t%AiQ>VW&roS&nTqQ(Q^kc0Gtn{5}c6CBNf*KhGjhXvfH?TIcKNE zP@K|gx{WC+HzW*!D&M~#@54t9BMxgx<_Bp^bQvX_07A-N8ODCQ6g)d?-qY%Z&g9D{#|P71%Daryt$Rva99e{)Y?>LK(w58|2mW4nvwP zJ+!_b@z;#%X}*HJ0cbBMgZcz*N)il0du1YTHV)}?QRF0?QCb}55L9zv45Gs+0^b}I z2V?N97%ZxRnMKPU&t&NyyX=nn^`O_ji>mXO5dA{O@mh7IvoeU#Slo#P84{ALq7e(- zd8P?bf)^e`8^LKu+AF?HhpbTB%I51{BLc6CAD%kJv!ac&<(G5stU%Z|9{x4<5-PY# zUaY}IjzTt?jf7fB9I{|}QTaP6D^a?#uXSFauC#B_yFUbt>>GuL4CR~EV&CN>;{O`Y zmZLE+551(@NzRpVJ@9Un-R73equbC3QD~Mxz-3;<3Ei&+EwVRQfKc=Q-Ii%T$E7r> zex8gRl}i0#Bg478N%003`@%c(JAH}Qk+96rR_8`ZmYuF&%4QKR&)Of3%|Zz_0^~&Q zCNhfV+Y9(^SdAj44x@0`Kj+lcQVYPq8z*?pX;k4`Oenz=6Km@t^_~=vo92iKkE#*k z)RU%!%$yLN!LOk!#E{<>{0HK0Do6PdsK7XZxT{}%eN+@r`po`Plg9q{p@CWE!ehGF zKc68t6N(!^RH^q%V@KQb!-=5bB`>uq1t|Vi&M#pwm2es&$w2wMS?~R8%1}$77&Cgg zq50$|qo$GvHX(6I>}+DHS)qqLt7v^_@SgtnSPUlxBa9;wF%CGsrERr=s3se^>^}FC zin5g|$9mC^6dJWy1XUbwp`|P_Fvk+le7NE+AQ@}@2)Tz7e;fZgs%Z~L;yS1C$b~Ai z_n(_A#;Ax{&W$am{yn?F0;gQ|vZ$Y~Zl7~ud{65VquR)a@Mw9X1eYCxv4j?ozR}wo z1Pd=4(Tx8CAlB+4PO0)lQYxw0*1Vr3V^TD1D?{kMT6CY z#j6&aH;IT%{^ePKHRP_n|1CrqFZ2N+XQ^+~vh@^MkS8Yg+e>Az5Zr3j!Txn3{Q7+L z{e9Zo)>#s}h#DtfD;Nm<6^tgLmbsfr%p9A3^5_L6(SpA8hsb$Ox)1NA@VqGMVpO^g z3bbaVYYStHGhe9%V;>~?t^A zWgvd=dC4Wv&2t1tyZZL2T%E%jSX_Ggp>->63`VJON-R2F!x4ZVZ7@ZYe+tc~F9RP8 zU?c7QH-8VbvK}{o>xcJ}v~cyMDd8RL>SA0!lruNz1E?j+neq1z42bFY^j*E_Sn4UH z=+%xzC0O9GmL2uUp=TK47>uF7FneORMp`S6aW^J7akI3lYOdH=La`GY-x)d%$=)Bw zTsSjc5TwQkx=Wu`&vVS4rg(Nfr7z5vrY1175YT3g+eh?Gm1I2Hx}Ff5^24H(cs3u5_kNko}G2GXKEzXMacD0SEf-9 zb(PVm^2r)->kXd_NE&#F_wgtE1fPG~5ocO^>izrr0)#W-sYzu)wv*!8y7agLc>(~8 zM2tk21ob5<&8;SnDdERtl9T$O{QlkK_k9T`Zj~v4L-McXjYs6*l6A#7BpTK^%y9j- z8qnV{qWYa82y05H5SthTvppN)GTFjdubx*7ZTivirRGa?{cFckAQ@OBicdA+wF|R=~^y1N{iviP}r63OV z$0h$o-wluxTD?f8OCkImM<;1!A2W0sfMN7g>bQ;NS-0NzqvP&N&f`#Uh!UIC5v6L) ze@f%yN#!W=f+UN*fY9hp(oulGK3#d+E5vGO?hh`t5<*anR@I)#C^oiWy<#x?JdzQ1 zCF%_;3e7{|Saj>v`T-$1EUlXv!IaTXl!GbQUn7U-u;mGzVRm=4!L=^LhuaG@TL>}{ zEY|=tR8^}9bU+J3QaDL~C_q$)-)G9e=ZsL8^`9iIG90vSDFh=@O+U}-v;I@w-sx2p z$?F|>Kb8h*Tm-zo*qKebEu?P&kEaz;Xur&VBLew$0k@3z6Ak)hW^=O4K#nB9qXSKq ziPJ6rwJXE&PnE7}!a|Ug@^7c`K%XhZQn@CCW)O<@4!-=*`_L043jbl1 z=u#sbDv0&>0&Wp?w@*O1T%f^f26BmuJHIN$eg5{9U?axakW^+=lIkawE-&3N0WhsF zBp)9u%|O?Unc-gGe9ZIOCfdWR$9&KB`gb)(mQO_MbjYmEpiQIQs9u$XZ%tF=jBhzR zvfOdhK6ydXvPX*^{H=tSkhihAUJPo#SJc4#E^F4=^JymWUdQoUtJ|#CzpR{&hjOcT zfca1G{FXOrOJMr>v9i0|q@d2|X;Ry^^X!9XHd6*!4Uc{xL9^$< z0-3fDb$J_`6KKhld8CWM06y(oY?_R8#$_|L3B-&cKp^4V!XJZFb0DqWCQyf_gDzQf zY4w1Z&Y(G>wzxCYQYfo3@quXX1Ku^3T-@qf8|^}b0s{{|d@A0k_)% zGBPYKCh?EHAf8~M(NNCW(JKhBLv zh-o}1cX-wh3NL$w|9;>$FNwFzXp{2vfg`rvliDtdcLdVg(H2U_Xv%_D!-f5{7a*Mz z^%HH5;m$gcF3|AN?IB@wTiD(42M&P0+@1q(!oVo25*SLgo!jLI_^G8@tV!!l%<>+Z zM$T#!Y~c=~9tcJl+=%afE|FKQ}G!GpWR1Wu0WKeGJw#a4-cJL57hP1)>&f5J)r3%N!p9z-nV%*1tew zU;nrXn98~_8TWs5AX2#su#c4Yx>^;C(nK!2?ko28 zZ^_hj$8+vzgVK!|`U$q#Z!bQ~`5ew;h*( z0YEY6SJl>iz`Xn?oNUX3kc3)P7B33rGJrVPo%e?Q=O17(Q3E4b=9Xi&4MDj(S@pR= zVfcP-GsSMYNjHJcf!}w5W31Gy#4uyHXLAf&l&u!r&wd%(WteS>b?CIqJ!63EE@Jh1 z|MBK}m!lFGfzVn@nJPC`aK)B+7T&VE4NFS*Ss8*TR?{?CvW7060VWtVmL}A8ddNKx zfs#Uu#&#yiMO8ZgPA!+7YG+w(>Axc^g&7r@t&hUX*_Xd8k`MD}W10)u``0;H{$ z6Jq(YSV|BuCZI4QXVXcH6AQO&$@Ccj^S1e-$_((_&}o$7_&x_M?OQl~)#(IEVd3kv z;WpzE)HoqxYn1 zk3>V2%}@k7K@@=|f#&#MpQ%@+;;uiY2R+xRb=4v_OQrsxL4dQ^Ofe&Ky)%2`>DL8s z-TW(YJW!@2alaovNI=e6mgGNNs8O%-4EEX=7Jfc6F&n(K|4QVa^v8IIRe^B9T*XE;k%0GmY4G`?FZnCAPV*YHlf-; zG|0~(ncibd{^i`GuWNzf73fpt{m`nmwyp3zb0+B`>sQ@VUuRKtPksVz*D9J#gGrc~ zcyF9Zvu3Fvwcc(D6WL!N-ndA*@N(gq2MNR&qT6ss&$vl-&4tBd97r2w^;G z5%zMkVh3LjjCsH3k2a;^hLkyvm!G&m@bm`n+5ijdL6rLErkN2jxR~k~jxY@yV&5`f z?HIO#HTtp~wbcM^N8;_W>r=HL&q}niP*RuocyjSduCj+R4L;@Hv~Ryh3om7(PY?1g zuYIb)RAXCJe`7cli<*xS)Sy3ID~Uj~i;uH$gH2unfK=1!1{BAbTApxP5!Qt_roqi* zbaMWGf=FkdS!dtw?mJg|YL!%pEU7g208Xs`hgSrxnXDff^n%3NU9a@_bOH2G*KwGY zD!dJR>Bk1;+V9uxsy-}*jJ~i~xUCahJii<>0@wUUJ>x2C`9S2sUdepR1dOWW20RjG z0fw)FM$odqIDWNndN_!g+bkmSOv}V{9u8>|b-qhZ)h}_ZsU5<+lV*5T2N)Ew4PKS;~@Ew+r?MpPYxf7)Mv}w|S6uRt` zEqW2GHO40tcoHrY5}61HI8hlH^iU>sywAq)}^O=jQ{5O4%+)DME3cEVZ z(;RipvXkCA6CMt2%VN0X58IHPl+qQIYeF`doy<1qOw?Bb@OjfIXtO*DBgn_w1hsxM`K*bF$C zs^+}PB*e`2fm4Na1%*7x+M2YWdzO%+iRjGwhw2`&6;eMFQhE3_lU<=D@)0}&2vP2m zO%2I-XsroVwUWU;QZMlX;46NMZit|+^>)^M&VSE6WSr*4u655|BOvv+HZcGRbFHN4 zn@o(s?8WQMg#zhyLO60<(E%RL<-|f7BJbVN-FzxE+T7}qo2xIQMV?UT(3BlMUD|&d zbL>rRwyiV0#ZGk#vfdjTTRdLBPYpk(dR~5Pi^eImM|5DEK;#1t=t6oDATC3Ib&gh( zg@!3w-{}sT2mh?(tv24f8jnE^R&jE)Z>lL278&P*9k+@{y0jv%fQh?tik*0AjP?vUw}}5%P7qmUUc8T!mg$^VD+FHPLgpwL1^lUNL0c~MhP>;_26u-A5duHQ7bOjeV#?={@3FL)Dom z7rtNtxPG_gZ(xCKuj@!xJ}QSJ2mw$$AC3#OWQJ(2*D;bF9qo?=|YV zpg{Pd_>J~9HSe@9n*r)GZR6wLR>KnR}c%?@?@H;wX& zw3v;=fw%o9D>+Q3;T;j~g*IKEkzl2M^}V_}5H?fEKUNvNofItU{>{F+ z12Lp6f9rt4;GA@}aAhJ1`Lt+9Z;*mj18>9Fj@o)?qomp@B*=~+4-LudtCK-z=S2ac zV3VU5-t`&{QA44ulO_pGK%>NoOSDBvQ&-}%_+yRnRjGPwo*!(O#c$>zzg%}@QFF*Yh1Hq#FB;-BcCJHhEp>Bc*>*ax zF7mF6hK4qtxwr;9l|g_H)jPHS+CCj5PM?onlZ*)icKw1mtnOY56ULi(OyBvkTD@EVla z1L7ZNI7%L4_>4mbl(>0{Se6)C0V>{(`h*pYLrI7*9ozs?RQ^$^fY>NjJAH{s3tbBZ zPg1Ag@3H8rP@%k)-RN$4m5J#qG{SeSZ|0Kbl@@7M zu~(uou@hWu1G5A^%Ds7kUw)1gLXk6AC)~{V9PNJD=n4nWVV_T}17~imf@`HFJtn-) zBvNl;biWb$E} z{Q&^C(cdRdH1*+E{V@v}0U9ssW?w~$b55ldI+hI))(hVRQZM4PrP%f&=YH9%+1{H% zEJ01~dPot*0rFoRv_kI#eYC88#>{zv0ns69&AQBRjHF zyKFRdNowCQ%&f8+!zo~?*4i0}ftzAYgD9@q7*JEyRzkeDwWM!ZV1{u!viUDF%*-_N zXY+KJufOi$aP>p3=ojji>YD}1Hv81n{gx|3WMAFO`I8y(scT$P0)%n&B${$Y>znwGkV zj39oHs2D9tH|(6VGH{)j9D-V~nne0YXH3W&UMD4QY0I0gqL^nE_8|@a8`3ffIL(Pc zxJM4eoQV}f3c+M1#V7qmVwVjPY5Lw^*6@=T%1dVRbIscii2VJL%1on^FK#rmFMZtE z&*e^1Oo#<%44L54K&rDvtu|7SdX+JPEf+}CR;eYM$R!)JS z+qFlBW>D@64+TIDF}!BzXHcvX+*<@l=K^SMXg#!oe-OlNv20YL;WJTVMCPTxcBv9q z%Rj%WIR-VdWjS~k{Jr~H_j;~OaBaYu{k5wKlFzmb#cn^T#Ryc|N@!+apBl@>T7?w=|N>Eo+H7&e(9O9r7vik=u%`W}U&!kH)_+XkC<@ zfH%gRkCROPdQnX+U#L&^>Kb5iY)p9Y0mcU70oE+*l+G?bPV;V4N{F<$kPQ)1E>a$xWcdj1>*qxNhM3<35 z*ZBDfc*t^jKxaCKemwy| z-~ak;`XQ{Csg6p*GhOnFlk~^%FP&1>?OTYcd?@rxEp)S8zB>=x^u2BL`7OM+HBxOt zxy94ascg8k_9L!FcVqq&y5CxPXlW-K1x2qPQwb0{i8yUI^@}!#2{*;6V}31FJ$%NlDvDffy}%&=IdaZfGoSxD&d6W+B@87~F?P2p_-licGnw9J}YEs-ChR)U}9jok3eEmgunDy#$P-Ixn>yOl2JPq7^L9$@Yk^MjiW= z{l8uG(TKZ7m>nBj;)awUFve)l@snXxlWGvX*7Q=p2j0L94xgHfvCS*6L>ptN9zc_E zMA7e-4AmopmC&VV(_aqwIHlLnIm#}Q&Bx$J!^HVzO?hwgfVC0ID@yZNjwE^eC%3Jm zPj++bY{DDW>Fd9~TvBw9aa_0CT$+%$-BqjJGfH^VnL!|+P=PpCju{QFqJC6cWU-sN zhtj8I25E3&E%aNvEy*MlE|XBL0&5*J0(7(Y{C8~ukH=rV`92hPX>QONazak6tXMJi z?re!Zt1GP#=t8E=87!P;5gnuWaPST#AvEZT6<1A18CsUZs^y7NtD@MlV~E6g>_v{6 zUsis9+-hUft%^Y>!T|0yF9*I5_0i}FQ4bP+K-W$Av`QyQwaMQg z#1P9TZQwAI~ln2?Qi#m7L0)niIE-re{K^7zeQI8sxwe$FI2Dpu=)Qy07534&|12ffw zIQYntUQE)qR-{$+%f4lz2MxiS_{q_X@aiaQZzPgHOIasq%tWxmRa;VNgzyGM;!;>z z%2{u=JQ8pmG>xFB_Dx+(X;n5`?TVV(b8*>4hCR<+RCi;%3==q~TyUx5+CSq;=}!LK$*~HsXv|u5fSh- zWhCtN(6!yuJbO_6I%4!X(()V5MKc7U`og01*f6~&!nkT@*w|{Pz4`tJxiE&Ry@@?m zKVB2%wF^x5P0k{XPP3rZme;N!C~iNPjgFmW&1ww>nv%IMEqbakZhd_*M*W}m3|ENi zvf-t|&y_t*5qF&}!tG%KAx2&fvyIOb?47*&bNTorL z5u~~9>o)4M#u4~@cruBpAvPF)IP;#D%21&*(7eXQTP<_y0dwi|s`AIEdt&zeb(Zz7 z%iqI#R53i$8_fimq$2~&CQ9T2FT*T|%>{yPxPC$_lJKtO$*!a#qLeFSLuu>{Ow&NP z8Lmn8(S`M8mq7MQ-+CiOXYEy+#a|{N`87=PjR+`|UP_3A)>Is%t?##Pz49cTGw|;$ z=GfIYgz58xE)_F3SKO5F>{>|>ZBV`6Pbb`z(Q7r6R4?T9fZ0hM$qfBHCH0g zwh7y@E)YJ34&5jv2E(5wYC98~23s;@Z(JE&Jp~af26F?O&kPcSpV*Sc2>|MLF-dQr zm}1Lwh{|$2IjXll3_RV@4o}3tt;M74xdM<^w3ZsFQk{TT zvi#KWjsi3^;n|R%y2I-e#`(FTv9R}5^GH<9E5nd<9BF}H&K|rzO>yC0eA=xdfHQMR z`paQQBjM&a+8>Dv;(!%g%D;QZ>`nkmWz@c(@U^|rt*lT`R;oh`!frM!1d3a4rtbu3 z@acK!R+3heqE~b`Q??9C=0=@$8OIntR%_vK&--P7kCv9~Wo<0Xc)al201TeO*1!8U zG>Q0)PapcwaJU01&|oyY70cg-V?wuoPvE-O^0zr&Z=A_wkx&uOn&gCYXqlisMwvL1qC zt(-!_^P}^Iw{{>dolo_)y(5^i4RQ&h^K$+Bz}D`4rw)P->bim9r}fkcD~q!5K3eF5 z_V8UoN>F-@d#MKmXAr{w>3YHP`>X~=poSAF>(Fr{|n3a-*qUZqBSp=SZx0|<>+n78E{rqg>h5f67b zhTTXE3<_wRQOD>N#fBz2O(hv|hV)<$}_#LahG1+I2@N&?eDcXq< z{1+$=l0b$AQ51fIpVLEbO-#eSVxmkjU) zh-<_r5IR=Xe5>_RDFxq;4|Hn3r9`ScAVjG2eMQRE;b2CmjKmyUu|q;Hw~&5eh`Fl! zcT%TR+rAt1qvo6g8thA|Vx9|`4)g3vFhk2M^yf!G*H9%iiS+1KoKBs;h2~n&AR#Mr z%-S|+X*hDoU5A-9-4k$8i9CbHAP46Uj<2Jc5>M03wOncXW@rgN#7mosQ!;;BNf3w* zT(2Tp+9F|oKNKJ!8jUz@xShOmMqYTD<`{FBLfsfc27BGlGK{z_LqdJ+3babwJ`FH= zF@>7dB~99v)S<9L&o|2w?SB3E)(hZVZANNN7wl#fM3|t$SnmvkUJ@q`0Kn&p;?g*T ze9M9wHHm-@SRA_Xw2G+W43gGmLpNQuD_h>muhdtGE(fq(5Me} zhH@P#C{$#!W7Xqa;fP%~FiT$GWKFXR)D4SZA>3;hTiuA?M2?6Fqfrm2J)TA-k*ierxBC8UB<|{_`U5$kHT^bdn$-M`z{o{7c26 zC=Y4j+51Cn>`UD*qM&l)^0|XoNE$6Yo$%$)2YEsIi7YVa0|PUU=5622<=hp%{X6(H z(U?VQLW=iLXhC3^?)k`>XZiVuQ)CW%c(e>7qbVV8%BT(uv@S>r2Act2>rOHnt`L&s z&Ks*-=8|fPOJa?+=XN0*!)aMbNXl=tGm=mo&P=S-b7?l&0UQ@9-IS^?v-{6a_SnC&KzB(J-^TC8zvvz9;@4>$-O8yb;*vC+4HIKwlA z3u`pA=$5Ph$-v4dMlk?q)lMVN4j?I9eWP>A#XM)?Y++bzba)F5u`;qjv#dpe%Y_Pp zvtWHqIU2K%gr;eoXrDcUJH)Yy;X5Sd_5AQrqsn}a8dQR`T)ZUD4jNKyBsh%nX|*4H zaZH3I)zlg3>2O!+j$yW&N|Uq{ulIn#(+OBoV3mVkRa@Y0>0ah07i-VrQ{^OLh?jt2 z;~;6hXP-q5fA-_UYmq2|bXuV;G-K<>a;>&0u06&j-yoU(3&DSwiPRA=?U_B=AA5Dy zarE92p*l7Lh})KNA4%v;+81-rn=h@L9fi)FwZZUWBqrS%1vgSqT zVI9j-+|a@tR{9S_VDD9&%@l|<_O)oc!2r21hEJ~bc3;2$coer0dZ1d7)6(VLNBC%y zl`!`{X7`0}oBB5~76=;DE3kDHCobVt{o5Bw!@?J6zdkBJA>mU&I`i76*crQA=Irg^ zTV%?$nqFjLNXzS5?X0~LUOKu>8vh=cP2dlIXn>mt8-FJd@EGg;tk;IOwRQAbHh2OmT=ZQ7EG8N9p4okAVA z%Aul}i><1QUHLagu-j=+(ywNjGg{PmxDm?#y8JKA*va7vhUPMeXOU_nHOtLZCyx8d z@`sbPi;?+Hc;Tb)-LowmL72YfzmQV@`=Qy%9*f=d&(SJ7DGP3 zgJTpJpFihque%kV=>W}ytPpQ3f?ltGmF2X_P5-m#JD?PppQr;splBp%xEM3kj~@{e zWqSiz2#gb>mlh);et&)crvs$q`zsy%mF945fkH%SQ6THxUn_AU6NAm6;&JP(;W z*$w2h(~n(j9m;)zJ4}fQ?Cu#|pg)J+v?2e9ExSoA5Or%TZTYQWTu@prFPc57%4kO? z&ppcTzH}dHwj+M(=fzqr-w&Vj9q>Bd)2>*OX2ePV-2a+Bv=S6|K$Jk3_zSX)P|&>? z!q$ws$Dt&Kpz<&#kfpRr`!MbLnNPDAnfUl z=ywh=c>`v;PDg4j5$L~agDL#610(jC`}53log4{c2%2&+h$+sDTtRVa>*6N~CmG8M zAcqE>hca^LZ3jNs)~5{4QSQVURCuvwJR+vqZb4S&JM_Tiv^)QL2m~ij63dR((ACBq zI01s}Pg4$hxm?#x@!oi`eozdk{Q0+JmGy@o%nhvH(`Wmpr5yuPUaRu%vpWG-f8l5L zz%dXQ;~#h}R0$^WIL34{X0`T{wNl7NH!=|&eDZN7=thi2RwqoP8Op`2vc-^H>0gsj z5S7u_R={H7k~kWuv}ZDNJu&r;wX)Djqk_&CXNXtu33FF6t%}SU32-|1(;{>*OG{;8 zQxbX94~W%OJ<$R`;U{(1Q%)O(Oiy;tu4H2dAVR~J0^djf!8>zX%VOF0PY9Mv7vm8cNX^!%7R@>00~j%tU7H6iv@2d!XT>Kic|A?pAfvSM zitMoyxZgM`^e$Is4bvoE;>OY>V|^|WQF{Ph3~Neyox-~Z~?x7 z*CHhTL{$2o%F!V8cw}>-l%6B>FzKESClgj3!OK`1D_FI@GYx8?l{jG z0K5XnT4_+Vxq^zS)8@?9^N>$f5In4bt4-Q>x{7%E8#+pO77V@5h4w0jQa|zj>LyY{ zuJq}}4R~A<&O_lA{~t+b!4_rPb>X4ArE6$Jy1P>v1sOVrmX47QiHB|mN$KuJT5{+v zLAp~)K)&JqegboFT=(8qURyMiA7uSPVf66qQm0}`{(O@T5t_dNfyUR zLt5fMr|Od7;shBmmE3e$fWgx=KB;M!=B{;U3T0c4_U}~BV{K#)G!)mrpYm62-I*ze zOiOZblUn}GUOzm?GP3&XwwVZbr}7H!HTVqdQw!z`IjJpROq;S#c8ROs7cn)|4s@gm zbwU2l_;umm2rL4b!7Z@lR8aNU+ey&Tgg3Z}%h2NZGyRB_kJX?a%KCV?I{x>f^G21^ zK_)G3Rr2WNA4|-rYgghVF~d5Squq16rq%|iJ?0_6=oDS{FB5SDAL*@Trbe_sqle}~ zad;+wsCQ_JS^(s=29fcw18f`uU2!^+i0kI1k%=VV;ZMsBX|Vwi*%Y(XQtCCDG!o-( z*voF`?}bjOEQ2?+wXDQlqvpFwHU_7ThU z5ss(lbx6EYT#F789~-jhgOLN;|6NlUQVSRWev;jV<&KbjP>M89Kdii=u`g3eKV1@Q zIP$&8DjYbfud60U|1x_Qmuj$+dFgrc#gwIC>?^5>Fa*9OinqZfaBm&e5y&nQ?S0SA zt3<^7^4$G$M@M8%iR`-{|L-6^?O$6E2HEnipPxlgjcZ+t z*ST)-k-ZfEB7A8qnaSaq(z%H=3xgt6-Q82+IcgxfxD~|);~Syvl3B?P|DK;wvddlB zbuu84_3G*&8LH-UXxmlJY;xpI=B0D`RMYP|3X3$d85wJQXVxQ$M0fr7d*vZX22)EE zXbDvd16wQ2D#1OoMl?ErFLb0y6ia_KI1=S+eN1`G(YYlNv)kyo@E)s3K#4Oq7DkcU z%72B4c>{`+232IUW@DTHGO}AoIN-3S9tfev4~a15)fXOPAF-uYYb*8a@q~E}5TzuT z_NieEs`4rhPKBbNOg#U6C=PgRx7+;e*Zbc`bYffOKN5I+!Dyfa4urDBY;tZRya~=b z`@jtYA=`MnUb4M7o+JPtgx3fSqcCG73-_+Ngq@48@3`|@q8ut=c%)q-{0{)b0`h8} zuuSj!ibC_kM@P-KYO=+**6`) zBz%@4<RdsL4&P= z`l{-R@B4rscEIoR^l{h1s$6*QQjVSnou3AGUPp(lAXcUf?7ljXPW!Ef!C>x4E-XaZJD1Wy4wcg*#CjME6MS2@NjV z+)Rt4zByOe^(JraG6!cH-tCebV#(vHWH+7aC_2kWY75hMvE$El!%WN)m)_6XwrW%_ zBf8NR7SNX!WK$Srb>aa+kUn@&Y%xa33*$!tzTvjKPccfO4G@ZD?XX@_$$HF2zh>oPe*@(pxO3jJ3K$C-lTYL2Fha+ z_MdW#FuDD$JR<4HsTKw|3XuVt*0_BsKr4NxWU-nkioo)~x#0Q$-1` zAlIBEVhA`Gx3}e64BE~rIZ^n~;m#Fftq4Q>=S@yJ5%6aXo()(Vd0ivE{-Hp8!P>#GqaBAza-b(=uA7!WW4F@16j zlGVGC6CP~)pId-JKxA$6L>gFJ>*R^woleC*MikmrBa7m+8>l~QB|WUv`x^s*C|w8R zB)9yYY>xH*3}Lrwwu*4Fv{%Sj#A7J(i5qGSo~O1;^e?uDS#h{82Ir zle?7^nco2PX7-E@rzkC;6hxq;a*Kit8@6s{sCM9rWeP$MtWgZC@HhRZ=HE5SW77P) zOZ^z33vnV}VVI1#l?4t1-N&Bjdfr)lTZzUip#x|E&dbw0A1L7sI7waeN%6J8!_y>x zIZuQou_j^{JNE>}@1{V7;4E?YS(~a=G_Ibk@VB@EsabAjtQaaHS*1CLMa5Mh82QtB ze(daDlfZJy%3QQCAi7W$7Re$OAXq}O>LbW^W)o_5-1&uG?8kD_T;-u%5Kd5-V8^Y$ zziFB+qq97hr5Huu3gxyif;5s^e|LjXlz;+$d?TFTbB$GJ>PY<% z0v-n|<__{rjlBeiAC(IN7OC>Bjh%PHYN?P= z&cqwghA}NPpWwl59%x%hNawmA#BYk#v1Cu z`IGoq86p{l89;ovJe z4C_*nJN^92Vh3tACh5=iUAXT~cw|}>9uWAP)}=A}%=L1`g$D(~F*WOb8zawsw3mMu zy93-_`!hYxK8chs+U+*BGivH4I4yyU%eE%LHAL zs5>6ZaX;Lr47NN0+^0)y_g*e?J6Wr2LSsvKzQ#8cd}C=6ih2X7ntAeY(EM1Y$^bEA0 zoMPqcJbv-Z$j3<@qODTF2&*5;86S*OKtO3NS+hRZT6sFWXZG9+?pYphnASp?{SKM3 z*WnGgEmWh+4njjBpgVP3|EG^P#*s@@@jYv|JYg$H&!R037&jS!l*`lnAqyBcyYD)P}xzglOq)Wn;!SwO-0!XZbXX|c6mJD%ZZOr)X0Agd+ zId$~=1>Stl2%^2H1Bo@vS4ezc?j1aT>j{i0{Dbt|&S@9SD!*o5j5FQ$S_hO2XHD4x zm`K!B!o%*&@qCwdUMFX>4ZDO{rqcImwA42OO!)cKCpk37h4}@s)X5wGr{FV@#3Iyr z&JQdX)z-VQ!t9W&(drTrvFKZ&O~t*(K+rA3~)Bkh?xHm|-(5YK?&Xae?M5KD-Tgz^Tw z`jRWIdfS+Fa_PM$rnR8vV{yzsl`SOn9*eqFr1#KVRuf`QyI59v5}ZUMQj>*^E0E|1 zc2R~C@yTFpOxVj+pm;=5gIGAD^f$t8u@6JY%*d2hwADso7tO{{_gJq1v`^9Qf4BY$W zwt#n11N>KGb=~W#6k^b*0e7-5^4O<7$!1?SciLqlKSx%9)llqb>q;#Izd5Lfwx?pG zIMkyIdV=E2dIFxdX=z8%?8o5K@hm)Ru|o$xKkoeZu39)j$(;NO{;_qAeDeu%AV({T zdH>=2We=L9%hd;|n-6mP;R<2bulAX5YyZ>Jg$$r6R;bdz7QFA-U(K9X`qmsb?Z`u7 zm}JBzFej|uGu4_lY=d$Hj;Mx=y5LvI`z$*kvO{u1lp6V|^Ns2_zMAi>*U{L4qIr02 zQS-_lL~32e8f3ur3ps5s#gNt`yzoL5=o>Zo`M=(#g@5Mpz3z%;>e&v>fv0U5aRRI(m_Y&>sgO1ctE1{YI#rs&|?jK^Uspe zp%Vm#?j)v_f@Mdn>`*89sd2{PFMk{(tls{&Ow`5s<-~kv&>jH;0y2iL45!I1k~$hqqUJ!2b3_XFE`s6?nB^*fSAeJod}5tz7+UZ zmFt!+oX##I-e-UzO+(|YkUWRnRFM5;QlqHOTv{&28R}x@Mrx3(SNjEpy`qA;JFP>0 zhV&<<;qsSncfCkRMiObp!u5};XY&O*X?4!H4dL;R&J>%W|19t_vxNk~#E$OSHXJ_b zyXbF!I0rtiM({?Aws6;MA_u(O1-|SYY6kw@JgL!nRqK;^=>slF1221;zXx%>##flR zAS0?82?#WL!V%;R@F@TxG&`gr1M!>q+p$OF+Ipqs4bgkT#)ggEY5Q0P(8mLUm&F+r zvE(Aj3vBf(`QqL9OH5J)C z5*rfCt0p;hp3(zSPyJFBzWXz~{VY^{B(3Ox68Rwr$e?jPGG-NK(*BnSGRCpq&PZKl0<*H!IX~!Lq{b z1SJh5!fEOt5RA)4SnVl`VWjFO`S70)XMT&R7gU;QZvf2L<9TLONO0!#eHL4 z+F>PyZT)Iw-jF^NRWQzS_{EjWF5SQY=KeHS+#J0@&%|WB;^0r?a#XvFZs|awHJ-$b zz^bx>5jKgq!u3vW3!dAgl_pqVy!Aw}zBXwVd1rAPgbtOq(Pg7~&x!t~40Dnb4+s@) zZEoD@^=?8Ze^|Gzp+a#(yWjjlsFPG~`64zkQzBZZz?h-h9(@8lo!ZcTRH`n#0Zn|#zWe^cu?7gNThMJ5M7 z(FcmM!gLYoZ+@{Y${GuyHQn%MYO6BB!&OZM3Qkx@Un&67<2@Ou;xSD~C~7}mt#a}{ zZ0K|~suW5XF_kOQN2p6zcb^rPmz>?|8|8!2XG+s@G6(;2zMX8mD&o9W8N2s8bubls zII)ouldmE%H(+Uhu228rIE4iF5;CL*oVw{0CQQpvwn27co&C0V;MG}oJ8&ZAO|4h@ z+XLB1{5z18wIa(G1m8?s4x4^`Fmf|@UI?y;6asfuun?=IqRf>LcHDsazUq~(w1zqf z@^XR~r|Kh}r@EIr(MMxz5|TUfjxR`BG1|vs{u5`*1h-5J z!$Mz+o6qZ_!<^7&A$sOu8;o9T5{4cmK$taU2evE~vWAt2Y(+6w>^A#&DHXxzQe-k* zH`GrMXF|O%*%*=#{Hv~&E=~tVZ-Pkuw9pYriw)ZyZssfRS|y*0oL9H9>PtWaT~-Uv z=dVT$v(gznI^Jvs9@e`2-^fHnY8)@omOJp+ql>BnM zGo#97Yyd_sJA^x>0)1w#ZL&QV@_D6SwgaEykxYBG;WotI*r2pz#SyH(E~bm-X&n~n zh_WuY*N-w25;ggnC#*_fjCQ#s!%2ckpk(rO#0G}&5=n|9_UeKvX3Z~^=Ts}$%615T z^hq1&Pb!q)FP7gqe;iiWBHfDOq8pxYV2pYiDwZrGm!Xt{_qq7zQ{ufhX0Za}D+K%v z{C4xwA40&@EDME&ser%~o0!u}C(g+wHsIEMA&mn8r@FhcKqZK=@zjbCfPVC{~xXg9v7rX_~p!>k?-8+%9qW&-1e!j)wq;nfe~>5Y;H z%?bPwh+5GO1cQyq$yksj3>X&CH7cb_KV$oC@b3oV4+Ci#lwZ6SMr|yE((!tSN~afz z@+rhdWj!c=BVvdmk9eEr?hFU5AOtI(E*r+yqik^rWce6);6Gd zvV;9+XBnDT-YoAmq)$3h5QKa;?5XpGU-9qI4Z`2@593Ky!SJij4(}M`97MqKNYvpL zV7Vx(W9MKt@=qjmD3W6z6mfm<74~1AJkFJg^pNpsPMxka@}YSU`ZbL>J32|DT>$Ig z5fF?eHpazB?n(fC*nHGwEEZg44YVuE9i_zft18nRv6zk+r<+S+X*Rx;w=MmRxB!=@@EIeC|W??_YL4 zbh_eXysU3$UmdQY40Fk1x0WF*u`|+(ArHV@|9mf{97LYJLI`5v;fp%0t#jTytG~xz z@H7U?f65<-Y|1g7tqmUHZ7+Xrg}Dw_qCc4cLWu(ZMB@^2Wsz^J7tT;|znVRMrP1Ic3 zhQulYuP;Wc{?>n`SQ{|@@9?U|4EYuZPxX$qZSw@2H8gxW$CGsqliH;~zISQg^}TRs zdc0j584hgzqRB0r$DnGyh$CCbWe#OHR;tZML3aCb|JI1bcedJhCCtvZkh-i}dv(@( znYy=HeKl7=l|<6lGTDY~5n-8qP1tLa42ynB^5OoMl-HWZMmg){0)Su$?ToC{$CIj9 zrI_zpy6)G*gg4DDt?hI7TiE=?ANR$dpebuUv?lqYN(4L_hEd18%Bt!ryt}ufS->#% zXR^0s{Gu{31ZaF_1MnUTzCX>TDCpWF+V6y?Ms=X5Z#zOV`)1v2Ziy%_#hpS!w0`JHyJf$1_LpI=uGqFbHVqa7cp5maGWF8{_r3}3O{r4$Z~%AF!Z~S}3w6nF2)@j|c7i{f5CIt=tll`Iy_CX* zO#MVI>WERDNV#$uzs>6zW-{7f1Ql9Q^|*cgJnq0T^e;Q)lRkre8+b0#%=2jQ4htwB zLuB>yXwB28isA#CD)8VwIPtaI6g=hKFiKCYbZb5i?d^Gp{T#H0>kH)xFC;7(iek?D5J$#OzYCxL@!jlg9U1vLYGCa4|j52tuiLsGN-)$T?wfr0Iy(|I0BAAv`?i z&0XrGLhWEnbNFOTPx{{%_jwQp{7k=V=vrltx5Sg=kd6A?e~&NsP#W$a`lyRuuSD-?)XXNO@{Oe)Fmt=hvsFQBpc(tuYDSkhT99TSkTKy~1i%L(bqG zD$m@%iZ?obB^3;;y!a#2-C_g{6UtAB>d2y?Rpi5HcBmRVl0m%i!?Q$6-dY!;#44u8 zbHvL9E$YzAI-I{L+evUBNN+RwWuYNlFRMZHPJT&;bwn6WqfZ0hw@mE4rfrb$CZgfB zX36zDgUB>kVssuN5H)IN$b^qeSBARM-W%Ll^7x#u;IEl7nd10R^@QDuWs$z~CXRLo zS9m|WD!<2VBT|V%o5~o=`g$eb;7=ZHcw#sWTpC&-F>5WhAdRJLX}UBh_#EamEo4Ls zbzX`E#8i&){PrJOys6thc6Fdyt3sd$t|V-N^@=j7v4ep)be^i zvq5hXa4U{Kf5N`8ZtTD6iXsf^D%P&FgoQ?~zOoF9OuF+d-J~1$_|IG1WD0o}*s6w= zUB_!n#R;4G6;LD$sJW8NST}6=zn+)i%yN8ojsERDW7EL&nc^#jdYo_E7#VAWMuCkX zcBP$@@v*z5jbeqP`Fa*Ng=8hhgy=2ppi=DGFq({27~lK?q&mKR&_PiCsPQwSb3{+L zh8N)RX)*A5k@R2Zs|)*T6HUtJs#xfU9k)@*;hK{876FTdrtg&J@T+-k)-t^U^WHfc z9q1DK6vo%*O2z=#feaf_<9U9rC@Sft$i04W(pP;4427LiVM7XDZR9 z_hvQ3oP@a!{_!@0LEe?iug7LXzAi%q`6qbA=2+cp>hCOgn#Wu=k}x>$Q&$A1u|b?d z2*&bTg-}x^O_Y@GPy5yzE8g_Y!n(oL|Mko}MmkD>_VWVnGI*Vve#6jzE@j0Lh%;yC z)^MnD8RW9$^;{=JxVj{8M(`*f{aD6>BAB<(QjdAi`=SnvFUqIYpfl_7Zas-H(4nQm ztAS_w;~v-*m8#VtAOM}ug)a&ncTQ9!etxLYSmpw3bM(fvfo=h(-fP?23-a@w3D4{4 z)$e=5AiZq%1q!JVw-tew;ToZ1efuCQX>bKN`zobG+`2Um&;LLU>8+vaW_Si^0M>yDdNYcjnTUvD$KvmLAKVeS2P>si{sjp~COUrlY~Y}__XTdbr{jDj7p80m z4J1QidDOx-)pqWof{6_DK5?RZ`*)^tN%j2E2OvV|IRl(?-9v)+AI?YuvT`a?UsAf- zBTPUj4WSM%PYw}}gJs2yo&imC2P4PYn<_SeQHJE?_WD@@p+q;PyX*(p_P1XWPH#af zFN^{qa+75+vg$Tzv3P#H2#g%-y5aGCbQ~)zru*fwTMBYwNh=0GiAHCFLlOI>#Nk}W z>p;O?^m=YKe3^%n_J@Y4R4%{YSS;QhtLw~~zALkt=PFmfI2%N`+e+Tq`Q~gBV^21W zU%zcoodu1t|1c)_(*fYzuLChyhUKg=XaG4RAY4qTY47#wwE|nz7!;t8>tW++G)GD<$u!kt6Epoc z{Uu{%vPCuB4z*$;0$C1`fWm-{v|tjtpueg}o4YF>PlpH#f;-ptSN1jhf@gg)nN%d`&+jQKQb1 zeTfM}Kl&To`qrh3h&QsIxQ21nzT-zgJS=$&Z-C;Z8vTv%cbDtkpy4O98TVf*|KaOCFcw;!llG9+5*{Ro7* z-X*w|MGjC5+b^x6#nn;9^9)zv2-2<9fRG{4XrJnPnnBt1Oh1AwfzImZxvj3F`sL>Y z<7>A#*I!VvI~4awY9X8$VOBXyXf|Jh)XTLLt*DZl;;RBd2}ccB9=-b8B~(mZ~?@yWZeRv9!B8fvv!DwJ@VV5{L|p%LvJOJ z$Bf#~foT<{F@5PuRiLw4?R}Mf6wJ8Thwn?U?5{Rqr$25Mr z|Mj}Q%9+ss5sf9P#6zpOtTeoUTg)j0NLSp{d>*Lej`pN{=~%zHe!v zGua&C$xlv(9hL0;(o@3I5E*St^ld68O!iel-^`Du=)< z-;=3o(mQvU+-<6>-`m=Z7Kk|?qo^C~hAV-Rxah_HYvg6XW_LN;j#qxOHcB&6sWe$> zOf#m7h;-a_MiHhZ>|1A3w?8AOJaeHQBNGx)sovh2K-^1#>}ZQ|_X?+R1uC6O5A3`& z6WS$$VSRY{+C%ix+VIDbGh%rFJudb=qoI)Xin)U5tc$62)xBUWv9B7i58cD7Muq@U z3$AbDk>Ofp4e(g|O#SofG|a-~z^BWuz!aQIgX&H;wwqeL)qp$GvOM#=jCwEb=Sn06 z3NhSIFC?wN>H*H+G@lDd-h9fEKYw#JUaw3?)6&`3_r1KGuZ{5}KD3DKJd| zS~c914G4^LuNbhM$5ryCPiOF$X@!^NFuz8M(h(JbI^P|ZzybEuMF^0~~w+ZHA5eZ)I<6nH#hQKB) zKPONN@hlPugHN9DjrZ37C{n|FrA3!0j#Tv8um-1iWeA2wLsQWmn}u&!@Uob0w_aU3 zy@?^%PI^3)^awe2cRCO;gEc(Si23O&zzBQvd#$pJ@S5vU-$~)^7^0?oUh@wj!S3v; zKBqJJzkm0O&a8O*L!a&H4@ZG7;~t&e6|;g z`kRGnkrexoDgA+|n_o`Og7*e>WBlfxx@kUp^4o(98*5V;SvT0KFhMZJT%H*j^p)aA zs$9P($6M!#PvGnmQJRd2$Y`Bh(8(eJPfc%@?3ZN^fU?+ z432UcfUriev>(Wdn=Be}7Y+pPh9zbfX&T9Uf)5%9d~r+J*Dv|po~<6oW8QO(zPP}% zdXMAoT3awVE11lG3=@!E_n0PkIWTT`&@P626=TACPND*03cRK)Ha>!Kp2WPQ9ytn) z)Y91F_auP`*uVOpY;JW!P$|r;-dqBvwz|q5D^Is!hyzPZ?Y*I{aP>uCU1;?O^OCog zpnUpz!t2uh{|+9TDC_#~8+(E+(6yI;cjriJ)|Or?#R~gxvK{vJ`Frqe5@NI-=pB!t zMXoC-Sr}=p_L@|lJ#oYb2RO0JhpsI zyoiPo zIf-XBaQfN1W8_uzk@NRf^o~`tVV19OQ1l;HLl*)1{QCF|^SO|mfOiWJJr5lE^!mHj z2>-X7FJn_*O&!HzY&izZ6}NxnZUAx%y9^*e>1_G2WcN*yScB+v7!jxeKp*&KMRKw(AlcL6nx%w5MFT?fsm#xlz zbo#B}WMw^M%bp)L_O^&_DzL-n{YNheN{esS*_OV0P#X=n*UDS%RVRc7Z-gSR8?XAF zeZhR7U))fYz4gW`kehDG63bGW*H%}GuSBPsJ%8*vr}Svx5OVXGTY%e>InlnKP~4SgVRT zbn|}YM2M)oTvY^G=xS8?&YG+W%S0W0qXv#v^~cRH^M$;zKz7+mQssnZ`QI+fiJ-DJ zprr%_UH9gnnUEsa;!5ISRQGnjiwL#YN4kld#uO22UtLRRjEKJ2$RlP8ghWlaIq#$NZPi;)0%id0ZvA7tB< z7h@ktE=}&}F+AR#-km;_dEN^j`BPxa{jitosWqg*(yXjVFmX2>@>wB z&zl6>R8CI%w8`ck=2lXCfWgG(3iZzyp?7t<|3t93dGKr#_r(PHnu(eTKq6Mj3toj@ z%fkPJy^MyOQ&=o4rI8b9P!G5@vZ7Nb&A5|G>%CzIyyw4@svfzeb=@F7b2KZlChPbCO3J71whZbc!e?PD^Va~@N#?m zF&~d-no#=(M`R`jU2bO?$R_usGU`A>V zx{k3U5BZt&4cT3<(^t*?OG$ZS$Y|Jv*-9qO{lQ1qnj-E~nhh{P4^jSN)1aB|YNL3tdA z>3}s#V3ON;)e@rbd(&jOmbrrwK8err9`jFfP4Z9Lo!0E=8z_RqHbfK+-Y&@=vWCP) z`ELnWO}+Q^Ni~yK9bVb=t%J74W6EDpcwM~$vtnB=*U<6JL4)F_g2rSN32NMC;jG*B z*_E7+bj^E~a2ME&+2orq3{e=$Cj|&uJMqOWHjNpsTi#SGDFSFn@23oU7^mHzV*g{| z-pNPW96m3kV(=r;pa=@th?x00M)zO|V5PmSjmXYW#lAZ7aMK4bgxn=(^NGiJD5EeZ z3ENT1L^yGb4NLs&RE442Pa0V+74iHwKx{>g+?rxRG#}_aA)b|L7*nT^0il|c$X!YM z&{l%>7IKr++QT1calLVfe}(q%*>nULjZtK!`MOSmO_dW2Yxwv$pQteE<`j-tAZ%znek`yRdW#TgLLPgp0EqKX?B;RohF#lZOGqAbY6?DfoM zkd1AUjE&$H@9np&4{7Nie|I4;h~Gh+$1}@%hGonK=*g*}`3!bUGQ#!rwG~$#50r-g z!8X77UB!xYQ6kVUwE}q}5D?^ls%?L*tRT|$0)2#z_EdZ@`>zEL=j9_IXx3)ObvFE& zxl3xco5QKDdh(42eH)Dq4Pl(8ZaY-;93k7%h}c(m4f?C(zFUPqvj#(&%ua)a7f<%Q z<)|!l@Q0WmOMC9o0>0qjowp+%>y-=|A^bHm{x|{1oTw1o7^onr4O^fM8t$m#DybJDSe|ialLT5KOD8g%R_Fh za_?SZEJpO5eX}@?aou|;73LG0vrW>73a`|xJDpF(4BvCzffcP97%os)>JnB8ZCyDcSuXZ=66^0P1sFe{U2waO+QIIM&8ZsuY3mZ*zH5ef>goh@`;r0|T}z?Zr3ib1 zzg_N~Gq;V)juO@*n1eU{XriYCRaG3^+qzh>;J_>r5T$mrq+ z1xbWe^|6-^!N-}zbtfA55!5VvlERbNKxIS;oG|5!-jhM(@#|}ehASh@b*thqKNU9t zCKqQ?!if_KWurM8VqtP51~OV+ta}q)oT=R95!D>l!CF+Uz3GjH#tZ&;Ar6REW@}}# zL7`(O>U-09I2@9b@D}T5M0#8-Dt)3cfJH0sl49B(ia@)EE8n6r3QeA@&$mRc5FO2g5}?WUPVRfwJZhM97>8s*@X<<4W)9 zty~9Kbw_+he=#Pk&UftYW8cUV?S7l&VsFSenIPduH|d$;lK8)2f zR-l0cp93MXtGFWugF5W>a;*_?^C{5t3f^XR3$Bqk22EzZZUFuX@P)d!8liR1v4;x^ z#&R2+&dfULGRR5XpDb>mPl7>{2p{f+H*gVwt>6i#37IUDY!}EAVW+dmL_m#oCx$#w z^a7E{FMfL>JReTWPxQr~MRhVv1Uv4mJlalX9W8iJq7 zUNZKl--#xuGz5JXkO8xT7Hbm5=%*()W7xP*7I=vcxrIt=VH7k(Kxht%UHZ5+{$q$} zjR;JW`Pk3VV7xZQ5#fg&HtHCqmhP$ML~O4Zkr!G+$-$Gf?fp$5u`pRVO{b7%gfRJU z*Gdv!aJ#jQ)Cq&sfHq@!7W1Uv9v@4*@7gwV_rtet5y<1}h9u<7Jy%TR<>|V`K=finee(2a|4qp^zPx!vs^4mxoeUOn*Xg_DtF^_XD8L;UV2A%YpOCrbjFZM%99o(BWF3Rvb)nC!tg~nZw$LGw z-)F2>21M$IqF<|pW4QI>2%X^JC!#KkFJp7Q|Cjy;$egOM6vfuTPG2oUoL)93khHS0 zvzip!P&L>iin~}RGQ8hW*Z3f^VBW0$jsOXcv;t~|ytik6Sl3_%CD8$xv{ILmmbcu} z+9qL{dV?W0Y10)an@O8`Zaf(VnPnvy23AqpS828fjHW7x*~A_PMWn_g#E7DBjDNew zA#e9=1W_E4BU({i9BEdd2XE_5m9sznJNiiqzF&=U9FzJ?wJE#!*NFIQLU(j%2$p8# z;dh2ekf!S_8?!Vndw8z?<5!2LZ}49^IFdkW3W#7+go%C4s+`*f_ILVMN;3zLrwC9xW96#iR}g7)>Ob;PgKFynZzz($laE zedvu>Y>wCA%&u8>O+JInF8uPafjg+N?r`8agLaxkhpyc~<@QqCaCTgEQXE?Cni;38 zGF6cF=tF%aHdpx{W6~f0oCpfDkrEx14~9LHlA-w7rEY;WMU&>at4@SbZ%SNQFQ~)` z)c@=IYB=RW8ndwZ(sRg`v{nrkLb+1b4la0axha7;ihfxq6P-lDbmCf6sxR zQs2+xTowpP{$RIsBNXoG#Y%8gQIu#End6~XK8L{oH-TyNR)X@P*R%D|1-DXENO73% zjd#Gx3ZJU%46Ek}o3=wbr}5v1rfA+8z8~*IH8}wo6eR>dzHdkEl~|!>$>>QIVs$r&dV~HXCn1VG{6* z>_R`-&5`Z4^hnq$BcL16ZO-TaJ~JAA@#C0#^VoZ?KF-ckk53r4!&}cY_i-3+y6CtP zKEh$i!!SuUcajN|R|1ms7TjSvy%0&?1&N-AXd-8@1)*&7z!_=QxD~sb29a(}oCjFE z@Hwk$`BZY(*Qqy$y67p2y2pF9t$bzkiAx;YyX!jJ*{d4!fKlmZ`Cj&M!?PFRhZ63I z1Q{LFV0DJvLGwM&1(F;Nx_9*5$*xTtY}bVDEWwss`H!4tJ1jpPXwW#>EPc~<>iHCHxxA@zBdTK9jEg3VmIs~hz$_L z9g^#3!&KyWxVeH;fpUais6UegWjcN%lkBLTX@(8#F+OukCxX6N5{)?}Ti&GyD8!kj z*(`+!Ounu8Ru`sZK~%p0eIF1B@u9a;vCdDN88}C48U;nXVil9$)pTAJ#$wBrxxov3 zG)ergcNGD`W%N9uttFfW( z?%FzXeyknJ07)Ve%n=i$@z3Ir@e=zGck2 zzR9h2w!=T7UwJJ307^$qyl3JiRhGw}7J6lRZg^LH-JJdkMq2ZsGl{~P)tu9y$!8=)Fn@$@>J zFv*SX;%xT-Mc|t^D{L=;Y^*ZxwDz>J57@_Q)h@ZiQqyFXI07zuFBlts|oKeceiEh zbQ}RWA&ahmpdT_-#Rp@*Y{d_92wN77j^wAHj*G{K=jgF6I=;_k)W3dOCs z6nA%C+^x7nad)Rs+@ZL;yXy_#{R<~Kb7r2|do42fnL8@_+K*dLYJ{=5RA8d(1fs`Kv<|{87}+t6j^H@3(MYt7085FR{nRRxcrE5zg#2WsBN*Tfz<9Bk00kTL zP$fD(W(DtJ>wWEP>3Jbz`fN!iN#00a<2hq_m-S3$8UDU||Mxa~Y;>n_QR4O{Q#Vi4 zxigG9J*I5L1HZ0-bte#B;Z7I~l#OHhGICcF+1=1{j!{L7DR$qNxpiSYtgKgtt$q3O z8EgxaD?{US+Y!cOO&=Dz=0L$Q{LzM|q$)3y)9nUMu%XuKIBs#Qx8@>EtTz~Wt(BgekJNh1I9@q5Yl)YusG^SI^=KOM0_rxNdL233{HLG1O56_sup-z&+3%1t zmZQD9&zEU}yofgfH9<1~w2`kHe%!aS-$UpT!tw^h+7=t{O@#@IoQ(Ab+)vy)e+aU& zNhhy%I;ssRU?O$N?j3dutKHKGDtmg+^iB8$API?PhyB|QI2I~QANzohIoTZP%zY)53FyhaB( zc>GDgGlma^l??gbq13bEiD!Ild~%M987{`S*6^}D`)0tyo$dQw(RrK+t`1#e?JfnP zkd?=H{3zQxU$St`Pc;2v$8Ov@;+?VD!b1Z<2Fry(`G01XC(RNvuDESTTEZGF;~Ni4 z{s=y1Gt796<*9ID4{ucvVM?!~)q*o)wZ$q+76dA-xc1P`rSR&j>`dl6SD?Ew*LYyf{6*cyG}jSL9p z2)0%C{p{bf&L6YVfih6M>6mj7Iby>fCin)u0WJO#V?QjFoL~$5pJtkH>G0c$(&SMz z%aP@xdN+AE9NE5G7};)M1b@FT{>rtq59KxG@YrXrUIVT-Ge6~z<5cW1xrUQkln(Q0 zG>pD*5aphH&j=CwMO<=ZBzU%v+j||$Hgehrbixn}>T1LJy}Hg?OWNwRk;A90+j>)H zeW>tH-kKaOAY$f)@Ic+=yr{@J_1K!;lsID?81H^*Kc*HE6e_V&Pf<`1qfYu2Y}KE zmsyzq>}zXI9Alqmd|BW~yzsPsAWobdb&R@JgBmsb+)&HaE>Q-Gh5;!labk0ILqQU~ z!b#43^gfec;f~iKy^^*$nwyW?R#o!T4s5Rg?Cz1 zSCjQX`^U13q6dMCRz^eItY1t%f7uMajgKikJ>Qzd6NP35jU`#@1$4&r;Jc$YR7n62 zBu3P7I(*8F(eBE&etgScYONdT`2!i7@3M!)UNd=T?o7xkn;yToGku+n;#%W27G3zS zl+xj76>^!Hu>xsW5OyPY(bU#jy3&p?Be!qT7(Htx*I1--1~=xeI0e@N$LF%(gK}DIgIg^%yFUFsC0)uH2E)aH8}-TI284{;VcGL|2|&_nu?>5I9i?2V*P!lui|j~x8=85nWS7iv|~8())PjJx)?{LXOFh? z(p(CjUm=e8gr&(PZg{Ee)V7qsTa`iP~g^0Cg2Vse%vTDuT%XK;|W6+rhMqST+S9*e}jeQ4V%*)boSu~+8w9WK=d(=&+>dyIgIlRL(*bN7J z6Cj_`@{Ok~Xe?#WMd+9r+k;cg)zrnhvMg@f$FhcJ-=MI)tcPyNFpyi%f(8A|H|vXapdxFlgQe zWt^yW*c9Lr-5b`Q+OK}yU_D(ib5o`{iq)+7OM~^hFv4DTOYD1$WrC{_e%K)=g5Uh5 zb7OK;CpP$x@+WNgPr=d#N{hYq;ZlU}O(nI+)P_XxTaZyC8@=Ilu>6*H zf=2D9n{+K8LJDrtyJdMWq;1UkFTGioE8L}rSJr6u}VfqL~v4r1l%2)n*d8 zYU}##3IB8&vXQ4Beo7G!G3{4h|J_FIqMx4pw?eUCEcKYG?tRcNC&6DAwOn z7ozl{pU3FRKUF&J`-g6S^3Zsci=AR*B|O2hrAxug5G7`$SB?Xa7FTJy{#Y39JIec! zWLH%`t0Wc01Ch|RN&E;fDkV#hqtf25=2Y4+7M02{Ta;kM8_{WJ%p1-^nKDt|Z@mL^ zz19=Y9XQ<)cIOEFVAYH9zHc2egseQR4I{$Q@w}E=F!PU@{c&^C_5u$ze4hP6$HEHU zjT`01Jrm$hTOah8Sj4F>1KmE9&9ah_kZ~3I^~1Wwjsn$yKmk#^>yH;LWIfZe-@Dv+zxwN0sh3f+lnZgFof6vvZd!F) zEw|9Rm98>QSOW9~z`O@$E2FB-dY>I=t&`Lp@Tn#8szlNI=SJj#gWJBq_Z8!?h8K8! zV4*xG5&&DC#=hfh*p9zj z7cI>+a^P7JV>Ykuh&L3a=7$(xG-Kon4gK>g#VbbS*nGYF*n(U-cMFsgH?QD7kIao; z-e7*z;ZX1bt)lX+Jq&VX+gU3x$UH14(Ww`Vv6T$*G;Z+yJ5yc@!Rz5fsirVWzc1cq zhC9+1G`0x7Z#nX0%@3-vN*WeI8g6&9KJ%@8!FyKKU1t?We3^0{Y$`Xx;M*v0_gh)a z%xS2u#rlK?q%W3FGyz*(%!zs3)nyY=J%{)lgir}yVhFOh&*l?1%$~o#>1+X!nkD!(Z*`~= zj+rv76=n>LKO)X1C_X!8g>T!wP4)~nGaMC`@|KDU#3u$5Zmv={f0=g#1VoS!mvye|Lt zu3I(MFp@8Cz&v@zpX~UjqV|0Ogj0@&MK9S7$P6Jb#;|L|`l2GsCUI z=~*(K9{R8OS&zCeb)v$i?E3FlIt=0okX$>`TJLkkbrnB`m#y_*NDJ4~?^mFeM4)b^ ziJssF-95?OF)%7nqr6iVn@v@l#y;qfC6-1_LkCLw1XxDK;Pca-xd;v2=C=NQ#c z_x6{$ct>_P7=T!8W`M6j5q0Ol$FQ<8so)Asa0Jec+<9;&;p^;F!}r$Z0p%J=W@1s{)wHmUl`tt!jzSYGS-kb}}JSHo0?M@wxtwL5rOP|MTJmaV^CfB$1~` zd>JZfHF`KAx{RGNnjbD=a^P?Ni5!c;G1J?ZE!=LwJ*$u+u)%~Arpu9m#$E`aQgY6) zj#Q;wCjsGxcbK)cw}xPP-{NUubn6=>(CSV>5xOARlHwt?A~D8LrJAp^Y}wYkf>6FX z_Xu_9F~c^$r$iEl$O#04k1SP?@PmjcOZ~IOH3HQ|7eq5`M)gf!<_$6Mr6|4uhH^Hc zQ&DJs-%1(60 zpYVh7*)0vCBf?Nk+v8AZsGJGF38)p&oLr4N4WzaX=EV9GF1_Whoz9$ke4;!F37)kW zYdC#u)=<69Ke&RGJNQ|bk!Hw9r++>%W$;5N4tS@e?K0%dz)&%m7Dl26iazOh$tiDQ z8pStwfY8p5ZnDg96Mv9i`fy-Kp|B40ag-%S3>n{;aBVEzQ z8kmCO+F7?2?m(q$2*rS)*OH$)X0haV7H`2bhD8&RG3+J`>4}O7SEMd&Z}FdoiD{O6 zIDc5&U)IzL>FRC2K-?~jk3LoeURgWA3zP;7m4t+vyPM_8a2op1C35b1$xfW%;}um2 zNPo!C+ZXD4uOZW2{lV~uiT6iA#Z}Bi<#L&<_m}<81u3)td9UAluM3&CR6Z*vn{i?W z(V61byV3EhtTwlYJR17|ne1c$z;Bhw;ulgvhSDp3+X3+-I2}sEJs_JJT)bLF}9)5P}&AY`&GP7LN}7l z`m>M==dejTR`B5vO2PN+(}xuM$DaiGS%bgj5cxB*iPDXPCww9kM#{ea4HiXL-+Px$ zgBaJUD5nh8B!7*aBvEh^Va$C#hG|P{+4rrF8}iXdrTzO*dHz(1aaVhs>pFMI6-$Ufi23e!ZTdkLT8+<$OIR8r0 z7iNt2Pv}8$hr-;It}P?FHk>8g0qqK{NO)*h5@3+Ww|G(@1O(fc#83PUSf zy+6N>4$J5PL9&cUJ46<}O^&T<*c{3zYB3a~BS#-20 zr=GHoy4g846~3_w&EGb6IaHoEgC&WS!rx$y{Z9q8*a@zIukJ({5~jv>oAhU|Jv?9F zMz6g7I>O7QpS*(lmZcvA2{oU`0&)GLm%g;STyLCX+p5A+w3h!EO*D{KNQZxf){sm^ z3w(zLkUsbkEe%Ir%GL9QJPUsf%?HmAo*y~Z-#xN+X4g>Wd{r~;<=@;!=XZ_9^}Rvs zg!h>#y5BairhMtxzPCSl5U3nQ)ItQ=dv(Xy&%_sWqr{CD%A^cIw~#{zjP*YQs5Hc4 zRT>GWA@UcHF5#gRt#T4UG{0jX6@^KpIPG>F1hU-kpFY~~ z!lS90055lkER!W5n`ffjqgYy$+;`GHFKHNNM>2Y|fb4=C5E9ZGV01J8H7xs@zZ zoLXA8bg7?hxrSYPEy|z&Ih6Aw*GWt*X+**KT;W-yc>2xZA8NMHw4S_a){kY+`{(`x zfU*Wm>8>&~KQEB-hpfgHVw&PSWqit_;VNgNc=F)+IwK?T=b@{=IAbi~9 zl=3tL+xc2jPDBwak8%&r{v+hS!!HcfvZokJG-(igz!V z9)Z}3stybwq4~{X5;^vZL4bp5G()I`wM$ImQ3sPfT_s;+x99$H23liM=s*4u!U8CR z(@O#3ej0{u3?Zhk>b;bfQm}NR!3(Ys?!+69>&R1Qxwgyu<%PaWSE|F<=2%w3pqo~> zy-7`#exK6x-|KPpsK&-M!Q{Ku!jam!Ug7MxLL5_tJOTu;Ml0gO#-la1NdV5_EF!-- zA2@zdQ#qHIb-8D{X4Djfd2vsV#a2BHg*hv2`n5Rbg(Pc!ZzGGf)jIgUDf^Q`$b8gR zuty2@;atE}GWKL`)ABIm)UfT+dP+RPFLIRScwu8TrI~ZAdur|9`&5wvwf46Nj=ue6 zG;%hZ=y17f;24GBi-XtnXNv}8L8+5kGiFD6jDU`?Dj80(0MHXAj2-3mk9iG~xdT>V z2j1p#v1CH#Si=pPc$Atb6Ff-UQ<4ft$F2tg zl5H4lfuDBLx~dKlu(~Q$?(?Gz#97-XGZR!J4(KRc28vy{erf* z_vP71yVJlWaQK(}s6>)f{Dl7Yb%tesV`Z|Xaj=N2aEYIWtFdq_iUGSgDB!l=)v_43 zr}`Fa-aI76*;w=>O=+@@)P_-XXxiTBah>qTHb7@E`(-Fw4ni?(JMCagu-<#fd@awl zd8(G^2>CiO(qtsNev%j0pJJlYW^Tn)OTu^bzJfSMLU9wKf+&B-@L)h8o=)BVWw~1+{d&S1LndqU> zVD<~gs)wv$Sp$8^RkLNs;{{kP80==X6C5jYANbh8coZV0d+YeSVZpe0j=e-e)9mx7 zH_ZkcjBjQFBs&O5{MCBEEQB-4M~f>m_tmScRB?KoK1OH|d_@UGDv{@^zWow>fJZ|{ zi7ECY{kF>7P*VgH|FSL`SH3fLsrgS^JmpQ+w zK7s!9b~7@d=d^ah47dBpvcd@5W#-gUKL7b-|GNK`%YEK+jjiQu$&&irX~sui7cF-N zP#L|Ml3UI;-pN9+4{5kv?!4W1z4xR1R`vctX(;N8Yf+r~=}z11orUuN`@YGOe{qxJ z&Rr3Ir{Z{hw>DBuz^=?u2-X=!lL&HDayBEHVfkjb=6S4%wR{Y=#t1Dk>UlCG%B(V`(b_uAm*U2&DV} zpp|zQCw%U7R+&E>r{%~&c5DWO8lL^Y&meMy9#5rU09*S!=84mqD(akr)|{|>l1yMo zP#hG#R}mhzSECTH>-xQYzA?Q)o<`=c90HaBmv?LtL$K?fZCJ_4(-_2ikZJnu_he+Kv@+$ax7vAMQAHu3hnIiX=0`U5u5M zy`87~VUSex%CMvQ%=VB|e6tk>3G^phO*nV~Q*A@-A^2!RcMDEn2Z_HAJ0<)8bDb~F`oA6^f?9~UATzT?lp zrolbtGBQC$Nm@3}xj2+5;m|Pz%i|A&_2jAP3`5e3P37TM1QRiF(aRLo1LQQukFF2% zJgdMxq;}5B#(}qL+b4PPM`dR&ZHMg(S0DTIur+66yD2$)R@B_6QP7c!`3?nLC+&VT z)^;SL5xpgE6YWW~u0+%*wyaMWs+7~JZ_31=9P}K$8KcX81qr5ta%{=EZHX#Z-DvxS z1NL=^teKZiys=Jmtog+*X?B_F%ym~46u1TuPAnZbPBRZN<)>s#ll3CE3+hmM;kJsf z)(Fd$C&Ntf{FKQp7{&v?EucZbT6epzHVa4wSa0Af%P#nCy*H|K9L^G9&QABZ9*Tp+{oNAk3EX80;#9}8Ix9sj9w9j~fu%arsZ%kdyj5f6&fbrAIU_uiZ`Wj|IR~rS_P?a9ct`_8do}X~l)?_`Qh33bL0v z|84$Tb~!5&HI0>~^5rwN=S+uXskjlzCrOXZ#_f6;cOUPa{?^5$?Y+d2=TcYP9l&cs zzY%-NX4y76_qBLJ8!G-f9hJf*Od%o1NOtr{MNsA-z2N-zDc)CfwOKm$wm4$Ef{+^C zAH-c#ZgKLnt?6RW9erh5({#-_Z69w&m&8~2+TvbPvny330A)PPgx-Z&Iyza?8fFi9 z>HiI=$}$emsVO=_oxJh8ii-Ip6(jx{vW_ zV{eoy;gkGjM85g2b1>^*NC+60H^fwFqRYH79=jxKRu^^NL+0dtykhQB6gvV`2!@Gv z>%yVBT#;1}t=^C&@k(DZOrju6fZLX5~K{ zOU9gnvWUdEwI6(IMQUp$>JV#QIU3h)YZ5T_loP}1`f(>lN+8=r8O!M#Jf)v{9Rq9K zApCqO!&WCw3Lc+evw}6)DixbXyC+y}aZpLuHT}(pjnttc2JyNl%`|FxwNMp%0H2fZ z8(1XWJ-aWmqsDo3VR8rXJm_7bS1n5NEDI*{AF=r3D)Up3lfyHa2RimbE1o*W3fT6E z@w?9^j*o$<%^%f~FNk#N%4t2Oxs_2U>RhQ3`INYFMcsXzg}o37;QNcR;Q0qXQhGwy zw5WZl_a=NWe;NWhu!H`<9{WSj9`-dI}_^GlB|6aFIbkCmbBPBm{JO87L z*&$*)k8-910#3*k9rcE!f&Ehs-e3ElzyD$b%Gm-*_1k?Mj&-V>KJ)-PM}@3ReWR2y!jOWH&0W5)o8x;5!>-7 zo5(V0i#&uWS$`~V8FN9{x%YA3`!e=C>Nd#~Yi5{?jtq3`A-ki#-f2nO=(t02?2?0c zHkD-@JN6;TJ%?)1U%(SWmzdQ)M7NXXi6$pWZ%SRZ6n12K&?$>OG=9_~)s9+-r)B_D zKxF0chtMEZa9i;8_dA4$L{@z;Q+y!n2|!AH#olkfO+G%g|0*kZoHexiTP-SZfknA#nsITH{NHxn?K|Ux>{UH&=e!L|nvYZQv}YC5 zh$=9*>|#^(rg+ign0}2_jY%Mq*J<(cIisV98~RT9D}Amn{rH}lj|=RlhYwS>+ch5>3$YkYOYT)|5pE@M8QzhoQ^mF_EHF2=e2~CsBL;s~O)GxNZ;bReRPtp|1JH^ck6Um1U3!^C^1Qo#E zq2{XU{ND9k(K_;7v1`54_cp7uv#hl1Df!+z`8wm8Z~rA4*iyVc62y{RM(@y(xGG6V zyu9C1hY^qj11V}a0IvsQyP7`bPaK)^uqLpXFWS0&1G8<~A?69Ug=8fWQW z5cvMNVALP}6&cZXF#!VmzCke*5(mg+rTf$$78GzpF&U5FLxmn7P-x8lj$`&L@JHY? z#l7Txd)Ou*HkGiFkSB%|$L?>gKW5p}`@WDRzcCVFdaLdSSd6}OBj5y89}@O>HhD?F(%2Rw$F)))k*C-FM-nU$;md@etKeqDcmbvi8k<$~f+`-8if zhA+=4fBva-9zFkw7wIMPb}S$~bd`wkcSe2f3G?ixdeiK2J*O zE9Pdw0AW8eI}&3YzpHGWOzOBpQh8WIlGxeCsdhG}vcie@2HL_r!t0H1`{`|~=} zTQY`LKc^A`@@vaRV*Quj84fZ(lIj3{eWtkWrhFO-Xv@ph{$pQh%4|nIi|?Z&s?Y3O7j4_nmpWOr`o7JF)~!8a8?tsCgBVH4dudM1}+3_e=5u8YG-Gej8)5 z+W3KLybU5}e-=x)*yUHmf8%|FOnd77-5(9}ryaZ6Rm2fil`nV8IJl`PhdVi$j`@L9 zdbxuoM;hD59!Tivc<&aBA_kc)SNufzeaSBi6jCj}2KdcZRp@ z#!0rY+rX`H)RA(j+8>hpwL&QL?F3$WRr8u9y&_Bh9I6>8l46ZbersZu^fY%>U~nah z>`Am}Fo9mkx@mhw_gAer?w-cwB%J6TITpc%oBGlWCdaMX_E}gC5BAkO^|D&40V!`$ z26sKhY9$Vi%y2kM7rS2`fba0Qh0~=mn?3&>`!=>+;;P(CpiFAM^Q`qa&1LUlx$AW~ zYyEdfdk|w0P7NCQV}XM3jzKJJSEd#Az;INw1D4l@qg9pBs~JVZ&J)>`Zh6uu5wRef zZ6J;?!m?YxXihd*Of`P$HRU5uCIfK;_{RG@^pZ3>Rg~Ago_nr4Jz}Y2O03X~Ez;>- zhHnY06I&Lyr8YrG;f{xV>yHYpSHpCYKT#cDi;YHoqF33rNXxFHw{74sg9H1UbP!E+ z;NRG5F;Uum64d&g%$*e@Qx?@08VyYp@Zm5~@y)2gFcX&TOZYqzp$xwwba<2$W%VqO zn#F!eL`L5AU8=(GTaG?QCDqOlK zy}6YI-u}>A5a*|otOTVcRQ^4@;6smcfwjtin6C+nUt7MNtvapfcVMJ?K|a@sAF_rR zOaRu<7MWROLDH3gxlo-txkaJ%*(?{2y4d1l@AVj2$SZTb+~SS!9kkWbs3RVo&ul~a zB6$pd?E_*@D#G@mS2T8R0PCPRP<#@?{PqFJ% zv6J0%D>(W5B33RbyWB#kL4sGqfoqN}I)xvEE;`Ubp86AS5-SYvI+};&D*MMX*h!nK zRi#?l`yWl)XI<&T@SX&ZJEzXiA!AI;w5g(%OxkpHZ;PLz#;tDXk6%-aqBY4rH^OLD za=gMkP7XUId;H*Yp+r}cPiUC6m*{Wdi~e||{CpPlL5@LHw0!bMXIy(MYfdbFY6;!LR8TMTf))`M@BE}_iz>Bu zm-oH=x#xuE^tQ)}QeO5IB#pqP>og^PXpN(n(#Y7Dc#0VbmJv-2_ApDNh@Yr|KYh-u zizHZ$6l*+jy>pdonnfETzm!lDs5a6vVY)NwRG&?U0s?4ss?gYcl6mj~K8q0ohz~IJ z(>D>~CG=3od@i)*4k-D!fo2lR{imm7NL2(wk`j z;qEvrgfotAnO07W=$~HGyUk7F^ROwq5!jsuv&-v()_si}L!|9M3_tIyGv7hn>oXC? znZzp!-8FSf=ylN}JNi1-$MRh`q_u zXMh^}m$At;8j3*H(u+@4em3u{eNgGFcew}I>|XO@{SZ$1tQStg>f45NQuR2!r?_D8dys#pGn3cCF0 zP&Ca2&i38Qy7yUyY7C66h<_6bRNw!4Q@j@ug5#vM-Jx)eWFUMVPmP&V1GG*%q z;>g!h?RZKOcJWJfqiZjKKaz)?8nDK;}91p~wh6P(llMy^d=F2?T@oijvRW9mm9> z>w?j!4TXv;f^oMJr^NrTOq02zZ||h7=oaLISF7)KX~uq=Azl9^1cDLpIiN@Mq#L(Tq6Z)E*VzLInsTX-y5QBhD}+6W5S#|RghEc{kNX8+BfxHd&0lRR0Meh zJePeKGwPjJNn7_A3f#Gc_a9zd?PRPTst?}JLX)RSLaOe@eT%<|UbKbOoRy?e0|tof zUBD-J7r*G`Cm|kQQfLLe47HMp@%}{IxG+(vDyNv)6+~*n3-Q4*{cNFTyOudFQg8!H zNJsOXHRn-*GN({LJ)VLPG$Yn7AU_@t&0oX`@#$~x*ZuI=di0)yZa_pKbd4H+kxD=N z=>jYnRCWgxsk}dS!Cy_bXa8)!A(H|KrwpDu8lSe!4~_69PK9+%5{6=SqJ12@FaYXE zJW_9jgV2&34~={Cc5c!m6CGm!8J(PJEamAMIZSDq7OQ%yb%qiF=tqS|K>6bqz!By1 zC=ZAUgMk*R#&(7wy8y}hY!OGh2w556wh7kf;YfCf4c-nCTPHSbETH%0X$MEEq;^nt zA1&-Xcf{X$0|K3%*oW|Ng2;lz%Xa1YX0z}Uc%fb(02H;CG`)%-7OU$!&a>|X zv*qMK63MXmQnS-E<<1Q0_TZCAj1Az0K0rcz>vO;a5)fL6WrN!5Eu>e#3eF?3R_3o3 z8{_bD#w_1d0cv#(u4l}*BGLB}I7j|LUZR2Qzs7eU!V;UB zbFCJ}d8sPPxnK_0mFp0}m(81ENr6&u^(kEB1~Isbu&^cO1r_Qu?zX9b1{7$f(VZAN z`hA<*h;Z*P(fzoic!1+(Y~$!I>)OeoG8+LFbs2Ib*Lb0q#Y?LGya5D24M3SiIrh|m zn3+G(XZ==c+MP#l3q9~dxRDYgoLOX9kz?6?!uz53dvj06q8QIRd@9dP_wq#BVwH_b z_JfL3fXkxj2ZBT(83$Zq+JC+7wCKYT9fKRi zqs*!4|nnA#B0@x0WM>yNo z!y^XP2<0 z`X(bo7HT17II_q+Nv+yjwVDl{koNq2_6~w z4&*y&Jdm9${A32{86Lh|PmrW~M(nD`s~H+!w_8-z5OzN~!EB@chVSvecg(8+)j|GT zOPzG{Xs0JL`~oY-WdGERRMiey$pbw5G|81E_7t*U(JWiHJ5pA$X68l^v@1Hek}zWf z-#@J^?0xTGdZeDWJ{IZ{gd7GwEB)>-Pe_@=k7|>)C!}7j#tEu^TP!D@YqZRtHP@l{ zhw;j(;892^6t_Qf4!%~vKI`GfU$lJ-@d*&E==}9e_Q$3~mOM@pZh#KXZ`es4#_J0x zudah(;xjnNPlv98XY*dTY36WnwAL+H+6E8!v+iL_E5^kc&)*RCiV^-W?`sWK!-VJA zuej;-u>+rQ&Gr0d+v=z)h`OQhnXuphy0%iYH&hVv@byJ&{Fg0`xx=A&zWr7xj({}g z-|nWbPa);vkGF#_KOoX-%*q^ya?>rOzP4ltqxz8YEhRZGyFmuHt`Qmh79jNl=25(^JX`7YHG-TSZ$xmC)lE~k-7ej%XNtYuU9JR6ImkzyVeQEfLvgP z939CBcM%T`oY7CQ=wqXkD@(SgG3V>oS=PGuX1GUx_DCZt**Bgn43=dImsxZ5fg6u^ zRWspN4kBTMIrfHQ7)6_w-Q-{skf|_0sJe0&Z)$G_FPc!n{ZJfLsIP;d$~M05QYZv? z!|v#YtLOv=P}Dy}3UYH*0t6M=}RgUlD2|i2o%M9^z z)-;XV#;`siytwtk#TM)-j##{3!eS963lKK3bkGLFk=&wF;Zq@qfk7FN_2M(h!ael3 zG-LD*e=s?$*a3Y28F~ew*`fFn;xILtYlV!8PsbS%A(rtPS;8@RUt6t~`Y zf&5MqIDI^BmhgTFSdn^aZsCe6VKA;4&JVB4zKPYk?AMc<&+iwXb-nv1Y&u&G);^5w zk+U!9tHwiVg+T5}Tt9roWGns9ZTiKr0U95Q@<<)DwR|+6xnJEu3O;O|p$jIxjTr}G znH>2hEj?cVJsd^_#4Za4u+`QiHz~Dcad__ZFeDC!x=~XH1xc4DDdEGG%)}Js?5`?Q z%-9<&0mfxKvfG9vw}kqkx*RZJ*AC4x5}*A-GXW{SbL{+lW6fZ@#?VR8{(&^pE~L`G z9BF~k?w&(FCPI;=bwy*8an`A8ga6e~)eY4~);bOg;MA4k`-8A@nh3qVRV|((WR4S? zs|5Qmq+u|lDyyCDX(*JB!!Cf61aLZg8~?>UQ)k7ER<)abRX1r(l!YO^;)&k)-T0R~ zihSR#y=jE0tDO#)cepF!BT*_N}Bjt5Fre0>QgbZiMosu4(1#kz1suqO4( zVm5tm^p@pw!GdA=)%SqGgB3?>Qvry%w^Vkib*D|~y`RQZFMt$;CjCU_Zz9l3<}#&^ zY-ji|ig4!E5iqKgUXl!1qm`I(Rs#Ea#v`UW4<`Gke@XG<@&Kv+x*y(Woi}BLEy9no zq2dBD2n$&q{+UNqR|5TMH7O^9I`k!!VMvDu4X}FPi5jH0e9aqO441$A=SXa$ti!eD zV^uaRoVg_~^WQlrI@OuZ9y)N?H4bLZ$YA$@L|`;(fG`mvwmS-3-k~3% z&jA&YYn$Z73{8TWlGBE_LWqDVQQvW-M28N6-)FJN)8IG^+e$QOl^1PmzR5w+0IzWm2#EJJ>YtMy@ z2`iQl7t%RT1p&~iAB?Ivph*#m4!kb;j-_+xCxSws`FKr}1NvGYk_-t31-ljRNO@b< zUdtqDJPqE5-{a5YQcMh~f;J2(Z;4d*dg6I+-02o+Ly2NOCZjlwpZs7ZH1RR^wY$eg zTRa?3eQ2KBJj;-GDy;UCs2}1WV|biksG@4c3rQot5XV5F5h);=#J|OrZH2@Hwgne5 z$i+rkvd=pNygD`KDK7ToA^_(`l~fY8I6lJrU@Ul2iqW!8l{Wt9jW2EhlK8a_1es;n zOL%Ojuk+iZijaRG>NM>PoS?;+$Ftv8_NOBtAk4Vd`(nk(mIBgzvu3?IBB!MeUjQJ3 ziqAqHx8Dld2VFSwJWNSF%$58;0MCjSxg9c2N7YBwAv2ww9H3`$CSMOR3dZ<6k4Sqg z7Rf+P>j-1CPa+(-Fv2hKOB+bK<(38{n}-hOnnFetzNSY#3pw9ti2u9wGMGr@Pee3G zXjfgP>{Urn847`R=}kQ7`)(p&?3T`(aw7HbK@{4ynBDl#QGWjczV8@2yo$pwN>$+j zD%+HtlApy@hF;nB`0e}_jiL}hct6Na`R$xWS`+`WV9Q0maH~GOUA3V3Z5SX*bf8M| z&`>Z_;88w3UlSxpY#%RR?Y2|340aK*=AS4%sYuHDJ>b^W1}`Z%)|CZW*c z1oKF?TF?-`Zl9Awi}lf<25T~9JQ^U1Y~Dgj7)&424&&Ph!kmirPXF67Pt z{{x_0u|^g<{(FS9w-;sle=njR=m|v=I)z*3kBLPPg@3^#`BsYq1-^sGR_h-!IRt17 zn1({O(hAFMcl;2d7&voJYKWD4?NHku*C1brXI<|u1}-JsY)JflxwX<3GWUh%q4?Gx zPif$`gvw-#)5rfaR88(6>2jqa0}?f~o`-Yf&W0!m=v+`C#-0J!S3EwCZmIPud)0xQ zA268wFBB*Lx*Lh`C$78wW_Tn*5JkksVTn#tYRlPj$Sc0iYO*<`5>zA`e)I6J6Dn9Z zC=4zQwp)V*yY$7*^0@p7ZMa!2A88j0tl7P8w&{*{dsk{#N4Dc3-&tjD`@?SFvqyF$!QrAwNnQM#nNJKyE^{sWxD%-NawJkNDscdw5Vdw=?M zsu}?|oy&Az(r;un2#V3AK%d8gEyQz*VXwRHCzw%f5KZ735sqlPgTVXi5xDQcwS#-- zY4sf(wGP0JG5}jJfTqS^wzjW@k3yYUSx86?5Kq2%>dG^#O{>kLnQ?j0CQd$ur3#wBqA)Dr1hyA;(F2D-12-Vjg zh?e2s$?y*rhOmOqOa3|j0i%Zhisu#+&Y|52M)kueK5&^u|8EbR#!T+s;lqRX0{XpP zn&De!fJF1>l4SNsD%+E6qt(KXNGE$YfY_ue>O8tzN-qj@ln>xO$nVu3UdNOnr|afz zHJ|_0NP*TPWMwpyjV}YfHo^&uWHq3LhpeCtFk$4IJmG?WIH(&4KEm-$vAeAOspmHX zg|#|o_B3e^ibI(G5_2WQaPlodwadnWDC?(3gQ(h~1x;6ELOcff4&3HM*S_7v20<)F z{FG^F6yZv|2E0Wr7lsTma+ZD}E{+`f)QV^LtMFrAHY2j1`TE0#+3a^kBVqSXFln2% zoAz5hT1EhcrHh&vEQeJ5rd9Rt!r6geii8`50YWtv8RwBcUrQx`N2$T{-e2(OVnJMc z*dhQ#S`Uu&{2-WvZ1|PBJy2WDMMUS z0IWR4&P4F*}+Jr>4o=b7)$8QKZUkDT?Ln4AAx12q&)_oOq=H{n~BNr^ZKLF{z5rjoz z8&}U3<`8OlkMaByrY{&R2)jT#BN=z*rak(#^$aw|@utpCAnEzf3a+p8wAXnnBJvQO zDvFDiyxvC{V3*dYBqY>BNM=@W;mtBT@9?p>cb5t%jJ?yG<7^p%jW~}qZwHB)|3>uS zG@6>XSb;g~oTC{sB2bNh8-j&qM*=(2OVJ(MgFZ(YZ&dtir@EA(Ahv)`u{U=ijl{H zWA*oce-shaV+uIDT_kLp^G1O_fa&>y+Bqc)0h$(?J!T&CnF|j|dGMAN6)@>yDXNAr zU7BGetf5hkuS);@l}yu?MDE2PHeBSMTkQP#=il;}t^@Kb#8{kA=${mUQL^zMWbYJI zu@pqj6{FcK8X@!IJ^i2IuHm5)4T>AaRl_cb_Z}D8cJap|427TUHW%#9#qRwAtTCHW zz?KJ-EjVqleLOya)_%^WEg(#f*&L?6+TNd;xB%0rUHt{#>zPR7eIcQX&oykwRFOn> z-N{jaFI?1SP2nQ+qE+QX)@BxqcDlncKShXzhAJ(7=C?)WW;Fh>aTrvLlq1`n-ygy> zf=7u8bKs1f0L&Q_KuWUE4 zh)x+vZ?Xb=M}sx#M-z^x*PV=Sj{lWP$CXgR-nZLYX+A^J1wxRva*MjGRbwdW+TB1A zB6GawmVQRqbykV8?aYQQqpImtsZoGM zn9T<9+P<9$oo1Y`Un4M`cdQbcoA1jY(T6XLyB6*HNuu4vC_9TXM7NlA{fo=9Gdo=H z>oj9XL<2TV6Pwcu$|Ykp=a5K~AIHFp2dCji>lf|y2%?xbeWKEM15oT{Kk-5b z=tAw2uW{kgDBv9SJl%xE@5Ohca=%t({Mj7Op^Ctfz=b{?L^oRcUf(gzdmiWwj-R^4 z_8)c12gX2fogQIj0fw!p4d`3(%)VGXH1eAy!*AOodWz4tP%8a4yrVn|c6oLKubVAw znyzj}fr=G8?VlgHT3biSY3lKazZMt|mrm z&yKL;gv^1vE9cnGOzo5>azzmHVawnJ5`5X6PNiy#3XXyJ_5jgjn=>&mt|Vp;>gh}^ zlU+)BU|_(SmL4duo1r?(eM|~F5hTHohHLTK=ZFO><#@^V^oq(<-`rume$<~*I4S}u z*Do-hB!H}Q%*D|p>N6(BXm0^-af&);@}kUMv|h!=I$eGCtDq1^Yx2v4TIpSY9LgEM zkL^%3{*?Mw&0dD(RvvTqZ(I0KxrPc7rr?id&sw@cSK5<9d63E~tS3H&PssE*%dox! z7Pt4 z_I2WdK+(-x&XqLHj{39bte*At76)gvt|ci}VBl@sk1{J3^2pM+dGjv+nqlEDcNfve z+cK~znMRW{-T{E3k!FmjS4Pt8&oWx44|mLT#m6wuc{?1Djgl;%{>$k3L^CsY7*!-Y%6++?9!rJ`u#XH1d(0!< zwaL7v9_bW5aUH<4UL1||**sl!V!OCVxihj1nk*G4iKk?EVM7~9zgpEzu-ezPVt5TT z{K#pLPrMtdoU@LYOJbLPgqp2!ngrXQSQD?)o>Afc6SHYJd8$ZlRL2RcfugPfCZgvZ z7bU)6PHO4_dX09~-Wnf@T+oq4AKG_C+23}bOvnuDO0)*^_3v$yXmOW7S*sY?k=kL6 zBiFSh4e&m&J77okTdDWs{ab(D73}0&tH~LSzmPYYTR^4a^&8*E%wl_}<-bv$QLnoN z+SSN8dA>7dmQ@3$7h|Jq~W{fu%=)R%%5eNwmYDb3{IX9cd}={PIbqU^R%xThXPoP%=Q6?8ZyDleJ9;d& zM>L*%myLu=gH>1FHQ&uye6{m|w^Dy(yonXDy)a4Lh9qn5JbUEj$juo5FW-`b7py9i z4Tt_o?I7+VP%)Vgox(v6o`-622ZgKVd}4I`8ZhpfUzgidy%Q(sqzj_Kpx*Z!`Y-CJg?ZkgkUbhTZ3$%!r(fcx3CjES zhY4hLZ;Rt87VFA{umK$9xf0Mlj>$XO6n3Ria4+Fq2F212Rn?m=`lNl~9Obp~Mmp@N zLR;omlMyfF?*{e z8H~~tODoOw?!A4tu#d=sXy=m=Vmuvp{p^nS+&217Fr_y8a}HS9OOXVrmBIpHbAN0YO}EC!`2%x^QADpRmlE}+AUN!>Oa=} zBQ@f|8&ww8uUf&l9q`jaQ3IP#iqn1`-0WS=hgDb5w$qb?$5^q4z1k%fPFflW4=k(c z+E=?RF^UC(RlJ0|kAo$or{$vFkJ%4F=gd5*$x)(5Q;R9C_ZdmRRzN3*V&+SHHY_?+ z8WD_U&w-RbiYNH%A)M3e6AC;oR174W-aB&D17#z>?*1;$NH);r0=^hGpzr1X_S;zB z){~ebzV>zdoZ){`Dx~t<%ofGm7{RJg%5WsJgHn@t%X!18z=(ji_@&l<_WAG7@Gs9C z=LukL&$`A*t_&43O2w%14>~`*)%5fA$BtNSc~+Xcplq&7NmG4Q8lhLqT+k?6Bo)vQ z8t+N_vKnwlaJL&MpUz@$NzoM(SJ3@8)k z=5Ev#Pxr6?9U{cA&ePoM>XGKbzWNJ|sO$J5>w@HxX=8+b70i~rYu%4sl-QGz2B*t} z2V|KUSbq(x8}J)%IO9Tb2^?G}RE=yL3NTjOZRF$k=pGu@E5Ej4kHk}S6R60gy05B*L4J(_9nSB4+gUSBL<0~cqq zA)27I7&70ZTC7(S6{JVN)3kO_q+@X4aCZT2roh#tR0IaFF9QL!W*VWVL?fD%CN(cWW z(xjkuE7>hj<3Q0=qs`sUdWii2AdGP{?#$O^MS#s`+POv;{Wq}#A=b>VP5(4j$t*^_ z7>I5(y&u97L@nBU`_j@{(XACEIZ*qFb}a!fdV`7&%39@`x%}r#`+hf?LL!R@eiqf8Om5@7!%$2ui?2R!Pn@5VUd?U?_D%~b$S;ls z*g#62$%bV}8^36~O%7Rq9|3U8LkJrzqQ##!iI$ld&uX3gnvabqbV4FSdRT`LA z|4AWkLAHw@n*3GfZ2#1=>yZ_4mIOeJgBcmwm}AeUQ9B#}mkPIU$(^tHCIAXS!lQ{L z)7sw+UY5J*e+#G;t>wU4R~x>&O$qj$P_z3?{W$16`H!WFQQe8g?rY+p_{+IJX^NMw z9^&A}Pd7zGF$&YoKi7o_)Zy%>UUO~JH_W8@b}a`o;s?q-IJtvvUHvxp;1K6oB37`h zIEZJw5ruy@4pcT!ej2+?8G=hvYZWdn!>kfb!S}_m*1`Wj>p|(Ci$N`3Q+J`&O zuFx(SxX&4rhg^r$LQ0&Ed8;kvki^*3eJWL}5{!TihUOC*v}2;3B06vAm?4fd98Izj z&}>w;YC+*~@hGO$`fyDALHqYONQgBVC8jr`}90?Q2PFCj!8mClZ}T|94Ngn(KNn>IXulR!U2fpGMJjPSH1^ z+f=Vd*5XSkr*GnUf1YS(p0+4PqSVqW{?N|0)f&6Bg;wqJyx^+KhW+nn858 z#`oQfWu&`+68&x_e>Gek5HeU%JK7?Sf5skQ$IrjmeFE~wo1(eTwodFEnz8>rvCA>l! zC@8?KckpguV?8~{XkS|2zeaFi6{`@?clVWo=2Zm#g%z#A7)+d-=f_nT99Z<0XIXH4 z9wizsAc$90q~oX1BuOTTP0~~!UdQfmT;hIyvy=={Y}sCk)|yLiHLIEE>6EKwrj%|g zhvjhp+OO#lsqPRTw+TYd9wg@Crit|e!DwS^_0JA@C5UmM0^STkeybOJalOfMvi!+m ziRV_1!)|e5jmF_f)}lA0fvC+?vLVmm$s2dbO>H zp|&1f^+`pJoquG#!-?!PE{c8QZWmnhX}?ilV-2aE{^&&-eZQE-qO_#9YMEhoB0iQr ziH|_~jeuRtT2#qnBy22&eFK7{6S@Md4@-`b;YOv=01AnDqH1o`HFRJ`U8I_oV~YMOj?foykPCKOV`%Mu4BB=S$AO?XZ{P=6)!!N03wwq#ScYB z77>eZq(@b#%8b0qZJX8z%wr2~#nB`oNku#)OExCjm53m2{)b4E2OT_p8b7^yelUKy zNI69Ts=EG(?d1l2q}flL>bD{AlBf)WWNGpBS;Xu%TT8XWa!H2=&q9d_jNYu359O<+ur^ai21m zVQ3MO;I}@y!;cCn`T#h@ZnS~biZ5CBelbYYUX_)U$kca6H8d*Mu~b0fz2ub1`G4cP z+rqe}92zJ=J=Y)SO_Qav-9NZHj<%OJ>6jHu8CS)J>KqUZiZJAmHK0v%fUd7>GXp7O zyhVP{pjU1sCt(_!siKMB*7RZ@K5)av%hhbp%AsK%NY8$kWBj)SxHfbZO5+G_32C?; ziv~uB0A^CTYB=h7jzWiv-0<+O_|D;hEfm$#g88NF?5Yvc)wA$m|8GD@obgXhP*j-N zd64RPKZywz2&c=YU55&Y{8^I<7>JCUqWybi=nc@SrChUGn;CK6GL<4;=NR$*W%9FW zaf|HtxQlaa0=i7^w!Kpt?84N)JHoWukptX?5H$c-~_E>UInD}e| z*Qn98m}St(z4`;|yOh@V>d<*jTy6a>C>60g{5kp6=db<2JL%wyntyMpx?m&9@XtJ$ zKJgbbLucT3TqO8hXa;K^-oMbzo@!G8UoDhUBsRBGOtO_lum8Lk7XP2+{XH$GP{m59 z176Xm%`arP8eQP+yS8vg`vRR0!`z4=bEc89iq;%7v*6wE0%es2@64vJkt|UN2+Gv+PDFVEvn}{vfkKObsq;U!;3D;FeU=*-E_r!r zZk24w3H}0Gg7^=3(Sob#PB~2pHJ;qvw*7}BBXmiqZ0JlvgV_TX9fs^+W8lf5QIt8= z(1AMKaYeu3jA04V###OWMa(?iP%s=^HPMqi{{kG3hPdC4w7Hx_f~*7E<~}iw z=}lkO|C-^SpPdAgdFQwp9^T$kKB&UxZOthbPq02H zBUmqG=byjUeiq0UQeebV{{JkA@6&LjSd`j!Dy&Wqns<~Fc0brYwWFf)3e|!x%!E9Y z2a;dK&UapUneqtA;9b6xT@4 zfCm(|-pmL%kDE1&_=MY&_>mA(F1Y}ndV5+qvLgafJc{%_sZfd zr^XXb7TmKWR<=yTbAC=b7l!%7TX5VU&^n3@&ln8v8v0Mm)}IuZ@IxBLjr1V8*wb=O zf^r^rhQ}u9ODil!2=s)B)2db1zsjrhA*lLeLN@*58rhG_yL|qznS@EsTf3WOkeH98 zkt2eHxb#VGY8LNYsP{fm|7yUizg z%%o;Da};{#4ufgJyxtfZm{gcHWa@~R6#L#>Ef=9u! z8lM3>#=~sR7}LbfultGx67^Ju!?e$=5*C2U3o_(<-M(t*uz>W)J2Mm^&BgXZNxY7RY*i~Iokq4gVGLhm8dOw#$Od@!eyJ<9AG&Xl{$U@FD;QYEEi0HqFCgAkV z>7*@|hF`YRgzVLEggYETQ-UDt>qCGe-&lgJsCYfnXVyw|fg?O?nK5=|xUb{jeQ8~@ z+J3$YxN;Okie36TSYPV%B9ehe&LK{~StxX5N9W-J|YIc7IcC3_u5T5ua5Tayncd`LVO!3&eQ75#AMWX$KCMkmta>Mc0shuU~q-wYS zVVDU}AtB5NVIF0T%yqq7yLlfwAMBS@qwQ`US&PuZ%=zMndmUuhZ|Td{_52^ewel&bvYmqzwk4wN)Cq|kv`YC1aD$$Z-OF7<`6V-o%3}{;LX@)uk z-Fr544f@)F3Ll3C1e#i?-;(*n`A?&9m@4YxRDGZC^2QBUu+1X{PwY@jwB~F_EVbtEQh9H+Ay* zw;)rQ;bkVD`knfc$Nnvc0cBTjUapH~?Vu|SN+7KJd+^FPlaaREJ1X3^Kl9Wh`?utD z*?*0jf_qeZ$ASdGCq4t_TFFxjKEuOk=1j$E4sb|Zw75GO*%6G8=qvkv5JHg9-FoPc zHFGNY6SO%^iu;%#Ah8o(J^etLCM_fr=?K1XbCsC%NOl1Fi6HAl8>USppVl%o-r#oyF*mu3LH&y0(XL-p{q0gm%)DIjdtrhVViQ7P zD;rw7T@o@f)U+a?%_U@!_f&St!(OlXCT)SI%iLfQ{;_v_QMAe+VYb>JM>kyKfqKcV zs{#i22maE{2?E^F*-bwkg@dR)CI^A0+RRNnF%;n=N=q?suLxUzT-oX3-Tm52T;Pminnir~YlHb?1E zK#)=ilOxOsLpuE?K*4dZ8a(!8E(;Xv<0dBu2Y+ILNJzmxklT0*8TK!$E5$ z11u2;!JYbdT-ZBOvjfT)`AL70m5Xm~eP$cL^trv@%4d5e(m`NzS+H1;*pe8|GVbGv zOlSlwEQG*p=xh8t-ct(TW@=13*DKGEgY0F-zD4DDQkXAZ3qP6TA?=*CON?u2s$4zL zqVs4mhwv`m%9^jF&Cbq$CVcUsn9MvoXhZS%hkDOvL0%(+3}LI8@%=1h%I!toAONp_ zEyTl7v6@*T(&V1CYw@rOc6=k$hT-*3Gn_S2gj546rVXe9mJ3`Y|pMTP_+T32Q=q$=$qlv57;W?Y(=; zZ6zDjBnld$g#n+F>!kV;6~J*`x>3#P@=P{U4&ET75<2URN44KTP2D|4I0_O0OO&MB zP3jSNhjb=!@A+9~&@OXqclKErLt)^{ZeX_V?sXoHzl{tP(&4k^ z>vh)+c~~k>nJn{RprhhH8Gcguf3KjCg1$x9SLNAU2PDql=6p!4`X$oVj3DhxM#sOB z=1#d`*i}s1dvuXQsl5VSCeT4ls@t_BP39H2`B;!42aP+yZZg6=cr-wvxMF)M2rP$sv8=XYu?} zo+QXwyis8hza!zp>=N_r4Tasz)#AS8g1#jg{dervIWu)2<*f0^F2^d&($h38$B^}B zb{Drf#`QWERkZX=L|=Jzr;z_Y3=`c4am#Ur96y(RI~ADH;p!Hq3rAcE9AyYbhel34 z@;*0~@7TE?5qR_i01RbGqsV+XfRiu6*v5~rXw-bdM6Y*1A1#F%k^M15H42!Cy{{rUwR7-L*U#H-LKz-yA@g3bGv)iJl=P_U)2PPh%{&UM_~v_o$;#?2 zj$PcidS-TSF2@UbZ#nYuNLLH&AB$$|U#4eYj-erxAV zK)TYL?mYjVJ?LfinkO|ieDI1U!HB1mXE$}c_irA1(Y3fD6vV@JNF4O6|AVFIQ$Zde zwQ&V0%yhg`&KhjPTe69d9!YC!D-vsjI@*-=2Ul36Pf^;~+HR!1Tq+wKFgHv!F{IqZ zB9yR5;jN$`*@lKzv*r>-j1xj6Wb56c(cwI@yC_PZBIVY+@dWZ^Iq7MkZqy{RY-4ii zY;+Y(KH736-i1PP3(~h0%8)F6R_uq^SzQh^cv~5yF9~Jr$Og|x<9sJW4N6KksoM?7 z>U3N&?pFzh?EP>W1S75RLgum!Hki9h_Dr#OW?n5ww}4|guyDCP3eDRVqvZ85@b$Fr zRPbVmmNfYW(ajG=o*6udx7MrG?B8w1n%uk^z(^Z%pS?W)40AV)LV$$lnIXR(UO8$l zla?`=DNSqd2cmoEP*W>FKeg8O%_Lp;mVIXJV7U3|f1r`GIOiMlE?Vj2i}i7JcxX(_ zUWKwKhLTI6au)HFE2d69D;#d|<5^8k-5jYm<%VQcJ{Rvi9yTRs`ELTXDx=M>%XPFM zxkYCbY~iDt{H@X@JPb7RSD3xSKOamX-){4F;e=xK+nWDO3hWi}=ra#~XeH5-awn^& z9?4|5s))%|W19HRg&M~F`x3dA72-5HoJ#AQXC6L2yH1t_9(HyMX|2U_b3-EI;Pduk zOZb8a{(*M^Mtd;2L{_UWqnPYf8k-c z04tY1){pMQoW>e`bs=Se*iJ;5`C|Q1V&=4@$l!~HGH6?#WaS-N z>~l=em>uUEn2zTmMIIe`ZHtR8Mxy3141B)E61J)7V(cGMprcFi(A(UFLSRC zCf{eq5jLh|J7IM>Sp9pGdHns;W8ipI#&BsjKB0&BPj%$IBJ90XD-@GEFmQ`42%&2U z>-%pj#5!X*T#j%W&+oUUOBz)Q5}^~9B(wrOyRIh5_BN`qG(?=}^u%gxt$X=b4JD$L z<)`#^>)&2>zD>U|j=@4z&v@AXwexCfSQ-fv1fJdousNCuV6O# z61eC2K)@Z@d#Bu=Q#1VW3~=yl@IE zk^SZ7WiNuwcQ%Z{Tk)2+gu!8TCj?^y^vSy5kr!f}{1Jh!`RR~vV^xEWyeG)lW{xtu zk5;+5QVY#v>=sh?SqtfWE8GbX$HjDrA&s~!Q`piPt_822&2aOYZ?lKoK5~(i)lVhRzo|i7(qr( zJ;>5dN3bZ;e%&tno9O0mb%48`4mxtj+$g2r($Xq~rxT3vWKxONx_GgwEL`2lJdXgI z6L;6`-YGL9pu7XRnGMwi(Y4s<1Yf7u;I+UyoRgXMjc>Q4(`q7L{!zZ<-Bp3GXLGTz z?65d7-DX=>=YP+fFn}aJCE@me`_Ay$Von`Bs@f(vv{qg_%zXU%jH(F#EO-xNuG{sg z3$y#8K6_dSe~sOE~>tOFyNFxOL}I8AZ#(Qs2`J@MMVuu^AN{%r@b&BpW01tIV9iGY|u{+tz?4v0EUIwE>)s5D&!I53uP zk*;Zw4E2lHCr+FG)2R;==>A5#wNR`;7M6d+;iJdt3QPY&N*C6UO-7T)>@&Bi`mPQd zJjNEy)~c86P8$M_(|MGdh-OO{MjMy(`hD1LUVd$uNNNi<>Ks3pl|psv9;fL0Q$Jjj z+cLoa)oOcJ6=hs`|E7GE_LkQBhymCC!{lirS!@?3q>y6|yoZt+6I!-9Q<|Sbn9sP- zfmcE^;)Is1sCe2)WA^vg3#T=CMvuaU6WA%vSFsMP=kE+WY} z?$`+MB@mDpgRliMg5DXLAW@E%4q@p$<|UkWhpss=h1V9UnWt+mAGN4y5Z6CDH@w+E zPIuxOSdOH8n0w3Lh+W$wFrFJ6ns2$9$Sj>X2!swEKCZx-MuAF1S}}c3IMR)+zse}A zODnMW)f`jip6AV?;@0LqS|RS%4CnOHA}E+`^nPQlAQXm-!@# z{6r!-80)ZfI9QzT0OIB=GGJ?nkB_k?nykRev#~U1=is=}7f?jDet~0huV>$Du zbGLGjYu2v_iCcUS$1J5w1O89JOW=ugExT!mXvxedHdoQ90UXxMqhd+f{r(~q>zRBh zLqOxI9iNyO#)|dMJNlXWYZaemU@HQ~4#rrExui4M%0 z!0LF9lGA4#f4Q-Dqb<4hyK!b+KTXcT)k>4%z=w#i&=k+h>kfRj{C9zG+WiTwfEi9B z2s?-uw^vq~wvOS1f{Sk2jEf9}frnm*(hh**UoFsmy*#qHW*5Zg&;N z`fuPHU7HQ;J;P4fsk2j|_wAPhR#ihAcd(}5IXpCKxbvSW?Q|Wmw}``In=D~PNeY~{ z0W!^itwZ$V3kffv!9x^5%quz1KoFntb~sC!b{}$KL7qWOD9%qZZ?(}cAbNa#UBL3+d<8JA{{CEB=U!3^6RHB)US1&S&O*KB9oW3|p3g{&x z&&xKi&2^l(EBW`rc$DK1+#xj?^2VcAr0M;ES)85-nsU(tA9?P@W4dWx+^Ky8Ynn<{ zCPcUaNhhx^7%z5m^K=P21&5I4ubN2@tNuEFLz%pc*u2M-x}q`O>x%S^fxDY0B~v0K z&BGp9$~}J=Qhm~dLk&X3R1ZQUs4y=$53Un^I_v$hwp}c1OKnEugc}^0skU_5SM$Yq zbmPo(i7bunLs~9xB#4^Dj6Mi=XsvydeE*kS71NDG$-X)Gz48t6w?JQ^7kC`m39s3D zkWbai@db3|5*ADR?A%1t;O2AOvRh1O!4!Dx_l*`ov3pY6%l4Ojg&H7h zx1U-s$BN3L%clplNb!%^tT5Dz;kNbI^@CTf&};ixY1}AOnXy<8 z_t8U{mHnLM3O{XWrhNLSD&06e=a|?4Y1zOHIE{ z`QjRSFvr*Y94CE7pt&kIn>$MWTUkMoxIwewAZoyHjQ_aLc!NN2e-+r58 zXjSKB53ClYx2x&LfeNfV+)~PopUs2a>==&ZlG|!*`_Q0fQMS1{77l`Kz3_N>6S}!5 zZT^!EWJRA46KHOvtKEBVRIM0_I>6#EZln^BOokVNyZ9d`>A>Z(BKphfMEYL9xfHk! z>6#nvJsSiPK%dfkHvp)f9(TWH!Jjx8p5)3jB+!VIR|yeSmE(V zJ!i*b$s4~d)y`iu-TW%kDxb+dq^f$=N*lo={C70YQ(wPhca*AdS-yjj{hu*-_>JRm zb2@$yKMTeouo$z<8jjJIt(?^QPa3cUl$z4?WlvVQ#L6V#}{Ro_NkIqBuAkJgJ@;W`gGHK)=Risd*f(5SlLHhO#rQB&Hv%5k9$lrgb(z0jhb_4Lk( z+=$%%1Hi5wpn~+-3ILDEJ#>M$S1J?HEIV`KumpRklg@-kFHOgQQ@P%IJZcK<1%=K` z4U%PHi(gG%+3{v{?OmxEthRZH?)ZI~mZ_maZ1fy2YFUWhKVjwVIHMHCsDti{?tjiV ziJNwN&t8VdTX?SD1(K#vl1i^gZyq(rEV^OaTs#Pv%8D2}u{6hl1WHNZVh*m?H7 z2#X=A2r%-t9yXnOFNmkB2>T&nVCbQ)dZZ+C_8lQ678Y8JvNBRrA;>3Q)wPqNpu8i) zwf{g+XKU$Kyo_HfT3TjZj4;^Q81fOMd!$8S;J!%Q2kU=F0s+r?!l8BS1OI|Zbx;rA zssL-1=V>9yN19&jxfGA+#b27=qp+I5*p?qs?@SB-`o`~-=(uPr4QgWhS!Uk47`i<< zq=0iZqJ#LkN|9;2L}4btZQ_|{bL-0a__7M_-=)D83C784R>FN~m6yGXR6{|}66oR9 zZVL}*%R7c8z|fWfKHMWNjNjd%xnW&{C(L8xhhJZHxa`$D%@oXK%-QE=GWHa2aL5OS zhz2}Zg<1aQ{A_q!bquP|mgIUF8yzoH;x?EW2*C{SjqkwCk{2>M>NtJbkEF#`kf8|h zg8$r&?_6!BaqY|E(zaEI5PZWoYd|N$A|Q2Teu*4AtokI)cS~G(Esfx$R^<0`u9t$ z&!2*1uA@it_2SW?qf2AiwO};<@3QNq4H;$DM7Jzhn#Pf+BJ1$q>wh<^LUP@f)N-|^ zYAm>i!yK(Kb|X+@gym!Q2nUc!tsZIcD=mo_HBS+d2;kERoH96_q95xO~|2S#wiM1u1r_ z#l%BPJqF=p$l=DqKdM!WKKzrf>G<#X2Ij$1NNIbU-F%NI7? zsjvK1j?XPdZB{e0tOhgTZ70gYeBb0+U}xn#hrR#Dcb=q4zsGes;y)xsF`eSu zv+BNby(L1Ncwu&F+TJ&G!^oTwz_J6IakdJyJCD0s^4dtzK-#a?W7py4kb;n8^Lya# zBocpIVAP3Lb=)lGXVFX@qkVP?yh`^!3#H7A5r4T0kxV|_bk*w<1E-%of3ok2m6`h1 zd}H`l29kZb=sHcIW=+BQ&N}@2?MUNDH0MyLJsIYKB#An#C0XZPv5f#83E*F&Ph369 zP+hJDGQEUbl-J8;j!BSZM|L%Pz)ihE8gH*IgZM)a&U7#3P0iIcl#R4puo^D*d`s-$w!o=jxO4M<2bKuF;xtjkrs@y(DTQxzpL~U5H-HJZ6y6yw6ylqU^PY z{YrXuY^KH1DMiYq+fNHzUmNvE=9K%HA5YACP>=`q=8x#;6QK21gBt#k8_8vi=d6tH zCo;Fo_4E$QaDwzV*W)X7)U%Za88_l*-8A@SUC*Zpv(rW*l+$8BWs zXSf7qYASSbXb{$=j%ED<(TzQQ@`1s7?WS9Ue}Rn_f6tKAXvL-9V$12RM# zYe-YjkP$8sv7g4QX&f2?skGtIhGr(CvB81hzM`?o`Y^@z9rP2hMe!HF^32~U%aSNpTbN$ZcM7fQMBS5#maxFooxjgno1xwgIrwMGd>>qZ0gQJY7zbe z9j2REAt6wGY14*skpi{`U<5)HbXEdez2zgRyC$)WHDn_q6_cun!jvIUuiygn29FQJ zS`@-Uuaay+1pJY;iuvc9+HK}jYssA!F&Q#?f=CIHn_uSy^JI0x_rUvXS8PZ*CsoIOFwe7qaT|N;qui`T_ z@Ek8}JL%-Ee7(=cpt>`DEKFxmB@Na3QA9kW01?r{b!|M=<(1Nj(JC{@j#Qq-GL_J4 z!rD0w!&lzB*KeQ(e&P2Z^0Jdo4HTmIwdUy|_pa4PHG`wL+xHCYf-xa!NXnQd(TA8( zvvMm{(fh}A(pyS0WZ=Sc$^NG!F~0>5+o#^#D}*9B0+KU?0-!nIda%p%&pFXo&!2*fObLJ(COi@}lkm!Uh=Sx&zLh5}5lLz&@JGza1 zWR4!s$)3>bMYKp8KI@9L=MNeaZSU(y#qP^giZTLk>fN4I0@F{*{CA9a8L9|#$iEAH zt^XUUXF_P%Va&1Q5ojU5njE7&^CL5<4M^4-<+$mr)c&N}obB-IIc{mV>+Gh+< zbGE>3J5%gCUEIc3n6^;aw*TaQ_L;2NQ|M^DcbYnaO!E@{M&7POr^KlIBxz^Yqo{=( zqi1L=gYWNAixTpJ;4+6EBPW1fsXWD)q zf3dZ>z7O&)M)Lz22$ca9wXj=h@+KDFfQNE?*2AxKrUpL4urbXii}8a-09jvVrr*Wz z{@iDlHV>pTfV8sS2-UqStf&395atWX<)YG|N}WD#?n5JMHGnhd79?~F#MT9J2tf8m zy=jiJafQEXn*O$_23(~YaehjwU|57pbikvBjCnMuTsSf#j68MZEGxek?;EN6KaS3V ztIc%@qrrm*cZWi8cZcHc?(XhR3xNW~3q=dX-HStU*AiR~?(TNe`v;P>l26{5d1mim zM3%~DnKiBxYFjns6(J-$Pj=mUh>6foPk0K)yjK71y+(T<%cPvz)$S~nz|}xw!IvJX zS*#)QoRHJ?=f5wp-u48%!OGTCb2<$NUvjW`tK1bZ$Qn0Z%| zVmJ~J1cf=1kKP9?e*ar;F1Hvl(WV-w!bQf=t`;6UD^ne{Xu_2)2b9xSq55g1k1yR2 z36<(R!*c_Oxr4k;PJqBm>r zw$kDJurHlt_VcX;8`sb*YYW~t36y8n?tN%9%sQN*6FXbhi&@-2Bt{sJO@H+I!t8MK zUV1HCuZ=J)A>8G z1o*t~z2N$6=q_}1+O!be_*FY$X<}#FmogjO=N7mdEG-qF1zX~nYSHVx5G`5oPF+*p z^WVFhAKYKQsdt3x{>WU>2z(!Gbng?f_whXCFl^{7BsXmrtja9xBYR(J2e9$t?{2iy zV4+&Cm2H;&K28vttyv4KX`DLxfys_8K}XOpz>!m2g8vZL{D(_+KWF)o3rP6is^`>N zd}_Uu5?lL8eJ&hUY9KVPlE)AdE!~;t^NUUfrHIn%0u3H~AgwfzI_#DmH>1uL-;Y3?AP9=wR?*GLcGC?~PBAw(06vj}=^CyvY*VhHtChuT?_1gGK z=ONJZqW3Ub*O*7+dgM18p(vC*$+>H@)VgwC-C47vOq%>mH_xts>$A%q;pB%|-(zG6bWW-S!K2cmD^)n`asRHN z|E}w33r$MGVkrue)#s|3lj)`S1l?{wzeeWL>GhJE2QM!0FRw4xd(>U>HB`1E&@iNA zlo>PadXt=Wa5=B>r}#jwE?iEt5(M|aUYora`X~DB#fQ{FR1;H00-Py)&Whcuzp0$N zY#o=Iy#s%+eSz1ZV{PC2xNzeB8_6Ls$f0@f*V*E!kS-*5>9@b-)3=q-Tnyozo<`ke zA!SG|!b`?~8}pOgO#zI`H6|CR!-EVOtWSOz?5g{Dp>HmhAy8d1Zje8;FChC}b4@THl6eXowNDF+ZNpu88pE<8d*lI86mw51uLKbwN$40+$b#KUYp-S2Jq7vhW>g}siqG&c73sGu zGVILhqW&PZ0F+pSS!UXfK)2TnNG`vWMZ764s+~Z+m@DtoD~ff=H=YUxI7Q5 zm%Z0Kj;ril`48__Xz1EpXh%8m4MM678bDTS3a_%u>1`#I%mm=+!?*OB8tANq3p#fB z#uP%YN%hugN{W#^R0Ex-K6m9JGv^NlT8v>R$U`H=<3rjXc!VV3G_SCFVHLTZ>WCUJ zwS20hf#T9%n$rsh`A_(}o4i{bewufwj^q$asM#&E|K|-G!T}=>a)9!S{dt zJQ8^+m-)R({1~q#7`x4Vg%Ow1?EaY)!Y^<}J%sl7crf5ZTe+MSFg-OUZ~r*hCnqK? z5uGE>n?jKjKsCK@Bgq~6P%t(e6{Z)T*Ni!J8+!8NKO!>C$zy0~$0@k~#y_RnT}`%v zbAcYHztWa#)}Cx_^+<9a*}&p6G2Ck;y3s?`{Tx*IJn~*VxhmSg;_M)ftDmt{(>ZK`|Uo3l9nZtIh3&UTj;8?uC48VHeNyXYk9sm0R;G_xgBWHK9 z+J>5G#a7YPpt`;7IIi?u%k}ARuZYzDLYH2Y&ymcT!>)_yWlud}z-%!B-$^)jmC0Ay z?+!p2cHMMyAo&2XTJJATTphKZakvIbkHY#nDB0F=>^!M*XgJ0UzI%uhmy4l;Z%n`< zU3N)CXHv~Il`moJFS6w2U^5X|$0SL*-8=#BihG#Z&|WzhH^GggNkuG63D zeAXWxf?+^$9f(XP?^?R$4qaY~*INRdp3bGz&EVi5RazxBpau)nYp~A)G4fP~S^VjG zD={7b?iCa2AK;AlF=U!#6SZ+rxi;nzI-QL7Ez0@Yfi{*ibl9lt{7&w@>VCK>g{d5P zR%dGqZM)VeTO%5S)^CNy!v^?i@;M9$Fn?Cllx z+O&O=h3hau$c0To{XWCQP?K2bD+cKk2SUC^d%|tgyKC9u50mO`zV63~c6VC$*MGb^ z!P|Mw?;@&*grASq|Fr=B;gB6FZ^Yp>_@5^dPKu4~R>Y-CRDM_1+{(oWs_Q|YUwX)9 zpNlYTMA^GMSoK1%;^V->%aU>+YM(NOuRb@UrF>a^=d81}_%RkIu53q6xRXA4jGlNQ zw9RoZcqsww7=JQ0px+!D*{D=qO;%k4;}Ln-@2cr1h$iol?aSiSOp>oHd&$Fx(urJqTu>45y3u6(!i$M zre(=)g3Z;__$ezU-_+El_X; zVkLRvdEPm9c`qbN7JQRrf8Kd#usYU`@`fZ1&aAT1bW$K`W=^#lKesdXCBP$YQZ()! z@>=F-5S^G`Zx5*coCn(;oLhN%YX7{jY*}+^e`=BWUDWn8#R1Zs9z`nR{a||i1A?m$ z0|g2|5mmfoUeglooo|&5lgsGf2PhJ$1r1C{FL6)d)&t`$WOIuLKA890n&!L>)`&Zn zKYQEy;FILu&Dbj(%;`GxVPAS3y%2&CGsA&b13Bg?^|MqiBciAirtvUX6e+~%seq;O zA((!LwiC8**D-@AovQ@s&z%6&0B)z!&OIsUhRRQ=YUo0BLC*X{%X-^B5Yr4*ZA7CG8QoYxx#*4+2m=1$N~gKQlk0vmS^ zO3Ex&I&ki(c!BQLT-Pge6MSnwp!TunUxDY{uFH|0mK@UzFt5-LR&+cw$>N=GISS~? zjE1^u-1shX+~3-}pWEp!7zna`8k*94+B@Qt^WQIzN0yzv&c4Be%-P(KG1h3ebMde+ zbLA1BFb+v({o!yhVefE!j7ho~cX9?^(zSGd>ZBeo_DCf4Wx6od>9`|;q*qt8*jSrx1%D5>nE2~lRNatUYrwEEScqHq7A7Bf%57=wSThp=WXNOGErdw$(f%*g} zaC;21#{v+M+wcp&$mUWJwA<`tVkHyH4teQ4ITp#}A;1y(l72u_)0;C79x^W@K)%a3WiT1U+Sk+;_Sf@O9c2 zP#4zT?-Se|7YFhd35ELG{#fb|a5iN`FY7)V?TS`3ZgFYzId5v9`g>2{JD-p(w9or% z#r4r&5UM|&>x!;Yy^qKcJxJ#HYS!PZ>^QrJ7^c+ePaynI68cnf^Mx(QyrrA#yKCt4 zO4j7_k4o-e5MiuH`1J`5NBI0(bg&&gLSN*dmLFMvcT+d;HWZoeSku{jEI>*CDo7q# z;_EXqJ(|!PT^I&xh&8BM)C4x{UDbchz{85a_Zj}olstMSCL2Z$;{~1fhNuIu*dO_* z83x!(Xb=R zw|MSX!~V`#6E*Dkj+PL=!draWV5RPTR9em00|cCP-kWp-Qd42qJipKc4jFgLaT&G{ z5D^7d=Bl&}9WzRe}^8JkRF@Zba-%^d=1 zNT<`4z&2=yVW2R~Z$UdWbI`=MA>lFykPcdmrlIhgv0ZJpi*!GCs+QNsDPUq4piNtR z?N8necuo=t?;8q%Pc#dazEX&E#9CA#yCfgRLtM=1Mqb5{y4E@G5L;j{6T$~+7^r9*eSbD)$_1tScORE)iEj;s$mMkWC-AU#3MYY31SM)600 zX)FRv#Bo{48(H^P39OK(!>M9{#HYv&PeOdkMjG7e=hs8f`xe{Fcb^s*>x>oYY*SJe zO~6S7y<^YYn4FiotXn4W`C~krf|a@7f2EL{tZYOxCu6GOVTiH!3s(uWIJ33wCw}B< z@OS)?v#*qKKEhw6-=L;b?{m9+by+6T5JwPqX9VBuzJ5#0zHmj(FG zgBh_J+?VK^GhG+Ldqm_Ig#&T&+0u>sUo$q^1LZ+~lC2AtPtK`v3U(?=9C&Zvo=;N9 z?`orqXfQ+=*Phpp3B0d6@#RklMoZ7S_RnBHhs`;L3@IJ`1rzLC&mB8JI;#$b)hT{0 z>3Kab!fXsuBik{<6#~rG+IV>O{k0X3x1h#i6{zmRSMfFO9}p9P$e;e2BJ!79A$E&8 z!RU>h;Jfv_RJv6|fTpyUz_V zPIjk%`mui7WE_>PUWVi}B_dm$Z<9>IySvC-tkYBCt zS{q$iSDJ|Yy;`09c?ul`n12Lc{DYJ!uBiyNeMbWy*sx&)y266%e8xE`kSVE=;0x5l zJ%?b+`P@?0F+8&scn2pop=pkZSn%kg2Py?DmbJ66^S!0P!EX}gLecNURrzD2+@0{m zj8eAz$N8gCgm1U^*9|i{GJ7w^!3I+qyXOn!j-NkCZp!Hp39;|)TQd)kq;7M^BA7J9F7Qs+8It+wJ*Lq0sl8T+h&-w-i|_%yE>vM|MP3M~K%SDOH9$ z{=80y+wvkFHn$O5wdCHZoQBgD4Oj2(8htM9uq^0Hq?pWml*`7}7uRg~ZrSe~DjdUXTGwK4NEOO*qb?cjbCz1uwiLbij3?_RY_{}ds3Ay|& zr#sbW(&mjvN~+eVKS^jyjX}Q*i*zvg4|uOFv>IqX9J1rV;1x9lMlrY*^5(i!*YoB= zFSRZ;`XJ~Ozl0u|)%e6h!{Z&tLz~2ej#hei=Qm-xYsQ@ihi(Y788E{*7as4xGrMN( zd{E$0y;szJTa!Wqq{M_rq%#7AVNV#;Z-MgrMl>RM-tr?c80$fqD;;#UjlTcsJE&3m zG?sG?Fa|fz_A9OPAhh&$rppDBoJzn5y?(5x+L4hO+6z$_-}{TfDrg8GKWW}~TP{J_ z+@iwtmum~1h~oO{TvjnraJKl{UBWkCs@Y{@c^~*{fzKr|D7ZOra-!sJ>?nyuejXeU zpbU+=I7?Yre^D}#^QnObeE)m53Y5@WLN!;S0fmd}JwjIo15XxMkLT;)S79@bekm0? zQx=fz3lwZENYG;mu8(scRQL_n%@SFZ43jmX|3q{NRs%cigbO`orVf*48_T_rzlB zyrL+}0^Sr$)Az5RQw1&(H!#mhc8Ie+zY>!LW!^u=Yylqt&!XKp`p#NWy_pW}ylCD9 zwT+fMRjdA!``pV)mqGCW>7CDd9|iq2R(y0`K&QyhQYu`nUW<-4i9FkJ0HsZlbX2oB zjdF9HTHabg!R20SBDv!Q<)T+iQTCjRFdUTGB@u_bc3!VVP>=Mz>r#E$!&?N6-B6IJ zGb~J&Og*&2M3=7}t+yt{haMw1CY~E4`o5$3M*EM}#@bdca^E_2y42=>Q%I2`3XP+& z8GeVBkK2nYoNHdZ25aZ2URVk?+UdOWW9N?ZYdr`@HnF#0m%$**Q96*JNc|z5aGX83 zb3FY3fxiwr2X>5W91M2qWiXi&v-FSB$C_FEyJ?KvU!ImC*ox?yhOQoO*o_w0N|G9| zlyIO26M9n~7Rog{0=zl?g%UO&X!=Q`wY`7%V;Ecl+E}4=UwYp=&U&sO)1j;=0;g(jw~mjoYg`V#+s`r zRva4lwDj3O;dCp`gfbh?4<9qJZ;N1otH6c$$7{WQAr$F-H5BuLs|RC)jC!6ikMWISNa7b9&_36FPF^BPr}9vAmJ%jy>+vG z$eQ|w3_YY<+p+4B*e)F=9DP0x%!z0Uj!P~de<6bw$BHZh#v}q6o6j$S!kXSuI+D6^ z3IR0@AG|yDx}tjSd)^UTNy4$-aysL3=@jKD5a0W!CRQlnSdS_#-eHY~Z~vTI*)v$@vv3Zs07fz@NToNa`ouzZjR@( zHm5cIFo6TPSYUJ(v^bxN?}0v0Z*DAVF|QK($7E@SNm9awtN(x_y28e=f{Ec&v%qcl zS1RZaV3%jeEX<~-w)r&7aN_u2FPL3ZlifQCLkc;s1~OKN%um(Dlx4(ITfCvKjS<OE#Qz6$0<%uTP6q;yQxs(r*Db* z^nrPGnXTg?JNJ)I>M)dpRm_F6_S^JTlitkM7T@Yzmm)hT@>}p^`Cz|#C~tS=MNFO#IR%kc$?tfiyKsCwrRKML5Kx6uON(g`-}}`!({%r%4(c z1vzoeaO}vWj9zL=DiGDfXU@Oi1QxN0Y;cqY?HciIC0Lz@myxEF_*&uV`~i)c*2Kx@dA#Q3pZln7M{SbQU2_!XM;m$;cI~ebrr5xLJB9GYy?<#Vc84m=b~zk-x)CB z638%g%xBWN^4Ej8F~a)(fycjj|LZVBv=@-U5cg`g(KXPQfp#F4!&KR%*TAmk#jJq@ zWM9u`PzZa2uLIU=R4oJqp6Abqn>U(nZ80SMSZq?Smk#h0Pmx$A09w`Gj^p;FtH0l1 zA?mj!qApp(Vi}G7^IO-6en0TI|F=I{h%EgZlmX<#qAhi}%XJ|W#b+YX*_o8m_i?4q z>q|SgxE|qWvX8TWeSsebEt=t6EC~~IGeuyNu3ITywAv_0i^iZN9T|%K%-F55)`M09-V*<>Lmh^L zl;|7k>kS;o65_`AL6b}dZdXFQ@=RrGi!8-%D=?AKcW6+Srx3Qr0@J7Xo$1Sts$a?K zYqqCGW0ch^oV?z}04b)!_jJok6K9h<&ODl-97_0SA)o%?hD@~eCF?$oI}?D&X*%cP zO;6zR#82Z6Q*wdU`mTM3>`TnhhrT%|b;jgHg)cz@mgd!K#n~pwn~B**knCu80@(RAQ93Hd(2=gd3=QCwQQ}gv{B=GB#Q-%A>F=Z70T@oz-JTdRX|>-y zH+vg~=k4BQ)Zm4p>*(1dPJg1$jSq4cuEIMZ?ISP;pC zh;^>d^##5E`fjaddukV^a-cM*4I+SYf5tppHbMdw%{~LFSJ~grf*#-XdGm2L2s>)IdLShA#0L@t{6rFm<@#5f+>L!y@%?1awQJROf)Ej6k)b93!C1a4$ zW-;;Y7}%eyT_WNZ=6~ktF9!9<87HRyA;XRn+Uu`vFt>55Ig% z)?ej7j32LngH2UHft<W^x0hWW{E{o_}dod9aHEZ+(C2-CaP+cQ_X#>g|=&+P3K zFree&piUOb0%ICosXt%F2U_a$h2$f@Q|YjW!N49OUGCT7iPttWkgsyYf{uS({rH%~ zP0;kd&toNWk?FJw-4QMNji|`Sz3^LRgv(z9fP9!JLsgy}zaHc5&A7^6Y@Ne3>PM}0 zK&)RU0_|1Cy)|jm5v5!P|GRVu?>G$3TZ?mXe3uCBhUpl#PtoQ+>r_z zd4w(DDU_P-UV1|kKW<b|_ zMxUnXlfXIAWN)-{kbUs84&YC6 z&Eh9F+;>iOt(PrfBkVS!MT09!T{JU*bGW#G8@%l?rMpCbmgv~1^k6p!Z5 zJQ>=J-mQtqV{r9TO2qh=FJe{s!Br-A1$ciuUIwW2QdQYw3Q4IplD$3cr` z(7|CGFR%{#m&fYRRM^=UyPnI=?8A7CND&+?QnUD;AoN{C%QxTK3kF-M`D2@{j8C(C z@8mED$F--M)-rVWLxe+(2b|MG;14Q@cS!r>n{b&7sh<^c2-()W`K2xfYes%TA*&R&uaA__WXwym@tIAcU{uffF+*IOItE&&IFLS_)U} zGrN2O3c1ReJtfsXx!I8Rg4IEWLR?)>bJ^FfK?+PkGY9FtfgiqXu%8S(;i)#SNP9 zY9!<~rZx3j-=Yb^m^EN~M~o?O7Q7{h*I2_w3XA=yYA59%8N=$}%jFYF;h+Kb9=pL4 ziba5Obt5p|sx8&nR-{*Y5@>;9b-}fC4@R7l6Cu+?GbXWaTVa<76 z4o@rGu(XiMv=HRu7|$=Bh|o6=m{1RbhM}VQv>cBjOWT=t-)xv0uHFwb*@T5mi4)CYSTayct%#U1XT!1_8 zw&xR(`-&A$Z_Tmq*Rs;$U&77J5N)E(2Px}QKg-oB*_)#@uCi0>D1BmP(*B?{fFOa@ zg3A%1)oP9mgjbWFuT=uY@aMDhp!T7S{{ga&gub1+n!Ik`-ip}fuC#m)Ya4A~>s}8Oc~9OSJGVwT zW~H5sPETr>5sn0CI;>O@y1UTRNi5N%SUp*8QECZy zE!pprdy{KtFKC||9L&Em8$8nB;iO@r8)7# zl{)5UjZwi-(t!!jWY1-NRH1#iszYp3^zxmrqEE32$gSjd=?FEyy!z{BOVP zF3fN^dI3c8we_)IEnS%KAHHj_I-HuTtEZ_e`hE}_g8qX0sd0x)$XpV;?(w@E(o(c+ zDWg^*1g{(5nsFKv`hon>_R+6aQaUJSw(zDE=9D<-TlytI$~}dD`AqLc5uPeclFTAr z)8IMh=;A(jzDcr?dZt&Y7Nd<@l-aWRvCjhCpN7`WYN^f=EvJH*rlv_ExtC zp_~DkFWE-{6mTa!J|U~y0Ir;jUdwapy&5jgQ@QeTtCmFOh1%Q^$d37cu9ND$ zh#Q(ZsDysb=M!Cw&mt+EQAX--c||$#4x8;BJbvU>R-Y-GyCE&_T%)~mh|f_WlItwz zBQ{f!?kS$J#b=4fR%953`1jf@-;UZwg)gZ}Wk;lXCAQ`m_HMQI_L|A~ zd-==l6xxbmM>~$p6%wg5-IEn9c;9SH!2U1ad|5Hc&}TTWlBJo@CE~BpswPNH@wjP_ zu&t(_Cmo4zqb>|FG~kxHnYP$4yBuR-Y;mTHO+aYJ|AOg?!4l~{Fsn*fW%q|7ZpOKf z=!K*m1X)gN{;m-p1Yv)xzCozWn`qA!#e3cFxe`nRre2&J-;%i}>$pcH{%|AH9rFFG zddcg7+ZWo84f|r29P|lU<}YWt@%~!5+&uiYA+5J&T8XE@;AI}V<Q42aPTHLC_)hC_Gz+>fhT zSjQ|q@)Hh=&K0K;wKVeky4ckKSQr-A?C5EGYS%0&w&LuP+q#$v>5)q7z*%GF8U&J$ zTlti##aS69>?L+i&EdDOO$r4IAY-xffU;PkybAFF=(Q#ps4|kV(soRP-V-F&w<*Au z_|9kuKqNx`8Eq=HI*e3E(t$X^MMFalPt4t>&3qlFWX(4ACzE%vX^*3{Y`KTa)*#?= zuJkV83gjkcl*N_x+%)gQ_^nwf(Cr0Vd^j};ZCg3N_gUdfqlfBz_ioVWC1=qeM*W0V ztauqSPV$==$Q5%-M`IgmD3@r!4dYlKfu5RYiAYI3Y!pOs^BA|Yn2SN^TQ4CbcmKbO zrwBSFT^QtC5~4cS(5G_e@v1fOe>81L4HRp?P%9TvLE*4H=7CT-FY`Yuv2`qBe_Dr5 zyzsm3p}B<9AIv(JxoIUII~o)I;$*GZ!BwjeG@o1hlX#}=3Gl*=lbz@Hyu7hPH78j5s5_C;2T77Fcm4PB?^@R?v z7@o-P0>NK};TYyGSDN^CBP;@=152SnpFro+?Tg~40>&U246l#j*qnxfSq;pERQ06w z!e|ja>GkkI;v*a$iRn>(2%xL?>PI^m^xJn7R{kg%Jrqiy;DbN`5zE)1=a5{;!v-UP zw#1lLMw?F?HIBoZub`>Ndc)Hvi`y-47&J@1^NklKVKs1EpOltG4^FaE~Bh1wTELg zLk5MFJ6R6j2Ae=DP&)aHhg|DHgA@)KF9{~L80FsM0Lg=I3U+%z1=ER4y1grIVn=L-RPfTvQlLU4rX_I$VkCzmzzj6P^|vI1m8x-!^4nR zm+&u+)a!h$kA;>2eBAKSPBIi$gb6!I+<2r36Rjre~6a*CbaYZC7qmlYB%)@k-YhGbO$1LCq>W@iq=hd z;Eh3c1wXAHVi+JXaYH=pL!rPXEK7Yavas@_Z zxA1G7^$!Jvq_!~yIa1*#2HL+Os0E7CwhP}jipKvA3HC^tgvR#tod|4fWK6t(O02mj z#TWWcr&(WDJ=v}6eMy=ESyjmP;^ zW&7!i3g8pIo9LL;6#4ZnuYdh#2t#yveiN8M+l9-aV1YhY0!;KdBRqUAdrG+PMG1lQ zruIQ#l33i*1j0}igp~IELnj~cf1`w&&BX3ZAtirw)Iy5elpn&J}V z+y?9czQI;DN#Ss`)4b123{pYGgW`paX>_JtSO`ANO0h;-86tMC-LnLm9c8 zV*Pd1BT_ipcj3tC0+R<10qL$nNbQqLKP8HkpQl=t2I21L^+9Dr^N7RURnCnZ?eI8G z`W44D-65CI;F+)czsgOhf}j`XzINOJtDRxf*zW5K4x_2C7Ff%M_FBVyg^y4@-Z0$1eF%S0}BoWW$|6|@1ho^+xc$z@6O)5;aE_&vt zxc59o5pa)|ayw8TJJSnR(w+nugZ?bDr6YZP-y+P!!ydExJflttj&3t8h0+h zvi$djmsZDt@QeYoT5wApDR_Cg{q=k(xU|vS=I<$bFeG(Wp@cq{w%5Y!~!2muFIJJ0Gxh#l6$Jfy8_=tM$S^Of^|B4~%^H7aTTZ6uzlB z_Ps}t;m2o;Pq)%c;`xS0mvX6dsKMchF&R&9p=nKvx3bF2Sg#MON>{@;`?wO27iH7} zeORl1UcL5f$>+~vf){r8E1FynVZ!Ri?P>)xLP0fKgkILb%-1Wg5mm>{hKxhs;PPF1zH!&oF^bP+$bC;%}TSm~z zOBMn1==E=14IZxtnnpG1Z(4zps}SQ?N~U-%&Jp}1-DDd2MKgH$BXvB#MMzgB4P)^~ zoOW?A$CN|J^(i!tRo^e1q!juP9m-$k?KU~MEoj+3X`5h<#x$hD>-51tr8MR(uL@m+6a-hcc>FJgb0F(hpBNF>Ex zwZ?+HSv_j?9qYi{1%nY4y9Rwq8b7Sy&|BYH?yRq;X2&?d6`oqF5lu?a*JIQeqgLzA z;dRRjQ#$<=rg}@p?7Szn5>kOFXrFPaWx+aBpCTg*nkGOQ^5J4<=5>;*-WQ_c0Z2~ip0iBxD0E3Vzamrs!H5cm5vU$M_DrWg&H zqQ@nGsO+qnj>*>#rfR5QxiB&3X=Aiq%Vb}vDxw?gK^%Z&j-7U2YkdnC_#=&7iy9pJ z(1Rpe%e;>qD;b^ar&wRc5pOTwP%r%zg#zUR78ZjVw*4*3=U{0Wxm3Gl1=f5t$oRzs zvn*F6=#|Bv0^Y~r=@VnPz}}M8sy1lhc$~5ydhDa@-x|{L=l9N6+5PynCDq z4Y8N{)>_PmNPWZk(+bFI1l_3_yFsI-0Vle7B!A2rpi0s*an!V|J{AhF<~+$2jaYq~ z*m#-H7=e!iWa|xqD^bR$l~sUgrcbE~&Tk>;kJ&KbTL~Z@vWTzDk6-mQ*x3SeA=TP4 ztev)x@6cx?EA&1;oUoS>-Z4?>BUxhHq#U8{5XwfjKe!HI#C>c@Bhlf)+zDSO3H}Bi#g0o-Zh}&mIEXSGV<4x_a(83bphshiyHJqNB(l1cbO?uC~Ecp zBnf;~hpyaTy>!37JwtL^I%TB67hGG!Gp5%(rVS5JjanmZb;nV81uMI{;hZ+xRfe*Z z=5Ex6jdqzrkuHuBxc8#(Tusof#Q;vl!SJ%e&SRTgzVdf#WfDEj2!lNTKv9_8(+l*Mnc2=L_rNXfGhz$4Q zyAM-PSi6g&$DhlsY#Z3uFyic9UB1S#bOvhw&b0_WCt}W&0DmmDnim~`N!^f5Feo5e z8r|68!nsvzC3_lG)&CMP^begwzui+49bZLfP>I_k2SuC8dRa~7rWrVmm0 zE=*{^Iz9txI9V^6I?i6H2|jfs`2X&kxP@u;3tvzlA9Ki2NyyO&WPs|CYLa7=X71;4 zMkeRtUoeypwIz~YQ6JVF(^SsxoCY#^ zxkaDAM`V=Z1=r@`b?g@+>JleJDx0E!BTx4OJFvoZ21CbR7C*gL;3kY^hV6YVc}nbN z;D>2IU|I36eR2=$R004{G?J8e0+yzIpnLP2cEtHR>4+yMx>X@-eFt6Mh{li1sC_C^ zCc%f+Y5^x0vZcI$T=$KUqF&E2_I>7oCCWsMM9n!4?mH;YC=n8Hj?H7sE&p|>7m^HU zXiCtjs!@tQ)W~K8akl8cQ8)(vBRMj+#@Kq26^QO^tG?~1vi=h@kWUCt?h@Y5`H<}g zB+Spwc~1~pALv(HH{be;1A(b?y_J?d<+=^Rhpq=w|46J5)+GV0mErPWHUH;&B>Gzl zgXm^qBzEUNI6osS4!(axvSgeMNL1r&!052YWVT4vEuispUKvGNk(NCmO1b$OVz*Q8 zUrD06?alY?z7OVSfglsX3LN$^PV!v2v47+T=4G$6) zYeWJ7c@pWi+F#4FX(`Y`3rqC|U|}tH7&ar%KT^z!t0q^RRG7&}&>JUV;8|S+OGM$f zNJX4|+bL{Q4b_14E<++Wm4*NVAofVa-@S zA#9>1_cIOTkblIvP;D>$TYH}S&`)myHoFn-pZxPUeog4iqtI*wTLL zeBT)MMOr~gIt5TfwxLL16vA;4*JnApthda1_wg4{G=4_a^nO5?+|i)$31g!T$O4fn z!J75%Hp^bASYoO{n`tLNT<5xyddtKZ?^aw&2bNi{DWWs31RmkbFw!IG>OOWY9gK|( zpVqbr3~-7}0--nR#|L%fsFXP>k#{2FB*$88y@hM~XFZ5Bv@h(LqfI7ELE*OSFA-jHksLzci;B!wKXg-7H!1`!DNS z+xNcE2h6Yk4wN6I_?$1cZo)zP&DAQ_VpX0LQU~qXkj0O=Q^R|#5yPyx1&u^F;0q%M z9w!DgyUBazuc!CZbhY;hR33YYjtTCx#1R}c5e{>9z&+AeN2rgB(U9>2Ly#_X#xnc6 zxGvF(lmh2V1!9Rhak3VSbRr3TiXf(lxfFA@sQ900YF>nO5nLx?5?zp_%x4Et7(Ry;V zk`*Af-{7@+$zSY+BLSSFZ+d3dN>s;?Ar0^$p*wp{LxRoexmq@!0Zjwcc6+bEZyA#@ zRn}>h#tXZ3mD|n`^nC#dc;Ui8bEb36J7?prhJ`U5f3t9RDOPxVEUG%9E5SP%Rmz9~ zCQx|q)O!S0aSB?}*))P2twhm|sf$jUE&0ui+oBbY?8r8U&*7Y>U{HB)uK_z-(259q zB&gv(&PYj21j^(vH4{=rrz^4N1Un>hWFX8AKn-Fjx&m66PIs@?vqeRG5)DAF}qHI~we#`tqpW|q4Aik0tDJCgbqY}Y4&vQ=eYLL%VH1Z_(Z=#Klg&pF zV!6c8CmPZC3RXc<>7pXGaP_;++?dP2Tu%;KTabl8F#kg8|2R4ef4aXvj_dmB$;)(` zZqt{mYr4CqUCp=*v#YzircF;XJ>5)9cX$1+-@kAlpL@=EzhCi$0aAHL#z=lgg4)=;Z+= z^^Nms4zw2)VhzKC8={tst4w31+ASm6igkYiijn>t`*)>jD2;gkJv45*g9T$nnC{e; z8DZ^Hzh`w!L^-;!mW9rMTcYXaRqpV=e$P(_=VI-+BjEBijGfv@hvFp~Q6WW#+lXwE zj(kd3a)oT}5o`Mc96FCIqK+IK@kF}PV#H8zYq8|TALbh~Nn;kQ&%L&n7&ns203ey8 zpG63E-ptQj$UT9i(H}wdk)x+p1$E45K3u0^Q6c!K`2%bIASwvxRsC$?vqoj2s}gDl z3YrD_UaroKX4C_0w}q8lJ122{!g!Wj%Q24VMpOicOLQM5!poh1srG;`=P-l#XPD^7 zD9A~p6p89c74*?^2BQh%-(N^?$Bzm)z!)1 zTUi%hEEr;a>ceaq7scpce%g_B&r%4 z!Ev3U)9pi_WY|OXQC%`Z`;|Vm-@9WgUXi^J%msKuMA?mykd~W(SHGpG8n%o zM-o{yDg)P+J=a9c2a$8E`Zx>Kb#*auP4I+2dZ3T{2F-l36@hZDH=SqaEpVF-y^Axh z$wQ7|CVeW76kJDuLy9CsF#S z0qm^z4G=88P6`X0+ixW2@{7Dh|E|<{00j+(Oc0=sZ0rAppkj^=$__EcrGay-NlJ05 z*M3x(wtk%-y87Pns512%Ni5oD+{PE_3r~15$Ou{5CG4C^>i4Hobg8XthwT_}0i(6c z`O}gR2sm?7{d(PLoIG}TsgQ4x(fU0w04C*}T>XMYDhF~mg;S12-f!xJ_XxvDi?Tv% zc-q^FB^d8(n7;@^jevnUJg5OMunfCCENQE%`@#{-^(;9K7rNg4Lh2r+)NbD2`gr>P z4GcMa+DXUbNo77YQcUCfQ(4S*(|u^$fANwu>uS18)paa?OjE9)Pl3sF?m@OpP4QCt zA=#y&>~)pYL_b<4>bfrt;Ali5CQK{#a$3}!Gz+NXd;j55^)ZtlaWC@RU^I`KjB5{g zqfqZ$gYDhxPMqiL@mid{LDtms-dWrk zsN*a*C`2_;D|8TNT(m^MX<0K!B4%0O~sX+VZ6<>Oh zdHZ5m=k8SL`s)qjTy)9JoqRh<*!hpO!~A}!DPXyYtz$oC{cqd(M;XOZR10>^7Y|c3DN|Ye_d|h$a&oleuWzNWW#3Z~ z#H)YK{u#svOya^Rhue}N;*|#>BxytmB`PE;#xB9!RaPzDXKu&6xkTT1M1eHQL8wXA z-N9T_Jer22IQ*OnLKXu%c{o%HObZ|-U1Jc0PlNl$h<;O3z>cOkeofb$2`j0J@5@op z+rkB7LijKjf&-FB^`t&<+@=)4(f+j#emS8@=e>}G7#D2CdObzeK~@w`TZR>reJZwM z8Zxbim8z30JCoL^gQHrB>luj9u5z^lJ7 zU#atHj%+TZ<&=h`KyA@j(yFlB z9wmn-vIgIG$3{Og%fe3jH$g<-*n1H{LWw)goBcQLO_bQ{uug|tjcu68-B%Ocr@NTf zyRl8*QFqsqC*0yl_c27NE1w~rfOwwviw{;ymd6JFJ?Riv&sNub_ZZs&?=ey#VOwjg z3m{Xg{H?OT{_j2JSr7_N)YI4HMvlcw1JctNl1*#n0Mkia6_lUM+hK5Ya0uBjD6^ri zrUk!yf^I3(P4^g>hqpWIiJ?heAmAa7CQIm4_JMrFDA;A%la*c=JBpe(C4n0 zzxYwNGhn`ga3~_o6g#cp@wD>`Ozbo|v2&s7`P#4S`tyTY5Gv8Nk=Ngb=I5K`l>bsD zep<3p78JStU?f+?&KNk;DEGx2dba^GgG71M=p#x%vl&FA{Z%+LcC`LD-T_q#SOk>g z_xFZI$gPocjaQLqipd>eFEk!Bb*oP=Ioq{cWs)kFnB6tfoyi}^rg~buxVNP~$xn^P zUW!035YTQ`d88!Is7Ky=k#?PQYNy&n`IZ(X>d1&@7Dyg?r?y6Xwmi{7`L*y9D`ERr zkRnUCUi!}>Vl*oBAi9$2l^vdk)Z59tC0GI4lw@_dj*qdyE_xW66bbU=HudgjiI+`F zhN5_P(dqjSY5N7j#QN@=q-LSncBDk2v58u{4eKa21kcw3sx4Ceu~^TTV<13ZGw|rq z=m%~zeteKQywunDp8OuT&Xy->|~WSTo8f}IbWLw-Pz zw2Nq>XTf`01giMPEtnpVU-6NG?W>d1ulFF|0IfESJFb)2pDCL;>hCmAsbJTs6Jd}X z6$G(&LJ`~j2C>Y22SW1;nab_7kS3lwK}1af?)^GaT_nVfXfdTLYgj(aM!UBjBx<=N z1HnF&7QK6zx#^=Wpe6?nfbdm=i??QMne+X}F{HD#>Qd&{#?c}H+X5)!eTi11uxmj~ zC+y&|^C{)k&7;>rWkfJWO#kK+ZvJ;xxaSo2Y=!@VaPdI^@G7!k1x@G}&));RVtWPa z+(QykR~wIZwIxFP4MtqXTQ58! z$!0UcK4FlYcfQQO>chx5Cc6J0DcD5_7DibCKNbbBWTVs)%_l?xHR=?A*Wr618$aYD znH(yVs_`|g*%LC@fiW<98Oc|}s~I#xN#+8zisHPQt7mqi7xv%2uxWEMRy^D`0*Qk6 zMekJ%?yIuur87l2ww@xtLNV(Q-Jb9(q6nFmW(y(`g;JD#)VK8zLXx&?OdV%(RDI|4FWfmNJJ` zzeYN8%LMZEK{Fakr6yZuN_oMdjo*@&NhbG6#8O=M88*hmyl1x#N#Cy$E&G5hjFqL~ zn!0Y{Fe1YC*PI98wBf)(E(l^E7zIr~&55Ljyd! z7Q7M>Z$*~{Mz6Plr?)p4(xb;`HgFGcuwyKQ;60p8op4Yi6z}ieWcEEs$@hd&P`!m_ zhO7PyR76DfNt#(&diRiK2NUiml_+{ESCO($rPs}~zpoprk znb(V2PI|l`x@N&@Sh*>EI`R;T>h+njIK@TwmMRiCiK7?(ZQ`*{cDsNF3? zi3lXAIG)4>B#)rjK~7M)spjuqw{%|yHL(c&5KH`IE7}N6@XN6Hw|&&yjsOWaUgDFvmGX<7loUGss*^XzZXFGDzLK~{a?8aym*>?@_) zBbOt4k5H;mVTf<>3ZnMq9s-rM-rbq@^+%89w|it{eiC(_d8E}zQMOkyC?eeOOmPJ}#r;bdhzqYX&g?ql5 z5Htp41|I#)m(&rzLD$T@$o^qRQlUOI#`!^=^Z&s_cX8whR=7Myhz(S6km3Fn_JD6y z+wTd;zm*zqw&MFM02VF6y#00m1thWMWzbS=p{=*DtDiQkKYIS>Iw;eS@LGE3W|`#kQy!;=!p6(X4)rc9(g`O}CYIM^(g zesa)dq5{HMFIo7h8o|0W4kZi872xhmwW~nd%SuWyh`(Y9h_-M}R{==aUENX4Pmp|+ z=9SiY0guR)YvHp%n7&|C9Kll zkI;K?Z$nAvR9MIU`YU@!BXB4(09VVYm16E*gqcr-j?rdJJ86HlKF{j}D`LW7MPL%Z zcHd;i|G}DI)kgeraikM36%L;XxRtj4&0>;_zUJGcO`v!f0US~WG?unps}$v+*j%U_>Cot5~~%O?OMf+u#PJMgs`q?+*lEwliiNd z1}AF+Ik)|eC|~9!TyboinkA&U$x84dB^6DSl@+4Xl;RXZ_@)b|`~soF2Mbi8;}wow zsBoxqqiDY_b8ETPkg1R;(VDi>B8lU1(;51KF|xjNNR;+{z>~OiH+3O8meffB)e>AR zE#+=?bc{z+&R7;cN4XIBri&ix9OU~%6XvswVF2ng{FdpX7wcvC@%Rox?gQu}%s|=IW z5+p$yY24@A_%cMTS0fFI^$Ly0Ac6P$IE;(G;}(!4CF0_u^7A*f^4ZD$ZMfjlZ^inmsiS zvQ8jr;14Fv$b0k|N0)Fr1zin>8PfVF^?uUk90RaJL~rI;ZXV;fHtlBGJ$eKwL`-z$12 z5o$J20#aRsX6_$!YL(~$A+d+CtYp+_Hh*E~MCvsU;psnWITlzagenKt!`l_DNSY?R z;0NnkZ3vDC02J)?zLEa?zFdX}?uD~Iv3ZR*Mny!FRqk>PJgp3Sx@FTI8u;c#)hk7! zn}(<9JBit5jV1iH9~T_7miV!NALjk! zSX@n7QM_Ms?$dJg{BM5d1nAD>U|fyA9F4P!c4`>nti2qs1yZ*+m&4P2x%K*T`}I`_ z7ReKn4)Q1;m)}lvg2pPUAW%ww7ff-r1vHiN0^OW!#OJJo&Gx8L+ z$=&|9GXYo2V3_(R2sP}_BuzI@TVgl8>eoRGl+43voKWsihh*|;Dn11Z%C9eG~;n@gDTo=4eM>; zAttoju$(_?BaSqbH$useyd)+4Sk!0f{+6>k~gB%Ae-YVe6rrrNf zS^?g|o2@{USIP0{{UcrMpx06LtVx}w6NC-IeDYs)k}oNpyhE=j$Y5PFfXi1K3z^TpH-a&k$U$L5uNxRmbcy-SmP^0ScNQei={$5E z7Zjh{m)8|hE7F!0*xxLtA`b}LZu)WioeMsw%K}7zWF-VooygPhWIb#XHJm7$^owqO zN4KZ}W-oRf7;x91N(@*aH2N);L@R}xmwY zwVp1ckE}`MzWJ?s$*>JZ`p$R?fRWOxP1;TaP7k$SUf&Sz_Y~YYKLb*3PP{t(c&W@+ ze?E3*$CWK;mJjpi12^i`#z)0wSd1(NPXmU_lpn=^N0PEFGmd|r;-2^x7l$Kq*2Q!i zMDa2xE9T}<0T2Hu|_22508IzO}oC0>s2%38AA*@yVQp%Wem_Me%CDzzb z02>Zz4^u%fH>~C6vzWRB0ZU-7|5aYbBoV+8;QUgRP2ZkgoSlj)9)h>byscNK!JS1{ zW|`#@WD(1?BOgDwV58D@IDg#_n03)$(wmE4Go`q`YLW=IKLewa!+$kgzCtWa4}9!E z5ybm%zrm9OW66qi3WIyAV|1LJYMO>HK8XJtT>uAb3|-J>Dhd5oN6OIr6=|@{z;_=4 z+adkw6Rt}$(ikLr^8aXKqkW8aN!(uH3^*x!!+RGR>_N1M>T>Yr_Zi?%v^rBiHz-_= zi{@9_wS*}BongBJoKQ7w7FrRn)`!u@Dq_iM7BX(`iW}7)h0dR>x`ML6%(Z|x$eBUs zwLz9YPGy+bUDn!t7BTd|=;lvH(9f8FBMa8G-BH@gLYz|0_dXe*)-|rGYl|hnNA_jr zvo;p1f%w%~^tj1gquFL`A>&7i5$3AAC1*SIRB`fEi=k=`t(Avx)a#K-?Cb6iXTzzj zkykA33?v{Xsjzag_ucDe9`FikO9_epB|2T|{=7gALj|>&4f=;0628bTPCnX`w84ht zzV>jVB-(*sF;{0_@U`!M(xwDw%jCs{d8JPY3h~*8LRuE?@cH>4SZn&70o4shhJf)F zCp|I{X)@Z{EdgN@#i?3L>@+U6>RG; ztC9WXu_gI-`cV$3jmsoSIc)={r?5C_bkE2nT5k4lSI zzvq`|r2qay0r_@JkO~Oz{te?Nd7WQj@}`H1Qm~y?T-o-=-TLpFD2`F)+<(LGZN7MJ z&-_e@uc_0nABsrRx>&T$5CWL zQB;7Ohe5nXBOqGPo2C(&rnrs>w$(I?n$x=N_Bng|=F4aqgTV)s2&9h{pIyi5z*^wA zjxfyiik+3YK#Bs=jZVjgY}wC`1xCuwHpvGL0UaRFAZgxY-T<*B_U3;DNYdde3>_oE zmSQYns5u+LzR#GVD!p;&GlvCUE!=0P7$D14wr3k4SwG8QPtSVCS?;v>$v0jCe!)G_ ze#GaWZA>wwv3oidGLDO%D~M@rpwvxQ9%P$77Lc?_dO_j&wz6&G_Y1sQDuTum1& zjC`)OcwUB6c!%7by^=UxWK%`cvd|g-qYncM`2PD}t4qC3c8?T6aa%TS$G*+<@TKc& z2;#*QXt-Q+PdW6mtUfkwI&v;)+j=orp)Q6zUmv@U*rG?kO87k5%5Vy)*Qq*f7Sp+Poa{b6xGcAdhHo9i7d|bybJfza4kJikNG$ zTdlfx_s^8Cn_mpwzQT)rwwEiw3A_~ea(Mv&o@5vSi|6fv{wqwcus`Y)zY7uHJ3f3v zfc`($p`mgI^QE0~OzZ7pAhoV)&9GtL#)>MN#L*!-iEaGwWGlUoO!Y5 zmHBreV@V3w^d=!!Wb_tUdyt;+b(T8g^ET?O@1*^l(28Cp55j7pmNwPQey16WIdNE4 zcqs&>D4^C4p#0(cm7eBr+iD7(f6dgC>^F=gN~@WcbDdgKV_J&UuMfJi}f`N|!{y(0mCY`UY; zom@VHeqP4)xZhVlHxBN+S;BM80Q#Qg(UfF0TWzvTj_*a;0^yF*N9rXx-im zpP(&oame9Htzy%-c+c&X_r(oyYyf)E`rwjBg853g_WT>$#^wKM_wF8Rx4rG7-NyfJ^qD$3Ou}v~}ZHs{MGyv>5eIa0Mn@xLRjM-QRm98PQLakMsTT4(X z_`2jeoywxv>QC6q-K~&T{BX`gS&se_%$B~m4nBTcG#(jgp9;TdKHhDLzicM?L7s2& ziQ8>mXSH-HpO>{KmprQjE)sG?_R?WiuCNy30%~peKL-{=v|5fLRvn%TVg;08JK=i| zW6W6`_=*Lrmml(;CZY~c-$&@myfEa=w&uzNtd$~Xt9$b@@%@{=o0A*j&PI4giX64w~ul1 z6BAOd(gwBv`#So5l^CJT-?|o~fc98Ak$BaAaa>q((KzX54q+`L^8bEHglN70QDPDz zCK+xo&A7haZoLK6Iy&s|_;BHjgLV5EggxuPAgB=>p|G{Ti;q;1ePut>DjT3WG5CY@ zBn=6RT(LXTpRE^}b+dC`g;pWW74wlkI1_28dAyCIyqiQOKD4j_qA+IWD{PM(0sy-Y zwg)Itb=NX+0~pf|mrDu(%7b3q9!&^ZfBA%a2(SdW5P}1B8{my2-mEE#z4zIECwdond*{4TQZ$M|7+B^#S6jVj#>czN z5d89d9Yb0sYA7Ynv>!nY1SvXgO*s&KKE~%p1Zuqg3r-SW7I2=6m+DU;HkEq0xW;K- z0K(G5tcjDryhch>@3Kb0KT?S=I*Z_3Np7wXiIj(r2*8T#O1|Ka zn#O=+;-k6#;C7i#W`;r#;qXKlNj;G9V*RB3(#GQ4N~+QTVA}Ph6}k)-W0-^76`mHC zBM?RdGsG_f$K^&(Qu(#P(#SF9RXNucHrEhF9g~3Te^}1mz5Vl`>NeQ+BBcwq1o7d) zcSV5@-|ua8a~|}w*W#+c`X$9^cMu?EljwR#QQVK?dgM^$oK@j#^0@57W91JmjR+~S zuJ{y-*2w_&jMp-$IXunUjs-W_+Nq4`A0@cB$7OlGKz1;`MuPQ$ zWW)#TgNBo=?V5zR^yRW6`zlM`c%g0TLdbn#|1}%)`Z?^Hdg%> zb{j7XViBM${@_2v+||12*K#^9v}{1veYqsu{`l~A2GOU{L??msDMWrHP6NG>VMUx@ z0^Z8gJ!9K>805EEVeBd0)d+XjR%Lf{^Pe-_y#u(P3^~y?L|@py0S1QsmpDC z@8_fn6-H&SoDg<{@XE~gZW*4IQyozjEBG^Qq|h&ezT{u^MnPkh!Du5pm7m7h46sMau!zLlp|T% z9QmDSi0n<0>c6`AQQJ5+VtVDQV#!4*SDNx}y;(1L)&sNutLyZmgD}b_Ixf7aMuEjt zgskqa@bC}9Xbay5{P$JTpY6^n5yJo_=Wu%C8s5>OJJC zGA{64u7p|?{g=K^h`ufu1CRv~O;+%l4}UFV$L+B8RalLo{yLlhBnv$pjG5Ebp`w{D zmCmZTK5~axqVKde8r~k_VyP|;iU|N+4K{~)^m0|JlG$N(P5r*_>PvT9cl9YJS}GBE zVeYK~@9swldpk$S17v>QMwhA?-hMUI&3;f)nGW`vAVy6aW!Q-?_yfgOp3fDEN z=&8C%fpK|e&@4Mv=}1$5Zj`6$8Y>YJRF+sZ)p-oMh6lNL>f(*eygvCGo#1dJGJS-S zZoSy-Jxd(sbPfsQ@9$~gty_RZ|FaRymNT*o2DJ27^cn@D zc|d?8DIK+sOV!UyNssVCPl)1Yh~IZbc7;A(1KV8;RIq=v{CRYK4Inx273QEnH@Ox{ zr?{FyM52b)uk@?CV%ELtZhM!n?RCPUW^4aoPCLC9j&PD_`}fO0-Z@~(rFpf4G~vw$ zQ<0er_PMIkZ}y)Xy25<3GE-}@^OfPgA<@=tm4cFkLigzaBgOBi=_{-w+_&MW;jHAmYCnbD{zcZN zzw5f@79W$#fqJ^Mvo(koFVhW>AnD<;*XPpAYlm(B>eaL5boo zdv~4y)ZLjF>p~p}KHnbZ_9Ci0QY`F>bL)3j5kW4a1T7zuSW=VAxTD)qQ$d?$p%dds zNyh=qF;NoNEEY023MZ9@l-fq}U3tU$giG36eL{c-i@&?n1Bb9A*vmz&qlxEr)#60B zCpaR?N~C=qnPU$bezHdn7CIl*3-ZHaT+Ws}{lX!>LvbGGbga$b1s@dLJO~ zNOqFNlEi^Bn%lKw`(j<;N{(`Qc4OioW)vm~=xtP8ckg)uCF1(m$1V665QIa1W{yQ; z;Rkq)@SG}l-9pR$x3KBBZX8xPL1cM813sA8aURa|@8#$ce;X%`(i|dOLXIlJq_C%u zY^6tvV|QI`Mt}-XO^xfee7K33OAmv8-W(87kgT2t9Gmo4wOpVWIq;#Rnh({;t1H^>L)yj>|jE? znQv{w4LE+=Mi5iJ-VJ#DV7P!`a1W#wCt#u7<{R7WLQ&+1<5`uxVXg;2$Ogm)HzKR^Wh=q#$B z9!Ug}Nkv*X-a+0vT{&VSkI9RlOmQ`Pmz*p?h?&St2+?>roOyXSI$y4J6oKzI4eONd z>8EPu&hygMyIJf|852Ax%T9ep#N|mhD;pWCq4Dw{pf{2(@#}a7`kr& zo3vI>I}eRc0TtEr#(u{am=dxpjnB8RurUW59uKa!zn|0lf&U)9D7VWARd%$gc>M0T znk)-m1Zo5K75$8Nn*^t8k=dFmjY>3@2K$Zj^`OIRU%&6*SvdC7{rK24hblKS#fN&?LJ(S-ofoL0KAf+a?iu3}aN}J0)AERl&2)2yAdQThs`v*eV z`BY@~9%3^7XE|p_&^JqZWJ%O~3WZ)Ac} z9foJp;TD-KJa%}rTPgr;(#u7`+Kvz_SZJ*&ACrpE-O^IJcu+HB_5SmDzeg}$cy#?R zL;9a~L;_1am0i`KV6aN`IxH`86Dt=1#T;tbqYdV-iraRwiCw>o5}QxD{19v!_IIv0 zAEKlcHYb<1qEUHRSOLzV@YC#r={RG2a^nkx5xE2pi2!VZAG%jre&QFj;&n->(y7vr!gl^h6u=aVDstOIP~6mHcf)vR)Ve-(2ef68N7Lbva%t8geVhJy3_F&&EGSb z>vZ@8rsq5)iB~a!ld{>*N;?7!K|Md=kjQ%EaDd@FI7<%aWNE!0Ce)^xdBdg?QVzv; zYeAaL*gDKRJZO{2tl)~RLr#VM4tv3E*h)^m*I=D`*D<5C92gZ&PJCfTf^6=aly_Zh zdN#Vc5zvpOO2VuFN~;mL%d|)rDkK%9G2KYD_NnHQNM4j%87Hw4)@MmB4?-JfqP6wl zP3_tAl|Knb%HdJgVE+a_agGk#o2OTCZR^k)##i6~xz6r#9_^__`Qf8u_ocSz?4JOP=nB7FC>!R*%4ohJm zaM&^$kuLs!h|jJuek*Qyu1xQcBs*F5i}J2kQzQ`o z6N`HPz`|s{+G&XUk_DOO^avz_gZR-Nz!&12QTGnhNtgTM8pf2~2qNp;9yc1vMkxL#yB$6&DK_~w2m84eCWwapXpw1IoodSfxfhq| zr5?QFj*&z`GT)d_GF)>J@B3fsKgVBAHFAVJctag5QxtF-abVNZcUXP252`4R{J>o| z!)WfP*d# zi&gawW>h6A9DjV@ESx%vqdY0NwOG%GJEdr6H+BXUdC9%ne15 zsjlfldNl|Da?+qP*^wNP9ELvDGNJ#jeJZlUVaoCS#d)Iib@1LZn#(wzGMM4cY-9#s zkqsj^qJlvc2)JWuaw139hNFz|HFcCvwO07n!!;l{LImhBE@0(G=y5H-oKjfZ<1V&_ zGxvf&HMAQ)FU_`zlAUV{$_aZhB<;-YqPa|;&>Y5P4%eC!Bybn5-q}N6+7(P zc5PL=wq{}lr_*%fbJ;IfvIg*Yz{WSoCJr;>lKtS`oAgUji38imueB(Fx$4X^Zr;SK z@5JqUGP30{nHKtCo#lZYEHtu=<~sIaD~`e!*p)fi_RM=+0CyA;YFx7`5j^}~#ac%X z&sjkcqyH(N>c-zhA#;;|B$+Jwypvjdk>Yc@bJ2LvSx#OIpBLvO*oZKsJZb~aKu6x~ z(w#9(D~ZrP1;J>L|C}b(vnI!I{g5dU?l7Q<$B)^AR|9_rFYz@hfxabPSGL+yId5Vl zV=GbUC9POJYC#zaAq^#|GKm&C#HQ8De%Gx!*Wf_$l~2)oCv(5-k6aL7e@b6K_rDiy50@1D2w5^sMFSLFjB?fANGd~crDFukVSwqhnSsx0`M|OHcX!eJDI65(dSPew7d5Mo;cy>{ zu|ZeNxrBT2?C9l6XbO9xDny#J^mQ0v6tTyZ!=t{}dcmn)dvE|&dgA#!`2Y1Oy&r)>DmNas+7s% zJG;qu)D;~J$Zgiq6=21kX)2=rzs zHI*Tr@_;MVOj+Z@ah34gBUm#=N}GhF(PHnTa`U5%kSR%X ziHkRfOLL6wR$9CHJl%i5!57WyYa00gAdfo)X*opQA}YnSG3Y|!>qhrIVT~HY{9XaT zOdE`nRIR)?Vsp0cF&}Vf%(NjS4dk~b*w(eN$O^F$J=7yc>;47s+k1n58sCVPRSv#5 z%8NY0B{3h;@1`f`!7ni`i@tuVpUKm>&#kKvo+mT^LqRLv$8cGxoVdT!a(gL4Zhj0t zmtNSyC@i}@?%5tpkL7))l8`p4@ErCp>_Dz{s_$))k-37$FI)MzLt`L@-(CMN48{N2 z+dkLk#X0QIHWrR#1`R1t$DAiB8Q`|{sOLGehMRfj7Zy5;>zAb6+n12`*Kc=~uEQhY zKD*DJunjj>{-VPlR+aS3lA|}3B!m(%F>>0bF9Z|#J7I3El>X)?^g!`j#SsUSU1uYr zS7wr2NQ^vZTBP+wry$A^4o#Nsq4)aT=v(j078Gs*uX49lntF&ZAy|d3RS9f23PP*mlU@cyc)Q?s9=)kM zlr)kup4|T4EL2_0FlT&G9qW~$g`o;Ma5XAfjgyp3U45J`Uuh#j=*HK|LEQdc94kS; zvdeFX1(kG2J!+b+zMf;Jep5)mKIBi*ee7zrLesoFhmTV~czA^3Fpu{d%;w#1XfB8- zotkV$hd9g(5^(?AqHPuB{&)E6IA4OgL3lJ|;p+CUxcnXq+GmeYxWY&|1hirYP6pV9 z^7P-7B1gN6D10wem>Zc@$OMV$V1sc%kSuz$I>abFvJj6q`(61~4t2+Hz-v_-F1XE} zS@85HA%hr94#p8|9BVgp|HEf+E@JtZAby|Fj(`V)xd5H7;Mzd3x+gyaUT?p={=<1$ z$MJ0KKYbcIt30*gRL#8F>aJjiUKS z6+SFo*>;->>|CS#D1M{xg9TFbPI{CY|6;&$cTj{dF18@f!lGS3$glCz2n|HqAD`xF znmzJ9dg4Eo1=(jZvN{1sd_)TfxGM`F7-9Xlj`2t=+$rMii|EOkGpYrjLeOJ|OkS@| zIC6a6(-PKm+*8pl3~~O`w=>IX;19vwthCrcg}1XJmO#TYmqZIf{pLvlYb+2$nw>n4r%=_~_|I{E%e_>qbsTZ5bbS7Y58_oy~cU4D0WLbN}{#jeu?*c05 zfi#sjzc6vgS8)I2mk=QE+ZJu9^Fim;-iGQQ%#sXvhF-0jT*Rkb9khpXzfRyhPe{(4 zRhiAed=h^12sF{)wQL1_(2I4kaus(Ka>?{$>hllmUJbinP(SU>OJ~Ol5dohwQVl)j z@0>8!_O72c$BL(DCC~W5KsL^@c2nQjr%o{@T=kD??aM%?15&82$znyW^z{vyad|ff zXWZmFWBllu2371$Dy&&2i~Zl@q}^PNJvj7L`QF|v8uoVk@_Gw!5=SqW0ZhR%HU`hv$ zTZ&e-V$+7PF^?l(>pE1|CpnVr(0s776AaGW{)N^A{N%{0s4IYTfbfxQ<|85=8xC4l zZ$?^PhK9zN3LbP1kzP}9%3#Qbl{0R%xdGD#r25%6wepiEK4;nLp;A`OE56n0m)B=S zi;=bgX;NhRtCymlxgWVM_QU5~LAa!81tnQRR!-YgXStfTmrrlCSm+9Ls1ft>l4Ex8N1Fw|~UJSYYa(;NG(%)>;^hwEzW_CC5V&sd;9HT748 z3hn)NF=&!teoqs=%;>cI<%T6KZ`8&F-55^I3b{aQUZvd(BkVM9uB%n3pDkC?$5z37 zL^9!iKnN$zX`e4%!#>il?`jIEu*vQ%q(wXqvxtI(Sle%jVXZFhIrKf7YIw+335mEg z>o8|RKUD?nDbW9D1U9ge(Rmj%IF&UVt)Df12-RzJAAZ6W2G7a+=m8c@+`@$VK|tIF zM+_kw=6U#0a`TvL85v!xXf$YtJ&RFPhuaIzq$dJRE1DuN3O$RV)txi`KBuN;pAZZ( zrr<=$x#9IAoW8f7_u-&{Cp{mh`G-HztZhZVWwDxE;Q+`qDp-z&;A&kz4d`48DFBou zk>vxFc+hHd`rAyYXrb_&X*$^&R6I@661e)2aZ36qc5vwImcwxl75GdipYp-O{WgFn z?LX_W6NBsPX4P9S+h)uvVk6{lMz8O0dOZ$xoYj$!__t)JseIb#S{s9_75@5`5RFzdhN?}r7gYz@K_k@e-C{)`_Wu|Q5 z`>5m}fibrV`L+-1>^UmR+og}*3MfQHJ0~r>*;!SuZ!-c+>4vekVLQnG+^1(t^IbQi z1Wwv+y@ZylVR^0J1L7~|KdCE3ZtJ07ENiIw7+hyUoP$p^SyUSsg$i0B>fy$; z^ts3sTOZ%E|4tGeHhwC3y~;6$tJf|v9F&;^OcR-HbCL067?;O$li9_aevIl={$?&- zhMD1>S*97bvXfoBkE~%$QrmZ{$=w7`*S|{prs@zo2VQ1)wf3`Qe}lzV;ix%Jbog%O z9ZVjVLaME3xC0NH0uQCoI~|u`Y1wM_j?>4E)1$5J+JnbIh*-g*hc2eZoPDuTMtlnP zR}CSZUk`CMIoL$g40Fg-_Fub1E+=dzixU61@j42#FGFc<1bpA$Hh&|psTSfFM8?6E z*4(C1=W&|3a1HqHR!tpm7X#!$DpPrp%N9$sR&5z$)R|Y8eyQ_~-5?0$JE@tzjmNpN z5~vHBh;qh|rRPxU8POaKLsQR^jQI0l-x?%=R9H~B#B@ZkRcywY^JetsAel?+Or;*A z$gWgiD?yT)5ly!PK+(e#002GNRl|)f=!8oP3_O&q&X{88HiXPM$V3YdwDOzl8mm#h z^#y6r%W+?Ojxv)5%#RKJd@?|lN=XSF-?&Gvmz!WFZ9Ytk*NS9u@l+_Z$*5u@G`wAX z8)n&W8T{~L-{V4D$6&51Of{za4rBgRo7em;z~7!jNT~Ku9a5d2Ual+VvwcLs4Xhg4 z%Z3U8(E)n%|91!#QWSUAGhjd6tmvnchh;(-&4Bg!|ba!``G$;bnCEfWA@AnrNu5->_d#(E})mn(<7lYygt8ls)Jc4+3u!2!CMn8Q0LRxqY+Kn{ zA0|32g#LZ(+Wd%#CEk$em88~Tne%d0%#w&oG`sNuA#%Sh#|fGC6C!=vB7}s!zuv0E zcKn^HQ2Ek`lCRU^?A^Rq#=7(mo;gvdiooAY0Lt+1R`KPa33$=7%o&hmtN-jfq-f)c z-07qF1~68DUPjXEcA_w(sxvj)=4BV4f<5_-BIge+9TlNuBo{KlD}vm}=U%a*K^bZW z7N`wxcOYI`RqYY!M0WF^MQx}$F_Fj|M4wi#e(V&@QH?hEb?MS;%!!wZO?OvERt{-@ zjDx(D&Yi(yY%tk4&t!j1RHVY|BkIq@pyY&v*!kJYCk1%vjMYoQ-IKRe7`!yIOkAcs zc0qRP{^fLU?Fz~*f0%h|y?UdQIp>3+GX8d}8lh{~>Ef`Li=4H z!JydXSsyoWQw}ww{W3uAyyA1v3N=>iyHXJ2%a>q(W>PgJmAa}gASrLz+Voz?Kap^k z-ZGo2g!OktYI#mfb-S!O2_HoNrpax3jwueN@_qvK33B)aBLq%dFp8KHOHI(0e8d9s z$7$q`z=QCDr4-^y#l=YB??8k~y{z84X^|G6$0f|Kak?*I?p_C8+Sp77!clH=B7;B= zF6$Wqnv`IeOg^$->}3d-5^mX$4qr`4+kB$+bvrC}f^+&DSn!?6Q$&1SXdxNfRU_kX z01g8d=2-6D3JsO{XwX2{m7OXF4rEe>N18v&0=fI&Z4>N~VmtC|R=f`Fgym-1-oIgF z0 za=@@UikN$z)`1n0l<}Vxp>{+7e*rag%-As;9Bdk+Cyf2Yat2%#*^A;~hGJ&!z4ykr zVr8m#r(t0n9UYTCmn=XfFoh}vxkj?J6xlIsfq#-)rwO;9zec+~Anad_ljau-7kUPx%9A6ek z!)mHp1&rtqc+Z$KmP!BaPlB|;0Z|;9V<5(Tdf^nbzo@y2i{=rCmvhrlT)FL`Ror=* zb?QwBs+C75@mgwMTlkL@Tl$7W=#nGo-)r8KXHOjLj3cx{49OLM6`wkU?N^toKUR0t z5#c#Tg16a<%$FDca>3d^&?R*r>3jPM)8(ZYU<4EOIr6OLTCGItz)T zkaHIO6+txDTK8$!<06tExTpgraejaEpoIN3X89VPsX$+}h!5-|`2yYOLzm3d98Vv? zDQ*cv1XnD_BkNzEnY}!)O<&eRO~D_8O(r|V$on`T{#BMhI;V+`mT)l2VgYl_f8{-U zge`&$C^LAXzL7?&&`|42NCI-s@sg+f_b_Isg;u0E>?tt=RTlpu^|`G>J(?78s5mv- zzgl`WRqNjs^;8uVuzw)x9|HeDAS$LK-Colu8GRc8?RLKg8!POAj0qR;&1GX0g0T8n}HheTq-%FxxA8Cze=I2(GHuHM7b0@XE88>{jHwL#buXrFBmsU#2T&Kc{Sd_h(7Vd<_r^ zd+duipwQvcnjy&G7@!-cvi&{fF-LW}42+@Kt9&-Gd>4 zf8OQdnqQwY+an{Fp#ytW^3fTBH?LhtF>s`)zcUNoC|G~mX=8o-X;kf?=f`~6hYxQu z(M?#+bfX*yQAHMWMSP6i@yQLiXuEixmvJ0xF(v9(e_U0Iq(VK37vLF;9hEF>JTXsj zfJ;?qwKiO0!f2apnRT1O_uYbx-3>AlAPwkqX!RnVylP$pgbC9<;kyWuRFwN#Brevh z6a+Al#uAmQG&^S$-5fhr0p~;o+MHRrJUKrs&bZdy00gk8^1l|;L=2T5!wd57vc+gm z(UKRA;B=mNR02_VP)6gkDxW%FNchFpb*l3TTs};O*S(c^RR)e^B&z1Kw~MPE`=N|KbP%byn|qU1D2bQNX%ZboslNVt2o3}RYB?&E`chladt;zk!thQ zYZAsm&ICnKd+KP+7%NCMp%r4aL0H4EPsJ`EZ)DSk9V+uebz<1DsaWZ~VNKkTxpy zF;T;LK6`u5d?Bl}AG0Lt3W+?R?8mFAFiR?RD*vxx`+?kL-ezcKK5R@@gQSiK&^Mwt zr&&kUI8}=;HD{jUD6n%ONFjSyX;szwb;S?Ge5o>-+<)fbDRwmm_HT`+Etrl%>+^~}3*~~%tW47J2htpan5SnV4%HV+Elxb5|^B)+pXl+FrR1&tq;S-JPkM) z5HQdlNu_8`?E+_gOOVzvvj_MLmL_2*P~~r19JwYa?nRdV(=exO6y? z_IBf^ap5jwayj*xj<7>geV)`Qnz)kS#oKYR`Qcwzh{NkmbN4gdlpo5+=D#&P1u|wM zFqBzm^JCf^dz0Oc^TkBCn5=a^N>S^^NQo_#6B&76CilmWgxvZtt1aZBf^(c?xI{#MK5> zsIuU8b9ay!Kn@c~&!l7yscf1v<_UT3=Td(QhiPHx4HOLZs+b=iHkZeLd&C~}if#0v z2K=lXbSj9+D@UQesfHs;8qZr3eEOc>pN<`v63Lq(do>wHfYbyA~4kh&56ezZ*^_W%nU}9SPSlXWWUcCQA_1d6aq8 zU0Bfp122dK<`XwMvSGBp3ylja39*JAlp&&?)<9&-IrLGi-cu2!@igH!u+e=RJy^2$ zBI}nc)9`0H(7DlmYk9rZsLw5R1q~Lqj5XsTwQ}FR9A3;%>{-%b&z-Af~L+d-%NqaTiaF08tTvP+L#z z!Ku>RIlVBV)fThpuKHo}nENREagan3cK~M5>IUvU5MM<4h&{Ut^AAndWok2U;JqZX z<@Q-!1yNbi6Qm&v4qGJl0zivC%@-lcW~g#%D&v{M+hNPx_Rc7n@D#{WsyYkHAKyIX zn#pyaoktZ&tgexLH;|Kg4}GHQGOGQak67I8u=3_e#}I^WxNeo1`fnG>%hhOd6Qr-0 zYa1*LxDKyUdoo?}!Shzk-A@;x4kCA~TnYdRGAil;gke>b|+n@PJnf_l^h~w9zSY_f}*((HkLVJ-7c}J{P zHwF~t0HU43Qq?ry)a|4b)kIqlz1Z$2=#IL)Tm7*uJO(i(QMi6i^FpobAG?ZLmzA~l zUvFK}L8qL@)wSt2J-4scXq$$gl*5SQrm8jIf9vM1NRz|%9KTDum&yN?!77}yg>_RZ zRC)rZ%e<%+BdO*?>3+9H@UKvz!5gsW&;Jw>FqHqiojI45Oe#>WGqz35PKZn2^7Qt7blXwF&mK|K7rUA;99@l z?+O)bT2Z88-Im1dNgwjnXPuD9hb*;|rSLs~woxHQ>-M17{vqR(9Zf4+6Zz4RR(><8 z0X7`g^he8RO62I)6H@*uW#SytY+?<5##iknyAzfuD8mP?uCJiYnk84E*6CDJT!Ka5 z<;Qk+{r^0@mF%?;BuBsf+$|uk!wVj{yad6xm)$AZte5U9AH-dxrB=R3hN;M=vH*a> zz}NA?c!2oHk22bG-rh|9y-31x|53!96Isi5S1Y7n4aCk7zg_rH8qe~o1>|cui$l$= z6Y^{2+wV3b2;Md`up62;LGdj-cK7Ay?s~OfkHQ@>-rJM~{}%Gl6LRjta=*BsYTNHBraJhGk6whtJ%^Yd0Y2~Uo5$`XY2L93Ga!K@ zXEG1tlk0Z*GT|y!k~6O6_SYjtcYcYf)s*_b>lO<}Uh0A+NS@Q>_#lz>Lzhs-KfHvX z8FeHSxQVFTWkDFIaJl@}W8G)~T`H0riYC-QU^QaTV8Oe`HT7-y~#WhR0hf(5^YY(k3d(al2A@mL;$)2;xsdtL8IZXqK`I0|fYww@4bNh4*1 zU^op1MCn;%Usde#xcAT;82qs-Uwq80t6fhvaNCuug1=$P1v@RkQ#dl2qwX;7Fc@i- zGi{4qh?%tm%R+awrI}@w6I+5DMM}1zd;Gl%9edk$qt2W{(=K=D zkGK*E=jz&t^W1wsZ{#;TuWPF>cXcDWTj4PQ54muj1D(|-+OqV98&?%LI@$7PFR1r^@L26P+t zseN^CA>!e~S*FkcyoM&OzXQg8{?6uhuz{njuAShWvmpQ2{$+|@?ZtuwIP6&gz z$h2+*Aw|;@ReHdJM^{6RGDv^YnWHdDHg8Rt#e!IrJ^#h;b11taDYWB+%ZkqALd5Jr z^5l;xf&;XMd8no7y#t*7+&7@@-10<7{Lmv|Lj`r`&9VAz>7K8qWqn0@!UER~9?{GL zhB=lMF}q9;@~xC17y1d}#^1M+=xoq*7j|%o_0@`s;n`C>A=5Y>32LvEKUrk^)?}A0 zeMZMucP2lCvRu7)rM*uzDITd^C78w7@jF$zeCi(`%p-4@)-RYoBLIA;qN+V6tzeaQ z$cx9Xx$IA^m%X*HL^x+%uHT5P>uHB&o%h;=rZm%66?6Pw%@~S=q_zlcYtwxHgZ~hH zkvWQ}bHHFA+&;S^j02Y9M|(GZ>!B5{4Zlgg2;VIc;=fnACkyqkmQ~X}#q;oe;|>|V z9$N^tV{-%LvoblVo5*F|FkzJv3JQLhE?jPxO^uFF)i_fm>>rjjB@sFq!e6lwsfv{Q zJ?#X+R`R;=5b`oSLKt%X@9r$JO#8RGRfLcWzT%1EqN6h7a`Wsk58XJF*1q zN@Gf`o{n5=%8b&FlTIJe0>9GzeM4k(*2Es{w(NQD-B}?1AQrUsYwP=K0ot^e*B;|z z6+j4r9z7-7WLcn+oaa*+?RO;&sQlo*wTXB-104{(KzVxzk6A-9!fVljjYyT&&N%Be z-6fl-11!cQT>{ktInW{nOn#KCYL1Ckf7A?Kum&pYm}~w?5O+nPDRV~K-FuPWXt|JV z$k%A2&<=rw(j==t@QXx&917KCaBKGMCl!c@5>=%I3x0qv*&Yk$Do72 zC8jkBIc+Lh6(-v}-*1GiQrbKI$RUpjl6BZveG+wDWNCXSroIkJk@ebj;r{ zLBT0`5}VEto+XDnCQplp{RppLC3_GTT7F3SQtXuv!@wQ|M|08_)c1KcwajM_qZ-#Z zr`nhP#)1~%f(>InMuv@^Q!oNfOUVJL=}GZ1GS*R>X-z?71~Ruu3Z1UCL&H&uw&q)1zuw5qyIXJ2-H_pcb&IOn}kwf+n%ZyMuV>$y>%x-*Ct-d z^AktbG`@r()hNM3co_Y*Kz+;WyYSTf;t&js;%hVq+hNw2;I zHpFplqghu3!`BT7f&%Lg)vG-hHhE!e*OEsUl4pQvkcZie;ceRzlT-h2d?;+WaNgiT zIsS7dmS}{nAdme*jVM9g6`DVN0VBMYQ!G;1i04S>OQl;9j(D4Gfl3MWpFo6Xl6ek3 zS5sn%12!IEbrk{p*b)xDW{X{5W^0y zI_qYpa9CdA9{TIzc*YEdw0K%yZeuS8mMao?2#)+B4^)MORsA<0frMi2d*;?yo!yGC z_OIJYRyn3)!AHuw4W2wLC)UefZ{SY;vj>z+U^q{Wbbn9%(ce+hqR?govHNs`Gjxfi zWxjdAR8{uH-`&JB+G7dNA^D4gc*ex|?_C!W*Xyq=l1t@s%b-~EXkW&n5|6|tjT!dg zU9JdnF?TSEI`HCkL{M&k{2lsv%Pvv-%z-H^$A;j%2D3vqxKyn?v zD9fU^A>t1;-U42#!o>gJm5kJ7hO03A0lHdb;p@8{qcZrvFT|*pMIMN6Cp=(-(qo;>3R>B#Au8fc!>GTqA!BV(LJYNLV=lSqw4cJ8p2Oq-4wXWAS@b<)nm2 z&l*d)mM=WptfajASGZSkcx+uDdZK3lpts&kQ-gi9wKBxiGtg(<{x36V6W5(Q+U4KE z{fHVIFBTPF{SEIC!%}u#+G%=zuV({Q8a;tvWPF8Zkd+RZ=nsc|G-4v3Ub{2`xpg+F zCGx_ClMX!);WhCY7e)c1=rXccal(jOLhFe&^9CdLIkh{+K^} zN8(CzD9!3q$bvyrO41fqXn&w_@TQdnJ2Z~tC?Uy$K`)N5Z7q{|W2Oe5HNXlkBQ7p& zvFWIVWKx&J5kFUlHl6PmbCQ(K4Ct+h?$}l8DsuSm(+r4nDnuiZu$#@91Re5?O^>9n zxY$2~g6b?bjSZ@e&h75!0jHAsM$lLB|A|k7{zQw zA<<%G#R{b<+#|WbDf%OAZ)p&y725eaVX?>BXz&TSfg0&C|ASl{xf_ny9I{h_IrRH? zwLhBD3TZ<{${>BOziPO@P31=SIqYG@&*x%3M6s>)4ig5G3RNcqdn7<$3Hgw?>-pFx!yVN?(33Azen)T}y0cv7 z&k+LOQ&}sFePeJy;)N%G(c1ew-{G($3@@cGUI4Gq9v|H_BxdBSi@0`Ex&BaTrN8xd z6X;gO?oefO{0$;MPM`g5BfmeibE1F+tuFbz61b5j>Pq*VyuL)Vf`=#~7X4SMmu~n) z4i+ScpuCPELrlM9s;48IP-tMHY%_#`k0Li-2eBp8ELd zw^Rg{2lrLQU1S`S=l|BhqVQ580D)_5mQf`wvViEmpoBHX+pi0__ zMakB*vRC;H#hG`CdY42ugTtM`{|84MwP|QoDjOYWhW&()5z7R~hl0_{M}*gF(%||r z;y>!4hbzHDW49@zfl~VZ3f2M^K;-y7R^b2T zP?^h-q5#&TqSB~*eya#a+;;2<6r2d0+{5lM_qHQ{iH#1X6<)aa#KFoO+m(G$l%Zx{SW-%!jySV%>b#IL6_g3dRD4NEfPLTizE!%tt|9-Qz*G7L+M z%#P+0OEVy4?XM!GJ?KpK3aF7h3(08G^5e0iDSKVSBlkqy53$)-ME-YQKop2oJrs`y zy+>XB!ZlA>N%H*YAD8@%*LQEvN&E>sty&d)X`^;+%!hx57+pW@2C$sP7b*H+-0zEo zcW~QKokx_wtvatk;V@$mF9!!Nn%2}cmv-z zrb1U+B+$_5yqNS9XhyN=utVfCsg4V?h10)}{E zY_Y01oe(usphvOhtP;=3yBl9DpR}__OoFs0GGt7ljttUZ{sJkj=X~}@+Pj}757o+` zYXf#a=Y{3T4$vGosIH+f{Qa%f3Ueaw5|NiufuJhH9b=HCAnPupe)W35^NL%m8Xmb- zQZJ>-=Y}Ike)jK^w??kfhuY$0*{g(C%^iF%pBps3{}xzFil$yyy~e_;d|+Xj^-C-1v8I|def@0Yao=|@#o*$7_BUf!|A!(1EmC2DsLK(Xvw^5^)*|!}t zH^{fohOb9{`Wj+sWiwrNXC?}-%f3^XamjH$13drcNVW}x1qr2NA4LrC$^7)`F~nlB z)Y&u~Zo!5nBT@~W2Y%7C7uk=Vr78{sDck%L zTjl#}7DmMLO#YH54C^Rke0l@Um@eM2oMORjpLZqZie4I1#6u+6Uyb;!ppzjDjO1=iy$;frkE zh%pJQpMuqux4n0KL$UkDCC0+77Fw6YL9L4M-gOaRZfQDQJrF$TDE1%hR}AfZfwF%T z_&1`+E3TE}K5lg|O6unU(h90@S>*Ch^-8#=lcFn$eH`daP!>!2AhnWpp@$=RgY}3u zh|X(FJXhv35QJkz7k&J}pZ~!UC=NAp4&V-qIAI!M2pC~of-2MOhGsAX1x|TI_A^i? zO&7SG`}Ww(FIh~J8}7#?t7h<18e@>{k;pk`lshVN*PpC}Q7}F8bPD@?D zGRuPkde3+D*0+FR z(B3iW8wS>6mVpqK!R1T>szIy9QlO-=rywHn#DC4UT(=*!;{XxHr}}zW#ImRrM(AU! zSPWGJ39n3XhpCpr>hM2x;KT~1yks^vr~>5yFo4S4#D8pzB_mI=I{UwjCLJ^il=9Hg z(0ALoq5`?3!~-qW8uU_LLOg@ePjNIq?&(`yzpfU0zA6cuOPr1)-st7|Y3jQy{6Il@ zA?T3xZ|7rXXw4Yw1|KmnL-Ka{s&kUU_bD&Uwo$hl7%I|FOGe@?Cfyw|_T&*|k&n^=(~Z3bykI&8qi_u8rm~BfN0NQ$+W| zt04?(g@<}nA4%e#Itpc6h=5uLUIRhIkK!wrv5Ahy_xQ2Z7)rl!xwB3Ilo@AY4bGzF zW@i)Hk8l0`y+m}9XPYFiFMo{Rx%8wDte#~ZEhVfx!fr-(+)oJ-S1Eq? zDdRX4Zm@5Cm3z3#T_rNru&iE)C7N%4_BQIznmJS3(Oz`wBZjCZCW{_)VQU(!Zxjph zv%FYDj*|iXuilIIGyhrgi7d8qcQZ%9$hEY$)yQf%=`s_ENXj@H9=WL2h43dnwU|+} zqd}1CAByIIJ$n>#&3d_%99gWd#I{7#iMe7gHuFmG zp!;VRO0a@*p1@9GWS7&7z`r#RtI-F015I!|jRnw(=oB}c{Ah{G$}HH6W%Q%ECkLPC zh63d}F28ECn&>0Hf~0v(_Z!RFoC@eTbhZ{5STg3ZlQlX5rW9e9H_u@jj`W2;W=CG* z@UdA4z5P7KxI@G~TZ@Y_32E*a209^rWPn>!!WdqR6&~QoK93yCSby5Bk4GI|jy@pe zbv8_@h5oepJw5-yRo>3P1+#S67}$(%Y)-g045N2>kw44{Uc@T)Nj>U|KwM5JdBeUN zvaJbl-=l*E%38lo$}eEWwSPrD%P2I|OL+AievyLvfS^vc(H)U(|PsbKm28v4R3g4^$QiL^a!cVXfnsE>S;ni2Me@Cp^{y zv)nNzu{{v4pF53E?9e%m?1xnN#&7*$S6lp(k`X!jMyKmV`FO5V^`9uf_bKJ|!Z3M8 z*q{7=1NB=U-UKzw^%Pavaiyws;-*nI7#Lh!d*LW#KB5&LEb55axc#Xv-6xc3gvd;Y z$y+!a-l+M&y&SNVww8NA77Wfuu3e;82)r`uy3Uk4YyW(MsgNLL;%Mli?c)Ek#Hq` zz$s4zvWG+9SjqG0C{l&7u@UGXXgKKLd=!QPDO@Vk)FVBM7lr7jM@`@ErRS__6*o;c z&0AfIN`vPvva)i8torG-X_%aDZZ<3PKP#!d0EmbMi~5ulOAmYIF<%03GF$Lb2y!B* zze}ISeu4~#mA$GbF>NlJ!LcR*Yr$)K4<7P)(sS~g(bl*_5sVS+Kfx-;lwFX5LeVy|7kmol{VNnG zz4bkYGu{d0!`^`+u_wT}VV}!$gaUWu#bge;qcEz6f`nBEP2Y>E+`Bbw19%#Jd z^(U@kVOQ>CahQPi{d^HZ^+6%tIsEnQxB?0u_(5Qhx~H4)-urq%lSR2}4gfE5?cfiw zd{h~qgt}tS|NH)-81VgyEI)^-y)06l|M+@@qCZFVT}_E`@p**Quo8=s(2vttoxWc| zEQCMmEmq`==LrTh<$Z?oX)-F%SN(g3I|1Hc8tD2HBgr%F56Hikt>|$WVp)^XoJ5T) zx(HLvI`BFRnL=fN5v@b|-S+Fh=5;|>1MkT3A#^JAb0PYLlqGa-RDIPrl&lV>5@Jz2 z0@F%iw>!f(V31xNLrw_&l!rOLnaygov1v>~B-M6p(uo=tz%Ut9Ow!}1m z8J)@tPX48FQJ;e!WJ{q!QfHyUx7pa++N4CrX6No9yezrW1?$Vwg?8oQlQo9RN{!YPYVk-kRn5v+ z6xRrIS5coH#f3dH-y%VC828pm@GHPj?oW9-xA#}rO~*9MMeP>p&EoZGz$8Mg$z#Iu zt^jy8;o?)e|8ZDLmZrq1Nt!ym>}W$vBaRLsPTLezXh!*4&2R}O_H05AnWYkjD8~$X zsNQJL7=8S-K-T@8>F-)@(ulx@yBV6+;#IP)?P%A-LUnSTu!6w#{Bf)pW~qQ3z*FRL zS?e=$clR%c^43n8l#*DLyVa_&^|8Fp80|Sb+3-Le3M_7k_&l6^#L^ ztkw6Csrs^bFQ!Ix|Ab~mw#1{`IpcJW_f#yJk-;=e9ms4o_>hgfEs~GAbnX^sk#Nyy zCuQwhu@{1pYR-T7ZrQ2PIcqr32zhBtrVQjt?KM9kDPsdcq|(~hP+K}zg3B31mF2V@ zr;e&7X)`*)tD;i;=pz*2!kf{Th)aq?LEOo5wMe^JxQmXJTn|M1-`V|vE>&~UZUO9W zlPHHK_u6D%8oiEHcf+>QJRj#{BoiOt7dg zVk)gcMh*xz!OJlYjJAv_YH1qv-$;Ae$vpB$u_3=z@MA=@IPPvqmedtrCrC20DX*pf zp~$0P$|QwQz;|Z6rZXL)_4KI<33LO%2W_o#dT>9?0zM}@yx;R?Dy@iCQto%992*IV zGXF)10td)rb%=96DHN$<_d(%KtJp0R6xYrfY$+;XsrjvI)2NPFajDHoz6{e*b?)a! zT(q>5aV^By|A~r3srs>=qh>`0DVYs}`00)f`~j+;A#zMiLsfCxC|DrTn%KYf4lMnV ze9DHbbt~+Zw$Y1D31;S>VRiar*psrcYokMdZveO#BRhDs7$E`eZ&Mn_bHbXk? z&%DE~;j?ysJa{M@EBkbYM4ZteneK}QSRIZV-{hZ41GWY#E1hbhB0yN56rov4BF6bl ztB-+M#r$&u0fEUwuAG@9>#nH;Nw4Hy0yQONxx7Xq-ZwL` zw)UYZ?8~4m*5SHez`8OZ!g3{2Y%#0N7p$qK$XSJalK;Z9fO zM_EI643`5UPT3Z?^zX%pfwL}LOp2tBtuV~jJa5m*227NpUXJj=^V7hUcL}qe*PNBL zXO(_y4z{~o`IFlHqz3JrEqCjCAEIM{TD>%T%A1UNZwj=KJakT@D`C8{cDOHAigz-ja_mVUo#q^_Yv zVK1G{QiY>1@st#wba@idcaFr6v%gTE)yT_6=Eg4@m*@VIs5t|$f!*Ls2Vy4(x~_-o znspYoGgCA<5D1(Qw%gp;Qzeyzsslta=hps%LoJ`#H{;WM5`r51MHu+b>uZ3l*~854Wrin#%sb^4 z5Ro4h-mpH`NDd!VEAxeMoVN^VfKj*@H?^?(pq=mh>)?XD45G6K(=V<^@Qv|UiOd|= zuj6+rt}r&0GNRyd?eP1R-|H_oKeW8s$3pfc7-;Q=O|MzFmCJO@+z0F0EuRv?y|J9g zo{)M(fZ3X8GMd)2U~t5HU{|7`Nkt?a0PbiCXTSdNkzH74sQe|1%}zPojtoUaCVYW= z{>R3{j4#ZWjdVcbA{>0A%dZF&HvQ2ug@7Fd*YL|Ic9kS(&^;i|(OUSgfAd7-f9B52 zTA+hej8Ds8O{QHM;n6VlPf%1zTz$iJnyusSXNAGqx>{qtai;I0N|DeDEDonx1CxBL z?4|}JCWWa^%!c&&f}ZHmQf6}tc(QUsdV_~KdBU1#`3`=i(~S_gJ(*}LN(9gT5J&!W z$TDy`SbKaA-C;f24S-Wg4^Ko=IJhs`Sk3oGxUBkbMt#pE^~GLK(w-SgSlXS-9N{mn z!?1LkQAb_^Nf>35Dz|6;LSqKZef|vp4x1CwenIb_QiYgpY9=a<-RyzJ+*p793bo2v z8c!!FPr+rYpXK_D*PbD6C0i43w3i!%Id-#Rku&uxWG9n>P0<>nt*5%uYW(@0>_>10 zX|dcH_k#b-dv1(i`N1A20ULt#fS;PCc&f@jMjy{|3gwwl|BecZ5zaaGaNitXk=2

    6$vx^ocor<37T0Jg+`hSn#NGTL#H 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

    (n$JgLBHRu=TwAbYX^`>b@C>kis2(5d8@H$T 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 B2Sfk> literal 0 HcmV?d00001 diff --git a/public/s/css/yui.reset.css b/public/s/css/yui.reset.css deleted file mode 100644 index 47844f75..00000000 --- a/public/s/css/yui.reset.css +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2009, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.net/yui/license.txt -version: 2.8.0r4 -*/ -html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} From 56e5b92955d126c47ccfb390ce3cf271c55bcdfb Mon Sep 17 00:00:00 2001 From: docunext Date: Wed, 24 Mar 2010 18:46:04 -0400 Subject: [PATCH 72/94] aok --- README.markdown | 31 + git-wiki.rb | 8 + git_wiki/app.rb | 56 + git_wiki/page.rb | 150 + git_wiki/page_not_found.rb | 9 + git_wiki/public/images/list-bullet.gif | Bin 0 -> 106 bytes git_wiki/public/images/script_icon.gif | Bin 0 -> 91 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 167 bytes .../public/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../public/images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../public/images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../public/images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../public/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes git_wiki/public/javascripts/.DS_Store | Bin 0 -> 6148 bytes git_wiki/public/javascripts/application.js | 96 + .../public/javascripts/jquery-1.3.2.min.js | 19 + .../javascripts/jquery-ui-1-1/.DS_Store | Bin 0 -> 6148 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 167 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.7.2.custom.css | 406 ++ .../development-bundle/AUTHORS.txt | 30 + .../development-bundle/GPL-LICENSE.txt | 278 ++ .../development-bundle/MIT-LICENSE.txt | 25 + .../demos/addClass/default.html | 51 + .../demos/addClass/index.html | 17 + .../demos/animate/default.html | 52 + .../demos/animate/index.html | 17 + .../development-bundle/demos/demos.css | 334 ++ .../demos/effect/default.html | 104 + .../demos/effect/index.html | 17 + .../demos/hide/default.html | 105 + .../development-bundle/demos/hide/index.html | 17 + .../demos/images/calendar.gif | Bin 0 -> 269 bytes .../demos/images/demo-config-on-tile.gif | Bin 0 -> 180 bytes .../demos/images/demo-config-on.gif | Bin 0 -> 343 bytes .../demos/images/demo-spindown-closed.gif | Bin 0 -> 104 bytes .../demos/images/demo-spindown-open.gif | Bin 0 -> 105 bytes .../demos/images/icon-docs-info.gif | Bin 0 -> 214 bytes .../demos/images/pbar-ani.gif | Bin 0 -> 304064 bytes .../development-bundle/demos/index.html | 240 + .../demos/removeClass/default.html | 51 + .../demos/removeClass/index.html | 17 + .../demos/show/default.html | 106 + .../development-bundle/demos/show/index.html | 17 + .../demos/switchClass/default.html | 47 + .../demos/switchClass/index.html | 17 + .../demos/toggle/default.html | 94 + .../demos/toggle/index.html | 17 + .../demos/toggleClass/default.html | 45 + .../demos/toggleClass/index.html | 17 + .../development-bundle/docs/addClass.html | 108 + .../development-bundle/docs/animate.html | 78 + .../development-bundle/docs/effect.html | 142 + .../development-bundle/docs/hide.html | 143 + .../development-bundle/docs/removeClass.html | 112 + .../development-bundle/docs/show.html | 143 + .../development-bundle/docs/switchClass.html | 128 + .../development-bundle/docs/toggle.html | 143 + .../development-bundle/docs/toggleClass.html | 110 + .../external/bgiframe/ChangeLog.txt | 20 + .../external/bgiframe/META.json | 32 + .../external/bgiframe/docs/index.html | 113 + .../external/bgiframe/jquery.bgiframe.js | 100 + .../external/bgiframe/jquery.bgiframe.min.js | 10 + .../external/bgiframe/jquery.bgiframe.pack.js | 10 + .../external/bgiframe/test/index.html | 197 + .../external/cookie/jquery.cookie.js | 97 + .../external/cookie/jquery.cookie.min.js | 10 + .../external/cookie/jquery.cookie.pack.js | 10 + .../external/cookie/jquery.cookie.zip | Bin 0 -> 3471 bytes .../external/jsdiff/jsdiff.js | 159 + .../external/qunit/testrunner.js | 780 +++ .../external/qunit/testsuite.css | 120 + .../external/simulate/jquery.simulate.js | 152 + .../development-bundle/jquery-1.3.2.js | 4376 +++++++++++++++++ .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../development-bundle/themes/base/ui.all.css | 2 + .../themes/base/ui.base.css | 1 + .../themes/base/ui.core.css | 37 + .../themes/base/ui.theme.css | 245 + .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 167 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.7.2.custom.css | 406 ++ .../themes/ui-lightness/ui.accordion.css | 9 + .../themes/ui-lightness/ui.all.css | 2 + .../themes/ui-lightness/ui.base.css | 1 + .../themes/ui-lightness/ui.core.css | 37 + .../themes/ui-lightness/ui.datepicker.css | 62 + .../themes/ui-lightness/ui.dialog.css | 13 + .../themes/ui-lightness/ui.progressbar.css | 4 + .../themes/ui-lightness/ui.resizable.css | 13 + .../themes/ui-lightness/ui.slider.css | 17 + .../themes/ui-lightness/ui.tabs.css | 11 + .../themes/ui-lightness/ui.theme.css | 247 + .../development-bundle/ui/effects.blind.js | 49 + .../development-bundle/ui/effects.bounce.js | 78 + .../development-bundle/ui/effects.clip.js | 54 + .../development-bundle/ui/effects.core.js | 545 ++ .../development-bundle/ui/effects.drop.js | 50 + .../development-bundle/ui/effects.explode.js | 79 + .../development-bundle/ui/effects.fold.js | 56 + .../ui/effects.highlight.js | 48 + .../development-bundle/ui/effects.pulsate.js | 56 + .../development-bundle/ui/effects.scale.js | 180 + .../development-bundle/ui/effects.shake.js | 57 + .../development-bundle/ui/effects.slide.js | 50 + .../development-bundle/ui/effects.transfer.js | 45 + .../ui/jquery-ui-1.7.2.custom.js | 1866 +++++++ .../development-bundle/ui/ui.core.js | 519 ++ .../development-bundle/version.txt | 1 + .../javascripts/jquery-ui-1-1/js/.DS_Store | Bin 0 -> 6148 bytes .../jquery-ui-1-1/js/jquery-1.3.2.min.js | 19 + .../javascripts/jquery-ui-1.7.2.custom.min.js | 163 + .../stylesheets/jquery-ui-1.7.2.custom.css | 406 ++ git_wiki/views/edit.haml | 10 + git_wiki/views/layout.haml | 31 + git_wiki/views/show.haml | 3 + public | 1 + run.ru | 8 + 163 files changed, 15264 insertions(+) create mode 100644 git_wiki/app.rb create mode 100644 git_wiki/page.rb create mode 100644 git_wiki/page_not_found.rb create mode 100644 git_wiki/public/images/list-bullet.gif create mode 100644 git_wiki/public/images/script_icon.gif create mode 100755 git_wiki/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100755 git_wiki/public/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100755 git_wiki/public/images/ui-bg_flat_10_000000_40x100.png create mode 100755 git_wiki/public/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100755 git_wiki/public/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100755 git_wiki/public/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 git_wiki/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100755 git_wiki/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100755 git_wiki/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100755 git_wiki/public/images/ui-icons_222222_256x240.png create mode 100755 git_wiki/public/images/ui-icons_228ef1_256x240.png create mode 100755 git_wiki/public/images/ui-icons_ef8c08_256x240.png create mode 100755 git_wiki/public/images/ui-icons_ffd27a_256x240.png create mode 100755 git_wiki/public/images/ui-icons_ffffff_256x240.png create mode 100644 git_wiki/public/javascripts/.DS_Store create mode 100644 git_wiki/public/javascripts/application.js create mode 100644 git_wiki/public/javascripts/jquery-1.3.2.min.js create mode 100644 git_wiki/public/javascripts/jquery-ui-1-1/.DS_Store create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_222222_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/jquery-ui-1.7.2.custom.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/AUTHORS.txt create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/GPL-LICENSE.txt create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/MIT-LICENSE.txt create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/demos.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/calendar.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-config-on-tile.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-config-on.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-spindown-closed.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-spindown-open.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/icon-docs-info.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/pbar-ani.gif create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/default.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/addClass.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/animate.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/effect.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/hide.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/removeClass.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/show.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/switchClass.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggle.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggleClass.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/ChangeLog.txt create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/META.json create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/docs/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/jquery.bgiframe.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/jquery.bgiframe.min.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/jquery.bgiframe.pack.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/test/index.html create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/cookie/jquery.cookie.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/cookie/jquery.cookie.min.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/cookie/jquery.cookie.pack.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/cookie/jquery.cookie.zip create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/jsdiff/jsdiff.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/qunit/testrunner.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/qunit/testsuite.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/simulate/jquery.simulate.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/jquery-1.3.2.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-icons_222222_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-icons_2e83ff_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-icons_454545_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-icons_888888_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/images/ui-icons_cd0a0a_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/ui.all.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/ui.base.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/ui.core.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/base/ui.theme.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-icons_222222_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/jquery-ui-1.7.2.custom.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.accordion.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.all.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.base.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.core.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.datepicker.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.dialog.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.progressbar.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.resizable.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.slider.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.tabs.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/themes/ui-lightness/ui.theme.css create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.blind.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.bounce.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.clip.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.core.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.drop.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.explode.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.fold.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.highlight.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.pulsate.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.scale.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.shake.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.slide.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/effects.transfer.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/jquery-ui-1.7.2.custom.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/ui/ui.core.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/version.txt create mode 100644 git_wiki/public/javascripts/jquery-ui-1-1/js/.DS_Store create mode 100755 git_wiki/public/javascripts/jquery-ui-1-1/js/jquery-1.3.2.min.js create mode 100755 git_wiki/public/javascripts/jquery-ui-1.7.2.custom.min.js create mode 100755 git_wiki/public/stylesheets/jquery-ui-1.7.2.custom.css create mode 100644 git_wiki/views/edit.haml create mode 100644 git_wiki/views/layout.haml create mode 100644 git_wiki/views/show.haml create mode 120000 public diff --git a/README.markdown b/README.markdown index 35f7d41d..154e3b28 100644 --- a/README.markdown +++ b/README.markdown @@ -1,5 +1,28 @@ +<<<<<<< .merge_file_YFuwYZ git-wiki ======== +======= +# git-wiki fork: + +## added features +- nested pages +- double click page to edit +- instant preview while editing +- save and continue editing + +## notable changes +- /pagename/edit is not /pagename?edit=1 + +## future features +- deleting pages +- restoring deleted pages +- moving pages +- shared sub-wiki's using submodules +- log / history / diff view + +git-wiki: because who needs cool names when you use git? +======================================================== +>>>>>>> .merge_file_6bMFZW git-wiki is a wiki that relies on git to keep pages' history and [Sinatra][] to serve them. This geek brain overlay system aims to @@ -95,6 +118,14 @@ The following [gems][] are required to run git-wiki: then just point your browser at and you're done. Enjoy! +<<<<<<< .merge_file_YFuwYZ +======= +## Setup: +`mkdir ~/wiki && (cd ~/wiki && git init)` `./run.ru -sthin -p4567` + +then just point your browser at and you're done. Enjoy! + +>>>>>>> .merge_file_6bMFZW ### Note: if you're using passenger you'll want to symlink git_wiki/public into the repo's root directory diff --git a/git-wiki.rb b/git-wiki.rb index dfd73074..b318fe3a 100644 --- a/git-wiki.rb +++ b/git-wiki.rb @@ -6,6 +6,10 @@ require "rack-xslview" require "rack-docunext-content-length" +require "git_wiki/page_not_found" +require "git_wiki/page" +require "git_wiki/app" + module GitWiki class << self attr_accessor :homepage, :extension, :repository @@ -18,6 +22,7 @@ def self.new(repository, extension, homepage) App end +<<<<<<< .merge_file_ijSDrZ class PageNotFound < Sinatra::NotFound attr_reader :name @@ -268,3 +273,6 @@ def list_item(page) %ul#list - @commits.each do |commit| %li= commit.id << " " << commit.authored_date.to_s +======= +end +>>>>>>> .merge_file_aq0LTY diff --git a/git_wiki/app.rb b/git_wiki/app.rb new file mode 100644 index 00000000..f1399e4c --- /dev/null +++ b/git_wiki/app.rb @@ -0,0 +1,56 @@ +module GitWiki + class App < Sinatra::Base + enable :static + set :public, Proc.new { File.join(root, "public") } + set :app_file, __FILE__ + set :haml, { :format => :html5, + :attr_wrapper => '"' } + + error PageNotFound do + page = request.env["sinatra.error"].name + redirect "/#{page}?edit=1" + end + + before do + content_type "text/html", :charset => "utf-8" + @page_class = []; + end + + get "/stylesheets/application.css" do + content_type "text/css; charset=utf-8", :charset => "utf-8" + sass :"application" + end + + post "/preview" do + RDiscount.new(params[:body]).to_html + end + + get "/" do + redirect "/" + GitWiki.homepage + end + + get "/pages" do + @pages = Page.find_all + haml :list + end + + get "/*" do + path = params[:splat].join('/') + if not params[:edit].nil? + @page = Page.find_or_create(path) + haml :edit + else + @page = Page.find(path) + haml :show + end + end + + post "/*" do + path = params[:splat].join('/') + @page = Page.find_or_create(path) + @page.update_content(params[:body]) + redirect "/#{@page}" + end + + end +end \ No newline at end of file diff --git a/git_wiki/page.rb b/git_wiki/page.rb new file mode 100644 index 00000000..6d64afd5 --- /dev/null +++ b/git_wiki/page.rb @@ -0,0 +1,150 @@ +module GitWiki + class Page + def self.find_all + return [] if repository.tree.contents.empty? + + all_blobs = collect_blobs_from_tree(repository.tree) + + all_blobs.flatten.collect do |blob| + new(blob) + end + end + + def self.collect_blobs_from_tree(tree, path=nil) + path = (path.nil? || tree.name.nil?) ? '' : path+'/'+tree.name + tree.contents.inject([]) do |blobs, file| + if file.is_a? Grit::Blob + add_path_to_blob(file, path+'/'+file.name) + blobs.push file + elsif file.is_a? Grit::Tree + blobs.concat collect_blobs_from_tree(file, path) + end + blobs + end + end + + def self.find(name) + page_blob = find_blob(name) + raise PageNotFound.new(name) unless page_blob + new(page_blob) + end + + def self.find_or_create(name) + find(name) + rescue PageNotFound + new(create_blob_for(name)) + end + + def self.css_class_for(name) + find(name) + "exists" + rescue PageNotFound + "unknown" + end + + def self.repository + GitWiki.repository || raise + end + + def self.extension + GitWiki.extension || raise + end + + def self.find_blob(page_name) + blob = repository.tree/(page_name + extension) + add_path_to_blob(blob, page_name + extension) if blob + blob + end + private_class_method :find_blob + + def self.add_path_to_blob(blob, path) + blob.instance_eval do + def path + @path + end + def path=(new_path) + @path = new_path + end + end + blob.path = path + end + private_class_method :add_path_to_blob + + def self.create_blob_for(page_name) + blob = Grit::Blob.create(repository, { + :name => page_name + extension, + :data => "" + }) + add_path_to_blob(blob, page_name + extension) if blob + blob + end + private_class_method :create_blob_for + + def initialize(blob) + @blob = blob + end + + def to_html + RDiscount.new(wiki_link(content)).to_html + end + + def to_s + name + end + + def new? + @blob.id.nil? + end + + def name + @blob.path.gsub(/#{File.extname(@blob.name)}$/, '').gsub(/^\//,'') + end + + def short_name + File.basename(@blob.name).gsub(/#{File.extname(@blob.name)}$/, '') + end + + def parent_directories + File.dirname(name).split(/\//).inject([[],[]]){ |collection, dirname| + parents, paths = collection + parents.push(dirname) + paths.push(parents.join('/')) + [parents, paths] + }[1] + end + + def content + @blob.data + end + + def update_content(new_content) + return if new_content == content + system("mkdir -p '#{File.dirname(file_name)}'"); + File.open(file_name, "w") { |f| f << new_content } + add_to_index_and_commit! + end + + private + def add_to_index_and_commit! + Dir.chdir(self.class.repository.working_dir) { + self.class.repository.add(@blob.path) + } + self.class.repository.commit_index(commit_message) + end + + def file_name + File.join(self.class.repository.working_dir, name + self.class.extension) + end + + def commit_message + new? ? "Created #{name}" : "Updated #{name}" + end + + def wiki_link(str) + str.gsub(/([A-Z][a-z]+[A-Z][A-Za-z0-9]+)/) { |page| + %Q{#{page}} + } + end + end +end \ No newline at end of file diff --git a/git_wiki/page_not_found.rb b/git_wiki/page_not_found.rb new file mode 100644 index 00000000..d63cbffa --- /dev/null +++ b/git_wiki/page_not_found.rb @@ -0,0 +1,9 @@ +module GitWiki + class PageNotFound < Sinatra::NotFound + attr_reader :name + + def initialize(name) + @name = name + end + end +end \ No newline at end of file diff --git a/git_wiki/public/images/list-bullet.gif b/git_wiki/public/images/list-bullet.gif new file mode 100644 index 0000000000000000000000000000000000000000..14bd849057ae660c7e3ff41e03437f805a42bed2 GIT binary patch literal 106 zcmZ?wbhEHbWMg1s*v!Ci?sN9J&p8*r<>uDeE2+rj*4s-+NXW=aUHzTUfDI`AWC087 lfJl%T3@qXoCIt0aa&WjDJ9kt-p(8-xX@=}!2MIw2YXF;o83q6V literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/script_icon.gif b/git_wiki/public/images/script_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..f938ae88dc516ffd1b16160a7184abdb894fb956 GIT binary patch literal 91 zcmZ?wbhEHbGo@)|q8LMR t%GA9er$ literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/git_wiki/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100755 index 0000000000000000000000000000000000000000..954e22dbd99e8c6dd7091335599abf2d10bf8003 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEr#)R9Ln2z=UU%d=WFXS=@V?HT z#xG*`>Yvsgk=}99w^d^D^d*@m74oMo<%#FcopJf?u00-~YVKV2wzrI*_R6;UORMea zBFVSEnN~eiVA6V&z`E)YLz5Aok^D)In}Yn=OzDpgR5Wv0XfT8pOkmV{sKAJ-PO9#T zZK}IXj&Q-V!U)!LcB_3K0&C*{ literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-bg_diagonals-thick_20_666666_40x40.png b/git_wiki/public/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100755 index 0000000000000000000000000000000000000000..64ece5707d91a6edf9fad4bfcce0c4dbcafcf58d GIT binary patch literal 251 zcmVbvPcjKS|RKP(6sDcCAB(_QB%0978a<$Ah$!b|E zwn;|HO0i8cQj@~)s!ajF0S002ovPDHLkV1oEp BYH0uf literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-bg_flat_10_000000_40x100.png b/git_wiki/public/images/ui-bg_flat_10_000000_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..abdc01082bf3534eafecc5819d28c9574d44ea89 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQY-ImG zFPf9b{J;c_6SHRK%WcbN_hZpM=(Ry;4Rxv2@@2Y=$K57eF$X$=!PC{xWt~$(69B)$ BI)4BF literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-bg_glass_100_f6f6f6_1x400.png b/git_wiki/public/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..9b383f4d2eab09c0f2a739d6b232c32934bc620b GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour1U*q978O6-yYw{%b*}|_(02F z@qbE9)0CJMo;*v*PWv`Vh2h6EmG8IS-Cm{3U~` zFlmZ}YMcJY=eo?o%*@I?2`NblNeMudl#t?{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/git_wiki/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100755 index 0000000000000000000000000000000000000000..39d5824d6af5456f1e89fc7847ea3599ea5fd815 GIT binary patch literal 3762 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/git_wiki/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..f1273672d253263b7564e9e21d69d7d9d0b337d9 GIT binary patch literal 90 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-icons_228ef1_256x240.png b/git_wiki/public/images/ui-icons_228ef1_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..10e3631dcab364a0a1ab81862d678fd032908dd7 GIT binary patch literal 4369 zcmd^?`8O2)_s3^phOrG}UnfiUEn8(9QW1?MNkxXVDEpFin2{xWrLx5kBC;k~GmPmYTG^FX}c% zlGE{DS1Q;~I7-6ze&TN@+F-xsI6sd%SwK#*O5K|pDRZqEy< zJg0Nd8F@!OxqElm`~U#piM22@u@8B<moyKE%ct`B(jysxK+1m?G)UyIFs1t0}L zemGR&?jGaM1YQblj?v&@0iXS#fi-VbR9zLEnHLP?xQ|=%Ihrc7^yPWR!tW$yH!zrw z#I2}_!JnT^(qk)VgJr`NGdPtT^dmQIZc%=6nTAyJDXk+^3}wUOilJuwq>s=T_!9V) zr1)DT6VQ2~rgd@!Jlrte3}}m~j}juCS`J4(d-5+e-3@EzzTJNCE2z)w(kJ90z*QE) zBtnV@4mM>jTrZZ*$01SnGov0&=A-JrX5Ge%Pce1Vj}=5YQqBD^W@n4KmFxxpFK`uH zP;(xKV+6VJ2|g+?_Lct7`uElL<&jzGS8Gfva2+=8A@#V+xsAj9|Dkg)vL5yhX@~B= zN2KZSAUD%QH`x>H+@Ou(D1~Pyv#0nc&$!1kI?IO01yw3jD0@80qvc?T*Nr8?-%rC8 z@5$|WY?Hqp`ixmEkzeJTz_`_wsSRi1%Zivd`#+T{Aib6-rf$}M8sz6v zb6ERbr-SniO2wbOv!M4)nb}6UVzoVZEh5kQWh_5x4rYy3c!871NeaM(_p=4(kbS6U#x<*k8Wg^KHs2ttCz<+pBxQ$Z zQMv;kVm5_fF_vH`Mzrq$Y&6u?j6~ftIV0Yg)Nw7JysIN_ z-_n*K_v1c&D}-1{NbBwS2h#m1y0a5RiEcYil+58$8IDh49bPnzE7R8In6P%V{2IZU z7#clr=V4yyrRe@oXNqbqo^^LvlLE?%8XaI&N(Np90-psU}7kqmbWk zZ;YBwJNnNs$~d!mx9oMGyT( znaBoj0d}gpQ^aRr?6nW)$4god*`@Uh2e+YpS@0(Mw{|z|6ko3NbTvDiCu3YO+)egL z>uW(^ahKFj>iJ-JF!^KhKQyPTznJa;xyHYwxJgr16&Wid_9)-%*mEwo{B_|M9t@S1 zf@T@q?b2Qgl!~_(Roe;fdK)y|XG0;ls;ZbT)w-aOVttk#daQcY7$cpY496H*`m@+L zeP#$&yRbBjFWv}B)|5-1v=(66M_;V1SWv6MHnO}}1=vby&9l+gaP?|pXwp0AFDe#L z&MRJ^*qX6wgxhA_`*o=LGZ>G_NTX%AKHPz4bO^R72ZYK}ale3lffDgM8H!Wrw{B7A z{?c_|dh2J*y8b04c37OmqUw;#;G<* z@nz@dV`;7&^$)e!B}cd5tl0{g(Q>5_7H^@bEJi7;fQ4B$NGZerH#Ae1#8WDTH`iB&) zC6Et3BYY#mcJxh&)b2C^{aLq~psFN)Q1SucCaBaBUr%5PYX{~-q{KGEh)*;n;?75k z=hq%i^I}rd;z-#YyI`8-OfMpWz5kgJE3I!3ean6=UZi!BxG7i(YBk? z02HM7wS0)Wni{dWbQMRtd-A)_Az!t>F;IwWf~!*)-Az4}yryNkz&9)w>ElA80Oc`6 zHo#9H!Y3*Qx9n@Jn)!w6G^hb;e_n8zpIyXCN`JFkPc)^Q?2MsLNFhMgrcZI-<#1ne zjH;KFf?4eAT9mQZ}ZfHLGA#d%s;SZK4p0FwZT2S^{ zQ2BG1xJsbK6?yrHTjJi|5C0u=!|r!?*4FL%y%3q#(d+e>b_2I9!*iI!30}42Ia0bq zUf`Z?LGSEvtz8s``Tg5o_CP(FbR0X$FlE0yCnB7suDPmI2=yOg^*2#cY9o`X z;NY-3VBHZjnVcGS){GZ98{e+lq~O$u6pEcgd0CrnIsWffN1MbCZDH<7c^hv+Z0Ucf0{w zSzi^qKuUHD9Dgp0EAGg@@$zr32dQx>N=ws`MESEsmzgT2&L;?MSTo&ky&!-JR3g~1 zPGTt515X)wr+Bx(G9lWd;@Y3^Vl}50Wb&6-Tiy;HPS0drF`rC}qYq22K4)G#AoD0X zYw$E+Bz@Zr^50MAwu@$?%f9$r4WHH?*2|67&FXFhXBrVFGmg)6?h3^-1?t;UzH0*I zNVf9wQLNLnG2@q>6CGm>&y|lC`iCFfYd}9i%+xkl^5oBJ?<;aneCfcHqJh7Yl5uLS z9Fx-(kMdcNyZejXh22N{mCw_rX1O!cOE&3>e(ZH81PR95wQC37En4O{w;{3q9n1t&;p)D%&Z%Nw$gSPa!nz8Slh7=ko2am)XARwOWw zpsz0~K!s{(dM$NB=(A=kkp>T(*yU6<_dwIx>cH4+LWl282hXa6-EUq>R3t?G2623< z*RwTN%-fgBmD{fu*ejNn)1@KG?Sg*8z3hYtkQJQjB6 zQ|x>wA=o$=O)+nLmgTXW3_6diA;b4EY{*i*R%6dO2EMg z@6g?M3rpbnfB@hOdUeb96=~I?OIA3@BWAGmTwiQ{x5Cqq<8c10L!P zd@Qk^BseTX%$Q7^s}5n%HB|)gKx}H$d8Sb$bBnq9-AglT2dGR2(+I;_fL|R4p$odJ zllfb0NqI)7=^z~qAm1V{(PkpxXsQ#4*NH9yYZ`Vf@)?#ueGgtCmGGY|9U#v|hRdg- zQ%0#cGIfXCd{Y)JB~qykO;KPvHu|5Ck&(Hn%DF~cct@}j+87xhs2ew;fLm5#2+mb| z8{9e*YI(u|gt|{x1G+U=DA3y)9s2w7@cvQ($ZJIA)x$e~5_3LKFV~ASci8W}jF&VeJoPDUy(BB>ExJpck;%;!`0AAo zAcHgcnT8%OX&UW_n|%{2B|<6Wp2MMGvd5`T2KKv;ltt_~H+w00x6+SlAD`{K4!9zx z*1?EpQ%Lwiik){3n{-+YNrT;fH_niD_Ng9|58@m8RsKFVF!6pk@qxa{BH-&8tsim0 zdAQ(GyC^9ane7_KW*#^vMIoeQdpJqmPp%%px3GIftbwESu#+vPyI*YTuJ6+4`z{s? zpkv~0x4c_PFH`-tqafw5)>4AuQ78SkZ!$8}INLK;Egr;2tS18hEO5=t;QDmZ-qu?I zG+=DN`nR72Xto{{bJp||`k}-2G;5#xg8E~xgz22)^_Z;=K|4@(E&5J)SY2of=olcw z5)@L)_Ntcm!*5nEy0M9v0`S33;pO4TN;>4(Z+19p_0>u#e-vE zXCU(6gAvu~I7Cw(xd%0e59MNLw^U37ZDbsBrj%eDCexw8a3G`nTcXVNL6{B7Hj@i& zbVB{;ApEtHk76q08DJ48dSxd$C(;$K6=FpU<~l9pVoT9arW^Vu{%Bcn4`eIpkOVC| z$)AKYG_`ypM{0@BUb3^9lqi_c?ONH|4UJMJWDowMVjacycX7}9g={O7swOB+{;+?; zjBo!9?+nd)ie#x5IbFW-zBOo0c4q@9wGVt5;pNt`=-~Zgcw#*`m($6ibxtZ`H=e=} zF#GZ~5$%AUn};8U#tRem0J(JTR}d4vR(dgK2ML~lZsPhayJ2h1%sD4FVst| zKF)+@`iNzLRjg4=K8@**0=5cE>%?FDc({I^+g9USk<8$&^qD~@%W0i4b|yMG*p4`N zh}I!ltTRI8Ex$+@V{02Br%xq#O?UlhO{r8WsaZnZCZq0MK9%AXU%MDLT;3=0A9(BV z9VxxxJd7jo$hw3q;3o?yBLmA=azBUrd9>-<_ANs0n3?-Ic*6&ytb@H~?0E(*d>T5n z-HiH2jsDf6uWhID%#n>SzOqrFCPDfUcu5QPd?<(=w6pv1BE#nsxS{n!UnC9qAha1< z;3cpZ9A-e$+Y)%b;w@!!YRA9p%Kf9IHGGg^{+p`mh;q8i7}&e@V3EQaMsItEMS&=X plT@$;k0WcB_jb;cn%_Idz4HO$QU*abf4}+wi?e96N>fbq{{iMEVj2Jd literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-icons_ef8c08_256x240.png b/git_wiki/public/images/ui-icons_ef8c08_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..35bb8efa9c87eed9615e64354e12d3578c604823 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-icons_ffd27a_256x240.png b/git_wiki/public/images/ui-icons_ffd27a_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..baebb63e3fc8fbba697afca858abb3f55bd0f08e GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/images/ui-icons_ffffff_256x240.png b/git_wiki/public/images/ui-icons_ffffff_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..bef5178a9054c16582876bac57017f783272e750 GIT binary patch literal 4369 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 l!Q;r%?Y*7ztoF~2ao>D^xRgPV&GAM literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/.DS_Store b/git_wiki/public/javascripts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..32f1f7cb56e04aad2b2505ddd0ab62693cf5b2c9 GIT binary patch literal 6148 zcmeHK%Sr=55bV|*0wUz-aeqKCf3Sr31^$4<7b_tlN(|oi<|q0)R&}?KxG0`HNHuiV z&UV+#ZXKp)%*a%*Jq{y)g`pdHTSP>J8CjjwgGybK6>n_&X!_)E;dE)}8J1 zrdO+2C)G9~;DIf);fE17dR3Lk(jZY+p z6p#W^;EMv>9~wBZE$kCx>pL5T}WK!TS6!-wf CQy%~T literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/application.js b/git_wiki/public/javascripts/application.js new file mode 100644 index 00000000..57ce7edc --- /dev/null +++ b/git_wiki/public/javascripts/application.js @@ -0,0 +1,96 @@ +(function($) { + + var flash_timeout; + function flash(message){ + clearTimeout(flash_timeout); + $('#flash .message').html(message).show('highlight'); + flash_timeout = setTimeout(function(){ + $('#flash .message').hide(); + },5000); + } + + function initaliseShowPage(){ + function edit(){ + window.location.search = '?edit=1'; + } + $(window) + .bind("dblclick", edit) + .keydown(function(event){ + if (event.keyCode == 69 && event.metaKey){ + edit(); + return false; + } + }); + } + + function initaliseEditPage(){ + var save_button = $('form#edit .save'); + var textarea = $('#editor textarea'); + var preview = $('#preview'); + var saved_value = textarea.val(); + + textarea.focus(); + + function updatePreview(){ + $.post("/preview", { 'body': textarea.val() }, function(a,b){ + a = a.replace(//g,''); + preview.html(a); + }); + } + + updatePreview(); + + function pageHasChanges(){ + return saved_value !== textarea.val(); + } + + function save(){ + $.post($('form#edit').attr('action'), {body:textarea.val()}); + saved_value = textarea.val(); + save_button.attr('disabled',true); + flash('SAVED'); + } + + function saveAndClose(){ + save_button.removeAttr('disabled'); + save_button.click(); + } + + textarea.keyup(function(){ + if (pageHasChanges()){ + save_button.removeAttr('disabled'); + updatePreview(); + }else{ + save_button.attr('disabled',true); + } + }); + + $(window) + .keydown(function(event){ + if (event.keyCode == 83 && event.metaKey){ + if (event.shiftKey){ + save(); + }else{ + saveAndClose(); + } + return false; + } + }); + + var saving = false; + save_button.click(function(){ + saving = true; + }); + window.onbeforeunload = function(){ + return (!saving && pageHasChanges()) ? "You have unsaved changes." : undefined; + }; + } + + + $(document).ready(function(){ + var page = $('#page'); + if (page.hasClass('show')) initaliseShowPage(); + if (page.hasClass('edit')) initaliseEditPage(); + }); + +})(jQuery); \ No newline at end of file diff --git a/git_wiki/public/javascripts/jquery-1.3.2.min.js b/git_wiki/public/javascripts/jquery-1.3.2.min.js new file mode 100644 index 00000000..b1ae21d8 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-1.3.2.min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="
    ";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/.DS_Store b/git_wiki/public/javascripts/jquery-ui-1-1/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e451fc4131168f0b11c7580707a1f274b06c9e80 GIT binary patch literal 6148 zcmeHKF-`+P475XvNHi%a_X+TWRTN&p2T(wupeQLKNP89U;um~}8QT&H2So~+Xe`;Y z-u3M2ra14KnJ-=+Z_MUqHiHxGondTTr;lt>GeqYetIckOacnlK{(XYniM`nV>9D^3 z$zMNg-?;O4&Hk|2ZJ&{U#;k%AkOERb3P=GdaH;~?S#5TCDpB=PKnk3_0{lNTII$NF ziSg?|;PsvBQz8xHxc&oM<-Kr7#0t!l3QVfk6T|EE;7P}NulgY|>E>}V_NkM-UMOCV z4{uR!-V+t2fD|}Z;3CsG`~NNckN5vENtqOo0%xUwPnUPg1wN^I>*(XyYa9F?&YBN6 q4db97L^}pXJ4V8Gd=*7m*Eq&{FB}qsj`^Sibs3;8GAZ!i3VZYvsgk=}99w^d^D^d*@m74oMo<%#FcopJf?u00-~YVKV2wzrI*_R6;UORMea zBFVSEnN~eiVA6V&z`E)YLz5Aok^D)In}Yn=OzDpgR5Wv0XfT8pOkmV{sKAJ-PO9#T zZK}IXj&Q-V!U)!LcB_3K0&C*{ literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100755 index 0000000000000000000000000000000000000000..64ece5707d91a6edf9fad4bfcce0c4dbcafcf58d GIT binary patch literal 251 zcmVbvPcjKS|RKP(6sDcCAB(_QB%0978a<$Ah$!b|E zwn;|HO0i8cQj@~)s!ajF0S002ovPDHLkV1oEp BYH0uf literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..abdc01082bf3534eafecc5819d28c9574d44ea89 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQY-ImG zFPf9b{J;c_6SHRK%WcbN_hZpM=(Ry;4Rxv2@@2Y=$K57eF$X$=!PC{xWt~$(69B)$ BI)4BF literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..9b383f4d2eab09c0f2a739d6b232c32934bc620b GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour1U*q978O6-yYw{%b*}|_(02F z@qbE9)0CJMo;*v*PWv`Vh2h6EmG8IS-Cm{3U~` zFlmZ}YMcJY=eo?o%*@I?2`NblNeMudl#t?{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100755 index 0000000000000000000000000000000000000000..39d5824d6af5456f1e89fc7847ea3599ea5fd815 GIT binary patch literal 3762 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..f1273672d253263b7564e9e21d69d7d9d0b337d9 GIT binary patch literal 90 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_228ef1_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..10e3631dcab364a0a1ab81862d678fd032908dd7 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ef8c08_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..35bb8efa9c87eed9615e64354e12d3578c604823 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ffd27a_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..baebb63e3fc8fbba697afca858abb3f55bd0f08e GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ffffff_256x240.png b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/images/ui-icons_ffffff_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..bef5178a9054c16582876bac57017f783272e750 GIT binary patch literal 4369 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 l!Q;r%?Y*7ztoF~2ao>D^xRgPV&GAM literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/jquery-ui-1.7.2.custom.css b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/jquery-ui-1.7.2.custom.css new file mode 100755 index 00000000..9d7aa08b --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/css/ui-lightness/jquery-ui-1.7.2.custom.css @@ -0,0 +1,406 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; outline: none; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; outline: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; outline: none; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; outline: none; } +.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; outline: none; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; outline: none; text-decoration: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; } +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; }/* Accordion +----------------------------------*/ +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; } +.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* Dialog +----------------------------------*/ +.ui-dialog { position: relative; padding: .2em; width: 300px; } +.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* Progressbar +----------------------------------*/ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable +----------------------------------*/ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider +----------------------------------*/ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs +----------------------------------*/ +.ui-tabs { padding: .2em; zoom: 1; } +.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; } +.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/AUTHORS.txt b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/AUTHORS.txt new file mode 100755 index 00000000..637175b7 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/AUTHORS.txt @@ -0,0 +1,30 @@ +jQuery UI Authors (http://ui.jquery.com/about) + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +and logs, available at http://jquery-ui.googlecode.com/svn/ + +Brandon Aaron +Paul Bakaus (paulbakaus.com) +David Bolter +Rich Caloggero +Chi Cheng (cloudream@gmail.com) +Colin Clark (http://colin.atrc.utoronto.ca/) +Michelle D'Souza +Aaron Eisenberger (aaronchi@gmail.com) +Ariel Flesler +Bohdan Ganicky +Scott González +Marc Grabanski (m@marcgrabanski.com) +Klaus Hartl (stilbuero.de) +Scott Jehl +Cody Lindley +Eduardo Lundgren (eduardolundgren@gmail.com) +Todd Parker +John Resig +Patty Toland +Ca-Phun Ung (yelotofu.com) +Keith Wood (kbwood@virginbroadband.com.au) +Maggie Costello Wachs +Richard D. Worth (rdworth.org) +Jörn Zaefferer (bassistance.de) diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/GPL-LICENSE.txt b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/GPL-LICENSE.txt new file mode 100755 index 00000000..11dddd00 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/GPL-LICENSE.txt @@ -0,0 +1,278 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/MIT-LICENSE.txt b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/MIT-LICENSE.txt new file mode 100755 index 00000000..f0f2ba90 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/MIT-LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (c) 2009 Paul Bakaus, http://jqueryui.com/ + +This software consists of voluntary contributions made by many +individuals (AUTHORS.txt, http://jqueryui.com/about) For exact +contribution history, see the revision history and logs, available +at http://jquery-ui.googlecode.com/svn/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/default.html new file mode 100755 index 00000000..eae24b92 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/default.html @@ -0,0 +1,51 @@ + + + + jQuery UI Effects - addClass Demo + + + + + + + + + + + +
    + +

    This demo adds a class which animates: text-indent, letter-spacing, width, height, padding, margin, and font-size.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/addClass/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/default.html new file mode 100755 index 00000000..a01f08ad --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/default.html @@ -0,0 +1,52 @@ + + + + jQuery UI Effects - Animate Demo + + + + + + + + + +
    + +
    +
    +

    Animate

    +

    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi. +

    +
    +
    + +Toggle Effect + +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/animate/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/demos.css b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/demos.css new file mode 100755 index 00000000..2d2ce1fc --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/demos.css @@ -0,0 +1,334 @@ +body { + font-size: 62.5%; +} + +table { + font-size: 1em; +} + +/* Site + -------------------------------- */ + +body { + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; +} + +/* Layout + -------------------------------- */ + +.layout-grid { + width: 960px; +} + +.layout-grid td { + vertical-align: top; +} + +.layout-grid td.left-nav { + width: 140px; +} + +.layout-grid td.normal { + border-left: 1px solid #eee; + padding: 20px 24px; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; +} + +.layout-grid td.demos { + background: url('/images/demos_bg.jpg') no-repeat; + height: 337px; + overflow: hidden; +} + +/* Normal + -------------------------------- */ + +.normal h3, +.normal h4 { + margin: 0; + font-weight: normal; +} + +.normal h3 { + padding: 0 0 9px; + font-size: 1.8em; +} + +.normal h4 { + padding-bottom: 21px; + border-bottom: 1px dashed #999; + font-size: 1.2em; + font-weight: bold; +} + +.normal p { + font-size: 1.2em; +} + +/* Demos */ + +.demos-nav, .demos-nav dt, .demos-nav dd, .demos-nav ul, .demos-nav li { + margin: 0; + padding: 0 +} + +.demos-nav { + float: left; + width: 170px; + font-size: 1.3em; +} + +.demos-nav dt, +.demos-nav h4 { + margin: 0; + padding: 0; + font: normal 1.1em "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color: #e87b10; +} + +.demos-nav dt, +.demos-nav h4 { + margin-top: 1.5em; + margin-bottom: 0; + padding-left: 8px; + padding-bottom:5px; + line-height: 1.2em; + border-bottom: 1px solid #F4F4F4; +} + +.demos-nav dd a, +.demos-nav li a { + border-bottom: 1px solid #F4F4F4; + display:block; + padding: 4px 3px 4px 8px; + font-size: 90%; + text-decoration: none; + color: #555 ; + margin:2px 0; + height:13px; +} + +.demos-nav dd a:hover, +.demos-nav dd a:focus, +.demos-nav dd a:hover, +.demos-nav dd a:focus { + background: #f3f3f3; + color:#000; + -moz-border-radius: 5px; -webkit-border-radius: 5px; +} + .demos-nav dd a.selected { + background: #555; + color:#ffffff; + -moz-border-radius: 5px; -webkit-border-radius: 5px; +} + + +/* new styles for demo pages, added by Filament 12.29.08 +eventually we should convert the font sizes to ems -- using px for now to minimize style conflicts +*/ + +.normal h3.demo-header { font-size:32px; padding:0 0 5px; border-bottom:1px solid #eee; text-transform: capitalize; } +.normal h4.demo-subheader { font-size:10px; text-transform: uppercase; color:#999; padding:8px 0 3px; border:0; margin:0; } +.normal a:link, +.normal a:visited { color:#1b75bb; text-decoration:none; } +.normal a:hover, +.normal a:active { color:#0b559b; } + +#demo-config { padding:20px 0 0; } + +#demo-frame { float:left; width:540px; height:380px; border:1px solid #ddd; overflow: auto; position: relative; } +#demo-frame h3, #demo-frame h4 { padding: 0; font-weight: bold; font-size: 1em; } + +#demo-config-menu { float:right; width:180px; } +#demo-config-menu h4 { font-size:13px; color:#666; font-weight:normal; border:0; padding-left:18px; } + +#demo-config-menu ul { list-style: none; padding: 0; margin: 0; } + +#demo-config-menu li { font-size:12px; padding:0 0 0 10px; margin:3px 0; zoom: 1; } + +#demo-config-menu li a:link, +#demo-config-menu li a:visited { display:block; padding:1px 8px 4px; border-bottom:1px dotted #b3b3b3; } +* html #demo-config-menu li a:link, +* html #demo-config-menu li a:visited { padding:1px 8px 2px; } +#demo-config-menu li a:hover, +#demo-config-menu li a:active { background-color:#f6f6f6; } + +#demo-config-menu li.demo-config-on { background: url(images/demo-config-on-tile.gif) repeat-x left center; } + +#demo-config-menu li.demo-config-on a:link, +#demo-config-menu li.demo-config-on a:visited, +#demo-config-menu li.demo-config-on a:hover, +#demo-config-menu li.demo-config-on a:active { background: url(images/demo-config-on.gif) no-repeat left; padding-left:18px; color:#fff; border:0; margin-left:-10px; margin-top: 0px; margin-bottom: 0px; } + +#demo-source, #demo-notes { + clear: both; + padding: 20px 0 0; + font-size: 1.3em; +} + +#demo-notes { width:520px; color:#333; font-size: 1em; } +#demo-notes p code, .demo-description p code { padding: 0; font-weight: bold; } +#demo-source pre, #demo-source code { padding: 0; } +code, pre { padding:8px 0 8px 20px ; font-size: 1.2em; line-height:130%; } + +#demo-source a:link, +#demo-source a:visited, +#demo-source a:hover, +#demo-source a:active { font-size:12px; padding-left:13px; background-position: left center; background-repeat: no-repeat; } + +#demo-source a.source-open:link, +#demo-source a.source-open:visited, +#demo-source a.source-open:hover, +#demo-source a.source-open:active { background-image: url(images/demo-spindown-open.gif); } + +#demo-source a.source-closed:link, +#demo-source a.source-closed:visited, +#demo-source a.source-closed:hover, +#demo-source a.source-closed:active { background-image: url(images/demo-spindown-closed.gif); } + +div.demo { + padding:12px; + font-family: "Trebuchet MS", "Arial", "Helvetica", "Verdana", "sans-serif"; +} + +div.demo h3.docs { clear:left; font-size:12px; font-weight:normal; padding:0 0 1em; margin:0; } + +div.demo-description { + clear:both; + padding:12px; + font-family: "Trebuchet MS", "Arial", "Helvetica", "Verdana", "sans-serif"; + font-size: 1.3em; + line-height: 1.4em; +} + +.ui-draggable, .ui-droppable { + background-position: top left; +} + +.left-nav .demos-nav { + padding-right: 10px; +} + +#demo-link { font-size:11px; padding-top: 6px; clear: both; overflow: hidden; } +#demo-link a span.ui-icon { float:left; margin-right:3px; } + +/* Component containers +----------------------------------*/ +#widget-docs .ui-widget { font-family: Trebuchet MS,Verdana,Arial,sans-serif; font-size: 1em; } +#widget-docs .ui-widget input, #widget-docs .ui-widget select, #widget-docs .ui-widget textarea, #widget-docs .ui-widget button { font-family: Trebuchet MS,Verdana,Arial,sans-serif; font-size: 1em; } +#widget-docs .ui-widget-header { border: 1px solid #ffffff; background: #464646 url(images/464646_40x100_textures_01_flat_100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +#widget-docs .ui-widget-header a { color: #ffffff; } +#widget-docs .ui-widget-content { border: 1px solid #ffffff; background: #ffffff url(images/ffffff_40x100_textures_01_flat_75.png) 50% 50% repeat-x; color: #222222; } +#widget-docs .ui-widget-content a { color: #222222; } + +/* Interaction states +----------------------------------*/ +#widget-docs .ui-state-default, #widget-docs .ui-widget-content #widget-docs .ui-state-default { border: 1px solid #666666; background: #555555 url(images/555555_40x100_textures_03_highlight_soft_75.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; outline: none; } +#widget-docs .ui-state-default a { color: #ffffff; text-decoration: none; outline: none; } +#widget-docs .ui-state-hover, #widget-docs .ui-widget-content #widget-docs .ui-state-hover, #widget-docs .ui-state-focus, #widget-docs .ui-widget-content #widget-docs .ui-state-focus { border: 1px solid #666666; background: #444444 url(images/444444_40x100_textures_03_highlight_soft_60.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; outline: none; } +#widget-docs .ui-state-hover a { color: #ffffff; text-decoration: none; outline: none; } +#widget-docs .ui-state-active, #widget-docs .ui-widget-content #widget-docs .ui-state-active { border: 1px solid #666666; background: #ffffff url(images/ffffff_40x100_textures_01_flat_65.png) 50% 50% repeat-x; font-weight: normal; color: #F6921E; outline: none; } +#widget-docs .ui-state-active a { color: #F6921E; outline: none; text-decoration: none; } + +/* Interaction Cues +----------------------------------*/ +#widget-docs .ui-state-highlight, #widget-docs .ui-widget-content #widget-docs .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/fbf9ee_40x100_textures_02_glass_55.png) 50% 50% repeat-x; color: #363636; } +#widget-docs .ui-state-error, #widget-docs .ui-widget-content #widget-docs .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/fef1ec_40x100_textures_05_inset_soft_95.png) 50% bottom repeat-x; color: #cd0a0a; } +#widget-docs .ui-state-error-text, #widget-docs .ui-widget-content #widget-docs .ui-state-error-text { color: #cd0a0a; } +#widget-docs .ui-state-disabled, #widget-docs .ui-widget-content #widget-docs .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } +#widget-docs .ui-priority-primary, #widget-docs .ui-widget-content #widget-docs .ui-priority-primary { font-weight: bold; } +#widget-docs .ui-priority-secondary, #widget-docs .ui-widget-content #widget-docs .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } + +/* Icons +----------------------------------*/ + +/* states and images */ +#demo-frame-wrapper .ui-icon, #widget-docs .ui-icon { width: 16px; height: 16px; background-image: url(images/222222_256x240_icons_icons.png); } +#widget-docs .ui-widget-content .ui-icon {background-image: url(images/222222_256x240_icons_icons.png); } +#widget-docs .ui-widget-header .ui-icon {background-image: url(images/222222_256x240_icons_icons.png); } +#widget-docs .ui-state-default .ui-icon { background-image: url(images/888888_256x240_icons_icons.png); } +#widget-docs .ui-state-hover .ui-icon, #widget-docs .ui-state-focus .ui-icon {background-image: url(images/454545_256x240_icons_icons.png); } +#widget-docs .ui-state-active .ui-icon {background-image: url(images/454545_256x240_icons_icons.png); } +#widget-docs .ui-state-highlight .ui-icon {background-image: url(images/2e83ff_256x240_icons_icons.png); } +#widget-docs .ui-state-error .ui-icon, #widget-docs .ui-state-error-text .ui-icon {background-image: url(images/cd0a0a_256x240_icons_icons.png); } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +#widget-docs .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; } +#widget-docs .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +#widget-docs .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +#widget-docs .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +#widget-docs .ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +#widget-docs .ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +#widget-docs .ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +#widget-docs .ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +#widget-docs .ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; } + +/* Overlays */ +#widget-docs .ui-widget-overlay { background: #aaaaaa url(images/aaaaaa_40x100_textures_01_flat_0.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +#widget-docs .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/aaaaaa_40x100_textures_01_flat_0.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; } + +/* +----------------------------------*/ + +#widget-docs { margin:20px 0 0; border: none; } + +#widget-docs h2, #widget-docs h3, #widget-docs h4, #widget-docs p, #widget-docs ul, #widget-docs code { margin:0; padding:0; } +#widget-docs code { display:block; color:#444; font-size:.9em; margin:0 0 1em; } +#widget-docs code strong { color:#000; } +#widget-docs p { margin:0 3em 1.2em 0; } +#widget-docs p.intro { font-size:13px; color:#666; line-height:1.3; } +#widget-docs ul { list-style-type: none; } + +#widget-docs h2 { font-size:16px; margin:1.2em 0 .5em; } +#widget-docs h3 { font-size:14px; color:#e6820E; margin:1.5em 0 .5em; } +.normal #widget-docs h4 { font-size:12px; color:#000; border:0; margin:0 0 .5em; } + +#docs-overview-main { width:400px; } +#docs-overview-sidebar { float:right; width:200px; } +#docs-overview-sidebar a span { color:#666; } +#widget-docs #docs-overview-main p { margin-right:0; } +#widget-docs #docs-overview-sidebar h4 { padding-left:0; } + +.docs-list-header { float:left; width:100%; margin:10px 0 0; border-bottom:1px solid #eee; } +#widget-docs .docs-list-header h2 { float:left; margin:0; } +#widget-docs .docs-list-header p { float:right; margin:5px 0; font-size:11px; } + +.docs-list { float:left; width:100%; padding:0 0 10px; } +.docs-list .param-header { float:left; clear:left; width:100%; padding:8px 0; border-top:1px solid #eee; } +#widget-docs .param-header h3, #widget-docs .param-header p { margin:0; float:left; } +#widget-docs .param-header h3 { width:50%; } +#widget-docs .param-header h3 span { background: url(images/demo-spindown-closed.gif) no-repeat left; padding-left:13px; } +#widget-docs .param-open .param-header h3 span { background: url(images/demo-spindown-open.gif) no-repeat left; } +#widget-docs .param-header p { width:24%; } +#widget-docs .param-header p.param-type span { background: url(images/icon-docs-info.gif) no-repeat left; cursor:pointer; border-bottom:1px dashed #ccc; padding-left:15px; } + +.param-details { padding-left:13px; } +.param-args { margin:0 0 1.5em; border-top:1px dotted #ccc;} +.param-args td { padding:3px 30px 3px 5px; border-bottom:1px dotted #ccc; } + + +/* overrides for ui-tab styles */ +#widget-docs ul.ui-tabs-nav { padding:0 0 0 8px; } +#widget-docs .ui-tabs-nav li { margin:5px 5px 0 0; } + +#widget-docs .ui-tabs-nav li a:link, +#widget-docs .ui-tabs-nav li a:visited, +#widget-docs .ui-tabs-nav li a:hover, +#widget-docs .ui-tabs-nav li a:active { font-size:14px; padding:4px 1.2em 3px; color:#fff; } + +#widget-docs .ui-tabs-nav li.ui-tabs-selected a:link, +#widget-docs .ui-tabs-nav li.ui-tabs-selected a:visited, +#widget-docs .ui-tabs-nav li.ui-tabs-selected a:hover, +#widget-docs .ui-tabs-nav li.ui-tabs-selected a:active { color:#e6820E; } + +#widget-docs .ui-tabs-panel { padding:20px 9px; font-size:12px; line-height:1.4; color:#000; } + +#widget-docs .ui-widget-content a:link, +#widget-docs .ui-widget-content a:visited { color:#1b75bb; text-decoration:none; } +#widget-docs .ui-widget-content a:hover, +#widget-docs .ui-widget-content a:active { color:#0b559b; } + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/default.html new file mode 100755 index 00000000..4187080c --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/default.html @@ -0,0 +1,104 @@ + + + + jQuery UI Effects - Effect Demo + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Effect

    +

    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi. +

    +
    +
    + + + +Run Effect + + +
    + +
    + +

    Click the button above to show the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/index.html new file mode 100755 index 00000000..fbd0597b --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/effect/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effect Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/default.html new file mode 100755 index 00000000..a4a5ff28 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/default.html @@ -0,0 +1,105 @@ + + + + jQuery UI Effects - Hide Demo + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Hide

    +

    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi. +

    +
    +
    + + + +Run Effect + + +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/hide/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/calendar.gif b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/calendar.gif new file mode 100755 index 0000000000000000000000000000000000000000..d0abaa7c0b892e781b6f553453a0027efea014b9 GIT binary patch literal 269 zcmZ?wbhEHb6kyoJ#dt% zaYstuiRe5}O|8;NEA%ba6j)5k7TbN(gNwC&D)Y{1Cu2PhDy(ymnp7_1Ai(k{X>FbJ zg$yQ1aX#U+v{)u7c4kS5=DdO;0Y*k<=8BdGnYaWYcOkak83LIJ0`39}`h<8zSFc^O QT3n!+Z|k=0I}{nL0T`orxBvhE literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-config-on-tile.gif b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-config-on-tile.gif new file mode 100755 index 0000000000000000000000000000000000000000..359da95a77a5a289d8a633b03d1c462d16b9c558 GIT binary patch literal 180 zcmZ?wbhEHbWMW8RIKsg2W3kbX1$y77DSw}({(Xk(&lMIwmzw;Tr~7lY&9Ak#-=-@5 zTyFMbk-^VZR^R7pf1j=SZL<8Yb@mKI1I3>#V6{3R5@aU>t6_plUrOe@j8*H_%v9mH rWa7F}r;U+;N0_C(`S8aI9yXRHhXnx+^De9?@md?T{>B><76xkoA)Gl& literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-config-on.gif b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-config-on.gif new file mode 100755 index 0000000000000000000000000000000000000000..9fcec1ac1b18fe0f81f5f19b9179f0d0691d9777 GIT binary patch literal 343 zcmZ?wbhEHb>eYpL{LbHGGZvI$i{rBbBpL$N^wzAW3n{YU=MdO?c zXHu`kEUtnb6Rud^c&pi#e&D^a0aIfWlPW`7dz&C*cTcybv^>kC$xdR*Y%^v!OUZD~ l<8;vwckkZ&_wRdqduwZJ|NsBb ufC?0UvM@3*a53nBgh6I7u!ssUx`uikzEFMiq4*)e#;GFgtr?*#4Aua7yd%B< literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-spindown-open.gif b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/demo-spindown-open.gif new file mode 100755 index 0000000000000000000000000000000000000000..e1c60aa558ebc4701d66d89c893b9185d92926ae GIT binary patch literal 105 zcmZ?wbhEHbWM^Pw*v!Rn?%cV3`}VC{w{G6Nd9AIj%a$#>ckkZ&_wRdqduwZJ|NsBb vfC?0UvM@3*a53nBgh6I7u!spPwVb$6c!g7Y5WAt|d?6L5pNhxD85yhrk)R_C literal 0 HcmV?d00001 diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/icon-docs-info.gif b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/images/icon-docs-info.gif new file mode 100755 index 0000000000000000000000000000000000000000..6b0464e011124fc006425aa596f528bf35b7ebeb GIT binary patch literal 214 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 + + + + jQuery UI Demos + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    Interactions
    + + + + + +
    Widgets
    + + + + + + +
    Effects
    +
    Add Class
    +
    Remove Class
    +
    Animate
    +
    Effect
    +
    Hide
    +
    Show
    +
    Switch Class
    +
    Toggle
    +
    Toggle Class
    +
    About jQuery UI
    +
    Getting Started
    +
    Upgrade Guide
    +
    Changelog
    +
    Roadmap
    +
    Subversion Access
    +
    UI Developer Guidelines
    +
    Theming
    +
    Theming jQuery UI
    +
    jQuery UI CSS Framework
    +
    ThemeRoller application
    +
    Theme Switcher Widget
    + +
    +
    + +
    + +

    Instructions

    +

    + These demos showcase some common uses of each jQuery UI plugin. Simply copy and paste code from the demos to get started. Have fun playing with them. +

    + +
    + +
    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/default.html new file mode 100755 index 00000000..83a8b896 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/default.html @@ -0,0 +1,51 @@ + + + + jQuery UI Effects - removeClass Demo + + + + + + + + + +
    + +
    +
    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. +
    +
    + +Run Effect + +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/removeClass/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/default.html new file mode 100755 index 00000000..7c70526a --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/default.html @@ -0,0 +1,106 @@ + + + + jQuery UI Effects - Show Demo + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Show

    +

    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi. +

    +
    +
    + + + +Run Effect + + +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/show/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/default.html new file mode 100755 index 00000000..09b48c9d --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/default.html @@ -0,0 +1,47 @@ + + + + jQuery UI Effects - switchClass Demo + + + + + + + + + +
    + + +
    +
    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. +
    +
    +Run Effect + +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/switchClass/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/default.html new file mode 100755 index 00000000..ffb464b3 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/default.html @@ -0,0 +1,94 @@ + + + + jQuery UI Effects - Toggle Demo + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Toggle

    +

    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi. +

    +
    +
    + + + +Run Effect +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggle/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/default.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/default.html new file mode 100755 index 00000000..8faa159e --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/default.html @@ -0,0 +1,45 @@ + + + + jQuery UI Effects - toggleClass Demo + + + + + + + + + +
    + +
    +
    + Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. +
    +
    + +Run Effect + +
    + +
    + +

    Click the button above to preview the effect.

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/index.html new file mode 100755 index 00000000..4b9471d6 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/demos/toggleClass/index.html @@ -0,0 +1,17 @@ + + + + jQuery UI Effects Demos + + + + +
    +

    Examples

    + +
    + + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/addClass.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/addClass.html new file mode 100755 index 00000000..e0e2a1df --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/addClass.html @@ -0,0 +1,108 @@ + + +
    +

    jQuery UI addClass

    +
    +

    Overview

    +
    +

    addClass( class, [duration] )

    +

    Adds the specified class to each of the set of matched elements with an optional transition between the states.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Adds the class 'selected' to the matched elements with a one second transition.
    +

    +
    $("p").click(function () {
    +      $(this).addClass("selected", 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<style type="text/css">
    +  p { cursor: pointer; font-size: 1.2em; }
    +  .selected { color:red; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $(this).addClass("selected", 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  <p>Click me to add a 'selected' class.</p>
    +<p>Click me to add a 'selected' class.</p>
    +<p>Click me to add a 'selected' class.</p>
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      class

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      One CSS class to add to the elements.

      +
      +
    • + + +
    • +
      +

      duration

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/animate.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/animate.html new file mode 100755 index 00000000..9c365a4c --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/animate.html @@ -0,0 +1,78 @@ +

    « Back to the jQuery UI Docs +

    The jQuery UI effects core extends the animate function to be able to animate colors as well. It's heavily used by the class transition feature and it's able to color animate the following properties: +

    +
    • backgroundColor +
    • borderBottomColor +
    • borderLeftColor +
    • borderRightColor +
    • borderTopColor +
    • color +
    • outlineColor +
    +

    with one of the following combinations: +

    +
    • hex (#FF0000) +
    • rgb (rgb(255,255,255)) +
    • names ("black") +
    +


    +

    +
    NameType
    Example: +
    + +
    +A simple color animation.
    +

    +
    $(".block").toggle(function() {
    +    $(this).animate({ backgroundColor: "black" }, 1000);
    +},function() {
    +    $(this).animate({ backgroundColor: "#68BFEF" }, 500);
    +});
    +
    +
    +

    +

    +
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    +                    "http://www.w3.org/TR/html4/loose.dtd">
    +<html>
    +<head>
    +  <script src="http://code.jquery.com/jquery-latest.js"></script>
    +  
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +
    +  <script>
    +  $(document).ready(function(){
    +    $(".block").toggle(function() {
    +    $(this).animate({ backgroundColor: "black" }, 1000);
    +},function() {
    +    $(this).animate({ backgroundColor: "#68BFEF" }, 500);
    +});
    +
    +  });
    +  </script>
    +  <style>
    +  .block { 
    +    color: white;
    +    background-color: #68BFEF;
    +    width: 150px; 
    +    height: 70px;
    +    margin: 10px; 
    +  }
    +  </style>
    +</head>
    +<body>
    +  <div class="block"> Click me</div>
    +</body>
    +</html>
    +
    +

    +

    +

    NameType
    +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/effect.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/effect.html new file mode 100755 index 00000000..439e6cd8 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/effect.html @@ -0,0 +1,142 @@ + + +
    +

    jQuery UI effect

    +
    +

    Overview

    +
    +

    effect( effect, [options], [speed], [callback] )

    +

    Uses a specific effect on an element (without the show/hide logic).

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Apply the effect explode if you click on the element.
    +

    +
    $("p").click(function () {
    +      $("div").effect("explode");
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<script src="http://ui.jquery.com/latest/ui/effects.explode.js"></script>
    +<style type="text/css">
    +  div { margin: 0 auto; width: 100px; height: 80px; background: blue; position: relative; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $("div").effect("explode");
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p>Click me</p><div></div>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      effect

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      The effect to be used. Possible values: 'blind', 'bounce', 'clip', 'drop', 'explode', 'fold', 'highlight', 'puff', 'pulsate', 'scale', 'shake', 'size', 'slide', 'transfer'.

      +
      +
    • + + +
    • +
      +

      options

      +
      +
      Type:
      +
      Hash
      + +
      Optional
      + +
      +
      +
      +

      A object/hash including specific options for the effect.

      +
      +
    • + + +
    • +
      +

      speed

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + + +
    • +
      +

      callback

      +
      +
      Type:
      +
      Function
      + +
      Optional
      + +
      +
      +
      +

      A function that is called after the effect is completed.

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/hide.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/hide.html new file mode 100755 index 00000000..8ea9d59d --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/hide.html @@ -0,0 +1,143 @@ + + +
    +

    jQuery UI hide

    +
    +

    Overview

    +
    +

    hide( effect, [options], [speed], [callback] )

    +

    The enhanced hide method optionally accepts jQuery UI advanced effects.

    +

    Uses a specific effect on an element to hide the element if the first argument is an effect string.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Apply the effect slide if you click on the p to hide a div.
    +

    +
    $("p").click(function () {
    +      $("div").hide("slide", {}, 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<script src="http://ui.jquery.com/latest/ui/effects.slide.js"></script>
    +<style type="text/css">
    +  div { margin: 0px; width: 100px; height: 80px; background: blue; position: relative; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $("div").hide("slide", {}, 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p>Click me</p><div></div>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      effect

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.

      +
      +
    • + + +
    • +
      +

      options

      +
      +
      Type:
      +
      Hash
      + +
      Optional
      + +
      +
      +
      +

      A object/hash including specific options for the effect.

      +
      +
    • + + +
    • +
      +

      speed

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + + +
    • +
      +

      callback

      +
      +
      Type:
      +
      Function
      + +
      Optional
      + +
      +
      +
      +

      A function that is called after the effect is completed.

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/removeClass.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/removeClass.html new file mode 100755 index 00000000..b2b19e86 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/removeClass.html @@ -0,0 +1,112 @@ + + +
    +

    jQuery UI removeClass

    +
    +

    Overview

    +
    +

    removeClass( [class], [duration] )

    +

    Removes all or specified class from each of the set of matched elements with an optional transition between the states.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Removes the class 'selected' from the matched elements with a one second transition.
    +

    +
    $("p").click(function () {
    +      $(this).removeClass("selected", 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<style type="text/css">
    +  p { cursor: pointer; font-size: 1.2em; }
    +  .selected { color:red; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $(this).removeClass("selected", 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p class="selected">Click me to remove 'selected' class.</p>
    +<p class="selected">Click me to remove 'selected' class.</p>
    +<p class="selected">Click me to remove 'selected' class.</p>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      class

      +
      +
      Type:
      +
      String
      + +
      Optional
      + +
      +
      +
      +

      CSS classes to remove from the elements.

      +
      +
    • + + +
    • +
      +

      duration

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/show.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/show.html new file mode 100755 index 00000000..c8e66810 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/show.html @@ -0,0 +1,143 @@ + + +
    +

    jQuery UI show

    +
    +

    Overview

    +
    +

    show( effect, [options], [speed], [callback] )

    +

    The enhanced show method optionally accepts jQuery UI advanced effects.

    +

    Uses a specific effect on an element to show the element if the first argument is a effect string.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Apply the effect slide if you click on the p to show a div.
    +

    +
    $("p").click(function () {
    +      $("div").show("slide", {}, 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<script src="http://ui.jquery.com/latest/ui/effects.slide.js"></script>
    +<style type="text/css">
    +  div { display: none; margin: 0px; width: 100px; height: 80px; background: blue; position: relative; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $("div").show("slide", {}, 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p>Click me</p><div></div>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      effect

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.

      +
      +
    • + + +
    • +
      +

      options

      +
      +
      Type:
      +
      Hash
      + +
      Optional
      + +
      +
      +
      +

      A object/hash including specific options for the effect.

      +
      +
    • + + +
    • +
      +

      speed

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + + +
    • +
      +

      callback

      +
      +
      Type:
      +
      Function
      + +
      Optional
      + +
      +
      +
      +

      A function that is called after the effect is completed.

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/switchClass.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/switchClass.html new file mode 100755 index 00000000..b2e1b837 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/switchClass.html @@ -0,0 +1,128 @@ + + +
    +

    jQuery UI switchClass

    +
    +

    Overview

    +
    +

    switchClass( remove, add, [duration] )

    +

    Switches from the class defined in the first argument to the class defined as second argument, using an optional transition.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Switch the class 'highlight' to 'blue' when a paragraph is clicked with a one second transition.
    +

    +
    $("p").click(function () {
    +      $(this).switchClass("highlight", "blue", 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<style type="text/css">
    +  p { margin: 4px; font-size:16px; font-weight:bolder; 
    +      cursor:pointer; }
    +  .blue { background: blue; }
    +  .highlight { background:yellow; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $(this).switchClass("highlight", "blue", 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p class="highlight">Click to switch</p>
    +<p class="highlight">to blue</p>
    +<p class="highlight">on these</p>
    +<p class="highlight">paragraphs</p>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      remove

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      The CSS class that will be removed.

      +
      +
    • + + +
    • +
      +

      add

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      The CSS class that will be added.

      +
      +
    • + + +
    • +
      +

      duration

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggle.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggle.html new file mode 100755 index 00000000..f5693455 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggle.html @@ -0,0 +1,143 @@ + + +
    +

    jQuery UI toggle

    +
    +

    Overview

    +
    +

    toggle( effect, [options], [speed], [callback] )

    +

    The enhanced toggle method optionally accepts jQuery UI advanced effects.

    +

    Uses a specific effect on an element to toggle the element if the first argument is an effect string.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Apply the effect slide if you click on the p to toggle a div.
    +

    +
    $("p").click(function () {
    +      $("div").toggle("slide", {}, 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<script src="http://ui.jquery.com/latest/ui/effects.slide.js"></script>
    +<style type="text/css">
    +  div { display: none; margin: 0px; width: 100px; height: 80px; background: blue; position: relative; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $("div").toggle("slide", {}, 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p>Click me</p><div></div>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      effect

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.

      +
      +
    • + + +
    • +
      +

      options

      +
      +
      Type:
      +
      Hash
      + +
      Optional
      + +
      +
      +
      +

      A object/hash including specific options for the effect.

      +
      +
    • + + +
    • +
      +

      speed

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + + +
    • +
      +

      callback

      +
      +
      Type:
      +
      Function
      + +
      Optional
      + +
      +
      +
      +

      A function that is called after the effect is completed.

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggleClass.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggleClass.html new file mode 100755 index 00000000..6740cc37 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/docs/toggleClass.html @@ -0,0 +1,110 @@ + + +
    +

    jQuery UI toggleClass

    +
    +

    Overview

    +
    +

    toggleClass( class, [duration] )

    +

    Adds the specified class if it is not present, and removes the specified class if it is present, using an optional transition.

    +
    +
    +

    Dependencies

    +
      +
    • Effects Core
    • +
    +
    +
    +

    Example

    +
    + +

    +Adds the 'selected' class if it is not present, and removes the 'selected' class if it is present.
    +

    +
    $("p").click(function () {
    +      $(this).toggleClass("selected", 1000);
    +    });
    +
    +

    +

    +
    <!DOCTYPE html>
    +<html>
    +<head>
    +  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    +  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    +  <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    +<style type="text/css">
    +  p { cursor: pointer; font-size: 1.2em; }
    +  .selected { color:red; }
    +</style>
    +  <script type="text/javascript">
    +  $(document).ready(function(){
    +    $("p").click(function () {
    +      $(this).toggleClass("selected", 1000);
    +    });
    +  });
    +  </script>
    +</head>
    +<body style="font-size:62.5%;">
    +  
    +<p>Click me to toggle 'selected' class.</p>
    +<p class="selected">Click me to toggle 'selected' class.</p>
    +<p>Click me to toggle 'selected' class.</p>
    +
    +</body>
    +</html>
    +
    +

    +

    +
    +
    +
    +

    Arguments

    +
      + +
    • +
      +

      class

      +
      +
      Type:
      +
      String
      + +
      +
      +
      +

      A CSS class to toggle on the elements.

      +
      +
    • + + +
    • +
      +

      duration

      +
      +
      Type:
      +
      String, Number
      + +
      Optional
      + +
      +
      +
      +

      A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

      +
      +
    • + +
    +
    +
    + +

    + + diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/ChangeLog.txt b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/ChangeLog.txt new file mode 100755 index 00000000..ccebcbfb --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/ChangeLog.txt @@ -0,0 +1,20 @@ +== New and Noteworthy == + +== 2.1.1 == + +* Removed $.browser.version for jQuery < 1.1.3 + +== 2.1 == + +* Updated to work with jQuery 1.1.3 +* Added $.browser.version for jQuery < 1.1.3 +* Optimized duplication check by using child selector and using .length test + +== 2.0 == + +* Added ability change settings like width, height, src and more. + +== 1.0 == + +* Only adds iframe once per an element +* Works with SSL enabled pages \ No newline at end of file diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/META.json b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/META.json new file mode 100755 index 00000000..5be79cc8 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/META.json @@ -0,0 +1,32 @@ +{ + "name": "jQuery-bgiframe", + "version": 2.1, + "author": [ + "Brandon Aaron " + ], + "abstract": "jQuery plugin for fixing z-index issues in IE6", + "license": "mit, gpl", + "distribution_type": "plugin", + "requires": { + "jQuery": ">=1.0.3" + }, + "provides": { + "jQuery.bgiframe": { + "version": 2.1, + "file": "jquery.bgiframe.js" + } + }, + "keywords": [ + "iframe", + "hack", + "zIndex", + "z-index", + "ie6" + ], + "stability": "Official", + "meta-spec": { + "version": 1.3, + "url": "http://module-build.sourceforge.net/META-spec-v1.3.html" + }, + "generated_by": "Brandon Aaron" +} diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/docs/index.html b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/docs/index.html new file mode 100755 index 00000000..1776b4d0 --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/docs/index.html @@ -0,0 +1,113 @@ + + + + + bgiframe 2.1.1 docs + + + + + +
    +
    +

    bgiframe 2.1.1

    + +
    +
    What does it do?
    +
    +

    Have you ever experienced the select form element z-index issue in Internet Explorer 6? Most likely you have if you've implemented some sort of drop down menu navigation that shows up over a select form element.

    +

    The background iframe (bgiframe) plugin provides a very small, quick and easy way to fix that problem so you don't have to worry about it. No matter the size, borders or position the bgiframe plugin can fix it.

    +
    + +
    When should I use it?
    +
    +

    The bgiframe plugin should be used when you are trying to show elements above a select form control in Internet Explorer 6.

    +
    + +
    How do I use it?
    +
    +

    The usage is simple. Just call bgiframe on a jQuery collection of elements.

    +

    $('.fix-z-index').bgiframe();

    +

    The plugin tries its best to handle most situations but sometimes some configuration is necessary. For example if your borders are defined in a unit other than pixels, you will need to manually set the top and left properties to the negative width of the border. Here are the options/settings available to configure the output.

    +
    +
    top
    +
    +

    The iframe must be offset to the top by the width of the top border. This should be a negative number representing the border-top-width. If a number is is used here, pixels will be assumed. Otherwise, be sure to specify a unit. An expression could also be used. By default the value is "auto" which will use an expression to get the border-top-width if it is in pixels.

    +

    $('.fix-z-index').bgiframe({ top: '-1em' });

    +
    +
    left
    +
    +

    The iframe must be offset to the left by the width of the left border. This should be a negative number representing the border-left-width. If a number is used here, pixels will be assumed. Otherwise, be sure to specify a unit. An expression could also be used. By default the value is "auto" which will use an expression to get the border-left-width if it is in pixels.

    +

    $('.fix-z-index').bgiframe({ left: '-1em' });

    +
    +
    width
    +
    +

    This is the width of the iframe. If a number is used here, pixels will be assume. Otherwise, be sure to specify a unit. An expression could also be used. By default the value is "auto" which will use an expression to get the offsetWidth.

    +

    $('.fix-z-index').bgiframe({ width: 100 });

    +
    +
    height
    +
    +

    This is the height of the iframe. If a number is used here, pixels will be assume. Otherwise, be sure to specify a unit. An expression could also be used. By default the value is "auto" which will use an expression to get the offsetHeight.

    +

    $('.fix-z-index').bgiframe({ height: 100 });

    +
    +
    opacity
    +
    +

    This is a boolean representing whether or not to use opacity. If set to true, the opacity of 0 is applied. If set to false, the opacity filter is not applied. Default: true.

    +

    $('.fix-z-index').bgiframe({ opacity: false });

    +
    +
    src
    +
    +

    This setting is provided so that one could change the src of the iframe to whatever they need. Default: "javascript:false;"

    +

    $('.fix-z-index').bgiframe({ src: '#' });

    +
    +
    +
    + +
    How does it work?
    +
    +

    The bgiframe plugin works by prepending an iframe to the element. The iframe is given a class of bgiframe and positioned below all the other children of the element. In the default configuration it automatically adjusts to the width and height of the element (including the borders) and the opacity is set to 0. The element needs to have position (relative or absolute) and should have a background (color or image).

    +

    Check out the test page to see the plugin in action.

    +
    + +
    Where can I get it?
    +
    +
      +
    • 2.1 zip from the bgiframe project page.
    • +
    • Latest SVN: http://jqueryjs.googlecode.com/svn/trunk/plugins/bgiframe/
    • +
    • Tagged Versions in SVN: Latest SVN: http://jqueryjs.googlecode.com/svn/tags/plugins/bgiframe/
    • +
    +
    + +
    Suggestions? Bugs? Patches?
    +
    +

    Feel free to make any suggestions, bug reports or add any patches via the project page.

    +
    +
    +

    The bgiframe plugin is authored by Brandon Aaron (http://brandonaaron.net/)

    +
    +
    + + \ No newline at end of file diff --git a/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/jquery.bgiframe.js b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/jquery.bgiframe.js new file mode 100755 index 00000000..3a01f6eb --- /dev/null +++ b/git_wiki/public/javascripts/jquery-ui-1-1/development-bundle/external/bgiframe/jquery.bgiframe.js @@ -0,0 +1,100 @@ +/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net) + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. + * + * $LastChangedDate: 2007-07-21 18:44:59 -0500 (Sat, 21 Jul 2007) $ + * $Rev: 2446 $ + * + * Version 2.1.1 + */ + +(function($){ + +/** + * The bgiframe is chainable and applies the iframe hack to get + * around zIndex issues in IE6. It will only apply itself in IE6 + * and adds a class to the iframe called 'bgiframe'. The iframe + * is appeneded as the first child of the matched element(s) + * with a tabIndex and zIndex of -1. + * + * By default the plugin will take borders, sized with pixel units, + * into account. If a different unit is used for the border's width, + * then you will need to use the top and left settings as explained below. + * + * NOTICE: This plugin has been reported to cause perfromance problems + * when used on elements that change properties (like width, height and + * opacity) a lot in IE6. Most of these problems have been caused by + * the expressions used to calculate the elements width, height and + * borders. Some have reported it is due to the opacity filter. All + * these settings can be changed if needed as explained below. + * + * @example $('div').bgiframe(); + * @before

    Paragraph

    + * @result