From 60721f4292bb90ffb34e3416ed73fdb451adbecb Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Fri, 26 Apr 2013 22:31:50 +0100 Subject: Colorbox --- library/colorbox/README.md | 376 ++++ library/colorbox/colorbox.ai | 1811 ++++++++++++++++++++ library/colorbox/colorbox.css | 52 + library/colorbox/colorbox.jquery.json | 30 + library/colorbox/component.json | 8 + library/colorbox/content/ajax.html | 11 + library/colorbox/content/homer.jpg | Bin 0 -> 8917 bytes library/colorbox/content/marylou.jpg | Bin 0 -> 55125 bytes library/colorbox/content/ohoopee1.jpg | Bin 0 -> 74827 bytes library/colorbox/content/ohoopee2.jpg | Bin 0 -> 117411 bytes library/colorbox/content/ohoopee3.jpg | Bin 0 -> 71514 bytes library/colorbox/example1/colorbox.css | 86 + library/colorbox/example1/images/border.png | Bin 0 -> 112 bytes library/colorbox/example1/images/controls.png | Bin 0 -> 2893 bytes .../example1/images/ie6/borderBottomCenter.png | Bin 0 -> 111 bytes .../example1/images/ie6/borderBottomLeft.png | Bin 0 -> 215 bytes .../example1/images/ie6/borderBottomRight.png | Bin 0 -> 217 bytes .../example1/images/ie6/borderMiddleLeft.png | Bin 0 -> 108 bytes .../example1/images/ie6/borderMiddleRight.png | Bin 0 -> 108 bytes .../example1/images/ie6/borderTopCenter.png | Bin 0 -> 111 bytes .../colorbox/example1/images/ie6/borderTopLeft.png | Bin 0 -> 216 bytes .../example1/images/ie6/borderTopRight.png | Bin 0 -> 214 bytes library/colorbox/example1/images/loading.gif | Bin 0 -> 9427 bytes .../example1/images/loading_background.png | Bin 0 -> 157 bytes library/colorbox/example1/images/overlay.png | Bin 0 -> 182 bytes library/colorbox/example1/index.html | 87 + library/colorbox/example2/colorbox.css | 43 + library/colorbox/example2/images/controls.png | Bin 0 -> 570 bytes library/colorbox/example2/images/loading.gif | Bin 0 -> 9427 bytes library/colorbox/example2/index.html | 87 + library/colorbox/example3/colorbox.css | 38 + library/colorbox/example3/images/controls.png | Bin 0 -> 1633 bytes library/colorbox/example3/images/loading.gif | Bin 0 -> 9427 bytes library/colorbox/example3/index.html | 87 + library/colorbox/example4/colorbox.css | 82 + library/colorbox/example4/images/border1.png | Bin 0 -> 1057 bytes library/colorbox/example4/images/border2.png | Bin 0 -> 170 bytes .../example4/images/ie6/borderBottomCenter.png | Bin 0 -> 153 bytes .../example4/images/ie6/borderBottomLeft.png | Bin 0 -> 473 bytes .../example4/images/ie6/borderBottomRight.png | Bin 0 -> 470 bytes .../example4/images/ie6/borderMiddleLeft.png | Bin 0 -> 148 bytes .../example4/images/ie6/borderMiddleRight.png | Bin 0 -> 139 bytes .../example4/images/ie6/borderTopCenter.png | Bin 0 -> 153 bytes .../colorbox/example4/images/ie6/borderTopLeft.png | Bin 0 -> 359 bytes .../example4/images/ie6/borderTopRight.png | Bin 0 -> 465 bytes library/colorbox/example4/images/loading.gif | Bin 0 -> 9427 bytes library/colorbox/example4/index.html | 87 + library/colorbox/example5/colorbox.css | 52 + library/colorbox/example5/images/border.png | Bin 0 -> 163 bytes library/colorbox/example5/images/controls.png | Bin 0 -> 2033 bytes library/colorbox/example5/images/loading.gif | Bin 0 -> 9427 bytes .../example5/images/loading_background.png | Bin 0 -> 166 bytes library/colorbox/example5/index.html | 87 + library/colorbox/i18n/jquery.colorbox-cs.js | 14 + library/colorbox/i18n/jquery.colorbox-da.js | 14 + library/colorbox/i18n/jquery.colorbox-de.js | 13 + library/colorbox/i18n/jquery.colorbox-es.js | 13 + library/colorbox/i18n/jquery.colorbox-fr.js | 14 + library/colorbox/i18n/jquery.colorbox-it.js | 13 + library/colorbox/i18n/jquery.colorbox-ru.js | 14 + library/colorbox/images/border.png | Bin 0 -> 163 bytes library/colorbox/images/controls.png | Bin 0 -> 2033 bytes library/colorbox/images/loading.gif | Bin 0 -> 9427 bytes library/colorbox/images/loading_background.png | Bin 0 -> 166 bytes library/colorbox/jquery.colorbox-min.js | 1 + library/colorbox/jquery.colorbox.js | 975 +++++++++++ 66 files changed, 4095 insertions(+) create mode 100644 library/colorbox/README.md create mode 100644 library/colorbox/colorbox.ai create mode 100644 library/colorbox/colorbox.css create mode 100644 library/colorbox/colorbox.jquery.json create mode 100644 library/colorbox/component.json create mode 100644 library/colorbox/content/ajax.html create mode 100644 library/colorbox/content/homer.jpg create mode 100644 library/colorbox/content/marylou.jpg create mode 100644 library/colorbox/content/ohoopee1.jpg create mode 100644 library/colorbox/content/ohoopee2.jpg create mode 100644 library/colorbox/content/ohoopee3.jpg create mode 100644 library/colorbox/example1/colorbox.css create mode 100644 library/colorbox/example1/images/border.png create mode 100644 library/colorbox/example1/images/controls.png create mode 100644 library/colorbox/example1/images/ie6/borderBottomCenter.png create mode 100644 library/colorbox/example1/images/ie6/borderBottomLeft.png create mode 100644 library/colorbox/example1/images/ie6/borderBottomRight.png create mode 100644 library/colorbox/example1/images/ie6/borderMiddleLeft.png create mode 100644 library/colorbox/example1/images/ie6/borderMiddleRight.png create mode 100644 library/colorbox/example1/images/ie6/borderTopCenter.png create mode 100644 library/colorbox/example1/images/ie6/borderTopLeft.png create mode 100644 library/colorbox/example1/images/ie6/borderTopRight.png create mode 100644 library/colorbox/example1/images/loading.gif create mode 100644 library/colorbox/example1/images/loading_background.png create mode 100644 library/colorbox/example1/images/overlay.png create mode 100644 library/colorbox/example1/index.html create mode 100644 library/colorbox/example2/colorbox.css create mode 100644 library/colorbox/example2/images/controls.png create mode 100644 library/colorbox/example2/images/loading.gif create mode 100644 library/colorbox/example2/index.html create mode 100644 library/colorbox/example3/colorbox.css create mode 100644 library/colorbox/example3/images/controls.png create mode 100644 library/colorbox/example3/images/loading.gif create mode 100644 library/colorbox/example3/index.html create mode 100644 library/colorbox/example4/colorbox.css create mode 100644 library/colorbox/example4/images/border1.png create mode 100644 library/colorbox/example4/images/border2.png create mode 100644 library/colorbox/example4/images/ie6/borderBottomCenter.png create mode 100644 library/colorbox/example4/images/ie6/borderBottomLeft.png create mode 100644 library/colorbox/example4/images/ie6/borderBottomRight.png create mode 100644 library/colorbox/example4/images/ie6/borderMiddleLeft.png create mode 100644 library/colorbox/example4/images/ie6/borderMiddleRight.png create mode 100644 library/colorbox/example4/images/ie6/borderTopCenter.png create mode 100644 library/colorbox/example4/images/ie6/borderTopLeft.png create mode 100644 library/colorbox/example4/images/ie6/borderTopRight.png create mode 100644 library/colorbox/example4/images/loading.gif create mode 100644 library/colorbox/example4/index.html create mode 100644 library/colorbox/example5/colorbox.css create mode 100644 library/colorbox/example5/images/border.png create mode 100644 library/colorbox/example5/images/controls.png create mode 100644 library/colorbox/example5/images/loading.gif create mode 100644 library/colorbox/example5/images/loading_background.png create mode 100644 library/colorbox/example5/index.html create mode 100644 library/colorbox/i18n/jquery.colorbox-cs.js create mode 100644 library/colorbox/i18n/jquery.colorbox-da.js create mode 100644 library/colorbox/i18n/jquery.colorbox-de.js create mode 100644 library/colorbox/i18n/jquery.colorbox-es.js create mode 100644 library/colorbox/i18n/jquery.colorbox-fr.js create mode 100644 library/colorbox/i18n/jquery.colorbox-it.js create mode 100644 library/colorbox/i18n/jquery.colorbox-ru.js create mode 100644 library/colorbox/images/border.png create mode 100644 library/colorbox/images/controls.png create mode 100644 library/colorbox/images/loading.gif create mode 100644 library/colorbox/images/loading_background.png create mode 100644 library/colorbox/jquery.colorbox-min.js create mode 100644 library/colorbox/jquery.colorbox.js (limited to 'library/colorbox') diff --git a/library/colorbox/README.md b/library/colorbox/README.md new file mode 100644 index 000000000..bc002381e --- /dev/null +++ b/library/colorbox/README.md @@ -0,0 +1,376 @@ +## About ColorBox: +A customizable lightbox plugin for jQuery. See the [project page](http://jacklmoore.com/colorbox/) for documentation and a demonstration, and the [FAQ](http://jacklmoore.com/colorbox/faq/) for solutions and examples to common issues. Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php). + +## Translations Welcome +Send me your language configuration files. See /i18n/jquery.colorbox-de.js as an example. + +## Changelog: + +### Version 1.3.32 - 2013/1/31 + +* Improved internal event subscribing & fixed event bug introduced in v1.3.21 + +### Version 1.3.31 - 2013/1/28 + +* Fixed a size-calculation bug introduced in the previous commit. + +### Version 1.3.30 - 2013/1/25 + +* Delayed border-width calculations until after opening, to avoid a bug in FF when using ColorBox in a hidden iframe. + +### Version 1.3.29 - 2013/1/24 + +* Fixes bug with bubbling delegated events, introduced in the previous commit. + +### Version 1.3.28 - 2013/1/24 + +* Fixed compatibility issue with old versions of jQuery (1.3.2-1.4.2) + +### Version 1.3.27 - 2013/1/23 + +* Added className property. + +### Version 1.3.26 - 2013/1/23 + +* Minor bugfix: clear the onload event handler after photo has loaded. + +### Version 1.3.25 - 2013/1/23 + +* Removed grunt file & added Bower component.json. + +### Version 1.3.24 - 2013/1/22 + +* Added generated files (jquery.colorbox.js / jquery.colorbox-min.js) back to the repository. + +### Version 1.3.23 - 2013/1/18 + +* Minor bugfix for calling ColorBox on empty jQuery collections without a selector. + +### Version 1.3.22 - 2013/1/17 + +* Recommit for plugins.jquery.com + +### Version 1.3.21 - 2013/1/15 +Files Changed: *.js + +* Fixed compatability issues with jQuery 1.9 + +### Version 1.3.20 - August 15 2012 +Files Changed:jquery.colorbox.js + +* Added temporary workaround for jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273) +* Added *.jpe extension to the list of image types. + +### Version 1.3.19 - December 08 2011 +Files Changed:jquery.colorbox.js, colorbox.css (all) + +* Fixed bug related to using the 'fixed' property. +* Optimized the setup procedure to be more efficient. +* Removed $.colorbox.init() as it will no longer be needed (will self-init when called). +* Removed use of $.browser. + +### Version 1.3.18 - October 07 2011 +Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 1's controls.png + +* Fixed a regression where Flash content displayed in ColorBox would be reloaded if the browser window was resized. +* Added safety check to make sure that ColorBox's markup is only added to the DOM a single time, even if $.colorbox.init() is called multiple times. This will allow site owners to manually initialize ColorBox if they need it before the DOM has finished loading. +* Updated the example index.html files to be HTML5 compliant. +* Changed the slideshow behavior so that it immediately moves to the next slide when the slideshow is started. +* Minor regex bugfix to allow automatic detection of image URLs that include fragments. + +### Version 1.3.17 - May 11 2011 +Files Changed:jquery.colorbox.js/jquery.colorbox-min.js + +* Added properties "top", "bottom", "left" and "right" to specify a position relative to the viewport, rather than using the default centering. +* Added property "data" to specify GET or POST data when using Ajax. ColorBox's ajax functionality is handled by jQuery's .load() method, so the data property works the same way as it does with .load(). +* Added property "fixed" which can provide fixed positioning for ColorBox, rather than absolute positioning. This will allow ColorBox to remain in a fixed position within the visitors viewport, despite scrolling. IE6 support for this was not added, it will continue to use the default absolute positioning. +* Fixed ClearType problem with IE7. +* Minor fixes. + +### Version 1.3.16 - March 01 2011 +Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 4 background png files + +* Better IE related transparency workarounds. IE7 and up now uses the same background image sprite as other browsers. +* Added error handling for broken image links. A message will be displayed telling the user that the image could not be loaded. +* Added new property: 'fastIframe' and set it to true by default. Setting to fastIframe:false will delay the loading graphic removal and onComplete event until iframe has completely loaded. +* Ability to redefine $.colorbox.close (or prev, or next) at any time. + +### Version 1.3.15 - October 27 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Minor fixes for specific cases. + +### Version 1.3.14 - October 27 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* In IE6, closing an iframe when using HTTPS no longer generates a security warning. + +### Version 1.3.13 - October 22 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Changed the index.html example files to use YouTube's new embedded link format. +* By default, ColorBox returns focus to the element it was launched from once it closes. This can now be disabled by setting the 'returnFocus' property to false. Focus was causing problems for some users who had their anchor elements inside animated containers. +* Minor bug fix involved in using a combination of slideshow and non-slideshow content. + +### Version 1.3.12 - October 20 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Minor bug fix involved in preloading images when using a function as a value for the href property. + +### Version 1.3.11 - October 19 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Fixed the slideshow functionality that broke with 1.3.10 +* The slideshow now respects the loop property. + +### Version 1.3.10 - October 16 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Fixed compatibility with jQuery 1.4.3 +* The 'open' property now accepts a function as a value, like all of the other properties. +* Preloading now loads the correct href for images when using a dynamic (function) value for the href property. +* Fixed bug in Safari 3 for Win where ColorBox centered on the document, rather than the visitor's viewport. +* May have fixed an issue in Opera 10.6+ where ColorBox would rarely/randomly freeze up while switching between photos in a group. +* Some functionality better encapsulated & minor performance improvements. + +### Version 1.3.9 - July 7 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/ all colorbox.css (the core styles) + +* Fixed a problem where iframed youtube videos would cause a security alert in IE. +* More code is event driven now, making the source easier to grasp. +* Removed some unnecessary style from the core CSS. + +### Version 1.3.8 - June 21 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Fixed a bug in Chrome where it would sometimes render photos at 0 by 0 width and height (behavior introduced in recent update to Chrome). +* Fixed a bug where the onClosed callback would fire twice (only affected 1.3.7). +* Fixed a bug in IE7 that existed with some iframed websites that use JS to reposition the viewport caused ColorBox to move out of position. +* Abstracted the identifiers (HTML ids & classes, and JS plugin name, method, and events) so that the plugin can be easily rebranded. +* Small changes to improve either code readability or compression. + +### Version 1.3.7 - June 13 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html + +* $.colorbox can now be used for direct calls and accessing public methods. Example: $.colorbox.close(); +* Resize now accepts 'width', 'innerWidth', 'height' and 'innerHeight'. Example: $.colorbox.resize({width:"100%"}) +* Added option (loop:false) to disable looping in a group. +* Added options (escKey:false, arrowKey:false) to disable esc-key and arrow-key bindings. +* Added method for removing ColorBox from a document: $.colorbox.remove(); +* Fixed a bug where iframed URLs would be truncated if they contained an unencoded apostrophe. +* Now uses the exact href specified on an anchor, rather than the version returned by 'this.href'. This was causing "#example" to be normalized to "http://domain/#example" which interfered with how some users were setting up links to inline content. +* Changed example documents over to HTML5. + +### Version 1.3.6 - Jan 13 2010 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Small change to make ColorBox compatible with jQuery 1.4 + +### Version 1.3.5 - December 15 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Fixed a bug introduced in 1.3.4 with IE7's display of example 2 and 3, and auto-width in Opera. +* Fixed a bug introduced in 1.3.4 where colorbox could not be launched by triggering an element's click event through JavaScript. +* Minor refinements. + +### Version 1.3.4 - December 5 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Event delegation is now used for elements that ColorBox is assigned to, rather than individual click events. +* Additional callbacks have been added to represent other stages of ColorBox's lifecycle. Available callbacks, in order of their execution: onOpen, onLoad, onComplete, onCleanup, onClosed These take place at the same time as the event hooks, but will be better suited than the hooks for targeting specific instances of ColorBox. +* Ajax content is now immediately added to the DOM to be more compatible if that content contains script tags. +* Focus is now returned to the calling element on closing. +* Fixed a bug where maxHeight and maxWidth did not work for non-photo content. +* Direct calls no longer need 'open:true', it is assumed. Example: `$.fn.colorbox({html:'

Hi

'});` + +### Version 1.3.3 - November 7 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Changed $.fn.colorbox.element() to return a jQuery object rather the DOM element. +* jQuery.colorbox-min.js is compressed with Google's Closure Compiler rather than YUI Compressor. + +### Version 1.3.2 - October 27 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Added 'innerWidth' and 'innerHeight' options to allow people to easily set the size dimensions for ColorBox, without having to anticipate the size of the borders and buttons. +* Renamed 'scrollbars' option to 'scrolling' to be in keeping with the existing HTML attribute. The option now also applies to iframes. +* Bug fix: In Safari, positioning occassionally incorrect when using '100%' dimensions. +* Bug fix: In IE6, the background overlay is briefly not full size when first viewing. +* Bug fix: In Firefox, opening ColorBox causes a split second shift with a small minority of webpage layouts. +* Simplified code in a few areas. + +### Version 1.3.1 - September 16 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css/colorbox-ie.css(removed) + +* Removed the IE-only stylesheets and conditional comments for example styles 1 & 4. All CSS is handled by a single CSS file for all examples. +* Removed user-agent sniffing from the js and replaced it with feature detection. This will allow correct rendering for visitors masking their agent type. + +### Version 1.3.0 - September 15 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css + +* Added $.fn.colorbox.resize() method to allow ColorBox to resize it's height if it's contents change. +* Added 'scrollbars' option to allow users to turn off scrollbars when using the resize() method. +* Renamed the 'resize' option to be less ambiguous. It's now 'scalePhotos'. +* Renamed the 'cbox_close' event to be less ambiguous. It's now 'cbox_cleanup'. It is the first thing to happen in the close method while the 'cbox_closed' event is the last to happen. +* Fixed a bug with the slideshow mouseover graphics that appeared after ColorBox is opened a 2nd time. +* Fixed a bug where ClearType may not work in IE6&7 if using the fade transition. +* Minor code optimizations to increase compression. + +### Version 1.2.9 - August 7 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Minor change to enable use with $.getScript(); +* Minor change to the timing of the 'cbox_load' event so that it is more useful. +* Added a direct link to a YouTube video to the examples. + +### Version 1.2.8 - August 5 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Fixed a bug with the overlay in IE6 +* Fixed a bug where left & right keypress events might be prematurely unbound. + +### Version 1.2.7 - July 31 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets and background images (core styles have not changed and the updates will not affect existing user themes / old example themes) + +* Code cleanup and reduction, better organization and documentation in the full source. +* Added ability to use functions in place of static values for ColorBox's options (thanks Ken!). +* Added an option for straight HTML. Example: `$.fn.colorbox({html:'

Howdy

', open:true})` +* Added an event for the beginning of the closing process. This is in addition to the event that already existed for when ColorBox had completely closed. 'cbox_close' and 'cbox_closed' respectively. +* Fixed a minor bug in IE6 that would cause a brief content shift in the parent document when opening ColorBox. +* Fixed a minor bug in IE6 that would reveal select elements that had a hidden visibility after closing ColorBox. +* The 'esc' key is unbound now when ColorBox is not open, to avoid any potential conflicts. +* Used background sprites for examples 1 & 4. Put IE-only (non-sprite) background images in a separate folder. +* Example themes 1, 3, & 4 received slight visual tweaks. +* Optimized pngs for smaller file size. +* Added slices, grid, and correct sizing to the Adobe Illustrator file, all theme files are now export ready! + +### Version 1.2.6 - July 15 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Fixed a bug with fixed width/height images in Opera 9.64. +* Fixed a bug with trying to set a value for rel during a direct call to ColorBox. Example: `$.fn.colorbox({rel:'foo', open:true});` +* Changed how href/rel/title settings are determined to avoid users having to manually update ColorBox settings if they use JavaScript to update any of those attributes, after ColorBox has been defined. +* Fixed a FF3 bug where the back button was disabled after closing an iframe. + +### Version 1.2.5 - June 23 2009 +Files Changed: jquery.colorbox.js/jquery.colorbox-min.js + +* Changed the point at which iframe srcs are set (to eliminate the need to refresh the iframe once it has been added to the DOM). +* Removed unnecessary return values for a very slight code reduction. + +### Version 1.2.4 - June 9 2009 +Files Changed: jquery.colorbox.js, jquery.colorbox-min.js + +* Fixed an issue where ColorBox may not close completely if it is closed during a transition animation. +* Minor code reduction. + +### Version 1.2.3 - June 4 2009 +* Fixed a png transparency stacking issue in IE. +* More accurate Ajax auto-sizing if the user was depending on the #cboxLoadedContent ID for CSS styling. +* Added a public function for returning the current html element that ColorBox is associated with. Example use: var that = $.fn.colorbox.element(); +* Added bicubic scaling for resized images in the original IE7. +* Removed the IE6 stylesheet and png files from Example 3. It now uses the same png file for the controls that the rest of the browsers use (an alpha transparency PNG8). This example now only has 2 graphics files and 1 stylesheet. + +### Version 1.2.2 - May 28 2009 +* Fixed an issue with the 'resize' option. + +### Version 1.2.1 - May 28 2009 +* Note: If you are upgrading, update your jquery.colorbox.js and colorbox.css files. +* Added photo resizing. +* Added a maximum width and maximum height. Example: {height:800, maxHeight:'100%'}, would allow the box to be a maximum potential height of 800px, instead of a fixed height of 800px. With maxHeight of 100% the height of ColorBox cannot exceed the height of the browser window. +* Added 'rel' setting to add the ability to set an alternative rel for any ColorBox call. This allows the user to group any combination of elements together for a gallery, or to override an existing rel. attribute so those element are not grouped together, without having to alter their rel in the HTML. +* Added a 'photo' setting to force ColorBox to display a link as a photo. Use this when automatic photo detection fails (such as using a url like 'photo.php' instead of 'photo.jpg', 'photo.jpg#1', or 'photo.jpg?pic=1') +* Removed the need to ever create disposable elements to call colorbox on. ColorBox can now be called directly, without being associated with any existing element, by using the following format: + `$.fn.colorbox({open:true, href:'yourLink.xxx'});` +* ColorBox settings are now persistent and unique for each element. This allows for extremely flexible options for individual elements. You could use this to create a gallery in which each page in the gallery has different settings. One could be a photo with a fade transition, next could be an inline element with an elastic transition with a set width and height, etc. +* For user callbacks, 'this' now refers to the element colorbox was opened from. +* Fixed a minor grouping issue with IE6, when transition type is set to 'none'. +* Added an Adobe Illustrator file that contains the borders and buttons used in the various examples. + +### Version 1.2 - May 13 2009 +* Added a slideshow feature. +* Added re-positioning on browser resize. If the browser is resized, ColorBox will recenter itself onscreen. +* Added hooks for key events: cbox_open, cbox_load, cbox_complete, cbox_closed. +* Fixed an IE transparency-stacking problem, where transparent PNGs would show through to the background overlay. +* Fixed an IE iframe issue where the ifame might shift up and to the left under certain circumstances. +* Fixed an IE6 bug where the loading overlay was not at full height. +* Removed the delay in switching between same-sized gallery content when using transitions. +* Changed how iframes are loaded to make it more compatible with iframed pages that use DOM dependent JavaScript. +* Changed how the JS is structured to be better organized and increase compression. Increased documentation. +* Changed CSS :hover states to a .hover class. This sidesteps a minor IE8 bug with css hover states and allows easier access to hover state user styles from the JavaScript. +* Changed: elements added to the DOM have new ID's. The naming is more consistent and less likely to cause conflicts with existing website stylesheets. All stylesheets have been updated. +* Changed the behavior for prev/next links so that ColorBox does not get hung up on broken links. A visitor can now skip through broken or long-loading links by clicking prev/next buttons. +* Changed the naming of variables in the parameter map to be more concise and intuitive. +* Removed colorbox.css. Combined the colorbox.css styles with jquery.colorbox.js: the css file was not large enough to warrant being a separate file. + +### Version 1.1.6 - April 28 2009 +* Prevented the default action of the next & previous anchors and the left and right keys for gallery mode. +* Fixed a bug where the title element was being added back to the DOM when closing ColorBox while using inline content. +* Fixed a bug where IE7 would crash for example 2. +* Smaller filesize: removed a small amount of unused code and rewrote the HTML injection with less syntax. +* Added a public method for closing ColorBox: $.fn.colorbox.close(). This will allow iframe users to add an event to close ColorBox without having to create an additional function. + +### Version 1.1.5 - April 11 2009 +* Fixed minor issues with exiting ColorBox. + +### Version 1.1.4 - April 08 2009 +* Fixed a bug in the fade transition where ColorBox not close completely if instructed to close during the fade-in portion of the transition. + +### Version 1.1.3 - April 06 2009 +* Fixed an IE6&7 issue with using ColorBox to display animated GIFs. + +### Version 1.1.2 - April 05 2009 +* Added ability to change content when ColorBox is already open. +* Added vertical photo centering now works for all browsers (this feature previously excluded IE6&7). +* Added namespacing to the esc-key keydown event for people who want to disable it: "keydown.colorClose" +* Added 'title' setting to add the ability to set an alternative title for any ColorBox call. +* Fixed rollover navigation issue with IE8. (Added JS-based rollover state due to a browser-bug.) +* Fixed an overflow issue for when the fixed width/height is smaller than the size of a photo. +* Fixed a bug in the fade transition where the border would still come up if ColorBox was closed mid-transition. +* Switch from JSMin to Yui Compressor for minification. Minified code now under 7KB. + +### Version 1.1.1 - March 31 2009 +* More robust image detection regex. Now detects image file types with url fragments and/or query strings. +* Added 'nofollow' exception to rel grouping. +* Changed how images are loaded into the DOM to prevent premature size calculation by ColorBox. +* Added timestamp to iframe name to prevent caching - this was a problem in some browsers if the user had multiple iframes and the visitor left the page and came back, or if they refreshed the page. + +### Version 1.1.0 - March 21 2009 +* Animation is now much smoother and less resource intensive. +* Added support for % sizing. +* Callback option added. +* Inline content now preserves JavaScript events, and changes made while ColorBox is open are also preserved. +* Added 'href' setting to add the ability to set an alternative href for any anchor, or to assign the ColorBox event to non-anchors. + Example: $('button').colorbox({'href':'process.php'}) + Example: $('a[href='http://msn.com']).colorbox({'href':'http://google.com', iframe:true}); +* Photos are now horizontally centered if they are smaller than the lightbox size. Also vertically centered for browsers newer than IE7. +* Buttons in the examples are now included in the 'protected zone'. The lightbox will never expand it's borders or buttons beyond an accessible area of the screen. +* Keypress events don't queue up by holding down the arrow keys. +* Added option to close ColorBox by clicking on the background overlay. +* Added 'none' transition setting. +* Changed 'contentIframe' and 'contentInline' to 'inline' and 'iframe'. Removed 'contentAjax' because it is automatically assumed for non-image file types. +* Changed 'contentWidth' and 'contentHeight' to 'fixedWidth' and 'fixedHeight'. These sizes now reflect the total size of the lightbox, not just the inner content. This is so users can accurately anticipate % sizes without fear of creating scrollbars. +* Clicking on a photo will now switch to the next photo in a set. +* Loading.gif is more stable in it's position. +* Added a minified version. +* Code passes JSLint. + +### Version 1.0.5 - March 11 2009 +* Redo: Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions. + +### Version 1.0.4 - March 10 2009 +* Added an option to allow users to automatically open the lightbox. Example usage: $(".colorbox").colorbox({open:true}); +* Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions. + +### Version 1.0.3 - March 09 2009 +* Fixed vertical centering for Safari 3.0.x. + +### Version 1.0.2 - March 06 2009 +* Corrected a typo. +* Changed the content-type check so that it does not assume all links to photos should actually display photos. This allows for Ajax/inline/and iframe calls on anchors linking to picture file types. + +### Version 1.0.1 - March 05 2009 +* Fixed keydown events (esc, left arrow, right arrow) for Webkit browsers. + +### Version 1.0 - March 03 2009 +* First release diff --git a/library/colorbox/colorbox.ai b/library/colorbox/colorbox.ai new file mode 100644 index 000000000..1b51881af --- /dev/null +++ b/library/colorbox/colorbox.ai @@ -0,0 +1,1811 @@ +%PDF-1.4 % +1 0 obj <> endobj 2 0 obj <>stream + + + + + application/vnd.adobe.illustrator + + + colorbox + + + + + Adobe Illustrator CS4 + 2009-05-27T04:22:39-04:00 + 2009-07-30T21:43:35-05:00 + 2009-07-30T21:43:35-05:00 + + + + 208 + 256 + JPEG + /9j/4AAQSkZJRgABAgEBLAEsAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABABLAAAAAEA AQEsAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAADQAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXnn5b+fNd85T6us6W9jHpkiRL6KOzOzl9zzagACdMVZt9U1D/lt/5Jr/AFxV gf5ZfmZrHmfzJrei39vBGNIaSNbiEODIYpjFUqzNStK4q9JxV2KuxV2KuxV2KuxV2KuxV2KvG/Pf 5jfmBY/mDL5Z8twpdMyRNb2/pKzktEHf4jTYbmpxVQ/xJ/zkV/1Y1/4G3/6qYqh9G/ND8zYvPml+ WvMdtHZSXcsXqwtEgYwyEjkjKSCDQioPXFXueKvBB+aX5r6n5k1HSdAtI717OSX4EiT4Y0fiCzOV H44qmH+JP+civ+rGv/A2/wD1UxVd5F/Nbzde6/qVh5lMVnHpcEj3aNGIzG0TANyPgBiqbeU/z18v eZdcl0izkZZ2kZLEPEw9aONOTS1pRQTUKCa+OKqdh+fvlm882Dy+kzAycYoLkxsFN16jRtbsCOuy lWFVNaVr1VRfnv8AN5/Jt9AmpWLvp1zbyPBexFWrcx7iEx1BFV/aO340VR+r/mFqWj+Sl8x6lYGG aOOGS808MrPH6jKHVW2VivLbpX2xVMtC8622vaLFq+lzLPaTKxRuJHxLUMpBoQQRirDfIf5y6x5n 1DSrWaxhtl1HT7i/dkZmKmC7a2CCoHXjyriqH/5x3/vvNf8AzFQ/rmxV7Lirwb8hv/JkedP+M9z/ ANRhxV7zirsVdirsVdirsVdirsVdirsVeNSf+tKx/wDMKf8AqDOKvZcVeHfmF/60T5T/AOYO0/6i 7nFXuOKvDvyS/wDJleb/AJN/1EHFXuOKvCPKoB/O/wA3AioLSgg/OPFWbeXvLflPTby/m0e1gjnl n5XRjCnhLxHJVP7O1KqPn1OKtQ+W/KaebH1VLaAa4LZVQhVBWIu9XVRtyZmYM3XtiqC8x+VvI2q6 79Y19I7m7WzkRbe5c+mkBPxyIhPFH/yx8W3XbFVeXQvK8/km20meQyeX1jgQPJI3xRqylQ7k1AOw O+2Kp/bWdpb2iWtpEkNsiCOKKIBVVQOICgbAAbDFWE+SPKfkrTL7TZ9Eu7i4ltrCeCzEtaNbPdM8 jtVE3EzFR0+XfFVH/nHf++81/wDMVD+ubFXsuKvBvyG/8mR50/4z3P8A1GHFXvOKuxV2KuxV2Kux V2KuxV2KuxV4tfgH/nISYHcfUl/6h1xV6LwT+Ufdil5J5sAH/OQPlWgp/o1r0/5ibjFD3/FXg/5T gHzt5xqK/vk6/wDGWbFXqnBP5R92KXlnlqJJPzo80xNUI8AU8SVNDFCNitCD7jFDLfL3kW10fUZL xLiWQh2MKsduDClHH7RB74qttvIVnD5iGrfWZSqfvEj5GplZmJJbrwoR8Pfvttiqt5q8pyeYJ4Vl uBDawRuU4oDJ6zbAlj+xtuBT5+CqM1DRrrUPLf6LnlRJ5I40mljWiAggsVTbw2GKo3SNNg0uwgso Gd4oBRWkYsx+k/qG2KpD5W8sajpU1k9y0TC3spraT02J+OS5MwIqo24/jiqS/wDOO/8Afea/+YqH 9c2KvZcVeDfkN/5Mjzp/xnuf+ow4q95xV2KuxV2KuxV2KuxV2KuxV2KvA/OPmPTvL356y6jqJZbM W0cUsiKXKc4AAxUbkA9ab4qyL/ldX5a/9XZv+kW7/wCqWKsFm8z6R5m/PLy5qGkO81lALa19Z0aM O6yySEqrgNQeqBuBvXtvir6UxV81eTfOmheWPPHmY6zI8EF5MwjnVHkUNFK54ssYZvi57bYqzv8A 5XV+Wv8A1dm/6Rbv/qlirFfy41m11v8ANXXtVtAwtbqImHmKMVT04wxHblwrir2LFLsVdirsVdir sVeef847/wB95r/5iof1zYoey4q8G/Ib/wAmR50/4z3P/UYcVe84q7FXYq7FXYq7FXYq7FXYq7FU p1Dyj5X1G6a7v9Ktbq6cAPNNEjuQooKkiuwGKob/AJV95G/6sNh/0jx/0xVVtfJPlC0uY7m10azg uIWDxSxworKw6EEDY4qnWKpHN5F8mTSvLLollJLISzu0EZJYmpJNMVWf8q+8jf8AVhsP+keP+mKo rT/KfljTpjNYaXa2sxHEyQxIjFT2qoGKph9Utv8AfS/dirvqlt/vpfuxV31S2/30v3Yq76pbf76X 7sVd9Utv99L92Ku+qW3++l+7FXj/APzjwQLjzUhNGNzCwU9aVl3pir2XFXg35DD/AJCN5zb9lprk q3Yj62emKvecVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVSyfy1oU2 5soUbpySNUNPCoGKqH+D9B/5ZhiqN03RdK0xOFhaRWwIofSRUJHvxAxVG4q7FXYq7FXYq7FXYq7F XYqg9H1jTdZ0u11XTLhLqwvI1mt54yCrI4qP7R2xVL/OHm6x8qaNca1qNrdTabaL6l3NaRiYxJWh ZkDB+I7kKaDc7Yq84/6Gu/Kj0DcV1P0AokMv1GTgELcA3KtKc/hr47Yq9J8pea7PzTo1vrNha3UG nXiCW0lu41iMsbfZdU5F+LdQSBUbjbFUdrOs6ZoulXWq6pcJa2FlG01zPIaKqIKn5nwHfFUZirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir8t7NtVW2nltHmS3gCvcNGzKq8mCK TQjck0xV9Tf84pyar5v/AC088eUtS1CZ7GaM2dq8hMpgXULeaOXhyPTYNx6Vr44qxf8A6Fe/OhtP Hllv0WNHEwYXv1iSgYOT6/GnPdTTjx+iu+Kss/5y2utV8sfl/wCTPLWnX80diA1vcshMbTixgiSI vxPT4i3HpX5DFXyrdvqzW0El28z209XgaRmZGKEoSKkioNRir9SMVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVdirsVfnX5S85aNpmjNFND6bwAGSJAC0xJA5DkRU+IJxV71/wA4TyrN a+dJUHFZLq0dR4BhOR0xV9NYq+ZP+c25FjsvJsjCqpdXbMPYLCcVeC+YvOOiXnl4WyQCea4B9KNw AYCCRzPGtG8ADv32xV+iuKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvhDQ P+cTvzc1nSbbU1gsrGO6jWWKC7uCk3BxyUskaScag9CajuMVfSX/ADjl+TmsflroGpx61cwz6nqs 8ckkVsWeKOOFWVBzZULMeZJ28MVeu4q8h/5yN/JzWfzK0HS49EuoYNS0qeR0iuSyRSRzqqv8aq5D LwUjanXFXzb5h/5xQ/NzRdJudTaCzv4rSNpZobOcvNwQcmKo6R8qDsu57DFX3hirsVdirsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdir4I0T/nKf8AOHSNKttMi1CC5htIxFFLc26SS8FF FDPsWoNqnfxxV9Mf843fnBrf5j+XtSbXIYk1TSZ445Li3UokscysyEoSeLDgwNNumKvX8VePf85J fnDrv5ceX9LbQoIX1LVp5I1uLhS6RRwKrOQgK1di60rt12xV80a7/wA5S/m/rGkXWlzahb28F5G0 M0ltbpHL6bijBX+LjUbVG/hir74xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2K uxV8lfkx+Uv5Sa1+Wlxd6peLeXGprGupX/NIZbF0kST6vGZAwiPNQGcirg7fCcVZD/zhpbW1sfPd tauZLaC/t44HJDFo09dVNRQGoHbFX0pir5q/5zNt7e5/wLb3LcLea+uI5nqFojegGNTsNjiqTfnD +T/5PaP+U8OoWF/Hp+oaajrpV7zWaTUHaR5DbycKeqxZyA4HwAb/AAjFX1dirsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVdirsVdirsVdir8vLF9eSxu7exFx9Sv1WO8jiDmOUROJEDgCh4uoI8M VfRv/OPmm+ffKv5QeePN1gq6dLEgvbFb+BnjuYtPhlkn+Csb7g8UcNTlXFV7f85FfnGvkL/GBuNH +r8liFl9RufW9RpjHUn1eAi4rX1a0LfB9rFW/wDnI7SPPnmL8qfJPmbUE/SVwVa61L6hAVhthfQx yRfADJJxAXizs1OVOlaYq+br+XX3sbS2vvrP1HT1eOyilDiOISyGVwgIoOTsSfHFX6h4q7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqhNI0nT9I0y10vToEtrGzjWG3gjAVVRBQA AUGKq91bW91bS2tzGs1vOjRTROKq6OOLKw7gg0xV45H/AM4lflEmofWfT1BrblU6cbtvq5Tlz9I/ D6vDlvTnir2SCCG3gjggRYoYlCRRoAqqqiiqoHQAYqhtY0jTtZ0q70rUoFubC9iaC5gcAqyOKEb/ AIYqjMVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs VdirsVdirsVdirqitO/hirsVcSBudsVdirSujEhWBI60NaYq3irsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdiq2WP1Inj5MnNSvNDRlqKVB33GKpL5U8sy6DbzwyahPf8ArSM49diQlXZv hBrQtyq57nfFVlj5WmtvM9zrbalczJPHwWzd6otWZuO/7CcvgHY1xVT82eU5tdmtJI7sWwtg/JeD MJQzI3pycXSsZ4bjFU21vTm1LSLuwWT0muomiEtK8eQpWm3TFVawtTaWUFqZpLgwoqGeU8pH4inJ j3JxVJvKflmfQ2vDJOswuW5LxBFP3ssm9f8AjLirIMVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVU7o3ItpTaqj3QRjAkrFIzJT4Q7KHIWvUhT8sVYV+VN9+a93pt8fzEsbOyu0uHFj9 UapaMyyVDgM6hUHERnqVoWq1TiqjomofnBJ+Z+p2urafYxeREgrYXUTn1i3qSek37RaRlH71DRVH EjeoZVT/ADT1L807S90lPI9s1xayrINZcQwStDF6sIEsHrSwhp1Vn4Rn4WFSegxVlPnWbzFD5S1e Xy2nq6+lrI2lx0VuVwF/dij/AA7t44qi9Bk1qTRbF9cihg1hoUOoRWrM8KzcfjEbMAeNf9s9cVYT +UepfmTevrI86JOoikA0717eO3BT61dL8PppHy/crD1r2Pc4q9FxV2KuxV2KuxV2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVQmmkDiOIcpCK09vE4qome+hHO ZF9MHcqa0riqMRgyhh3xVvFXYq7FXYq7FXYq7FVOW5ghkhjkfi9w5ihG/wAThGkI/wCAjY4q3PPF bwSTzNwiiUvI57KoqTt7YqlekebvLusXLWum3q3M6IZGRVcUQEKT8SgdWGKppJNDEAZHVAenIgV+ /FWzJGE9QsAlK86ilPGuKujlikFY3VwNiVIIr9GKtLPA7lFkVnFaqCCduu2KpTqnnLyxpdwba/1G KG4H2ovidl7/ABBA1PpxVB/8rJ8kf9XWP/gJf+aMVTzTtSsNStVurC4S5t2NBJGaio6g+B9sVS1f OnlhtT/Ra36m/wDVNv6HF6+qG4la8adffFU7xV2KuxV2KuxVBqf9ytP+KW/4kuKrtV/4583yH6xi qpZ/7zp8hiqtirsVdirsVdirsVdiqFvbH6zc2E3Ph9SnafjSvPlBLDxrUU/vq19sVUfMP/HA1P8A 5hJ/+TbYq8l/JT/lKrr/AJgZP+T0WKvSPM/6aEMg0uWK3vXdfSmncRp6QQ1XkUk35e21a+2Kooi4 FoZEAjFWMRk+JFkMYCu1APh9Tlv71xVC6IuuNYn9IzQ3V6FkEklqCE4FgY4+RJ5OFrvXb8SqttDr bapcrNc2sun8h+joIUYTxkFd5KmihRy5Cn9MVeIaDpF75m8wpZ+uFuLx3kmuJKt0Bd2I7nFWXa/+ TtzpmkXWoQamt0bWNpXhaH0qogqxDc33A36Yqj/yMkflrMfI8ALdgvap9QVxVjdt/wCTYP8A22ZP +ohsVe9Yq7FVK5mEMTOe2KqKQ3MirJ63HkAeIWvXfrXFVS3lYu8TmrxkAn5iuKqKf8dX/ni3/Elx Vdqv/HPm+Q/WMVVbP/eZPkMVVsVdirsVdirsVdirsVQ9zexW81pC4YteSmCIrSgYRSTVapG3GI/T iqH8w/8AHA1P/mEn/wCTbYq8l/JT/lKrr/mBk/5PRYq9G83+ZH0Wyku/q0t2ElWJbWBpFkasZcuP TSRiB37AVPtlmLHxmrphOXCLR0uozLZSSAPP6aPIFg+KSULEsojj2WrNyoNq5ADemV7IHy55jn1P ShffU7mxEglCw3gIb92VHqry+P0zy/a8NttzPJDhNXaISsWssfMc82vX2miwvofqFC19Op+rzfEg 4KT8PJ/UqnHw+jDLHUQbG6BOzVPGPJ2uxeX/ADJb6hcxNJFDzSaNaBwHUoaVpuK9MqZvQPM35t6B eaDfWVjDcPcXcLwL6iKiKJFKsxIZjsDttiqF/Iz+91n/AFbf9cmKsdtv/JsH/tsyf9RDYq96xV2K oe+hMtuyDqRiqHi1KKONIpI5A6gKaCo2264qq2il5pZypUSEEA9aAU/hiq1P+Or/AM8W/wCJLiq7 Vf8AjnzfIfrGKqtn/vMnyGKq2KuxV2KuxV2KuxV2Koe5soria0mcsGs5TPEFpQsYpIaNUHbjKfpx VdeWsd3Zz2khIjuI3icrQMFdSppWu++Ksd8r/l5ovlvUJL6xmuZJZIjAyztGy8WZWqOKIa1Qd8VZ HJbRSPzNVelOSMVJHgeJFcVd9Vg9IRcfgB5ChIIbx5V5V964q2ltChY0LFxRi5Lkjw+Inb2xVYll AjKRyITdFZ2ZR8gSRirFta/Kvytqt9JeuJ7WaYl5hbOqqzHqxV1cAn2xVL/+VKeVf+Wq+/5GQ/8A VLFWV+XvLOkeX7RrbTYiiueUsjHlI5HQs3t2HTFUmT8s9Bj8wnXhcXX1v6y15wLx+n6jOXIp6fLj U/zYqyWXUbWI0dwDiqn+l7L/AH4MVd+l7L/fgxVb+k9PrXmMVXDVrEdHGKoe0vbe41grGwYiBj9H NcVROsMF02dj0AH6xiqrYsGtYyOlBiqvirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqnc kiFyOtDiqG0tFayR3UF3LFiRufiIxVF+lF/Iv3DFXelF/Iv3DFXelF/Iv3DFXelF/Iv3DFUPLA0c 3rwopfiVI6VBNeo+WKqMxuruMwPCscbbOeXKo8OgxVU0tStvw7KSo+QNMVRmKuxV2KuxV2KuxV2K uxV2KuxV2KuxV2KuxV2KuxV2KtMoZSD0OKoJrGdaiCZo1JrxFCPxxVr6nf8A/LW/3D+mKu+p3/8A y1v9w/pirvqd/wD8tb/cP6Yq76nf/wDLW/3D+mKu+p3/APy1v9w/piraWl6D8VyxHyAxVFwxLEgU dsVf/9k= + + + + + + default + uuid:65E6390686CF11DBA6E2D887CEACB407 + xmp.did:8BC7D877974ADE11BCECCFF09938C3CC + uuid:30267148-672c-4d34-8534-e8cce420f815 + + + + converted + from application/pdf to <unknown> + + + saved + xmp.iid:D47F11740720681191099C3B601C4548 + 2008-04-17T14:19:21+05:30 + Adobe Illustrator CS4 + + + / + + + + + converted + from application/pdf to <unknown> + + + converted + from application/pdf to <unknown> + + + saved + xmp.iid:FD7F11740720681197C1BF14D1759E83 + 2008-05-16T17:01:20-07:00 + Adobe Illustrator CS4 + + + / + + + + + saved + xmp.iid:F77F117407206811BC18AC99CBA78E83 + 2008-05-19T18:10:15-07:00 + Adobe Illustrator CS4 + + + / + + + + + converted + from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator + + + saved + xmp.iid:FB7F117407206811B628E3BF27C8C41B + 2008-05-22T14:26:44-07:00 + Adobe Illustrator CS4 + + + / + + + + + converted + from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator + + + saved + xmp.iid:08C3BD25102DDD1181B594070CEB88D9 + 2008-05-28T16:51:46-07:00 + Adobe Illustrator CS4 + + + / + + + + + converted + from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator + + + saved + xmp.iid:F77F11740720681192B0DFFC927805D7 + 2008-05-30T21:26:38-07:00 + Adobe Illustrator CS4 + + + / + + + + + converted + from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator + + + saved + xmp.iid:F87F11740720681192B0DFFC927805D7 + 2008-05-30T21:27-07:00 + Adobe Illustrator CS4 + + + / + + + + + converted + from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator + + + saved + xmp.iid:F97F1174072068119098B097FDA39BEF + 2008-06-02T13:26:10-07:00 + Adobe Illustrator CS4 + + + / + + + + + saved + xmp.iid:8BC7D877974ADE11BCECCFF09938C3CC + 2009-05-27T04:22:07-04:00 + Adobe Illustrator CS4 + / + + + + + uuid:32300939-b1c4-8440-b812-b255b7b0d326 + xmp.did:F97F1174072068119098B097FDA39BEF + uuid:65E6390686CF11DBA6E2D887CEACB407 + proof:pdf + + + + Web + Document + + + 1 + True + False + + 1024.000000 + 768.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 0 + 0 + 0 + + + RGB Red + RGB + PROCESS + 255 + 0 + 0 + + + RGB Yellow + RGB + PROCESS + 255 + 255 + 0 + + + RGB Green + RGB + PROCESS + 0 + 255 + 0 + + + RGB Cyan + RGB + PROCESS + 0 + 255 + 255 + + + RGB Blue + RGB + PROCESS + 0 + 0 + 255 + + + RGB Magenta + RGB + PROCESS + 255 + 0 + 255 + + + R=193 G=39 B=45 + RGB + PROCESS + 193 + 39 + 45 + + + R=237 G=28 B=36 + RGB + PROCESS + 237 + 28 + 36 + + + R=241 G=90 B=36 + RGB + PROCESS + 241 + 90 + 36 + + + R=247 G=147 B=30 + RGB + PROCESS + 247 + 147 + 30 + + + R=251 G=176 B=59 + RGB + PROCESS + 251 + 176 + 59 + + + R=252 G=238 B=33 + RGB + PROCESS + 252 + 238 + 33 + + + R=217 G=224 B=33 + RGB + PROCESS + 217 + 224 + 33 + + + R=140 G=198 B=63 + RGB + PROCESS + 140 + 198 + 63 + + + R=57 G=181 B=74 + RGB + PROCESS + 57 + 181 + 74 + + + R=0 G=146 B=69 + RGB + PROCESS + 0 + 146 + 69 + + + R=0 G=104 B=55 + RGB + PROCESS + 0 + 104 + 55 + + + R=34 G=181 B=115 + RGB + PROCESS + 34 + 181 + 115 + + + R=0 G=169 B=157 + RGB + PROCESS + 0 + 169 + 157 + + + R=41 G=171 B=226 + RGB + PROCESS + 41 + 171 + 226 + + + R=0 G=113 B=188 + RGB + PROCESS + 0 + 113 + 188 + + + R=46 G=49 B=146 + RGB + PROCESS + 46 + 49 + 146 + + + R=27 G=20 B=100 + RGB + PROCESS + 27 + 20 + 100 + + + R=102 G=45 B=145 + RGB + PROCESS + 102 + 45 + 145 + + + R=147 G=39 B=143 + RGB + PROCESS + 147 + 39 + 143 + + + R=158 G=0 B=93 + RGB + PROCESS + 158 + 0 + 93 + + + R=212 G=20 B=90 + RGB + PROCESS + 212 + 20 + 90 + + + R=237 G=30 B=121 + RGB + PROCESS + 237 + 30 + 121 + + + R=199 G=178 B=153 + RGB + PROCESS + 199 + 178 + 153 + + + R=153 G=134 B=117 + RGB + PROCESS + 153 + 134 + 117 + + + R=115 G=99 B=87 + RGB + PROCESS + 115 + 99 + 87 + + + R=83 G=71 B=65 + RGB + PROCESS + 83 + 71 + 65 + + + R=198 G=156 B=109 + RGB + PROCESS + 198 + 156 + 109 + + + R=166 G=124 B=82 + RGB + PROCESS + 166 + 124 + 82 + + + R=140 G=98 B=57 + RGB + PROCESS + 140 + 98 + 57 + + + R=117 G=76 B=36 + RGB + PROCESS + 117 + 76 + 36 + + + R=96 G=56 B=19 + RGB + PROCESS + 96 + 56 + 19 + + + R=66 G=33 B=11 + RGB + PROCESS + 66 + 33 + 11 + + + R=0 G=0 B=0 + RGB + PROCESS + 0 + 0 + 0 + + + R=26 G=26 B=26 + RGB + PROCESS + 26 + 26 + 26 + + + R=51 G=51 B=51 + RGB + PROCESS + 51 + 51 + 51 + + + R=77 G=77 B=77 + RGB + PROCESS + 77 + 77 + 77 + + + R=102 G=102 B=102 + RGB + PROCESS + 102 + 102 + 102 + + + R=128 G=128 B=128 + RGB + PROCESS + 128 + 128 + 128 + + + R=153 G=153 B=153 + RGB + PROCESS + 153 + 153 + 153 + + + R=179 G=179 B=179 + RGB + PROCESS + 179 + 179 + 179 + + + R=204 G=204 B=204 + RGB + PROCESS + 204 + 204 + 204 + + + R=230 G=230 B=230 + RGB + PROCESS + 230 + 230 + 230 + + + R=242 G=242 B=242 + RGB + PROCESS + 242 + 242 + 242 + + + R=63 G=169 B=245 + RGB + PROCESS + 63 + 169 + 245 + + + R=122 G=201 B=67 + RGB + PROCESS + 122 + 201 + 67 + + + R=255 G=147 B=30 + RGB + PROCESS + 255 + 147 + 30 + + + R=255 G=29 B=37 + RGB + PROCESS + 255 + 29 + 37 + + + R=255 G=123 B=172 + RGB + PROCESS + 255 + 123 + 172 + + + R=189 G=204 B=212 + RGB + PROCESS + 189 + 204 + 212 + + + R=138 G=138 B=138 1 + RGB + PROCESS + 138 + 138 + 138 + + + + + + + + + Adobe PDF library 9.00 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 155 0 obj <>/Resources<>/XObject<>>>/Thumb 161 0 R/TrimBox[0.0 0.0 1024.0 768.0]/Type/Page>> endobj 156 0 obj <>stream +H-0 aS' Ƌv,$<=FCb8A-F{(V(\E3>IGIykFS>> endobj 161 0 obj <>stream +8;Z\uinRqnec:hag&4%a](-!f93L:A4D\h\gZ/n@lX;HcTPGfEHCj +Q%6lr1C^ia9# +endstream endobj 163 0 obj [/Indexed/DeviceRGB 255 164 0 R] endobj 164 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 160 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Subtype/Form>>stream +BT +/CS0 cs 0 0 0 scn +/GS0 gs +/T1_0 1 Tf +0 Tc 0 Tw 0 Ts 100 Tz 0 Tr 12 0 0 -12 -103.0967 -61.2773 Tm +[(T)7(his is an A)12(dobe\256 I)-10(llustr)5(a)4(t)6(or\256 F)26(ile tha)4(t w)4(as)]TJ +0 -1.2 TD +[(sa)8(v)10(ed without PDF C)11(on)4(t)6(en)4(t)3(.)]TJ +0 -1.2 TD +[(T)71(o P)5(lac)6(e or open this \037le in other)]TJ +0 -1.2 TD +[(applica)4(tions)11(, it should be r)10(e)-28(-sa)8(v)10(ed fr)10(om)]TJ +0 -1.2 TD +[(A)12(dobe I)-10(llustr)5(a)4(t)6(or with the ")3(C)3(r)10(ea)4(t)6(e PDF)]TJ +0 -1.2 TD +[(C)11(ompa)4(tible F)26(ile" option tur)-4(ned on. )41(T)7(his)]TJ +T* +[(option is in the I)-10(llustr)5(a)4(t)6(or Na)4(tiv)10(e F)31(or)-4(ma)4(t)]TJ +0 -1.2 TD +[(Options dialog bo)14(x, which appears when)]TJ +0 -1.2 TD +[(sa)8(ving an A)12(dobe I)-10(llustr)5(a)4(t)6(or \037le using the)]TJ +0 -1.2 TD +[(S)-3(a)8(v)10(e A)6(s c)6(ommand)10(.)]TJ +ET + +endstream endobj 154 0 obj <> endobj 167 0 obj <> endobj 168 0 obj <> endobj 169 0 obj <>stream +H|TyPwffz $D#hD[-o!b(/a@e0 E +D%"gC Ed= +1M}?l[[{}q|W<U +ou@1rl! +٣{g|6cO߫Zche˗;Ӵt9,]tZ:(2C2B#)RGGJlMxlB#S+5JuU,·ّ|:'g'[evv/SidJ6D*NT(#a(coӎL)d~*Y`b 5]EU%||E+ed +~g040 /1l c!R ?a6F=1o,ʰ dIɄ`@! ! :AN"8+z^00s62VsQjz Mt!:=J@j*V$C(0S9)bϴo\3eԐђ: ZatH&p\tײoMEx8"3ꇆ:.LsxJN8։_t%MmNDx3 DGU|_Y) QGDc!,.p0B"G8<"ǿ>}"*|uZnMD"W~fo71[2]|Ir/!~:?ھ[phmH’USZe4Ry + 5XqWAe1>0Ι<ȤRnvݻD +xmoKh#v܃:y<1E[l!/UXFV #m >d Y rPhA!Aű.qIꃋaE,%@rYz&p=Je2W5hBUdUoԴ^y}p!$M5/u/vҝBl EFX s"O6u-vC$b l@ +YE~>h ,s1gtU&AVn Y @הQ.ۈc*.wHW~^h1C֗.YF:Y- +L U~OF]^>g/(Irq,> gi^Ck Bc!fvYT pl졉5-ZZΜ/oȿNsWH+cVd&]ߴ,L&!Rj. MZRjt$Hޫ,m_䞮O˹Bx8T>#aE&C!l<9"$:LfSLku-tw*ՎA Lv>SSP]u]̢1Jۚ-c"(S=&53 #+2d, 7*^° ]T=z(B[heE 2V@6LQNǂb@$f1v>Oޱl=iQs}2l ^(߉HZoNoUdG*- kg `"8)v!|ϱ[RQ_ M _˅I"6|Dޗ\S:.|douALVe [`lh'M87°2RVAPIJGӰ=]䣌GE͍ IhHF_wiX$(7V;8(YV`cX2HB c*FU^'BPU{"ܑ\ !isLj=+b3án;S)M@5|b\ ­ }>MzH=͆uBlŀSlN3& U!12bKkqvęSV2x'e@ XȊWeJ8`+=OY/7p7:%pn8nQ5|zIۥq0 f~.rګSUaR^7T(o4ao45[URY[AF"Q-9v K"4-?wd<4󕛴 /795*P}N+KHI8 ejlߵ# &cͶ"uXTGю׮ Ƅ_ ׯ} ` YDH +endstream endobj 166 0 obj <> endobj 165 0 obj [/ICCBased 170 0 R] endobj 170 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 159 0 obj [/ICCBased 171 0 R] endobj 171 0 obj <>stream + HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv +#(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y + +' += +T +j + + + + + + " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# +#8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G +k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 +uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 158 0 obj <> endobj 172 0 obj <> endobj 173 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 11.0 +%%AI8_CreatorVersion: 14.0.0 +%%For: (Administrator) () +%%Title: (colorbox.ai) +%%CreationDate: 7/30/2009 9:43 PM +%%Canvassize: 16383 +%%BoundingBox: 0 73 508 701 +%%HiResBoundingBox: 0 73 508 701 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 7.0 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_TemplateBox: 512.5 383.5 512.5 383.5 +%AI3_TileBox: 116 78 908 690 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI9_OpenToView: 93.25 700 8 1780 1006 18 0 0 45 111 1 0 1 1 1 0 1 +%AI5_OpenViewLayers: 7 +%%PageOrigin:0 0 +%AI7_GridSettings: 100 4 100 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 174 0 obj <>stream +%%BoundingBox: 0 73 508 701 +%%HiResBoundingBox: 0 73 508 701 +%AI7_Thumbnail: 104 128 8 +%%BeginData: 6616 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDA0FFA8A8A8FFA8FFA8A87DA8A8FD5DFF5227FD06FF7D27A8FD5D +%FF5252FD06FF52277DFD5DFF5252FD06FF7D27A8FD2AFF7D527D527D527D +%527D52A8FD04FF7D7D527D527D527D527D7DFFFFFFA8FFA8FFA8FFA8FFA8 +%FFA8FFA8FFFFFFA8FFA8A8A8FF5252FD06FF5227A8FD2AFF522727522752 +%27522752A8FD04FF7D2752275227522752277DFFA852A8A8FF527DA8FF7D +%52527DFFA852A8CAFFA8525252A85252FD06FF7D27A8FD2AFF5227A8A8FF +%A8A8A85227A8FD04FF52277DFFA8FFA8FF7D277DA8F82727A85227F87DA8 +%A827F87DFFA82727A8A8A8275252FF5252FD06FF5227A8FD2AFF5252FD06 +%FF7D27A8FD04FF7D27A8FD06FF277DA87D52A8A8A85252A8FF7D52527DFF +%FF277DA8FFA8525252FF7D52FD06FF7D27A8FD2AFF5252FD06FF7D27A8FD +%04FF5227A8FD05FF7D277DFFA8A8A8FFA8A8A8FFA8A8A8FF7DFFA8A8A8FF +%A8A87DA87DFF5252FD06FF5227A8FD2AFF5252FD06FF7D27A8FD04FF7D27 +%A8FD05FFA8277DFFFFA8FFA8FFA8FFA8FFA8FFFFFFA8FFFFFFA8FFA8FFA8 +%FFA85252FD06FF7D27A8FD2AFF5227FFFFFFA8FFFF7DF8A8FD04FF7D277D +%FFFFFFA8FF7D277DFFA8A8A8FFA8A87DFFA8A87DA87DFFA8A8A8FFA8FF7D +%7D7DFF5252A8FD05FF52277DFD2AFF527DA8FFA8FFA8FF7D27A8FD04FF7D +%27A8FFFFA8FFFFA827A8A87D52A8CAA8527DA8FFA87D52A8A8FF527DA8FF +%A87D7DA8FF5252FD06FF7D27A8FD2AFF5252FFA8FFA8FFFF7DF8A8FD04FF +%7D27A8FFA8FFA8FFA8277DFF7D7D7DFFA87D7DFFA8A8527D7DFFA87D7DFF +%A8FF527D7DFF5252FD06FF5227A8FD2AFF5252A8FFA8FFA8FF7D27A8FD04 +%FF7D27A8A8FFA8FFA8A8277DFFFFA8FFA8FFA8FFA8FFFD04A8CAFFA8FFA8 +%FFFD05A85252FD06FF7D27A8FD2AFF5252FFA8FFA8FFA87D27A8FD04FF52 +%27A8FFA8FFA8FF7D277DFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 +%FFA8FFA8FF5252FD06FF5227A8FD2AFF5252A8FFA8FFA8FF7D27A8FD04FF +%7D27A8A8FFA8FFA8A8277DFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 +%FFA8FFA8FFA87D52FD06FF7D27A8FD2AFF5252FFA8FFA8FFFF7D27A8FD04 +%FF5252A8FFA8FFA8FFA8527DFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 +%FFA8FFA8FFA8FF5252FD06FF5227A8FD2AFF5252A8FFA8FFA8FF5227A8FD +%04FF7D277DA8FFA8FFA87D277DFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 +%FFA8FFA8FFA8FFA85252FD06FF7D27A8FD2AFF52FD0927A8FD04FF52FD09 +%2752FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FF5252A8 +%FD05FF52277DFD2AFF7DA87D7D7DA87D7D7DA8A8FD04FFA87DA87D7D7DA8 +%7D7D7DA8FD19FF5252FD06FF7D27A8FD5DFF5252FD06FF5227A8FD5DFF52 +%52FD06FF7D27A8FD5DFF5252A8FFA8FFFFFF5227A8FD5EFFFD09A8FD62FF +%A8FFA8FDFCFFFDD3FFA87DA87DA87DA8A8FD5AFF52FD05FFA827F827F8F8 +%27FFFFFFA8FFFF7DA8FD53FFF8F82727277DFF52F85252F87DFFA8FD0427 +%F8FD54FFFD05F827FF7DF827F8F87DFF27FD05F8A8FD53FFFD05F827FFFF +%7D272752FFFF27FD05F8FD54FFF8F827F8F827A8FD07FFF8F8F827F8F8A8 +%FD53FFF8277D522727FD08FF27F8525252F8FD54FFF852277DF827FD08FF +%F8F852525227A8FD53FFF8275227F827FD08FF27F8275227F8FD54FFFD05 +%F827FD08FFF8F8F827F8F8A8FD53FFFD05F827FD08FF27FD05F8FD54FFFD +%05F827FD08FF27FD05F8A8FD53FFF827525252A8FD09FFFD0452F8FD54FF +%7DFD05FFA8FD0CFFA8A8FD53FFA8FD12FF7DFD54FFF827275227A8FD08FF +%A852272727F8A8FD53FFFD05F827FD08FF27FD05F8FD54FFFD05F827FD08 +%FFFD06F8A8FD53FFF8F852F8F827FD08FF27F82752F8F8FD54FFF87DFF7D +%F827FD08FFF8277DFF52F8A8FD53FF52FFFFFF52F8FD08FF2727FFFFFF52 +%FD54FFF87DA8A8F827A8FD07FFF8277DFF5227A8FD53FFF8F852F8F827FD +%08FF27F82752F8F8FD54FFFD05F8277D525252275252A8FD05F827A8FD53 +%FFFD05F827FF27F85252F852FF27FD05F8FD54FFF8272727F8A8FF76F87D +%52F87DFF7D27F827F8F8A8FD53FF7DFD06FFA827F8F8F8FD07FF52FD5CFF +%A87D7DA8FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFC +%FFFDFCFFFDFCFFFDFCFFFD80FFA8FD07FFA8FD53FF7DA8FFFFFF7DA8FFFF +%FF7D7DFFFFFF7DA8FFFFFFA87DFD52FF52A8FFFFA87D7DFFFFFF7D7DFFFF +%FF7D7DFFFFFF7D7DFD67FFA8FDFCFFFD26FF277DFFFFA82752FFFFFF2752 +%FFFFFF7D7DFFFFFF2752A8FD50FFA8F827FFFFA8F852FFFFFF2727FFFFFF +%277DFFFFFF5227FD52FFA8FD09FFA8A8A8FD07FF7DA8FDFCFFFDFCFFFDA2 +%FFA8FFA8FD64FFA8FFA8FFA8FD62FFA8FD05FFA8FD66FFA8FD62FFA8FD04 +%FFA8A8FD60FFA8FD05FFA8FD22FFA8FD04FFA8527D7DFFFFFFA8FFA8FFFF +%FFA8FFFFFFA8FFA8FFFFA8527D7D7D527D7DFFFFFFA87D52A8FD16FFA8FD +%05FFA8FD21FFA8FD04FFA87D52A8FFFFA9FD0EFFA8527D527D527D527D7D +%FFFFA8527DA8FD15FFA8FD05FFA8FD22FFA8FD04FFA852527DFFFFFFA87D +%A8FFA8FF52A8A8FFA87DA8FF527D527D527D527D527DA8FF7D5252A8FD0C +%FFA8FFA8FFA8FD05FFA8FD05FFA8FD26FFA87D52A8FFFFFFA97DFFFFFFA8 +%A8A8FFA8FF7DFFA87D527DA8FFFFFF7D7D52FFFFA8527DA8FD0BFFA8FD09 +%FFA8FD05FFA8FD27FFA852527DFFFFFFA8FFA8FFCFFFA8FFFFFFA8FFA8FF +%52527DFD04FFA8527DA8FF7D5252A8FD0BFFA8A8FFFFFFA8FD05FFA8FD04 +%FFA8A8FD26FFA87D52A8FD04FFA8FD09FFA8FFFF7D527DFD04FFA87D7DFF +%FFA8527DA8FD0BFFA8FD05FFA8FD09FFA8FD27FFA852527DFFFFFFA8FFA8 +%FFA8FD05FFA8FFCFFF527D7DFD04FFA8527DA8FF7D5252A8FD0BFFA8A8FD +%09FFA8FD04FFA8A8FD26FFA87D52A8FFFFCFAF53FFA8FFA85AA8FFFFAF53 +%A9FF7D527D7DA8A8A8527D52FFFFA8527DA8FD0DFFA8FFFFFFA8FFFFFFA8 +%FD05FFA8FD22FF7DFD04FFA852527DFFFFFF847EA8FFA8A953A9A8FFA85A +%A8FFFD07527D527DA8FF7D5252A8FD0CFFA8A8A8FFA8FD05FFA8FD05FFA8 +%FD21FFA8FD04FFA85252A8FD0AFFA8FD06FFA8527D527D527D527D7DFFFF +%A8527DA8FD15FFA8FD05FFA8FD22FFA8FD05FF7DA8A8FD13FF7DA87DA87D +%A8A8FFFFFFA8A87DFD17FFA8FD05FFA8FD60FFA8FD05FFA8FD4CFFA8FFA8 +%A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFFD05A8FD04FFA8A8FD60FFA8FD05FF +%A8FD4CFFA8FD15FFA8FFFFFFA8FFA8FD62FFA8FFA8FFFFFFA8FD4AFFA8FD +%19FFA8FFA8FD4CFFA8FD68FFA8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FF +%A8A8A8FFA8A8A8FDD4FFFF +%%EndData + +endstream endobj 175 0 obj <>stream +HWiwyoxY$myı;/{ ZvCQS VV|VUW2ciYx$e41;L&zN5,zWUS`ukۈsi1S:6'4~gMݒ#>q3_p3|n0A> 6 +!=NV ( ! 6[KϯTJRrOt~Ta +Q $\.,BT"TZfNlyMn^4 $~79[uAAɅ\ +YLF^I` wYJ DN<(D Gm SA+ccQ@pdXs<lQf`,%0k#Z,!g@x# 7mbdФm{Mc ,3+ 5ckjdC#HŚv?*q4\E ˠI*fqj:BG"' Tl ȐE*&{ TP"һNZfo*V"3R!w^ynRL? ;Cek2uX܏hP+pw`owCY\4kBi(I6wouuk188Cm!8Q+A*#y6C~a[ܬΤmߺ+o R24xG}pa:¬l UtN/ܴ?B +_0/$1I2?:YN"tnM1HD_p3| 6 +iBd-l~')-RJdMbzDHGvV7X-Mbqr?ҫ`9tDZ\7[PrIHC}gٙ!:}6tǐ.MrSQDbp,A\1ob&3lc.=#@}~uKx i3}Ͷ(>mm,}g[n#6D)a͔. ]ga,iC Q4Im7JaooƯ; +^>,IzL(ݘ0<åu?V #TljީY\'΢$eJl%B ^Þp-Lw:gȴ-Ku 7 w+p'v"x%KuЦ߅3l!sΩ5|F;ߔ %fZ9b!vaѾN.jf[yrMKQZxi#RքW#rudq\OG:NWܾp*-Ĉnb̔TZ%7,o! lGͨ 8TBpnJ%kZbt5}zurN{uH7v09E +EUD!`{h9CC1kXwO޻WGyܥc~P l9i:+fK.fEo-ʸv: +)vK ۦ&5 )#>bUEeUϜdiyl#]0ܧDjJ?9:l.^>j BMz'i\0{S% j9XPYIv(fcK>mt _6xTL1IH0+~YJ,,,ufJdKCTULu+45fVKL6QmF ?J75a?iѰ}3uwO2 Ng1md'e|e3xvk|x]! p|Bh-~WńDEGxfC188 ]w 0#q8b8ѿ T4E%i99+Ykx~MwQs'8Xwu.$B%y' &|LZckڣcjUb4}rlkm\ +5jbx49lu52S>7+Ϸ>mUlexK߬[ՊL_t8*d6|[.ǥ\S8|_*ꆱ}[4=ы]_֫t=Y^Z *aRQDk:\m$ >I^qV-O93E?@ͱ "FNNz>-ЫE"j˜m*&P`^6C[ +het'RUAF/I u%9B Fo4鯤QMUkS'ݣ+Ѓ_IPPcR\mn^ߟFؚ!e4p;" ]pv-_')cneq*>>N(dNc>2.c=;ì :\^Ihrom].q,_+ˎ:*Q亖2Q"_uM<i-b+e3#-Ҟk^_UeAA5eGIDn,cŜqC?_kΚ_ziܫZ8LUc\49GK#:j%0)sB|&;;elQT䥞%9GgPvL3Z/@NHX46\-%ع79ȥtKys08uM:{|t;N~e]Zt?@g+MگZ2~%f[!s-5mMG|k89!UPlpbb # S4cŁ%"JӐgj.W`QyQ?6ZhHYSUuؐ&4G^;`IOڛB{XV KA*zVmx?Zc"jHө@gN(o{3j4-` 7W"c%e 5%ӧh\|V:77*wD!dnB8뮹W7RQvsWOBy8f%pP`MCK64qeNm:_Q|mnv;]ց=IC>ypEObu&8ͻrvKߔgޭRpX0MRɮ :m Vc$MPN? A}.ʲu$7́dx>Sj쾧 m鬼'+7jѧ## zU③%aF!cIley۶Vi7w.2N69MNj1f5"]1STNw9PوԷ2=Eh;NJIoebÙgs\Gc.XlNi=-ggJ!9ȇ/`|v8XXn'CM<i-bYM0L.9b9}AK*KDRLrո`\„eTxșԐ'75.k6Fh`3yBi<OTmx +ͥ<2Hyi2>I 𵞤BoRȇ5PgC[{?r6ZhU`/9s.)@)<Ⓔu{_q9hU_"io+ 6lC%H;qJruw,^6z ÈgD7^mC҅L+x(W[>^@Z%K 9cS _Ri^?ʠ$8Kiy"!Aoi9ێG`ȍh"ݸ%>dG-Tnv8}.BY^JE 7> O`2!v빽UC/&Jɓ=P*31ym W_5 +fVjm{ k:8jk&8kA5Br~6ef"Pv>1BX<ƹ hE_w<=i^ *j,Ԉ8T$WH4hlA{(V;ES2L{"#iÝ!9|̻jX?#2]l ,[D %~"ƾnlMI0]7zr^}ݞ.`󵗊{7ic'CA":eV,4.ImU6iFrM_64~p>jgl2czK!'JRJ}˕*M{0LuzImk_(-Rq!K#C#8r9N-Sȓq[/WRKH=8!(RuxT2{geG +k9vM(2rDgd,"#43ӪǾЃax1Vh0LM4 ݅е^q0ZLx~[cq*aatt1@.>BA ܆qq @67ӭxCrAؓt[lH#d,=e9вC胈>Zowh+p |Hc笪@O`ҟCBu3Yj?`-'%IMF%x^2uL5ŔY\P *+$ھ!qAӨ +t#1BYPz(;o3 +\;7 (u],gòԳ/݄iJ[Dq'[=W"2lfQejed?m@oVRqIO'(V@=fMs; V!R(Lˌ`j@s m_U1.Kt$hGf'-q>u͏B8`4*Jŗi% }fky!P t^/ Un@6"~fd b*_FR@Eϯr= ͝ eoc `sǂ>N1 )P'o\\fr*GTrbQt( qjhPzVx:~i ։{kmfsCn_mP_5]^vq ;rd贞hl. -syėNHړ: 0Q7HX+3"y?C=SɛJ";Q$ |)q[xZ.CCOCiHJzQM#c;#(Z?hQ`&/xS4A%7\m>PWzH bg:V (Bo9Bow1Qr'{s֗ p dY;-RsX vm C3ỵwʆ$HY÷70Ŧ-*aSVOyAF[H8/ؾJ_F`%Ϭ74C>68Eh;_#XhJ'䣒a`zs,.R &MP2avZ)2:1an1 +#hI:b8 \sCP[!o +"=[nV@KK'kxzm~u[z%ꪙ(jݛU~(4r/JY ^H+–6 [F>'K߲pu00*ԍQ$lԽnOԦ.'eanVD|FFoM͈o9UrNrAn +0&^ܖ3FS'HYlHdZ1ŅIJHĈ{9Eg',iAi8{XNRyct<MhxLt ȷhMEؚ3Cac:f+ m$$ 0c1d`qn&4(˱FNdX(g)sK@)`tAR8  ak;T|HpKTN:k.fjreBs';1XCVJNݡ@PbPŬXJ=+f:`ŠYd<8P`Nt#QŠm%b +I(rG3I5gb܌XD*jb2,PxKkb$KC1@arN 3 a_"ةF +1Ɖ{b]Jr{ɓ,$TesJhs,3%n,pKQx40Ѓ r"HYl/4 tT𡗳"n7/HXhϔK{-OY9j1&reG"t +g%,D@oa3lm`laI1Ƶ3LxK&3)yKCՐlM=BPb[H\"9]hi\G0jxVqP + &0`2еO, G lMB4~b ~.Hp颊R 1X&T酪ī[ zpk=^ӓ(B +zmGOY^=o;nܢ,QS4'ϩy0' -@C-""|gZab/KRED%/[[ÿ_D\hK]֬8LjD1~r7=T2omKg"ᒫ†D>Dq 2BE `q#ee@ oͤO 護Twv=KȞagc5ەu?}5uc^;˱qFZIK@+OMn p(FВs鰇2@Ȫb6MZtp1櫵!S"vRE1L6hb ;S%i=>IK4DIA\"/N6pH^ +.E"TRh Un2CXGLuĽB"?6"h Hg9| vd\:Usyxq#dT is& S̒K:ї9s>5(mDKT,ME/={2Uw/}ށgBAv vR+'H&r3WwDUw;PuF}ͧ} 9>61 ?A#`R_iЎ>RQg4HF))4ro`kKNXbrQaz ƣ6Ke`I|>H\E&N&d ? x]A&oM;MeRM:>8%ݙrE*)x._ i-z".ش d:wZk{-m HBDWa w+ؾ9{ZUgO@s*6 i҄W~=ݻFcΨ-xj\T-aX/;˛' z9ds<Z+sWf%օF;soP>;:Eݍ6M^Wkþ +J}1lD6ryVhR$T.x/*[zv|) ^ࣼhnNy<Q<#CX/Ng'իIc8qacU>o4 }mxv_Nٸ#2wZi+{=7.>R| иz8OK3=O+9ƾїL[(<=tJoa8}*wwx7] }b}/}kK:/1ebEhzmo#{c6w0w'(_O7pSAhVomV^wׅAZE$Rʽbp~NÃ,ߗZCi X~ٞY{ہЇfnCSL_=Z[MmlYX&j6qL9,~ gnWn+0jw/%Z,Qi1BxکGBca X4hZI9HQkCsH`Q{5zk@U`Tn)\B[|E~XVNܷ@SFLJG7>6Pa[Ӏ'] V<5mxFj~HE:@M:USPgNt^B`I9[eMZg?݀'F&[Wf4UdS2KϤpzN'/`$nnf̧+1CƢ?{oL/rξ‘oũ(T. &s!6Th⽐T7͍&Y()įňle-N^+y +{`qZN/C8՟WkiX~ﶡ2a82m8iFkwTFl3/,u^v6j"'o-z^G=g>3mE-7F +F OMzgߒcBiV# T((NP}ý$O>/h厊jу *dZV ~>T&O{Xv/:B\;qA}.ܐ5e$nBN~* ?`N HQwF:e +7܇V\9ОIYܸif!G<8lWw w1( |xe?:l4!)~9\BgӒ >[8gFJ,q6]˒m"H5MOǎ"_L1Y NEfpLl&qbJ:5nknu amsۨRbi`rsWG3hiq%CsBS?6|Η"u; S~#e 9EaRC~U\O>OgE{ovb}r` [_"⏭Fi3_56|1jU) rAݣLmWM@{)n2Wg2U,+de6cdiR rQta_`"jP їꎤ6m ކ,= f +clPޯmL^-Y|"d*'b'T[陛esjVTҳuf9%?Y$ j9v K6+zaȫr;^'<hR~:w)9V-v l6Ӄ>5[Hʾx$h`͊Qn 8nw"g8W,g.aWm`.H%Pɞ&Rhܸ! M3rOS,畋LA3S𖢇Z@@v#f3h(T- QߕAm:06gk :6h6 8Z<҃ZC#%לIؘ\v06/ 5,˫5rz6q֤IΡz1vf#;hUۃa`Zsv^zC_)=/s]aNl>TfFV N鞦a1 {YпA}-c6dZrM6g] nK`綻ߘ[.̨QݲX^unE4"̄kf*2aPn{^Z2Ԇ|[;Oۖ]+_SshnKeQRJj5% S% Ѧ9sp$:T.?ٻnwF.@ӸFZY=Xr^qKmJ1sMkU=e:RWo@) R(^(W,ow ْl_rgO33|{mCQlo n:Ų 8 iJ]h+brk fX$h8^ԑ;Xe'~ZP\s`q`O.[EtzNfq07R{uni[>DoY)r30nĻ^ʆePs^.Fϐ-ϗ ~XT@;,b4集!CRZsa֊pcU..k 4!*pps/ c!ҼL;kěFgf t(Y~L)\xƹTұ;LC(o~ jj!'LmU+יuGWGϮ})gr:ɛ+ZVL:; LPT[S>E+3%L--SM^]M 5Nz>&LgyU11m 4-]'/Ѫ}#u)~+[nڪ̈́'M? '9W`_x:{oAʷUI Wŧ*e b4|nX=_5[6r=nYtu:Ɂc.F& MhMBSfʕlk$V@P, ]4,fS3HuvhPi a `9RٸzVރ;V@ÏXۗL"Tb"[pU|Ǵ uw'~ZPC73_bpiTVjMƩ. @tq7u.Qz1;Wf5L9^en [r.iQ[+lHN#nT "Z3D| 253PF2ݷj4޴95䄈?˜M-Z.wJav1N~f?g9W8ת{ZtAO>]_ bӳRt+8A;3NlPH8 Y2uw+`CȠV \ +PB?OWmfP]TR,]_V훨$Wco G_#We+n2[٫^6&j\~^(;(%hn[i%HQZfI2jAqa$ -;a|[fGЪ~l RH0Lq;O5vƽF,[;pBc #|=6&uk}tGܪTR gٓh^?e۹uֹ?.sfW9/3W SUI~Qi#*DE 3`]q1*cpr ò~lG՞Lҟ9bgl"%$ t +(FS1ݷn=ZÛuN̍05@Nåʔ52\_xM^znD ίV'ۢNB]Ա)1t/4 +endstream endobj 176 0 obj <>stream +HWYW}k!B2 ai@ڡUUBP_jm<{,$_h(EZՋH57d/}p;M~g-$b%nzQkW >?h1-He&DK$4z;F6+]r]p z ]wԘTnZMd_סk&/uJԗڔ 'L2!oa. (d29ss *BMq^3$W_N aSLmL0/a%SLj)0W#ImŪdF7D Hbqn*g_YLL}'W~սVЧWHP7X.B9"Rm-r9 U}.[ӎk8 MMW(2' +1 u6 n8F VC<{,YweZclW~;X6@DN}GƘҫ7{KY>(fNxDd_$4v @o\ᣦIZP;΁Zq @~@mrXiɎIvMGK!ihj+ |%F\ +1P1SlM[Cg3l@/z-sX eͅ!3lb1MV{"HQ@KjU@0ZBX"} 2A L"`h!5iIoIךhOgc̟j7mipp{[ơhhl`[͋o ܘYTU.UxA lV~wΰ>+㲲KV>u| ,}ʦ4uɁp6pYٔZ$ : e& +UIQpT25hlU-'8KuezTqù#ݵ$T[L|&#40z2)Xg[[n7^϶kZv' 1' ڸP'&Sy?KrnTn'*M|ŷqAsaRl˗^kM$|GUX_WJRv0n֮E|n@81(&B&},k-~si:Wၺ|=>oeQ ˌ^+{foKmo7Y]]EX0-tҫ-1zJ~{7r_D :[+檏#me$T2TxK6~9v1"inLL'dhp$Nw-,EG|M95xR-fnjFjjM֎L˦v +J@ + )I.W54LSm +\nILhZo5&Sl-/Z aJOqvqwӟTB+;Mރ.`)V  HTB$Ku}TKꍟ ˍ_XO#cksx}ugH}|}^`#v7ou&Sv W9g-drcp60Mxd +flky7HaTi 'Ssrݏj{Rn>(BMQϐ>u3rzьstF^G.Э%7ktk-7YlskՍiD`]fj]9GD#0`uzZ4\:c ڱl0"~S> װ:MzIBl^IVpC§c[ 1YN^CR-sh.d:t0`+ZvOd[=]Ek)hBb[,q$ˡ %v֜ifh6Ǡu&-2x\M:6 7&U:TAm97=Sffrs)7'620Tv3,H2mMz)߳ߦMXkGZTZۋQ o7kd#~ Xi!ps jdcnGR-7\0,7~c>-+7|v>Xcf + mN憞֬ݘ\qi7ܒS(DE(mXA)sk,K<^kpʊ+y&+N1΁<4X|HL}c;̲[-龱ڽA +S;oɕK^&К FF*3aFk 24tL{_yb tP:.F#WPʵ[THpFO|FA-S=mW('ml%0?^-~୎$ʉ;PrXֵđ ,L@@D{ @t뀺#vwtNOݡS~׹Ƈjt.n}Ntl^mP̧YԢL휹EϬDZQIalZ0QhDFZ裨jRC{=Ai^t~du@@ +ihm40FŷvL m4oOM ;6rއq)Bؐ=ܞp{٨d~~w~&,kjT6ǂ%!I4y7ayHu@R}RK Uy%m0Cx| p@i[!|sxOcipÃ.Ȱf&eMM"SjضdIr@HC0V2n[Hӂ%*'6^ʌ'AX/8yX8ZGG%Id)#gC~sF5aNS7Å࡫E>H#sT0/I ,n.~UpN:Wjͅjܶ%T 5e'Uu]w^k4B~$3{^޷clB@^6a}]1[HOFוü[dڤ@嫣b$D/mJR^CȅPOb;*.Cщh#MU@sv&\4 }y.ժ7r_y>ʂ?)rr-Icz6*}S4]yY5Fŝ6:q*GC᜜6?j6 +R _[r$zf ǝmM|1#<;|~l4ȏ"={wFVHyK  ʳ,9= +OH 7ijuf +w7`(Ph&ލFszc8sUbȌ>.ϽuVC@Ģ/h`^g,- )4kEh?3ÍUiY}L)b޳\9ųK!Z_i- J vJ}U_LҐy$ _BApi~`b/-, (`ѥ˔/"Y>/\)(U'r77BGŘMq7D&mʭiM72Ɏj3d@Q<^pkɓ ~W)2;vPPmPk\n$uls:HO@! a,Rs;䣘p4[(^g.۞@ބU #\LFdj4p6Z[Nqt +Jd@:\zwW.37MӢYJ.PX\uشRw*KB +ҘѴϬi' YGP;Ґ7>vA>~z+uRu7zt)*dQ7Hcc< 8Ij4[%Yx)YCH5!,K2Uɏc +X(K* 4g<[ʀ+sp+ۨzI+9 l/빕IVR B-57x0y6MU&/i0KƳUVIɲ9H{3]X+ p$X +b?%$tXlCo` (E;r:lY6u[-q rCvsXҀ2lƽxoJ[ӂ{z޽4 3jA¥D3`ƢBH4pQ{TRE4ͣsJ}r(VCk]׾IgK|csB/k@vdm-\aSUӛ4 {sZ+Imܓ/Yv{Xbix{q;Han}m:OظOɳu[Fh#{gցX8lcz_5GQy'LGΖ æv_v eY)5t2VJMi0YcPe1\1oҩ;"]&:.T 1Vd48x F.V.鉨Vyޖ҅ }_կ5jY F]߭RkQ/߼EPw[Jq\ȪϚO#('^QĖ`4%vAծZĮhO;ƽs]ι +ЗgnH 7W\&Nk;{ȄG.cH "Vs}||[ +ѳH/Ũ6  f~=Kױ?^hݕYАb=Ann >DͿLQ속kk#$nRB˫jVw{- Ra-g\4;5ܫ y nk8"?9 ^Ыڲ[e[S?!BcH:tlzbǺLLot*gk e3Q[Vgpek∗w4wv}Ӹe=hr%$UL +~hg) }3[່B4&̎ݰـMF40H"ȌVk +h? \ + {"rAG&-R@( Vu;+_P>OtՠmA +-|1`ekX Z/XMn;f; @BͱP8VY.G7l<}'+=$]cevd׬ }5r>ؚX։&7M^1f)b6V͘#铴 xf7+no1* +(ճiql*?wZ_\{4TrD魅{ȡװ#Šw䟄dK*ukg&@;]MPC"y'itIH-KI-P0&)j&+{=/zfihZo' }:+oƺ6Gow&TУpht6Sx<2`8%&;t[Zkn߷EUAC89A+bS+DbZ̔m}Vl @AW <|{9N^g +mҤ?g{C.H_J73f{j2<ӫ4L׋ /%*[h]Bܬ} `x(s^ctuӈ#9MY@~Y94I6 + i{ \y@ş@,g*l*Ti>w%|hr@Yvntō+諹#o"ʺ&:\+0#1˖;$: gKqL*:zHRJܮAb _vu=@\19>\ G +6zָȢ~ol*s ǖwdV;ONE:}זs95W4\B,?B@ JuWj @['C.zMPK.4ΆMpEI1}Dig ;EJYW +G)~J-a:c{!{Pzo$0ўA$/睡_*Ò}މ+Ʒ3vq#Օ&YYl& +/by4]Y%l*ӊ' K.PU48Tb(k)|ƟRBq?Mđn5J c±6tI}Tpήp +]Lg E4b@|g /d&rlzSյ?]C}HOO3qQ%?R*f)ˤ8j64B4cCXx-,"j=hNx9l='V!i(1wy*Kϥ?Rie&Iȶ+t%!S)?9%lC3-5Z +1o +Mk45~t.ISWYG%W$Vsa|R*Uù;JH(Ϡ5/'%B!j1-zVg($yfjNp)D+N. Us”a'J؏Ey{~Sk0VTo 4, j@~:̈Zo5iuw1 d宷JUtPiP걏66h1+_ܔ$e"+عŗzLPdQHatg'a߄zr#F6S˔ ,4qH͎w g_qmHWQi)Xז65.3B\QT pd)ԇ<ljo6R;WF^i)m2"_w닱$)0! +3Ca64[Wg[J-R$0HO#*`gE_x]vfvϜsƇrBN7ɳ1fS*?Vk`g >U~|.&2%6`u[`j1C9LkT$O즲s5UgxXuh%@bNf94͢*d8 I8zи#aBy?OYyYMTm.ߏJkJzq'SSυ$/-!f^NK/,}"!>@nlOpxicJLdCO ޸`!ve:BG].Oki^*VIt}jk.ծn5Aq U9l?{_+;\L+ f57LB#>F)Yy0_5yqBb8U-){ ~X͎Ei_V$f` whY{W=q 赲TjKQZz -okwn7mEdWގ~f1<+ UK72 f13C]6ѝw˘\D&ǷGSөPTc + 0(\-ZB; iz& )]oT)& ɟ(zTa^f<+j*dɸ?藱XBo m=g4)=&U͉Cb[a}s*\0a΢#&OpF;y3Yʄ(jCƉpeIK~u֞.yah] ~Tɨb\2G u>)lveZ[6tiGc&%Cgi\sФ+fũYÂ!% r@Bwd/5ĉ {j&x9N߉gޔW2H>% +n@&~R>!}"xiLs؜¥3v8]Q>*߫ey>X@l (yL`2 oh7{%ѪÆ@#gP7^4ڱD{uDEN{9-'4xO +oȲ3.vID%f%PC AB z' \] d(o_KM`͌W0A E~ZW0A+x!JQB Ul@S*~Չl.W:j0Ea~_@ +WBZaӷEOw)+ a{Z~aJ[| qu8kݧ Bkg2*[ULbE }}n#+Tҝs5q+Y7X7{ò'=Ncm*@?To7dY|ڣR,.>Jog\Ao(zĽɲ_@w< 74+\]V lk3XFzA1Fߥ[)!ejS +uk@3v(RwpX -qC F/lDYvoB9W ʚeD]@EqDvQlm7]#ohő̝teVsN^qj`ƕc9ߛ9A_A3]ʲ;$kq<_9l\6ku.?7VCfcKV=z |jw%ѣW7IhMf\;-Ok?,#݇d~$>.? -)egQ@q,>;т0ghq{lDvp@TDTD +QqU!%< 5![/J +zX> Ir f5[5ױkBmLG@fGAnn4ݼ꿥xxb+!B% k(9-S\GuT9 !եce9yF'Rg{+c-*>F*q1hޮm0ϔ]GRZ7,isE9ȅM]dpze kS^[ꢤ+^҈ɲ*Ш@b$vI˅B:((-_2/G2= 𙃍j҄5;ѫ&w]Y 2dՋkbQ5߳A [v@hO,lk@b L6Oٸ1W<(BƢ: 6K$e-^=$d6Jsz9Su>NQLZ.aF'.l[?v{zt]Nt#n˹wMg3V\/^^K1bEvėŮJu7T{oڕF}6{yhr%/! `q]⊊gvmܘn)q"ť +ѝSJ⏹Z.MՍ68C\U?R}8{:Ta=V0 H+3*b\hq{')CfIՏC6 [ĭXRa`-"MDzK7<N9,2"}@b֒inr(D Atx8cc.BY +af6R].L#"%ubihN,*lc|X侂]Y겉MZ0AeM<Ӗaثas +Kva BO V߮Gԉ|U Χń7Ň! ?lnvuf# #yIG* +;{DQ a@:P_ Z*m5Q_VLt_Km*<:ih6 ~)U󲖠K>Qmvc;Ri)^Mwc!{~}Da;tV*9fMVѴ"=0x@Aw[?038^D85eq{^א2K&&,7˜Ru֪gF ο?X *EvGsPinc 1B&ͳCp݄;8 +^))u|nÓ:u]cB j"/Ru\)FȪbj%ԭ2:pMM>ԷdN| /kX=.f//a4ӝz4M,ܞ'PHB~°T\ +A`luѭ9e^*A*bbK좉=]1vrxٙж?8$M4wZ &\.vy%4(I%t_Ϝc{iWILo} +2ycRȪ1P̍MR OcIi+pyF~\'%Mx{7[5AyKFe#+ +[Dώ6cغx3--_qZ~;o9]Jc,c+:J49Y>V0tϱx8J479C|IJY>V0ӌsl%Cg[|D m,c+19G|m屵BK$nzVD]]> +]ˁY0. +jŁǵMo!k&Wm}k] JnG&W2yӠ+>U&з,HnJh~(4d{k +Xx½Vw*/-:1&q"3)JZn0?vcZPcz`.8zj ՄhͱW @$]EDlE5mZR7JߚN~|c-K0F3/|1TپDRF;;Rbn8Ö!NO٫I5>TlQ2>ܑHreAN䩿bM &3`WiZxmG,~59p%]uzYKgr2$ELh@?)F!:@/rEgN+ԣ<C>j8ttCPNLOd[qaW9O֚ 6遤,Ӷ0(P8˶%(u5Sse5kt;ּ<çyy' G +Ne;=d/OY=w0HTlM:!سl1~AnFΤfTfU>`jJ* Qm'c2*NJ,s'|YCַ'A ,adE(c//CuT7MA1FH&YHn{  S\PQo8 +0|F;)['K!G@jUt~5٥(fى"b\8ޛWD[DYI"BNM̖0G|~-,{UqЍ*Du7vi_0?IUA|f׋!.~ƸRy1i'Df&3Ϛ/CM@|mאXbDUL?[1%k h'Ty ۃ_Hf㳚%RX3jfI=<+OtrAb䅳7:Jll-`Xa +[rx /N*\&oVLJ2c]ہdfYZ,`V*ALb3?,1SԛxyZU}-9 6P$g66 1 +PlĊ"aĶcCi0#Qr H0Dw$igy ֪ߐ>& -C/I!]Eս(C:iSfN=}_sxUoҺr +.9qZÜHa$n@ S$}t 9Ċ.}؛0Pinl)/E%)"wY)@ߜy=uM~ix5yG ܶi}cA )MU[U^/mN΃.{u=^7[״S=~+$cZ˘ /ap)mxiڻux :D6?M92kcNDߡ@w#aγB9|8qs.g3˸Cg4L-p/s`U:z T@| +I` +2h7}uB077|l5ckMMqѾ_[{}lÛM$ooh߉qi}a.LL\mĂy{X`GAb ^H  +xj˴^a??tLoijWx/[|.:q@u?TrA3º; +ݎ`[ |g23s 0յ:Co'B3OCCihMf|hgέ/\-ioIKK +iTN~BڱSzW LMj<^'E>B cPeSrN ֢pJ>PK.D=4Z\Bϊ%VrklБmgK-0ZL K6)7W H4[hH{ESdprM+$zKc8N[U6\DiaNɺfW4+ㅋW*bz8r/)f/bW #Gu>4x܉3}rꥤ|=pɐVy6Dܵ kn*YvW(K{YQ)-xRP!rRԗ!3H_R~i6܀oꨙf~LS\(ktoi4V݃rRټe FGu 2d4S +hH~D8d#1JHxUQ%q( 3bF5?5_FVFA/ﰇȭ?Qv ]ʯ޺h4A>/QfK 0NJ_"7!o1*חZ%й@9[U΋q< .p_lS?Og\f򭨲4;yk(GM>hʆ& T1"|R^ ]y7傓OF5 ^O.NK"hw*IE6փ[|}PU]4B*@IYͷCen'$l@ie=|9D< u1*XZu,HjbCʓ_{O9N cx§i.!y]nOzID'&<[Ū_7 _F]þHFʷ@n#, +- _О޺RHAP[Z6ڍZEv$,"ї>kC}O;VMe+2Q֥I=5ʖT,kgp((L0Sz%Axv*/]ak%Ë:>H "3pT:Z2Thz8/z+f󻶲z{?G(ascds[R䗹7rh,xBM$o4P*eyg6g)G&Pf_]C5kV<Q df~"~B.<xGH~G0SocV 7 +@oj',څ>]*1CuSE-ҋ5EPqdhv̇NSn5ZZJaIyf+5/WnwAQkz(˕\;?"FF,A +w_ b/pLb?tUg 8EBgXd7 +?7[8.gǁ΀YF;=sߐ4M7e;} +)eixG$AgaM<2w- )e(2[<T&R}M7#y`@}*MYb\ A z:۹yuJfZN(>lPG &`cslI1L1Ҟ-*ۥexIA *bqMnJʮ -HuMB'Y_ =[}fe2#?R8Ɐ2 +endstream endobj 177 0 obj <>stream +HW]o\}2Ph$(lQE!(:XI #{n"Q{3ΙkT;aev*L:(T90o>?>zq//>^&;8>/x2wY)NPdLQ|z+V*cwl>mI ,C0Zxe6V+M~27#ɋemS cD vgvX"yiB(1MFy$7!@IѢb P2g'cLqb9ۉ }!5z #N[> q*5dȵJrf%6{o#(\- +!+P?-~_C.S0cV CLL:R$bg?_֯6Ji 6 * !L^88n⠔\7D& ~|=aAI_>m^_BR%T1h?-DH=9 r4h] >ajd—", + ڀ<) ˁ# ^"^B+~{}D9xwÿd߉ӫOF[ zć]! sn'ĄZ +ԣjA^M}/Z|P+Yivo*.+t62*#^P|vs)3)L):.ZFmk +rI4aٖHx2e;?"è*b1lU( =-¨Hznώn5"øQi*m]ؖCFzeAlԺx u +i" bة! (rl݅U OĠ+لeˠъAŀ@'1Ri0Ũ[h5JÁ`G%w855R1I1thA4Kɻvs}i J7 +GyL3"]S qbeM3x?E&>Hl2tE ΑA xF>H0]))c*+Ç(v-3N.! Iux>_破Hhqu*Y=tFnh8O.ǚ]5RUZƨ~!:&DAϑbx9czAHR`k +^g\S0V= BvzV,RW +7yRd6T$0jB%(J=0^ iaBo菸~e%h?~o*4FY;=Xd"CdB+Ba Xăv{gt:y%fxT&E'p&E'VpF w#y^'܃e'}$ߵ{`FTFz }C7 T2.oTvMR{R:e$0$e +hF0Pt6 P\SFQ`Wa莦 iWC܍SPQ: TC0pcb񏑨@5Α蝛Ǧ< + Zi +We PoB Ov5恁l<0#`L@?9umdLj$s u[86]^XIbyP 1cl-z =F3trHHq4,l_UMVϱmEQQڀ$嚋g[D`M*wQp:t\ `r +d{gHL0 ZYXP]Mw>ǥk|ý_ `7 r<8υ2BT[S|ڢ +tJUle#hM0 ^ uImӲF[SK>-|ɶ}ߑoO)€W$E^ax G E*!y. " 7"\D!y.Rq=vm\, c.N`˕~ΧF]sȐ;_rquő_1VUW`T$ W#140yi}Rc&)ΐIcb/ iӤ4 +ƘVZ?ƤiѴ8( >g}3^3|^{sOe, %>!C0#&4: +ְ[gB>BD*D{DxF!c}5e5 YI𴃄AA  IT}@$.4DYK'`M\V79; !>ic\ |8TY# [+;8"m8ܠ+H,}?R[3^< +CmMLM4-XF*㊣Y+Sjz+Sa&qD%3q1AD6}z#_gf$u]HG`\BC?.nzӌ8=P) 4Gr67n)yj]ffUsRX-%0'3p3 yᖒUsYí$Rn)Z-%v^+;GO'g@ tž,P1[^XS62Sކ+.4\:W$yf1؈ݟ];yj.4^i(IF Ro/ok`/oof: q< Fɐq"aF!ؽ"x={JӪ`tN@XEc:a Ŵb2K#Ap4eu1=Rx-Ra!N@;Жe,*'#],4R q BByU!b *BE$SG9HKEY 5^ZB.4MV*+Li5})mȆ_Ҫ\DНmTփK[TI\ Z.y=E՜pK):I DfN"kT՜dhK鬹%[Jip+iEfyIH'5\L5q.# ' nf3B]02*5;pTb1Sה"dG☧hkʃHDhdK~*Wzr 8 +~GRJ[vI¨-; +; +Kk*+Ŷ8Hl_mZk)7FRl,դؘ^gWjJcݘTI*M [ ^LJM2fEm77܂,ٓO-d[#T$ KMn)P5'[ʩn{άvvo/t/(4^(ivx=[ϤXmm۞bQ7o7-0Ro*Eԥ@pP=HWbZjqPf`@F$䬋HES iik0E*QHweITBA 0p1x-̼pi0S臜p>BUW"Z#RO @xLHe:Pb)q 8ih7j5nlER{i*Z\E [=5G k +F@TӠvv(C%NtD\|9DfK/(bQ^8H$b\nI\Ds5 O2I.**o,[9 J- 7&,YRaۈb)p$CPb`2,)/1`b#8o5 '-j8Y8۰8! ,K9(L8v뜡/1^Q\난wB!q"$YXA2cAHj ["cP|dLQJ8k粺٭m:m"UB񞂫)칡i{FFajOоP:|0 A& ؀A0}] +u,38DP'`-o:EìI6%lz.O'`6'='`]W90ˀ1?Q !<ˡq2%B` +CB5A Bp**DggZ:L9 ~HQ I: ]3z~|3<8UըzF9ڎ;^=v ò_=o^Scxk$]3,BP/? +EZ/?V;?= +nɲ}rh 9SۼPsɭY>?vqG[h$ wvv.CgV Vwuu6NGgWϢ%{A'UXؽh=|pphhh' >⾻*݋޻G>8YzήEKZjCu˖Yٲy3Ok^lqޤgɽ֮߰md}L5yxyޤk57{G#_?'޽h0roS9y❷8X5x%ݝwé?칌=sxd'׬=+>5g_L^?=>=xށ۰7W.2uO?xMdpWi,d=賯<=}Փ~w̆)gƲ!eq׮g/?skL;yvrjڏ72ɳ'Ol5N?uٔq}҅s4VPFhp~fę\ɛ2|3yı w.gw~w5g_~_6xO˩/}_Q3_i#x01 ,ۻH4TZA:{>0^_iUBE\ZP[)Bxi%z%҉s򂜈znL2״!Wf;eGǟTK\sf։]/^_?]}~WN׉`->Ώ~?ym}]˟~w_+kQm8򗾚|g?[\j{3N?];Sf<7;w3.|vE/ǾHpelt䍋p/Y>Gvio@vԙWGӼE u?v~餓Q'^qPWlY/4?,V~xs#U_k,3H"CMmi-{"dWVMW ^^ʷwwvjSa{8I IID$&HCoppC?Q ơg +q;}O{x:NpwYN^Ѝ|r2 d@I; wSTMlZITESEXLU^,_RG(6B1]vzԶ x79I:S$-lBlJ$YrQb!xXJvWMdt9LӮ xvHSB7B/ y91İp>qE(l΀bZy6P-?# Gj},r,l ThN{i:yy^ 7qx= Vhp@w!2s`r +bTs“|$ '#e"<⮤+ȓ ҫ<9>H7 z.93KI>AWIuR>7CW6C|r]$9I=ڤ!K=H3w{]\}xs2IVgSe{"=&F*HuqJTT< +TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT<,rAJ<,㨳yS='>Q'<ȃUt騂=13Ά)c-O9C8N8 ƚC0zRFQORTC('LF}`[,mV]Z--TP]`57Y::.8 + .Gg\k(ӛv'F4DpO7goo6:yc]S# #)QL Mu UzeU s3Si?hP& ;01=հ0?=!F[:ckٕյ k+kXwgKAHZ=|M ;[׳BBukVWxdjae^.wKE.{cseaj$jjԫk662:{{?"߿83aۨꂣESKk{wi84rֆr8A><'j\O|F8Ph ֝J;#=iw#C厨8A><'F5݃{m-ͦTY\ڽQZ]mTZ]ᑩ{-͕18zͭ흛v6g'4A;]Y][а6uw$GhrV: }Ua,`anvfj2-$;tƺvG0FFSV!!:ڛD&ss G h$ۛ&4 8dtX<*&sADjlYv@hk4Ru&CuGMD=IQ (0ZtzXsF^S +t'c:ѱΊýL$$a P^_$I"J$СHM88(|d3x$8w<~;:8qr(ԋcb0DXWƠ;>OXI]R^krXE<%ET/)C(6B1]vzԶ x79I:So$-lBYUxlBٵ)DJ"jEx\nwD&M ;7'e0 WQAJvmsQ<!@QMtRz "+nչgTUM]7j^'&8X!=G6AE rXkJzA8 Ң'حD%/ JKc8WtT1Y +E{u>&6B*C*'I߲LQ3%3m`SH +endstream endobj 178 0 obj <>stream +H}lU6%,_4-l;-]v]:0ۊe)w]e]bd321,3G @p5? K`@wYy11F7#?RcMYaXgN T…4\Q0ZS+QӄBIQTbP[B$LZ#9BpMh%)JDIx1!AU +Tx~\hQb)} 1# $(@^$?0m-51zU +dXKdM\H-XNhxc5%e#B7TU~vcDp.MjBkZB ^X6*s"k5"Hj,lL$1" G閕`U¹UIT;sEi`i-gՌ6yjVXp $1r^Rsb,"sF[a4Z +if) RÔ+(SnwuR=u6VE.IVx3[VE6=ѪDR1Bòشt CVH3[!V>N=晊LEJ :s2<>9 Lpgk[ x#.z­1tZj}fbB[Ԧͥ(XPuzZ٢$q5Ȫ@|Ѣ\Esؐ#sf=d_q^q* fw| @D0* x`vw c䴡mViPmmoSE/x~<܆Lâ0a)pwAs)bWI\U} +X][]kwU޵ʻgy1wfr|nrt}fv9r }xچ!96095ѝVNl^WAo6pH( zƨusˆ??IOB8i:(zw!9ooj[pşn6zb|9~v t{yc?|AHϽ/}7kM~z?|ءݷu:\ 8W޺'Ë>ԫι~|(qz~?ͬ_x]ϟ=w'㳋(+:~3utuY0 N6Co}ǗM{5kp8 ^kvjz+Zɐf<*繱X״XrΩkxrzF:4ʼnI}SvMNok-SxՐCVl=pam1[' Nw0u=Be&PqpbTB}UTC^M@3FEƲ>/IJeQ6/˜Zٌ 6HD4$<$z0}nN- wjqIidZulsUL:Դoy# PpNN[07Q + p F*¨iWFBS!T2%FL+@,B\!EKgcPP`WYg 53Jc5u, "?;NCEUsH%ʢۉ-9(ɯ[hV[P[y(rTe;QԬte}PB{b3WĦfC/}pw=KrV;hf Y`ؒ ycoKR NYpJP*PPt@Y(V|(Ó4"$E'h*QUVtEši`@p$PY21@[~CV1kQB)XVdV% 8 Y)vZoK2w +Tq&TNQ {6\N$q&^0bIG]+=W<nj"k]',R`cՎ<[m}k4] +'VAYhw!{.C=lTcjF|`H CeHf({?EBrfI0Vb0Y6;OcKsmf~ٞV˻(u`vAnIE[e]uvV*ZE\kq"clE\۱r<+ OCrl`rj;ݭ69>;71 l/G +_V%,EPa7`] ݗIOB8i:(zw!)WGk:֮ͧ\2F+G%k:~ԉot3<ԯ~KCG~|[yt߭78y{ޟ~y=@J~>xO~c3N ˻g 7kG7_{KۮZLoЏG]^Y~{;kHWܵs}pZlz|_| VMoEsp&o&Dϫ +w)`A\X޶LH3?{R|i +m!dNgtҴ ]QQWJպЅ`]hbAWR7zj{g8CV̝tu/AP~8;Az !B\tǝR@b 8RDB HIYJ 8feѺ,rǍLm-q,4IDwp4@GCEߨmHߨD Y јNCd`~`G?%y>:E5Ƀ@p5ag;у۰q>b=LhApt(YtH=E=r=b DIT\^qq# =B&9 CDVtBj{U[j##:}W* ?/sYN)^!BTWDeQsT0&˲&c:&_aLwc?N$o«֛RXd6I/";a`C&5cD~>D~kɹ#հˆ+ܷ޵#+q18J^97#Kϫ{TqR,yU;>Կ7Ӎtc0LR;>~^:R76׏oK6D)dz$0ƣXTs}иϾZM]_?S[m@¸,QL9zt,`gyB?p-\}W|pq=~7>~W~};sWϯ<>7³O~ւ{[oW}u!j_}|7?'݇;韯W^N[gg~/~Cf?ɳ?{ŧ?̗@k;[/فy[?ۓ>xn qELT8~ht ap'>氰yty+; 767._غ4x|f[c28 ~O5sf{)ȗ+`ᰰtGOmCgȊErCRڀ~8;  ! +-G@c3рvv}:€id͙2`vTa$҄ira)V_S2hN((YLC+LX"`N;&um4L0LM0U`&wq8R#`kFp;QJԋ@&bhl 2;RǂykB4na!8=!Ӡwi8FYGWAQ/P7)bB + qhd`H` +a?ԮTFC", GjeP㯗8@rHCb/yA73ZzY-U):ŧ=j]kq"nV\ +gPwx JC*jc Hr&IP)9gH)8ns|2ۖшxՅJMjJv^%/iu-׾E@6G!c[tg{w85ȿMjxyD?(0mhtdCCkC"zN4rdֲ!*hbN$$HE9x\D+ -IM` 8W2^"H9Vʤ aL*$J<4r`!)́2@® D̗;ىT9$h#w/p_ 1Ԍvs~2CoU=&+4]{W`?NyTć%n~]rzL&$j|9FdQB)G[^+e_zJ%"14)Y;8;Z !/RhnVl~lfA5*zYl%R۹s^SUI%_QDQԢоh#=*ɾ8bX +} +ks badC=_cэ*$-(+ %aarA)1*&2V *3+` ! L8lL! ډ7&iF@oB}ȵꉀ=ZZGsmۄclQ5Y?($.c:b4=׬N<ƿ8U*LmheVۯe_;S hC HwI ؛#.Ƙdx7* +(JLSR}f{u +"d`3 C|3pp?Eb[ rGiq0oO֘R@Ȫ!hidtA0Q+?#!TŒ^Vމx8W䙦,k, k4je,e+ҟM25 z@^$@b\cT2d*zFU*vn"Jwí54Q' I?އFr}6EI&[5_i_/+)";q"iqRJ %/KA7E PBjjMycjiOm:nWlyiFYƺRb]ф*sHr,IbKP)9gH)H{+̱UW)/[](ޤ>a.XBF]ׂpˋ"fաZ fb<΃I%/k0Si6(:̙803؛@iPR[[}IK|m'SX_}q}]1a3|Zk{o]GBݳzd*raCv"1? {$sFӴб&S"+^<@kt yR 7]NYGQ0-dxH]q-r?!~5v1G^<ƻK_S%ST]"p1β +ҙ>s,%8R\ĻjL)){z(kLWBZJ/ai%"6` Io4-4RkkacS=D1ZN!KBw `QW7vqfoi+Zϴ5v}dڬ41t(FJ?4+\7lXax_9P"ȾgzHgMBÚLORJǤٗ3/9ImBB:JAh)g[@8! ,DG"D%0P2 +;v[B$n{wQ诫^~],.ٶ١[lssg@5יYvYl~Ə<;~_DsOg+~>ڙzltv=bn/G`#{)@m{2ߎt*>ug֑֗ѹ](;4ܰ>7w㆕\ބM\|=}t+|kܜ¥}k]aO_/߼=e߿o՟[1ʻ;/?fο}? ԯ^:K@u0WEp~?ñ<>]}ʇZ~ƕ^{+oCکǞҥV^zD y#g<وm805|_Z6^Wy'>zEprA$SHKW@[&|?~flϾ"۹{zz26ܙhwCSg3s?9y3u̎M_L_@@(%ީ̏ lp%z\to=F|:Qy 7P7 +=ʰ؀cn +ZBT/V:熴ibjP(=+KХ2K汪r5f@3:hL f k%JKI'H"!h>EH]\%ف!)?x 8 +Pts'5"@A6~lh.PZF‰ʒOH좇C\~#l7p3S_kYxv[%en ;z\h_x 7_|M/\>^zv\PQ'O8|Voٻ޳z㖍kzoQU/۷Z7nQB ̎3%}Sjd bdj733ǐtv{{8t,c&΁̙xB͚nQMMOe +l0kF>OЀTfGjV4KS̓T 81SҵiNGjV4ucT|eWDRš)ݾyܾ_62Ygm6)Pq4h:l._\w76,ܞzH 5Xf`I ˙ 1P pDYĝ96@zQ( +6L9?@1]0!PdPUD[nYMq!p +@ Eri'T,Be)A/DNu +ms09~Ѓ dRAA^۵R+ X!RE<_eIAD@A>x2q w d#pP`E34s8>PV\#D +0t5i T5i%Y:J*k ʹ{R\ tZ]6FYGW@GkTq%dخE).xJ;Wd-/ dᅤ@++,pEhM< eWUoTA@[tH`DXC1@\(Je3aBisY@W+GaJZ@޴60H{ 9^߭XW2jDSאMazc88#RWQul0>CZǖD8SrdU5$iMP!!DU +T5(%%R(ВmEDH R* +UN}=EPIX$aG`"D9#yh*1Pź1 $N3D"l829)olwĂ}XKj KS,SS ͉s>3@AZM 5'` +ԥ; b;+FW^r67v$͉^"3RP&n8P*}UJ_UWU76S,S̼"N5ڀ9W7N艝[]r}?}_ZO]D?:s\soxl0ID!!`&a +9TiJ]ƹ "$0qi‚(4`0y+c\^ǒ! L8?~l1IqI R> .$`[ Hs<8WԢmHFel5%;͢ @Z(b40,ʂk Ad-AfOӢP˼X+5eBH3xL") `D $}\ye`Lh@5M? + e7ce +cv6:AQ)5=Nя If ҽ#)CChl@(:\ ɍD+@AQ+DGD0lw 1mh),FЊn7Rsсn^8 +T`+v[cM{d7ʓ? א-iጟN@PnTX8י+&r^_^V'SH_p*έ1.O!H.O +_[fQVpذ0WO^ ]Pj)Z5^ݓ[rYtÇ1s]S=p|q3u]52ow4Љs>vꅳG޿Z,p;W>Ok +3o_gׯ.nں}?.·k]1G~=pzk载˿=u*Zx٧wԧ2V.m7l|> .[ݳԓY + 8 &^ڍFFȺ1pFAG̝[M:$l"I6ݽLo?oAHM V[L}~"tG"B4ᇡ /ø1'~Jnxf>)=,S>&"3TXn0"ϬkSi1!1JM+93M%Է397׷{{/W~倾k;~uNu 7|!=tԓ/?O}l4O~~酧6fO;̓]mCgz⋼iqw7'g{rf:1z{W@snÇ4aZ|P#ˋ}E`whxhlj:,݉M{tdxڿ" f? , |;yˊхPDo{IOOEo_ߖNWvON",T Z4N:)ª +iJIBLtiFzBzGf* "tעDFu2'maY"빀3T0ZxQ&(MF:EmU]. fbCL,VUY1TՊ؍W:0 4:RQF;Cں똢SRӁ*GZ_z@eKSzh;InXgbF7;.$c!xJml"dA^ c`iϬUQ@ฎ-`d)p͑T,grApX +2GӐ1F$'r$K )Sα'!]b"ƕTz)6_-Tx"VE*dA*ddw B۠@1EWr`x9L41M@`;#$-('O iJ" !1$X%D2ga-6ҊvFbEP&Op m^ޞ抓%`!4AR +"[x¼ .!CECHc=yţYD2P11f}B@oPV~ J ˣ wq)] 33])uKDFD{ +o_1l{/|0jH\56ʇJ:*w{/&hS^\tLi|FƈHlRUmkNE1,T  +U]-V4!F)|-Vm0KD 3V1LaifFb!1QnSh͊E|*Ct]-FB|yc}21. vm>rYT 0- +=Vp?}VR6<(8K + ㋂"NQ&L_k +}#=J^¤Bf? +xt" VDr.,؜!GZBh~Wt+$IّD tTM# Z \L Eo(]J %t@.v{&w + %/"Z!!|7ZsbK;IXpI HCYҡBT,)7XKP ̧ U-eV/ Q nCR[g3nsÑc@nFb!PXc!M;c9Er#t`,*fn>S-ZO+/9)WrtdfSh)! +V]=8cQ7l:H\dj?mSy6O)~v3vFw`M?2zzБ}[ gwhh;NbSĖ%>QEKO"L.46|HؼE/TӸw;qhlL<465pxā&=:<G TXrvY eB7SAzָihd47Biws5g/:B2LJ2 }*hJ3 yP M0 ,;kI8i@ᕰDiOe4y 4T~FL YI|lǢԋf.CsuMgFvxLVynrܘ?IbHӕ1R^BZOrk^`1Q~Cɡef[% .LQ95?'0gۛ~k[a7xpߕ![t`nQU1nT$hPU:CXUJJh elv(ܵm˦i0iƅiMň?Na {1G=PlRnvsSfx>W4iW?!'83~͟j׭}rvyZ`N뀆QPۅ1mE ⫈LJέBv?R꥚+΋ LL Ą%IeYrP&1玥QJ;悻s fs8RnsKh,J+cZ&rS.(( +_Χ}[a/' CtUP[Ts?hE1<q]EJtyꮱI3;Xw]#gx ' 㵂/kԄN +8+ktq5.BKMt@2 +a+F8?FA/dCQϓ +endstream endobj 179 0 obj <>stream +H}LSWǧP--خ7JyQ*DEHS+/JZP|e6M{{s%=rӤc--w[]&co֝ y}v9 hpMx9P1!|h‹JNR-.%4:lfLPb2JG,|尘 Qh}1  s(B,"*mB%ҰH@DTm"&/ IJM.(aQa.s"L&$e3 L}FZRV.} R Fi7mޕoܲI%p4b?ɔq|sqYR^Vl1)e"> !<Ϊ?+Ĥʄ켂֚cu'O,NOPJ1!gTyxRO8*.}vtә斖3MJ;ā>lᴈ1~pmjƳ]==]gO.3fjE~\&m"a Ql2oj<{վ+;ۚ6)$9ba-9M_\v}pxddxK=_6lцaթם + 2ml<0tstl||l垶ƣ3"չ`1(4 Q⪚/ ޙ|`rγVsvRCfU`ZRMڮ ޽?GS];~xWF&6ZEg b3rˎ5u^y'O>yxMr3bÂlcq`:}~yݙ+SO=l3uz]&`#*O/+4ZN6w M>z/|p_wI13>RAK?2+[z?x<_x>՞Jݪеpi]KuJqtƵ;wQخ=\|s 7R\|#zϵ+XN-i*3nEq^c=;Ͷ"+dH5(Jƶ/y4@^s`q &>GPDk0Zg +y&ZU*J XЯV`2zh*b1j9Xw*GSڛSkoUj] 6{Q(Duu3M\;c>>S9jv|Evʰ=ılJ+-*TG8/Z!8bĔˉTÜœadAǬU>@8&* f*aQ9UҊXa&Z:"롢BSf}Mg T`:e}vmo$5gĮ!dzEq㔢 + @|VS`*S(L;-Y|Ѷrb*|j`'aѠ(_%q2&V.=|B J? L ̚ IILlILlILlLlLlLlLlLlLlLlJہ,//Ҏ LlakEㆉa`dU$&&y}05 C_Ka0↡v\zq9nj-ㆹ"U084L;S@ ?u֭(Kp~x#8n(7q{Ս+R({4:A%tK|OGa0Qv#x=6 e2:s1Gb{>_!m|>|7D>شҙ,o@D!!n$$D$‚7I.b0  C#("G(X6K` +HZOHLFuZ"R pY `sK$`A(Mt}!+k2dS7idABA̷ P/XOٚ'hg6wf>1oON֔xu$؏B(W,&w +K+CnY+K M;I(Ie/%)v+n8F>d퇇*Kޖ+ +8 9I,%M[d9RZ6Z5iCKެmD?E,LT7Xl[l;~֯: .\t }U秎ۊ6d98.~r㛋e^e8Ip8y?F}lxck~ƭ[ŹEnݺO?\jmld6r.E2ihدݽwoMܻw_~1Ps`O.B$#w! +h C'&cjۘɉCbܖџˤQ"pPh(oD{PylIHBB ! " IH@D@+>`1< D gŢNQ^@}LvtsSuڇکS[p-=yꑍ/3a|g7gw>u[w{~OSwm%-!B.B%P3gWpgsQ@o{t޸zӽW+xaJMbyQֶcwO_?M%>o/}v`;uMJ ɝ"%Sl]/7$=/eӇ}w9I1Ȗ%-˒X+^lmj9xw޻]>uZ pK6.ӊjnk?y{}=}o_p}ڢiFb]ݖ{<$0un-fN~c;2I)o?tSN/啅St +1:Kmo;v}ڶ[Z?W!v좚U[8{77nQ n|sZ7)N q="( Sf-mjss\F͵uvsgܴlCR"@;7BK1W79qƵ M]G[۫9)q*9J  1Tۛ6(>w&{uI~Ax=#&جUZSfAImM-;wCٞݻv4oZVURiҪ`xuNT'gViomhZVSVG*CD2Ls -XXc]bo(j-,\007݄1xBL&/ +UO0d2/]`QŲt~yVANFa:4HS$' +AJU4nHNΝO!yy3r2R xJ$p ϩtL&C#4x1)yb$JIdk5@J5g9f ǼEtx-nHLzmBBV:cM8<njFΨ'<-GNkH-Ӛ&W(AHp>׻pF8wȨō+n]+TKp\#tw8s3t^@7 Qd60ufKJ'2[-XK&i\"WէsRꈘktϘwgAl@fqӲ4{ḇWUFa +l*,NX\VYm*/-(ͭ\YhUl-[[1)>1\;1%\o8<2y^YUmu-n0YY;)tF,Ocz&F?F,Xdc8PUE$$,>NImzZyFlU_+==xO +`${ I^H[z/zW6cƨC3 32!'R[(tb򛦮y>}w/_=sŴXokEq$]WԵ+lj^}_?zt3Z|l%A- g_6k37_?}z}kg')IpҷK(阽n[O~_?}zu;Jlt"YY?cPmd]X?4N_]]s8ٻ/?~Ǘwn?~ngiH$V]Is C@@WY XuF .5kTר  +endstream endobj 180 0 obj <>stream +HW{PT^ d/{qRvUZ`Ԛh>ҚLI1mG:m:N3hX1>ZGi3;.`Bf2pav}sn]p?~kN?cC{]yaȰC| !CEƥ)(,D QA :vʊ:uAmرOTWD<~ܣ?n۰P]fTדP*j}G;޺ѣwn]<67AZPYS׿fΣ^_wM)J BSf׶߽ѹn޾7载k]X6FbS2Kk|>|pϞS2s3RmafW3`2¤\3f͘6u9Y) 1!Wn%gs/J(`0>+cDr|tdxp+ٰdTL|RڨYsrrgG$'m*Ȃa3F52-%)>aOLLJJNJJLL(D`а[d=ZQQp!ztw +#R)!pHB1ח@@~57xeghLwv[,-Yׂmev[RΥvCűnԿj7X^iaIA)iY&LY,c +KͳhaQUTA=D*k +Pm$aʐ$V5e8Z +EE+&P2bHG0\+0nd*'g8[ fwJj"M"Pv&ZUHUQVxBRY[qS6R\TAy1dC8=:oX-k{=%ޕVkf͂zdĨi)vB" +9"fxX+ı,E5) +# txQ ʱH,V/ bDb eQeq4D9PY_T󻉲yJbx C"-qhN.萛28 dAE?ҿ[p =Ih/Ȗ@l@Fot, b "DőEʤ0)S +SCpWUs zl2xAUaeL_ +Ewp05b"Ւ#Q&P~2!1% "8ɞ+\9?$3If#:+)Vf҇rMIVEu 6&LjX#[aT@yT N"샀)2W!җG] j`aW\bA}Sme3Lڗ:ߝ,[J<&!4 {@mI):MUJ/b./M)i: dS_.ϹuOCHuue$iH1 %%>m Җ,4E,<E(kJ̧A>CURZ*C:"vSqKz@ +Ӓ pmSme:J+mCGYB |BsZj񥶡Tp!C涵v-ZGs3ƼotT(rڶUP4%>$TGI3j騭P8 +:3%>cf_oQ]"Qx +)52AHs>kNR7ÏZvZ +oDb~Е'?@Fߐ]"AB +Rn.M ћz1K4yVKg$A2-ZÇb RuCMfr*oD_(LNTSNU81:=d_S *~fn(¶]eUND,T+;kd2 *|OO'AjL_aG{`eQ,FDѰ ADBҪR +?TPIiь|TMx19âԠj-ԡo@P!ʹة xAE>HCPѐ6/zA>% MByF(k/'A>CTmTZ5 +{zEPw'4Pr! N'K*6:|vKhjJj!B߾TUT)^Q,+*]8sG/N*mKT 'ZL\ -Ĺ +j&0U-p1$Jyn伦b9U9!PiV!X 6`z +)AuOSԯ>!TH[9 5Ux%iDa*zbīz#nzD:߽[O\(ɋsPXE"aOmg#"fxqވZh0%W1ތݫU0|S[*SS" ?W}ܜnLQ5cG iV5 /qB` 3lOO'V ־K{KIіk!ߥ) +D~#Ɣ`NI(2r 1Hd|jPȘ0Na} VjHMMhP,kw8Em>Y}irRd>y ,??PYp!mў:§n aY'̇~0ðͰ,C`%ߧZ1u긧0~ /jEFlNl.:Xl븳nJp8,>a Y*6pڸmBq>9w' $tKcP8qpXkUα`Uq 3:RaF.ut0ҼT`8Lhs0yK& Pd0& Ͻq0ܑ"gJNw0f_ׯ{S?LLUƱ1 +u:2b ]6b)\B̏'/F]B%kZeOjc=oN| U9tV +{As4Y>J=G' S]q4M]{DpXVΎMlzR4Kct"i!Flc09`t +~bti S6Mjv/ۧq$Z=[66C ̆#N>yzطn)JS ct^׃%ӭ?{|vZ`<-koiE6>6s7?^]_u4gi~9=/o^_]? z@2O}^~1Ă`p9>~06Hq?2~y/t{xӈw^^~8gzto>?_;zG<1!E=zmc νu4@͐%VvH%i=CrK[~$2 ÙٳsVz< 6 &߾t#Қ.ŨĂsIm;v\Sv%f3]h{sǴ ~QqD rwrTbA$ kUoO7ըHoZ;O4_VQyxAh~j>n6^9GO*SEªLjզӕ_{!B +;w4,CG7֣TRuvjLRQx08m?ޭv^tExuR㳐:ҝ\yUgeTQ%cØqR]vQYFeeTQYF=֫YFQ VGO)tB5niUs"[ӟ{ĺXٳyb'&˼.˻ϑ1no@&뻬Hd}]wY=W}_?i)@H7맬~5I{+)Ù~)맬~<OhbT|T?'OjoLet ;Zs}fuucJ:;먬:(VlI"J*'uTPRb/%WRiγ:ڝ֫m^nZ*kϒܱr;a]RYJTRYJe)L VbbZRH[7VvR: K RX`K`'ϩRj:ި 8+QĴdJ0\6JU*oe6 flaKgkR9LƐQ5k99c<o-oo59S"yl4Y૖\6RepmE(O[ fJ'e_V|G)(2:÷0R v.l N"nrOh-j;&`hS@)T~3ujo+&?Ţo*zY i-^1T^tIwc'|aBh4jʝ.^EG9iaB ?h3x&|sEzz1>(8~92i-#|듳vei]hd.O%"z}Y]a )x?Xq*'U-)&/;zce-x{= + /i,3pVJh)PHL+> 4v ͡Y=pzF끞zgk NhNSRYq~Hjiדg0'5 (k2%ŇzJ<'_ - -PZ5Xb@iK8-ňnZlb,U IAC$5%Å!qи- &ۇҔ,ѮLUD(WiO 1Z_fMi>ǡ.(HF#Z\7(K0F0=zFtt IAJ0w#g4r-OG4 kF4NKF4 Χ#aRDq|vo M)ܥR>z6Nh4\Lv?)%ZbJ&48 +@ėJ53 ʌ76P5ѫ8E "h=y\$=}:ff\ĠQ S@D#42<&h_kZq\d𶻘C2>SNi,\z)gXY>.ݔrV#HZ)H+b iXszI+&F1'V"oRZ@V"k@Z񙞵: gwG +E +$3Mh+#V,Xcz~F'"5}xzzА{񖐨Cs(Cs@\ Ӗ0 Z(*Yl9]%:m9oj&hKmD-ʹ Qa.;votxN!̀z$M;?z)y;4%'vҔoGҶL!1*߼&@

~8C;C|֎a1AB\3sto SL- F'8zGU)7Y$%zݜLJш5]N,JS~x9M$m1f"EAoؚMs[ $'/ъrP[L3^ =n8'#F|dZ 4%AN~=X%ESpC|IC2)(n&jG\Q?Q'a=֌__V՗K֧\W7m|uo7uFP,"@0ߜxo|}ny3她|YPy8ª{ǧ5Ljp +[| y{_ϫ}2grW-vn[m瓺>],uDU>V}J~u OZwxj11q֫m^n |`ňo_:iMۋbTb֋j;);ڇj.c=䎭W8 FY[9FۃqQ5vԓ7U=Y,VK"jz< Ҽ~v[G噚DOc>& ףͪ=|{|T>M 2}3OW mLe^HzuD0?:{(Tݰp-#Sa%:O ]Q=Rjz78xT[z\б݂N]N+:Z݁j]ϫgA]t%_.mAya^m>rK)C!%DPJ i!9׷lbfdho?w1Xj'B'B'B'B'B'Bn ]+LhTNR +7FF{TޣRQyveţģģ^cQDJDj:EDDDިH9]م ',N+ p8$V衊*:Nres}VRz"]C< 7 D8q%H!$V*PE\բok-ڵV +res\5JB1B*wOaCmw>0Nc>Fc~5}\5ʹwC߾Crε:fS_i̻xC9/^0FyCS)};]t_{x`nQ/vⓍ;d۔Zۮ' Ʀ xfc~oת>Ur^.&"3m'HvlD%I5l,}bH3&j|+e +endstream endobj 181 0 obj <>stream +HW}loI.$$9>R6_G !pi܋}8.;_TP'1P 6UZ:HJj+$TUBP+R ;ߝ.p-1"ys#{qde&+0Y8LVa2qde&+0Y8LVa2qde*߈! +7,LVqW#"Y|g5rQGbSzČy}qG|](ȅPE%9`Z1"kmdW^9ܾhiںzfْPU)U,^Ʌ8V0qMmUZ(FXJ+6;;iղʲC +,MzB;v&hQN'{UUPI!Eu!Gh1|djE+o?96c +k[2,]TsS`ܙpe5a6^<:?lS?:k ++_zľնc>J*uMԕ/?:}@f^"DkC/7UH3'*uxgbϮ\m n}sԹD'G&S[[KEJ߾}N_89~QEԻ>Mbތ0#3Œ0#̈!33R'g `.=7uޔqZ9ϮC'޿p:_z5}=zw?z\Jo|}T WQe/_MFTK~_?묩#X=9S_}g_.Ή`]~3g'&4=gQ0V<;o?9_NrwNw-KV"m៽W5#_[kJ35?ۗvS*s8߹U/s KFɍ?ѩmZiZ]h x ǝZOZu=v努"dxjy /Yzey"2"@E%eP,5ZT ग़H/]5Sw)坎v8CqNhhh#-$GB6he+(uBAȆȆ-Gp"8 +r%`z >?EQ'AQ8!Nu;q{ɋ! p#|D6Vp$l&#gmn ˙Lf$iJ6HEՊ߱l"*D; [d#`G#ܻ]n, s1&!xo{,xBrViuUTUVvPAߪ@"l,)^;p`cL^a6QIv"L +$"-P(l2Ufh؃=wP?ߡ=F>ǕK (/E1m#Q{F#gMQW8m41?$Qk֎"t:IQª(_ix_hg2q=Y D<-˷AOOb~_o ppPo`݋!?Px#P_؟_Sb6)8s.RdvSh?'&"\h%^͚D#жx,LP59ю"!xIaFIH"<`Kiv$Lr N&BgՌkۀD$A(幧 EYInhʖ4n2>(wd|3TG <_trcx2qU* 6(sdPaRGQ3֔RZJ&ɨ~}8"0( "e߼(qC ~yQ=vS,ǢyQV^(U}dxntPJ(ϰ/Gw^HWT>stream +HWko.@a!@!rE>Sİ]B`,a+%e7=w/#ޤM@5Cޙ{:x.+wtEnf'fnhb$OT43nW3ze)}U/< |7pi27բcƙrſ'jsST볦*VN:fb5Vrbe2' OyV. (y2*'ܼn ͼ`Xq6[h弸/%1*x™y :cBLLCW_wG->ůM]NarG2fY4rfN[UOE27!ke\k^nֆ2ln~?h7y{[TOڝ9Y + s!=h+VXA:ي?=6uYwSMLvWd'uQuG<>N/hߴZ 2ԅ+`Y_V31Κ"ϖ,nIN^Z߽l+<޾GqŦ\pۣGD-*oY8b'8ae{ؤ/޶iXַ0Ղ7O4#/~?tEXGwԵOy},W7Lӭz[c6GvY^r@4@ܬ;&6+<Ηo?WY7'ʠo~o|jWL(on)o-MӓA7GGWE8rnE#[珴!=`h12+CZw֎d/Q%uX'd|cElߐ(3RF-y+My+HsE`Ό]U7ł]SL8d}꽙 w1B'<u#\!'|D E$bTdw4u9NDNNBou>BЍMLr)#,=K%e(#fi&iFi4HKeN*RdI$IDa\ Qx888u`(8؍eQ +x 0QUeFnD"aaBHa T>h-C7BriT':֑CZCi_42cB@EàC1#d-mPP{Tp. .#-e!,b #6@?*Pgy̷gm@N52ݛg%=$(g$n'l8N۴ݥ#. a-MAq6ew Kה3I֮ھR*Pp.D* 8Ic>U|( kI9"P(LxРFdQ%1IɍBiD|d&)n4Hfk:>Q;b3´ p!IKښx$q*wV1ҕ"d/ܑѨl#0@1)<2!B SZ“VD4q`'e9bD4B5֡vbPbZ= M!ZQ! !QCddE[&ol{ >y늀~'n3/p}A ׹=ʽd7uu֔պ7ӉU0Zn +vuĽ8Esqz\*ͽ"568 븱nmt߰~mbNW{wuziH$d,:jq^;j=/K +Wyw%DɎ>KtT٧'˧Qy:DZ%F3MnH|9@,֒ş9Io{1_LDdV>ROm0$>22 o^(ߗow[xAOu +jLW,Rd*qcemg{% 9 4/vb_aWRq'ld?]_W| w]^{g/wI ႯܸʑMLW>ax +l< s8?s" Nl{ |_kkk2s S` ; + ( u +A_,NY +.zjR[.jMt:]H)n{5ȅ/91ӑyaU"OgyD)4 G#ʷy7ݛMn_UpןU_|->JFF\V Œ hΊ.Qەӿ~}=YKc~yǔ0 *w*iͼ˟ݯOF~@A }^v` I$X+춹,3zӮ=Q0xhi,. өieK(JH0ag _`߾#?YO|:RWwY`ƨ/;? ?>/=?'a `@e<mP * ja4,zj&,Xb(d  uYn6ڛ +ż)5EcK󞲌2g ;[fݮur&>4]ERt}ꑵGXDL{>#K'I?(8e!TSTFi9Zie< #"VX[VFi,2ٛi[lK~nEtigh(.M8 u B9p#k6|䁦l>x:;J#ׇ-1re2HrR2*eó ؎҇e*~6p#6D4QdH/;utM>1L*[:?.>m"bN/ͧi";BӜ9LY颖r'3ZǘkIӰ/}z׻-q  +TME7)*ixvMMZXԦӡ-1gk̷uŁTR_)VJV¯q~v 5)[-ě78l5*p-]BNq0GGwnelPʚHYjP#B䲙ܡ]P(mӦW.Ø憎dCzX/]cRkp(B4f ROq-:Q6⅚+ +e].=ߺ٥ U\yVZP'Uh5"h j5R,u>J%wS̉Mbqdl}*FO܊?>)zn:Ʊ1}k׳tl]+TZ\79GŦ+V>NKRChC)eFğe^ ? +KG&vɩ7ys>NS9OH}uVz4~^4u^J28~RSM4RPy'" ,'b`@Ʉk$4Sba`@p{}3Y+h(3U9,u6o4eN>5xkM7ŧf;8 ΅-`.[vzJsM4{7t:ʶnYZt?iJ 4%MbR6(P +iT#=5UeԺ4\y5!ǻQn9EgXq5mQ->)3i pwt_wI@KP-e}rW{uĽudY7OП?[q]+yeˡ{Ѧg߿9[/zƇ40ӋTU5jz5*GMӭ[ 2:u< ^~ٯ+7F5;HH6YFc4t9CnO,vӴT,=<.xw9ˬsi'cjYgY2 |}RM?^LhY&s3y$r +Rg/̕3ed|:WNST&S5d1>GQa +/ð&XSg?K2&hY*5RV2EB˥r +ƎzPKDttN/(+.`0a;0\5`xkxWㅓHWQZ㛑$E jh +XV@9aQ젯#IT^2XKZL "F'9P"I1Y z>אP>BqbxKh15آbKTzMr5S4ԼZ6 .QѰ1ulg !7()j#T23`F6Ċ zSDEAPPEhX؏Z % +Nq [b[@YC `2_S@<ڴA\-ģs_9EKg-gX8ӈ(xш :GDÃx#(&!!{hhb0 ⨰LPEƲC8W|1W Gu|\"mpr1 7{L 5gޔek] aK;D 1M+x& 䢂]D.l׈+0jE9t@_c!"S dӂ s-(1FJhgC<"_ d5!T@` !gDuQ`h!PG?m!ze?_eϿ\_>>~0D +!𳄇 & RMa1Yc+9$}+) t/޿UW^5yr뉫䭒Z25a1]$[ILJ*)j)tT +HKP5W/Jhyd#CO!QsiԱ,Ʉ?0S&6V0 +?;.L/^X;Hⓤ&fY|ÄN@!IIY0tYGDV4Z9vjߺߧsr턥ٝ)ߝr^9}ث^cw+=ž~ˊw_^t?]f6:x:< yptttttt#JJJJ'J/=t#[.UJŻ"٨-6]3E#zF/uQoܫ ^SK:[:u߭dRSu9J΋W^KwIrS +l1 +ᠣJ 0HtdVÀѵ{ƗVYj37/OpƆ_3y|S7U}S?"Dĝw>#r܋Y g Q؟X'~F FPi#dN: ,Dj{ f@x7ubƀ$jY'D1HP-8M9Q;͍n!m v7A`,HҘ tL BJW蛆,And#N0G׸ F EGBOKL@|NOġIsnSTUV е\:rqY2RQvwZMU=jN^jU*K6 +26f[A9F~+Qt߀7f6 Q%q6>[4t#bzwXEJewN0+H`8,U{\P#n1'Nl {^ fLL :6szDp(sHLl" $ekLu+W^IlAVb 2] L(SΔ .ӃWiW(=c0FID6"| +:'"lGj967O_9Wr{=V)_H?ϟ_^IO_gǿ^ϟGg_O? R4lW<^ptśX:H5^5kK’V"/EV *Jׁ>-scE0/uZ: "q>FV" K,1J,$pEΝjTZ \Q&Ea'mNB.=QTYzja=i1S哻H?>@Zѻ,aJ`:u(NX>>V@kU:H%VCњhU.ZVG +*:iVRT/pvm.#>uF+<]>~Rz5j7z~j:6N*]J1]?Lu'y~~x\9{}\9nqGK6'[ Z;Cʠ$ѓ@Hf",!YxL9.xprNFbdt "hvcapt FǔGu -I,u6C%z cE 7KL D=ࢌ8px|,#8x&b%qO|D8hYd4Go8J X9' WәҙI3:t +Ƅ/-23!%:8鯐R'V6Z=/xK31jl8"lӃ %R))%(d$H%Fun eLA2Q)i%kCA\:^ř绘yu3voDDn<\!'y{""C&kLd*d\,;.as2g ұ&>tL<>ǑWpR7{vL?^ںzN.g"d'LoS^8Kf.M8Y^ڸ. Zv"'H R\|\+ Ir:xe !]/ز;0 +q#q qP: c 49C"iM&p$1 &TPɬ 4C<\ynaVf銮t陧S:3O/]0t V=57;0V;Z]7VY7VWj+UJ+<=r]%uJnԚmI/__bf<;jE*YxLC,usԯzBQ T3s.xzDggE uΣZ&Pf,jrtߞz?8( ZpGb&0-vhCt? M5x { s+ܥZ[!wFi&AsYy\.Q X =PLjFaA\eYav$ e-ckwCoGTQ`@\nQ#wh֣݀'ٿF *o=<GvyA&( v8Ƽ,w&Lܙ3ML9{[^oMEy+6JN}vW>~Çw}951yj[=6ַq_ +_pO_>>~y'}^>}~͟v忯zy>JMzzl\Rt#Md#Jva0J,Wd222jmViְWC444p`FF JU$ՅRRQ_zaHնVg)c$B7姿fWbXMF!їfF7RF|HahT GA}"=xp"31!$]kx"9 +{/D- UE"~%,10U׼ +x5砧39f, ;|&n3 +{ݾo~ ?Êsf/w7+A s-vmFS֟XH0 F͂5M1܎+h&`=ѝ}j1X5 vC?hل-:_V(h `(ไ̲aB 2KB_M+ZgU~,7xc@t?y:)Kպ8+!q[2z𼷕88oeG6c#KJnl& l%fQl :Z]zYPvLo3/7A oYnqOy#iGxF@:ܝL22j&?#zj`n8QTSNw9~ȩkʈ/Cg=ztrtw.W.:.Iek3WgԧV)5U묗ks?ULM##clgV7l{]}le2J5ؘ+{V;?;g̀G@Wc *LjimwYv>#p|g >%vEGC= kdz齂Dozl]B:x?߲^P&,aq QAYSwLK&Nwqy%MUq׮MR.0 Fk%_}~ (x# /aӈ8¹}gꞳjy%Ys~TgP70v'zQ9T]3YOhyJ,{L$kͷg~#|%`,OiCc\9 -ᥰfC-c0\x/];F`PPZCY^1yΙιSS֒wĈ/s,{5y2zu9@5V29j__%oF0Ʉ^'*%d 1k/eRяoi‡ۚ b +$`>So}'Z҃6O: SHhot&v- lfx}~%D2g;tnT.…mI/g?ku vK&]. ̈́O>dWK  ]c22ddz" 1N1?lRwT)@ʓ\ɒ޴՜ן-+^(] 0>4 +6 &5a"2SBg?HCqե FFM5рWl<$ۄ3f`[ӝǷWMmfX\z4T,lj5 Sf$۴6CR>@YiaP6%zpRStS_=o&3kUgKb;꾽39߬$Nw*n;պu程KxQ(z k]mvP(q9\t.7{/#2# +B1Mpba  MtSqYPbl)rZ'v:t)y60|/fXkny%(6h@V8>THH S'4uv4p_nխ:;άy*ݥ.zƵۑQ>h=p"R`%Z%1;)v#v =^C@Z1DibC Z0T†bWhd;!50dmYs(5F/@O݉JV\8 " ;P O_MՊ!C)wN>e-Op!2I?dj+[1 +cm[o]mLu t~€BV#3#g$|0_:n%U$ =E`xkaEuhRVSZ[dFb( }m &9$Բ+Lg|Wh³xe}++ka+#X;c,w{Dm ۶b.k"}3=blPĉ.Imu܁'pIѕ)DG:u {vKn8&[z=߷36D.D!ʋh8raaLpI$aIӓ8-p4+6ȦHFN:d8<"̀R;}oUZj\ooSsjUTR7zWuY K'9mN:4(phz?ُUx,S݋5cǰGwб/ь9'Ue/9mw=՘$I8 +˜|1u[k&Vr#6! 8?f0[uo;j<'Xx<=[΢c.T+J% IBIGlZ*=~B_OZQIE$2g%ѩ-Mjb:$XQ)dJ:ݼEfJZu[zg[T!p +j(VTp6 ! gp6մhdtVK쩬VKrY(YW( )eelYpNRɻ7gRIEgkʎ e$6geŋH-;2˙]lQ͙^ټ͖b|$'BVKg&k7I3а+DŽh۲:<G`Z~>ûqyg̳dZ)N'-충Hd,Y,Q,0kAo(:E0+`ѿ"~YeˊP&+bW\,qY>stream +Hmk$/w7 ~~0!cl0 RBn΄|{wVZ݃$Ҏz5=]տWUTQGO>ƘcK"I&T2%|)'JZҚjYeu60}v9Zr͵"ab]%bɅe]Ģ`f0XZBZ%LW[Mu5R-U[0~?~7gf1@y^yb]rsr bM6XoXmV ,$`3Xc6H#]tIGN[mJK-cRTVIEWNYeVJI%:pXy{/^/͛Լj~5طiFؼl~O>sZ!{"b0qhh@Dbp |q/8!tBť1J9|Ap諨^f5[1 崻<7m]!1*-"x#T䉤䛨O)bn޵y8]קFooooHߏo~_w}h/ݹQ|qj) s`3K""J,[*H  2$3^״x"@c$+"lp+ГIlMjV,x=@>W'p(&dGjCs8 ,#5Hй"IB8eZÊ@HWKՖӴD9QSH5!lC'N7GMFWf+ƗTִfHR@Jo\r$O<[`K 3nKmm$}aF:| y޼8QDJ$!EuVS^*HzLd&ȱ+s?H-%83E)EN8$I&IwҴx:u)*2 -e.!1vqH۲6uCqYrjDLԃbl5D5Q7Dx8CD THDa>&C] .. Pf! 'd2䁎#qJ88ʆ0q攝4?(T72!}x=Ή 1Mx&Dr˂A]{$v\RÙ׀ #RW09ED -`6 | +4ȡĊF,R[Q=$'qc +y{S! ŠPC۳XOf=7?"\PÐ"ԘKVy2Ј:` +hV+VƄQ[VAX2YG~%xࣃ*x &a+bPxp& Ή¹8Gg%D/A?y_gieȀneZ# ܁tȧi@q6ipj u8 _&> 3_\nKťHth|#6D!A+biwq76*4=M3~l|ޖ/wo}ݿ#~?ƾy~}{390o8zTf1ۿoEθ3ӧ5oi4Jq6-_l+{{QŠʪVTQIT@$n +%h "5T1TA(?+?bF"d +Q +^", +#.O=d,APkAj]!sX> ʝ24 "Iyu!W}-4z +y;,AqpoS 8qH!C DLHhRy!C0d9 bh] #CQv31d:x8~dj%>彭a6!8#2'i8/KQNYZ_v,D E-,G;/Aˆ{=^>{;&N) Jk풯7'_'I智~=iwDf?=yR4ʶ0TOȻx_Si'Ekp0#9fȑ Lŏp>kTSvܹvo{ߩo5|⩎oOx:8ܜq¸'c#q] xgwO[+36tm_398+%Yi(qոR܂ty|{%8nK`9m)5ӬP(;uJt J&tUF56Wq^s2D?~t$F-*c>*2ГCؗi-j۔=>~3.^qnqܠ\ x|ی +݂y< R%Y}\zQ3 +k j&}gߊ0Z;vV]Uû_R#Y +|^j3|TgH8If`l_*:ȥ\}w~דPLҍeED:]@QJ8W {5'hu7^^ιM~S.˅';B{;̻-bm YwOϟ%})=0w??~Y M5c: +^<Ɓxb2InZ']o4͒^@\gWg WwSB3m66?SWe<~BXϞҶ}?LϞ֓m1ΓI<'K~?y2 p>o j^ 7/qN +?\U6Tua|vaa{4 X(w?τG\b "B@*nfVJWazg*'o Vż E cB;ǒ"} *̚\[WL~Ŝ9|;i =K :&jOA82 +eeC%ab򰃙A@Ī T2PJEJPn{E;H +СV,0hDX%HkrT0GUH^3?9ؓG~JUAu jO15` 8I |TxgQP{0BXz$k 6  Bj8g +-Mα J`-zYĔtP2q-HȤ*YbNIa 6@Aj ް_m-|vXjLނn lU`&J=Ao9bjTpГ_Yx1H :NV*xH&>VU~vYXybz&p˛@̚5Ixsy/"\m/s#I۳؄j4UF9I<[[ͭڥ3r/fSƠ9RRЄ%ڦ"$OJBWQS*27P4/꣞Ltpnnh_yX(О9;vw!^j?jVrIfj4[<7 pf2Hs1,}3>%W _'ᔄg\r&<\oGN_U:lJ{e@i,j;TWkFO k7/׭OW›Z<vRoftOaʹT!:KdDb CtY~4)W;$%u ?S\Tb]8d2d2dn- L +-$~`59e3gw !)*e7p}$9wx {:f ]\/Ha7 OylN§kƢRhm2^=ŒtN`GEM%|P8%Zgύmn"Cn<>t]qxNb"6?aН0[ʆ#"Ƞ,Б3`v,*lGKDoXsi~`}6\,k`x>w}c{-.{lAtk]H'qSF.>Wiw!r ȶv~e<=J6k,$7'i6o\7\P{S*`'6×ZJQ4` ATeC0-EC'^RáEX}zN7KE|:8W+'U.[!b6,< kPFo>:*p::sX+WKud:'B)>l,Z)^!Pq z| ++Aܕ%~hڵ*Ṽ!b@z!($~ cmQ&c;R+nO|=6e[OMy2fءh_ᷰ&A;{>bTO!|q3~m`mKFP&Y~Xg]6G䲶ËDxcJVFOrN*,/Q[s}.ۛiĒF=[3 +Aܺ=1g+cbl.qj=}Criɏ$Ǵ%35}4]qؖ/<J +68Bޡ+jzO.Z۔v={mw;9k՘aMƓڤe-5ubγxDX5&Bm,5UNކGd0#JU;` _pxP7 ֲmRkG:έ֋(}PMհxK%TV}ˠzE҅_ w[w17Y2zЄEq&qN 0*x89m0$+|۬il얧^G6nKD#BSf17l5GEؖIGm?&ȏPɪQ<&zI + }e$=Ͻ&%B͘a9)pq#._Nh/Mq$cänFR?# u >c{5${]iPkUC2n5[w2Kk>Y34v|7R[#H m*Z$ݼe#Cf؅9?i{g[fL{Ha3_*k'ֺrupW.]:Ǐyrp04R)k/4*#.?;96:^\2t"߸%^gզ`G}M&X%*{fæHRupfʱ9 ّN !KXב~&lb8_븲~;i'p" dZ͂~:jHce8:r|Y=?Kj,n}|lwcM9hzӡMwF,_'!3 MY.]\q? ޙ@ʝQȵ;6dW{[r՚Xqv +ׯYehF(%{)?l."Y y;./qCߑH d3?>ݪUTHU!э"}sovAHh9z<9ȡ95C<'j*%ry?(J&jy GJh5-Ԥ +h 5.;3>gwv标2\?}Nrco13ūsԎ +E#°fTNS&sɬ1i#Kn96Fs``A8ˉ+q#~.v4*5E +qz5^zsܝ(;bo(F_v42d#$%oVxr%o*I$өn] ٙAQaIdtr[7-yGmDc_ΠEixݫtǟ)6 1#+<|; +XFjA4,{#0]ٽ.G1&5#@ _2&FU3:=$nwY*vlJ2mXטz} AKr0I3 a렳FB^nqB^46O9.LQ2Is >@Ū-JXNp]{}KS֧PV 4^x I G{1pfWiS}JHGZ%grV?! ru쵮ϩ6PJWKj'.2fpB37}5266WKX`yFZu.tI+B1jdkVfKf +ZbvRFD +%!Z%RO刐SDr͵;M'0kڶ5iة#l_l1aqcfP]"x,hj*>CDR\P4fͺkN. +^-}Q`)^LuLPL}8;ףx,moMN/=DO-6>cRr $mMWswug /]uU 6֝Ccb!cVab4Tj\#$݌H(/A}uZ1_962j=Z) D?CH ׎nV9c8ζ9XI E7AY#2&z\bZ` N8̵bR/kG(ڂFVZK鸚cc۱9n,܅syv~%69s:m1*Jx9HNKCI$[ss|zdNKcw(#0bT _ iÎ$ Cj[=|XD& aG;%r,A80r/> HPvA y?8flFj-06{ 8:.r;&r3aqII#n<+OivڅmP@x9jEa@#7:Mt8+uvxL,*6Dx60&pC9MlMK$>DX'K'^؞>iM23fa/wzf]כӭҲN87u;H];˖=ߘ`sr)PN60goø|fDĒ Bk qVYah'? +0~-_A"-[ D +^Rxy.|n: Sø V:,]1i.A}?Hg̸=s$׽Iͼ`ncF#5Ĕ)x[K ߋĬ50mz0_5%3lҎvBWXoC&Q6N3ϛB =n%Pٍ%}dgthj RuhQ[u\>~Rbiϸh0ZW`r\?]}!Ǐzo_|-?57o/ GǏ~%?>ٿK[ƫqpa`af_֑x3o_FN RX {1DfӐjzEm7-EØˤZ!MZԑśP*&#$'BZN.0t)jI:ΐm:cRZ4l%kĔ`ҕhJua\lC5%h/[0aOd>x<ϧZSs.1ۛk*g]ē/c g7HL1gǴtҢnN#>B@8=%c0\AA +'B ݈|䠠, `+-Ҿt0)A')sbqѹee-?Ad(2X!Zby +’m KSEl8mdcel+\Ә8b0I5\Vvrt>ƕ Sh +曾wHI!̚sǴ`lƒ@{w{ s^skuƧƺ&Xq8ES$}; taïK}U@#qzXuPrCRO➗L뙃$@DƤ#$N0^F8OWE?#CϮ`p}]K2l418fUM:(_E@p|=h!YK6$M_I8{i wh`Vb̹ܳ,U7OxvXw' ,4ǐ +nAS9M݅,{]׭h#s0DCXX-YRPD|cW/Lcvy;lw.S"b`'kLM3ƊgYR5˳I -Ѯ`H4Ҽh }UZ^mڕLbMCcHU[K[_ +}a& +iqwSW0N6[)rr]Q֗Z8]߷;LO!6?iƎR+~ o98ϯ? cҪ͂,Ӕ+ŷ3bJc(`'ҟ@y Ql[AٖF / f/J8cCF5g +O8ҜLOHc}GCJufMlZ?K%f:|1?g@뎳5#lco>$6˫84[ӅCS.VM>[~C7Z:68}/DNy'sPPDco>[bM,q"1D7<\)&2z +n `"+ldqZ^la9(h"K1Ksڷ\AU|Z9& lS+ME(4rg0@8 Iƭ`w2}4>K8|vI75(RܔPi8 `+%BɃg9((9X1K />rO{MT_a_x; e _St25=nOJxG'-?g=_9hj!K />].)R]e!lUY=]1U{Me/Z%*SUi ;;A^Z}% +V8ci1M]dB@aʋs䴬QW&P~J֒Dպ$k$؉c^:J)/NwF8IYYB3d-߹7/ZHiFWѾ=u"ƫ {뼍c{7_-{:XHE0-3=sPP,Jsڷ3*;C[ +&7rve=ʛ9g0>Z%apGzB0x + +o[Op2WyqxEaG~GmFP㯍zWx岞IvDՕV5V/g + +’o9[.H#բ`5)V{VeѪI\(4k + *:xR!SU٨}=XyrH``,*|rSTXqf0h5q4y+X:(9܏Mv~ `/-оt2Zjw/s,"BGaJP +,~L͋ABRJR4|CW/>˜/UO+Qps\cVTuAOkPZrՄCp,h_:|r4GS 8&][Z 46<4vl O]U6Z%cprPP,ڗY A;oYrPWaح\w¯vz ՕZWtwɼ! +Cgp{dRQ;];P⪯AlU'*s]d슭5G{`y;MpCdULb`:Qz>?mq#W_qnw4[Y+f3A9V Uނǭ}C$ ϰp5۪h.Mv֚=|x2G\<-[r~Y8frPz)A A1s40h.ףطO{HaZ4z (9 +EGQ\z}'kUXI`PMw, cd# f$Bpzl`Wy Ѭw9֙.h?/~a`_}ۿ|Uc՟?t_N?vq-(ZpAmdzZE .-*;,:N| #D+}ؽa &[kF{\ -ԐɪĄdcrw- :RܑPct77rOuBJ]kH.j +>"\wlt񙂸. +Tw|f}.)lf0A&Qy-uLW 2 +vŮ5=}x.o]bOO }b2F))&GJ3V@-Gz9RA ̸j0uŮ-#==x0Xernb'k \804MrU{\8m-cX{J@֠ +>q-0 TwY/Δt"&#?8va,4M5ۣdbcWw>ciJPf3Ӆ''d j3N9ň\q↽ցj1e] OWZN 6d4:WOTY/Όp TlQ|Ds& qjq/:P=Ƣbxhu kPKH40&`WlÃx9,8R &<WI-Bs 7xiqIά:5U 9ɽ\nTE+Όp:6BxZ,s +$֊]H [1yM{IT&GPw۟ޯQے5PzPCOp ZGh:sg8ް+CΡ&FsijO5PzP%qeԽUe4J{f OE`U EMYMbY1Lq4e4{8Ŋis|a{Km&ǹqȝp +ȶb*6ٯb~/Zcx>[`LoZ84{&Sd.b/t?N2Iϰ +K"Kgq#@-:LѲCfϺPXmќtx%YF+ѩ 8ӱ,ꆵމj݁ TQܨ1wZT\z3)[ ]WSK ߠ- ||O b{J]#32Q3ZJzgO6[Ebmь4ǜ=aʢ=#W8Vd>stream +HWK]G[8$[y?`e "HIwJ g,,艹3'\vV#Г?޼}75r w9O;rΚZ`w-Ra0v^d ApJ|408` 6)03wj;Swe|9$|-EORMsiŘR*ܹ+ܢ1t(;c9sBÈJ!u %W .Ef7yܰP !TSvfs)j%VpB\fks-|\ϕA727]Li !7.M^lmB{AͽHvRpڇT[;QWA".d=wqHq2x)]A}7QJ{=zSțɢ1݅qn<{JtqǁKCu@5#VqRJI=*8&Z Wޕ~ J5, -h`PMf`Mn>˩()?SbNW;vk&+q9*{͂+=8q*84G G:vֶ_Z մr`=<> Y9^<': +ԆN˸1਄?MNb^ǿDW \sh|0QH!f0rM wh/gQF k`QfQ -U^Ṵ`}_ΣPV<Y)㫂ʵ! UO;Cb{kv|&uZ݂Z=}){p9eU5!FkXZ\^g݅e.s}!C%T۸Un,.NZYVv<.m>D^.0\'\U1V V4~h4âWMbJ{waYΘb-N##kqoeʋ|R-N9ɲ,hĔ8k +bR\Z7N/wypַgPel2f֕J!poYb: +!\W*F;?_6LM֗pR"2՞i_гX\q\hd ApbayMbѫ&zw{ ]2QzKh_ i.[qs '_SC5yK/- {GY##j07LpF̉VAְC"\`ڛ\#='K jPT7fFɀdBy a,'qE ky01je8o&Je`pyjO[p1̢РfM8|\iQ50&`ڛAޜBW&+tDfTה.7s^5mւ$a(\q*ǕrEj4\\l.Wէ_~x[^շ?ŷ?x?w_>{yzDQc~G+?9pI;Gpҧ7:N cTTQ6nq,(P58`okd pm3fǓ8Z89EZcZj߾w4Z1=-Cwgb=4Fy7f:Ӹ A` o%Ӡ![^XJ2":gGȔcdJLMo7k);M~ftN5icAshQLDUV^ ZJ)RClOc%3nՑmVLˆDɾO'`l~ɾqaz)Q8py#8Kv~^Pa<8g ":C`|sflz֕0?8IoVqiqw-"4C_'rrM\!hc#gy˓| +sf.+p!]n0yơHivC}vgqxP ;SmއAQã3xVaR37j.cx3_)n ޠJo{a; 2k3;K:0. ˚zM 6W{&QQ<;voy9$ff|OG<IFH;ޝ]~e2#bo|7W?$&gd Bz{h=qՂq9s 瓙}< bB յ?7;0L)zbcNU8%%yPFny Q}ޛ 1ZD f4gW/E)'5f_lr{`B6-[¼f{Z0K]W_mCDiUV5g!L65#*8&];Ɣ3zƲIB1vhk՚ +-H4؁e>̫D$ V!8ƛuk]wN:]tQwu[\5ȊSN՞jݲ-ku+6!:M)#lЉ +RaIIvel[nj6z6:q]um +#{{ + f"_/WbmQwHh +KSg,[bX +] q߫K[$(ae[FHH +c_70 ʷq֪?4{=ؼ6f%F^68)!F !ƨ֪Bkd|#4=E&rD‚s>$zۭtUma`$!Uv\oq݅Zu *O߽L$&3lNylUauG3^9lfIU8%%yDV? iJ gm @v_HD$# +"M/u]Qj+#D ̪}jYN7j +xI1@# Z a1yb-ے^[5֚H$Uf$µ̢}9.W=Pыcz&/oK슮]1MjZ U/mĩڢ<4G+ +XF#uƵZ:iؾ? aWۮcu` jIؿfŃ2lmjeL\BBLyPYn :Smcvi9"-jqpʡA7x9e?fM/^P8xU#ӳ$E Ւ +}"Y$N5=!9Ǒ#ZQեwP!~JY}pKU; +endstream endobj 185 0 obj <>stream +H_oܶ ;@ Ա׎ d{k#cش\Z1 +EO>d_ZNݡz ?pg;Q?Znx҆$[k{~YnrQRۢKJ%y@b))U'Wՙv&2qhf9cXQx +n񉸔:@Ԗ}=vΓL8E$Rڌ4؀fYVFi- 0M +aVj*FSrRe *MY"к/fV,%0|RN2yP1+v1 ZRI +ϭz\)1˹_J[2=UЫi2T%H +*`nݳ + ןtZ0C@v'F ɒ/bm!*o*@ƹt2h-[)UBG=vk +ow| 2"k%Up*N5=ijjCrֳˌ(s[‡Zu- +ME&6n۴4iFlˣ[5ys4ҍ!e}cqG@mZ0ִ^2n -rd(ŵTR!831{B˹ϭz|#2W24Jqiccתo4BBhJ-+S-sg -JkԂxe I>dwR*(] bI]U.M ɠn`Ty]i +:z IM.ːHV&L%xE4KCKzWR1zqHW2]-'X=Fs4sD b'4S e=?;Ջ5&Pۀ3S>t BAR8>Urb 9e($G>oT"CBp~z4-nϙewf7ϩf.UfN-3[2lh}F?uwh&OiYʪjF{9ƗԲ<ɿ(/z +!;n˺L:=qT+Ҧ~YjY:7ݢY>bn< R2ڀm D 0I`v_tX!NN잞M.ɺZQ*LȖ +nۍ⢜USӱo\89f,ZFG``CGqD ̼TQa0unҘ-THRs2Wߊ\07R!۠𞞊RI-X" C@v'KG$~ n\ 1Vy)K2ΥA;nqJ:豣wXT__̫cLj-A ^[xCg !q(2g[TEn#7V*'3ָ|+ӿNOgb\F?uJ&|$>GPO(2ѐ2]^'xCg -?m!T6j\X栈w'%Lf"ca|y Qu€\/w_B(:# ^rjYd4Eh6t0ܴhJ-Czm0ZK!vsD98z_|Ҏ5x{#4-;RZUwPsQ^NjZ8΍Ds}qID!+%Mc@.H@Q%jmɐ˽Xu.j$h8;3sf> WS|=qH#}Z8>\>rzo\m8~/{!$3h{蚏̡z=,%N!;tEd@M\2y={uqm^dq/y [mЃ:&lN2jYzJzpfyIs_ H硶]ÐZ(J$&.~_Ik=$އ qΜ-$vg/uY^Vr:#+S҅|3`F>Ξ\^>WG#tӱNŘ/7CFwfGOg"r^6ptrROg/G/WdqVz=_M'W?vs3>SeկjgoN؋AhW]%K!j)!֒`89%HWZxemd5E֊h3 +}2BCX9l jk$'w˘ǑB5!Chp(t2P| p۔l(ɺw[Ŧ8ЂRgu2uN ~WBҖ5*zojS2#XJm" tJIagpJs |Мl)c-KSsTNGH㉪>q\kDZV85th.˺Xb40b㒱FA*b@ĺこgF &`*Y0!uY 䌇@qVMc4 0WζENV}MN݇3Hi-a׭9L^@2ڷXW t'wrj.LC}c +i݂ho>ds uπ^oo߇2 JTF>s!LI|>"&vN.DI3)P9xw,0 d٨IqE9JCQjM[Pƨ/jj'p#E۪,Jmד7JAR?,Zq(ʸhihW*M66hǃoBc:@#PwfX|62y3$&tERgkhܲ Ho\QbEUqI;eZ@R. VLj!z4PWamwjcnD)Js8n3 +h mb>0 8.r@!qTۘ20< TP[ja5Ų#L^ +^OÌF:FqEKkihgmr(N)]bF3KҔeQh[c!zNқ!9^e{ӆ‘i454X9Fqq}`bj< +endstream endobj 186 0 obj <>stream +HlWɎ7?Cm.p'=ɀOiy;H'r#lKr+E&sx93n>L&`L1 89xD@u Y|K(N9,Pp֑4([U0o~ + +k١XjqvbI@8ࡘxMzW=S!v4* ߥ$Ig'4)4+WA`0*96Fg.W 1P(n&EI+0L\\ HsMfψG40#?zu+.w0X-bQm#"z%'& +~l\Ȋт#۟G<۷_r_X# J,=# Q?x>JG+9*|=??w8't\Dڂ[PC?1@ +p&٦F4f;>}_QjbQc' .^=3INh4 ]u4}BM+ƘXu)Vm6/ h'~7QyA_h9f+NfPr4]\F, +mI8v -dȌ$?]AldLN6Q*g`/(z~H6 #FZm0w sp.`y0uS58)E@]iSO$ +<' җ3#^ڗH lJHhͶB"Q\*jCP^IjFU\.. cdAnC˭V+J Ox // +V\2|X-ywePy +)cx3g?HA Z6 $z0\#Mq'D|\9:X %Fi7E ՁMf,CBQ7 +vS=9j ;z?) (4'D0} %,9q8,9 ʠ~X @:x +y3i.3p(=i$ULW薠ݔ^ZnX0$*(D *91+J*_*\09rc+1ƽBVıK0jJ؋ oo-ԒՇ7-/ME 01>Ntn.SGQ2¯JsPPʿ̉N`FEbBՏ-r"z VNEft#BDGv]zYDBld,{BX u"o_gW_EJ.qI(vq2&rx -"|:f!Hʴ`U#*cZŸ UUj\_({CbݓI;QgYL>tK|WǦ-yqk[,!xi–pKwbܗŢ ceY/.ɯƓ/ n^'&iعc<}wy!,z<>#6J\ ul> k9o&0z{J#9lCir)-`x_r^( }y>ǧ3 +,/D$$\Hxɒ,1(r-Zl`֙:J$lxvSc"*;ƇB4YA +TJmqe誄B00w9Ζ+\2lHSrݬ;͔(9p +E"owtU48dOCVʱ'd ҿd\9#^ Eyd|9u[|CE9mu]pq9q^'S;Hxƨ)Gԝ?նZבD b%yg@B@4B$gեw-EH>}VZ'CP ֪Fz^W!Wx!a&~E`͝ijMa֠AЌ7c@:lph65/+T&ve BkFMe®45Du8:WIp0'$_$KrE1@VδúE,fB }h$v~o` \TK'Lwַ0HdZI [d.ɵDv*N=E$,&ȎV\:6nN#o;dE˼=,Eh@q=ĭr +& t\Z~pL|!=/?||.Zn/n?-d9=s$j1_ d+.$-w1᧞)r; kZ4\2%,|N& B}j~/kф}H:^}x{%=j5?rrpu}}E?^pZF(U[o{]>>z}^@=w7'/rF/avg\ 5xhEcȴAp.󇿠pvp@Oũզ's.88l@PE`+;Z Y T +yXvyyEn_ +DP> 7u'CZ}@]eFȊ!V8t:D( {m*(|: |T|[ -%@ԅN锶ʯFa3A +!`Ae?a1@bcyr=gro)` fv` ̾i4c-.Y-eyb'pG<`8p8kw`J%_>=ϥ>={ib_я/j;5o-poׇ˫.~?yi3ҋ(?MN_姟rO^|/cZ<(Mi[2*Ay4>֥:mfVw0'=eV.y/ +ئDj%OdUJ,A[P/x%= kS! v&IDrJx5vlhNc*ANPUJm)dM **`hѴ^BY:" A ^]UI.<$F,њc:[<'!atH,% ;+vk"Dr*SJfX3 T` +:In88~þUoܮ P<52HɱalFVjrӋ,z +˴LȠ|IE qyz:j7Q.9]bZ&ؿ}[C5]7r(xܨ`˴{D,7/8NUeV7-])h0:Ҿ0(z3V Ekփ٘4>-UB:ͣP ޹aʑ7*Ֆ6a9>rS h]R'TH1 I9Ǝ)us&B(٬ij(sr ׇ;Sy-L"rl2[˶刂j^d&@{!oM0H4Nc0Du>Hm$ĄV-̉+,WʾTSXBY,ٙkة=l].S2-;(5sa 3&! 2Nk,"7&#s 8vZZK@y.{/ +)+ޒfHϩ-D|ٮ:!Lc@c\aV"P Gx՟35 ]t5YR؄UBs9y)@sAs:3 Ȩx! U3jm*G30OYW8Yx$ljo:ALJ6[b|}MP(V?.%DNJqSoK-??__{{/X?a2[~ ߿a4L'>S9`Sy{ <ˉYF%Y1+X8vT5Wj +\Έ`S0@oڇt!%Gn&p~w AFD 1?Gfߠc3N@(bZ= 'aK++!H)) ☟l`*97 l ه779i_d>n1lO\})৳رszLTu^Nux.Px +XgՂ ;.߾DH^2[`aT`r W $ʆ\(Jg{J*\ sS3E^3G<ױ-?5] a{=w|Q+Ԝ1(b(׬tRmRTE.@(w"8Pd/Rݢ'@ESV'[0>Jוg:ID8|sMrp4RcQmCxeʪ +Z$;oiK"D Ds(O"%d^7J͝[Y]rU=;6' a?x/xy) Wo +QAl\ 63l-bsxٶ=jllm4"b2%/.n1Ǯz6C$LOa8gq*(v ն#bnӈ6Ssr5BWĵp\6{m`g0$x.x\"Z0nѢC i~{j%8؇~r{|AtɑDkZk^0<%iqRܕ܋9O -iџ KX\yj}BD/~рZ\DV̔,W@wM"dqzr%IŇLp:N^40QI8(JE݁zx@͕8.؏ݯg EqQDK'dy^\1 ?Wȩ,M@GKhXeqbn[7V +#D9{a@QfC(ణ* )^fg7m^,ofj{R[p-MI9[+>`L&fdm,#Ulmg1hx^l.V˲b@*ܖ0йK2 /Rh=aXh,|˓lL,gkt&T͟.iH_dS^.XJJI޸n@ZɻN +P5`(UHrp{8$̽rU6dYCf*"w}Wjiyn}^Z7^ĕ4 ݾ_̏p]H^rs{&kD'#{n1XJ̲,di1C\hZ>'If"d&@,zwdbUjQA^V~Ma :+`RO,AQfR'+j`A:.jlU &fcձ$ 6Ob]\ol2_~n.OxP~.fyAN `+n[VO6 +'he;ND-Ѭ1m +C߰Lىͮ蜧)+mz&I`Gӏ%xTF%"/&Ѱ1*w{R\KaP >X-+Mc!gg>4HD럯K[:@KsV-bdsقIFiYc2Jr7,BzX;työX/pi[||7?xywGD?NTۋ7oV`Uf/g'fzIgԒۏ${ ^@7V(@X ` L8kZDm@$5A8HO'K +% ~)%2f}XI3G e{Y Q#x3;d_w<$xŪG֜f hVb|VEld\uM [1vuVϡq68 wl)؅_b kC'mdXs1is0&83#Az;fӭ^saC|c`K1qx`l:/r*4'1CŰ>[1nu>;e0ߺ6ħ; fĸ93>llfMѹ2~JV[Dc0k@sOeWAe0ߺ6ħ; fĸ93>l[M#PIScآy FYTP@,tF]`rtx 9&ԥps+ +UfZ<,!fkv0fKF|7#S wo?@{brWd=4Sow;:r0+ͣ xZG^]NwW_7T}OϧO|xHT"ܝRx6ܝU߸E QQs7ʪ 8W(!_g{>Xm]66)~w/ѧooow7nwqG +YW$9xWжs+i-.ZґP{s#Lٴ%x>"Q-~(2d4XbӻZطIY\=iPZDVVt=nJ%5AFZ&n ɴL%{cj{^i˧t,B+ZuLD?cLıx8&󽶋[lڨIR9}$r)!8h~`eBYKW 6%:C=3%냋n]9,}$2Zyڏ`1C- +-@N"V0i}R& +B:cVE_Z|7Pultaic% |B`;˔9rlBi g5 gyѿkM6鏓ϊ +P9O/_NW5}##מ`yAVpv^n3hVm 1[`*%/6$ /4åi{ +׀ dk9IA(~O53$%Ò7]}I9g +N=j۬1}dK[ޜdN"d6 B1 iH6 C&NžfCO$`$5:šuf\_v"}mS4KnȣCAϭڍptbO2dy)2^@)n.=BȮ4e2Itqoف[ԓ*ȵ16|Tf0u{f1H; XỷPbQrj>EؼJd8 *J KmcsP#zc{v~d_0,޼ܽX,^}t>F/e/OQ_u&ܷ]mo*?iv{Im?^~\ݤa| {s{w8PSxY̆foru۝toW>(\ vߩYg#,\gbH@@2ColioVnza^WH@g$m&KU[ow;oe))KwUM7'4Sנir.TX''cP 1:VR2Ġ16d"8LQX +I3\(W;&}I! ]א5s_q^E[sXd 5|7Eΐ2ըlfl`iBeQ%$t'M.4jFѼfyuBфd.s&$u{\L~V m# CAOtvL:ɝEB+˥'% +`VZ w;H_ܩ3VT{ fmpUFF czaMN PY#;rI"lv^j3[\w:)J/]}УS KŦE`NZsȫ +" +V]<~UC +ts܅E PYcW#O@Wn:͓ؿ*ǡ8LƃnQ=w|E9_T$꾲}fIļk{4^!=kF)汾rb @Fa@Pc0YڍYiH8]#宦PD>'Y5Ҙv *X/#Fm8OscYGlڳu^z`v;00H 'kÕjDu$b(hMVCjld1Jg1W0ؓ[.:zڍ{[zb +]T ̰zP˷?SL1_Wp%9xru30uYpBaf2ɦmwҝw*݇ZdK;/O;;떘lĆ jMD8[52Eś¨ pz]"QmxM*t]wxM SQ#Srq1_[9j+*:oOhBA\7 +/RjO CQctj.eAc +.hEq8w9 fڹPwL\2H3A$S +ޯ!k6 7+ȽƱknfc5!eͫQH٪ e2Qu$'M.4jFѼfyuBg.s&$u{Ψ\L~V!m#CFOTtvL*:ɝEG+˥ݧ% +`VZpw;_ܩ+3VT{ fV_Ku"OIvh0gInH5Y5aa {dݠ˹Tl5j,G8!^xAmHaa\nX ߑJI&ܺoXS +Zx9,&Gv{J.4vę՜݄l95oj1u32f32#>54diSqȇM] 晛i7 vvc=rpٗGP9Tr#Ašژz R2"PbPT-M4f$v<lu(VD>XA v\\=V&.a'DVL" Z 75!9Wg̈́u/c;;`'Zz|:V? +첏H_]2SAP2P ++#`Xyu$#IH*GR9?TP4ӃTV򚗐JMPW8FLȪ2/~Nw ();yU? B G:0Wwee'eDB$a`ojtu|k ՜ aE(VDS?ެ$paCbi1h$[+J]q1=Y֎zzԏ.fnu="{8c]vA;s}aoсC/#X %&vPQbڡBM1&Gf0q =f&D:$Hdޫm7~Aa^ HA{w%O"8Nd ` zE8 xh:6>o3+S왞꺞f P7/:oK:fL$lFyj00[ԓ>esu+oz6L/?W>J;OqƔ1)O`METٓ=񼊼!}u&75}qKZ>ΧuY&yA2'0$KȶR+5@A^Xhn +MyM=9oʓ})VZ[6 ¼H~$"i{B> #Ig$mGAAbohg[O\-tzH_a\*PH GΒ?MlhBziiC] >0X2Hڑw46a9q8¹#k3 /$uqrWrtͽч$ +iGQ&p>eǰdQ14]ANhHuVYUۡ(L2ɹ騕s[j^u.&a]6_K7=7;2+w&}&EAM| R9/L| x% +|KJ|ej7 _86e V' Pһb>%S+X$'~Ti;=-4%Wd*a.g:2MzΕe5q""xT"t()uDB* 8ֹ/.6j=5&2I Tgzk9 -V$ <KzKwdmnBp$v;f\鰧08]`NX mopM,W~85-C +~&G 3g+%66d@BՎs`Zk[e+,5hLG&c3}γ.!Э` j&gSM懈"ʜnP/XMc1QQ9֮amGa #n{גl8`dFF g߽|uGƞ*vonXysp/?o%}KǛ+pvm?wWW|o~%댞f"đ)ʹSo`?/njjyu߼q;BGX%0*,p!-7 rP; gF,)L%1ufHpXib!ƚB"FNt +H:`63-ߜ+2o(!閡] %vF;g4ID3q i -TS>sd6 K/ ER澮8|-&&pɏkoOdv- Ƭ"M#IwJmfy%x34lywKjyyvww=򋟮](VLScgM C?3il|syqf/$^_//1ؾz#WM^^_OHF= ExiIܱ"D-RD4l_C2ML/n;^W +ū$b?NU_ +%yÁy4*(ᏸa>stream +HWn}'a^r&2L ـ,}Neghbٞ꺞"LgIjNjĻÃ6vdct +NpQ0@7w8g 1}VwS<ctS4h@1|||~Ϣl?nN϶7nyoķiqzGg}ۭe}xeu,3R6rk9E]ֿs3Yt'WRGNz\Bj~~ۮ?'#~X]-ǻo"; cq3^qyp =V8OC)8G;j"ERW͠8=}/U7Zx5!XI^E(ms.b 3 TXq}6>C4=+5|r3|^ʇcq";)c`Ϊ@a/8v +央/vչ AjԈ.X2 +y +ZARН&8L\ʁk罉ZW۠U0{/>.8M,d_=vwz#<:ǙBM"G7xk/7i0q^q*$*3' ҋVÐF([?> q'qAA GƏ ˆ:j|S:F)tZkNJWm ̓![jOGEj}D!Gbꐹsd +,5ҡYApc v/lzGSXuN#qEp3R]vMiϨ3h:k"iirb$ǪJ 1ȜX + F^#Bfԗooq:R a鴭Q:`qUIΫ``h*L`ѡHqB[H,:TKQ=ܛ֊kbN}9wa0&gRQAdI2DӜWxat>¢2jc?RD&T"n,y5bʸRՒ&|6c]tÄu #h$|0LUBQTبP"aз9܋zU S^Z^$GK$Oo<D &qCoҁagf"vE€ȠS7b*(ĉ,Ãi=?Nhմ2ַIR 1;Z<N 9xPfP0dά: e#FR#绳c* 6{^xqny,ߥ4a?qdTڐ2Rč?adDU”V6qgH c}Y*cP܌l؄H d wPiڏ78<}U}uszݽY/v|$MX 6b]"~,|loYwl]ݜ]v{_ +cG +?މlptJ\/sB?S +X\̻4»YbB\^q3H]L۝蠊r9a D4s^%ಌh1Æ*&UtyvQ1D_n# ESLd)bÔf*vDb:.ҒɊ׵GvxA :d.U0:1Y2>2LPtWՏHYZBΡɦߴACv9⦡CI\_NH85YЦC%.$xOh04T=#@i8;2EOxnO<I+XK݇ʺQ/<ɗ #W?[)$+\*p Mi*bCbK\C$r/N"201oL\=5@eUT28)ߦcb6^.H$UTYՁGB`<32]b4AN%<71WɊ>cb2* k@ 6iUbmDACH*I%=HpXH0,`lq<`0&>>ԭ{ٽc&ZuTq2j5\wVƋxZĺuqAʴ9 +0 Fٔn:xrsः#bauޛp_dO*vk)dEpN]@9e /&n? ^Y&bkr.tŹ_~ە!djlFoO.c@)@xMXLgRP18梤 :ȧ̯ 4d䇳A12X{؂`!Ė%n +S4vw\8) eCh;Z۰P*Je톚IZyu1̄T- +7v5R1*d%#b-~k _q;1}JT,̆pSj +$uUFD +8@G ++g{h)"N"wU`ɺby* !!o5dC~]3jrZsawf0ۨVٸv1[tb`IYG&>#(Uz$Uu cŌ CW2NSjs|U@(QHz u]YeBa]F`7GI9ل8FS;0p/S5M[ + +zgʢ(EFM\,RN: ^9)|!Q]WoIܡ8ąD=Dh3p #JwXB1lDhy+X(lc}aUqͽDЄD*kݶ k"Jj%6}݄=VσJ%)JI޿ou/E a`v]PuEp!D{xp"0O t pSf LpBRq.` z"57Kj$i"?Clgٖ4Ro~W lOW#9QI%AN쎴xY%U9jeP +Ȓ$ U؛p|J~ {\!'60+b!:LXX@e_45SqRtUǴˤDԈp{c0 -m ~/}YQ\,%B76`Ջ" f]z|}dWgiKv'H.ً*t({2vp8 |M&zQfWMNeJ4._k1&a*<$XȀDEeQ}hA.!! p'Mp)S誗)sd_їJىnB3IL3yį<}r<_)o{??Ûׇa۟]?}_.,w(:G /K^ayv0F$h:0Aq&;%Gۂ +'(/WF}fsb6}dǢ ]Konj5s3?/+?b@S + 8_!4d,Y;YM/#nq2j^]J?~D1(hj\8?jf#bWp2aZuW(f]<ٷ(7{?OŗtLբ",x`a RXʧY;&RA ?Lw\MKT֣.`y?Oc,yDImR(ꑇM7Xk&6HHۑSrIin}?Wնs96sqwdb]ݮO(u|JFܺ)ixdnvXr͟7U8wuX[2=~/>JE|f$sߕe*h^RSo!z]yjba9՝8b0l|*Ӳs۠ cѹtxz<Wʘ?h{ Lj7q!ԩ/ZQ5AB\{"SɌte*xxjbu0ȱkq05YnQ%i JdU?mUx&PypRe xbScu8ɸfP6e1팩Ϲ,;z0k]K[J8`A&3s*M' (frࠥ DuQS9h!|7puW5`OvjV{·mnϲp`kbE?v$AV18Dl2(ynDd\+6| BJ{b^^HO!=lNnYAcr +#\[rM z}DG;Zr#Fc6׳D\VBm6B*{4H+G5Sh2-si2ev.Ih0}0^-+J# xS~1FHSbl(_ h<8L>A'Oq!RT:(q'a s]%)fy|)a.ږsxZl!dcבN7`ߒUaEFqzU߼x|o.?zçwj5,|˫o/~7ɓ2?>ٿ_N^]ߞk| ^s*wϮ><8. ] 6Yrh r VWVL&g]Z]tk SRa3O֓-}N_j qV \qQ8qZ0԰>?k^&=Dx6kas^T@ _uO8M]Yv=ٌ(TjQ!W9NQ@jLmBnN#3@ +&)[FʨٲIvߥP|Kc$S3I4GqW# +MYxq:t2i-N5"V` "^$]`D*fxXj+&UX˴^, tT8!ZSa P +=VQNp(5 1W8c)ՌUW2&>ikBP+^!ܟQ:Ufl@d.+G0>5t6Mzg87Sm +W*.Zf׵ ϐgb/sԩ$Eq*k#PX@ ~"/R\E$umM|LXӆq!Ln*@ +qb $/3}ԽFxZ@$Y3 &zmօt<3Up%*h +u Y>U^y]J>U66y]ض̆¬s EE;e:RˍLk{DSJ0rzU-1SI%(7nԯfa=4p}7T``h/_Kla;e&D zVq?O za'^XN,һ@Gژ~Tpu3s$Vv"@/M!Fhq +M5q ` + ^}J̑rUO!5Iٽ;aPZȈ5Rߔp )MɎ݊1)e +B۶h5QPB(BP,J 7˄s[Ҳz@Iэ 1L(tbsB6 fjL/ 9f[ +b+8]Fh^2nubL39|1S}_ <]@_ьI'a eRF#~"+MA-2$)8p؛V IMKe CH"91>"o4Wļ5G)r!CUi0F6rS )7A#kahafau@FbN*XoU/4ςU{ndL?K.O^jmCR%Y-;;RB ꭂ2:˲{r^/mN>f + G d<͙0o@7\Y$ID@JrSC!C Yq].@ vaY}.7eB]=o鋓7."+e?ެUCFMdVԫ .e!OWxFhF16ӼtJTTrm8{|HcFQ [PmTC?3CZ%b$9=sou_!B:*1$#/ƋR? =hmy#xK?a,OpR&*/y8o 6^4tZQU3JVuFFEs*Xxu̧Gb<P@$߿۵r7EWg^}x{{ߖr77 1Ԁ oAڨi'Rɮ?w{J0)|;پW*IK{!1LY1(sbvYՁU#JM0_*E)hB.)T\#tc \ѓCOz%`2ɀXcl`e8`Zԩ,g;0hFq&4is;3#EjCƧ@mnC/ QBeVc.yd'eǖ@}nyƪUJ~y lDz }i3|<} }JmCP({J+BZ\SQTF_͏W3\QtF_^DlFl :0[] +yz"Dqʇ@W5 ]}+~6 +d.;!W=\utA.򣐋\QO\=^WBj<1?Xs2n'=vP`,0ߺ[\vߝϋN  ṛIN¤j̍Ѐhu0$WքSQgBm7NLުԌkOf4j3qiN< +Z{ѝA $3hG<4³,"U_@>5ТR +r'8=';AC`geR䃃S>8\ IxK$C,HV{]*SS !nkXB"֒Z+c| 7l=v/.0S38O֥2Y#{ '~0萉NLЌZLjvVc>l abս'QlތS78;'h 8p+[gHh>f+n^|z:Y_v~AڙAW!{Bީ0bf=ؚؗt/6рً! N +D:$ (I>\U5Z5%.蠖FLM8%ӡ1Y}Qv۶υIKeJ00r0IEʋ5ŐK:bʮڋe3Ever:lf~3% Wh / +|ԤI`d;`qlqtfޔmN44 םIH]\{~ɡAt$8MxnR,˘u&c@%XV&:~[7|kµ9)RײHz8yx& g-SOStjIuj~MĎ5ڔCZS bUvJA`K&׼N^0碚wa8^.CgJ{Ƶ2@LZ^?]t^M0(03[M:!+ɴK^lqW$/yy|CT9g]+N x: @}}Wv_pjegBEe4m*T*4)7 |*h'bEae*UV畝1)\嵊BQ*~v$daA%s bZH"ԢӜA$ P +/ +RJ&12s끤BO N-q[oezF@CxMu-􂵒]/Jrپ2wA*6iCuY!4TAe| MҶ/!ŭhA73 +.ʬG5=>$-n4*,€t1'}`>]f(C"3=s+fj>AWAEh']7d@cjz7Q<nQj.]l~8~0k*>.,-zZ[t>.M {TH  j鶋^T9*I VS`? .~ QDwm{l_1z&}8MЏF3mG.9Ȣ,٢d_|=]I>?di?0Z),t DvBh^#XMfeIlUGW*jF/.jr^}< g!$H6=ba,H |R1ZRE +,'Cs Z6ᕊ[ZsϐR}io]7 Rڞqdh ^\1 V{w-ՍLA2;O&3H<;H *$_PB,ǥ:fsI9WkwKf/a%6]J!jA.m\\.L6Vp8*]Սz[DۇZ* +jIluyP.RuQDL?¡3M85UѓZT5PּDfnbY2n @gCk&]P,:jz{_> +  fzdeॐz{-GG(%0k tK` zQVjCkUЙBгn .q, j6W(ίؑTJhl)fQ q>SwedK+j[fٿZ޵ϺpFYꂩrԐdQm-}ߑqCqn&tHKyekQ48<^_JxƅW F9jl:q.2x.ea9C*P~U߳/4.\v0/BѢaSe5r[yռ@`z Z4Ԡ-͟Xwiv/jzVkD}p]힥vv/n:O +~=9y.j][xQ7wޭO>a6JQr[؍ zqbNƃBiƤ]Nɇ( ig;^U4hP =N$eF}Z8c]8ʗNf§265:ffga={FycWQ6Hsb]cqON^FU$ΐGy~^q@LGs"RQj70tAHG9| |k{qn#VD9srcƜݓs6>>7]HW9N[#Q@q=bbz,m7dvsv^wT#Ĺ,!^9 -'}])4\3u{bNW:;(>[/׉~&;d#C~}|*hDqF3%f1vO;ʣO[[? W<'qe|:uixB [; i#]I>?dw*):B^dԎ^%1 ;Xq b +NPy/>ū4^y'hN#@蛾M0:@c2\pho TSw= xhPB M!eg${h_>|fb*7qd9oz/Y ~p|=?[!,鎉Amvu/M1[0(v[ܞYexW[8Bept9]537G"[e{X0M(>σ)Ć) SXty58*6;^gG3ªy\H'(L_Q#r=KEoi6&9mI=&c{QwEK]+SKSmUR=rM;x;L/F?fu^ٮk:o'q6ۓɢtT+qyŨN*/I,IֲP_ +8`W,+u/L0%\RӋRS# <,$t-Aΐzh;%JKMAZu- -{x`8 srBb~ ^Oxۀ +9 +ebXW, +endstream endobj 188 0 obj <>stream +HWkO/@~?/F#˺vxvOU.#ɍ̊e>]}T5gb4{޾l ooM1b;Uu^W.c6y1MK&blO[;I~kE ;s6fǽbq `٢)}I,ڊɚŲ.kZGl9{ΰQYTlgyYIuЈd9 nଽIk(?ϛy3wz@{lV5*9]yYp>2y@lg*gWhK|I0zL3. 6-?8?gM,_.'ŢؓeaڌQrc)拫gÙbvqǙ)UOOWe|iKStf[Ƽij95)S%UCYkSCIXGR6@T![YwTϜm!uMdqE;zs,բDwƗ0Mt/,o@!-k *)-zHL0ĞtuM_2Q _}t^M}wNOY{>>/AjI G?y)I%u_(4wXߡ.Gi(͇4Qџ6K]G/oW e8xY,[FJz ב9+ [ͪ +lh6e)֛Eļh.h,"KJM9Mz4ߚE1*?,}mT@,ZI;ʱϰRf 2 FQt  J|䤎 +5 +@Cʟ*ӜLɢhO+[Y7RWM$yjT䈣0FX@k&c-H3Hlc uƐ}#RI8EEuP mL]'(-Q*"2NJ;e$ލ3=ޒlxy2h-j?v3ҽ"~Opt +76żdś]p E] \-:;g`tA?[ī;YEu-vyU4g2y;B}.7|e3{TQ&*AD]kYↇ{ԕؠAG@H? \(|b{cPP>Qʙ;t($ &Tjux+q#Ma|OTYπ(AN^3~tG2n!aKb TΫ: ĚJfpFMڒhKR55م%572K +l=V)tn|׆|Lg^ooH80B +[.Ml+AK-0!VcC 2=ntqYhUs xXW"E˧DZJu1T7J~o3|f8-}N5-ЖZ'qr?LXQqƎӿ#5 +Fji%U~8_HZ3%gξɄ/?(<>d7~DM*.;.gd=$$jF4-NʻZ+G!{yc(y@4zorj;*E3="7 A||6OYG%ۤy*W_(7^uֵYvDBU, +"£̝b4x9\eCVk?W2aDwRxSNnS碌2 hW;t99U3U~> cȄ3"}sy_zUrAH)Fg%.3oW ]'i(򊔪`Gq,%"jյ[R {AJdNjOB BPg˄y.2?3T~V4PSIqۓKEB)uҝ‡-|,Z 6+]臌)-м'< lor}|*Ϲ|Vrc6HŸtm28N|\**GIӗ:ȠFxrqhh':Hcgx;9%ei'^E /@lZz)h*饠h6+- +{xJ{Eo(܈t(VdK&jx=KT\8n,qr:\ 5 +쥆a.IT78M9 +Pkc.u4(r2ͨr-Aͯ4V7Ȼ'vvD~FUh6Y=/$]9(wR 4bR3ĵP  W/l8/%!dO]㹀>ۃX": !{hꜺCzJ_$ شR$]eZz)h+e$ Jn0t߻uŌlb[ҢTp#Rҡ:-jx=K U\8n,qr:\Enpl~yQF=W $3BdFHy!ʡFCp$whȾ4bRCĿP uZc6,]Ww< wI47G3ډ y%\k*- +H@wT.HbKADDvi饠h6+- +t2'#slmW`k`UZnD +S:PV#B·PC8{jK<Ǎ NSZǘgx 5 +|8o)zgw{d+ͽ2z]!Q$D6B:uV IWE0#FsJ$aLKQ ώKBȎJ`_j!ٰt]_K.B*\]BƀNۃH: Otz%\k*- +H@{T.HbKADDvi饠h6+- +7M'C甮X`k`UZnD +S:PV#B·PC8{jK<Ǎ NSZǘgx 5 +x8o)zgw{d+ͽ2=jAH$gTl3NBҕC2H,օ I!}y%AdG% +0/l/%!C]B?/T( xVD/wwNOԜ]#"cfh!ay3yG׳W|c 3*#Bdh mǙMSgj,rWM% [%4daVIom͕bk- dlO\Tw ֒"+u$}r˥ƯІ ɱja.^[CM9 PcC!?86$QSJu`>ޝ'Q.䑫;vMf!:cҡ\=Ϥ*r$)CC.41!*)2>"_ڷi==h)b/ +o@۲AP @vD]3s-a:5X9æ֒z +f28Jkpd[cѡYaj- H !RGʸl!P$"9VP-%ދtK|)'jc('dž^< +qjQnB'$ʅ,p7M% [%4dIVIom͕bk- =;ԙٮ l]% D01VH@-AjxD$ +d{nq6$@q PG!N-*yW{uDG_7;g+^xȎIr<ȑ0X`S wOFSy(mgef|BhJd22"<hQZ+_dDưqz&RbeXА;#, ~Z>SD}yzr͎M*Iu)6ٷ=CK a0A,辕$=%q d5| z(E-s4X,h?FY"llS~#XH >vM( -f!¦f8O),)OHi&>hoIږq_9 @v^5b~[9{oH_Ru=iL'c",7>m<p? :G_ +endstream endobj 189 0 obj <>stream +HQo80@q@E4Iۧ6)\vPd: *K$?mĉh4m06"E;_X?/v:[)R{}^NgV/5X3e?@|j{ҿ_KnJ2?xg_8,7~ךmDebGmQLcSf2;k`:=ؓk +xd)^f1 BW"IbFL+!P^,\5YwPziSp[]oj%Z2cA`[֮ڀl7ˬF-7P)~ +Fbt윌rwzih.%^48$²ycbb<2"io0S5l` $M@nx|y7 ?I2UN95qZ:W ycsARLS?@LM*U4D[}dT7Xi^ADc^ނvW`OIh)(A'Ifv_I[>Ǵ&=1N+WZG;hܱ )ϩS  wp*H->2x4J L/poAeit\7\51m;1~y-.=Y +c~LC+-4+oϴq(hD\ތB'մR !ɸx(;GJ+P0Nزy0߱[9p9п.zMEZ5PU7׻Y|V],^]h%Z2SxwtgCYfm6lټ!lu7d"'$EV0zuW%h?6<b>|vLl- P$3MJzaT&y fycsAS?@LM*U4D[}dTsñL/PΣՍt/zovkRgv +czam{aOԊSj&͊3@ ?1C7й /ep윌rzih-)V^,(óYw]e[9ʁVrr׭k@+Z9ʁVr`؏h@Z=Vzbprz࢕ kX()-zpJ=e&r: jφp̪Ǥ2 ]͌ȫm0- ~?Pbz'n +WɌ$#򮯟ezvrnD Kr`rMjMNa/,^ou9Rc[wlYͤY1|#Dq3f:w,CqP.wZ6 &Kѓ%`$czPz`x>[5Ъe 25P*KV],^\dj%Z2زvtgCYfm6lټ!m+o@E[)] H{YZTIR^Ĺ @0/[t'T<$Wz:iBw3'i%j[vp;6$9~*N"[EI:GFu3FD4-hwu:.Q;.&פδՖC,+1?ygL7gZy8AW e 20j"z-zJ=eZ,vnYu[6oTS4:A9hX ċ&CE[)] H{o,/Te W/8q. ir#P/#̋ OxI2Xjp鍺=@; v;8vN +*iS+C4g)g/vN95 Zٶ UysIRL_SZmm@|@_,JvN95 Zٶ UysIRL_SZ34MAE47K(qoAe%Ipv0!um8rouy싕z-z4Xpj+GB+!f/nKqG蔞]ʾ9DA;KGyy;<6VTX bͣQ} (=Қ'5w 4W(z$T<ʗ[.Ys.(#h)̌[\bjwл=;BUi;Bx'y. +YfpUdDJ% +Ar]$u: +@ 0T',M +endstream endobj 162 0 obj [/ICCBased 170 0 R] endobj 190 0 obj <> endobj xref +0 191 +0000000004 65535 f +0000000016 00000 n +0000000076 00000 n +0000048436 00000 n +0000000005 00000 f +0000000006 00000 f +0000000007 00000 f +0000000008 00000 f +0000000009 00000 f +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000015 00000 f +0000000016 00000 f +0000000017 00000 f +0000000018 00000 f +0000000019 00000 f +0000000020 00000 f +0000000021 00000 f +0000000022 00000 f +0000000023 00000 f +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000028 00000 f +0000000029 00000 f +0000000030 00000 f +0000000031 00000 f +0000000032 00000 f +0000000033 00000 f +0000000034 00000 f +0000000035 00000 f +0000000036 00000 f +0000000037 00000 f +0000000038 00000 f +0000000039 00000 f +0000000040 00000 f +0000000041 00000 f +0000000042 00000 f +0000000043 00000 f +0000000044 00000 f +0000000045 00000 f +0000000046 00000 f +0000000047 00000 f +0000000048 00000 f +0000000049 00000 f +0000000050 00000 f +0000000051 00000 f +0000000052 00000 f +0000000053 00000 f +0000000054 00000 f +0000000055 00000 f +0000000056 00000 f +0000000057 00000 f +0000000058 00000 f +0000000059 00000 f +0000000060 00000 f +0000000061 00000 f +0000000062 00000 f +0000000063 00000 f +0000000064 00000 f +0000000065 00000 f +0000000066 00000 f +0000000067 00000 f +0000000068 00000 f +0000000069 00000 f +0000000070 00000 f +0000000071 00000 f +0000000072 00000 f +0000000073 00000 f +0000000074 00000 f +0000000075 00000 f +0000000076 00000 f +0000000077 00000 f +0000000078 00000 f +0000000079 00000 f +0000000080 00000 f +0000000081 00000 f +0000000082 00000 f +0000000083 00000 f +0000000084 00000 f +0000000085 00000 f +0000000086 00000 f +0000000087 00000 f +0000000088 00000 f +0000000089 00000 f +0000000090 00000 f +0000000091 00000 f +0000000092 00000 f +0000000093 00000 f +0000000094 00000 f +0000000095 00000 f +0000000096 00000 f +0000000097 00000 f +0000000098 00000 f +0000000099 00000 f +0000000100 00000 f +0000000101 00000 f +0000000102 00000 f +0000000103 00000 f +0000000104 00000 f +0000000105 00000 f +0000000106 00000 f +0000000107 00000 f +0000000108 00000 f +0000000109 00000 f +0000000110 00000 f +0000000111 00000 f +0000000112 00000 f +0000000113 00000 f +0000000114 00000 f +0000000115 00000 f +0000000117 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000051202 00000 n +0000048489 00000 n +0000048844 00000 n +0000049045 00000 n +0000061445 00000 n +0000058207 00000 n +0000050103 00000 n +0000049109 00000 n +0000231123 00000 n +0000049538 00000 n +0000049588 00000 n +0000055520 00000 n +0000055406 00000 n +0000051720 00000 n +0000051805 00000 n +0000052189 00000 n +0000055557 00000 n +0000058244 00000 n +0000061521 00000 n +0000062006 00000 n +0000062952 00000 n +0000069751 00000 n +0000084919 00000 n +0000102822 00000 n +0000111395 00000 n +0000126519 00000 n +0000132206 00000 n +0000141391 00000 n +0000143749 00000 n +0000159943 00000 n +0000177431 00000 n +0000183301 00000 n +0000187819 00000 n +0000205653 00000 n +0000220229 00000 n +0000227091 00000 n +0000231160 00000 n +trailer +<]>> +startxref +231333 +%%EOF diff --git a/library/colorbox/colorbox.css b/library/colorbox/colorbox.css new file mode 100644 index 000000000..544a76f3b --- /dev/null +++ b/library/colorbox/colorbox.css @@ -0,0 +1,52 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:#000;} +#colorbox{} + #cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;} + #cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;} + #cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;} + #cboxBottomLeft{width:14px; height:43px; background:url(images/controls.png) no-repeat 0 -32px;} + #cboxBottomCenter{height:43px; background:url(images/border.png) repeat-x bottom left;} + #cboxBottomRight{width:14px; height:43px; background:url(images/controls.png) no-repeat -36px -32px;} + #cboxMiddleLeft{width:14px; background:url(images/controls.png) repeat-y -175px 0;} + #cboxMiddleRight{width:14px; background:url(images/controls.png) repeat-y -211px 0;} + #cboxContent{background:#fff; overflow:visible;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{margin-bottom:5px;} + #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;} + #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} + #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;} + #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;} + + #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;} + #cboxPrevious{left:0px; background-position: -51px -25px;} + #cboxPrevious:hover{background-position:-51px 0px;} + #cboxNext{left:27px; background-position:-75px -25px;} + #cboxNext:hover{background-position:-75px 0px;} + #cboxClose{right:0; background-position:-100px -25px;} + #cboxClose:hover{background-position:-100px 0px;} + + .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;} + .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;} + .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;} + .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;} \ No newline at end of file diff --git a/library/colorbox/colorbox.jquery.json b/library/colorbox/colorbox.jquery.json new file mode 100644 index 000000000..dd517a5f4 --- /dev/null +++ b/library/colorbox/colorbox.jquery.json @@ -0,0 +1,30 @@ +{ + "name": "colorbox", + "title": "ColorBox", + "description": "A lightweight customizable lightbox plugin", + "keywords": [ + "modal", + "lightbox", + "window", + "popup", + "ui" + ], + "version": "1.3.32", + "author": { + "name": "Jack Moore", + "url": "http://www.jacklmoore.com", + "email": "jack@colorpowered.com" + }, + "licenses": [ + { + "type": "MIT", + "url": "http://www.opensource.org/licenses/mit-license.php" + } + ], + "homepage": "http://jacklmoore.com/colorbox", + "demo": "http://jacklmoore.com/colorbox", + "download": "http://jacklmoore.com/colorbox/colorbox.zip", + "dependencies": { + "jquery": ">=1.3.2" + } +} \ No newline at end of file diff --git a/library/colorbox/component.json b/library/colorbox/component.json new file mode 100644 index 000000000..171764fbf --- /dev/null +++ b/library/colorbox/component.json @@ -0,0 +1,8 @@ +{ + "name": "jquery-autosize", + "version": "1.3.32", + "main": "./jquery.autosize.js", + "dependencies": { + "jquery": ">=1.3.2" + } +} \ No newline at end of file diff --git a/library/colorbox/content/ajax.html b/library/colorbox/content/ajax.html new file mode 100644 index 000000000..e772638ad --- /dev/null +++ b/library/colorbox/content/ajax.html @@ -0,0 +1,11 @@ +

+ Homer
+ \noun\
+ 1. American bonehead
+ 2. Pull a Homer-
+ to succeed despite
+ idiocy +
+ \ No newline at end of file diff --git a/library/colorbox/content/homer.jpg b/library/colorbox/content/homer.jpg new file mode 100644 index 000000000..87ec76c99 Binary files /dev/null and b/library/colorbox/content/homer.jpg differ diff --git a/library/colorbox/content/marylou.jpg b/library/colorbox/content/marylou.jpg new file mode 100644 index 000000000..4c717d276 Binary files /dev/null and b/library/colorbox/content/marylou.jpg differ diff --git a/library/colorbox/content/ohoopee1.jpg b/library/colorbox/content/ohoopee1.jpg new file mode 100644 index 000000000..aae19a3e6 Binary files /dev/null and b/library/colorbox/content/ohoopee1.jpg differ diff --git a/library/colorbox/content/ohoopee2.jpg b/library/colorbox/content/ohoopee2.jpg new file mode 100644 index 000000000..206894489 Binary files /dev/null and b/library/colorbox/content/ohoopee2.jpg differ diff --git a/library/colorbox/content/ohoopee3.jpg b/library/colorbox/content/ohoopee3.jpg new file mode 100644 index 000000000..4d64d2400 Binary files /dev/null and b/library/colorbox/content/ohoopee3.jpg differ diff --git a/library/colorbox/example1/colorbox.css b/library/colorbox/example1/colorbox.css new file mode 100644 index 000000000..5ee3feba9 --- /dev/null +++ b/library/colorbox/example1/colorbox.css @@ -0,0 +1,86 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:url(images/overlay.png) repeat 0 0;} +#colorbox{} + #cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px 0;} + #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;} + #cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px -29px;} + #cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px -29px;} + #cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;} + #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;} + #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;} + #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;} + #cboxContent{background:#fff; overflow:hidden;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{margin-bottom:28px;} + #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;} + #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;} + #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;} + #cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxPrevious:hover{background-position:-75px -25px;} + #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxNext:hover{background-position:-50px -25px;} + #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;} + #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} + #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxClose:hover{background-position:-25px -25px;} + +/* + The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill + when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9. + See: http://jacklmoore.com/notes/ie-transparency-problems/ +*/ +.cboxIE #cboxTopLeft, +.cboxIE #cboxTopCenter, +.cboxIE #cboxTopRight, +.cboxIE #cboxBottomLeft, +.cboxIE #cboxBottomCenter, +.cboxIE #cboxBottomRight, +.cboxIE #cboxMiddleLeft, +.cboxIE #cboxMiddleRight { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); +} + +/* + The following provides PNG transparency support for IE6 + Feel free to remove this and the /ie6/ directory if you have dropped IE6 support. +*/ +.cboxIE6 #cboxTopLeft{background:url(images/ie6/borderTopLeft.png);} +.cboxIE6 #cboxTopCenter{background:url(images/ie6/borderTopCenter.png);} +.cboxIE6 #cboxTopRight{background:url(images/ie6/borderTopRight.png);} +.cboxIE6 #cboxBottomLeft{background:url(images/ie6/borderBottomLeft.png);} +.cboxIE6 #cboxBottomCenter{background:url(images/ie6/borderBottomCenter.png);} +.cboxIE6 #cboxBottomRight{background:url(images/ie6/borderBottomRight.png);} +.cboxIE6 #cboxMiddleLeft{background:url(images/ie6/borderMiddleLeft.png);} +.cboxIE6 #cboxMiddleRight{background:url(images/ie6/borderMiddleRight.png);} + +.cboxIE6 #cboxTopLeft, +.cboxIE6 #cboxTopCenter, +.cboxIE6 #cboxTopRight, +.cboxIE6 #cboxBottomLeft, +.cboxIE6 #cboxBottomCenter, +.cboxIE6 #cboxBottomRight, +.cboxIE6 #cboxMiddleLeft, +.cboxIE6 #cboxMiddleRight { + _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')"); +} diff --git a/library/colorbox/example1/images/border.png b/library/colorbox/example1/images/border.png new file mode 100644 index 000000000..f463a10d8 Binary files /dev/null and b/library/colorbox/example1/images/border.png differ diff --git a/library/colorbox/example1/images/controls.png b/library/colorbox/example1/images/controls.png new file mode 100644 index 000000000..dcfd6fb9f Binary files /dev/null and b/library/colorbox/example1/images/controls.png differ diff --git a/library/colorbox/example1/images/ie6/borderBottomCenter.png b/library/colorbox/example1/images/ie6/borderBottomCenter.png new file mode 100644 index 000000000..0d4475edf Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderBottomCenter.png differ diff --git a/library/colorbox/example1/images/ie6/borderBottomLeft.png b/library/colorbox/example1/images/ie6/borderBottomLeft.png new file mode 100644 index 000000000..2775eba89 Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderBottomLeft.png differ diff --git a/library/colorbox/example1/images/ie6/borderBottomRight.png b/library/colorbox/example1/images/ie6/borderBottomRight.png new file mode 100644 index 000000000..f7f51379c Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderBottomRight.png differ diff --git a/library/colorbox/example1/images/ie6/borderMiddleLeft.png b/library/colorbox/example1/images/ie6/borderMiddleLeft.png new file mode 100644 index 000000000..a2d63d156 Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderMiddleLeft.png differ diff --git a/library/colorbox/example1/images/ie6/borderMiddleRight.png b/library/colorbox/example1/images/ie6/borderMiddleRight.png new file mode 100644 index 000000000..fd7c3e849 Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderMiddleRight.png differ diff --git a/library/colorbox/example1/images/ie6/borderTopCenter.png b/library/colorbox/example1/images/ie6/borderTopCenter.png new file mode 100644 index 000000000..2937a9cf9 Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderTopCenter.png differ diff --git a/library/colorbox/example1/images/ie6/borderTopLeft.png b/library/colorbox/example1/images/ie6/borderTopLeft.png new file mode 100644 index 000000000..f9d458b5b Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderTopLeft.png differ diff --git a/library/colorbox/example1/images/ie6/borderTopRight.png b/library/colorbox/example1/images/ie6/borderTopRight.png new file mode 100644 index 000000000..74b8583cf Binary files /dev/null and b/library/colorbox/example1/images/ie6/borderTopRight.png differ diff --git a/library/colorbox/example1/images/loading.gif b/library/colorbox/example1/images/loading.gif new file mode 100644 index 000000000..b4695d811 Binary files /dev/null and b/library/colorbox/example1/images/loading.gif differ diff --git a/library/colorbox/example1/images/loading_background.png b/library/colorbox/example1/images/loading_background.png new file mode 100644 index 000000000..6ae83e697 Binary files /dev/null and b/library/colorbox/example1/images/loading_background.png differ diff --git a/library/colorbox/example1/images/overlay.png b/library/colorbox/example1/images/overlay.png new file mode 100644 index 000000000..53ea98f70 Binary files /dev/null and b/library/colorbox/example1/images/overlay.png differ diff --git a/library/colorbox/example1/index.html b/library/colorbox/example1/index.html new file mode 100644 index 000000000..727fe78d7 --- /dev/null +++ b/library/colorbox/example1/index.html @@ -0,0 +1,87 @@ + + + + + ColorBox Examples + + + + + + + +

ColorBox Demonstration

+

Elastic Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Fade Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

No Transition + fixed width and height (75% of screen size)

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Slideshow

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Other Content Types

+

Outside HTML (Ajax)

+

Flash / Video (Iframe/Direct Link To YouTube)

+

Flash / Video (Iframe/Direct Link To Vimeo)

+

Outside Webpage (Iframe)

+

Inline HTML

+ +

Demonstration of using callbacks

+

Example with alerts. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.

+ + +
+
+

This content comes from a hidden element on this page.

+

The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.

+

Click me, it will be preserved!

+ +

If you try to open a new ColorBox while it is already open, it will update itself with the new content.

+

Updating Content Example:
+ Click here to load new content

+
+
+ + \ No newline at end of file diff --git a/library/colorbox/example2/colorbox.css b/library/colorbox/example2/colorbox.css new file mode 100644 index 000000000..3bb3d8121 --- /dev/null +++ b/library/colorbox/example2/colorbox.css @@ -0,0 +1,43 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:#fff;} +#colorbox{} + #cboxContent{margin-top:32px; overflow:visible;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{background:#000; padding:1px;} + #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} + #cboxLoadingOverlay{background:#000;} + #cboxTitle{position:absolute; top:-22px; left:0; color:#000;} + #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;} + #cboxSlideshow, #cboxPrevious, #cboxNext, #cboxClose{text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(images/controls.png) no-repeat 0 0;} + #cboxPrevious{background-position:0px 0px; right:44px;} + #cboxPrevious:hover{background-position:0px -25px;} + #cboxNext{background-position:-25px 0px; right:22px;} + #cboxNext:hover{background-position:-25px -25px;} + #cboxClose{background-position:-50px 0px; right:0;} + #cboxClose:hover{background-position:-50px -25px;} + .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;} + .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;} + .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;} + .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;} + .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;} diff --git a/library/colorbox/example2/images/controls.png b/library/colorbox/example2/images/controls.png new file mode 100644 index 000000000..8569b57f1 Binary files /dev/null and b/library/colorbox/example2/images/controls.png differ diff --git a/library/colorbox/example2/images/loading.gif b/library/colorbox/example2/images/loading.gif new file mode 100644 index 000000000..19c67bbd0 Binary files /dev/null and b/library/colorbox/example2/images/loading.gif differ diff --git a/library/colorbox/example2/index.html b/library/colorbox/example2/index.html new file mode 100644 index 000000000..727fe78d7 --- /dev/null +++ b/library/colorbox/example2/index.html @@ -0,0 +1,87 @@ + + + + + ColorBox Examples + + + + + + + +

ColorBox Demonstration

+

Elastic Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Fade Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

No Transition + fixed width and height (75% of screen size)

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Slideshow

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Other Content Types

+

Outside HTML (Ajax)

+

Flash / Video (Iframe/Direct Link To YouTube)

+

Flash / Video (Iframe/Direct Link To Vimeo)

+

Outside Webpage (Iframe)

+

Inline HTML

+ +

Demonstration of using callbacks

+

Example with alerts. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.

+ + +
+
+

This content comes from a hidden element on this page.

+

The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.

+

Click me, it will be preserved!

+ +

If you try to open a new ColorBox while it is already open, it will update itself with the new content.

+

Updating Content Example:
+ Click here to load new content

+
+
+ + \ No newline at end of file diff --git a/library/colorbox/example3/colorbox.css b/library/colorbox/example3/colorbox.css new file mode 100644 index 000000000..153e32e6f --- /dev/null +++ b/library/colorbox/example3/colorbox.css @@ -0,0 +1,38 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:#000;} +#colorbox{} + #cboxContent{margin-top:20px;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{border:5px solid #000; background:#fff;} + #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;} + #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;} + #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;} + #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;} + #cboxPrevious:hover{background-position:bottom left;} + #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;} + #cboxNext:hover{background-position:bottom right;} + #cboxLoadingOverlay{background:#000;} + #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} + #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;} + #cboxClose:hover{background-position:bottom center;} \ No newline at end of file diff --git a/library/colorbox/example3/images/controls.png b/library/colorbox/example3/images/controls.png new file mode 100644 index 000000000..e1e97982a Binary files /dev/null and b/library/colorbox/example3/images/controls.png differ diff --git a/library/colorbox/example3/images/loading.gif b/library/colorbox/example3/images/loading.gif new file mode 100644 index 000000000..19c67bbd0 Binary files /dev/null and b/library/colorbox/example3/images/loading.gif differ diff --git a/library/colorbox/example3/index.html b/library/colorbox/example3/index.html new file mode 100644 index 000000000..727fe78d7 --- /dev/null +++ b/library/colorbox/example3/index.html @@ -0,0 +1,87 @@ + + + + + ColorBox Examples + + + + + + + +

ColorBox Demonstration

+

Elastic Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Fade Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

No Transition + fixed width and height (75% of screen size)

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Slideshow

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Other Content Types

+

Outside HTML (Ajax)

+

Flash / Video (Iframe/Direct Link To YouTube)

+

Flash / Video (Iframe/Direct Link To Vimeo)

+

Outside Webpage (Iframe)

+

Inline HTML

+ +

Demonstration of using callbacks

+

Example with alerts. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.

+ + +
+
+

This content comes from a hidden element on this page.

+

The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.

+

Click me, it will be preserved!

+ +

If you try to open a new ColorBox while it is already open, it will update itself with the new content.

+

Updating Content Example:
+ Click here to load new content

+
+
+ + \ No newline at end of file diff --git a/library/colorbox/example4/colorbox.css b/library/colorbox/example4/colorbox.css new file mode 100644 index 000000000..54560688a --- /dev/null +++ b/library/colorbox/example4/colorbox.css @@ -0,0 +1,82 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:#fff;} +#colorbox{} + #cboxTopLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 0;} + #cboxTopCenter{height:25px; background:url(images/border1.png) repeat-x 0 -50px;} + #cboxTopRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px 0;} + #cboxBottomLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 -25px;} + #cboxBottomCenter{height:25px; background:url(images/border1.png) repeat-x 0 -75px;} + #cboxBottomRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px -25px;} + #cboxMiddleLeft{width:25px; background:url(images/border2.png) repeat-y 0 0;} + #cboxMiddleRight{width:25px; background:url(images/border2.png) repeat-y -25px 0;} + #cboxContent{background:#fff; overflow:hidden;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{margin-bottom:20px;} + #cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;} + #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;} + #cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;} + #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;} + #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;} + #cboxLoadingOverlay{background:#fff url(images/loading.gif) no-repeat 5px 5px;} + #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;} + +/* + The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill + when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9. + See: http://jacklmoore.com/notes/ie-transparency-problems/ +*/ +.cboxIE #cboxTopLeft, +.cboxIE #cboxTopCenter, +.cboxIE #cboxTopRight, +.cboxIE #cboxBottomLeft, +.cboxIE #cboxBottomCenter, +.cboxIE #cboxBottomRight, +.cboxIE #cboxMiddleLeft, +.cboxIE #cboxMiddleRight { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); +} + +/* + The following provides PNG transparency support for IE6 + Feel free to remove this and the /ie6/ directory if you have dropped IE6 support. +*/ +.cboxIE6 #cboxTopLeft{background:url(images/ie6/borderTopLeft.png);} +.cboxIE6 #cboxTopCenter{background:url(images/ie6/borderTopCenter.png);} +.cboxIE6 #cboxTopRight{background:url(images/ie6/borderTopRight.png);} +.cboxIE6 #cboxBottomLeft{background:url(images/ie6/borderBottomLeft.png);} +.cboxIE6 #cboxBottomCenter{background:url(images/ie6/borderBottomCenter.png);} +.cboxIE6 #cboxBottomRight{background:url(images/ie6/borderBottomRight.png);} +.cboxIE6 #cboxMiddleLeft{background:url(images/ie6/borderMiddleLeft.png);} +.cboxIE6 #cboxMiddleRight{background:url(images/ie6/borderMiddleRight.png);} + +.cboxIE6 #cboxTopLeft, +.cboxIE6 #cboxTopCenter, +.cboxIE6 #cboxTopRight, +.cboxIE6 #cboxBottomLeft, +.cboxIE6 #cboxBottomCenter, +.cboxIE6 #cboxBottomRight, +.cboxIE6 #cboxMiddleLeft, +.cboxIE6 #cboxMiddleRight { + _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')"); +} diff --git a/library/colorbox/example4/images/border1.png b/library/colorbox/example4/images/border1.png new file mode 100644 index 000000000..0ddc70405 Binary files /dev/null and b/library/colorbox/example4/images/border1.png differ diff --git a/library/colorbox/example4/images/border2.png b/library/colorbox/example4/images/border2.png new file mode 100644 index 000000000..aa62a0b72 Binary files /dev/null and b/library/colorbox/example4/images/border2.png differ diff --git a/library/colorbox/example4/images/ie6/borderBottomCenter.png b/library/colorbox/example4/images/ie6/borderBottomCenter.png new file mode 100644 index 000000000..12e0e9ac0 Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderBottomCenter.png differ diff --git a/library/colorbox/example4/images/ie6/borderBottomLeft.png b/library/colorbox/example4/images/ie6/borderBottomLeft.png new file mode 100644 index 000000000..b7a474ae0 Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderBottomLeft.png differ diff --git a/library/colorbox/example4/images/ie6/borderBottomRight.png b/library/colorbox/example4/images/ie6/borderBottomRight.png new file mode 100644 index 000000000..6b6cb159b Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderBottomRight.png differ diff --git a/library/colorbox/example4/images/ie6/borderMiddleLeft.png b/library/colorbox/example4/images/ie6/borderMiddleLeft.png new file mode 100644 index 000000000..8d0eb739d Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderMiddleLeft.png differ diff --git a/library/colorbox/example4/images/ie6/borderMiddleRight.png b/library/colorbox/example4/images/ie6/borderMiddleRight.png new file mode 100644 index 000000000..d65509e30 Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderMiddleRight.png differ diff --git a/library/colorbox/example4/images/ie6/borderTopCenter.png b/library/colorbox/example4/images/ie6/borderTopCenter.png new file mode 100644 index 000000000..35d8da2d0 Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderTopCenter.png differ diff --git a/library/colorbox/example4/images/ie6/borderTopLeft.png b/library/colorbox/example4/images/ie6/borderTopLeft.png new file mode 100644 index 000000000..ae9bda040 Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderTopLeft.png differ diff --git a/library/colorbox/example4/images/ie6/borderTopRight.png b/library/colorbox/example4/images/ie6/borderTopRight.png new file mode 100644 index 000000000..0d8868399 Binary files /dev/null and b/library/colorbox/example4/images/ie6/borderTopRight.png differ diff --git a/library/colorbox/example4/images/loading.gif b/library/colorbox/example4/images/loading.gif new file mode 100644 index 000000000..602ce3c3a Binary files /dev/null and b/library/colorbox/example4/images/loading.gif differ diff --git a/library/colorbox/example4/index.html b/library/colorbox/example4/index.html new file mode 100644 index 000000000..727fe78d7 --- /dev/null +++ b/library/colorbox/example4/index.html @@ -0,0 +1,87 @@ + + + + + ColorBox Examples + + + + + + + +

ColorBox Demonstration

+

Elastic Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Fade Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

No Transition + fixed width and height (75% of screen size)

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Slideshow

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Other Content Types

+

Outside HTML (Ajax)

+

Flash / Video (Iframe/Direct Link To YouTube)

+

Flash / Video (Iframe/Direct Link To Vimeo)

+

Outside Webpage (Iframe)

+

Inline HTML

+ +

Demonstration of using callbacks

+

Example with alerts. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.

+ + +
+
+

This content comes from a hidden element on this page.

+

The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.

+

Click me, it will be preserved!

+ +

If you try to open a new ColorBox while it is already open, it will update itself with the new content.

+

Updating Content Example:
+ Click here to load new content

+
+
+ + \ No newline at end of file diff --git a/library/colorbox/example5/colorbox.css b/library/colorbox/example5/colorbox.css new file mode 100644 index 000000000..544a76f3b --- /dev/null +++ b/library/colorbox/example5/colorbox.css @@ -0,0 +1,52 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:#000;} +#colorbox{} + #cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;} + #cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;} + #cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;} + #cboxBottomLeft{width:14px; height:43px; background:url(images/controls.png) no-repeat 0 -32px;} + #cboxBottomCenter{height:43px; background:url(images/border.png) repeat-x bottom left;} + #cboxBottomRight{width:14px; height:43px; background:url(images/controls.png) no-repeat -36px -32px;} + #cboxMiddleLeft{width:14px; background:url(images/controls.png) repeat-y -175px 0;} + #cboxMiddleRight{width:14px; background:url(images/controls.png) repeat-y -211px 0;} + #cboxContent{background:#fff; overflow:visible;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{margin-bottom:5px;} + #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;} + #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} + #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;} + #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;} + + #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;} + #cboxPrevious{left:0px; background-position: -51px -25px;} + #cboxPrevious:hover{background-position:-51px 0px;} + #cboxNext{left:27px; background-position:-75px -25px;} + #cboxNext:hover{background-position:-75px 0px;} + #cboxClose{right:0; background-position:-100px -25px;} + #cboxClose:hover{background-position:-100px 0px;} + + .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;} + .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;} + .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;} + .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;} \ No newline at end of file diff --git a/library/colorbox/example5/images/border.png b/library/colorbox/example5/images/border.png new file mode 100644 index 000000000..df13bb6da Binary files /dev/null and b/library/colorbox/example5/images/border.png differ diff --git a/library/colorbox/example5/images/controls.png b/library/colorbox/example5/images/controls.png new file mode 100644 index 000000000..65cfd1dc9 Binary files /dev/null and b/library/colorbox/example5/images/controls.png differ diff --git a/library/colorbox/example5/images/loading.gif b/library/colorbox/example5/images/loading.gif new file mode 100644 index 000000000..b4695d811 Binary files /dev/null and b/library/colorbox/example5/images/loading.gif differ diff --git a/library/colorbox/example5/images/loading_background.png b/library/colorbox/example5/images/loading_background.png new file mode 100644 index 000000000..9de11f467 Binary files /dev/null and b/library/colorbox/example5/images/loading_background.png differ diff --git a/library/colorbox/example5/index.html b/library/colorbox/example5/index.html new file mode 100644 index 000000000..727fe78d7 --- /dev/null +++ b/library/colorbox/example5/index.html @@ -0,0 +1,87 @@ + + + + + ColorBox Examples + + + + + + + +

ColorBox Demonstration

+

Elastic Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Fade Transition

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

No Transition + fixed width and height (75% of screen size)

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Slideshow

+

Grouped Photo 1

+

Grouped Photo 2

+

Grouped Photo 3

+ +

Other Content Types

+

Outside HTML (Ajax)

+

Flash / Video (Iframe/Direct Link To YouTube)

+

Flash / Video (Iframe/Direct Link To Vimeo)

+

Outside Webpage (Iframe)

+

Inline HTML

+ +

Demonstration of using callbacks

+

Example with alerts. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.

+ + +
+
+

This content comes from a hidden element on this page.

+

The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.

+

Click me, it will be preserved!

+ +

If you try to open a new ColorBox while it is already open, it will update itself with the new content.

+

Updating Content Example:
+ Click here to load new content

+
+
+ + \ No newline at end of file diff --git a/library/colorbox/i18n/jquery.colorbox-cs.js b/library/colorbox/i18n/jquery.colorbox-cs.js new file mode 100644 index 000000000..42114c0a7 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-cs.js @@ -0,0 +1,14 @@ +/* + jQuery ColorBox language configuration + language: Czech (cs) + translated by: Filip Novak + site: mame.napilno.cz/filip-novak +*/ +jQuery.extend(jQuery.colorbox.settings, { + current: "{current}. obrázek z {total}", + previous: "Předchozí", + next: "Následující", + close: "Zavřít", + xhrError: "Obsah se nepodařilo načíst.", + imgError: "Obrázek se nepodařilo načíst." +}); \ No newline at end of file diff --git a/library/colorbox/i18n/jquery.colorbox-da.js b/library/colorbox/i18n/jquery.colorbox-da.js new file mode 100644 index 000000000..66bfb6cd0 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-da.js @@ -0,0 +1,14 @@ +/* + jQuery ColorBox language configuration + language: Danish (da) + translated by: danieljuhl + site: danieljuhl.dk +*/ +jQuery.extend(jQuery.colorbox.settings, { + current: "Billede {current} af {total}", + previous: "Forrige", + next: "Næste", + close: "Luk", + xhrError: "Indholdet fejlede i indlæsningen.", + imgError: "Billedet fejlede i indlæsningen." +}); diff --git a/library/colorbox/i18n/jquery.colorbox-de.js b/library/colorbox/i18n/jquery.colorbox-de.js new file mode 100644 index 000000000..3d6e2e147 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-de.js @@ -0,0 +1,13 @@ +/* + jQuery ColorBox language configuration + language: German (de) + translated by: wallenium +*/ +jQuery.extend(jQuery.colorbox.settings, { + current: "Bild {current} von {total}", + previous: "Zurück", + next: "Vor", + close: "Schließen", + xhrError: "Dieser Inhalt konnte nicht geladen werden.", + imgError: "Dieses Bild konnte nicht geladen werden." +}); \ No newline at end of file diff --git a/library/colorbox/i18n/jquery.colorbox-es.js b/library/colorbox/i18n/jquery.colorbox-es.js new file mode 100644 index 000000000..6449c66f8 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-es.js @@ -0,0 +1,13 @@ +/* + jQuery ColorBox language configuration + language: Spanish (es) + translated by: migolo +*/ +jQuery.extend(jQuery.colorbox.settings, { + current: "Imagen {current} de {total}", + previous: "Anterior", + next: "Siguiente", + close: "Cerrar", + xhrError: "Error en la carga del contenido.", + imgError: "Error en la carga de la imagen." +}); diff --git a/library/colorbox/i18n/jquery.colorbox-fr.js b/library/colorbox/i18n/jquery.colorbox-fr.js new file mode 100644 index 000000000..f6afe3fd4 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-fr.js @@ -0,0 +1,14 @@ +/* + jQuery ColorBox language configuration + language: French (fr) + translated by: oaubert +*/ +jQuery.extend(jQuery.colorbox.settings, { +current: "image {current} sur {total}", +previous: "précédente", +next: "suivante", +close: "fermer", +xhrError: "Impossible de charger ce contenu.", +imgError: "Impossible de charger cette image." +}); + diff --git a/library/colorbox/i18n/jquery.colorbox-it.js b/library/colorbox/i18n/jquery.colorbox-it.js new file mode 100644 index 000000000..d67d76cf7 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-it.js @@ -0,0 +1,13 @@ +/* + jQuery ColorBox language configuration + language: Italian (it) + translated by: maur8ino +*/ +jQuery.extend(jQuery.colorbox.settings, { + current: "Immagine {current} di {total}", + previous: "Precedente", + next: "Successiva", + close: "Chiudi", + xhrError: "Errore nel caricamento del contenuto.", + imgError: "Errore nel caricamento dell'immagine." +}); diff --git a/library/colorbox/i18n/jquery.colorbox-ru.js b/library/colorbox/i18n/jquery.colorbox-ru.js new file mode 100644 index 000000000..c9c220068 --- /dev/null +++ b/library/colorbox/i18n/jquery.colorbox-ru.js @@ -0,0 +1,14 @@ +/* + jQuery ColorBox language configuration + language: Russian (ru) + translated by: Marfa + site: themarfa.name +*/ +jQuery.extend(jQuery.colorbox.settings, { + current: "изображение {current} из {total}", + previous: "предыдущее", + next: "следующее", + close: "закрыть", + xhrError: "Не удалось загрузить содержимое.", + imgError: "Не удалось загрузить изображение." +}); \ No newline at end of file diff --git a/library/colorbox/images/border.png b/library/colorbox/images/border.png new file mode 100644 index 000000000..df13bb6da Binary files /dev/null and b/library/colorbox/images/border.png differ diff --git a/library/colorbox/images/controls.png b/library/colorbox/images/controls.png new file mode 100644 index 000000000..65cfd1dc9 Binary files /dev/null and b/library/colorbox/images/controls.png differ diff --git a/library/colorbox/images/loading.gif b/library/colorbox/images/loading.gif new file mode 100644 index 000000000..b4695d811 Binary files /dev/null and b/library/colorbox/images/loading.gif differ diff --git a/library/colorbox/images/loading_background.png b/library/colorbox/images/loading_background.png new file mode 100644 index 000000000..9de11f467 Binary files /dev/null and b/library/colorbox/images/loading_background.png differ diff --git a/library/colorbox/jquery.colorbox-min.js b/library/colorbox/jquery.colorbox-min.js new file mode 100644 index 000000000..969064042 --- /dev/null +++ b/library/colorbox/jquery.colorbox-min.js @@ -0,0 +1 @@ +(function($,document,window){var defaults={transition:"elastic",speed:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,inline:false,html:false,iframe:false,fastIframe:true,photo:false,href:false,title:false,rel:false,opacity:.9,preloading:true,className:false,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:false,returnFocus:true,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined},colorbox="colorbox",prefix="cbox",boxElement=prefix+"Element",event_open=prefix+"_open",event_load=prefix+"_load",event_complete=prefix+"_complete",event_cleanup=prefix+"_cleanup",event_closed=prefix+"_closed",event_purge=prefix+"_purge",isIE=!$.support.leadingWhitespace,isIE6=isIE&&!window.XMLHttpRequest,event_ie6=prefix+"_IE6",$overlay,$box,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$title,$current,$slideshow,$next,$prev,$close,$groupControls,$events=$({}),settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",className,init;function $tag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id}if(css){element.style.cssText=css}return $(element)}function getIndex(increment){var max=$related.length,newIndex=(index+increment)%max;return newIndex<0?max+newIndex:newIndex}function setSize(size,dimension){return Math.round((/%/.test(size)?(dimension==="x"?$window.width():$window.height())/100:1)*parseInt(size,10))}function isImage(url){return settings.photo||/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(url)}function makeSettings(){var i,data=$.data(element,colorbox);if(data==null){settings=$.extend({},defaults);if(console&&console.log){console.log("Error: cboxElement missing settings object")}}else{settings=$.extend({},data)}for(i in settings){if($.isFunction(settings[i])&&i.slice(0,2)!=="on"){settings[i]=settings[i].call(element)}}settings.rel=settings.rel||element.rel||$(element).data("rel")||"nofollow";settings.href=settings.href||$(element).attr("href");settings.title=settings.title||element.title;if(typeof settings.href==="string"){settings.href=$.trim(settings.href)}}function trigger(event,callback){$(document).trigger(event);$events.trigger(event);if($.isFunction(callback)){callback.call(element)}}function slideshow(){var timeOut,className=prefix+"Slideshow_",click="click."+prefix,clear,set,start,stop;if(settings.slideshow&&$related[1]){clear=function(){clearTimeout(timeOut)};set=function(){if(settings.loop||$related[index+1]){timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed)}};start=function(){$slideshow.html(settings.slideshowStop).unbind(click).one(click,stop);$events.bind(event_complete,set).bind(event_load,clear).bind(event_cleanup,stop);$box.removeClass(className+"off").addClass(className+"on")};stop=function(){clear();$events.unbind(event_complete,set).unbind(event_load,clear).unbind(event_cleanup,stop);$slideshow.html(settings.slideshowStart).unbind(click).one(click,function(){publicMethod.next();start()});$box.removeClass(className+"on").addClass(className+"off")};if(settings.slideshowAuto){start()}else{stop()}}else{$box.removeClass(className+"off "+className+"on")}}function launch(target){if(!closing){element=target;makeSettings();$related=$(element);index=0;if(settings.rel!=="nofollow"){$related=$("."+boxElement).filter(function(){var data=$.data(this,colorbox),relRelated;if(data){relRelated=$(this).data("rel")||data.rel||this.rel}return relRelated===settings.rel});index=$related.index(element);if(index===-1){$related=$related.add(element);index=$related.length-1}}if(!open){open=active=true;$box.css({visibility:"hidden",display:"block"});$loaded=$tag(div,"LoadedContent","width:0; height:0; overflow:hidden").appendTo($content);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();loadedHeight=$loaded.outerHeight(true);loadedWidth=$loaded.outerWidth(true);if(settings.returnFocus){$(element).blur();$events.one(event_closed,function(){$(element).focus()})}$overlay.css({opacity:parseFloat(settings.opacity),cursor:settings.overlayClose?"pointer":"auto",visibility:"visible"}).show();settings.w=setSize(settings.initialWidth,"x");settings.h=setSize(settings.initialHeight,"y");publicMethod.position();if(isIE6){$window.bind("resize."+event_ie6+" scroll."+event_ie6,function(){$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()})}).trigger("resize."+event_ie6)}slideshow();trigger(event_open,settings.onOpen);$groupControls.add($title).hide();$close.html(settings.close).show()}publicMethod.load(true)}}function appendHTML(){if(!$box&&document.body){init=false;$window=$(window);$box=$tag(div).attr({id:colorbox,"class":isIE?prefix+(isIE6?"IE6":"IE"):""}).hide();$overlay=$tag(div,"Overlay",isIE6?"position:absolute":"").hide();$loadingOverlay=$tag(div,"LoadingOverlay").add($tag(div,"LoadingGraphic"));$wrap=$tag(div,"Wrapper");$content=$tag(div,"Content").append($title=$tag(div,"Title"),$current=$tag(div,"Current"),$next=$tag(div,"Next"),$prev=$tag(div,"Previous"),$slideshow=$tag(div,"Slideshow"),$close=$tag(div,"Close"));$wrap.append($tag(div).append($tag(div,"TopLeft"),$topBorder=$tag(div,"TopCenter"),$tag(div,"TopRight")),$tag(div,false,"clear:left").append($leftBorder=$tag(div,"MiddleLeft"),$content,$rightBorder=$tag(div,"MiddleRight")),$tag(div,false,"clear:left").append($tag(div,"BottomLeft"),$bottomBorder=$tag(div,"BottomCenter"),$tag(div,"BottomRight"))).find("div div").css({"float":"left"});$loadingBay=$tag(div,false,"position:absolute; width:9999px; visibility:hidden; display:none");$groupControls=$next.add($prev).add($current).add($slideshow);$(document.body).append($overlay,$box.append($wrap,$loadingBay))}}function addBindings(){function clickHandler(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey)){e.preventDefault();launch(this)}}if($box){if(!init){init=true;$next.click(function(){publicMethod.next()});$prev.click(function(){publicMethod.prev()});$close.click(function(){publicMethod.close()});$overlay.click(function(){if(settings.overlayClose){publicMethod.close()}});$(document).bind("keydown."+prefix,function(e){var key=e.keyCode;if(open&&settings.escKey&&key===27){e.preventDefault();publicMethod.close()}if(open&&settings.arrowKey&&$related[1]){if(key===37){e.preventDefault();$prev.click()}else if(key===39){e.preventDefault();$next.click()}}});if($.isFunction($.fn.on)){$(document).on("click."+prefix,"."+boxElement,clickHandler)}else{$("."+boxElement).live("click."+prefix,clickHandler)}}return true}return false}if($.colorbox){return}$(appendHTML);publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){var $this=this;options=options||{};appendHTML();if(addBindings()){if($.isFunction($this)){$this=$("");options.open=true}else if(!$this[0]){return $this}if(callback){options.onComplete=callback}$this.each(function(){$.data(this,colorbox,$.extend({},$.data(this,colorbox)||defaults,options))}).addClass(boxElement);if($.isFunction(options.open)&&options.open.call($this)||options.open){launch($this[0])}}return $this};publicMethod.position=function(speed,loadedCallback){var css,top=0,left=0,offset=$box.offset(),scrollTop,scrollLeft;$window.unbind("resize."+prefix);$box.css({top:-9e4,left:-9e4});scrollTop=$window.scrollTop();scrollLeft=$window.scrollLeft();if(settings.fixed&&!isIE6){offset.top-=scrollTop;offset.left-=scrollLeft;$box.css({position:"fixed"})}else{top=scrollTop;left=scrollLeft;$box.css({position:"absolute"})}if(settings.right!==false){left+=Math.max($window.width()-settings.w-loadedWidth-interfaceWidth-setSize(settings.right,"x"),0)}else if(settings.left!==false){left+=setSize(settings.left,"x")}else{left+=Math.round(Math.max($window.width()-settings.w-loadedWidth-interfaceWidth,0)/2)}if(settings.bottom!==false){top+=Math.max($window.height()-settings.h-loadedHeight-interfaceHeight-setSize(settings.bottom,"y"),0)}else if(settings.top!==false){top+=setSize(settings.top,"y")}else{top+=Math.round(Math.max($window.height()-settings.h-loadedHeight-interfaceHeight,0)/2)}$box.css({top:offset.top,left:offset.left,visibility:"visible"});speed=$box.width()===settings.w+loadedWidth&&$box.height()===settings.h+loadedHeight?0:speed||0;$wrap[0].style.width=$wrap[0].style.height="9999px";function modalDimensions(that){$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=parseInt(that.style.width,10)-interfaceWidth+"px";$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=parseInt(that.style.height,10)-interfaceHeight+"px"}css={width:settings.w+loadedWidth+interfaceWidth,height:settings.h+loadedHeight+interfaceHeight,top:top,left:left};if(speed===0){$box.css(css)}$box.dequeue().animate(css,{duration:speed,complete:function(){modalDimensions(this);active=false;$wrap[0].style.width=settings.w+loadedWidth+interfaceWidth+"px";$wrap[0].style.height=settings.h+loadedHeight+interfaceHeight+"px";if(settings.reposition){setTimeout(function(){$window.bind("resize."+prefix,publicMethod.position)},1)}if(loadedCallback){loadedCallback()}},step:function(){modalDimensions(this)}})};publicMethod.resize=function(options){if(open){options=options||{};if(options.width){settings.w=setSize(options.width,"x")-loadedWidth-interfaceWidth}if(options.innerWidth){settings.w=setSize(options.innerWidth,"x")}$loaded.css({width:settings.w});if(options.height){settings.h=setSize(options.height,"y")-loadedHeight-interfaceHeight}if(options.innerHeight){settings.h=setSize(options.innerHeight,"y")}if(!options.innerHeight&&!options.height){$loaded.css({height:"auto"});settings.h=$loaded.height()}$loaded.css({height:settings.h});publicMethod.position(settings.transition==="none"?0:settings.speed)}};publicMethod.prep=function(object){if(!open){return}var callback,speed=settings.transition==="none"?0:settings.speed;$loaded.empty().remove();$loaded=$tag(div,"LoadedContent").append(object);function getWidth(){settings.w=settings.w||$loaded.width();settings.w=settings.mw&&settings.mw1){if(typeof settings.current==="string"){$current.html(settings.current.replace("{current}",index+1).replace("{total}",total)).show()}$next[settings.loop||indexsettings.mw){percent=(photo.width-settings.mw)/photo.width;setResize()}if(settings.mh&&photo.height>settings.mh){percent=(photo.height-settings.mh)/photo.height;setResize()}}if(settings.h){photo.style.marginTop=Math.max(settings.mh-photo.height,0)/2+"px"}if($related[1]&&(settings.loop||$related[index+1])){photo.style.cursor="pointer";photo.onclick=function(){publicMethod.next()}}if(isIE){photo.style.msInterpolationMode="bicubic"}setTimeout(function(){prep(photo)},1)});setTimeout(function(){photo.src=href},1)}else if(href){$loadingBay.load(href,settings.data,function(data,status){prep(status==="error"?$tag(div,"Error").html(settings.xhrError):$(this).contents())})}};publicMethod.next=function(){if(!active&&$related[1]&&(settings.loop||$related[index+1])){index=getIndex(1);publicMethod.load()}};publicMethod.prev=function(){if(!active&&$related[1]&&(settings.loop||index)){index=getIndex(-1);publicMethod.load()}};publicMethod.close=function(){if(open&&!closing){closing=true;open=false;trigger(event_cleanup,settings.onCleanup);$window.unbind("."+prefix+" ."+event_ie6);$overlay.fadeTo(200,0);$box.stop().fadeTo(300,0,function(){$box.add($overlay).css({opacity:1,cursor:"auto"}).hide();trigger(event_purge);$loaded.empty().remove();setTimeout(function(){closing=false;trigger(event_closed,settings.onClosed)},1)})}};publicMethod.remove=function(){$([]).add($box).add($overlay).remove();$box=null;$("."+boxElement).removeData(colorbox).removeClass(boxElement);$(document).unbind("click."+prefix)};publicMethod.element=function(){return $(element)};publicMethod.settings=defaults})(jQuery,document,window); \ No newline at end of file diff --git a/library/colorbox/jquery.colorbox.js b/library/colorbox/jquery.colorbox.js new file mode 100644 index 000000000..5b9aecdc2 --- /dev/null +++ b/library/colorbox/jquery.colorbox.js @@ -0,0 +1,975 @@ +/* + jQuery ColorBox v1.3.32 - 2013-01-31 + (c) 2013 Jack Moore - jacklmoore.com/colorbox + license: http://www.opensource.org/licenses/mit-license.php +*/ +(function ($, document, window) { + var + // Default settings object. + // See http://jacklmoore.com/colorbox for details. + defaults = { + transition: "elastic", + speed: 300, + width: false, + initialWidth: "600", + innerWidth: false, + maxWidth: false, + height: false, + initialHeight: "450", + innerHeight: false, + maxHeight: false, + scalePhotos: true, + scrolling: true, + inline: false, + html: false, + iframe: false, + fastIframe: true, + photo: false, + href: false, + title: false, + rel: false, + opacity: 0.9, + preloading: true, + className: false, + + current: "image {current} of {total}", + previous: "previous", + next: "next", + close: "close", + xhrError: "This content failed to load.", + imgError: "This image failed to load.", + + open: false, + returnFocus: true, + reposition: true, + loop: true, + slideshow: false, + slideshowAuto: true, + slideshowSpeed: 2500, + slideshowStart: "start slideshow", + slideshowStop: "stop slideshow", + onOpen: false, + onLoad: false, + onComplete: false, + onCleanup: false, + onClosed: false, + overlayClose: true, + escKey: true, + arrowKey: true, + top: false, + bottom: false, + left: false, + right: false, + fixed: false, + data: undefined + }, + + // Abstracting the HTML and event identifiers for easy rebranding + colorbox = 'colorbox', + prefix = 'cbox', + boxElement = prefix + 'Element', + + // Events + event_open = prefix + '_open', + event_load = prefix + '_load', + event_complete = prefix + '_complete', + event_cleanup = prefix + '_cleanup', + event_closed = prefix + '_closed', + event_purge = prefix + '_purge', + + // Special Handling for IE + isIE = !$.support.leadingWhitespace, // IE6 to IE8 + isIE6 = isIE && !window.XMLHttpRequest, // IE6 + event_ie6 = prefix + '_IE6', + + // Cached jQuery Object Variables + $overlay, + $box, + $wrap, + $content, + $topBorder, + $leftBorder, + $rightBorder, + $bottomBorder, + $related, + $window, + $loaded, + $loadingBay, + $loadingOverlay, + $title, + $current, + $slideshow, + $next, + $prev, + $close, + $groupControls, + $events = $({}), + + // Variables for cached values or use across multiple functions + settings, + interfaceHeight, + interfaceWidth, + loadedHeight, + loadedWidth, + element, + index, + photo, + open, + active, + closing, + loadingTimer, + publicMethod, + div = "div", + className, + init; + + // **************** + // HELPER FUNCTIONS + // **************** + + // Convience function for creating new jQuery objects + function $tag(tag, id, css) { + var element = document.createElement(tag); + + if (id) { + element.id = prefix + id; + } + + if (css) { + element.style.cssText = css; + } + + return $(element); + } + + // Determine the next and previous members in a group. + function getIndex(increment) { + var + max = $related.length, + newIndex = (index + increment) % max; + + return (newIndex < 0) ? max + newIndex : newIndex; + } + + // Convert '%' and 'px' values to integers + function setSize(size, dimension) { + return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : $window.height()) / 100) : 1) * parseInt(size, 10)); + } + + // Checks an href to see if it is a photo. + // There is a force photo option (photo: true) for hrefs that cannot be matched by this regex. + function isImage(url) { + return settings.photo || /\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(url); + } + + // Assigns function results to their respective properties + function makeSettings() { + var i, + data = $.data(element, colorbox); + + if (data == null) { + settings = $.extend({}, defaults); + if (console && console.log) { + console.log('Error: cboxElement missing settings object'); + } + } else { + settings = $.extend({}, data); + } + + for (i in settings) { + if ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time. + settings[i] = settings[i].call(element); + } + } + + settings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow'; + settings.href = settings.href || $(element).attr('href'); + settings.title = settings.title || element.title; + + if (typeof settings.href === "string") { + settings.href = $.trim(settings.href); + } + } + + function trigger(event, callback) { + // for external use + $(document).trigger(event); + + // for internal use + $events.trigger(event); + + if ($.isFunction(callback)) { + callback.call(element); + } + } + + // Slideshow functionality + function slideshow() { + var + timeOut, + className = prefix + "Slideshow_", + click = "click." + prefix, + clear, + set, + start, + stop; + + if (settings.slideshow && $related[1]) { + clear = function () { + clearTimeout(timeOut); + }; + + set = function () { + if (settings.loop || $related[index + 1]) { + timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed); + } + }; + + start = function () { + $slideshow + .html(settings.slideshowStop) + .unbind(click) + .one(click, stop); + + $events + .bind(event_complete, set) + .bind(event_load, clear) + .bind(event_cleanup, stop); + + $box.removeClass(className + "off").addClass(className + "on"); + }; + + stop = function () { + clear(); + + $events + .unbind(event_complete, set) + .unbind(event_load, clear) + .unbind(event_cleanup, stop); + + $slideshow + .html(settings.slideshowStart) + .unbind(click) + .one(click, function () { + publicMethod.next(); + start(); + }); + + $box.removeClass(className + "on").addClass(className + "off"); + }; + + if (settings.slideshowAuto) { + start(); + } else { + stop(); + } + } else { + $box.removeClass(className + "off " + className + "on"); + } + } + + function launch(target) { + if (!closing) { + + element = target; + + makeSettings(); + + $related = $(element); + + index = 0; + + if (settings.rel !== 'nofollow') { + $related = $('.' + boxElement).filter(function () { + var data = $.data(this, colorbox), + relRelated; + + if (data) { + relRelated = $(this).data('rel') || data.rel || this.rel; + } + + return (relRelated === settings.rel); + }); + index = $related.index(element); + + // Check direct calls to ColorBox. + if (index === -1) { + $related = $related.add(element); + index = $related.length - 1; + } + } + + if (!open) { + open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys. + + // Show colorbox so the sizes can be calculated in older versions of jQuery + $box.css({visibility:'hidden', display:'block'}); + + $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden').appendTo($content); + + // Cache values needed for size calculations + interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6 + interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width(); + loadedHeight = $loaded.outerHeight(true); + loadedWidth = $loaded.outerWidth(true); + + if (settings.returnFocus) { + $(element).blur(); + $events.one(event_closed, function () { + $(element).focus(); + }); + } + + $overlay.css({ + opacity: parseFloat(settings.opacity), + cursor: settings.overlayClose ? "pointer" : "auto", + visibility: 'visible' + }).show(); + + // Opens inital empty ColorBox prior to content being loaded. + settings.w = setSize(settings.initialWidth, 'x'); + settings.h = setSize(settings.initialHeight, 'y'); + publicMethod.position(); + + if (isIE6) { + $window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () { + $overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()}); + }).trigger('resize.' + event_ie6); + } + + slideshow(); + + trigger(event_open, settings.onOpen); + + $groupControls.add($title).hide(); + + $close.html(settings.close).show(); + } + + publicMethod.load(true); + } + } + + // ColorBox's markup needs to be added to the DOM prior to being called + // so that the browser will go ahead and load the CSS background images. + function appendHTML() { + if (!$box && document.body) { + init = false; + + $window = $(window); + $box = $tag(div).attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''}).hide(); + $overlay = $tag(div, "Overlay", isIE6 ? 'position:absolute' : '').hide(); + $loadingOverlay = $tag(div, "LoadingOverlay").add($tag(div, "LoadingGraphic")); + $wrap = $tag(div, "Wrapper"); + $content = $tag(div, "Content").append( + $title = $tag(div, "Title"), + $current = $tag(div, "Current"), + $next = $tag(div, "Next"), + $prev = $tag(div, "Previous"), + $slideshow = $tag(div, "Slideshow"), + $close = $tag(div, "Close") + ); + + $wrap.append( // The 3x3 Grid that makes up ColorBox + $tag(div).append( + $tag(div, "TopLeft"), + $topBorder = $tag(div, "TopCenter"), + $tag(div, "TopRight") + ), + $tag(div, false, 'clear:left').append( + $leftBorder = $tag(div, "MiddleLeft"), + $content, + $rightBorder = $tag(div, "MiddleRight") + ), + $tag(div, false, 'clear:left').append( + $tag(div, "BottomLeft"), + $bottomBorder = $tag(div, "BottomCenter"), + $tag(div, "BottomRight") + ) + ).find('div div').css({'float': 'left'}); + + $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none'); + + $groupControls = $next.add($prev).add($current).add($slideshow); + + $(document.body).append($overlay, $box.append($wrap, $loadingBay)); + } + } + + // Add ColorBox's event bindings + function addBindings() { + function clickHandler(e) { + // ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt. + // See: http://jacklmoore.com/notes/click-events/ + if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey)) { + e.preventDefault(); + launch(this); + } + } + + if ($box) { + if (!init) { + init = true; + + // Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly. + $next.click(function () { + publicMethod.next(); + }); + $prev.click(function () { + publicMethod.prev(); + }); + $close.click(function () { + publicMethod.close(); + }); + $overlay.click(function () { + if (settings.overlayClose) { + publicMethod.close(); + } + }); + + // Key Bindings + $(document).bind('keydown.' + prefix, function (e) { + var key = e.keyCode; + if (open && settings.escKey && key === 27) { + e.preventDefault(); + publicMethod.close(); + } + if (open && settings.arrowKey && $related[1]) { + if (key === 37) { + e.preventDefault(); + $prev.click(); + } else if (key === 39) { + e.preventDefault(); + $next.click(); + } + } + }); + + if ($.isFunction($.fn.on)) { + $(document).on('click.'+prefix, '.'+boxElement, clickHandler); + } else { // For jQuery 1.3.x -> 1.6.x + $('.'+boxElement).live('click.'+prefix, clickHandler); + } + } + return true; + } + return false; + } + + // Don't do anything if ColorBox already exists. + if ($.colorbox) { + return; + } + + // Append the HTML when the DOM loads + $(appendHTML); + + + // **************** + // PUBLIC FUNCTIONS + // Usage format: $.fn.colorbox.close(); + // Usage from within an iframe: parent.$.fn.colorbox.close(); + // **************** + + publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) { + var $this = this; + + options = options || {}; + + appendHTML(); + + if (addBindings()) { + if ($.isFunction($this)) { // assume a call to $.colorbox + $this = $(''); + options.open = true; + } else if (!$this[0]) { // colorbox being applied to empty collection + return $this; + } + + if (callback) { + options.onComplete = callback; + } + + $this.each(function () { + $.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options)); + }).addClass(boxElement); + + if (($.isFunction(options.open) && options.open.call($this)) || options.open) { + launch($this[0]); + } + } + + return $this; + }; + + publicMethod.position = function (speed, loadedCallback) { + var + css, + top = 0, + left = 0, + offset = $box.offset(), + scrollTop, + scrollLeft; + + $window.unbind('resize.' + prefix); + + // remove the modal so that it doesn't influence the document width/height + $box.css({top: -9e4, left: -9e4}); + + scrollTop = $window.scrollTop(); + scrollLeft = $window.scrollLeft(); + + if (settings.fixed && !isIE6) { + offset.top -= scrollTop; + offset.left -= scrollLeft; + $box.css({position: 'fixed'}); + } else { + top = scrollTop; + left = scrollLeft; + $box.css({position: 'absolute'}); + } + + // keeps the top and left positions within the browser's viewport. + if (settings.right !== false) { + left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0); + } else if (settings.left !== false) { + left += setSize(settings.left, 'x'); + } else { + left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2); + } + + if (settings.bottom !== false) { + top += Math.max($window.height() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0); + } else if (settings.top !== false) { + top += setSize(settings.top, 'y'); + } else { + top += Math.round(Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2); + } + + $box.css({top: offset.top, left: offset.left, visibility:'visible'}); + + // setting the speed to 0 to reduce the delay between same-sized content. + speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0; + + // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly, + // but it has to be shrank down around the size of div#colorbox when it's done. If not, + // it can invoke an obscure IE bug when using iframes. + $wrap[0].style.width = $wrap[0].style.height = "9999px"; + + function modalDimensions(that) { + $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt(that.style.width,10) - interfaceWidth)+'px'; + $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt(that.style.height,10) - interfaceHeight)+'px'; + } + + css = {width: settings.w + loadedWidth + interfaceWidth, height: settings.h + loadedHeight + interfaceHeight, top: top, left: left}; + + if(speed===0){ // temporary workaround to side-step jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273) + $box.css(css); + } + $box.dequeue().animate(css, { + duration: speed, + complete: function () { + modalDimensions(this); + + active = false; + + // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation. + $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px"; + $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px"; + + if (settings.reposition) { + setTimeout(function () { // small delay before binding onresize due to an IE8 bug. + $window.bind('resize.' + prefix, publicMethod.position); + }, 1); + } + + if (loadedCallback) { + loadedCallback(); + } + }, + step: function () { + modalDimensions(this); + } + }); + }; + + publicMethod.resize = function (options) { + if (open) { + options = options || {}; + + if (options.width) { + settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth; + } + if (options.innerWidth) { + settings.w = setSize(options.innerWidth, 'x'); + } + $loaded.css({width: settings.w}); + + if (options.height) { + settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight; + } + if (options.innerHeight) { + settings.h = setSize(options.innerHeight, 'y'); + } + if (!options.innerHeight && !options.height) { + $loaded.css({height: "auto"}); + settings.h = $loaded.height(); + } + $loaded.css({height: settings.h}); + + publicMethod.position(settings.transition === "none" ? 0 : settings.speed); + } + }; + + publicMethod.prep = function (object) { + if (!open) { + return; + } + + var callback, speed = settings.transition === "none" ? 0 : settings.speed; + + $loaded.empty().remove(); // Using empty first may prevent some IE7 issues. + + $loaded = $tag(div, 'LoadedContent').append(object); + + function getWidth() { + settings.w = settings.w || $loaded.width(); + settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w; + return settings.w; + } + function getHeight() { + settings.h = settings.h || $loaded.height(); + settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h; + return settings.h; + } + + $loaded.hide() + .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations. + .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'}) + .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height. + .prependTo($content); + + $loadingBay.hide(); + + // floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width. + //$(photo).css({'float': 'none', marginLeft: 'auto', marginRight: 'auto'}); + + $(photo).css({'float': 'none'}); + + + callback = function () { + var total = $related.length, + iframe, + frameBorder = 'frameBorder', + allowTransparency = 'allowTransparency', + complete; + + if (!open) { + return; + } + + function removeFilter() { + if (isIE) { + $box[0].style.removeAttribute('filter'); + } + } + + complete = function () { + clearTimeout(loadingTimer); + $loadingOverlay.remove(); + trigger(event_complete, settings.onComplete); + }; + + if (isIE) { + //This fadeIn helps the bicubic resampling to kick-in. + if (photo) { + $loaded.fadeIn(100); + } + } + + $title.html(settings.title).add($loaded).show(); + + if (total > 1) { // handle grouping + if (typeof settings.current === "string") { + $current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show(); + } + + $next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next); + $prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous); + + if (settings.slideshow) { + $slideshow.show(); + } + + // Preloads images within a rel group + if (settings.preloading) { + $.each([getIndex(-1), getIndex(1)], function(){ + var src, + img, + i = $related[this], + data = $.data(i, colorbox); + + if (data && data.href) { + src = data.href; + if ($.isFunction(src)) { + src = src.call(i); + } + } else { + src = $(i).attr('href'); + } + + if (src && (isImage(src) || data.photo)) { + img = new Image(); + img.src = src; + } + }); + } + } else { + $groupControls.hide(); + } + + if (settings.iframe) { + iframe = $tag('iframe')[0]; + + if (frameBorder in iframe) { + iframe[frameBorder] = 0; + } + + if (allowTransparency in iframe) { + iframe[allowTransparency] = "true"; + } + + if (!settings.scrolling) { + iframe.scrolling = "no"; + } + + $(iframe) + .attr({ + src: settings.href, + name: (new Date()).getTime(), // give the iframe a unique name to prevent caching + 'class': prefix + 'Iframe', + allowFullScreen : true, // allow HTML5 video to go fullscreen + webkitAllowFullScreen : true, + mozallowfullscreen : true + }) + .one('load', complete) + .appendTo($loaded); + + $events.one(event_purge, function () { + iframe.src = "//about:blank"; + }); + + if (settings.fastIframe) { + $(iframe).trigger('load'); + } + } else { + complete(); + } + + if (settings.transition === 'fade') { + $box.fadeTo(speed, 1, removeFilter); + } else { + removeFilter(); + } + }; + + if (settings.transition === 'fade') { + $box.fadeTo(speed, 0, function () { + publicMethod.position(0, callback); + }); + } else { + publicMethod.position(speed, callback); + } + }; + + publicMethod.load = function (launched) { + var href, setResize, prep = publicMethod.prep, $inline; + + active = true; + + photo = false; + + element = $related[index]; + + if (!launched) { + makeSettings(); + } + + if (className) { + $box.add($overlay).removeClass(className); + } + if (settings.className) { + $box.add($overlay).addClass(settings.className); + } + className = settings.className; + + trigger(event_purge); + + trigger(event_load, settings.onLoad); + + settings.h = settings.height ? + setSize(settings.height, 'y') - loadedHeight - interfaceHeight : + settings.innerHeight && setSize(settings.innerHeight, 'y'); + + settings.w = settings.width ? + setSize(settings.width, 'x') - loadedWidth - interfaceWidth : + settings.innerWidth && setSize(settings.innerWidth, 'x'); + + // Sets the minimum dimensions for use in image scaling + settings.mw = settings.w; + settings.mh = settings.h; + + // Re-evaluate the minimum width and height based on maxWidth and maxHeight values. + // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead. + if (settings.maxWidth) { + settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth; + settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw; + } + if (settings.maxHeight) { + settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight; + settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh; + } + + href = settings.href; + + loadingTimer = setTimeout(function () { + $loadingOverlay.appendTo($content); + }, 100); + + if (settings.inline) { + // Inserts an empty placeholder where inline content is being pulled from. + // An event is bound to put inline content back when ColorBox closes or loads new content. + $inline = $tag(div).hide().insertBefore($(href)[0]); + + $events.one(event_purge, function () { + $inline.replaceWith($loaded.children()); + }); + + prep($(href)); + } else if (settings.iframe) { + // IFrame element won't be added to the DOM until it is ready to be displayed, + // to avoid problems with DOM-ready JS that might be trying to run in that iframe. + prep(" "); + } else if (settings.html) { + prep(settings.html); + } else if (isImage(href)) { + $(photo = new Image()) + .addClass(prefix + 'Photo') + .bind('error',function () { + settings.title = false; + prep($tag(div, 'Error').html(settings.imgError)); + }) + .one('load', function () { + var percent; + + if (settings.scalePhotos) { + setResize = function () { + photo.height -= photo.height * percent; + photo.width -= photo.width * percent; + }; + if (settings.mw && photo.width > settings.mw) { + percent = (photo.width - settings.mw) / photo.width; + setResize(); + } + if (settings.mh && photo.height > settings.mh) { + percent = (photo.height - settings.mh) / photo.height; + setResize(); + } + } + + if (settings.h) { + photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px'; + } + + if ($related[1] && (settings.loop || $related[index + 1])) { + photo.style.cursor = 'pointer'; + photo.onclick = function () { + publicMethod.next(); + }; + } + + if (isIE) { + photo.style.msInterpolationMode = 'bicubic'; + } + + setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise. + prep(photo); + }, 1); + }); + + setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise. + photo.src = href; + }, 1); + } else if (href) { + $loadingBay.load(href, settings.data, function (data, status) { + prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents()); + }); + } + }; + + // Navigates to the next page/image in a set. + publicMethod.next = function () { + if (!active && $related[1] && (settings.loop || $related[index + 1])) { + index = getIndex(1); + publicMethod.load(); + } + }; + + publicMethod.prev = function () { + if (!active && $related[1] && (settings.loop || index)) { + index = getIndex(-1); + publicMethod.load(); + } + }; + + // Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close(); + publicMethod.close = function () { + if (open && !closing) { + + closing = true; + + open = false; + + trigger(event_cleanup, settings.onCleanup); + + $window.unbind('.' + prefix + ' .' + event_ie6); + + $overlay.fadeTo(200, 0); + + $box.stop().fadeTo(300, 0, function () { + + $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide(); + + trigger(event_purge); + + $loaded.empty().remove(); // Using empty first may prevent some IE7 issues. + + setTimeout(function () { + closing = false; + trigger(event_closed, settings.onClosed); + }, 1); + }); + } + }; + + // Removes changes ColorBox made to the document, but does not remove the plugin + // from jQuery. + publicMethod.remove = function () { + $([]).add($box).add($overlay).remove(); + $box = null; + $('.' + boxElement) + .removeData(colorbox) + .removeClass(boxElement); + + $(document).unbind('click.'+prefix); + }; + + // A method for fetching the current element ColorBox is referencing. + // returns a jQuery object. + publicMethod.element = function () { + return $(element); + }; + + publicMethod.settings = defaults; + +}(jQuery, document, window)); -- cgit v1.2.3