From ae28f6ef01347f7a38370aab42d4e959d8a72038 Mon Sep 17 00:00:00 2001 From: Grischa Brockhaus Date: Thu, 24 Nov 2022 23:48:08 +0100 Subject: [PATCH 1/5] AddOn Fancybox This addon loads all media attachments of a post into a "fancybox" instead of linking directly to the media. Each post gets its own attachment library, when there are more than one media attached you can scroll through them. --- fancybox/CHANGELOG.md | 9 + fancybox/README.md | 19 + fancybox/asset/fancybox/README.md | 62 + fancybox/asset/fancybox/fancybox.config.js | 3 + fancybox/asset/fancybox/jquery.fancybox.css | 895 +++ fancybox/asset/fancybox/jquery.fancybox.js | 5632 +++++++++++++++++ .../asset/fancybox/jquery.fancybox.min.css | 1 + .../asset/fancybox/jquery.fancybox.min.js | 13 + fancybox/createrelease | 17 + fancybox/dist/release.zip | Bin 0 -> 71194 bytes fancybox/fancybox.php | 61 + fancybox/test/fancybox-3.5.7.zip | Bin 0 -> 140771 bytes fancybox/test/imagetest.html | 21 + fancybox/test/test.html | 14 + fancybox/test/test.out.html | 14 + 15 files changed, 6761 insertions(+) create mode 100644 fancybox/CHANGELOG.md create mode 100644 fancybox/README.md create mode 100644 fancybox/asset/fancybox/README.md create mode 100644 fancybox/asset/fancybox/fancybox.config.js create mode 100644 fancybox/asset/fancybox/jquery.fancybox.css create mode 100644 fancybox/asset/fancybox/jquery.fancybox.js create mode 100644 fancybox/asset/fancybox/jquery.fancybox.min.css create mode 100644 fancybox/asset/fancybox/jquery.fancybox.min.js create mode 100755 fancybox/createrelease create mode 100644 fancybox/dist/release.zip create mode 100644 fancybox/fancybox.php create mode 100644 fancybox/test/fancybox-3.5.7.zip create mode 100644 fancybox/test/imagetest.html create mode 100644 fancybox/test/test.html create mode 100644 fancybox/test/test.out.html diff --git a/fancybox/CHANGELOG.md b/fancybox/CHANGELOG.md new file mode 100644 index 00000000..60edc635 --- /dev/null +++ b/fancybox/CHANGELOG.md @@ -0,0 +1,9 @@ +### Version 1.01 + +* One gallery for each post +* All media attached to a post are added to the posts gallery. +* Loop scrolling: You can step from last media to first and vice versa. +### Version 1.00 + +* First test version released. +* One fancybox per page displaying first media of each post. \ No newline at end of file diff --git a/fancybox/README.md b/fancybox/README.md new file mode 100644 index 00000000..3e342ee9 --- /dev/null +++ b/fancybox/README.md @@ -0,0 +1,19 @@ +# Post image gallery using fancybox + +Addon author: [Grischa Brockhaus](https://brockha.us) + +## Description + +This addon loads all media attachments of a post into a "fancybox" instead of linking directly to the media. + +Each post gets its own attachment library, when there are more than one media attached you can scroll through them. + +## Licenses + +### Fancybox Library + +This AddOn is using the jQuery library [fancybox](https://github.com/fancyapps/fancybox). + +The fancyBox libryry is licensed under the GPLv3 license for all open source applications. A commercial license is required for all commercial applications (including sites, themes and apps you plan to sell). + +[Read more about fancyBox license](https://github.com/fancyapps/fancybox). \ No newline at end of file diff --git a/fancybox/asset/fancybox/README.md b/fancybox/asset/fancybox/README.md new file mode 100644 index 00000000..e32b89e1 --- /dev/null +++ b/fancybox/asset/fancybox/README.md @@ -0,0 +1,62 @@ +# fancyBox 3.5.7 + +jQuery lightbox script for displaying images, videos and more. +Touch enabled, responsive and fully customizable. + +See the [project page](http://fancyapps.com/fancybox/3/) for documentation and a demonstration. + +Follow [@thefancyapps](//twitter.com/thefancyapps) for updates. + + +## Quick start + +1\. Add latest jQuery and fancyBox files + +```html + + + + +``` + + +2\. Create links + +```html + + + + + + + +``` + + +3\. Enjoy! + + +## License + +fancyBox is licensed under the [GPLv3](http://choosealicense.com/licenses/gpl-3.0) license for all open source applications. +A commercial license is required for all commercial applications (including sites, themes and apps you plan to sell). + +[Read more about fancyBox license](http://fancyapps.com/fancybox/3/#license). + +## Bugs and feature requests + +If you find a bug, please report it [here on Github](https://github.com/fancyapps/fancybox/issues). + +Guidelines for bug reports: + +1. Use the GitHub issue search — check if the issue has already been reported. +2. Check if the issue has been fixed — try to reproduce it using the latest master or development branch in the repository. +3. Isolate the problem — create a reduced test case and a live example. You can use CodePen to fork any demo found on documentation to use it as a template. + +A good bug report shouldn't leave others needing to chase you up for more information. +Please try to be as detailed as possible in your report. + + +Feature requests are welcome. Please look for existing ones and use GitHub's "reactions" feature to vote. + +Please do not use the issue tracker for personal support requests - use Stack Overflow ([fancybox-3](http://stackoverflow.com/questions/tagged/fancybox-3) tag) instead. diff --git a/fancybox/asset/fancybox/fancybox.config.js b/fancybox/asset/fancybox/fancybox.config.js new file mode 100644 index 00000000..904390d5 --- /dev/null +++ b/fancybox/asset/fancybox/fancybox.config.js @@ -0,0 +1,3 @@ +$(document).ready(function() { + $.fancybox.defaults.loop = "true"; +}); \ No newline at end of file diff --git a/fancybox/asset/fancybox/jquery.fancybox.css b/fancybox/asset/fancybox/jquery.fancybox.css new file mode 100644 index 00000000..16b01254 --- /dev/null +++ b/fancybox/asset/fancybox/jquery.fancybox.css @@ -0,0 +1,895 @@ +body.compensate-for-scrollbar { + overflow: hidden; +} + +.fancybox-active { + height: auto; +} + +.fancybox-is-hidden { + left: -9999px; + margin: 0; + position: absolute !important; + top: -9999px; + visibility: hidden; +} + +.fancybox-container { + -webkit-backface-visibility: hidden; + height: 100%; + left: 0; + outline: none; + position: fixed; + -webkit-tap-highlight-color: transparent; + top: 0; + -ms-touch-action: manipulation; + touch-action: manipulation; + transform: translateZ(0); + width: 100%; + z-index: 99992; +} + +.fancybox-container * { + box-sizing: border-box; +} + +.fancybox-outer, +.fancybox-inner, +.fancybox-bg, +.fancybox-stage { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; +} + +.fancybox-outer { + -webkit-overflow-scrolling: touch; + overflow-y: auto; +} + +.fancybox-bg { + background: rgb(30, 30, 30); + opacity: 0; + transition-duration: inherit; + transition-property: opacity; + transition-timing-function: cubic-bezier(.47, 0, .74, .71); +} + +.fancybox-is-open .fancybox-bg { + opacity: .9; + transition-timing-function: cubic-bezier(.22, .61, .36, 1); +} + +.fancybox-infobar, +.fancybox-toolbar, +.fancybox-caption, +.fancybox-navigation .fancybox-button { + direction: ltr; + opacity: 0; + position: absolute; + transition: opacity .25s ease, visibility 0s ease .25s; + visibility: hidden; + z-index: 99997; +} + +.fancybox-show-infobar .fancybox-infobar, +.fancybox-show-toolbar .fancybox-toolbar, +.fancybox-show-caption .fancybox-caption, +.fancybox-show-nav .fancybox-navigation .fancybox-button { + opacity: 1; + transition: opacity .25s ease 0s, visibility 0s ease 0s; + visibility: visible; +} + +.fancybox-infobar { + color: #ccc; + font-size: 13px; + -webkit-font-smoothing: subpixel-antialiased; + height: 44px; + left: 0; + line-height: 44px; + min-width: 44px; + mix-blend-mode: difference; + padding: 0 10px; + pointer-events: none; + top: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.fancybox-toolbar { + right: 0; + top: 0; +} + +.fancybox-stage { + direction: ltr; + overflow: visible; + transform: translateZ(0); + z-index: 99994; +} + +.fancybox-is-open .fancybox-stage { + overflow: hidden; +} + +.fancybox-slide { + -webkit-backface-visibility: hidden; + /* Using without prefix would break IE11 */ + display: none; + height: 100%; + left: 0; + outline: none; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 44px; + position: absolute; + text-align: center; + top: 0; + transition-property: transform, opacity; + white-space: normal; + width: 100%; + z-index: 99994; +} + +.fancybox-slide::before { + content: ''; + display: inline-block; + font-size: 0; + height: 100%; + vertical-align: middle; + width: 0; +} + +.fancybox-is-sliding .fancybox-slide, +.fancybox-slide--previous, +.fancybox-slide--current, +.fancybox-slide--next { + display: block; +} + +.fancybox-slide--image { + overflow: hidden; + padding: 44px 0; +} + +.fancybox-slide--image::before { + display: none; +} + +.fancybox-slide--html { + padding: 6px; +} + +.fancybox-content { + background: #fff; + display: inline-block; + margin: 0; + max-width: 100%; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 44px; + position: relative; + text-align: left; + vertical-align: middle; +} + +.fancybox-slide--image .fancybox-content { + animation-timing-function: cubic-bezier(.5, 0, .14, 1); + -webkit-backface-visibility: hidden; + background: transparent; + background-repeat: no-repeat; + background-size: 100% 100%; + left: 0; + max-width: none; + overflow: visible; + padding: 0; + position: absolute; + top: 0; + -ms-transform-origin: top left; + transform-origin: top left; + transition-property: transform, opacity; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 99995; +} + +.fancybox-can-zoomOut .fancybox-content { + cursor: zoom-out; +} + +.fancybox-can-zoomIn .fancybox-content { + cursor: zoom-in; +} + +.fancybox-can-swipe .fancybox-content, +.fancybox-can-pan .fancybox-content { + cursor: -webkit-grab; + cursor: grab; +} + +.fancybox-is-grabbing .fancybox-content { + cursor: -webkit-grabbing; + cursor: grabbing; +} + +.fancybox-container [data-selectable='true'] { + cursor: text; +} + +.fancybox-image, +.fancybox-spaceball { + background: transparent; + border: 0; + height: 100%; + left: 0; + margin: 0; + max-height: none; + max-width: none; + padding: 0; + position: absolute; + top: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 100%; +} + +.fancybox-spaceball { + z-index: 1; +} + +.fancybox-slide--video .fancybox-content, +.fancybox-slide--map .fancybox-content, +.fancybox-slide--pdf .fancybox-content, +.fancybox-slide--iframe .fancybox-content { + height: 100%; + overflow: visible; + padding: 0; + width: 100%; +} + +.fancybox-slide--video .fancybox-content { + background: #000; +} + +.fancybox-slide--map .fancybox-content { + background: #e5e3df; +} + +.fancybox-slide--iframe .fancybox-content { + background: #fff; +} + +.fancybox-video, +.fancybox-iframe { + background: transparent; + border: 0; + display: block; + height: 100%; + margin: 0; + overflow: hidden; + padding: 0; + width: 100%; +} + +/* Fix iOS */ +.fancybox-iframe { + left: 0; + position: absolute; + top: 0; +} + +.fancybox-error { + background: #fff; + cursor: default; + max-width: 400px; + padding: 40px; + width: 100%; +} + +.fancybox-error p { + color: #444; + font-size: 16px; + line-height: 20px; + margin: 0; + padding: 0; +} + +/* Buttons */ + +.fancybox-button { + background: rgba(30, 30, 30, .6); + border: 0; + border-radius: 0; + box-shadow: none; + cursor: pointer; + display: inline-block; + height: 44px; + margin: 0; + padding: 10px; + position: relative; + transition: color .2s; + vertical-align: top; + visibility: inherit; + width: 44px; +} + +.fancybox-button, +.fancybox-button:visited, +.fancybox-button:link { + color: #ccc; +} + +.fancybox-button:hover { + color: #fff; +} + +.fancybox-button:focus { + outline: none; +} + +.fancybox-button.fancybox-focus { + outline: 1px dotted; +} + +.fancybox-button[disabled], +.fancybox-button[disabled]:hover { + color: #888; + cursor: default; + outline: none; +} + +/* Fix IE11 */ +.fancybox-button div { + height: 100%; +} + +.fancybox-button svg { + display: block; + height: 100%; + overflow: visible; + position: relative; + width: 100%; +} + +.fancybox-button svg path { + fill: currentColor; + stroke-width: 0; +} + +.fancybox-button--play svg:nth-child(2), +.fancybox-button--fsenter svg:nth-child(2) { + display: none; +} + +.fancybox-button--pause svg:nth-child(1), +.fancybox-button--fsexit svg:nth-child(1) { + display: none; +} + +.fancybox-progress { + background: #ff5268; + height: 2px; + left: 0; + position: absolute; + right: 0; + top: 0; + -ms-transform: scaleX(0); + transform: scaleX(0); + -ms-transform-origin: 0; + transform-origin: 0; + transition-property: transform; + transition-timing-function: linear; + z-index: 99998; +} + +/* Close button on the top right corner of html content */ + +.fancybox-close-small { + background: transparent; + border: 0; + border-radius: 0; + color: #ccc; + cursor: pointer; + opacity: .8; + padding: 8px; + position: absolute; + right: -12px; + top: -44px; + z-index: 401; +} + +.fancybox-close-small:hover { + color: #fff; + opacity: 1; +} + +.fancybox-slide--html .fancybox-close-small { + color: currentColor; + padding: 10px; + right: 0; + top: 0; +} + +.fancybox-slide--image.fancybox-is-scaling .fancybox-content { + overflow: hidden; +} + +.fancybox-is-scaling .fancybox-close-small, +.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small { + display: none; +} + +/* Navigation arrows */ + +.fancybox-navigation .fancybox-button { + background-clip: content-box; + height: 100px; + opacity: 0; + position: absolute; + top: calc(50% - 50px); + width: 70px; +} + +.fancybox-navigation .fancybox-button div { + padding: 7px; +} + +.fancybox-navigation .fancybox-button--arrow_left { + left: 0; + left: env(safe-area-inset-left); + padding: 31px 26px 31px 6px; +} + +.fancybox-navigation .fancybox-button--arrow_right { + padding: 31px 6px 31px 26px; + right: 0; + right: env(safe-area-inset-right); +} + +/* Caption */ + +.fancybox-caption { + background: linear-gradient(to top, + rgba(0, 0, 0, .85) 0%, + rgba(0, 0, 0, .3) 50%, + rgba(0, 0, 0, .15) 65%, + rgba(0, 0, 0, .075) 75.5%, + rgba(0, 0, 0, .037) 82.85%, + rgba(0, 0, 0, .019) 88%, + rgba(0, 0, 0, 0) 100%); + bottom: 0; + color: #eee; + font-size: 14px; + font-weight: 400; + left: 0; + line-height: 1.5; + padding: 75px 44px 25px 44px; + pointer-events: none; + right: 0; + text-align: center; + z-index: 99996; +} + +@supports (padding: max(0px)) { + .fancybox-caption { + padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left)); + } +} + +.fancybox-caption--separate { + margin-top: -50px; +} + +.fancybox-caption__body { + max-height: 50vh; + overflow: auto; + pointer-events: all; +} + +.fancybox-caption a, +.fancybox-caption a:link, +.fancybox-caption a:visited { + color: #ccc; + text-decoration: none; +} + +.fancybox-caption a:hover { + color: #fff; + text-decoration: underline; +} + +/* Loading indicator */ + +.fancybox-loading { + animation: fancybox-rotate 1s linear infinite; + background: transparent; + border: 4px solid #888; + border-bottom-color: #fff; + border-radius: 50%; + height: 50px; + left: 50%; + margin: -25px 0 0 -25px; + opacity: .7; + padding: 0; + position: absolute; + top: 50%; + width: 50px; + z-index: 99999; +} + +@keyframes fancybox-rotate { + 100% { + transform: rotate(360deg); + } +} + +/* Transition effects */ + +.fancybox-animated { + transition-timing-function: cubic-bezier(0, 0, .25, 1); +} + +/* transitionEffect: slide */ + +.fancybox-fx-slide.fancybox-slide--previous { + opacity: 0; + transform: translate3d(-100%, 0, 0); +} + +.fancybox-fx-slide.fancybox-slide--next { + opacity: 0; + transform: translate3d(100%, 0, 0); +} + +.fancybox-fx-slide.fancybox-slide--current { + opacity: 1; + transform: translate3d(0, 0, 0); +} + +/* transitionEffect: fade */ + +.fancybox-fx-fade.fancybox-slide--previous, +.fancybox-fx-fade.fancybox-slide--next { + opacity: 0; + transition-timing-function: cubic-bezier(.19, 1, .22, 1); +} + +.fancybox-fx-fade.fancybox-slide--current { + opacity: 1; +} + +/* transitionEffect: zoom-in-out */ + +.fancybox-fx-zoom-in-out.fancybox-slide--previous { + opacity: 0; + transform: scale3d(1.5, 1.5, 1.5); +} + +.fancybox-fx-zoom-in-out.fancybox-slide--next { + opacity: 0; + transform: scale3d(.5, .5, .5); +} + +.fancybox-fx-zoom-in-out.fancybox-slide--current { + opacity: 1; + transform: scale3d(1, 1, 1); +} + +/* transitionEffect: rotate */ + +.fancybox-fx-rotate.fancybox-slide--previous { + opacity: 0; + -ms-transform: rotate(-360deg); + transform: rotate(-360deg); +} + +.fancybox-fx-rotate.fancybox-slide--next { + opacity: 0; + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} + +.fancybox-fx-rotate.fancybox-slide--current { + opacity: 1; + -ms-transform: rotate(0deg); + transform: rotate(0deg); +} + +/* transitionEffect: circular */ + +.fancybox-fx-circular.fancybox-slide--previous { + opacity: 0; + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); +} + +.fancybox-fx-circular.fancybox-slide--next { + opacity: 0; + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); +} + +.fancybox-fx-circular.fancybox-slide--current { + opacity: 1; + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); +} + +/* transitionEffect: tube */ + +.fancybox-fx-tube.fancybox-slide--previous { + transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg); +} + +.fancybox-fx-tube.fancybox-slide--next { + transform: translate3d(100%, 0, 0) scale(.1) skew(10deg); +} + +.fancybox-fx-tube.fancybox-slide--current { + transform: translate3d(0, 0, 0) scale(1); +} + +/* Styling for Small-Screen Devices */ +@media all and (max-height: 576px) { + .fancybox-slide { + padding-left: 6px; + padding-right: 6px; + } + + .fancybox-slide--image { + padding: 6px 0; + } + + .fancybox-close-small { + right: -6px; + } + + .fancybox-slide--image .fancybox-close-small { + background: #4e4e4e; + color: #f2f4f6; + height: 36px; + opacity: 1; + padding: 6px; + right: 0; + top: 0; + width: 36px; + } + + .fancybox-caption { + padding-left: 12px; + padding-right: 12px; + } + + @supports (padding: max(0px)) { + .fancybox-caption { + padding-left: max(12px, env(safe-area-inset-left)); + padding-right: max(12px, env(safe-area-inset-right)); + } + } +} +/* Share */ + +.fancybox-share { + background: #f4f4f4; + border-radius: 3px; + max-width: 90%; + padding: 30px; + text-align: center; +} + +.fancybox-share h1 { + color: #222; + font-size: 35px; + font-weight: 700; + margin: 0 0 20px 0; +} + +.fancybox-share p { + margin: 0; + padding: 0; +} + +.fancybox-share__button { + border: 0; + border-radius: 3px; + display: inline-block; + font-size: 14px; + font-weight: 700; + line-height: 40px; + margin: 0 5px 10px 5px; + min-width: 130px; + padding: 0 15px; + text-decoration: none; + transition: all .2s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + white-space: nowrap; +} + +.fancybox-share__button:visited, +.fancybox-share__button:link { + color: #fff; +} + +.fancybox-share__button:hover { + text-decoration: none; +} + +.fancybox-share__button--fb { + background: #3b5998; +} + +.fancybox-share__button--fb:hover { + background: #344e86; +} + +.fancybox-share__button--pt { + background: #bd081d; +} + +.fancybox-share__button--pt:hover { + background: #aa0719; +} + +.fancybox-share__button--tw { + background: #1da1f2; +} + +.fancybox-share__button--tw:hover { + background: #0d95e8; +} + +.fancybox-share__button svg { + height: 25px; + margin-right: 7px; + position: relative; + top: -1px; + vertical-align: middle; + width: 25px; +} + +.fancybox-share__button svg path { + fill: #fff; +} + +.fancybox-share__input { + background: transparent; + border: 0; + border-bottom: 1px solid #d7d7d7; + border-radius: 0; + color: #5d5b5b; + font-size: 14px; + margin: 10px 0 0 0; + outline: none; + padding: 10px 15px; + width: 100%; +} +/* Thumbs */ + +.fancybox-thumbs { + background: #ddd; + bottom: 0; + display: none; + margin: 0; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + padding: 2px 2px 4px 2px; + position: absolute; + right: 0; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + top: 0; + width: 212px; + z-index: 99995; +} + +.fancybox-thumbs-x { + overflow-x: auto; + overflow-y: hidden; +} + +.fancybox-show-thumbs .fancybox-thumbs { + display: block; +} + +.fancybox-show-thumbs .fancybox-inner { + right: 212px; +} + +.fancybox-thumbs__list { + font-size: 0; + height: 100%; + list-style: none; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + padding: 0; + position: absolute; + position: relative; + white-space: nowrap; + width: 100%; +} + +.fancybox-thumbs-x .fancybox-thumbs__list { + overflow: hidden; +} + +.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar { + width: 7px; +} + +.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track { + background: #fff; + border-radius: 10px; + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); +} + +.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb { + background: #2a2a2a; + border-radius: 10px; +} + +.fancybox-thumbs__list a { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + background-color: rgba(0, 0, 0, .1); + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + cursor: pointer; + float: left; + height: 75px; + margin: 2px; + max-height: calc(100% - 8px); + max-width: calc(50% - 4px); + outline: none; + overflow: hidden; + padding: 0; + position: relative; + -webkit-tap-highlight-color: transparent; + width: 100px; +} + +.fancybox-thumbs__list a::before { + border: 6px solid #ff5268; + bottom: 0; + content: ''; + left: 0; + opacity: 0; + position: absolute; + right: 0; + top: 0; + transition: all .2s cubic-bezier(.25, .46, .45, .94); + z-index: 99991; +} + +.fancybox-thumbs__list a:focus::before { + opacity: .5; +} + +.fancybox-thumbs__list a.fancybox-thumbs-active::before { + opacity: 1; +} + +/* Styling for Small-Screen Devices */ +@media all and (max-width: 576px) { + .fancybox-thumbs { + width: 110px; + } + + .fancybox-show-thumbs .fancybox-inner { + right: 110px; + } + + .fancybox-thumbs__list a { + max-width: calc(100% - 10px); + } +} \ No newline at end of file diff --git a/fancybox/asset/fancybox/jquery.fancybox.js b/fancybox/asset/fancybox/jquery.fancybox.js new file mode 100644 index 00000000..806b2703 --- /dev/null +++ b/fancybox/asset/fancybox/jquery.fancybox.js @@ -0,0 +1,5632 @@ +// ================================================== +// fancyBox v3.5.7 +// +// Licensed GPLv3 for open source use +// or fancyBox Commercial License for commercial use +// +// http://fancyapps.com/fancybox/ +// Copyright 2019 fancyApps +// +// ================================================== +(function (window, document, $, undefined) { + "use strict"; + + window.console = window.console || { + info: function (stuff) {} + }; + + // If there's no jQuery, fancyBox can't work + // ========================================= + + if (!$) { + return; + } + + // Check if fancyBox is already initialized + // ======================================== + + if ($.fn.fancybox) { + console.info("fancyBox already initialized"); + + return; + } + + // Private default settings + // ======================== + + var defaults = { + // Close existing modals + // Set this to false if you do not need to stack multiple instances + closeExisting: false, + + // Enable infinite gallery navigation + loop: false, + + // Horizontal space between slides + gutter: 50, + + // Enable keyboard navigation + keyboard: true, + + // Should allow caption to overlap the content + preventCaptionOverlap: true, + + // Should display navigation arrows at the screen edges + arrows: true, + + // Should display counter at the top left corner + infobar: true, + + // Should display close button (using `btnTpl.smallBtn` template) over the content + // Can be true, false, "auto" + // If "auto" - will be automatically enabled for "html", "inline" or "ajax" items + smallBtn: "auto", + + // Should display toolbar (buttons at the top) + // Can be true, false, "auto" + // If "auto" - will be automatically hidden if "smallBtn" is enabled + toolbar: "auto", + + // What buttons should appear in the top right corner. + // Buttons will be created using templates from `btnTpl` option + // and they will be placed into toolbar (class="fancybox-toolbar"` element) + buttons: [ + "zoom", + //"share", + "slideShow", + //"fullScreen", + //"download", + "thumbs", + "close" + ], + + // Detect "idle" time in seconds + idleTime: 3, + + // Disable right-click and use simple image protection for images + protect: false, + + // Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc + modal: false, + + image: { + // Wait for images to load before displaying + // true - wait for image to load and then display; + // false - display thumbnail and load the full-sized image over top, + // requires predefined image dimensions (`data-width` and `data-height` attributes) + preload: false + }, + + ajax: { + // Object containing settings for ajax request + settings: { + // This helps to indicate that request comes from the modal + // Feel free to change naming + data: { + fancybox: true + } + } + }, + + iframe: { + // Iframe template + tpl: '', + + // Preload iframe before displaying it + // This allows to calculate iframe content width and height + // (note: Due to "Same Origin Policy", you can't get cross domain data). + preload: true, + + // Custom CSS styling for iframe wrapping element + // You can use this to set custom iframe dimensions + css: {}, + + // Iframe tag attributes + attr: { + scrolling: "auto" + } + }, + + // For HTML5 video only + video: { + tpl: '", + format: "", // custom video format + autoStart: true + }, + + // Default content type if cannot be detected automatically + defaultType: "image", + + // Open/close animation type + // Possible values: + // false - disable + // "zoom" - zoom images from/to thumbnail + // "fade" + // "zoom-in-out" + // + animationEffect: "zoom", + + // Duration in ms for open/close animation + animationDuration: 366, + + // Should image change opacity while zooming + // If opacity is "auto", then opacity will be changed if image and thumbnail have different aspect ratios + zoomOpacity: "auto", + + // Transition effect between slides + // + // Possible values: + // false - disable + // "fade' + // "slide' + // "circular' + // "tube' + // "zoom-in-out' + // "rotate' + // + transitionEffect: "fade", + + // Duration in ms for transition animation + transitionDuration: 366, + + // Custom CSS class for slide element + slideClass: "", + + // Custom CSS class for layout + baseClass: "", + + // Base template for layout + baseTpl: '", + + // Loading indicator template + spinnerTpl: '
', + + // Error message template + errorTpl: '

{{ERROR}}

', + + btnTpl: { + download: '' + + '' + + "", + + zoom: '", + + close: '", + + // Arrows + arrowLeft: '", + + arrowRight: '", + + // This small close button will be appended to your html/inline/ajax content by default, + // if "smallBtn" option is not set to false + smallBtn: '" + }, + + // Container is injected into this element + parentEl: "body", + + // Hide browser vertical scrollbars; use at your own risk + hideScrollbar: true, + + // Focus handling + // ============== + + // Try to focus on the first focusable element after opening + autoFocus: true, + + // Put focus back to active element after closing + backFocus: true, + + // Do not let user to focus on element outside modal content + trapFocus: true, + + // Module specific options + // ======================= + + fullScreen: { + autoStart: false + }, + + // Set `touch: false` to disable panning/swiping + touch: { + vertical: true, // Allow to drag content vertically + momentum: true // Continue movement after releasing mouse/touch when panning + }, + + // Hash value when initializing manually, + // set `false` to disable hash change + hash: null, + + // Customize or add new media types + // Example: + /* + media : { + youtube : { + params : { + autoplay : 0 + } + } + } + */ + media: {}, + + slideShow: { + autoStart: false, + speed: 3000 + }, + + thumbs: { + autoStart: false, // Display thumbnails on opening + hideOnClose: true, // Hide thumbnail grid when closing animation starts + parentEl: ".fancybox-container", // Container is injected into this element + axis: "y" // Vertical (y) or horizontal (x) scrolling + }, + + // Use mousewheel to navigate gallery + // If 'auto' - enabled for images only + wheel: "auto", + + // Callbacks + //========== + + // See Documentation/API/Events for more information + // Example: + /* + afterShow: function( instance, current ) { + console.info( 'Clicked element:' ); + console.info( current.opts.$orig ); + } + */ + + onInit: $.noop, // When instance has been initialized + + beforeLoad: $.noop, // Before the content of a slide is being loaded + afterLoad: $.noop, // When the content of a slide is done loading + + beforeShow: $.noop, // Before open animation starts + afterShow: $.noop, // When content is done loading and animating + + beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close. + afterClose: $.noop, // After instance has been closed + + onActivate: $.noop, // When instance is brought to front + onDeactivate: $.noop, // When other instance has been activated + + // Interaction + // =========== + + // Use options below to customize taken action when user clicks or double clicks on the fancyBox area, + // each option can be string or method that returns value. + // + // Possible values: + // "close" - close instance + // "next" - move to next gallery item + // "nextOrClose" - move to next gallery item or close if gallery has only one item + // "toggleControls" - show/hide controls + // "zoom" - zoom image (if loaded) + // false - do nothing + + // Clicked on the content + clickContent: function (current, event) { + return current.type === "image" ? "zoom" : false; + }, + + // Clicked on the slide + clickSlide: "close", + + // Clicked on the background (backdrop) element; + // if you have not changed the layout, then most likely you need to use `clickSlide` option + clickOutside: "close", + + // Same as previous two, but for double click + dblclickContent: false, + dblclickSlide: false, + dblclickOutside: false, + + // Custom options when mobile device is detected + // ============================================= + + mobile: { + preventCaptionOverlap: false, + idleTime: false, + clickContent: function (current, event) { + return current.type === "image" ? "toggleControls" : false; + }, + clickSlide: function (current, event) { + return current.type === "image" ? "toggleControls" : "close"; + }, + dblclickContent: function (current, event) { + return current.type === "image" ? "zoom" : false; + }, + dblclickSlide: function (current, event) { + return current.type === "image" ? "zoom" : false; + } + }, + + // Internationalization + // ==================== + + lang: "en", + i18n: { + en: { + CLOSE: "Close", + NEXT: "Next", + PREV: "Previous", + ERROR: "The requested content cannot be loaded.
Please try again later.", + PLAY_START: "Start slideshow", + PLAY_STOP: "Pause slideshow", + FULL_SCREEN: "Full screen", + THUMBS: "Thumbnails", + DOWNLOAD: "Download", + SHARE: "Share", + ZOOM: "Zoom" + }, + de: { + CLOSE: "Schließen", + NEXT: "Weiter", + PREV: "Zurück", + ERROR: "Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.", + PLAY_START: "Diaschau starten", + PLAY_STOP: "Diaschau beenden", + FULL_SCREEN: "Vollbild", + THUMBS: "Vorschaubilder", + DOWNLOAD: "Herunterladen", + SHARE: "Teilen", + ZOOM: "Vergrößern" + } + } + }; + + // Few useful variables and methods + // ================================ + + var $W = $(window); + var $D = $(document); + + var called = 0; + + // Check if an object is a jQuery object and not a native JavaScript object + // ======================================================================== + var isQuery = function (obj) { + return obj && obj.hasOwnProperty && obj instanceof $; + }; + + // Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame" + // =============================================================================== + var requestAFrame = (function () { + return ( + window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function (callback) { + return window.setTimeout(callback, 1000 / 60); + } + ); + })(); + + var cancelAFrame = (function () { + return ( + window.cancelAnimationFrame || + window.webkitCancelAnimationFrame || + window.mozCancelAnimationFrame || + window.oCancelAnimationFrame || + function (id) { + window.clearTimeout(id); + } + ); + })(); + + // Detect the supported transition-end event property name + // ======================================================= + var transitionEnd = (function () { + var el = document.createElement("fakeelement"), + t; + + var transitions = { + transition: "transitionend", + OTransition: "oTransitionEnd", + MozTransition: "transitionend", + WebkitTransition: "webkitTransitionEnd" + }; + + for (t in transitions) { + if (el.style[t] !== undefined) { + return transitions[t]; + } + } + + return "transitionend"; + })(); + + // Force redraw on an element. + // This helps in cases where the browser doesn't redraw an updated element properly + // ================================================================================ + var forceRedraw = function ($el) { + return $el && $el.length && $el[0].offsetHeight; + }; + + // Exclude array (`buttons`) options from deep merging + // =================================================== + var mergeOpts = function (opts1, opts2) { + var rez = $.extend(true, {}, opts1, opts2); + + $.each(opts2, function (key, value) { + if ($.isArray(value)) { + rez[key] = value; + } + }); + + return rez; + }; + + // How much of an element is visible in viewport + // ============================================= + + var inViewport = function (elem) { + var elemCenter, rez; + + if (!elem || elem.ownerDocument !== document) { + return false; + } + + $(".fancybox-container").css("pointer-events", "none"); + + elemCenter = { + x: elem.getBoundingClientRect().left + elem.offsetWidth / 2, + y: elem.getBoundingClientRect().top + elem.offsetHeight / 2 + }; + + rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem; + + $(".fancybox-container").css("pointer-events", ""); + + return rez; + }; + + // Class definition + // ================ + + var FancyBox = function (content, opts, index) { + var self = this; + + self.opts = mergeOpts({ + index: index + }, $.fancybox.defaults); + + if ($.isPlainObject(opts)) { + self.opts = mergeOpts(self.opts, opts); + } + + if ($.fancybox.isMobile) { + self.opts = mergeOpts(self.opts, self.opts.mobile); + } + + self.id = self.opts.id || ++called; + + self.currIndex = parseInt(self.opts.index, 10) || 0; + self.prevIndex = null; + + self.prevPos = null; + self.currPos = 0; + + self.firstRun = true; + + // All group items + self.group = []; + + // Existing slides (for current, next and previous gallery items) + self.slides = {}; + + // Create group elements + self.addContent(content); + + if (!self.group.length) { + return; + } + + self.init(); + }; + + $.extend(FancyBox.prototype, { + // Create DOM structure + // ==================== + + init: function () { + var self = this, + firstItem = self.group[self.currIndex], + firstItemOpts = firstItem.opts, + $container, + buttonStr; + + if (firstItemOpts.closeExisting) { + $.fancybox.close(true); + } + + // Hide scrollbars + // =============== + + $("body").addClass("fancybox-active"); + + if ( + !$.fancybox.getInstance() && + firstItemOpts.hideScrollbar !== false && + !$.fancybox.isMobile && + document.body.scrollHeight > window.innerHeight + ) { + $("head").append( + '" + ); + + $("body").addClass("compensate-for-scrollbar"); + } + + // Build html markup and set references + // ==================================== + + // Build html code for buttons and insert into main template + buttonStr = ""; + + $.each(firstItemOpts.buttons, function (index, value) { + buttonStr += firstItemOpts.btnTpl[value] || ""; + }); + + // Create markup from base template, it will be initially hidden to + // avoid unnecessary work like painting while initializing is not complete + $container = $( + self.translate( + self, + firstItemOpts.baseTpl + .replace("{{buttons}}", buttonStr) + .replace("{{arrows}}", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight) + ) + ) + .attr("id", "fancybox-container-" + self.id) + .addClass(firstItemOpts.baseClass) + .data("FancyBox", self) + .appendTo(firstItemOpts.parentEl); + + // Create object holding references to jQuery wrapped nodes + self.$refs = { + container: $container + }; + + ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function (item) { + self.$refs[item] = $container.find(".fancybox-" + item); + }); + + self.trigger("onInit"); + + // Enable events, deactive previous instances + self.activate(); + + // Build slides, load and reveal content + self.jumpTo(self.currIndex); + }, + + // Simple i18n support - replaces object keys found in template + // with corresponding values + // ============================================================ + + translate: function (obj, str) { + var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en; + + return str.replace(/\{\{(\w+)\}\}/g, function (match, n) { + return arr[n] === undefined ? match : arr[n]; + }); + }, + + // Populate current group with fresh content + // Check if each object has valid type and content + // =============================================== + + addContent: function (content) { + var self = this, + items = $.makeArray(content), + thumbs; + + $.each(items, function (i, item) { + var obj = {}, + opts = {}, + $item, + type, + found, + src, + srcParts; + + // Step 1 - Make sure we have an object + // ==================================== + + if ($.isPlainObject(item)) { + // We probably have manual usage here, something like + // $.fancybox.open( [ { src : "image.jpg", type : "image" } ] ) + + obj = item; + opts = item.opts || item; + } else if ($.type(item) === "object" && $(item).length) { + // Here we probably have jQuery collection returned by some selector + $item = $(item); + + // Support attributes like `data-options='{"touch" : false}'` and `data-touch='false'` + opts = $item.data() || {}; + opts = $.extend(true, {}, opts, opts.options); + + // Here we store clicked element + opts.$orig = $item; + + obj.src = self.opts.src || opts.src || $item.attr("href"); + + // Assume that simple syntax is used, for example: + // `$.fancybox.open( $("#test"), {} );` + if (!obj.type && !obj.src) { + obj.type = "inline"; + obj.src = item; + } + } else { + // Assume we have a simple html code, for example: + // $.fancybox.open( '

Hi!

' ); + obj = { + type: "html", + src: item + "" + }; + } + + // Each gallery object has full collection of options + obj.opts = $.extend(true, {}, self.opts, opts); + + // Do not merge buttons array + if ($.isArray(opts.buttons)) { + obj.opts.buttons = opts.buttons; + } + + if ($.fancybox.isMobile && obj.opts.mobile) { + obj.opts = mergeOpts(obj.opts, obj.opts.mobile); + } + + // Step 2 - Make sure we have content type, if not - try to guess + // ============================================================== + + type = obj.type || obj.opts.type; + src = obj.src || ""; + + if (!type && src) { + if ((found = src.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))) { + type = "video"; + + if (!obj.opts.video.format) { + obj.opts.video.format = "video/" + (found[1] === "ogv" ? "ogg" : found[1]); + } + } else if (src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)) { + type = "image"; + } else if (src.match(/\.(pdf)((\?|#).*)?$/i)) { + type = "iframe"; + obj = $.extend(true, obj, { + contentType: "pdf", + opts: { + iframe: { + preload: false + } + } + }); + } else if (src.charAt(0) === "#") { + type = "inline"; + } + } + + if (type) { + obj.type = type; + } else { + self.trigger("objectNeedsType", obj); + } + + if (!obj.contentType) { + obj.contentType = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1 ? "html" : obj.type; + } + + // Step 3 - Some adjustments + // ========================= + + obj.index = self.group.length; + + if (obj.opts.smallBtn == "auto") { + obj.opts.smallBtn = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1; + } + + if (obj.opts.toolbar === "auto") { + obj.opts.toolbar = !obj.opts.smallBtn; + } + + // Find thumbnail image, check if exists and if is in the viewport + obj.$thumb = obj.opts.$thumb || null; + + if (obj.opts.$trigger && obj.index === self.opts.index) { + obj.$thumb = obj.opts.$trigger.find("img:first"); + + if (obj.$thumb.length) { + obj.opts.$orig = obj.opts.$trigger; + } + } + + if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) { + obj.$thumb = obj.opts.$orig.find("img:first"); + } + + if (obj.$thumb && !obj.$thumb.length) { + obj.$thumb = null; + } + + obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null); + + // "caption" is a "special" option, it can be used to customize caption per gallery item + if ($.type(obj.opts.caption) === "function") { + obj.opts.caption = obj.opts.caption.apply(item, [self, obj]); + } + + if ($.type(self.opts.caption) === "function") { + obj.opts.caption = self.opts.caption.apply(item, [self, obj]); + } + + // Make sure we have caption as a string or jQuery object + if (!(obj.opts.caption instanceof $)) { + obj.opts.caption = obj.opts.caption === undefined ? "" : obj.opts.caption + ""; + } + + // Check if url contains "filter" used to filter the content + // Example: "ajax.html #something" + if (obj.type === "ajax") { + srcParts = src.split(/\s+/, 2); + + if (srcParts.length > 1) { + obj.src = srcParts.shift(); + + obj.opts.filter = srcParts.shift(); + } + } + + // Hide all buttons and disable interactivity for modal items + if (obj.opts.modal) { + obj.opts = $.extend(true, obj.opts, { + trapFocus: true, + // Remove buttons + infobar: 0, + toolbar: 0, + + smallBtn: 0, + + // Disable keyboard navigation + keyboard: 0, + + // Disable some modules + slideShow: 0, + fullScreen: 0, + thumbs: 0, + touch: 0, + + // Disable click event handlers + clickContent: false, + clickSlide: false, + clickOutside: false, + dblclickContent: false, + dblclickSlide: false, + dblclickOutside: false + }); + } + + // Step 4 - Add processed object to group + // ====================================== + + self.group.push(obj); + }); + + // Update controls if gallery is already opened + if (Object.keys(self.slides).length) { + self.updateControls(); + + // Update thumbnails, if needed + thumbs = self.Thumbs; + + if (thumbs && thumbs.isActive) { + thumbs.create(); + + thumbs.focus(); + } + } + }, + + // Attach an event handler functions for: + // - navigation buttons + // - browser scrolling, resizing; + // - focusing + // - keyboard + // - detecting inactivity + // ====================================== + + addEvents: function () { + var self = this; + + self.removeEvents(); + + // Make navigation elements clickable + // ================================== + + self.$refs.container + .on("click.fb-close", "[data-fancybox-close]", function (e) { + e.stopPropagation(); + e.preventDefault(); + + self.close(e); + }) + .on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function (e) { + e.stopPropagation(); + e.preventDefault(); + + self.previous(); + }) + .on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function (e) { + e.stopPropagation(); + e.preventDefault(); + + self.next(); + }) + .on("click.fb", "[data-fancybox-zoom]", function (e) { + // Click handler for zoom button + self[self.isScaledDown() ? "scaleToActual" : "scaleToFit"](); + }); + + // Handle page scrolling and browser resizing + // ========================================== + + $W.on("orientationchange.fb resize.fb", function (e) { + if (e && e.originalEvent && e.originalEvent.type === "resize") { + if (self.requestId) { + cancelAFrame(self.requestId); + } + + self.requestId = requestAFrame(function () { + self.update(e); + }); + } else { + if (self.current && self.current.type === "iframe") { + self.$refs.stage.hide(); + } + + setTimeout( + function () { + self.$refs.stage.show(); + + self.update(e); + }, + $.fancybox.isMobile ? 600 : 250 + ); + } + }); + + $D.on("keydown.fb", function (e) { + var instance = $.fancybox ? $.fancybox.getInstance() : null, + current = instance.current, + keycode = e.keyCode || e.which; + + // Trap keyboard focus inside of the modal + // ======================================= + + if (keycode == 9) { + if (current.opts.trapFocus) { + self.focus(e); + } + + return; + } + + // Enable keyboard navigation + // ========================== + + if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is("input,textarea,video,audio,select")) { + return; + } + + // Backspace and Esc keys + if (keycode === 8 || keycode === 27) { + e.preventDefault(); + + self.close(e); + + return; + } + + // Left arrow and Up arrow + if (keycode === 37 || keycode === 38) { + e.preventDefault(); + + self.previous(); + + return; + } + + // Righ arrow and Down arrow + if (keycode === 39 || keycode === 40) { + e.preventDefault(); + + self.next(); + + return; + } + + self.trigger("afterKeydown", e, keycode); + }); + + // Hide controls after some inactivity period + if (self.group[self.currIndex].opts.idleTime) { + self.idleSecondsCounter = 0; + + $D.on( + "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", + function (e) { + self.idleSecondsCounter = 0; + + if (self.isIdle) { + self.showControls(); + } + + self.isIdle = false; + } + ); + + self.idleInterval = window.setInterval(function () { + self.idleSecondsCounter++; + + if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) { + self.isIdle = true; + self.idleSecondsCounter = 0; + + self.hideControls(); + } + }, 1000); + } + }, + + // Remove events added by the core + // =============================== + + removeEvents: function () { + var self = this; + + $W.off("orientationchange.fb resize.fb"); + $D.off("keydown.fb .fb-idle"); + + this.$refs.container.off(".fb-close .fb-prev .fb-next"); + + if (self.idleInterval) { + window.clearInterval(self.idleInterval); + + self.idleInterval = null; + } + }, + + // Change to previous gallery item + // =============================== + + previous: function (duration) { + return this.jumpTo(this.currPos - 1, duration); + }, + + // Change to next gallery item + // =========================== + + next: function (duration) { + return this.jumpTo(this.currPos + 1, duration); + }, + + // Switch to selected gallery item + // =============================== + + jumpTo: function (pos, duration) { + var self = this, + groupLen = self.group.length, + firstRun, + isMoved, + loop, + current, + previous, + slidePos, + stagePos, + prop, + diff; + + if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) { + return; + } + + // Should loop? + pos = parseInt(pos, 10); + loop = self.current ? self.current.opts.loop : self.opts.loop; + + if (!loop && (pos < 0 || pos >= groupLen)) { + return false; + } + + // Check if opening for the first time; this helps to speed things up + firstRun = self.firstRun = !Object.keys(self.slides).length; + + // Create slides + previous = self.current; + + self.prevIndex = self.currIndex; + self.prevPos = self.currPos; + + current = self.createSlide(pos); + + if (groupLen > 1) { + if (loop || current.index < groupLen - 1) { + self.createSlide(pos + 1); + } + + if (loop || current.index > 0) { + self.createSlide(pos - 1); + } + } + + self.current = current; + self.currIndex = current.index; + self.currPos = current.pos; + + self.trigger("beforeShow", firstRun); + + self.updateControls(); + + // Validate duration length + current.forcedDuration = undefined; + + if ($.isNumeric(duration)) { + current.forcedDuration = duration; + } else { + duration = current.opts[firstRun ? "animationDuration" : "transitionDuration"]; + } + + duration = parseInt(duration, 10); + + // Check if user has swiped the slides or if still animating + isMoved = self.isMoved(current); + + // Make sure current slide is visible + current.$slide.addClass("fancybox-slide--current"); + + // Fresh start - reveal container, current slide and start loading content + if (firstRun) { + if (current.opts.animationEffect && duration) { + self.$refs.container.css("transition-duration", duration + "ms"); + } + + self.$refs.container.addClass("fancybox-is-open").trigger("focus"); + + // Attempt to load content into slide + // This will later call `afterLoad` -> `revealContent` + self.loadSlide(current); + + self.preload("image"); + + return; + } + + // Get actual slide/stage positions (before cleaning up) + slidePos = $.fancybox.getTranslate(previous.$slide); + stagePos = $.fancybox.getTranslate(self.$refs.stage); + + // Clean up all slides + $.each(self.slides, function (index, slide) { + $.fancybox.stop(slide.$slide, true); + }); + + if (previous.pos !== current.pos) { + previous.isComplete = false; + } + + previous.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"); + + // If slides are out of place, then animate them to correct position + if (isMoved) { + // Calculate horizontal swipe distance + diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter); + + $.each(self.slides, function (index, slide) { + slide.$slide.removeClass("fancybox-animated").removeClass(function (index, className) { + return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" "); + }); + + // Make sure that each slide is in equal distance + // This is mostly needed for freshly added slides, because they are not yet positioned + var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter; + + $.fancybox.setTranslate(slide.$slide, { + top: 0, + left: leftPos - stagePos.left + diff + }); + + if (slide.pos !== current.pos) { + slide.$slide.addClass("fancybox-slide--" + (slide.pos > current.pos ? "next" : "previous")); + } + + // Redraw to make sure that transition will start + forceRedraw(slide.$slide); + + // Animate the slide + $.fancybox.animate( + slide.$slide, { + top: 0, + left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter + }, + duration, + function () { + slide.$slide + .css({ + transform: "", + opacity: "" + }) + .removeClass("fancybox-slide--next fancybox-slide--previous"); + + if (slide.pos === self.currPos) { + self.complete(); + } + } + ); + }); + } else if (duration && current.opts.transitionEffect) { + // Set transition effect for previously active slide + prop = "fancybox-animated fancybox-fx-" + current.opts.transitionEffect; + + previous.$slide.addClass("fancybox-slide--" + (previous.pos > current.pos ? "next" : "previous")); + + $.fancybox.animate( + previous.$slide, + prop, + duration, + function () { + previous.$slide.removeClass(prop).removeClass("fancybox-slide--next fancybox-slide--previous"); + }, + false + ); + } + + if (current.isLoaded) { + self.revealContent(current); + } else { + self.loadSlide(current); + } + + self.preload("image"); + }, + + // Create new "slide" element + // These are gallery items that are actually added to DOM + // ======================================================= + + createSlide: function (pos) { + var self = this, + $slide, + index; + + index = pos % self.group.length; + index = index < 0 ? self.group.length + index : index; + + if (!self.slides[pos] && self.group[index]) { + $slide = $('
').appendTo(self.$refs.stage); + + self.slides[pos] = $.extend(true, {}, self.group[index], { + pos: pos, + $slide: $slide, + isLoaded: false + }); + + self.updateSlide(self.slides[pos]); + } + + return self.slides[pos]; + }, + + // Scale image to the actual size of the image; + // x and y values should be relative to the slide + // ============================================== + + scaleToActual: function (x, y, duration) { + var self = this, + current = self.current, + $content = current.$content, + canvasWidth = $.fancybox.getTranslate(current.$slide).width, + canvasHeight = $.fancybox.getTranslate(current.$slide).height, + newImgWidth = current.width, + newImgHeight = current.height, + imgPos, + posX, + posY, + scaleX, + scaleY; + + if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) { + return; + } + + self.isAnimating = true; + + $.fancybox.stop($content); + + x = x === undefined ? canvasWidth * 0.5 : x; + y = y === undefined ? canvasHeight * 0.5 : y; + + imgPos = $.fancybox.getTranslate($content); + + imgPos.top -= $.fancybox.getTranslate(current.$slide).top; + imgPos.left -= $.fancybox.getTranslate(current.$slide).left; + + scaleX = newImgWidth / imgPos.width; + scaleY = newImgHeight / imgPos.height; + + // Get center position for original image + posX = canvasWidth * 0.5 - newImgWidth * 0.5; + posY = canvasHeight * 0.5 - newImgHeight * 0.5; + + // Make sure image does not move away from edges + if (newImgWidth > canvasWidth) { + posX = imgPos.left * scaleX - (x * scaleX - x); + + if (posX > 0) { + posX = 0; + } + + if (posX < canvasWidth - newImgWidth) { + posX = canvasWidth - newImgWidth; + } + } + + if (newImgHeight > canvasHeight) { + posY = imgPos.top * scaleY - (y * scaleY - y); + + if (posY > 0) { + posY = 0; + } + + if (posY < canvasHeight - newImgHeight) { + posY = canvasHeight - newImgHeight; + } + } + + self.updateCursor(newImgWidth, newImgHeight); + + $.fancybox.animate( + $content, { + top: posY, + left: posX, + scaleX: scaleX, + scaleY: scaleY + }, + duration || 366, + function () { + self.isAnimating = false; + } + ); + + // Stop slideshow + if (self.SlideShow && self.SlideShow.isActive) { + self.SlideShow.stop(); + } + }, + + // Scale image to fit inside parent element + // ======================================== + + scaleToFit: function (duration) { + var self = this, + current = self.current, + $content = current.$content, + end; + + if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) { + return; + } + + self.isAnimating = true; + + $.fancybox.stop($content); + + end = self.getFitPos(current); + + self.updateCursor(end.width, end.height); + + $.fancybox.animate( + $content, { + top: end.top, + left: end.left, + scaleX: end.width / $content.width(), + scaleY: end.height / $content.height() + }, + duration || 366, + function () { + self.isAnimating = false; + } + ); + }, + + // Calculate image size to fit inside viewport + // =========================================== + + getFitPos: function (slide) { + var self = this, + $content = slide.$content, + $slide = slide.$slide, + width = slide.width || slide.opts.width, + height = slide.height || slide.opts.height, + maxWidth, + maxHeight, + minRatio, + aspectRatio, + rez = {}; + + if (!slide.isLoaded || !$content || !$content.length) { + return false; + } + + maxWidth = $.fancybox.getTranslate(self.$refs.stage).width; + maxHeight = $.fancybox.getTranslate(self.$refs.stage).height; + + maxWidth -= + parseFloat($slide.css("paddingLeft")) + + parseFloat($slide.css("paddingRight")) + + parseFloat($content.css("marginLeft")) + + parseFloat($content.css("marginRight")); + + maxHeight -= + parseFloat($slide.css("paddingTop")) + + parseFloat($slide.css("paddingBottom")) + + parseFloat($content.css("marginTop")) + + parseFloat($content.css("marginBottom")); + + if (!width || !height) { + width = maxWidth; + height = maxHeight; + } + + minRatio = Math.min(1, maxWidth / width, maxHeight / height); + + width = minRatio * width; + height = minRatio * height; + + // Adjust width/height to precisely fit into container + if (width > maxWidth - 0.5) { + width = maxWidth; + } + + if (height > maxHeight - 0.5) { + height = maxHeight; + } + + if (slide.type === "image") { + rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css("paddingTop")); + rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css("paddingLeft")); + } else if (slide.contentType === "video") { + // Force aspect ratio for the video + // "I say the whole world must learn of our peaceful ways… by force!" + aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9; + + if (height > width / aspectRatio) { + height = width / aspectRatio; + } else if (width > height * aspectRatio) { + width = height * aspectRatio; + } + } + + rez.width = width; + rez.height = height; + + return rez; + }, + + // Update content size and position for all slides + // ============================================== + + update: function (e) { + var self = this; + + $.each(self.slides, function (key, slide) { + self.updateSlide(slide, e); + }); + }, + + // Update slide content position and size + // ====================================== + + updateSlide: function (slide, e) { + var self = this, + $content = slide && slide.$content, + width = slide.width || slide.opts.width, + height = slide.height || slide.opts.height, + $slide = slide.$slide; + + // First, prevent caption overlap, if needed + self.adjustCaption(slide); + + // Then resize content to fit inside the slide + if ($content && (width || height || slide.contentType === "video") && !slide.hasError) { + $.fancybox.stop($content); + + $.fancybox.setTranslate($content, self.getFitPos(slide)); + + if (slide.pos === self.currPos) { + self.isAnimating = false; + + self.updateCursor(); + } + } + + // Then some adjustments + self.adjustLayout(slide); + + if ($slide.length) { + $slide.trigger("refresh"); + + if (slide.pos === self.currPos) { + self.$refs.toolbar + .add(self.$refs.navigation.find(".fancybox-button--arrow_right")) + .toggleClass("compensate-for-scrollbar", $slide.get(0).scrollHeight > $slide.get(0).clientHeight); + } + } + + self.trigger("onUpdate", slide, e); + }, + + // Horizontally center slide + // ========================= + + centerSlide: function (duration) { + var self = this, + current = self.current, + $slide = current.$slide; + + if (self.isClosing || !current) { + return; + } + + $slide.siblings().css({ + transform: "", + opacity: "" + }); + + $slide + .parent() + .children() + .removeClass("fancybox-slide--previous fancybox-slide--next"); + + $.fancybox.animate( + $slide, { + top: 0, + left: 0, + opacity: 1 + }, + duration === undefined ? 0 : duration, + function () { + // Clean up + $slide.css({ + transform: "", + opacity: "" + }); + + if (!current.isComplete) { + self.complete(); + } + }, + false + ); + }, + + // Check if current slide is moved (swiped) + // ======================================== + + isMoved: function (slide) { + var current = slide || this.current, + slidePos, + stagePos; + + if (!current) { + return false; + } + + stagePos = $.fancybox.getTranslate(this.$refs.stage); + slidePos = $.fancybox.getTranslate(current.$slide); + + return ( + !current.$slide.hasClass("fancybox-animated") && + (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5) + ); + }, + + // Update cursor style depending if content can be zoomed + // ====================================================== + + updateCursor: function (nextWidth, nextHeight) { + var self = this, + current = self.current, + $container = self.$refs.container, + canPan, + isZoomable; + + if (!current || self.isClosing || !self.Guestures) { + return; + } + + $container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"); + + canPan = self.canPan(nextWidth, nextHeight); + + isZoomable = canPan ? true : self.isZoomable(); + + $container.toggleClass("fancybox-is-zoomable", isZoomable); + + $("[data-fancybox-zoom]").prop("disabled", !isZoomable); + + if (canPan) { + $container.addClass("fancybox-can-pan"); + } else if ( + isZoomable && + (current.opts.clickContent === "zoom" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == "zoom")) + ) { + $container.addClass("fancybox-can-zoomIn"); + } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== "video") { + $container.addClass("fancybox-can-swipe"); + } + }, + + // Check if current slide is zoomable + // ================================== + + isZoomable: function () { + var self = this, + current = self.current, + fitPos; + + // Assume that slide is zoomable if: + // - image is still loading + // - actual size of the image is smaller than available area + if (current && !self.isClosing && current.type === "image" && !current.hasError) { + if (!current.isLoaded) { + return true; + } + + fitPos = self.getFitPos(current); + + if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) { + return true; + } + } + + return false; + }, + + // Check if current image dimensions are smaller than actual + // ========================================================= + + isScaledDown: function (nextWidth, nextHeight) { + var self = this, + rez = false, + current = self.current, + $content = current.$content; + + if (nextWidth !== undefined && nextHeight !== undefined) { + rez = nextWidth < current.width && nextHeight < current.height; + } else if ($content) { + rez = $.fancybox.getTranslate($content); + rez = rez.width < current.width && rez.height < current.height; + } + + return rez; + }, + + // Check if image dimensions exceed parent element + // =============================================== + + canPan: function (nextWidth, nextHeight) { + var self = this, + current = self.current, + pos = null, + rez = false; + + if (current.type === "image" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) { + rez = self.getFitPos(current); + + if (nextWidth !== undefined && nextHeight !== undefined) { + pos = { + width: nextWidth, + height: nextHeight + }; + } else if (current.isComplete) { + pos = $.fancybox.getTranslate(current.$content); + } + + if (pos && rez) { + rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5; + } + } + + return rez; + }, + + // Load content into the slide + // =========================== + + loadSlide: function (slide) { + var self = this, + type, + $slide, + ajaxLoad; + + if (slide.isLoading || slide.isLoaded) { + return; + } + + slide.isLoading = true; + + if (self.trigger("beforeLoad", slide) === false) { + slide.isLoading = false; + + return false; + } + + type = slide.type; + $slide = slide.$slide; + + $slide + .off("refresh") + .trigger("onReset") + .addClass(slide.opts.slideClass); + + // Create content depending on the type + switch (type) { + case "image": + self.setImage(slide); + + break; + + case "iframe": + self.setIframe(slide); + + break; + + case "html": + self.setContent(slide, slide.src || slide.content); + + break; + + case "video": + self.setContent( + slide, + slide.opts.video.tpl + .replace(/\{\{src\}\}/gi, slide.src) + .replace("{{format}}", slide.opts.videoFormat || slide.opts.video.format || "") + .replace("{{poster}}", slide.thumb || "") + ); + + break; + + case "inline": + if ($(slide.src).length) { + self.setContent(slide, $(slide.src)); + } else { + self.setError(slide); + } + + break; + + case "ajax": + self.showLoading(slide); + + ajaxLoad = $.ajax( + $.extend({}, slide.opts.ajax.settings, { + url: slide.src, + success: function (data, textStatus) { + if (textStatus === "success") { + self.setContent(slide, data); + } + }, + error: function (jqXHR, textStatus) { + if (jqXHR && textStatus !== "abort") { + self.setError(slide); + } + } + }) + ); + + $slide.one("onReset", function () { + ajaxLoad.abort(); + }); + + break; + + default: + self.setError(slide); + + break; + } + + return true; + }, + + // Use thumbnail image, if possible + // ================================ + + setImage: function (slide) { + var self = this, + ghost; + + // Check if need to show loading icon + setTimeout(function () { + var $img = slide.$image; + + if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) { + self.showLoading(slide); + } + }, 50); + + //Check if image has srcset + self.checkSrcset(slide); + + // This will be wrapper containing both ghost and actual image + slide.$content = $('
') + .addClass("fancybox-is-hidden") + .appendTo(slide.$slide.addClass("fancybox-slide--image")); + + // If we have a thumbnail, we can display it while actual image is loading + // Users will not stare at black screen and actual image will appear gradually + if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) { + slide.width = slide.opts.width; + slide.height = slide.opts.height; + + ghost = document.createElement("img"); + + ghost.onerror = function () { + $(this).remove(); + + slide.$ghost = null; + }; + + ghost.onload = function () { + self.afterLoad(slide); + }; + + slide.$ghost = $(ghost) + .addClass("fancybox-image") + .appendTo(slide.$content) + .attr("src", slide.thumb); + } + + // Start loading actual image + self.setBigImage(slide); + }, + + // Check if image has srcset and get the source + // ============================================ + checkSrcset: function (slide) { + var srcset = slide.opts.srcset || slide.opts.image.srcset, + found, + temp, + pxRatio, + windowWidth; + + // If we have "srcset", then we need to find first matching "src" value. + // This is necessary, because when you set an src attribute, the browser will preload the image + // before any javascript or even CSS is applied. + if (srcset) { + pxRatio = window.devicePixelRatio || 1; + windowWidth = window.innerWidth * pxRatio; + + temp = srcset.split(",").map(function (el) { + var ret = {}; + + el.trim() + .split(/\s+/) + .forEach(function (el, i) { + var value = parseInt(el.substring(0, el.length - 1), 10); + + if (i === 0) { + return (ret.url = el); + } + + if (value) { + ret.value = value; + ret.postfix = el[el.length - 1]; + } + }); + + return ret; + }); + + // Sort by value + temp.sort(function (a, b) { + return a.value - b.value; + }); + + // Ok, now we have an array of all srcset values + for (var j = 0; j < temp.length; j++) { + var el = temp[j]; + + if ((el.postfix === "w" && el.value >= windowWidth) || (el.postfix === "x" && el.value >= pxRatio)) { + found = el; + break; + } + } + + // If not found, take the last one + if (!found && temp.length) { + found = temp[temp.length - 1]; + } + + if (found) { + slide.src = found.url; + + // If we have default width/height values, we can calculate height for matching source + if (slide.width && slide.height && found.postfix == "w") { + slide.height = (slide.width / slide.height) * found.value; + slide.width = found.value; + } + + slide.opts.srcset = srcset; + } + } + }, + + // Create full-size image + // ====================== + + setBigImage: function (slide) { + var self = this, + img = document.createElement("img"), + $img = $(img); + + slide.$image = $img + .one("error", function () { + self.setError(slide); + }) + .one("load", function () { + var sizes; + + if (!slide.$ghost) { + self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight); + + self.afterLoad(slide); + } + + if (self.isClosing) { + return; + } + + if (slide.opts.srcset) { + sizes = slide.opts.sizes; + + if (!sizes || sizes === "auto") { + sizes = + (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? "100" : Math.round((slide.width / slide.height) * 100)) + + "vw"; + } + + $img.attr("sizes", sizes).attr("srcset", slide.opts.srcset); + } + + // Hide temporary image after some delay + if (slide.$ghost) { + setTimeout(function () { + if (slide.$ghost && !self.isClosing) { + slide.$ghost.hide(); + } + }, Math.min(300, Math.max(1000, slide.height / 1600))); + } + + self.hideLoading(slide); + }) + .addClass("fancybox-image") + .attr("src", slide.src) + .appendTo(slide.$content); + + if ((img.complete || img.readyState == "complete") && $img.naturalWidth && $img.naturalHeight) { + $img.trigger("load"); + } else if (img.error) { + $img.trigger("error"); + } + }, + + // Computes the slide size from image size and maxWidth/maxHeight + // ============================================================== + + resolveImageSlideSize: function (slide, imgWidth, imgHeight) { + var maxWidth = parseInt(slide.opts.width, 10), + maxHeight = parseInt(slide.opts.height, 10); + + // Sets the default values from the image + slide.width = imgWidth; + slide.height = imgHeight; + + if (maxWidth > 0) { + slide.width = maxWidth; + slide.height = Math.floor((maxWidth * imgHeight) / imgWidth); + } + + if (maxHeight > 0) { + slide.width = Math.floor((maxHeight * imgWidth) / imgHeight); + slide.height = maxHeight; + } + }, + + // Create iframe wrapper, iframe and bindings + // ========================================== + + setIframe: function (slide) { + var self = this, + opts = slide.opts.iframe, + $slide = slide.$slide, + $iframe; + + slide.$content = $('
') + .css(opts.css) + .appendTo($slide); + + $slide.addClass("fancybox-slide--" + slide.contentType); + + slide.$iframe = $iframe = $(opts.tpl.replace(/\{rnd\}/g, new Date().getTime())) + .attr(opts.attr) + .appendTo(slide.$content); + + if (opts.preload) { + self.showLoading(slide); + + // Unfortunately, it is not always possible to determine if iframe is successfully loaded + // (due to browser security policy) + + $iframe.on("load.fb error.fb", function (e) { + this.isReady = 1; + + slide.$slide.trigger("refresh"); + + self.afterLoad(slide); + }); + + // Recalculate iframe content size + // =============================== + + $slide.on("refresh.fb", function () { + var $content = slide.$content, + frameWidth = opts.css.width, + frameHeight = opts.css.height, + $contents, + $body; + + if ($iframe[0].isReady !== 1) { + return; + } + + try { + $contents = $iframe.contents(); + $body = $contents.find("body"); + } catch (ignore) {} + + // Calculate content dimensions, if it is accessible + if ($body && $body.length && $body.children().length) { + // Avoid scrolling to top (if multiple instances) + $slide.css("overflow", "visible"); + + $content.css({ + width: "100%", + "max-width": "100%", + height: "9999px" + }); + + if (frameWidth === undefined) { + frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true))); + } + + $content.css("width", frameWidth ? frameWidth : "").css("max-width", ""); + + if (frameHeight === undefined) { + frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true))); + } + + $content.css("height", frameHeight ? frameHeight : ""); + + $slide.css("overflow", "auto"); + } + + $content.removeClass("fancybox-is-hidden"); + }); + } else { + self.afterLoad(slide); + } + + $iframe.attr("src", slide.src); + + // Remove iframe if closing or changing gallery item + $slide.one("onReset", function () { + // This helps IE not to throw errors when closing + try { + $(this) + .find("iframe") + .hide() + .unbind() + .attr("src", "//about:blank"); + } catch (ignore) {} + + $(this) + .off("refresh.fb") + .empty(); + + slide.isLoaded = false; + slide.isRevealed = false; + }); + }, + + // Wrap and append content to the slide + // ====================================== + + setContent: function (slide, content) { + var self = this; + + if (self.isClosing) { + return; + } + + self.hideLoading(slide); + + if (slide.$content) { + $.fancybox.stop(slide.$content); + } + + slide.$slide.empty(); + + // If content is a jQuery object, then it will be moved to the slide. + // The placeholder is created so we will know where to put it back. + if (isQuery(content) && content.parent().length) { + // Make sure content is not already moved to fancyBox + if (content.hasClass("fancybox-content") || content.parent().hasClass("fancybox-content")) { + content.parents(".fancybox-slide").trigger("onReset"); + } + + // Create temporary element marking original place of the content + slide.$placeholder = $("
") + .hide() + .insertAfter(content); + + // Make sure content is visible + content.css("display", "inline-block"); + } else if (!slide.hasError) { + // If content is just a plain text, try to convert it to html + if ($.type(content) === "string") { + content = $("
") + .append($.trim(content)) + .contents(); + } + + // If "filter" option is provided, then filter content + if (slide.opts.filter) { + content = $("
") + .html(content) + .find(slide.opts.filter); + } + } + + slide.$slide.one("onReset", function () { + // Pause all html5 video/audio + $(this) + .find("video,audio") + .trigger("pause"); + + // Put content back + if (slide.$placeholder) { + slide.$placeholder.after(content.removeClass("fancybox-content").hide()).remove(); + + slide.$placeholder = null; + } + + // Remove custom close button + if (slide.$smallBtn) { + slide.$smallBtn.remove(); + + slide.$smallBtn = null; + } + + // Remove content and mark slide as not loaded + if (!slide.hasError) { + $(this).empty(); + + slide.isLoaded = false; + slide.isRevealed = false; + } + }); + + $(content).appendTo(slide.$slide); + + if ($(content).is("video,audio")) { + $(content).addClass("fancybox-video"); + + $(content).wrap("
"); + + slide.contentType = "video"; + + slide.opts.width = slide.opts.width || $(content).attr("width"); + slide.opts.height = slide.opts.height || $(content).attr("height"); + } + + slide.$content = slide.$slide + .children() + .filter("div,form,main,video,audio,article,.fancybox-content") + .first(); + + slide.$content.siblings().hide(); + + // Re-check if there is a valid content + // (in some cases, ajax response can contain various elements or plain text) + if (!slide.$content.length) { + slide.$content = slide.$slide + .wrapInner("
") + .children() + .first(); + } + + slide.$content.addClass("fancybox-content"); + + slide.$slide.addClass("fancybox-slide--" + slide.contentType); + + self.afterLoad(slide); + }, + + // Display error message + // ===================== + + setError: function (slide) { + slide.hasError = true; + + slide.$slide + .trigger("onReset") + .removeClass("fancybox-slide--" + slide.contentType) + .addClass("fancybox-slide--error"); + + slide.contentType = "html"; + + this.setContent(slide, this.translate(slide, slide.opts.errorTpl)); + + if (slide.pos === this.currPos) { + this.isAnimating = false; + } + }, + + // Show loading icon inside the slide + // ================================== + + showLoading: function (slide) { + var self = this; + + slide = slide || self.current; + + if (slide && !slide.$spinner) { + slide.$spinner = $(self.translate(self, self.opts.spinnerTpl)) + .appendTo(slide.$slide) + .hide() + .fadeIn("fast"); + } + }, + + // Remove loading icon from the slide + // ================================== + + hideLoading: function (slide) { + var self = this; + + slide = slide || self.current; + + if (slide && slide.$spinner) { + slide.$spinner.stop().remove(); + + delete slide.$spinner; + } + }, + + // Adjustments after slide content has been loaded + // =============================================== + + afterLoad: function (slide) { + var self = this; + + if (self.isClosing) { + return; + } + + slide.isLoading = false; + slide.isLoaded = true; + + self.trigger("afterLoad", slide); + + self.hideLoading(slide); + + // Add small close button + if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) { + slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content); + } + + // Disable right click + if (slide.opts.protect && slide.$content && !slide.hasError) { + slide.$content.on("contextmenu.fb", function (e) { + if (e.button == 2) { + e.preventDefault(); + } + + return true; + }); + + // Add fake element on top of the image + // This makes a bit harder for user to select image + if (slide.type === "image") { + $('
').appendTo(slide.$content); + } + } + + self.adjustCaption(slide); + + self.adjustLayout(slide); + + if (slide.pos === self.currPos) { + self.updateCursor(); + } + + self.revealContent(slide); + }, + + // Prevent caption overlap, + // fix css inconsistency across browsers + // ===================================== + + adjustCaption: function (slide) { + var self = this, + current = slide || self.current, + caption = current.opts.caption, + preventOverlap = current.opts.preventCaptionOverlap, + $caption = self.$refs.caption, + $clone, + captionH = false; + + $caption.toggleClass("fancybox-caption--separate", preventOverlap); + + if (preventOverlap && caption && caption.length) { + if (current.pos !== self.currPos) { + $clone = $caption.clone().appendTo($caption.parent()); + + $clone + .children() + .eq(0) + .empty() + .html(caption); + + captionH = $clone.outerHeight(true); + + $clone.empty().remove(); + } else if (self.$caption) { + captionH = self.$caption.outerHeight(true); + } + + current.$slide.css("padding-bottom", captionH || ""); + } + }, + + // Simple hack to fix inconsistency across browsers, described here (affects Edge, too): + // https://bugzilla.mozilla.org/show_bug.cgi?id=748518 + // ==================================================================================== + + adjustLayout: function (slide) { + var self = this, + current = slide || self.current, + scrollHeight, + marginBottom, + inlinePadding, + actualPadding; + + if (current.isLoaded && current.opts.disableLayoutFix !== true) { + current.$content.css("margin-bottom", ""); + + // If we would always set margin-bottom for the content, + // then it would potentially break vertical align + if (current.$content.outerHeight() > current.$slide.height() + 0.5) { + inlinePadding = current.$slide[0].style["padding-bottom"]; + actualPadding = current.$slide.css("padding-bottom"); + + if (parseFloat(actualPadding) > 0) { + scrollHeight = current.$slide[0].scrollHeight; + + current.$slide.css("padding-bottom", 0); + + if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) { + marginBottom = actualPadding; + } + + current.$slide.css("padding-bottom", inlinePadding); + } + } + + current.$content.css("margin-bottom", marginBottom); + } + }, + + // Make content visible + // This method is called right after content has been loaded or + // user navigates gallery and transition should start + // ============================================================ + + revealContent: function (slide) { + var self = this, + $slide = slide.$slide, + end = false, + start = false, + isMoved = self.isMoved(slide), + isRevealed = slide.isRevealed, + effect, + effectClassName, + duration, + opacity; + + slide.isRevealed = true; + + effect = slide.opts[self.firstRun ? "animationEffect" : "transitionEffect"]; + duration = slide.opts[self.firstRun ? "animationDuration" : "transitionDuration"]; + + duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10); + + if (isMoved || slide.pos !== self.currPos || !duration) { + effect = false; + } + + // Check if can zoom + if (effect === "zoom") { + if (slide.pos === self.currPos && duration && slide.type === "image" && !slide.hasError && (start = self.getThumbPos(slide))) { + end = self.getFitPos(slide); + } else { + effect = "fade"; + } + } + + // Zoom animation + // ============== + if (effect === "zoom") { + self.isAnimating = true; + + end.scaleX = end.width / start.width; + end.scaleY = end.height / start.height; + + // Check if we need to animate opacity + opacity = slide.opts.zoomOpacity; + + if (opacity == "auto") { + opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1; + } + + if (opacity) { + start.opacity = 0.1; + end.opacity = 1; + } + + // Draw image at start position + $.fancybox.setTranslate(slide.$content.removeClass("fancybox-is-hidden"), start); + + forceRedraw(slide.$content); + + // Start animation + $.fancybox.animate(slide.$content, end, duration, function () { + self.isAnimating = false; + + self.complete(); + }); + + return; + } + + self.updateSlide(slide); + + // Simply show content if no effect + // ================================ + if (!effect) { + slide.$content.removeClass("fancybox-is-hidden"); + + if (!isRevealed && isMoved && slide.type === "image" && !slide.hasError) { + slide.$content.hide().fadeIn("fast"); + } + + if (slide.pos === self.currPos) { + self.complete(); + } + + return; + } + + // Prepare for CSS transiton + // ========================= + $.fancybox.stop($slide); + + //effectClassName = "fancybox-animated fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-fx-" + effect; + effectClassName = "fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + effect; + + $slide.addClass(effectClassName).removeClass("fancybox-slide--current"); //.addClass(effectClassName); + + slide.$content.removeClass("fancybox-is-hidden"); + + // Force reflow + forceRedraw($slide); + + if (slide.type !== "image") { + slide.$content.hide().show(0); + } + + $.fancybox.animate( + $slide, + "fancybox-slide--current", + duration, + function () { + $slide.removeClass(effectClassName).css({ + transform: "", + opacity: "" + }); + + if (slide.pos === self.currPos) { + self.complete(); + } + }, + true + ); + }, + + // Check if we can and have to zoom from thumbnail + //================================================ + + getThumbPos: function (slide) { + var rez = false, + $thumb = slide.$thumb, + thumbPos, + btw, + brw, + bbw, + blw; + + if (!$thumb || !inViewport($thumb[0])) { + return false; + } + + thumbPos = $.fancybox.getTranslate($thumb); + + btw = parseFloat($thumb.css("border-top-width") || 0); + brw = parseFloat($thumb.css("border-right-width") || 0); + bbw = parseFloat($thumb.css("border-bottom-width") || 0); + blw = parseFloat($thumb.css("border-left-width") || 0); + + rez = { + top: thumbPos.top + btw, + left: thumbPos.left + blw, + width: thumbPos.width - brw - blw, + height: thumbPos.height - btw - bbw, + scaleX: 1, + scaleY: 1 + }; + + return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false; + }, + + // Final adjustments after current gallery item is moved to position + // and it`s content is loaded + // ================================================================== + + complete: function () { + var self = this, + current = self.current, + slides = {}, + $el; + + if (self.isMoved() || !current.isLoaded) { + return; + } + + if (!current.isComplete) { + current.isComplete = true; + + current.$slide.siblings().trigger("onReset"); + + self.preload("inline"); + + // Trigger any CSS transiton inside the slide + forceRedraw(current.$slide); + + current.$slide.addClass("fancybox-slide--complete"); + + // Remove unnecessary slides + $.each(self.slides, function (key, slide) { + if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) { + slides[slide.pos] = slide; + } else if (slide) { + $.fancybox.stop(slide.$slide); + + slide.$slide.off().remove(); + } + }); + + self.slides = slides; + } + + self.isAnimating = false; + + self.updateCursor(); + + self.trigger("afterShow"); + + // Autoplay first html5 video/audio + if (!!current.opts.video.autoStart) { + current.$slide + .find("video,audio") + .filter(":visible:first") + .trigger("play") + .one("ended", function () { + if (Document.exitFullscreen) { + Document.exitFullscreen(); + } else if (this.webkitExitFullscreen) { + this.webkitExitFullscreen(); + } + + self.next(); + }); + } + + // Try to focus on the first focusable element + if (current.opts.autoFocus && current.contentType === "html") { + // Look for the first input with autofocus attribute + $el = current.$content.find("input[autofocus]:enabled:visible:first"); + + if ($el.length) { + $el.trigger("focus"); + } else { + self.focus(null, true); + } + } + + // Avoid jumping + current.$slide.scrollTop(0).scrollLeft(0); + }, + + // Preload next and previous slides + // ================================ + + preload: function (type) { + var self = this, + prev, + next; + + if (self.group.length < 2) { + return; + } + + next = self.slides[self.currPos + 1]; + prev = self.slides[self.currPos - 1]; + + if (prev && prev.type === type) { + self.loadSlide(prev); + } + + if (next && next.type === type) { + self.loadSlide(next); + } + }, + + // Try to find and focus on the first focusable element + // ==================================================== + + focus: function (e, firstRun) { + var self = this, + focusableStr = [ + "a[href]", + "area[href]", + 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', + "select:not([disabled]):not([aria-hidden])", + "textarea:not([disabled]):not([aria-hidden])", + "button:not([disabled]):not([aria-hidden])", + "iframe", + "object", + "embed", + "video", + "audio", + "[contenteditable]", + '[tabindex]:not([tabindex^="-"])' + ].join(","), + focusableItems, + focusedItemIndex; + + if (self.isClosing) { + return; + } + + if (e || !self.current || !self.current.isComplete) { + // Focus on any element inside fancybox + focusableItems = self.$refs.container.find("*:visible"); + } else { + // Focus inside current slide + focusableItems = self.current.$slide.find("*:visible" + (firstRun ? ":not(.fancybox-close-small)" : "")); + } + + focusableItems = focusableItems.filter(focusableStr).filter(function () { + return $(this).css("visibility") !== "hidden" && !$(this).hasClass("disabled"); + }); + + if (focusableItems.length) { + focusedItemIndex = focusableItems.index(document.activeElement); + + if (e && e.shiftKey) { + // Back tab + if (focusedItemIndex < 0 || focusedItemIndex == 0) { + e.preventDefault(); + + focusableItems.eq(focusableItems.length - 1).trigger("focus"); + } + } else { + // Outside or Forward tab + if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) { + if (e) { + e.preventDefault(); + } + + focusableItems.eq(0).trigger("focus"); + } + } + } else { + self.$refs.container.trigger("focus"); + } + }, + + // Activates current instance - brings container to the front and enables keyboard, + // notifies other instances about deactivating + // ================================================================================= + + activate: function () { + var self = this; + + // Deactivate all instances + $(".fancybox-container").each(function () { + var instance = $(this).data("FancyBox"); + + // Skip self and closing instances + if (instance && instance.id !== self.id && !instance.isClosing) { + instance.trigger("onDeactivate"); + + instance.removeEvents(); + + instance.isVisible = false; + } + }); + + self.isVisible = true; + + if (self.current || self.isIdle) { + self.update(); + + self.updateControls(); + } + + self.trigger("onActivate"); + + self.addEvents(); + }, + + // Start closing procedure + // This will start "zoom-out" animation if needed and clean everything up afterwards + // ================================================================================= + + close: function (e, d) { + var self = this, + current = self.current, + effect, + duration, + $content, + domRect, + opacity, + start, + end; + + var done = function () { + self.cleanUp(e); + }; + + if (self.isClosing) { + return false; + } + + self.isClosing = true; + + // If beforeClose callback prevents closing, make sure content is centered + if (self.trigger("beforeClose", e) === false) { + self.isClosing = false; + + requestAFrame(function () { + self.update(); + }); + + return false; + } + + // Remove all events + // If there are multiple instances, they will be set again by "activate" method + self.removeEvents(); + + $content = current.$content; + effect = current.opts.animationEffect; + duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0; + + current.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"); + + if (e !== true) { + $.fancybox.stop(current.$slide); + } else { + effect = false; + } + + // Remove other slides + current.$slide + .siblings() + .trigger("onReset") + .remove(); + + // Trigger animations + if (duration) { + self.$refs.container + .removeClass("fancybox-is-open") + .addClass("fancybox-is-closing") + .css("transition-duration", duration + "ms"); + } + + // Clean up + self.hideLoading(current); + + self.hideControls(true); + + self.updateCursor(); + + // Check if possible to zoom-out + if ( + effect === "zoom" && + !($content && duration && current.type === "image" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current))) + ) { + effect = "fade"; + } + + if (effect === "zoom") { + $.fancybox.stop($content); + + domRect = $.fancybox.getTranslate($content); + + start = { + top: domRect.top, + left: domRect.left, + scaleX: domRect.width / end.width, + scaleY: domRect.height / end.height, + width: end.width, + height: end.height + }; + + // Check if we need to animate opacity + opacity = current.opts.zoomOpacity; + + if (opacity == "auto") { + opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1; + } + + if (opacity) { + end.opacity = 0; + } + + $.fancybox.setTranslate($content, start); + + forceRedraw($content); + + $.fancybox.animate($content, end, duration, done); + + return true; + } + + if (effect && duration) { + $.fancybox.animate( + current.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"), + "fancybox-animated fancybox-fx-" + effect, + duration, + done + ); + } else { + // If skip animation + if (e === true) { + setTimeout(done, duration); + } else { + done(); + } + } + + return true; + }, + + // Final adjustments after removing the instance + // ============================================= + + cleanUp: function (e) { + var self = this, + instance, + $focus = self.current.opts.$orig, + x, + y; + + self.current.$slide.trigger("onReset"); + + self.$refs.container.empty().remove(); + + self.trigger("afterClose", e); + + // Place back focus + if (!!self.current.opts.backFocus) { + if (!$focus || !$focus.length || !$focus.is(":visible")) { + $focus = self.$trigger; + } + + if ($focus && $focus.length) { + x = window.scrollX; + y = window.scrollY; + + $focus.trigger("focus"); + + $("html, body") + .scrollTop(y) + .scrollLeft(x); + } + } + + self.current = null; + + // Check if there are other instances + instance = $.fancybox.getInstance(); + + if (instance) { + instance.activate(); + } else { + $("body").removeClass("fancybox-active compensate-for-scrollbar"); + + $("#fancybox-style-noscroll").remove(); + } + }, + + // Call callback and trigger an event + // ================================== + + trigger: function (name, slide) { + var args = Array.prototype.slice.call(arguments, 1), + self = this, + obj = slide && slide.opts ? slide : self.current, + rez; + + if (obj) { + args.unshift(obj); + } else { + obj = self; + } + + args.unshift(self); + + if ($.isFunction(obj.opts[name])) { + rez = obj.opts[name].apply(obj, args); + } + + if (rez === false) { + return rez; + } + + if (name === "afterClose" || !self.$refs) { + $D.trigger(name + ".fb", args); + } else { + self.$refs.container.trigger(name + ".fb", args); + } + }, + + // Update infobar values, navigation button states and reveal caption + // ================================================================== + + updateControls: function () { + var self = this, + current = self.current, + index = current.index, + $container = self.$refs.container, + $caption = self.$refs.caption, + caption = current.opts.caption; + + // Recalculate content dimensions + current.$slide.trigger("refresh"); + + // Set caption + if (caption && caption.length) { + self.$caption = $caption; + + $caption + .children() + .eq(0) + .html(caption); + } else { + self.$caption = null; + } + + if (!self.hasHiddenControls && !self.isIdle) { + self.showControls(); + } + + // Update info and navigation elements + $container.find("[data-fancybox-count]").html(self.group.length); + $container.find("[data-fancybox-index]").html(index + 1); + + $container.find("[data-fancybox-prev]").prop("disabled", !current.opts.loop && index <= 0); + $container.find("[data-fancybox-next]").prop("disabled", !current.opts.loop && index >= self.group.length - 1); + + if (current.type === "image") { + // Re-enable buttons; update download button source + $container + .find("[data-fancybox-zoom]") + .show() + .end() + .find("[data-fancybox-download]") + .attr("href", current.opts.image.src || current.src) + .show(); + } else if (current.opts.toolbar) { + $container.find("[data-fancybox-download],[data-fancybox-zoom]").hide(); + } + + // Make sure focus is not on disabled button/element + if ($(document.activeElement).is(":hidden,[disabled]")) { + self.$refs.container.trigger("focus"); + } + }, + + // Hide toolbar and caption + // ======================== + + hideControls: function (andCaption) { + var self = this, + arr = ["infobar", "toolbar", "nav"]; + + if (andCaption || !self.current.opts.preventCaptionOverlap) { + arr.push("caption"); + } + + this.$refs.container.removeClass( + arr + .map(function (i) { + return "fancybox-show-" + i; + }) + .join(" ") + ); + + this.hasHiddenControls = true; + }, + + showControls: function () { + var self = this, + opts = self.current ? self.current.opts : self.opts, + $container = self.$refs.container; + + self.hasHiddenControls = false; + self.idleSecondsCounter = 0; + + $container + .toggleClass("fancybox-show-toolbar", !!(opts.toolbar && opts.buttons)) + .toggleClass("fancybox-show-infobar", !!(opts.infobar && self.group.length > 1)) + .toggleClass("fancybox-show-caption", !!self.$caption) + .toggleClass("fancybox-show-nav", !!(opts.arrows && self.group.length > 1)) + .toggleClass("fancybox-is-modal", !!opts.modal); + }, + + // Toggle toolbar and caption + // ========================== + + toggleControls: function () { + if (this.hasHiddenControls) { + this.showControls(); + } else { + this.hideControls(); + } + } + }); + + $.fancybox = { + version: "3.5.7", + defaults: defaults, + + // Get current instance and execute a command. + // + // Examples of usage: + // + // $instance = $.fancybox.getInstance(); + // $.fancybox.getInstance().jumpTo( 1 ); + // $.fancybox.getInstance( 'jumpTo', 1 ); + // $.fancybox.getInstance( function() { + // console.info( this.currIndex ); + // }); + // ====================================================== + + getInstance: function (command) { + var instance = $('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"), + args = Array.prototype.slice.call(arguments, 1); + + if (instance instanceof FancyBox) { + if ($.type(command) === "string") { + instance[command].apply(instance, args); + } else if ($.type(command) === "function") { + command.apply(instance, args); + } + + return instance; + } + + return false; + }, + + // Create new instance + // =================== + + open: function (items, opts, index) { + return new FancyBox(items, opts, index); + }, + + // Close current or all instances + // ============================== + + close: function (all) { + var instance = this.getInstance(); + + if (instance) { + instance.close(); + + // Try to find and close next instance + if (all === true) { + this.close(all); + } + } + }, + + // Close all instances and unbind all events + // ========================================= + + destroy: function () { + this.close(true); + + $D.add("body").off("click.fb-start", "**"); + }, + + // Try to detect mobile devices + // ============================ + + isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), + + // Detect if 'translate3d' support is available + // ============================================ + + use3d: (function () { + var div = document.createElement("div"); + + return ( + window.getComputedStyle && + window.getComputedStyle(div) && + window.getComputedStyle(div).getPropertyValue("transform") && + !(document.documentMode && document.documentMode < 11) + ); + })(), + + // Helper function to get current visual state of an element + // returns array[ top, left, horizontal-scale, vertical-scale, opacity ] + // ===================================================================== + + getTranslate: function ($el) { + var domRect; + + if (!$el || !$el.length) { + return false; + } + + domRect = $el[0].getBoundingClientRect(); + + return { + top: domRect.top || 0, + left: domRect.left || 0, + width: domRect.width, + height: domRect.height, + opacity: parseFloat($el.css("opacity")) + }; + }, + + // Shortcut for setting "translate3d" properties for element + // Can set be used to set opacity, too + // ======================================================== + + setTranslate: function ($el, props) { + var str = "", + css = {}; + + if (!$el || !props) { + return; + } + + if (props.left !== undefined || props.top !== undefined) { + str = + (props.left === undefined ? $el.position().left : props.left) + + "px, " + + (props.top === undefined ? $el.position().top : props.top) + + "px"; + + if (this.use3d) { + str = "translate3d(" + str + ", 0px)"; + } else { + str = "translate(" + str + ")"; + } + } + + if (props.scaleX !== undefined && props.scaleY !== undefined) { + str += " scale(" + props.scaleX + ", " + props.scaleY + ")"; + } else if (props.scaleX !== undefined) { + str += " scaleX(" + props.scaleX + ")"; + } + + if (str.length) { + css.transform = str; + } + + if (props.opacity !== undefined) { + css.opacity = props.opacity; + } + + if (props.width !== undefined) { + css.width = props.width; + } + + if (props.height !== undefined) { + css.height = props.height; + } + + return $el.css(css); + }, + + // Simple CSS transition handler + // ============================= + + animate: function ($el, to, duration, callback, leaveAnimationName) { + var self = this, + from; + + if ($.isFunction(duration)) { + callback = duration; + duration = null; + } + + self.stop($el); + + from = self.getTranslate($el); + + $el.on(transitionEnd, function (e) { + // Skip events from child elements and z-index change + if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == "z-index")) { + return; + } + + self.stop($el); + + if ($.isNumeric(duration)) { + $el.css("transition-duration", ""); + } + + if ($.isPlainObject(to)) { + if (to.scaleX !== undefined && to.scaleY !== undefined) { + self.setTranslate($el, { + top: to.top, + left: to.left, + width: from.width * to.scaleX, + height: from.height * to.scaleY, + scaleX: 1, + scaleY: 1 + }); + } + } else if (leaveAnimationName !== true) { + $el.removeClass(to); + } + + if ($.isFunction(callback)) { + callback(e); + } + }); + + if ($.isNumeric(duration)) { + $el.css("transition-duration", duration + "ms"); + } + + // Start animation by changing CSS properties or class name + if ($.isPlainObject(to)) { + if (to.scaleX !== undefined && to.scaleY !== undefined) { + delete to.width; + delete to.height; + + if ($el.parent().hasClass("fancybox-slide--image")) { + $el.parent().addClass("fancybox-is-scaling"); + } + } + + $.fancybox.setTranslate($el, to); + } else { + $el.addClass(to); + } + + // Make sure that `transitionend` callback gets fired + $el.data( + "timer", + setTimeout(function () { + $el.trigger(transitionEnd); + }, duration + 33) + ); + }, + + stop: function ($el, callCallback) { + if ($el && $el.length) { + clearTimeout($el.data("timer")); + + if (callCallback) { + $el.trigger(transitionEnd); + } + + $el.off(transitionEnd).css("transition-duration", ""); + + $el.parent().removeClass("fancybox-is-scaling"); + } + } + }; + + // Default click handler for "fancyboxed" links + // ============================================ + + function _run(e, opts) { + var items = [], + index = 0, + $target, + value, + instance; + + // Avoid opening multiple times + if (e && e.isDefaultPrevented()) { + return; + } + + e.preventDefault(); + + opts = opts || {}; + + if (e && e.data) { + opts = mergeOpts(e.data.options, opts); + } + + $target = opts.$target || $(e.currentTarget).trigger("blur"); + instance = $.fancybox.getInstance(); + + if (instance && instance.$trigger && instance.$trigger.is($target)) { + return; + } + + if (opts.selector) { + items = $(opts.selector); + } else { + // Get all related items and find index for clicked one + value = $target.attr("data-fancybox") || ""; + + if (value) { + items = e.data ? e.data.items : []; + items = items.length ? items.filter('[data-fancybox="' + value + '"]') : $('[data-fancybox="' + value + '"]'); + } else { + items = [$target]; + } + } + + index = $(items).index($target); + + // Sometimes current item can not be found + if (index < 0) { + index = 0; + } + + instance = $.fancybox.open(items, opts, index); + + // Save last active element + instance.$trigger = $target; + } + + // Create a jQuery plugin + // ====================== + + $.fn.fancybox = function (options) { + var selector; + + options = options || {}; + selector = options.selector || false; + + if (selector) { + // Use body element instead of document so it executes first + $("body") + .off("click.fb-start", selector) + .on("click.fb-start", selector, { + options: options + }, _run); + } else { + this.off("click.fb-start").on( + "click.fb-start", { + items: this, + options: options + }, + _run + ); + } + + return this; + }; + + // Self initializing plugin for all elements having `data-fancybox` attribute + // ========================================================================== + + $D.on("click.fb-start", "[data-fancybox]", _run); + + // Enable "trigger elements" + // ========================= + + $D.on("click.fb-start", "[data-fancybox-trigger]", function (e) { + $('[data-fancybox="' + $(this).attr("data-fancybox-trigger") + '"]') + .eq($(this).attr("data-fancybox-index") || 0) + .trigger("click.fb-start", { + $trigger: $(this) + }); + }); + + // Track focus event for better accessibility styling + // ================================================== + (function () { + var buttonStr = ".fancybox-button", + focusStr = "fancybox-focus", + $pressed = null; + + $D.on("mousedown mouseup focus blur", buttonStr, function (e) { + switch (e.type) { + case "mousedown": + $pressed = $(this); + break; + case "mouseup": + $pressed = null; + break; + case "focusin": + $(buttonStr).removeClass(focusStr); + + if (!$(this).is($pressed) && !$(this).is("[disabled]")) { + $(this).addClass(focusStr); + } + break; + case "focusout": + $(buttonStr).removeClass(focusStr); + break; + } + }); + })(); +})(window, document, jQuery); +// ========================================================================== +// +// Media +// Adds additional media type support +// +// ========================================================================== +(function ($) { + "use strict"; + + // Object containing properties for each media type + var defaults = { + youtube: { + matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, + params: { + autoplay: 1, + autohide: 1, + fs: 1, + rel: 0, + hd: 1, + wmode: "transparent", + enablejsapi: 1, + html5: 1 + }, + paramPlace: 8, + type: "iframe", + url: "https://www.youtube-nocookie.com/embed/$4", + thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg" + }, + + vimeo: { + matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, + params: { + autoplay: 1, + hd: 1, + show_title: 1, + show_byline: 1, + show_portrait: 0, + fullscreen: 1 + }, + paramPlace: 3, + type: "iframe", + url: "//player.vimeo.com/video/$2" + }, + + instagram: { + matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, + type: "image", + url: "//$1/p/$2/media/?size=l" + }, + + // Examples: + // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16 + // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z + // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en + // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572 + gmap_place: { + matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, + type: "iframe", + url: function (rez) { + return ( + "//maps.google." + + rez[2] + + "/?ll=" + + (rez[9] ? rez[9] + "&z=" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\//, "&") : "") : rez[12] + "").replace(/\?/, "&") + + "&output=" + + (rez[12] && rez[12].indexOf("layer=c") > 0 ? "svembed" : "embed") + ); + } + }, + + // Examples: + // https://www.google.com/maps/search/Empire+State+Building/ + // https://www.google.com/maps/search/?api=1&query=centurylink+field + // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393 + gmap_search: { + matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, + type: "iframe", + url: function (rez) { + return "//maps.google." + rez[2] + "/maps?q=" + rez[5].replace("query=", "q=").replace("api=1", "") + "&output=embed"; + } + } + }; + + // Formats matching url to final form + var format = function (url, rez, params) { + if (!url) { + return; + } + + params = params || ""; + + if ($.type(params) === "object") { + params = $.param(params, true); + } + + $.each(rez, function (key, value) { + url = url.replace("$" + key, value || ""); + }); + + if (params.length) { + url += (url.indexOf("?") > 0 ? "&" : "?") + params; + } + + return url; + }; + + $(document).on("objectNeedsType.fb", function (e, instance, item) { + var url = item.src || "", + type = false, + media, + thumb, + rez, + params, + urlParams, + paramObj, + provider; + + media = $.extend(true, {}, defaults, item.opts.media); + + // Look for any matching media type + $.each(media, function (providerName, providerOpts) { + rez = url.match(providerOpts.matcher); + + if (!rez) { + return; + } + + type = providerOpts.type; + provider = providerName; + paramObj = {}; + + if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) { + urlParams = rez[providerOpts.paramPlace]; + + if (urlParams[0] == "?") { + urlParams = urlParams.substring(1); + } + + urlParams = urlParams.split("&"); + + for (var m = 0; m < urlParams.length; ++m) { + var p = urlParams[m].split("=", 2); + + if (p.length == 2) { + paramObj[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); + } + } + } + + params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj); + + url = + $.type(providerOpts.url) === "function" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params); + + thumb = + $.type(providerOpts.thumb) === "function" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez); + + if (providerName === "youtube") { + url = url.replace(/&t=((\d+)m)?(\d+)s/, function (match, p1, m, s) { + return "&start=" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10)); + }); + } else if (providerName === "vimeo") { + url = url.replace("&%23", "#"); + } + + return false; + }); + + // If it is found, then change content type and update the url + + if (type) { + if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) { + item.opts.thumb = thumb; + } + + if (type === "iframe") { + item.opts = $.extend(true, item.opts, { + iframe: { + preload: false, + attr: { + scrolling: "no" + } + } + }); + } + + $.extend(item, { + type: type, + src: url, + origSrc: item.src, + contentSource: provider, + contentType: type === "image" ? "image" : provider == "gmap_place" || provider == "gmap_search" ? "map" : "video" + }); + } else if (url) { + item.type = item.opts.defaultType; + } + }); + + // Load YouTube/Video API on request to detect when video finished playing + var VideoAPILoader = { + youtube: { + src: "https://www.youtube.com/iframe_api", + class: "YT", + loading: false, + loaded: false + }, + + vimeo: { + src: "https://player.vimeo.com/api/player.js", + class: "Vimeo", + loading: false, + loaded: false + }, + + load: function (vendor) { + var _this = this, + script; + + if (this[vendor].loaded) { + setTimeout(function () { + _this.done(vendor); + }); + return; + } + + if (this[vendor].loading) { + return; + } + + this[vendor].loading = true; + + script = document.createElement("script"); + script.type = "text/javascript"; + script.src = this[vendor].src; + + if (vendor === "youtube") { + window.onYouTubeIframeAPIReady = function () { + _this[vendor].loaded = true; + _this.done(vendor); + }; + } else { + script.onload = function () { + _this[vendor].loaded = true; + _this.done(vendor); + }; + } + + document.body.appendChild(script); + }, + done: function (vendor) { + var instance, $el, player; + + if (vendor === "youtube") { + delete window.onYouTubeIframeAPIReady; + } + + instance = $.fancybox.getInstance(); + + if (instance) { + $el = instance.current.$content.find("iframe"); + + if (vendor === "youtube" && YT !== undefined && YT) { + player = new YT.Player($el.attr("id"), { + events: { + onStateChange: function (e) { + if (e.data == 0) { + instance.next(); + } + } + } + }); + } else if (vendor === "vimeo" && Vimeo !== undefined && Vimeo) { + player = new Vimeo.Player($el); + + player.on("ended", function () { + instance.next(); + }); + } + } + } + }; + + $(document).on({ + "afterShow.fb": function (e, instance, current) { + if (instance.group.length > 1 && (current.contentSource === "youtube" || current.contentSource === "vimeo")) { + VideoAPILoader.load(current.contentSource); + } + } + }); +})(jQuery); +// ========================================================================== +// +// Guestures +// Adds touch guestures, handles click and tap events +// +// ========================================================================== +(function (window, document, $) { + "use strict"; + + var requestAFrame = (function () { + return ( + window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + // if all else fails, use setTimeout + function (callback) { + return window.setTimeout(callback, 1000 / 60); + } + ); + })(); + + var cancelAFrame = (function () { + return ( + window.cancelAnimationFrame || + window.webkitCancelAnimationFrame || + window.mozCancelAnimationFrame || + window.oCancelAnimationFrame || + function (id) { + window.clearTimeout(id); + } + ); + })(); + + var getPointerXY = function (e) { + var result = []; + + e = e.originalEvent || e || window.e; + e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e]; + + for (var key in e) { + if (e[key].pageX) { + result.push({ + x: e[key].pageX, + y: e[key].pageY + }); + } else if (e[key].clientX) { + result.push({ + x: e[key].clientX, + y: e[key].clientY + }); + } + } + + return result; + }; + + var distance = function (point2, point1, what) { + if (!point1 || !point2) { + return 0; + } + + if (what === "x") { + return point2.x - point1.x; + } else if (what === "y") { + return point2.y - point1.y; + } + + return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2)); + }; + + var isClickable = function ($el) { + if ( + $el.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') || + $.isFunction($el.get(0).onclick) || + $el.data("selectable") + ) { + return true; + } + + // Check for attributes like data-fancybox-next or data-fancybox-close + for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) { + if (atts[i].nodeName.substr(0, 14) === "data-fancybox-") { + return true; + } + } + + return false; + }; + + var hasScrollbars = function (el) { + var overflowY = window.getComputedStyle(el)["overflow-y"], + overflowX = window.getComputedStyle(el)["overflow-x"], + vertical = (overflowY === "scroll" || overflowY === "auto") && el.scrollHeight > el.clientHeight, + horizontal = (overflowX === "scroll" || overflowX === "auto") && el.scrollWidth > el.clientWidth; + + return vertical || horizontal; + }; + + var isScrollable = function ($el) { + var rez = false; + + while (true) { + rez = hasScrollbars($el.get(0)); + + if (rez) { + break; + } + + $el = $el.parent(); + + if (!$el.length || $el.hasClass("fancybox-stage") || $el.is("body")) { + break; + } + } + + return rez; + }; + + var Guestures = function (instance) { + var self = this; + + self.instance = instance; + + self.$bg = instance.$refs.bg; + self.$stage = instance.$refs.stage; + self.$container = instance.$refs.container; + + self.destroy(); + + self.$container.on("touchstart.fb.touch mousedown.fb.touch", $.proxy(self, "ontouchstart")); + }; + + Guestures.prototype.destroy = function () { + var self = this; + + self.$container.off(".fb.touch"); + + $(document).off(".fb.touch"); + + if (self.requestId) { + cancelAFrame(self.requestId); + self.requestId = null; + } + + if (self.tapped) { + clearTimeout(self.tapped); + self.tapped = null; + } + }; + + Guestures.prototype.ontouchstart = function (e) { + var self = this, + $target = $(e.target), + instance = self.instance, + current = instance.current, + $slide = current.$slide, + $content = current.$content, + isTouchDevice = e.type == "touchstart"; + + // Do not respond to both (touch and mouse) events + if (isTouchDevice) { + self.$container.off("mousedown.fb.touch"); + } + + // Ignore right click + if (e.originalEvent && e.originalEvent.button == 2) { + return; + } + + // Ignore taping on links, buttons, input elements + if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) { + return; + } + // Ignore clicks on the scrollbar + if (!$target.is("img") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) { + return; + } + + // Ignore clicks while zooming or closing + if (!current || instance.isAnimating || current.$slide.hasClass("fancybox-animated")) { + e.stopPropagation(); + e.preventDefault(); + + return; + } + + self.realPoints = self.startPoints = getPointerXY(e); + + if (!self.startPoints.length) { + return; + } + + // Allow other scripts to catch touch event if "touch" is set to false + if (current.touch) { + e.stopPropagation(); + } + + self.startEvent = e; + + self.canTap = true; + self.$target = $target; + self.$content = $content; + self.opts = current.opts.touch; + + self.isPanning = false; + self.isSwiping = false; + self.isZooming = false; + self.isScrolling = false; + self.canPan = instance.canPan(); + + self.startTime = new Date().getTime(); + self.distanceX = self.distanceY = self.distance = 0; + + self.canvasWidth = Math.round($slide[0].clientWidth); + self.canvasHeight = Math.round($slide[0].clientHeight); + + self.contentLastPos = null; + self.contentStartPos = $.fancybox.getTranslate(self.$content) || { + top: 0, + left: 0 + }; + self.sliderStartPos = $.fancybox.getTranslate($slide); + + // Since position will be absolute, but we need to make it relative to the stage + self.stagePos = $.fancybox.getTranslate(instance.$refs.stage); + + self.sliderStartPos.top -= self.stagePos.top; + self.sliderStartPos.left -= self.stagePos.left; + + self.contentStartPos.top -= self.stagePos.top; + self.contentStartPos.left -= self.stagePos.left; + + $(document) + .off(".fb.touch") + .on(isTouchDevice ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", $.proxy(self, "ontouchend")) + .on(isTouchDevice ? "touchmove.fb.touch" : "mousemove.fb.touch", $.proxy(self, "ontouchmove")); + + if ($.fancybox.isMobile) { + document.addEventListener("scroll", self.onscroll, true); + } + + // Skip if clicked outside the sliding area + if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) { + if ($target.is(".fancybox-image")) { + e.preventDefault(); + } + + if (!($.fancybox.isMobile && $target.parents(".fancybox-caption").length)) { + return; + } + } + + self.isScrollable = isScrollable($target) || isScrollable($target.parent()); + + // Check if element is scrollable and try to prevent default behavior (scrolling) + if (!($.fancybox.isMobile && self.isScrollable)) { + e.preventDefault(); + } + + // One finger or mouse click - swipe or pan an image + if (self.startPoints.length === 1 || current.hasError) { + if (self.canPan) { + $.fancybox.stop(self.$content); + + self.isPanning = true; + } else { + self.isSwiping = true; + } + + self.$container.addClass("fancybox-is-grabbing"); + } + + // Two fingers - zoom image + if (self.startPoints.length === 2 && current.type === "image" && (current.isLoaded || current.$ghost)) { + self.canTap = false; + self.isSwiping = false; + self.isPanning = false; + + self.isZooming = true; + + $.fancybox.stop(self.$content); + + self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft(); + self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop(); + + self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width; + self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height; + + self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]); + } + }; + + Guestures.prototype.onscroll = function (e) { + var self = this; + + self.isScrolling = true; + + document.removeEventListener("scroll", self.onscroll, true); + }; + + Guestures.prototype.ontouchmove = function (e) { + var self = this; + + // Make sure user has not released over iframe or disabled element + if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) { + self.ontouchend(e); + return; + } + + if (self.isScrolling) { + self.canTap = false; + return; + } + + self.newPoints = getPointerXY(e); + + if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) { + return; + } + + if (!(self.isSwiping && self.isSwiping === true)) { + e.preventDefault(); + } + + self.distanceX = distance(self.newPoints[0], self.startPoints[0], "x"); + self.distanceY = distance(self.newPoints[0], self.startPoints[0], "y"); + + self.distance = distance(self.newPoints[0], self.startPoints[0]); + + // Skip false ontouchmove events (Chrome) + if (self.distance > 0) { + if (self.isSwiping) { + self.onSwipe(e); + } else if (self.isPanning) { + self.onPan(); + } else if (self.isZooming) { + self.onZoom(); + } + } + }; + + Guestures.prototype.onSwipe = function (e) { + var self = this, + instance = self.instance, + swiping = self.isSwiping, + left = self.sliderStartPos.left || 0, + angle; + + // If direction is not yet determined + if (swiping === true) { + // We need at least 10px distance to correctly calculate an angle + if (Math.abs(self.distance) > 10) { + self.canTap = false; + + if (instance.group.length < 2 && self.opts.vertical) { + self.isSwiping = "y"; + } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) { + self.isSwiping = "x"; + } else { + angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI); + + self.isSwiping = angle > 45 && angle < 135 ? "y" : "x"; + } + + if (self.isSwiping === "y" && $.fancybox.isMobile && self.isScrollable) { + self.isScrolling = true; + + return; + } + + instance.isDragging = self.isSwiping; + + // Reset points to avoid jumping, because we dropped first swipes to calculate the angle + self.startPoints = self.newPoints; + + $.each(instance.slides, function (index, slide) { + var slidePos, stagePos; + + $.fancybox.stop(slide.$slide); + + slidePos = $.fancybox.getTranslate(slide.$slide); + stagePos = $.fancybox.getTranslate(instance.$refs.stage); + + slide.$slide + .css({ + transform: "", + opacity: "", + "transition-duration": "" + }) + .removeClass("fancybox-animated") + .removeClass(function (index, className) { + return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" "); + }); + + if (slide.pos === instance.current.pos) { + self.sliderStartPos.top = slidePos.top - stagePos.top; + self.sliderStartPos.left = slidePos.left - stagePos.left; + } + + $.fancybox.setTranslate(slide.$slide, { + top: slidePos.top - stagePos.top, + left: slidePos.left - stagePos.left + }); + }); + + // Stop slideshow + if (instance.SlideShow && instance.SlideShow.isActive) { + instance.SlideShow.stop(); + } + } + + return; + } + + // Sticky edges + if (swiping == "x") { + if ( + self.distanceX > 0 && + (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop)) + ) { + left = left + Math.pow(self.distanceX, 0.8); + } else if ( + self.distanceX < 0 && + (self.instance.group.length < 2 || + (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop)) + ) { + left = left - Math.pow(-self.distanceX, 0.8); + } else { + left = left + self.distanceX; + } + } + + self.sliderLastPos = { + top: swiping == "x" ? 0 : self.sliderStartPos.top + self.distanceY, + left: left + }; + + if (self.requestId) { + cancelAFrame(self.requestId); + + self.requestId = null; + } + + self.requestId = requestAFrame(function () { + if (self.sliderLastPos) { + $.each(self.instance.slides, function (index, slide) { + var pos = slide.pos - self.instance.currPos; + + $.fancybox.setTranslate(slide.$slide, { + top: self.sliderLastPos.top, + left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter + }); + }); + + self.$container.addClass("fancybox-is-sliding"); + } + }); + }; + + Guestures.prototype.onPan = function () { + var self = this; + + // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit) + if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) { + self.startPoints = self.newPoints; + return; + } + + self.canTap = false; + + self.contentLastPos = self.limitMovement(); + + if (self.requestId) { + cancelAFrame(self.requestId); + } + + self.requestId = requestAFrame(function () { + $.fancybox.setTranslate(self.$content, self.contentLastPos); + }); + }; + + // Make panning sticky to the edges + Guestures.prototype.limitMovement = function () { + var self = this; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + var distanceX = self.distanceX; + var distanceY = self.distanceY; + + var contentStartPos = self.contentStartPos; + + var currentOffsetX = contentStartPos.left; + var currentOffsetY = contentStartPos.top; + + var currentWidth = contentStartPos.width; + var currentHeight = contentStartPos.height; + + var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY; + + if (currentWidth > canvasWidth) { + newOffsetX = currentOffsetX + distanceX; + } else { + newOffsetX = currentOffsetX; + } + + newOffsetY = currentOffsetY + distanceY; + + // Slow down proportionally to traveled distance + minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5); + minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5); + + maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5); + maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5); + + // -> + if (distanceX > 0 && newOffsetX > minTranslateX) { + newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0; + } + + // <- + if (distanceX < 0 && newOffsetX < maxTranslateX) { + newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0; + } + + // \/ + if (distanceY > 0 && newOffsetY > minTranslateY) { + newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0; + } + + // /\ + if (distanceY < 0 && newOffsetY < maxTranslateY) { + newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0; + } + + return { + top: newOffsetY, + left: newOffsetX + }; + }; + + Guestures.prototype.limitPosition = function (newOffsetX, newOffsetY, newWidth, newHeight) { + var self = this; + + var canvasWidth = self.canvasWidth; + var canvasHeight = self.canvasHeight; + + if (newWidth > canvasWidth) { + newOffsetX = newOffsetX > 0 ? 0 : newOffsetX; + newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX; + } else { + // Center horizontally + newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2); + } + + if (newHeight > canvasHeight) { + newOffsetY = newOffsetY > 0 ? 0 : newOffsetY; + newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY; + } else { + // Center vertically + newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2); + } + + return { + top: newOffsetY, + left: newOffsetX + }; + }; + + Guestures.prototype.onZoom = function () { + var self = this; + + // Calculate current distance between points to get pinch ratio and new width and height + var contentStartPos = self.contentStartPos; + + var currentWidth = contentStartPos.width; + var currentHeight = contentStartPos.height; + + var currentOffsetX = contentStartPos.left; + var currentOffsetY = contentStartPos.top; + + var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]); + + var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers; + + var newWidth = Math.floor(currentWidth * pinchRatio); + var newHeight = Math.floor(currentHeight * pinchRatio); + + // This is the translation due to pinch-zooming + var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX; + var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY; + + // Point between the two touches + var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft(); + var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop(); + + // And this is the translation due to translation of the centerpoint + // between the two fingers + var translateFromTranslatingX = centerPointEndX - self.centerPointStartX; + var translateFromTranslatingY = centerPointEndY - self.centerPointStartY; + + // The new offset is the old/current one plus the total translation + var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX); + var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY); + + var newPos = { + top: newOffsetY, + left: newOffsetX, + scaleX: pinchRatio, + scaleY: pinchRatio + }; + + self.canTap = false; + + self.newWidth = newWidth; + self.newHeight = newHeight; + + self.contentLastPos = newPos; + + if (self.requestId) { + cancelAFrame(self.requestId); + } + + self.requestId = requestAFrame(function () { + $.fancybox.setTranslate(self.$content, self.contentLastPos); + }); + }; + + Guestures.prototype.ontouchend = function (e) { + var self = this; + + var swiping = self.isSwiping; + var panning = self.isPanning; + var zooming = self.isZooming; + var scrolling = self.isScrolling; + + self.endPoints = getPointerXY(e); + self.dMs = Math.max(new Date().getTime() - self.startTime, 1); + + self.$container.removeClass("fancybox-is-grabbing"); + + $(document).off(".fb.touch"); + + document.removeEventListener("scroll", self.onscroll, true); + + if (self.requestId) { + cancelAFrame(self.requestId); + + self.requestId = null; + } + + self.isSwiping = false; + self.isPanning = false; + self.isZooming = false; + self.isScrolling = false; + + self.instance.isDragging = false; + + if (self.canTap) { + return self.onTap(e); + } + + self.speed = 100; + + // Speed in px/ms + self.velocityX = (self.distanceX / self.dMs) * 0.5; + self.velocityY = (self.distanceY / self.dMs) * 0.5; + + if (panning) { + self.endPanning(); + } else if (zooming) { + self.endZooming(); + } else { + self.endSwiping(swiping, scrolling); + } + + return; + }; + + Guestures.prototype.endSwiping = function (swiping, scrolling) { + var self = this, + ret = false, + len = self.instance.group.length, + distanceX = Math.abs(self.distanceX), + canAdvance = swiping == "x" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50), + speedX = 300; + + self.sliderLastPos = null; + + // Close if swiped vertically / navigate if horizontally + if (swiping == "y" && !scrolling && Math.abs(self.distanceY) > 50) { + // Continue vertical movement + $.fancybox.animate( + self.instance.current.$slide, { + top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150, + opacity: 0 + }, + 200 + ); + ret = self.instance.close(true, 250); + } else if (canAdvance && self.distanceX > 0) { + ret = self.instance.previous(speedX); + } else if (canAdvance && self.distanceX < 0) { + ret = self.instance.next(speedX); + } + + if (ret === false && (swiping == "x" || swiping == "y")) { + self.instance.centerSlide(200); + } + + self.$container.removeClass("fancybox-is-sliding"); + }; + + // Limit panning from edges + // ======================== + Guestures.prototype.endPanning = function () { + var self = this, + newOffsetX, + newOffsetY, + newPos; + + if (!self.contentLastPos) { + return; + } + + if (self.opts.momentum === false || self.dMs > 350) { + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + } else { + // Continue movement + newOffsetX = self.contentLastPos.left + self.velocityX * 500; + newOffsetY = self.contentLastPos.top + self.velocityY * 500; + } + + newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height); + + newPos.width = self.contentStartPos.width; + newPos.height = self.contentStartPos.height; + + $.fancybox.animate(self.$content, newPos, 366); + }; + + Guestures.prototype.endZooming = function () { + var self = this; + + var current = self.instance.current; + + var newOffsetX, newOffsetY, newPos, reset; + + var newWidth = self.newWidth; + var newHeight = self.newHeight; + + if (!self.contentLastPos) { + return; + } + + newOffsetX = self.contentLastPos.left; + newOffsetY = self.contentLastPos.top; + + reset = { + top: newOffsetY, + left: newOffsetX, + width: newWidth, + height: newHeight, + scaleX: 1, + scaleY: 1 + }; + + // Reset scalex/scaleY values; this helps for perfomance and does not break animation + $.fancybox.setTranslate(self.$content, reset); + + if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) { + self.instance.scaleToFit(150); + } else if (newWidth > current.width || newHeight > current.height) { + self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150); + } else { + newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight); + + $.fancybox.animate(self.$content, newPos, 150); + } + }; + + Guestures.prototype.onTap = function (e) { + var self = this; + var $target = $(e.target); + + var instance = self.instance; + var current = instance.current; + + var endPoints = (e && getPointerXY(e)) || self.startPoints; + + var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0; + var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0; + + var where; + + var process = function (prefix) { + var action = current.opts[prefix]; + + if ($.isFunction(action)) { + action = action.apply(instance, [current, e]); + } + + if (!action) { + return; + } + + switch (action) { + case "close": + instance.close(self.startEvent); + + break; + + case "toggleControls": + instance.toggleControls(); + + break; + + case "next": + instance.next(); + + break; + + case "nextOrClose": + if (instance.group.length > 1) { + instance.next(); + } else { + instance.close(self.startEvent); + } + + break; + + case "zoom": + if (current.type == "image" && (current.isLoaded || current.$ghost)) { + if (instance.canPan()) { + instance.scaleToFit(); + } else if (instance.isScaledDown()) { + instance.scaleToActual(tapX, tapY); + } else if (instance.group.length < 2) { + instance.close(self.startEvent); + } + } + + break; + } + }; + + // Ignore right click + if (e.originalEvent && e.originalEvent.button == 2) { + return; + } + + // Skip if clicked on the scrollbar + if (!$target.is("img") && tapX > $target[0].clientWidth + $target.offset().left) { + return; + } + + // Check where is clicked + if ($target.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) { + where = "Outside"; + } else if ($target.is(".fancybox-slide")) { + where = "Slide"; + } else if ( + instance.current.$content && + instance.current.$content + .find($target) + .addBack() + .filter($target).length + ) { + where = "Content"; + } else { + return; + } + + // Check if this is a double tap + if (self.tapped) { + // Stop previously created single tap + clearTimeout(self.tapped); + self.tapped = null; + + // Skip if distance between taps is too big + if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) { + return this; + } + + // OK, now we assume that this is a double-tap + process("dblclick" + where); + } else { + // Single tap will be processed if user has not clicked second time within 300ms + // or there is no need to wait for double-tap + self.tapX = tapX; + self.tapY = tapY; + + if (current.opts["dblclick" + where] && current.opts["dblclick" + where] !== current.opts["click" + where]) { + self.tapped = setTimeout(function () { + self.tapped = null; + + if (!instance.isAnimating) { + process("click" + where); + } + }, 500); + } else { + process("click" + where); + } + } + + return this; + }; + + $(document) + .on("onActivate.fb", function (e, instance) { + if (instance && !instance.Guestures) { + instance.Guestures = new Guestures(instance); + } + }) + .on("beforeClose.fb", function (e, instance) { + if (instance && instance.Guestures) { + instance.Guestures.destroy(); + } + }); +})(window, document, jQuery); +// ========================================================================== +// +// SlideShow +// Enables slideshow functionality +// +// Example of usage: +// $.fancybox.getInstance().SlideShow.start() +// +// ========================================================================== +(function (document, $) { + "use strict"; + + $.extend(true, $.fancybox.defaults, { + btnTpl: { + slideShow: '" + }, + slideShow: { + autoStart: false, + speed: 3000, + progress: true + } + }); + + var SlideShow = function (instance) { + this.instance = instance; + this.init(); + }; + + $.extend(SlideShow.prototype, { + timer: null, + isActive: false, + $button: null, + + init: function () { + var self = this, + instance = self.instance, + opts = instance.group[instance.currIndex].opts.slideShow; + + self.$button = instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function () { + self.toggle(); + }); + + if (instance.group.length < 2 || !opts) { + self.$button.hide(); + } else if (opts.progress) { + self.$progress = $('
').appendTo(instance.$refs.inner); + } + }, + + set: function (force) { + var self = this, + instance = self.instance, + current = instance.current; + + // Check if reached last element + if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) { + if (self.isActive && current.contentType !== "video") { + if (self.$progress) { + $.fancybox.animate(self.$progress.show(), { + scaleX: 1 + }, current.opts.slideShow.speed); + } + + self.timer = setTimeout(function () { + if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) { + instance.jumpTo(0); + } else { + instance.next(); + } + }, current.opts.slideShow.speed); + } + } else { + self.stop(); + instance.idleSecondsCounter = 0; + instance.showControls(); + } + }, + + clear: function () { + var self = this; + + clearTimeout(self.timer); + + self.timer = null; + + if (self.$progress) { + self.$progress.removeAttr("style").hide(); + } + }, + + start: function () { + var self = this, + current = self.instance.current; + + if (current) { + self.$button + .attr("title", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP) + .removeClass("fancybox-button--play") + .addClass("fancybox-button--pause"); + + self.isActive = true; + + if (current.isComplete) { + self.set(true); + } + + self.instance.trigger("onSlideShowChange", true); + } + }, + + stop: function () { + var self = this, + current = self.instance.current; + + self.clear(); + + self.$button + .attr("title", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START) + .removeClass("fancybox-button--pause") + .addClass("fancybox-button--play"); + + self.isActive = false; + + self.instance.trigger("onSlideShowChange", false); + + if (self.$progress) { + self.$progress.removeAttr("style").hide(); + } + }, + + toggle: function () { + var self = this; + + if (self.isActive) { + self.stop(); + } else { + self.start(); + } + } + }); + + $(document).on({ + "onInit.fb": function (e, instance) { + if (instance && !instance.SlideShow) { + instance.SlideShow = new SlideShow(instance); + } + }, + + "beforeShow.fb": function (e, instance, current, firstRun) { + var SlideShow = instance && instance.SlideShow; + + if (firstRun) { + if (SlideShow && current.opts.slideShow.autoStart) { + SlideShow.start(); + } + } else if (SlideShow && SlideShow.isActive) { + SlideShow.clear(); + } + }, + + "afterShow.fb": function (e, instance, current) { + var SlideShow = instance && instance.SlideShow; + + if (SlideShow && SlideShow.isActive) { + SlideShow.set(); + } + }, + + "afterKeydown.fb": function (e, instance, current, keypress, keycode) { + var SlideShow = instance && instance.SlideShow; + + // "P" or Spacebar + if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is("button,a,input")) { + keypress.preventDefault(); + + SlideShow.toggle(); + } + }, + + "beforeClose.fb onDeactivate.fb": function (e, instance) { + var SlideShow = instance && instance.SlideShow; + + if (SlideShow) { + SlideShow.stop(); + } + } + }); + + // Page Visibility API to pause slideshow when window is not active + $(document).on("visibilitychange", function () { + var instance = $.fancybox.getInstance(), + SlideShow = instance && instance.SlideShow; + + if (SlideShow && SlideShow.isActive) { + if (document.hidden) { + SlideShow.clear(); + } else { + SlideShow.set(); + } + } + }); +})(document, jQuery); +// ========================================================================== +// +// FullScreen +// Adds fullscreen functionality +// +// ========================================================================== +(function (document, $) { + "use strict"; + + // Collection of methods supported by user browser + var fn = (function () { + var fnMap = [ + ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"], + // new WebKit + [ + "webkitRequestFullscreen", + "webkitExitFullscreen", + "webkitFullscreenElement", + "webkitFullscreenEnabled", + "webkitfullscreenchange", + "webkitfullscreenerror" + ], + // old WebKit (Safari 5.1) + [ + "webkitRequestFullScreen", + "webkitCancelFullScreen", + "webkitCurrentFullScreenElement", + "webkitCancelFullScreen", + "webkitfullscreenchange", + "webkitfullscreenerror" + ], + [ + "mozRequestFullScreen", + "mozCancelFullScreen", + "mozFullScreenElement", + "mozFullScreenEnabled", + "mozfullscreenchange", + "mozfullscreenerror" + ], + ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"] + ]; + + var ret = {}; + + for (var i = 0; i < fnMap.length; i++) { + var val = fnMap[i]; + + if (val && val[1] in document) { + for (var j = 0; j < val.length; j++) { + ret[fnMap[0][j]] = val[j]; + } + + return ret; + } + } + + return false; + })(); + + if (fn) { + var FullScreen = { + request: function (elem) { + elem = elem || document.documentElement; + + elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT); + }, + exit: function () { + document[fn.exitFullscreen](); + }, + toggle: function (elem) { + elem = elem || document.documentElement; + + if (this.isFullscreen()) { + this.exit(); + } else { + this.request(elem); + } + }, + isFullscreen: function () { + return Boolean(document[fn.fullscreenElement]); + }, + enabled: function () { + return Boolean(document[fn.fullscreenEnabled]); + } + }; + + $.extend(true, $.fancybox.defaults, { + btnTpl: { + fullScreen: '" + }, + fullScreen: { + autoStart: false + } + }); + + $(document).on(fn.fullscreenchange, function () { + var isFullscreen = FullScreen.isFullscreen(), + instance = $.fancybox.getInstance(); + + if (instance) { + // If image is zooming, then force to stop and reposition properly + if (instance.current && instance.current.type === "image" && instance.isAnimating) { + instance.isAnimating = false; + + instance.update(true, true, 0); + + if (!instance.isComplete) { + instance.complete(); + } + } + + instance.trigger("onFullscreenChange", isFullscreen); + + instance.$refs.container.toggleClass("fancybox-is-fullscreen", isFullscreen); + + instance.$refs.toolbar + .find("[data-fancybox-fullscreen]") + .toggleClass("fancybox-button--fsenter", !isFullscreen) + .toggleClass("fancybox-button--fsexit", isFullscreen); + } + }); + } + + $(document).on({ + "onInit.fb": function (e, instance) { + var $container; + + if (!fn) { + instance.$refs.toolbar.find("[data-fancybox-fullscreen]").remove(); + + return; + } + + if (instance && instance.group[instance.currIndex].opts.fullScreen) { + $container = instance.$refs.container; + + $container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function (e) { + e.stopPropagation(); + e.preventDefault(); + + FullScreen.toggle(); + }); + + if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) { + FullScreen.request(); + } + + // Expose API + instance.FullScreen = FullScreen; + } else if (instance) { + instance.$refs.toolbar.find("[data-fancybox-fullscreen]").hide(); + } + }, + + "afterKeydown.fb": function (e, instance, current, keypress, keycode) { + // "F" + if (instance && instance.FullScreen && keycode === 70) { + keypress.preventDefault(); + + instance.FullScreen.toggle(); + } + }, + + "beforeClose.fb": function (e, instance) { + if (instance && instance.FullScreen && instance.$refs.container.hasClass("fancybox-is-fullscreen")) { + FullScreen.exit(); + } + } + }); +})(document, jQuery); +// ========================================================================== +// +// Thumbs +// Displays thumbnails in a grid +// +// ========================================================================== +(function (document, $) { + "use strict"; + + var CLASS = "fancybox-thumbs", + CLASS_ACTIVE = CLASS + "-active"; + + // Make sure there are default values + $.fancybox.defaults = $.extend( + true, { + btnTpl: { + thumbs: '" + }, + thumbs: { + autoStart: false, // Display thumbnails on opening + hideOnClose: true, // Hide thumbnail grid when closing animation starts + parentEl: ".fancybox-container", // Container is injected into this element + axis: "y" // Vertical (y) or horizontal (x) scrolling + } + }, + $.fancybox.defaults + ); + + var FancyThumbs = function (instance) { + this.init(instance); + }; + + $.extend(FancyThumbs.prototype, { + $button: null, + $grid: null, + $list: null, + isVisible: false, + isActive: false, + + init: function (instance) { + var self = this, + group = instance.group, + enabled = 0; + + self.instance = instance; + self.opts = group[instance.currIndex].opts.thumbs; + + instance.Thumbs = self; + + self.$button = instance.$refs.toolbar.find("[data-fancybox-thumbs]"); + + // Enable thumbs if at least two group items have thumbnails + for (var i = 0, len = group.length; i < len; i++) { + if (group[i].thumb) { + enabled++; + } + + if (enabled > 1) { + break; + } + } + + if (enabled > 1 && !!self.opts) { + self.$button.removeAttr("style").on("click", function () { + self.toggle(); + }); + + self.isActive = true; + } else { + self.$button.hide(); + } + }, + + create: function () { + var self = this, + instance = self.instance, + parentEl = self.opts.parentEl, + list = [], + src; + + if (!self.$grid) { + // Create main element + self.$grid = $('
').appendTo( + instance.$refs.container + .find(parentEl) + .addBack() + .filter(parentEl) + ); + + // Add "click" event that performs gallery navigation + self.$grid.on("click", "a", function () { + instance.jumpTo($(this).attr("data-index")); + }); + } + + // Build the list + if (!self.$list) { + self.$list = $('
').appendTo(self.$grid); + } + + $.each(instance.group, function (i, item) { + src = item.thumb; + + if (!src && item.type === "image") { + src = item.src; + } + + list.push( + '" + ); + }); + + self.$list[0].innerHTML = list.join(""); + + if (self.opts.axis === "x") { + // Set fixed width for list element to enable horizontal scrolling + self.$list.width( + parseInt(self.$grid.css("padding-right"), 10) + + instance.group.length * + self.$list + .children() + .eq(0) + .outerWidth(true) + ); + } + }, + + focus: function (duration) { + var self = this, + $list = self.$list, + $grid = self.$grid, + thumb, + thumbPos; + + if (!self.instance.current) { + return; + } + + thumb = $list + .children() + .removeClass(CLASS_ACTIVE) + .filter('[data-index="' + self.instance.current.index + '"]') + .addClass(CLASS_ACTIVE); + + thumbPos = thumb.position(); + + // Check if need to scroll to make current thumb visible + if (self.opts.axis === "y" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) { + $list.stop().animate({ + scrollTop: $list.scrollTop() + thumbPos.top + }, + duration + ); + } else if ( + self.opts.axis === "x" && + (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth())) + ) { + $list + .parent() + .stop() + .animate({ + scrollLeft: thumbPos.left + }, + duration + ); + } + }, + + update: function () { + var that = this; + that.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible); + + if (that.isVisible) { + if (!that.$grid) { + that.create(); + } + + that.instance.trigger("onThumbsShow"); + + that.focus(0); + } else if (that.$grid) { + that.instance.trigger("onThumbsHide"); + } + + // Update content position + that.instance.update(); + }, + + hide: function () { + this.isVisible = false; + this.update(); + }, + + show: function () { + this.isVisible = true; + this.update(); + }, + + toggle: function () { + this.isVisible = !this.isVisible; + this.update(); + } + }); + + $(document).on({ + "onInit.fb": function (e, instance) { + var Thumbs; + + if (instance && !instance.Thumbs) { + Thumbs = new FancyThumbs(instance); + + if (Thumbs.isActive && Thumbs.opts.autoStart === true) { + Thumbs.show(); + } + } + }, + + "beforeShow.fb": function (e, instance, item, firstRun) { + var Thumbs = instance && instance.Thumbs; + + if (Thumbs && Thumbs.isVisible) { + Thumbs.focus(firstRun ? 0 : 250); + } + }, + + "afterKeydown.fb": function (e, instance, current, keypress, keycode) { + var Thumbs = instance && instance.Thumbs; + + // "G" + if (Thumbs && Thumbs.isActive && keycode === 71) { + keypress.preventDefault(); + + Thumbs.toggle(); + } + }, + + "beforeClose.fb": function (e, instance) { + var Thumbs = instance && instance.Thumbs; + + if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) { + Thumbs.$grid.hide(); + } + } + }); +})(document, jQuery); +//// ========================================================================== +// +// Share +// Displays simple form for sharing current url +// +// ========================================================================== +(function (document, $) { + "use strict"; + + $.extend(true, $.fancybox.defaults, { + btnTpl: { + share: '" + }, + share: { + url: function (instance, item) { + return ( + (!instance.currentHash && !(item.type === "inline" || item.type === "html") ? item.origSrc || item.src : false) || window.location + ); + }, + tpl: '
' + + "

{{SHARE}}

" + + "

" + + '' + + '' + + "Facebook" + + "" + + '' + + '' + + "Twitter" + + "" + + '' + + '' + + "Pinterest" + + "" + + "

" + + '

' + + "
" + } + }); + + function escapeHtml(string) { + var entityMap = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "/": "/", + "`": "`", + "=": "=" + }; + + return String(string).replace(/[&<>"'`=\/]/g, function (s) { + return entityMap[s]; + }); + } + + $(document).on("click", "[data-fancybox-share]", function () { + var instance = $.fancybox.getInstance(), + current = instance.current || null, + url, + tpl; + + if (!current) { + return; + } + + if ($.type(current.opts.share.url) === "function") { + url = current.opts.share.url.apply(current, [instance, current]); + } + + tpl = current.opts.share.tpl + .replace(/\{\{media\}\}/g, current.type === "image" ? encodeURIComponent(current.src) : "") + .replace(/\{\{url\}\}/g, encodeURIComponent(url)) + .replace(/\{\{url_raw\}\}/g, escapeHtml(url)) + .replace(/\{\{descr\}\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : ""); + + $.fancybox.open({ + src: instance.translate(instance, tpl), + type: "html", + opts: { + touch: false, + animationEffect: false, + afterLoad: function (shareInstance, shareCurrent) { + // Close self if parent instance is closing + instance.$refs.container.one("beforeClose.fb", function () { + shareInstance.close(null, 0); + }); + + // Opening links in a popup window + shareCurrent.$content.find(".fancybox-share__button").click(function () { + window.open(this.href, "Share", "width=550, height=450"); + return false; + }); + }, + mobile: { + autoFocus: false + } + } + }); + }); +})(document, jQuery); +// ========================================================================== +// +// Hash +// Enables linking to each modal +// +// ========================================================================== +(function (window, document, $) { + "use strict"; + + // Simple $.escapeSelector polyfill (for jQuery prior v3) + if (!$.escapeSelector) { + $.escapeSelector = function (sel) { + var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + var fcssescape = function (ch, asCodePoint) { + if (asCodePoint) { + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if (ch === "\0") { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }; + + return (sel + "").replace(rcssescape, fcssescape); + }; + } + + // Get info about gallery name and current index from url + function parseUrl() { + var hash = window.location.hash.substr(1), + rez = hash.split("-"), + index = rez.length > 1 && /^\+?\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1, + gallery = rez.join("-"); + + return { + hash: hash, + /* Index is starting from 1 */ + index: index < 1 ? 1 : index, + gallery: gallery + }; + } + + // Trigger click evnt on links to open new fancyBox instance + function triggerFromUrl(url) { + if (url.gallery !== "") { + // If we can find element matching 'data-fancybox' atribute, + // then triggering click event should start fancyBox + $("[data-fancybox='" + $.escapeSelector(url.gallery) + "']") + .eq(url.index - 1) + .focus() + .trigger("click.fb-start"); + } + } + + // Get gallery name from current instance + function getGalleryID(instance) { + var opts, ret; + + if (!instance) { + return false; + } + + opts = instance.current ? instance.current.opts : instance.opts; + ret = opts.hash || (opts.$orig ? opts.$orig.data("fancybox") || opts.$orig.data("fancybox-trigger") : ""); + + return ret === "" ? false : ret; + } + + // Start when DOM becomes ready + $(function () { + // Check if user has disabled this module + if ($.fancybox.defaults.hash === false) { + return; + } + + // Update hash when opening/closing fancyBox + $(document).on({ + "onInit.fb": function (e, instance) { + var url, gallery; + + if (instance.group[instance.currIndex].opts.hash === false) { + return; + } + + url = parseUrl(); + gallery = getGalleryID(instance); + + // Make sure gallery start index matches index from hash + if (gallery && url.gallery && gallery == url.gallery) { + instance.currIndex = url.index - 1; + } + }, + + "beforeShow.fb": function (e, instance, current, firstRun) { + var gallery; + + if (!current || current.opts.hash === false) { + return; + } + + // Check if need to update window hash + gallery = getGalleryID(instance); + + if (!gallery) { + return; + } + + // Variable containing last hash value set by fancyBox + // It will be used to determine if fancyBox needs to close after hash change is detected + instance.currentHash = gallery + (instance.group.length > 1 ? "-" + (current.index + 1) : ""); + + // If current hash is the same (this instance most likely is opened by hashchange), then do nothing + if (window.location.hash === "#" + instance.currentHash) { + return; + } + + if (firstRun && !instance.origHash) { + instance.origHash = window.location.hash; + } + + if (instance.hashTimer) { + clearTimeout(instance.hashTimer); + } + + // Update hash + instance.hashTimer = setTimeout(function () { + if ("replaceState" in window.history) { + window.history[firstRun ? "pushState" : "replaceState"]({}, + document.title, + window.location.pathname + window.location.search + "#" + instance.currentHash + ); + + if (firstRun) { + instance.hasCreatedHistory = true; + } + } else { + window.location.hash = instance.currentHash; + } + + instance.hashTimer = null; + }, 300); + }, + + "beforeClose.fb": function (e, instance, current) { + if (!current || current.opts.hash === false) { + return; + } + + clearTimeout(instance.hashTimer); + + // Goto previous history entry + if (instance.currentHash && instance.hasCreatedHistory) { + window.history.back(); + } else if (instance.currentHash) { + if ("replaceState" in window.history) { + window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || "")); + } else { + window.location.hash = instance.origHash; + } + } + + instance.currentHash = null; + } + }); + + // Check if need to start/close after url has changed + $(window).on("hashchange.fb", function () { + var url = parseUrl(), + fb = null; + + // Find last fancyBox instance that has "hash" + $.each( + $(".fancybox-container") + .get() + .reverse(), + function (index, value) { + var tmp = $(value).data("FancyBox"); + + if (tmp && tmp.currentHash) { + fb = tmp; + return false; + } + } + ); + + if (fb) { + // Now, compare hash values + if (fb.currentHash !== url.gallery + "-" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) { + fb.currentHash = null; + + fb.close(); + } + } else if (url.gallery !== "") { + triggerFromUrl(url); + } + }); + + // Check current hash and trigger click event on matching element to start fancyBox, if needed + setTimeout(function () { + if (!$.fancybox.getInstance()) { + triggerFromUrl(parseUrl()); + } + }, 50); + }); +})(window, document, jQuery); +// ========================================================================== +// +// Wheel +// Basic mouse weheel support for gallery navigation +// +// ========================================================================== +(function (document, $) { + "use strict"; + + var prevTime = new Date().getTime(); + + $(document).on({ + "onInit.fb": function (e, instance, current) { + instance.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function (e) { + var current = instance.current, + currTime = new Date().getTime(); + + if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === "auto" && current.type !== "image")) { + return; + } + + e.preventDefault(); + e.stopPropagation(); + + if (current.$slide.hasClass("fancybox-animated")) { + return; + } + + e = e.originalEvent || e; + + if (currTime - prevTime < 250) { + return; + } + + prevTime = currTime; + + instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"](); + }); + } + }); +})(document, jQuery); \ No newline at end of file diff --git a/fancybox/asset/fancybox/jquery.fancybox.min.css b/fancybox/asset/fancybox/jquery.fancybox.min.css new file mode 100644 index 00000000..7cc60b29 --- /dev/null +++ b/fancybox/asset/fancybox/jquery.fancybox.min.css @@ -0,0 +1 @@ +body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}} \ No newline at end of file diff --git a/fancybox/asset/fancybox/jquery.fancybox.min.js b/fancybox/asset/fancybox/jquery.fancybox.min.js new file mode 100644 index 00000000..d5d10f6b --- /dev/null +++ b/fancybox/asset/fancybox/jquery.fancybox.min.js @@ -0,0 +1,13 @@ +// ================================================== +// fancyBox v3.5.7 +// +// Licensed GPLv3 for open source use +// or fancyBox Commercial License for commercial use +// +// http://fancyapps.com/fancybox/ +// Copyright 2019 fancyApps +// +// ================================================== +!function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'',spinnerTpl:'
',errorTpl:'

{{ERROR}}

',btnTpl:{download:'',zoom:'',close:'',arrowLeft:'',arrowRight:'',smallBtn:''},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergrößern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('
').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),ap&&(s=i.top*c-(e*c-e),s>0&&(s=0),se-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('
').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('
').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("
").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("
").append(n.trim(e)).contents()),t.opts.filter&&(e=n("
").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("
"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("
").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('
').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity, +"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;ee.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&aa?(t=t>0?0:t,t=ts?(e=e>0?0:e,e=e1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),rs.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:''},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('
').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:''},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('
').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('
').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.lefta.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:''},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location}, +tpl:''}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery); \ No newline at end of file diff --git a/fancybox/createrelease b/fancybox/createrelease new file mode 100755 index 00000000..6760c242 --- /dev/null +++ b/fancybox/createrelease @@ -0,0 +1,17 @@ +MODULE=fancybox + +cd .. + +# read actual version from module.json + +# old releases not needed anymore +mkdir -p $MODULE/dist +rm $MODULE/dist/* + +# create release for actual version +zip -r9 $MODULE/dist/release.zip $MODULE/* -x $MODULE/dist/\* -x $MODULE/test/\* $MODULE/createrelease + +echo release/release.zip created. + +cd $MODULE + diff --git a/fancybox/dist/release.zip b/fancybox/dist/release.zip new file mode 100644 index 0000000000000000000000000000000000000000..bdce6ffc963f4db6218574464ecd0d54715f6c53 GIT binary patch literal 71194 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 + */ + +use Friendica\App; +use Friendica\Core\Hook; +use Friendica\DI; + +function fancybox_install() +{ + Hook::register('head', __FILE__, 'fancybox_head'); + Hook::register('footer', __FILE__, 'fancybox_footer'); + Hook::register('prepare_body_final', __FILE__, 'fancybox_render'); +} + +function fancybox_head(App $a, string &$b) +{ + DI::page()->registerStylesheet(__DIR__ . '/asset/fancybox/jquery.fancybox.min.css'); +} +function fancybox_footer(App $a, string &$str) +{ + DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/jquery.fancybox.min.js'); + DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/fancybox.config.js'); +} + +/* + +prepare_body_final + +Called at the end of prepare_body(). Hook data: + + item: item array (input) + html: converted item body (input/output) + +*/ + +function fancybox_render(App $a, array &$b) { + $matches = []; + $pattern='#
.*?
#s'; + $gallery = 'gallery'; + if (array_key_exists('item', $b)) { + $item = $b['item']; + if (array_key_exists('uri-id', $item)) { + $gallery = $gallery . '-' . $item['uri-id']; + } + } + $html = $b['html']; + while (preg_match($pattern, $html, $matches, PREG_OFFSET_CAPTURE)) { + if (is_array($matches)) $matches=$matches[0]; + $part = $matches[0]; + $replaced = str_replace('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%0AS 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 CNi6F41&7(&nmG?G zT-wwu+VB28dh8!na}K%g_N$w?`L;(J^G!evw)x*V1hOy%>QR%qx$2Q(`xF_t8J&*= zb5=qaZN_CWE0jS2*a!XpU08_A?f_h>0s!Pd0Rm9}UkVGW|6f=1^jvvui8WGu`tyQ@ zJR|}l14#bYb$957CR+~Xz|?A+0|LuN%zx>>igvXw{WMu#DTr%o95qO=NA04kC4dl;>%>FIYGAS@9X2= zWG(wNIEhZvH0h%mlhHzhc^agm`t9oHI}_!IRMyClg0(i$jgXq9zCv{UR$Iod?39$Nj*+U^^PpOlS$X)m~xz<>^VKvz1`DRAg-o~I?>)3 ze_~EO0CW2z3nToBME^Q@{=GYZkDaP&bJ$*$q6`ZCOV`U) zJ4V#1wNuAS#THrR;k{+Juzf%;*xP?9Wij>g7y&w0*`D5D)e?jUc4Vq3V46oU0h=G+ zgh`F_MWu_@dd2CO42om`X!1cwP3>VCcV%ZkrhrbL&o4ZegVQw`lvrY;b23sM!*sI( zn?o`g++LYadR;`HRbP;8>pd|}Nxb`$fFY{XaK!`ykfMlLOp~Shq=+e#)Eson$IosR zd41MX{I=cea~rk+jK6~*kgMMb@H|bqLoh*h4gI`BEe8f5oDQ|d3=kl_1SsJJ>Z1T0 z=d`9vt{g(v&nd52oNJ($Xp_IY~8PcCb1x{p1ta*JKLH0QCmGiw~m} z6)oA$dOu9%g}Ze5?l2U^qPHL3PVu;flvn>!)!sk$$R)RQS4q=+WSX+2mvTnwhg7FN z58}ef)7E$T(Q>n4nklos!P6IdX4Tu>OLY+FWufmiL1LPhXpMF&ME?kt3gY&}l{ZYu zN3!-16Z$qkz!G0jH`IduhvyG@C#`m{K6#Hv&eENh9}HIuSU%AlQLy-Bl@K;3|DKg1 zL!^EBM0wFWPG-F|x$ihs=7^P6@*1md3jDtG?ba!?xjkaW9YyRFsBn2tEaV7tb)BJ2Rb7C za*vlPVq*S5(l=AjxutbXS{*Uo+jk~^#p)t$pmTZh!}~2zsk%dp(F+vT6Gts`k(YZS z>UgH<{%@~yuw@X+IctO`e()^3R;dvCFT34F@MkDZNGoW9v|(2qvCcsi2krz<{7H=A>`sh47T}K z{|LnJt@d!y=R;(PL()zwDIy7t9Fy9nND$zfV{0alXtdnfrn62oz$U z-ro!Kv0gurJ&SLW837nea3u9$0XU~%;vee4nB%?;AQ4}G`|T>9+^Kq6f1i8hf*`wj zPH~aLX0}xc2EBhEKYfPW3mE8|pMU=FGmdkiN?%nOmc5tz2Wp8e`O=sSmE2k@1ahnK z?)x>8sFEtBz5o4(fBf|R!>jLc_wz0MdwdfEj!G6)c#KQtW@df4PBW-q5L~ynx54dh zkQcN5&R{U;Lk=5uF}wW^&)`#%0y!(jISa_{a~JHf#b{@MFw ze-6cWZVrRP!>@K9SLDs?6p_ty+TZ{-0R$6d`0dHyA}msa>YpDz{K%2%Uj&jvgvf5{ z@A|v(e(=)5f0%dR2M7LPaA280a;>M?9c?OCOGWv2PD|-VI;gz{cHs2M9q22S>RkP<}?vZ4*>7_NDqps1PTpf#s(+ zzkd3w!9uG6Fxz5 zw9i;k!nqpR!$(22i=fyC96yBr?OXT+&xmpG8UE5UJ;Ad-?AkqRZxJJh`z8%-I?25` zvL-}f3+4tXytnyyNledGJpMzy0Cl%eFG$Ou5iK9yYXm2-Csn>2&%=8dS(S{Di5UPl za}A9yuZbX?$K^cCptyIIlz0kEfu6v#Pa|7b}`Sxnze=JKQoLfpUqPCT5xXW zfSyvts9A#?@wzqSZv(6eoo_0;_R<(xS>S=aWOxL-2X_$RjnID0=K~RKX#WHl+xGA* z3T>2nCHbssWLi;fZ?dorD|Nj2{Z)dN6 ze)Hz1(0&V>*%FMs_vzi=fBfzYdk7mgixU95CyD0J{$5hl-r2iXKf{pE=CEmP4{62F z{-*#hQxG{D&(nl$mtWIlc8t|?*!+V5CtOJA{Bv1sFPGQp@%Rq~pzjj~Z1fEG;RG-d z%dGEX{QF0qA*`${8P6+g#!`S&X5BK#l}T`YmsH4S18N3L24ByhE>>FQVmroGpk*t| z$8*5_4G?~x04FeymsW|e#O`V^R3EPZP80lS0Pz<@!AUx)A^1yPPytNE!PZcG#|mI8 zai38=0+gQ^Y{yK(@)uUjitQXbEWroM5=BEOeyq5dkGbAB8hB}>i{ymtjRdHGtUugl zAB%heK)iz#D-kl!d}?JdRdva_U?5iJD=ANSiz1%YstRt|)gMXq^QO<&`PYr#@(o{9 z`%LRV$tpxV`Lc4DH)Om0gMqtVJFd6v?C%%{ly2(o>kVI_x0^oY-5>P6LaVSV3)M~D zzp36olx0?47O?>K7OdVkDZ_IVWuSk+0Y)!2im~r&!Aoe@&#=sF@53kUTVB7s!H+-Y zUq5Xw`VShup5eBUf|aa~VUIbuFs$57rVhz$2U}5;1!Z-Yvh(UvigR;#J{AblYzxP} z*tiP0gd3jD2bV!Uox=3KV@RC>H4&NUmo5;XX+WM(uLD#8-UYxH(XIub;_)1og;_2O zlJZqi#CI?g+uIKIG=ez+=&rq)(J^sFA?n+5wkn$OTc9z%2kHnX1qM&GWKJg~;s)cg zbnHc*;3oFz^hA+x2C(4s`6aCIe&M@(nW3=cHQ>Muw#~S5+yI%CUM0Zrk7QEK`#av< z0|lylq4IOE^>@}@0?SIQp|?eT{SiCkBz}{ z0#2|%sU%1ykw{D?t5vTzhBUnW`GKU0KuDJC2Y`pngQ?zd;I38!$cO|F&q!n}PxzRZ z@)aw>SIj$2in987nMHVo5X_2vxxkC9B;bc>1gkR%;>ko1B8ZqpHnr-Zw?Lpe?)q3Q z>#G3o3UZ_@ynFl_HqZv$p%Kgh-N(Gb^SB-&UagfhxZ@%)E=#tzHJH*D*hDTa24Wao z>MSxxPR$$<&5BERYt#MM_V(5gc0~~w{05|UP9O`gt$<7Z`I0@Y0un6pH@>l zOFz%qC0-OFvVt=`4hXd(iRZ)~J5chLo|#0_ z2G@1P#bpBLMTg+tw|g;cF>T}o8*QxD6a>#nH7a8 z`gRXC((DE&zC0gZj^JfxhxiB>CRF`!{zZ4)#9LqV&tw1Vz<=4h=tq|?Ja^?lH-BF^ zY&Bc4nY)@L)72uIt*)*Y*yF{jyqT?%ac=b7g|3gFWsqy*%aq`uw*0YT|1@@(T>JLZ!TgbCw)%>P4H>eVi z3(ulROsW*I)+<=1d|T_Ts#w-6aCu#^NQkx?4PjTGk(f{xgdRUMG_y- zE49PT*gb;631(pS=1m7Rtmy&cyZ3%H*S zsq1(~jDvEXOi?jSRLYgK>h!wXr1Mkba09z=Y<_Qu;H5^=Kq(+;s!5uD(?FB28-n|R zl&TMe(0<@G<-n#8xG4etbAsbFs@@4~vRIaIRv}5n>4E@yUBWux+>u+a<2+a{0QoCf zE&$YFupUUvh$kn*^OX1yRQMAT6VwNUqXqzmfF?@k4e_f@eu;7Z6e%h=5t{}SOs~W}t7o5gTp?ZBo=#0wK?#gFO44FZenRbC>WhNsLNb%uqM0FiA~q;4 zH%0UK)@~hB|7_z6A!v5Gn-{l;qWO#@)XnBG_0KksWmVI%opuu_N^dm5&T#>pjpLL} zP{{1KBfG@6PdTiLWeg{pe18k%`X#pFmDCR4Rp78{n6Lr~@m;f|3hF1h4Z67sJkz@%%WMIxnLr)>T8Ld`6)~1OVUez?x!-EoV#Q zk?0UB99Kp9-|P+_v^1DpV>o@9$<<)P337}A()AA0d}lH?v&;)PRK zcIyZxC0?y|4)J%?rJzjbPQA_DaQBdx**$u!Ouajy)JtA!Z}31UdbxwB?(Lk(+Yv>>$QA81#&!Uu+#mywK zYi`)+S!<| zhOeby444~gY9EW3Umb~-I;+$<(F7=rR$PH7pqd$4GeETH+LN0g?7A($t_jHtJquB+ zKlBKpK}Wu&SdSOuUphoK!cu{YI=qRu^rl=|GLNPPyTnn^RGaM83g7U;SG|baB3uYl zB{z0SIlihz(iO^~y)EDrrxIU|)RPbzp|1P1envvNIvD_xJB{WNQ*8~gQ+YJiMASMB zHf_*gUQsvbO*I+#v|isL9cABB2}6&bi5erC5GCB4Kz0Co39jp84y+#z+sN1(qRoZM zbUJ8ffnu(w`W2O))|*HQ?p0qPWszf^+Ok9GasaoEHMOYB5=9kbAS#4Lv)~&@e)H4v znia_yg;}j^EM!8$ex8r)mTI-F-?pj5OOMqv&1j~RXiBH=4VyS6cIO$*OP3g)KKQ-> z2HqseQ;ByZXy|=uJ}kXdz;2b~JP}Q+X7G z@F^_CIYmnclN}+9agWChbDK{}u3ZQyxFm(?&NJ2N8&`_c<+5&F|EWrlR0UMT8}POU zoYH}Hvla36gT^qpck}B-$|^i9FoT#Dj)XVOj3{Dlp0Z@*ETb`9^7#%m`(hm2;QnWD0>flFCaAFf>G-;@l$>Uy2Seqb6)btH;3JGsL&}D z8QF9;g|<9YP@b|-4I4sN0j%y`@k)KF)K!BuQ;k8dJ?#csn<(6T{5l^cq-Y|MOWO;3 z?LNG`h&yX0)+6K40%}p=LqexwO(H{tj0T{DQc=~0l?SYQ{c24v9!p;ec5g%BdWSqX zH^n1!(=i{iVmN;dkalj#$^Q(5Yi|n=95`6Y_oQJ3M=w&{aVqa`OE+v_w>Dy1uRZM$ z>$-FC#C^Hcn~19aG;f8yJjzc7BQvp=hq<>Uua?iNOT0VgL}-3VW{{cFZDc_ulu3qm z3742iRI9srvr)I?p&?aRc^v#9^CYlH_5&ID8Os5r)#w`auRVi(4?DFAw2LO9yCzYp zXq06%37!ctIM8LAj){rf>wM38iznoq(#mReQF5;RY#B@pAa9J3k)`!A*dcvhz|Ok3a_Y#i1S z!49?gPZ&64gUoa|Js~&d1F~`6PXw68(F~pi^x_D+>%*Tp(1_Sge4YVuIHija-p-4{ zckmBTjq&M#KA;`y$<&|I3;e>mnVl}+t&C_OFUG#Z;18_Vl8TgAq&!*pGkSqv61oaf zZ&{Ri;lLbrVwWXH^Cd^~F<+Fwh6R849FEss4y^mZfsT3_6Njrl4bG$x7G?kHMUz_U zsWiRF)YUSphwf%|(Mh6K{c&!t#oSnnv9=ZyxfT;`EhhR}%pY5eF`8cIxD=qTaJD!J z9ykV!nOFu)EP+md#~k2{)*1nw@r5KHFDmKB{1+*7J`=K5_`)9?yl`*LP2QRt$fkPT zjf}}0oj_egRgF}}_`=T~ln+pU)LlIv>IBkxZ`22|{FituE?BWG)GiTlr`y*;V04#b z?F~DvG?24sF@I`y(GTWxj^iyHQI#_m%3W|s19(vF15VxE#tftc(#Rng2(CZVQG@Ya zR^a6ibmLRLc(51W&Lj72iHK<4n5XSy}Unx zTrZ-;o8X`HlmXVlOPdI_5>9jeMrB*-=*|)sHLr0BjCtVz!gF$e^3dRT*S#fef@WFf zrw^4C(04;|F;895ZiWei>g$!H+w~$HrTs}LQium!t%e8vmoUz>ACKU$?Z;tyI(ZQj z0N|H8N;O3(Jn>qhiMND3#!*3ggKDq*7_`Ig!o49${#JetCxbdF9kMHmv0QJA?%eA6r(E&pgteo4OE#(4(i2Ft)s7Usrn=0^TqGvQIO7p@IOr!pz!|uvI-pABig!Gf#;Iv${hgp-lm0Kz+~_x?*g$jh z#gf+-Ds-xfX(utQkktVcNW-*DuFxq#>9~*ZY^Wbfifov3o}?3ab{=6vB*)QWMT97| zD(f*LO}O(l427V1Di<-RFNW)2OjR4 z%_o&6VHS+X=0h-1y!w`W#Lc!@)B!CM7LBh;ho}rc$G`4ru)kVqUx>=h=?A~L3gPfw zwMiUYE8WV4R77!8UUm$dX)D$jRUG^m-U2RR^U;RvULHwFcc1Z9s>zVXaYm^>WbL#M z%gRhFZ<9r%>>|!c>pVs~h>tNJ5X{}y7T|mA*LHObbxKj=we!x_MaAWX zV^5M2^GwA!*7ZJ|&< z6BkQran+PaChm#1GIb)+1;bXR2vB)HFuhX%ToK=LKkL>W+2w)T`XY!h=O zY(robN;ZgA?N-ec@k_A!BQl^{L%jHIUgf+e<3hCnEu+v73LV4FLOC`QR5>!yl8ejv zHKwA0bXwwP29%ku!7qr!+PRI3YhfIhOlp(HbY+ass4#t1u=tN-{+;V@hz#`7$ia0m z>ASKF0g8;2bQN`Jl;9YqT}0Eltu!kD(in&8xW0J8>o#lwl$Rr;lD9&e*Qi*k_}aEn zgYu^YH3&^Z$YDZ)tAK{6azPysdfts;$j>exAMK0=#7I96KhN`9G2uj>!-B_8juKa* zJ(#!-gY-c9(emz>MH*5wUb!5PS*ZyF7&V)JS7;1`+YXqjrjFQG&ti64_&jccvjsG|+#?TL(p_(__D4rJIbpdtfed9ct zOz6f@$*-%&ZykhC9_UB3P!dZ+i0lbfo4PvOMZbA=bp{xu(RlNA&UaCsE*8KBb^oy-0LDv-VHkr0|Ran$q35`*cWOa zb4fj`zDs5jy}{8~Pph^Cgl&tGqA_KAQKHvH@k;HBL_7#e7z4UI1TJXIJ|Xsb&DUxzsneZax zoshLe;vLn3v?UakE=PKDEw=HVq|7$#Iv|OFs5+LI4@e3^$K3CjDLK|ruFJD=X9i6? zdMtMwNzQ?o$kQ7}-QyzubA1Hb^3g^zpL~>_Rj};HMXWyC+B=`?kw(qZ zx&p>GV4MrkKJk@F3V$8z%DgD;LSotp#TAU2-^4kENKKw=tUk;Dm(#79{FK+9H0gBy zBI}c>wUJlLki201%&p6!?YN?bAG+(3wvd#Ojsqd3dpaTUyyqnHh#%Qj2MG}Zq1t<{ z5gaHdBWano1Y%nA52!Pka$sEWyw?%l#3xO9yvQbGyXj=?mb{g?#G%2)aFm@bw^Q7( z4C^tW1%*imGt$k)kEqQ_OUTsNMwb+beUkELT(Z&7Q?yfuaM(mjWD$$?iwtJXH3?Aa zw`WB}@KjgB{7u}V!;yvT9Z{E}N6^3G?w&*)yav?HBN-xzo4JAYdQ3`6=vX+{535`k zy{Z!|=C>t4R~4`*(LL`?f^uEdaxJ-NlylUG2>%m4177hd#g<8e)3#s2e~T|DGF8&n zg1jcvk{`1qbrfdGiDs@1#*v0wR)V5IYkSv~?c2OHui(s;xU-U-Ag2qey)hXjJ>1?q zL4xuI`CFq!J|f#Ab5NYvCXDDjq5K<#l#&o9J4bV^z)EakRWIJm0@0)k8dw;=aqig_ z_&-=?=nU2|u(jRq1Lw4?!mBjS{xH^stW0P1N$WXa*Nf_oC~PTrK#@U33lMdD=zY!c zRJY@(n%+1zkLl*Qqj5ck!v(q!()YC5gtBuf*+jGYPC;5mJDqZG$vU}6YpXI3Wz=df z^;;aSBh)1m!A=quo9F1M2ymNCJ_740O0tp_)hk>E4pDHlrY1>=Zj6;BsDG8_W0)*A z)Y(XwQ6jk;R^g=0q}mZaATmze!@;8=30G1c-1M$l6h$p)VNQ$7$mzNo{5LL8b8%|M zAv&xU=s>FlDLNVT1in+8P5PQ@js#pyuF#kQvfISY*M_;;n^CT|)D?v^*vr8^X=~s) zK*stl_FJT*F^vHr^5eleNiZ(Y5(RGy;Oh8{@e`RqsoOY9({r7?F}QIw>ro^rN1tk8 zbg}71et{ERLt3GhhIX_F7yPiaZ^$FJcO560VKEfrH9^X}pkr1^6W`Gr(XSbWHJA2L znhrZ%y+WA%fQ)hjaAtR@L8H>H3kli7dOLgr+0$TP2z|aWC1qqID3=`yciXf_ErEUT z=Cs-R105A~baNqb<8-2hOi?PP)UH*OY*qTN)-LCD8xq`joUYQZ=n)DvfwoC0!l@#X zk%$`wu1WArxY!mun!iv)iMn%4G0Dmux7)QXC4NTt?LTA)A~Gpod)jIB^v-SQn^0z} zan6L15`3KlEpwHZ%?-`52HR_h^>ws_CQ_!2o4gYcwo}?Eyd`;3fdWy0si90AW9oaY z#+U}w)shf?a+GI+ZhBpz9})LKS5s-~jA;9lOk?r+OLfh%Wy|hTNQ-t*mdQ0Qu;P|+ z;MQQ>R#8G{D;qR~7jU>-p|{%(En#C&tgR!%TFNJKr?7gPu!hnKna1j>)fKnk*6QwH z6EmsEL3hHsE{AT?PZx|*(A#!iiY^l6mAxoX;4NOc;r3f(^8Jzl;Y2DYFD^B9&@%&HjxVFXAlbgiC^s99ff`_Y}RTcAXo-kVHp` zF{xi$%z$T@BS>vB|B9>031&o12A|cgx$q2)hzhU9Pz>O8z9kW1 zS+9LfXHWIUCT6YP9@<#kQ)MnCrCL4G&qJ9p|3Ho|$W38$n3u3>%7@_KdYa;0;*y|) znH6gqOWuQZc`#?S?uoyt68B_Cg4e`-q`I6lbPob9<3^*}7JHKRE59loBic>z&jju4 zgkEul9yWEV@L0QsttrKUC&iTKr7}O%jO4h{|7iW?d^+mbliAjM#Ez_nj*iThE zQU@Ry5*j3zCRA4x454}XGTf~Bs2zBZN*T}tlF2pG+;%9*>B`$)qH}Rg0?jK8%P2Pl z`06^Sc&d$Bs+QhrL>RjFmCE;g2)ZFRm{`$h4M!z;o7F~n_x+UP=*0& znQCdi^La;EULE&;u%Q&XStnrFSSy5IRW8WcB zW17*R@CRqur9Q#ZRb4|VBjL7ky)Y6c+@wfxe~3eZw39lmHykDBlz18CVcwy|-qAOd zuxbP-`P2|@Zxilq!@#&541meUk(s_Ld?*UlBNY!qv;OUp#7V(SC?x#SeVQhsLs6u- z)kO#G=C!VL?HsT#N%d9*vKwtkcifP;e(o^)jqweT>84MH6C^oM6_EqT2NF(jrF_GT zqe5kMiJXL(9KF_@V_`D8zYJMMDz{AtC`E=*)w0wNr8^zcWHea=PM3aysaLxBXm8@6 zZy*)SuahZ|0&-nV_GAa8jgj>Hb)MHN?~)A5n(02K<6b5YiKGjeYlgRs)Df}`Uy1ak zk%i`7P*$aq;61nFb94%Ni5DLQQ!md6ykVAC&bd@(zI6FJ_Z2G67MU0qNi5ErOZT~F zbI(ED6&QKZpRI5`^t9ZZ>3>>Y>C94kUiEB>RY*5sBu};Z2J-B4vAWnKsjy0f!MTjX zcPR!gUjG%@J`DW%rEmw}*)B1BwfrWDwkkRorB5sMsNu^|ooMXr7jg-sG5^S>wl#5T z9ht|adtB7pZu+ZeR>W0+1(GNfx@ZLpkh6+hybz7kSw{6FDbOe=)ZUWc>U$QY@a~dD zh`h8xb4?y-m2vmMQai=v0c@pHD#(crTn6X>i!&EZc}{}Tfuz<+YVBnpiKvb^inMH4 zS*Ls`5z>ZMHC^CrWm~{1FsGcjHDoU)Wj!4_)NnRP5&{Nrgh;}-2sxc%huN- z`rBhZhL#*JO{1kENanic-;!J^Wq)7bt-K@{mj+0*H>F0sY^qUyD8N6ow{sOSJa(ELyQtvu-Fq0NS&XM57O zA2q2S*$+3&5jfK)QFpZ@JlWn}wl>p7Zbi7$>DGN6^C^-_0-gSQ65+pRX~@B+GC{3c zlprpf)EJjF02I(Fs3FXlN@2!Qr;E3yrf6enh&HA!hQ-d?vW&dVSH~`iWV@N17=zew zEB)GNyflo)%Z3C*umxpH{=wM`nN6@3^6Q#>V70^}{~_fgn!*RlN2a3D>BI7o!jO*) zHj6}JZ;VVpyuoZf1w=8&g$lb62=rvsk!$)m+fWN6o+@5=)Fn(#Jqx$E38JR#H}?`Z zoYQ3lvBd&+wbX|jLdcpds2w98w`he9uBv@-HKpWU+2A<@B4nfw z*W5K_0gD{Fteil5Ms5e?nVfq5m85U{`LowPRMDso>3`1>!6a%5JT@rsL}>E}r)WgG zH;pZ8_nTfm%C*o1p;Jez*x)sa=oD*n01NEs-!_Hd&>2Ec46*yzi^ywu9q9yFfH82S zK-f8PF(bCC^iaYmZy1Oez}bQ0Bi1eA%25(5GwyM@#6b74S0}{W8Gpli5FOHpn*#AF z+)bCTXkC76D*tNvvA$ZkWtK4d9JP!;)x=gkn{MwCbaCHKRQ9FQE?J5N6F)xnx`&k-A%kT$j4d2hf-3$8P#jAVVOl$t5hg%mL;`wMguLwe4< z$}n#@;or~^RlT>NheCHHYq2>TS#qw*tJzhXs}nrJW^g@)_Wm%9`ZHkSyJEv+@r`|X zjC?3FQG4f|FkUBcw*4Po?j7lqO&2^rrxV29r44tXA+WqnWr56<3qBwS_)m z`5Uf>hF$f8m8gh6TU#{>dawkp2i_zPgY*q80{u{OZj{Na-Gop{`lhr-HBd&C0 z;6E-#G+q9#*E$Ip-HRZ?p}iaI2Zy#N$t{YCo-z1|C-5hqtiDTu9{r9L#og+MH@wX1!-5sD^<$DH z{UoTMSB`Mfk{7|UWW}o)37X(>chW>99Z@GI$&KyS7y2_)j=Nqgf!;qu5|6e^BhAU& z4at}$!;1cbc3pyH#T!2op*eMowIA~dQFi+K$#Cdm&`6yVY)_&Qq;X3My7`?M1(Vzm zGg0$Fh9Up7D=2(5?x33YPwK8xyYLeF7vc+w$G8?`SI_HkV0iC|mrZE;j(!1}QM`DE zqzeE_p#C~px6fEx*io5Nm;Kc!?9x4$ zri-PPTa+2y60<~kBv-Cdjhw=|5%LKmDd8JI&m#>V(E>mkI!b>Md|BiuEai-I!^tIb zy?il{>J4|3r7#&O(a3@VBLDW2}V zT?%=CtE+)Kjex<95o6hG2$d_zgkRO`QIuSGcw}vAfY>OjtzogIKq?x&w&|3zNTK?E zP4qjz9z?AZycr*54^s=wjF_X6y?YS^F|5`oW+1fPRYQ0A`=nymWyr-0dPT&bti7VM zRD(IZB!^H>%Ib@`XvFpbGS$o%+0T3OMu>B>oz;*D=jC$}Nj#LDV>41dsaebxETjN0 z6jhndF$``Pr5XWC*)FEu<0A9pLGDzw8&-iYZg zP((BI6}zE*qLz~k9j&w*-n5Ksxg&>Ng4%}^9!I{~I>%mr=|B&nu2!F5U;e310S~lB zPRO~1*~@P|NgH~<|36Ds+_}aAvH>m@vKQmZJ{ArkP``M2#lm}XYY)@fcSOd(TkB2yx4~0DO%lJ^jAyxM|bEK{ShK+yhaCFJ7ML; zC{4;Lg52)v{NmQXydMtNE1pWGC-`Ms<#F*(KS3qq7&hTOUNWGL3LHWBh%6yIPD}Vx zurwTa^9elO0`tiP<;AfSpaD|+_`Qr53FJW8*FI`QQNPPco0*m4uGz3?0Ho! z%CO(Ry}bBMkT=W5e=NFU99>HSN?}7!58hPg5s-#Mpe7U+qttt7o$P0i-Qi=F?T-l}p zgWWC|^!wNhD+1NCK95-XYzIa_9PA9T>#Im4UIg*=N@b8sW&s1kxTUZBe-8YYzg_q+ zHdrVy&7yHSY-QWehW!P!)W2qvB<_#Uu|kwWyR++f@f(@@=?z0-c@emyS)R{QSftd@ z<^7JgyLK)D@v?SDxN;qyyYEmf1Z@|=eeu8W$#X6yyjA z^!uK@ZM&%15z@z=?slqwG2-8$URZ&^bMn?89~|~n7oqzPa0b%MMq}GO9gOVqhHJir zLIVcRZGv+N6vTM`X93N@%{NNKHe&I2zVX#Y4lR}HJU@q? zl1o_v*2#{0yn{;0Y66z$CA4)JP1qQYkiY-@1Bz_&jJ#u>54A0L(d*AVl2gMT5lba) zf=~>l6p%cJ@hn{cy&=Gps|mdYxg+}F0z;xWamHd7hy(h7uc#Z`T>*DXH4+cqmCz@= zL$}4*#0@7FFokMt+i>+?rZKO8ik2^+xGTiZ`EFxw#UKR8M+;la*LZ7<-XidG##(wOWWacApo{HoAw+q21fGLeY~2bMuJC=W z^i>*q+rqtx*JxMCcRqjG-v0b)ltg%s@%dBmkyaKUIL_N9sIGR;co@k0JR|2*uPMx< zv7iQsK9LbdHEE%9zHVYD)hI32?QQYn@W$y)wU0WZcq+G*=T-f5WHgWQ`&zpnPw>{Q z4Qt%O;a!mink+Cd4Ef;~18975r4qQ){6O4fn{(vtx46e#UvcU_M8xrZCAAgb;xtnD zT2l1?dDG|X{OiVV`Gzn0LRB5mwmrj`p#6gZGRPD{u%o|YT#f0b?!Mme6?(hrQ{Mf- z@Gun^0y)O}7e}p)7oA@oBi+~#OjA3|V{}Qe1Zs=y#>J!5O;HIU8c*Z8pM0t_n<;e} zGd%=?MbT8bm1Guk*?E2mRLzY2Iufb?_g}&~(Yvc(KEpnu7w&cGSKMMo36U<#@K-1$ zMSS+ zhqDQ|OsJMd8M$RLLSQh{r&ny0&9$<*R+fB>siO2I*IWYhB@iCQ5~yJee9|#z52LY~ zE7#@nJPJ`;i^aXI+BZ$rd9_f{or1V&5~6Khm*glIoXKrbx$*@fPSXgsM)2%vru12^ zW|%(Yp;+KXnm5G`&ip-}X2}eumQec6P(o$d^X+XE7A{;I>^3C4_P{(Ar zo`b4(<^i&^6*ba?N)m+@mb~y-J#7`v*yTU9Qw{_g4-AhEWLK*#r&*^!@2BI2r@!79 zyNiym`7ON5g#{QFaAL-4TPnvD55+Q3k{Y^aMSY5x$Ka9C-}9DX&oTKVO+V%d(1$Q9 z1Yq$Nb0SVl(!>KY>_t~wq6`f_%F)MnoPCNHNP@#$@kJ1gy*kD~gmDCk4P9zMG(7Y= z{xQxnVQYe~XSc~hd&O87`d7)9@&q290hbq#WTJY8>pSXltO*$=3164LM)mV&?Kv9o znt{9dNA1OwJH(wfCfHS3-)SyUTY05#-$c@(@8c4^J8%_Qm3qb}VzcRk7PMitGUETN zWh~9&(MqNQN;CFQu1RMkP*ppRAX(QVLPa(*@yL-{F1m_ujdw$3&0O8Jb>c_F;`0$l zDZro9Se*WHQn=0@%B!>nwg*gk!#dD?qR>6mjiIfy*6ah%|ufJH#G3nz%!1gZdHj{5no*iU5T9yebWuBmNH(pOps!yo7`)?f9fDcid6hiBC|2Zw<*Ai-vAHPbG%6juT< z2l7XhzbJLi0N#b))fpfwR*;HV`8YLzH49}y_n4(6vtV5-JK`GH?&)wq3}dOC_C;e! zp)U>YAV)+b9BF$g0t^wNh3fZ3Je%?0PQyB;VjaX#36C0I&_ihD%5Wj4M}vV`{TDmb zeZ&oq1~2#v3}DC6*Nwgg`;_P74+yQgviNjwe|tMV8Sd_nu-}9bxuCPuac?J8SQ=EJ zem~}vjZ@D()*)h`p3>lt%Nm(VpGw68Ytc)No75Gny(DeqwCX&YV-^;T@Tj^o$W5-( zyiSc)@~O7T(pL!@j0|1TiJ;e952EkfS+73>TK@b}GjbzuP~1~mp-|X@ z_Inq~i6}@b5LLJ#JCB2i$7=NxPR(spK{ofhUM=l&qZZo0MZklr%=24RFIO)pupwJU zGnIQgZV_TAm*^Jv;eK{1^PH|UAq^hWCr-yA9}NfLzH2P)%2=;jr5MVk#u-&p?ob73 za-CG@y5X9Oa1DXt1MWptzkGEcdcHT(h8IGAV$T?9kqLwy2H zA{_}W>wv6sF_B1;Bnc>x#C0)`L{M{Y7RjLIN@yO<`}}*Odn(V4AyBKV!rU_dWpRLGWKVBnG`9Toqq2pIQ=nS6okHF!OU0AY&qwetWawm7D^o(59LsQH5d1w!I;LFGK*jVE?gjC9%ib& zs|eQP{Lze`z3Zsa^WaO*?0fLV#p!4X3T|2@@0um=8YQ_z;4ZrMS)1qgzC<@2>7TvZ zDD643-ks|`izYqis`th9&NvDDj8F5eH2s-M)1T@3SYs~vY;ei&g1-pa@7!ZeJbOkQ zwuV=kj#t^Y;#F4T)n-#IyjnBNE%rQ@4m5I&^eN~~uzavW^P1IzMVjk06dqwYx*yOP z>^zwKSk{}UOZe{RwR9dGdE`2&ywS9#mYr?53wuO}k((mYyur8R`i$f)z9lz>Yq=?0 z%LC(zA`co@6nV{;XcQ-X;0vn0(aG@@gWLj;7K}}z;Q-x--mo-Bg6>zC0(GkO3D_@! zeJ#UhEyL$JLownr#rq5_{Fo<*UX#xUcojo*O0RkOSAUGU_%AbvcP9huX>p}|{Q&{QU|8wWg!lrCn*e86N9~_oC~8P`rB9^1%}JXC zVh8`L)!Q5H4_;_cR|NN9?d=T6tFGRHumSgW_R&dkfpTp8ROI32br%d_i%aIY zwsnpq-|`wSByi$)amK2sS&AQzteuYX)o@dR-u__lBB{5}h6)^6?95lsl^~T;XF}3rgxU~<6K#^w~(J1O{JC55^ zSw+o6Ia954y3dOYVoDg~7SaND+~vf1qieJp3}|b366-|c_V!pMs6d;wCt0^SG~%!aE;(>=JzvyTV*D7nYKQW>L_^@vW|&V3;79 z9$K(~nc^6^xy$}SD6=-dd=TEh!lI$CI+7(G?+>{^thM6D^44#x-TIBSTfagnIzS`Z zN_I)ccZLa*@AF&ZyI8mrZ|R0@*G5l2Ch{1+nlO9hDJoF6?+XWBvRXoOo? z>|FhySEaeW?XJtHN_(kQ2T_mwaf@WE&d@4nnk^2i4+81P$-Czf#lrhiiW$S_Cw!w> z4aaq9eAf!zC2}_2eadWGWH%ex_xB&)zxw>!*{4@Oe_F5Y)06UMW_`I%voa#f7GWuK zy9@h$)(4t#(1#qhb(65$@6aZHbe&UhCUKXCW82omlZhs_ZQHh;yfG)X?M!TEVtZoS zZ_GE@sonbaYPYNU^50ioU44G%oaZq@uF2(p5lqqV4{oMT1RV(1J6^&1at>}8(Ga76 zLUwnnw*>hI8Uf0fk^|R_&CczDJMbP3;k*N%n-S%P%x4#m0nD3iF#7rD4iDTy3i)+C z1pUwS&0tx_Xoxu1jryo@JNQ%H_zuW_|1{J7jAJ3WuG3J$zKKj*dHgq-!;SI_#-{|X z<1QVI-n4kO~zd|hw_H8#sB82(WtG*{Mh$@nmxjyyEaSl zUv)Y4oNmd!dHztNx>!4a0Ec4#k%PR-;kbh|IZ&Z%p%%d|$u>dNk_6kwREG;@u=KDx z2knOY-GNW3b^eHs+0m;RGaw)aIc_iee2hzIL82@X0k?>NxdnHiwRhjRKzY!>J5NlL zr9GLGSI&-AaFj1HU9WYsHCn0k3ce+g44=gOWS={>X^o0Lse-BBuOq0xl2pK<)AXm4 zbNK~Qs^~CU+V?oy%O!A3S`)AXbg&k5>%4?zc5F_#rg5jPGszR@RXAP}lGvxZAhaBw z_~1y$U124>W!ShprjPXzu(*`%!GeH6sbXUBv0pj-x}9NQ{D6>qy69K!FR<464V@ zpPR8_n+l;BUw6^zsjB_5@DwREtXA0iyrqwcJg=zU6iJtsw`TRHor+#fEpv= zSr%FM__bw|$>x*1q)udSHaUJV#)fz9Ggcn95%*a6EBo&m^7t%$0EPNyrcj&+Cu&iN z9{(C<5pQbUWxr|a789`3HO*SsXac6ppnphRpGGHEJr-YPbzL;FJFb|ob()TyVTX}D9b_buLg~?L9GY0 z*Z_Y1x@}DG^qW9zV-_-kQ!PX$y?r<_+9n#@X)&yt$G5ZYC$-;u@>3pL{mI(b*3w1B zu@?dF&(AjiUSH6CHm4xS-R`-NebcuM&?LCick8)Ly#3N;SO+2oIQHI8?)g2Z`+qz= z`m~!8&w#eFiKoJAZl|wTNF#jz3Y1)KUy4{rZGKh1KKk2w^;bto>Sr^Bc&;d_`71kNEqUyvbEY-6y(SEY zY$)duxrM~8_k=`N*CKXRD1Cb~rWU0$mMaV5+zk-CkV?uV5yj%}%Sy8U#;yXe^`6~1 z?DVVJQ~iAy0uj`S6b;>3?NICOSnVUCA%wq*Tq2w&M1Uzk%?_Lb2L0*vM`LA#kEa_E zr>&t9snlE>3koSPm(0nCV{~5?SnA%Zt3PLMxMZdob8kSj^-x@+WLua{$i(<=3jJ6} zeB>ad^kP9KlXnV^U~mS6&pg-tJsGij6k7YqTSIf6gNn9GJe9mAVLQ`lXE$vx{N(V# ztoy~i-d>xz$(l-gZ=cJb7{F2K8i~8=26J1dC;$+Dbl5NnqX$s4qQCUZ&3~CZKYUp44B|`=SBfy{#IlJZ zGg8t`ksf-Pf`j5oJ6$I`_}qd42VFHJ@*qJ7E!)v9~ra zxY!Fiy)2)PDXv8H<=_x%aLMwNLh(fd(q?DF#RcijIR^|LkW(y^1jlq#@x%))x~1Y` zQDiG08R4N;=I3|ioUVJ7up~2BrEyFy|DB{mq6WK843@`R=%=J|#aSht9w5%(^~c?G zyz#nNySSE8&xyXtQwi@cn@#6?{ClZ^)e013UJkM(DfpkZzLq!&ne&!de?u?gP(z6h zJ&+Dx9sBlZHclH)A>ZDPp9rF~0y=kOS26HpLpLEce9&Ixpn^Psyy4<^GS?#~uhMqL zV5MWVxp`ruf$HL5di}Aj>Zp*sV_;>ozH!HSeh-^P(3op@vJMgo5bgf%?F=d>-gW2v zo>wP(_tXw2)oXnUG6)lQn^${w!{vWUsfFPj*Uxwkx5`O(BuneNgx)im_-a$KY!Px| z#Y2@9ubPymNV!D~`>{k#`Ox^(eiF6!47Kxkkyl#}Lll4a=>&SVw|C%scih7b z$YyssZ~k2@W+sW+Hfa0M>W_(eKiAs*Q`w$Xh$1fZMx7JsDV0lzjajS|F^yIx15-g< zqKAVQo=&2GS!i_FE^y%FL$kf5OhFlZo^)#P@0UEPR&%kqbC=C|FmBDAb>TNx6!H=A zB^Y&n);K>+TC0AesNcRG+q|O9=<}BTpp1yYZI+c6`X7fTJ3WyP>nVhI#$jnZI(M}4 z1oYbU{YB?Znp|9->{_vxObU}pO^WT;K*`!cdZ$4L#^<O^xU?WyS~@S0Wd>~&&GF9!w*q;UCT{j=Th!NfgJ(vmi(`q(;~oHKE7S; z!-KnlK1I`)8F2iiP0=7}`$#eIMb*-RAB%z%X6tTjQ zsZ0N|)74JtNrBHZ+(svXge$8oq|HCDckX9-N}8S1{zsZzFSqP9BNW~CMvy)u!hszb zWqvXF6{r?;UxMmL6QfF&#nbflr0W{+%WNkCnR@KUmgNmr+KPJKmoTG8r5JfY@US0? zj>Iz@K700v+7+rNFdr1kU3+rxb8;fwK zoUiDG(~ck)gb*tF@%txmw-nHPb8~3~Jy_`OW^^Uw8j>!sgo;i2;w#|i4d1ilZ+%6i z9l`r|pw}JB7bUvCM(bs3y`lbF7YOd>I1u}tD=)*6r#MvNGfiSXizslSs23iAvUv&PQfd| zfPHV{@PlOg?3rmx0t^U(%=j9R9dd`QM~XYOY;PMqfi43%%?68u6FTH8!hrdV?kGO{ z^_TMs$W zzQRU4K=OjEhcEY{)`#4QZvN zpT+@8;HDuB@k%+Sp$NOMIS;Xl(@Lx0#_c9$2#6u8yo%i!3`kQ9PM_AdXxB_HBpv^F zAuMdcolyG%XOaxI;%a0oFIa;^HL&YAEpAv4;Z>=G#!ND1S4hpN!zW_m16SutAodC= zP&`jLrU{<%GP&flv=Xd`9P=(cs-;LtsHAcD%{W%_A6O~JIma?pEzFeAk~iPQK7NcJ z_O}>s4m&le(_7NT4G`nsVD)PL0?SC;isb`&e+ZTPhcFO#9XNRd^-ohR^U;kD);1$; z0f1fYKL)mr03+2Qm|etL?`92*(_Sh%*loeu`~v00JGNTd*X~wIO*T9O?WxkHee!g^ z$W@Zw>D-v5>xK8P&QoLNd`o|H=qEna^St!y3KU&*hQP{Eu){&{1ph%NDH5sn(=p8k z!<&Yy1aC?r`1|BNE4<@v1_f0-EQ0syJQ^&&NoqyIecrct>&w^Ej;%=ut;*Zr+^Blb zIQreE%M-7Lq0cKgZzMM*ARv3NrNf=ZM821jnA_2LZQj(lvGM}t4^Bk4PT?wUL z_I2fvkdl7QyDV`ciYNAN&Xhi9#IGP-LTTk}T^IVFn~AOgEI_7Sq;gzCl=Adyz$^1S z;|HH^?$^aWVgftvWE+q)obYFRU6yS9>R2xxupa5@>mBeFAA25!*R_W41$Lh2?`-_6 zRE3LM2X5Of@>{R;lZY&4)^vfWomLjb+ruR%>8wkZx%)?NoKOq|wDH_+2H79kxXP+& z&gRBHw34&&(xGMcaCbiN)T@|}$5!eIE?kDDsN?kQ7)5HrVy{q~9qc?x34;2K+KaFC z6{pY69hq0n@zJy)G=WSo%Dn23Qt}<5HU8FehkFuDC1x|PX<*v@vZ4S2I zEld)v$el;6T7i~$dVeH9ZN$FLhwEd=i zbO_=>3%1BRk1{0MoQ#H;?!4Zkx+A>USiAUx@xK~J$Zo;3ea-kl1x}J zf9LlSA#|L?ap{a*^GE}|^fhMhuYk*GDA1?p!39%ucqu>(g=_;fFRj4pRknEhLW>a1 zH$J6OV5xa%(9-40*c#tHACg=AVO}^+N;lfHsIKu@XG~?lGoSw=~5w>~($%&wK^ z&TxP{L*w>jSw`Sf23)H?f9Ih31?-*7{oiK3aiE=SA6lU3_`F41%FD|aI%^k(pfnBwLk`rr^yuxDsC7y9 z{MV?s>yyr-w5+7Z5=x-3AOE?7JIf{xp$$7m?iq5rX z1z1Gnym9EqoOQl&fOEFoFO9?dmCJRz0Gih3Y4+e~!Y%xH`^2f}e`7~5d{%}hW_%u| z1f23*yzRZneS@4WB4yu;2sq~rN=3@)-*EgZ#u^6#4#|A8JuQDX4*danxTFYqb3F$S ziwipK{_#2cg@IZ$U-JdpI}Nc0yaj@P?F=#2N(e20`*Pzy8EX zv&nMYY*)IrH7e}H7qLm3TGFeHLS`VL`+~FO8$cPbKJjHNIA0<+1y2NACOtK$Q9 z10O4 z@e6EOmr=(LdX&n$T@)mbxi-brFJB(67aXbiTr6%P>5jwOp@wqAE02T9FxJ=d1oG<8 zm%_SFMsS3SG9QX0OATF}8ij?>yK2ZJ3-KbNsmqlK<{Su3A^GN*Y#GBWmxqua;=|64 zRo*TzG{sz5VT=l9i-cYw8y(|U9$g)u14_n>U5l>4Y_Th_P#IRS`~WtE=OK>+w<*Pj zjX^S=4a^yaSOocfh9islEV2BWrL#%+YoO{|x-Wf~6_VDV-Q30yAz9Gm?DfY!mVsNt ziqbo^-7hW|OX^=AVh<5rgIm?Y4P`p^ylx8bC}f_Op$^7OZaglGE~hKo*J+vx3X(Pk zMMI;?m*o6VMSyb_qLF6mTF%c|Tum&5LlKtA_{hIQlsv^fo8R-yu? z`6x?|jC|lYbd#wkyHd=Un?p|VYS*p}Lb8s>E1I|H601-tWy#{;*O6{>F1Ui|S))v} zsZ!ReGf2CU=29cP6hDZ7^%Uy(`j8?%iW)SBxjmMe58a61Ho53q?yf5!YgCvhb`4)p zU{HI!Ra0xj2n?@`l4~q!vIopq7}fiBq_&o$qRuQ>O7*be(Id^KDC9{9 z=rTi9W};FU;S%(@`O-9on4X`t!+4A1{b#A!M=Kk%`;t@es2h-l7**EKlk_~FYP8=x zle~r|?yd#U`*{KuDG}W$Cp|;@rISGNhigPy6I#6?ZGmp*KTPWqq%Lz6!DHNoY0nQ4 zCqNuM^#mpux>Ecx3`i^_#G1O#6 z)xVO`@*!^X@^pXf=|u7ZE%$XmWCS^fRoLMYzD}`;d{NXSkE?;2s2{fH8Afsj9f1B% znz?ZZO^|vIXhd3ef%d83`{;`&i1A;8VN7wfDS(4?6`lWQwv*oIw-ndyXJG>R8D3U^ zQ(V1O)7rV6jLYoKERAr6ljz*c+FGXn-_~L;HAi-WSRS=aEQL#6jopXDVSpU*8kRFu z<6N0w&f3qr()8j=7u-Js>> z&e))qt)U%W{_2)*f`wjPL5Axa=S`;Ug;}3g17G6hL4en$WsEER`7P|<#0^^m`Aa~? zCCSsP+U2d*f@Nw>A>z|0m>vhME$aSypDvB;2`&3Ti^o=I1^a4id&oLTdGM*U)q#J@ z&ct48LG<=swgbAKq1u73r%?u~&Cr4UBsWUtcA^g+g@3Q(mIo_sgmk&Ml}gAxD)e9l zd3l*R!5rtngzU5AX&2r?zlX>&M_5HNLvQwePABHQTAvR$^DZ=$bB=BHqEQCkI0{5V z7$pq@Ca`-)UqV1D_1uhHKB#b>5J6L^Iy zNHcuzWgmz+`%4sDpZ4^5i$7 z+}Y2s4!uA%wS;K;Ncl9NJ4AzK6=VAFO-;x}oq0Xp@&$IVs=0n+qHn?SETVHj)mj(* zy!+jLD(8>)XX(o#Cp?!BP2fJ=F^tnqz+v0p?Pj^u>F#G0UD2&6ODd#AC?(=cprL-5 zHzrx8+&ycB3V5om=O(=pgO}0uHt(X}D5-CyRG_gGKkkecA1#%yKIS6VIWK5e1Zjva*AX zoJ8cr&~B!;FfsS3`~v@Lh|tIRvV(m-ztks^t0Flx;>RTCm44T2u~4O!fHg>qNVTvF zb{+~vweJQtz{lCT&ut@s3(lf8J<^Or-1Qfp1dGz$nh`@FS6LIDfiY*dDwCSI5v9^U z{jj@$`1}y6q(^OLIbG~VOa$|IedzeqDE7!52risAs-TaA9n7Cgy14Rma4*}-nYAsv z`j^EeWzmhWqUtFD+hN2UPGfcjrgFlCow3YQT8om08tE_7q`Aqb^KYa$oIFf`*9YS! zWk-%lLjgBQM5DKe(fw6?h@ZNjp9ZHRi8s;qUF6&SIJXOTAj9xa*B8YNT^AU_u-^>a zVX{xax_LPyA~38!3Mj$z?x?ZV`6&p6I9(GJbQ=f&MUVkP-(J zS;J&EdyU(UHz4gQXs7I*%vXT$EL!^;3js|?Q zEr>32Y)&eux>;0#`R%Zwp4a`Rj&$q&IDPNWWIdq4e{nBo9|?bnz^8x8_I7{yD{0=r zLOkKicS}~#`>1xxHgy*rV0t1EElki*FOm+(^ioqx>fl7qhD}05ia0qzZzD=BI#m<) zk)6TtkJpuGg_PoWI=6STKv1Qju?82bpaOW91L9WUAo{;!Yoc1}uLTU#2D=mc)(14s zYVTRTI^(4YJ3Ohl+RJ9!HU+3~;xA#$nGfp2gausO-l=_Q4-yk0H}T_!iF1EuyXnM(9>#0pKP2+{cg{wO0yK$6_6L!CM5K=2 zSX6yi`8x%>T?>;TIX@EMY`t$P(A?uZf8=z^^0dkPHd&dBoBL+z1fh!%DGdkMH;Ywe zGtN55;Ry&#!ILCVpmA&b_u20DdUb}$7-+sO^YVT$fwZNkf6G5khkX*=&+#E7-&-AMd=0VO?D!D+ zp=96o%V5wO}fe89Z*7a4|eiaNQ0glZJ(6bp6*%uQe_9>{c;b;t>4q2rQFkfw@OVHpZB zSX$oe%m|T7Ld*UVmNjAD?sEQ=o>?2+se0@VYQBH(8|y}@3krh0%yEUpz1+w#yxpk@ zx#Cb$0vRNhWRACgMm65)EP~3|xnATF9aaXK>afzGm{Gofxg_~l@@P);MSswFiS;F9 z-IacC`c8klbeU1!?o@|Td0)q5P^$4a${AJoy5QeB_|u7YvFBmOdfok^gwe>q-{9-M ztrt+EXqOo$z6lu3kpW?8hP=z?a*|aB^ol82Qq%76@ioE9GcHtPV{8%4h zKG9yh@P_&aAtS=SDLU)&>4k`^u;nkYJVl&YsUBLy1CWU@j-EMDUl7Mp;2FRQ*p@e^ zW*h;mCh_E4>(n4LDV7j-2rdQ=aem%Z;tw4WwDRcf!X9@6Yy++mqX47)wE#1sLSO+2 zG3eh6#>Zht0KxEhK-0X{6seA*|BYONHZF`iSV3I3x9hq~gCqtIg;Si+;wM%*)bb0w zDyP{fdYH2+jSzR^vL3dlVy@Bge2Fhgq#qcGkvtkMjF5q<4IVSj8s#mTtP^KOO;zo* z2q{;kUNRKttgIjVUAJRe!R%+*<;pRHSm&BvG!Mcl#Npa%#*M^9b?3a!cI@9fhpDDi z&5%J$)EyEMe?cOWU&WC?tTFOPk%O_{;JbxC5rJ$9s;j^xg+KUExk!GqEyE2bsi;hg zP!gHcN)oXIPLs0}YV4T*)F}e6%z=AeIJJd@FD4#ed zs`gYtPX2+Md;^>MHi?n#`N(UBw}XSSZ>jW@F<~&VqM&(r{^5jINaBSz?dm#}M8=z9 zhGhwnyf=u2v6vreeHcMU{7YHF;gCD%5{=kM?kC3Hj1e^K!!l}RI|aq-Pke5hB`2dJ zf&_o9Mnp=hbY&()YJVt(j}Lk@$Ab6KC1kK91sl*k5lfVUkP%oCx7`BL2VVUMkjtZ{Nt$DO%@qolXso30)D+FhA~_9_~FikJLx6Mk+i&LxaO(Xd*7ebt2>?!C33ci05$PQ^cSZ!La?}Tb*UfgayZ2 zE+RjtP?Zq#T@8%VsbdY6reIG#Fb+`fpP*;!vDHSTtn_F+q>YiZ~16_$&?8~u$zWEmr0(X>{nOKMw3HGzGPClak_5|=GEYy^imSec{G>0FrE6}q4@`-Eu34iLe*?SO1v`06 zVgI0z&@9ei<|Kc_a^4ypxHAYYL!x(d0 zAykVWW|nDJ691~;*U{R=%iFV&f=yy;j0!$ygz-_Hs5cR~vSoBb{-to}i73%Hzd1z= z+k`Rcn+hk~FpX7J+5=By5$0;90^bij0pmHA$j8EB4*$kpGu@@ysc%}s)4^zw$N_N< zMMqtK4y^+F$>=R+pv`Mv|TSYty1mt%9WGj>n0yc63WkLgz1Gd>rn;>$IW84=FY zf1u*N%(6Ld+^hw{Oo^!>^}rR6qQototVA$>8Cs zy#jj%rWync^Z;BBQhyV*s$OkUtwW+5JjA9`2B>0Prh~nRCCi=atu()>s5KBNerEl2 zD=xW@Dzdok5z@r8`srr={bCP9v@Cw@#-W{kdG|54G9*I|H-E`aV9A~cK3xCZFG)^F zq5!r>;h^T!?%7c?H2+_12YR^hte+@dFSRD1DiIN-fb$YI$r-9QCX#1MONh9FzW<3+ ziEDqWz)DApR}exfp?v`zLGy!5qP7Z)NjRHsNrr@ z^s>j@nW0ZNnQc1JvrHicPH+8E>)gy4Eoy$(dUYBB3?R=Q>kzn3RVu0dsApXqr8T-TMtS{eWvD-hSZF0Mq`c=VUTtk~!u0{t#ZIcah` zPdBO_OsP>yXT~g`=ok7gmi!HeR%SU#nPp(T;%I&DJ$EG>v&A3;i23w(Q-u8~bG|OD zH*g$w*vBZ`qdy^u`g2=$mg1S!iVFdi`Zjzb%V_H?PlWe)35i<9dzmNZ8$^ocHLWP( zIwFC9A}p@=L5T+3V>R77qysSx@>_^!{pD01IOBJ#Q znd>MCc|rBnKt*kgW6x%@us87RapP(Fn9$?zhS8qIZ8x8K+u0BN=^|@?u<)?&c0A1mNZGO|3Z=$Tx7~vscTrDhgk(=(#I-{i zE6!^H?Orc0w+C+%pH`gP-XQC3vewY&u4cy+N7lDP*dWtMCA!mtCE|5b48G@!3bk7k zo|%=qOkV2Wkz78&$U)ZLV$017Ljd=~=d1tLg7SXE?=W)Z+U5^BRfN2mW$_Vh?J^?= zbJseg#e)iXR<7ifL#PmZX#1)kIqAt}-p`^eHDT>XJ{Ig+)=kD%+4+rF)$8}7jbNa~ z`?44R{Rp%C@U7FC?tP6MT@I~=pI<}yMSH1@YrAzk1u>S+KJ(9uv_M$gds&IR8a)Xo zd_87sw&~=Y)o-R~XjxIS_}zb_o2Vx!^@F?wj@Hu{e&@M}YfCRvZ^Z{*mg1408XwKS_T5L{9WvNMKHdiGey z;w8jJikEBz^ql3JVJS6A{DWrI5^H_titcB*elFq)0v%%09F`-nDMMaoc*(96-a_(5 zQ|A;J5tgH;9YUAEZJpH&m|qZ#cZ1vpvqGHEwh5FSJ8RA0?-HtN+KZowq#a0=t}s?# z<~Kst*gx+?3j#x{M_?!{eo@v1wmO|ZMq{ef#XzoqP5hX&3b$7$+{~C}oXzaQEBI2? zF6lJKM6YxhfJa5UL6_ECq;ZA_#~Q9hk0Wzt(*7N^hL!e9M+<|m`eWc8-%SG zF&}91qCila{82mQy)ctQ!zp(&?*8Obu`l*8mB4|rnn)F3bOavn<)Nr#2U`Vv2x`Qr z#+RTznKA~kcC2WWpZf2y?zu7JkK@rTNY~DvPygPy{Its{O}m_&{&1UMwD%7&DeB+Y zX3(uuU%lW|DR&4r1_%m&E;h|G;f4>lc+1yZWK;NZ4>t>%*T^m#4jnx)$t1`*=Z+#h)D=gSs&r*h@bXXy zNxt@>7)iKa=@rukqwi422>MYZQ!C#e0;9kXAs6gXt3Po~aqEVt3GIck&)$S*_c1ua z=ZwQ^_oiyEggJJhLXi?%C)OQvFYWjAf-%IaALw=8q~{Wl;l03k&zT}^Kb2vtV!G|? zag(m2kQ>yAV2R#fdX`RLKvbjsWQ8xISWM-0KLGE33v|a+4g7L#SREIp_Y6qg{7rwHknGcTt&ujfQ ztCu~uhqo5bhL^U*&f)k!| zZD|I$Fs_gYjCKt==9dWa?^1urCF0H#IOXDQ;-#P=kAmTvUQf>XqfEXqk1LR&h-x7p zI2C4@TZpAsR?n@%yhC=v*1aK9x z(6zl)MW445C>9-?i(0Yo{$c4E#FRu9>Wn4Fyg3D`ixGNsT6Q;d?E7m=J|>1qYBo+G zke1A5i)9E>wV1%=9QJq3krj*tj^S33EgfdC+G1J0|OKI|AyH7Yoi?x;@8pQqi zlQMK>lxFknFsvdw0zL~D+a)ufTmE}hE%u)>wv?6~x4(SdB4i1_bV^jt{bT8rD(sWY zRS;LBh&~~rgvN>VsOmfm1H45RcvVB4Z<~f5QzVj5pEN@gIVSYH+>XJf+GnLRDO3q) zcy>NEz0>5ve2|t;MG9(qvplwWq-l99-!pnFH-_9Q!YN79r&}A3j*Wm!;50o)c_&57 zH2Y_m&F2wEYQR*=>O7H_jrYl}Q~`%uV;wPIF0FhPO}|TIo}~XSiip{A)S}H60vx-C z@H(4EP|CtXz2TT@mg7=W^{;;Fa)UmKka4UYp~tRTvnnkzNF?*gQGgtVQ)iV`FH2oa z3Cjb-i9W{+nRWWzHj0#r$>@zA5B zQZEl1E>asq+{Yts;A*1?-jN~=R`gHu>wC-3*CW|*YwX+NwFqv(p4t4pt}3Iqb^p() zOvHySAMj0QEZJDif#+*M!Wqv)|DbhakBHi+j)Dk1*m`(=ksq3k6KL)W4989BU9Qmz zz=ghxe)sn@qmNzQnM-z|S!v~;5MkjDReKDA?oSSM^7PQ*GVvq_f=XGlyN-{Sb;oy=k6-0w2ZP%FRhvgVGh-etgPVD=gA!$ zN~LQ`RLeJmn;f^=|C7O-n(Ov&c-mR2Twsm(8-bTJPx^}`KbVSV8m#eVm5RX!$X5o} zaQ*s^00W@nY0mX5l1iMg1SS(MQ4apX>6<<)Pqlv) zMas&<-o;8p-BHp^xq1;wJ&(j~Rf(TGq(V`yKV(GDAN zV;~^d{VdcJlb(ehopW|3we3>A6c|(6nT%ZVe)&S9fB!e=3-=h4sX!HDKjt`YYw#Wa zYUFz3_&T|EYn!_z>&fAMamZ$^YeQpp`-*=w20q)PoKQ=DzQMEgcWoE|C~{1a;?O2G zd407jd1CL0w5(hHk3I54<4}^9heH#$~Er?iM(PQVY~%U&M=x{)Tw<@P+wrLS{$%QD^3g0jCJ;j@_-7fX@f?*Psd>TxpF*>(=7B=~z3D&(Kn!V@W zQdq#MYp~^aZ95S@7LLgKF6*>NROZraXD1{2x?eeUNY`n+CZN|2EfMd!J7Q$b&sr8@ z+P^inoG+;8KeE#4TSQG}CVmoOigk4O)}PzqQLcnDv>2q#%77c1StR3|_$w>~W{I1l zSYmfJQm5_471Ab$m?Rj=mseJZ%LmZVPvg>7{*v1X)bf&dor7kqj9Sq_{D9fHT^+gs zO7EQM;?_-psOjyhwop=PVq{MvNX_UC8u^pTD{(g0z~77uC~xGz=4)ZiW|M5DROK>5 z+s5h@@F?34IcW0I)~bRqaT@Xq(!Ue@iBoUr#{X1i%b+s(H@8vnDD&O{(5W26l~ndV z``{DPv3?p}SB@%;AIDlQ3?C_W zE-CkZsCMQo+69Zn-)kz)e9*-k;+Xd%fSZk;&CxibL!t8)Phl$Kq|{aZTXK9s@tu}tBUDjP~+bxhl<_(UaP#U7ucHQ(#Paxg%;P@?`x z+!OQFYnK7Iy(g_eE0Ji{mLz<}-2+z*5MrL)!n7~&^=N~88;{yul_B0Yvgp&`S!LUSk!^1HOIwsT;5;OJQaxN#_o+6G|h75UcMOC12gi(JMcF%Gw-u! z+Hx0d>C_2iRj!RTW-H~?l$V|$?FS%97{Bu*O0kuWX&VXC5@_7Pd-~eMNg7!UX8**@ zm7RWPmN7xKgr1Ed}>pji@bDhQQ8c<1ro+aTR*P-)I-xn5d9 zQU*A?zIy3)xq_Y{eFzr4>Cd%;_UVsZbmBR^eol zTYoR}#ew`93Ss9c)=;W>`FWAMXDE$|n%QQsVC}NzJVtZ16d|fpVwu=&*HizquzLd) zVY2vz>QQ25e$#a;F-Nel*^7SNdE{GZXl9OjDrQO3{h$g8fMsVEh&9{VPrR}F&gv+0 zu%{#S%5J6IDT)lWyk_mv^s)8E5+TqbFkL*n>{;WtGvmJZW?^9rD|aUxVSYNMYbD5C zT5f^D4@u+t4@?vdI*!9p`FL)CwT7ae z$cZ&7mY17X{aQK26b0WW@1PCJP-ESPqf&MA?n9e_1HI4H;BSNl@bx`kydQ8r8(j1z zkx}(1A;hh8zU(DlcZudr9hH)TK0aRG4?es?i$!%z(iq}1VWnJ|i7;quvEzTbu39?~+dnoBVcJ!`1Nr*mf z_a8s)alS^sNOBmouVDq=h+-2i+=XW#O+NYuW|L`$QgI6f@rofWca2^KGGR;qeC+Q$ zt3FiT@0)Q5nFJuA3A@RbeccKs&LbBOcpRhQP@euBvob{QHQ%D=o>3$p9!Y$5ISvn(ewJ z2axz8H1biu*W68vrkJ}JA9tPAz(`#i8UtF-ORZk^?O$&qvQ;1Btp}tX6|gY%>xpWn)_IH zlr_{wFs040%8v?op$j-`Oa?-Z)^7J?qf)qymhp7@d5vsTrWV0v{Lh}I8{(2=hvg5b zbZs}|Tgj}SC4aReFmHY{OBnBXrSQwP*e$RY^ zkf~S`R2}5Nk-}}^Yr1S3ftz&Ssq;(I%RehC^&YsyASyLVk!bW%qSeO8xOfn5tUUQn zfv8boJ)-DW$?yz6u{Qo@9Z90_mn|GW8rhO13!!oflQX-zwD-!% zXm#rzl@2A}$C6YFR}uJnbp``-5H2Bb=%Sfzg)tq9bfaYt*GVXOqyF**c>AF*y=4)QB}QrJYmqmRtooa z0;03_pS8;8vJl2`Z11{6hLR3>*05ECF)VLVb{Nc+t~o6bUEM5oD1R*WqmsQF%f7DM zR5l~_=+1_CD*d=(GJ&yT7?(1fnvmN9Y^L?Jh|*PKe19;&OHedoe!6S)+~9(t`kZQV zR>t|)!my27T@9am@)W|@B_tiekv8wIRgWk_lW15EqFS#ZymWO9sg? zYq8-IIW+18GVr?Hcu(K!UOxN}U|dFRjMyhY7P0x42fZ@1rn z4XV$??~JSjCq#$!rg=9ihoMvh3 zuG-ebAs8-4qt$NpFZM#Drp=m!CFq%m24>mLVJ_*v_dwWMmFJ!$i%fqPRa64wp<(xG(sdMumqH zHKvB@vFnzv1kcDng?>KVNHZhqT)s)~bY56#LzMa$&DnkIwKi2&Y?1$m(RyHY zXO##`V#?@3BPx!6$4B9o24kL87&t|J%V-89haul=AIv_2RsmlV>Rb}ND_Tp7a<@m> zpk77o_Dfyf(4N+$e)$6b(l-h-lNN8{mniF_*i1h&$M!Z-4Ba!BxQF}>b1b}Af4p>> z@9^Clz>vt)3Y)M?h2*-j1J>e1Z^Z!QPSZDA#1Mq04U&+TGelKlqXQ-&8+CXTCNL1; zPJ!t_`FQb`yy5UnEfH7ba2l%1>#uu0tj4B8W4mr)JdOM>Mc+^2NwKc#g{*!ev@FpCp;s(k%Xjr zDwg~^BoRx|>MME$R@OghTj;q|SBcMtHrdg&x*#Ffp%=30MuHh6qldVqlY1iI5#-(MoE% zM>Mjme-JNEWB*rJ;S(>7$pZ9V40VF(o-XR-4n_C%KNe%neB%&?N&c@*+3k2;>o+K!DbzP_r zwUzYokFoVZob+!>x6K$9RCO2+CfeLSO>Oi-WJPp;%BZ>V5b-N-llELJ zGkkX4H`2@vV=sP&oGz{SoFfboY!bHI%H5r1=b#L58Yi>;cpHPqwIeO(RV{9(kJvkF zVp(qIL?r7WZxfn&VB)JsO@juF;<7t+oVqmL$~D_ITubL{lgrAJFLSmYl;LM9o|?1~ zN~co>85L)}$1#}L?KKz z@kJ{9-KP?dJ$$tavn$hsRQoN=Y2XEj9mA3~vYDl9f2Nx2rAniGD*9VQsW`{jRhzg=m21G^w&bO(v*HT{z3gcZs{XdI@ zJa5|w~ zH)#X$2y$qb#(T!mY)`ec$1c*Ov99G7Vd;`{(=$ZOa_{9(S_39~Q01hy7=m7?5W1)s zt@RxS;~yA*>}FH0v#Rp|HRYVos&z$veSv9j)VoXKP|^6?0|~#hE2UYzst&CbWf3VA zWpCB&BkcYd@Uu#q;Knn?O}_o+-6~Hz+l^mifHz{+F{fPHOQp5YLtTy^KMF#(plA0~ zr(J>sNFAUD!HI?sWF){?oOt+Ytkv_omsy8>dNCc=9pSO8f-a*_>3h)LgQm)^9($rV z!9#R$MYuah$PP{_Gr)P01Cw_n)}TrXDX}yS6|7j$tnZs`iaQ&lmA_X!3R&x-x=cM7&l$u@Y6rr1d*u|2D50K zGw|vBR<7_jcOy!QPhA(cnt}yJld5nB`{}ev+=Xm0v@&0w8^ba>zSQs!(#av?<(yW|H6VHJXY>BeE7JVHhI3+XT9tg> z6@>7r&&3%Eo+i{lyk8qR*^+XQGr@H+^?{)F6k?aKkQWEjEEzI9Q#hej*Y9|hB^lV< z`uThvQO0H;Lv69Db3qV#$}CH9Dl!N43L(Fx`c+r5e=5`PIg_JjH6ibEGKhVz#`?eN z07x~oN$W(+;-keZOf($ZyA&##Iyg;LtBOz5E~`ylb{!(sX5BCSnyi?2yOx^UwLVTl zgPS(~T(WpyIZJOuZ5OVYX;fL8STbOpt);3qXE^}P!l}Pu z&MMqs=F|*kZ0yHu70Oci(rjv@k(Ir45pF!tzsSQ~v4K<-ykw!?g~GM-7xaW_$a&@L z5&+Ef3$Rh$%zAgj9W2(_jVo1<-2ZMCBTgwzA%l-$dA~k-vh>2?xMK z)Bx>9P2GjD72^Zhva0KX%TX=~(h9h~#3qB~%~jceJK@&dVsQk@c60$+a;|N7spbEt zYg;9AUa*C!z2<|yEG1Em!vr;!XeduB_PR~NTX`RZ#Q-7g1rGxC=&3&nD>TUJ_%Oiu z_FhB6?F+kw^Uv4-RpIIpAnbA?)3BhI36!{b1<9w1C$IJQ51)VX5*&xJgUf6^V2i3> z6i?U}!neW~;$`hrzq%V6NU>~9XmGcu3k9%x38cPzJPrSG*4NFKOKs61<)bdT&Efm( zd*IuTjTc&_wGI#Wv6=VbJF5=z%-0c?Lv0Bs-rUM%B;tQbu+IGk*&1}!yPj7?;Jlui zfv5n{Os<9(U1iiHjLG8+*4VWL2dMMN0wQSj^@8E{t%A+jz)t^Z3A$0tTg#bewHl_C z%2~QIn6(AXEv+g7oL-#_#xRQ34ty6f1CH~NLY{c&^q=Jm;t7aj}VX7Z;a%7ftmSt4^-=g{}rEz2i+QK(>QAyHc?-@D?T(3YtIer|sQZ$#<$koK{T)HN}MYRFgn|Bl`wi zW#`mvUv^TWqJ$Ci9F?7SwYF8F3ut+|9eK08czqPRUGNSpzwbG;iV$bUBFmOltasssO(qYJJwn_G;B76SuR9hJV(vT! zaG)t>jeFedrUiew^+m)to!JW}oea|UB%=x63E|xa!lQ7}jHOSjw4yqKSXe&_KRH4Z z$y{haIz(l(M!i?fS@?I%q}+qHeXwK}_nmyQdH_ao82>qWJ~n2{yc&|rR3Up1VJ3T{ zVcwY>xe(&!4v)NqEf{<(Zf&o+7A6HZOKQm$DG7rG+)i^oFPMMDfyyhd%ix?wq(L_s z7BiT?tCo#fa^&Bpy^^ILpmBtqy7n|FX-Quo}!YOk|&)ufiPC+iWtn`r04?pUlxiLA_+HYJ-d=wB{(7cCZ zBh@?m=lYLzFX{z~Pr=dYd5T2WLhM&#vOKA)M}zRRqA0y`l-u)L{wuDun~#E2YO(JMCW*`Qcc1D&WBHRLE9DdmKCzNV@^x)PL_ zzO?vw|8JFeJ85JPSf!_-DvGNFYD~;(WkpRwH4=)X4KNh=5>+-WcJXFA8NR6S(GQg2I@KQTZ44eX8uET$WJ#kI9dRcsFrh?-yL zj|VEjpf{J&HCC+7Ew{!=Th&_^nax(FfNMevxEphd_FQw17Au<;^$$1-8=Dqs4d)K1 zDJK^WKQP&L;B^}X9d#QZff;L-4iJxys=rH3x@gp|N$Wln3IOapwSRT`B?o`d!GF47 zc?1)e$+zYd^vf~Q-YC1ZJqV3Ks-;=i^%TJbMhO0R|#jE`1N4*Qc z=b=2~N1Jvmn9MzKpS>}=1(MKX13&4?#m;jSPk`o&g$aj>OW{!9hQe-i_ zc~qqnZiK#^JQ(5m_Z3#^{xmvG06`wraYTOlK*!mp6wiP!(Zd|cJu}qX8>%Spm!eN# z$*m4+9WKrGhES6_`l^5LJ^8xiO-zB^Mk}qu)nl)CMk7r8W8)V2@$;|s`;-^Mf1D(T zwU{XP7dVqj4kq=KPC(0Q(sYD^sTDlrGUX1`QHG;{uq#?0r~UiMKzP6TsL;}W5=6wu zQ&F76(kY7#k&C}Qy2sq>rsAd9sx_c9O7&Q<-!n{6cBrPJ%WBXjwo2|NJGIG=45(F0HvCmCA$i9oai5MDSNFE6#;KTP$`m<1H>U}NKwnbuklK>~x z?2BP?Fv;7P7RvFOVYdgvu8AA;cQCm#^U$b6JxG)KR8C{f=~VO(W@ zg-?ce&rV9}5A*L~(KI_ID>*RxF)OE=Ev8%l0m)*L$-vAVn|5a?kx_E;jv!fk`UzO` ziEz5~;4|Q9QM06_|B{qnu#DF)tt0+2_LpzRgHnhtXcyZ8?wclHJT{i1%(EUN@DR^5 zS(-vQ&A991Gv_cng)+N4hj*wmlfmLWFp6evafNrCBa<4)5ET(=AvfvXY@;C31+i(C zUc23vt-MV-UTe4>2>f#9?Y;~AI{{mHSir~1*8BzeB&xwT;T3sdX98+=f92%{^)JIz zeK~Jvt1Y0IhbFgYoc1LOs*cKPk4F~!Iluh!4^g97?4wWU{+}B_s!kSRfK6Y&j}ZCG zV|N}#*U-!p*%Go(jinKT7!ww-Mx5{Loyb#cO36*^c{e|2T=$oB_ibbZtq`*fUM#33 zWLCeGokzhIJuiLO4JA1DEDX^4z$abDEgEkw+{ZtU?BN%nRwOG~;tdQI+#IgO z4#*!LQ&0+d?HuM~ZLkolBQ4ic#^RWr986P2tpc5Srv3-r7|vCrgWL#qQ-vye$nFyA zbo`RowN$HWRDDOS*72odz3znR^;KR7K=k?MY!uP4IX*-v`YsGth3+96ukd-NtMDk{ z37S))n>~8oIUTx=;+;)6<_WGHptnbSsa37f!@Q%4z-8PlpBw#p5gblQ3%xULTVAz~6#TXX164o1-#gfaVyI z^AC6r!K=SuynpyfQS9)3y>$Tl%OzVBP^9xW@F#ph8Q(>(nlYJ*oTyaB=DTQltKcEK zG_X?>41eG;Z;eLn!ypp6S#euQg?5Uh3FXWt)qR?8CTSOOVl@c~KYo>pL~clZGu)a&ELh9nctc_879 zdvIiS6{{+gd(T*df+pA@ckPM@hTL`HHgA;Ac9(HP<~!rK736AlC7)wm{gKX{j*nA6 zUU=~UyX>0%(?iJpAcggtz=55~*v>*MqVtp1#*Vr-d_;Ml-o&b)w$Yy74jkFBILPHJ zyrEq|1nyNUQjRZZa4YH?;y>{v8BXEj0l)yjJ2(J<`G3Kem^fM58k<=f(U?2@7rLZM zk=tg24sq*|5?(-7Hi!^T7!?A29TZNskk8MN91Ee*G5$ofP(c2xboYDvH#w($B|de& znCJ6VfXj939!7Yx`9BOMo)!T@m<|UtDPUj4vBZs)W(fojaScU+ooqR-3vvwNn%l^| zU7k4lcnPQMvHk2pjS7sYw$)r71Nf+HZGxG%ZgmslvBHUj>w>tXR`N-u3#$Rxy=UN)`Gl1VN9}yL&-q3y%kXoy!wVciVKrE*{)4^j#KT{puAHK>pb&v2Fk=$}XUDj;p8SOrTEZUb3)-tJw65od15+F5g}(glUo zAY@h)9>E>g-_xWb>f=)4&pGqJ%HSTZ*EU}$V6FB$PJcfMXPkWkCv6v0o}SD$^`|$+ z`)SkrY%$VC%m^C#qC4=X#vW<^Q^d>ZS8+%`A|3$+0I>cqBDU2tu+TI4UmCWt{x20r zDN4mG&>?nR*VNjt!f24@c{)=1@d4ZI0+3iyh*r`_XsWF~-qcWzA<6g!Z{iL;-N zrXuf2o>d@~{4es<3(mHZAvutWB(Zl`?o_ux1t5aWi>VR_Zo0)pAVB>s*&JC#1LWk< zoB={YAVc7bZ6%z zJ9(YKE41-CsnVV&){|0|J5H{;KXWP$1_ip1#6@DWbB*PbEQB@$Ec&6=J$IV|vlZY; zD!x1%-s^{D{8`B@)Kfm26MW{`GjLXnTWw$}M_`|FI8aL)??JF;jAH8W#yXGN6sH@a;It5@14zXWTm26UThBk6Uj|}Sz4qT2O$<}MQUooG zBk!BjKZcoPdmtTZ#4u8%=NXOPU^45dQe9d3Ai}Q7W7H+O{tDy+@CtnEsROR61y)ud zqbKuO%C)#Z{s$=3pZ|-f9PED*wEuS|)c?toLi=xq8aVv7NU53OK&UHd03d@N0Koen zh8x(}8`1o{=f7srq^=RO!GhvFQ!|?nxd$~_=9%MK%U8EWBdc5IB??2;Oa`o;Z>eu6 zmrFJy>HqP}T}T$TC!D;nC1$Lfu*iPU=6NiDt@`GkQ|llW4h`eaFf5m3n|us0SwL$; z@S=y>-;l|DUGQ5&ldu~!>W8ng?s>q+S3mgwnMHCV&)95nOHc@g`V zF8&*U_i&;BgTuhPaEK>7qlUPmG#3{9CQsjuTJ!$owPds8cNcn-!fkGSP zT}l<7j#|`%>p>D;MllyeI-4OA@t{CA+v?Yd4Q>?S$yUAk0iQE2awXnR3&l5q`4J#q zKMBOq+eC@-+KS9uFCsRYawG=^Hr-9{>V$;&79zJ{FzR!x2^)899#{-63l2JwFUE-L z^fi<8@PxManNSpRw>1%Y&xzc`Z436Xxp42|Av=T|H*q$9{BwFl;9UoWb76WcHmoU| zq+XGEdPM)Mjs^I@^K=2mY0RWSLA^GOddIEw#%3oc65_29zo7z^pE8)}%jiDC=*%VI z_L!GjI*p}OTjj*eq`-+1W^|LFT$5Ff@iT!9 zA$eR=fA|ANVo&Fu?J2_5sZVR_Z>lTJ5KwU819sJx>vx0}1}z%DHD@3nsIgtGa%xk%oFNE|951>`hqXdtj2=(!{Ttr>d{R= z5}Ebzq9vLg*7v%aeW|prwmRBesq3ORb%Cj(xp@(a788YJ6A}@|7Qv2mas(6u2)o-5 zibr5E&+(uQd3xLM$aOrC8KfaV7AXc`i&}y5q48}^G7}k=aCceGljz&a?%&IAC#^?% zinzFPo;(b2A<8FofpZ1SyPCuM_u9)Bo=nQGDvLKn0^&)nn0n31oqvNswjd-$qWH>$ zY69*k8C_FHcZOh*fsitfea(;d+JP~U$NGTQcm3!z-d`DznWc1}IFwWVIIef#_=Drr zbwi6B;ZzghD@iNZTkw5*sNL5Vo|d{&27 zO50aaxN12D{p3#{wHH)9gDq`o!^@6C_3NFDLCOhhq?6&;g<;MDJ{~B&_soyQ5ipN0 zUASSKE-6HAj!(*ddIteQDRi(})d3Rlc)qeDGf^k|<~*Qsv+v}AHvVOb18^T8J!)ak@Mkaah~p9ww^CC+aXTX&Yt~$?T1s%PEV$nv2<#ZCIV&Y8*ZU09j@A`@r!?3S+#f}Zs1?3P zXUM5);m`5qdk-tvmq;blP%lgEIsQ&fyK^ZI^+vLjN2>G>{5q+e*KKSg$T0(8FiK?Si{JM{S!q-v=Rks|nsE97W9GBM)wuaYU_(gS02~C_>ZG^P zPy1syQC}v8F9mD3_U-4}8Ky|83eZQ6=?>b=Qy~!u>(ROEX`zSg@TlB_b_@7e43mt3 zCUH}IF%cky7U{vG;)6FYQEWYN|IKxpz5ROj)UrrWfrpz(3N##jzlLWR#at zlJhr|7%HzT>p)>f5wB^s-LLyyjoD@XO!BW$Q;b5{8IGSi``OvOdG%45FUSZJ1POteyRVMtHn75X^4|i^bX+pu@aBoPte*qidc4P5-va{!p&4zME4H)A zqtWyw4|{MB*;*n?hiGIm)-a?%1uz}meLaJFg{*ONTq$d96vy6)cV;Jw{tcx5z($6G zF#cp0I`W&Sdx7!4rxw=keq6i)YDMM_CYOQoRr^8s6Sa_30+ZUMw#m}}z{H;763Xuk z?v2~L(8|qDFN?O82d;DTPf3&jFb6wYq+?ZxB+Sg2%+mZMQdkZ$VK=ksA2IA8eijXW z-+MxeZu!wb-GfFfll7v=b5_!HpzlKQd`qtz@|wJ}oN)5A!_QHl5HPK{)lG?w>9hF@ z)()@BBZ1P|=d05yQNKg-9BTXchARp=NW`S(oU~*@)8`?Wp+EF`AYtt*ZQJK-9~4ex z7;&qUi1UT6=GtfCg3cFod%n*wKhfs1O*ntIdH>RVfR4{heqSEXc;|zu`H7WwhsCJ_ z#)ulEK3D|iz{y~3=v?Z4UyM9$isVfLJGUV6iH4mf3^M41Z+PMl87c2Z_UilhAy5#+ zX0|m%+7J&sBgKy%C2S~V)FyzNb-O~kIHqXyM4j7oZ{*S1CMwe+1XVV`hwb@`UGWZZam27q-;eXhnYUD3F! z_W%96OvTfi9`eusMVk1J76(sjw{=_;;vUK`Y{T-tW0sC+FO{7D4gY@gC@<9Xo?E&@ZUtK!21`;Plx4xI`W z2V)-<7Z}d{#_y*hs}8g{dP)^9CXQae+gX*)q@fPT-yT6^x>tTI<7KUbR-u20pknPZk5m~z08J*?0;MT;iK39YUP77R>(ko2(TK;%>Q$iWs$*885 z>lAGt66?H=IONk?FH}|@61g$;u-2zpnrx*d#t&~Q6UGp37=OrwDj6W3^^WtH`VKJ3 zt&6h7y%++Szi~U&+#ro7aEv%#fPP(0e)rOJL^^Z)0dLzeF43Oe8Ggy2e*Qc9=dsUV z(*7Zxgk&(&*umH9<}{3Jg1zU_?G?Sg2gl7)nbi&h`d$2GF4H~og-l!N9t0a{Nx(1Ca|<|FN9HyJh_d&FxZR1>jM!GrsppI!93NPzN z8{c66c?YcG$wvtNp}5xmJS6|aq1o8U($c}e-pI)MKaS2y<5JN5bclSrPRD;5el;Rm z1W^=vT*u{zX~3q%7Nh;TwpK#a?2dtuib@%JUn9!*Rb>Tul=!z<&~u3^qp;g_swbq1~rnl5)2(N8TB4V6%|jU`<#*PTt1I=qzVa5r>Va+8Xn& zwU9etBhmJW!(x?&kahz8^QU^qm*2pDF189k-WmM=;inu-_5Qc3K#=04eFYxkXHJQ3 zvBS3`4fXn}&^_8S5C>kVBqW_Ly;aGzw_G1n6~<@F#Txg!Q#Nj24>%?`P7Z5E3G~EW zRw+zlz@-Dohls6PWt2HFb+2I4<@dl#F02tahNPPX%uPOR!Dk?C?fxP&*yvo&Trqu- z=JGa-FzW~nyndgBns2<=$fVx=V}?)yC{7X5xGS_-dNdFPF?Qoez-y^mBnKMj@cA&Z zZisB5q50K4-gikh5MM)^qbPIRHy&?M(-<5oz4!T0&_fh&#@C}^nW{ubVfR?;nQR@ z6;HVj?2U!)BdeZZR~@ip?K&1NoICQMTIi~3!(q%)Zxpykl$6>5bYa%n3H!t-a_-WZ z^1oUfJ0s|qu$?hFNMtKp5iQn(vvF*Dvp!kc)%%|i5v z=xO_kTnc{bcCU&1E!q0igFyMWzMx1?oE}%$q=NyejmVy=a7qQWvz+)wCoLNFiyD5N z>XVQ+FVEYFt}Ni>#mN8>r?n2u4AEUE{0ssj9hh=g!b+XcT z_>VQJQXaGZ@r-u8Q$qd`zQ}d7T$#?-bU(o@eD)UDU`?B3%s(Mt61nideFp6#Bz~~6a4b{x@1`5h4p8DOae-0~ z%#mCbh*$7WROU)`9<&TH=eqGLvFX?AIwnbY^QC517td>kvTrYRbKF>qj^Gr_R%DUq z$btdCvNI5uT$Mu{E+?zlQ|(&bWvn)*%$$vd5UWZqidaLho7xh#kN(3Jf_$n%za*al znr0tVXlel^@>yOH=9zt_I* z1%qn4>#tKH`Ih%$QjSaEr2@$J9>>3`EnBh7Rgrgm)Mx_@MD;^Qy22AbjCkDPYjfT+ zN0EOK{L+N{@r6e}uy8ciqenXbu^yqpY2Vfm$800DDu;pAzF;~z^_{5nT|a@qSKy%f z%{(y8=iIJt?V}x&Z+w{^p2Xwumviy*{Yv62SM=PN=l*a-(Oqe;?Iu>NY{>h=i~c$z z%)@cN{Qi-koLw-|>EE>8T{n>7`Pou>QOUz^M9|dhv3yLpfA1zAo1SaSfGU)l&EZ5e zJLCvX7ZtGe9#pYRszeGk4r|MnSEkx&uwieqlWEm_vH z3%M48S3*^OsGarwp@@_BUJdO&SX}F5lgzC~{?^uehyf%m1JK|iL#Z;uGT)u2I50Xin5t^E`3vu-Rpp{<>#*{9}o2zaQL*tM|i_@f3i0(Q~Ml*9NEVsm{X)P ze9Q+9E#%5z;u>e+vw=<(u<@d(Tn23{XP|DW;vpRO;||HgRC|69-3?eA8s zeN6yB#SI96^WTsDe;r@{zktMH*Xa*SJ)Z1sM+PX*Y1}Zakf=j5!g4KVrS7_Q9A`pn ziJ2mcMMwb2GF}%X7iHtE`<>~yZ#rR9)jmuUAXo44r8(mm2C$EcjEv;=2$^_oB_DU2 z=cGPLxO0q^9KW?sp2^^^=Mhc57xPw~ycgqr^&}LVH_9S)Qb67(>2d+lwk?`#&0INT zl5ze()#;Y~sn$6PIds! zczyY>b4!kFc%33)r>=<6^fX!WS@pC_eOO+8H)m7YrmA@5zR-O9JYd818I&*X$d|4+ zOEO7tK=YdWv)1^MC{w-Mbmivd$c8I70dbgy69_yHska~@)e|SZz~e{8a>c4-7tibl ze4a>MA|-z;r7#(Dc4eo3m{2+2WUk7N^IJe)y`SRPL^ukLxWPVN%Hq?G)kZf8z$66~ zn=Zhgy6x5m+UUn@5$~2QbEC0k2$)81)S?0)gtK?1#yD7;L~?T}U|TwH24J>FnA~6Z zmSYis-W`x-NCW+fcXO7*`oJ!D5fpd0H)7a zZ4a^$R!&v^0qV`W8(-6=C{d7*uPw>Qeo0hOe)p%gJ}>y(E{Ji0RK#5W<2C+h_z-DW z;q-61eVpX|0Qk1beJ6v*BVGlKMd<7Sz&GsOO^vX+lh^d<8f8I_8zh#?`sg}=B!~Z$ z3Z@B@?L_|TOkXemamq~K0ErfUj2S! z@yAv9LOyfj#aIjpwj2~N|8&iL2Wg3b6q-_tv+eQ$AFHETaf_+1pWlyzPicEn+%20cnvn(efwvTdUk?ZPU zg5yNTYd)>gK#1=|SLje&x(pAlubKuQZmKjLB(noR%BwoNrk#6%j2cuBH8LX&dX?0d zRUn#HTkIq_y(XfsV~0tw%!HFG6}*M+w(bpJAV@5+Eo9i!$3~s{D1Fr!$@Sg%5m3U5 zC}s3gOrHZk3tfK_S=8^E(VIo@DA;`Lv5kNQvBKF30ERlRDtL04v10x4yErJ66K?HTAVen{(zJ$&`pPD<6NGGxc*rJ0A~5f2vVH7SjTljr zwC5=W4HrX-ZZC3QOToeY+er(FsvyK4KQv4Wu~(hJ@Uja5Z#Em zBo9W~F|G?w1Ku$=w*xZFjljS%B{3x&7|a@NocGy z`pXn{EPBvbA?G$|P(-!Zo`X189;=%NgP?ik#`=dVnB=822kn$x0@XOiOI6mx4?x4oE{>=5rd6u3tUk4I#rAU8t*p?E zH8L4q{^DkchO@?U&zGc?x}{3pEn1kVPKF%T&(*w&&JB1wyNXKs8z;d&BqPhfG=D_K zBrz~pw9soosixujz`p475G_H;`G+bo^*&>x0!S`2anUC4&#w7^|4fXJbe5H*Nt?rm zm6+%J>|@ioCZwV?y79<+e9E*p{|e<8=zFtu95V17KB~ukClS%?{S_oh6cIn)lt!95 z$g|6S^6@nlMK35{tJQGWj0XKDR(fIj@$D4gTj>)R+4xo$!a$niLqMJcVUR+9`#};g zizqls1G(RW!XSd3RKp*D9*uSSD36qLPn%B=51w@zh;x%m19McZR&uj% z=ZH;>Hm`d)7t}oxZhZpmYK{J!h>xdH#c_HHhR+1-0shBa(>K!2E)Np^-vjj-19LG0Ie&Rct|oFsczbn@u|IITopyj$|ME&* z6S>q^8A^1407x_T=MV{5Bn9kW@^?8-~XN;X#BoI z^4?&4kG{uT&OU7;cHo4w@?2xCl_7`_>qLb9G1o*R)Z7geBe$0BXrnhTZt}{#QUN}W zE*o|PUyz)>S@^aww!YZcfD_XR#P~|LUZI5gsx}sI|MuX;vV`f*hUA2V>wY-C4=vM@ z^3i*{0wsD)01j@#msBZ-&aj0-`{x+ko zjr`tCU{H+WiuexD0->J{xsPvA)pguDxdj@GuZLK9{+DQz+<8|8%-eF+@u90)Kq-5U zWDp{zx>S;+n=~1}lQ>Hq7K+l=4dr}C#VOGme)@*&)$(P&ulUxhfop>zoUbC|S17mP zelgqahJetVm0q8zhRhlcC)k13av@a9z|xc-tP&xc81}{LAs>>aP{wCdCY7E&nLldC zkg8P@2Rto;?J}7`n{wVal+)1O$x$`f&P+2fiIO{wJY#?=%9^XmU10L=_+SCbL8Gx%hsuBbqSkhFxu1+q&9$Omq3FVM0J@5i_5mj2^rA0QY;0AWg(YxvCGt*U8i$AO~1E(j4ZR~yDYar zJK(Z^Yad6B(uH`2qm>kT??>P}db0jXW=+U52v8B1E>J587FgO$fEBxaDH!gDEZUlK zz%#mt6GGf{eKrWo$#GaQj1 zZF>csYNe9`d%nyN`_`6FTUv)SHRM)@_=mez559kD!|nqGs>`W{J2hcXubaUW2Zn=g zZS~KdC~uTh9F8x!ScT{%;w)wjK>R@+e@8c#SYO?{j7TrnsIm{b8!4+>%6+_OH`tA-QGjxoe>@$WTBG3NOFLLt&(1R`-g)v{}68k z4=wHXrPvS8e6jy43v4%DZYoUsM8q}UL~6TkwUtAuO~?k0tEocX>e~K`X-2&w<%9$E zRC^^gmHQD1+qb@MlbW6cV$7FgJCE4OFnY>u-Vj&md^C6;GIR!yH3Va9s!(%}yhw+P zX3Vus$;}v^Ep@r>sD0!@DnL89cDPW$B6=dM*<>Gh$y;hm6o5 zJZhy@g=I8Oa07=M#-A0!!b{wJmh$?eyXto;>ufi_5^x#k12TTclkIjsnTFuqQel=3RD24SL=g|h!2I%=My+E`UVPN96oyY1+S+r0dh znl$tn*wo5*^w;vtKejZaQ)cXZK&kM2ZBwPg2fAlffktr;tY8_VsEn{P`=V>sO#Ezz zZ8*8RHoyb=^+i#2DWM=*0>CY1YE399Vj-6e+bYxN6?^;QXs6dg5Ufy~!p9hs-__N~ z<)B$1WH(lS5!a&Qw0kZq_r2Zw+dR=Fp#Vh{WRMDrt8=2{5xT=7miGH|9V!b z`D%MVxNI=#;cq*}lc#VokUQFn==pwgO)<^~Be_-52>bW0uye^E=B&fz9?`q$X9SYl@9ID?*}p2};_CQ)H)_T{1G)uK6F{5*_HSaILT zM;l0Jh)Ig~7pTr7ebz2rzl8OtX*=Z$Cq-BIDN(a$PYN=# z{|+`^7_n!Z$^nb?LR95`2Uh44m!>Epe@ywccxJP9zWJ4#@fPAQyqS9iE^>qv1y~s} z+5F0|855G5_)_q;Hu`qG&lp2eHI+DOBKNtCk_Y9HHd|9LZ@xnW%b_eo1%wgMAb^Z| zeGiHIRoU#HPw0`53>Jx408qfqw;|~o&6=Q6+){AY9sk$>wK>jEbZ+Bp7UrHmh-mja z{CA{ppQjgx56B0c?n9fq1)DD7#q#x7ldE6*?B=j7SrKK#RvCd-Oe58^=Bp|&l{`vD zr_2rtI1Sl@ZYe21bVgthL_}scJ6s`rn&9%hJ!`g*YKBfuh8}mn-ZMgUq+Zf z@6S%Cxv19)=U{czT}YOkK~(UFLxq=O@}1BC?(DkKfM2G#4#dxeUQ*+j$Zki@`XIxF zD`<$G?|=m6U`4mY=lZeiX%N<3xt3xS=tjhpQ4yB$xc zrRZf2@tuhz6Sr?&YbU|8_wMw0WH?qQdX9uf7cC`y7+?r?EH-YicarKeB{){Ttgdgp zIlpY-M5gN8*EcqClR`rH^0i}oIvlXLIWc8Y60oXH*WBhkYOq$epQ9wjci|GabO0@~ z*me5v?h8tc{l<4IFwil7OsG0nF?4Glt=d}3KYlZy5F&!=)_GWBzj*c$OMwN&%Ti(D zDrmGoqcLv7R0O=xiWnGdk~+?2T{kT@Oy_CAdb;y$Mm)LP_WmbkZ2}TPNx6>dYS6PWabv`|W3TPWsW5G9MgMrs(NB7L;!Uneak5VeY=G2oO=>X}zKt$Y& zZ>9hW4&kCrEH-4kKl7GH-god(g^24;i~3j6f?c6a^K--sG`D^FS|DFw%fTb;rCYaH z>XEQQZOluA2b5oARh_>CtPvIQ6Y`9GY+&=At%$lhT@lUDvQhl@rmW2ur#JqvDa(^P z#oOf^*Rn#IMxWSvpP;^WA;WpG2EW`%_V#UI9b~SQ9KaT#=3T3!NH32Pi_xq~CB2I3 zqqbFb*zXs%@h8MSslljiCdQLZCQARNkyawnnjNz`1bw;{SwYw}y}sR1=B&{>WrXpf zC2G+IBA%az`SkU#XjEB_p>1RCXd~DO85*Sy&yLR9Wme{=C3}hHjUBNfdoE7xN6PCX zRzEXNn{w-h^4NEL`tLT?J?$ihKy_LiIcWyufho2cm7%j*F!xphBg?*ZF0vn@Fe8FV z{z`pXeWZ3h>+r?SJcdT{kjWlZjZIeLzO$k4C@3B`hX;kRaE!G=szGjGMOy7*@z$b}fqhl9t#%4Tovcv#GV z40}{%ACHvO8Z<26Eg@4dBX0jdh6VvQ&=`kMS8TDLX0Q_*(+5j4?g~2tH<& zA+sHvc*UHK4327ZJhPNXC@%LjHz2e0i4=Brwh!DLiy{5FgRSc<=D)+dYl52_Gh-kZ2>RyU?&QaGp zF&mWTu@1$hMkGnhWVZ!&XrwmX@1+MvoT-G}y;2<&Hb7$^hiJi1j++{wUX^2_P$IE$ zSo%O{l*1ac<5KECROQlP zsbB!yzH(wUOqQDrNOMcdO{M3w#ng1HU8UdH z`gv|*rH6^yF15x65UNqzy(F^f5=v-;BBaM9@RIeSBymkSo^&x+tNv4di<)$7yE^^> za&j(52HO)B71jLAq{Gbi%oExtRWg3e|`SzbMLRyTm8Q-{<_#W zl4O2{G2*~LN3>%wkiGdnNs>m1mOM@q@JCsRRV3A3#AT1GQZDECuu5C-PyQ+WoQeEe) z9VGrf$BxmcvqSE)iTS5QNB8AA)|M|wa1hUg`tn6xjlIV==)fnqBivg}zDTxUJN=4@ zX=;!*lGB_$XN(z5mR}wE1i^>^PEe3wpmzVD#5xB+jLx}t_Nz{o6p)EpRM2#(Uw46k6QD-RYLO zV8ahj7&}o^9d}mBU`$DI%I^ayQcdGU&I{neLLF&i;8RuRA>O{QR}an!EQrAHsjPgA zAtpy14{lexijvw~9n4a3+8m{(-MRTWB?o!q)NyfBX4j!_J2&ae&G#Y1Xbj8(kOBfF z@~}``3(Nl5qfLYH zJgV#EOl9&>38U(BIJ7A@;j+#r17h!U>FR7MC&~K&gF$xr8>|YNcK{|J)=2o0RszRP z2n~p}rY7Q|6wi-6bxe}AdqDvPfRFVTK6ZbO&e+fkJ#8b;bk8`LunK@X-g@w&Si8Rg ze|5xJ|6Z^~-B~uAHiWauxtx17-exz>TOg~**@?~TkVNFpjBZJsP#6&-_h5PG1k`9) zwj*_@Rg~ST7$8y@S|Jb*oq(M3QB(@4&LgOXbI|SVB=Rvj^A@$H_D7KF%4lDXvQxht z1a;e>P6yHL=s_g&$qaCu2&W;rR{_6&1Wa5lTe>p))^d2MU1K(o;QI6Z_{9h;@2LttvmR2M7$U9bEDpD@xzx{dGe(^I{9*%AI$o_-d_*D{H;IwzW;E2 zqv-ejy{`8;=R0x;l%NED4La9D0L5Iuy-P<0-7Y4F0sPxqe-L!4;UnJXI+scH`7yS+xjgPbHQPbO0%+BA^R=9-6&qW(0 z!a5c2u3D=d#||hhsNG$1V@h3A%#OB6zvl6+dH~!& zR4NgW)m(JY%Su~%P4uMa==Cdk4eD&Asbay{JUcMTj$-YS={tQ|YpB;QA-X>>v+A(z4ZdnDF}hmfKY;}8Lz6O z=(tv0v~4rp#ZK@FRl3u2k~(4IljkcJo;c8>SnE8x-&BAx7)_6w*xfL&!zg@a7x`0#u$HEM(?()rdr`$17wRS`r8`};^!b(Of{mz zbeVLINY4A4(aNO3F0&CLMC#pnYkibrd+WutXn@nIZ*2^c+aZwh*| ze@7#v;+j!53wO*S-GDc0nZLrHkV-HR%#(6abPR*Dg0oXFB_GKvcQ~z~d`^Kdp3nL0 z2ldGUUEzX$nf7kt;e!(8yT$Y$fEj%>K~J0#O|lrC$!Zc5$C0VLx;Sn-5v=KASs(W# zukM&z z0m6pqRAZbzpWe9^110cq5#UJp7pi&46z5U|^^u*yJ;J8GQRbMQvx4%ku--gs8q{^6 zBdNq`W3`~@5fPa^l=oXm5~99pA7_)S0=+_Ovc}(&k>O!rZs+iH zti2@yz_U;q0^aD}SlCgpsCUQNG@oG5C~PQTOly38R|4r;W~ANFZ=M%Ty6+BNZYCAK zwm@s2As@t1X`-Sj$yGL$zq!``AUJ`*s58`XY5;&4x1TfgTA)O+CrG06QAzpxvndgV z$ScA7a>Hq;_Eq$S0?S@bd~Q|-Z}~-C_S8ocQw|846KofWGjb~ON#|^8j~574ZDu0c z0|1rW;#r1?vtBgXHB&rto*_?3p9Od3XoBKAj<0QUkv=elI*<#xz#w9q`CrUd@-X>v za}$vM_Fb7mD|QsyuGgOuPQv+z>3cizk0Ucw&X^rB0_eEaAyp?Cv*Xb#wPPC7izQ3J zfXF9t2T&V+Kf&J^&oMeZF2=_$6Z8(G4$J9t>N;o}1*GyYeu>EycP=BE8PiVkOSqq$ z6i!AEilQ6yNO?PwNw042bQrDRB=OZ3fwLQj`Ps6G%NBME7hTW7aRapbhEqvwBRvRxJy& zll+WBk}q!m<0Fmp?+bot9p{~&{DI#2`RW6e?8M4LMbAtzR6IT} z8|*LsV1L-W`d~E!vD!dgD+(pj`cI}(K%(-29!-mM_CjVmQn?pNj<>u#swaz5%4Y46 z2s#dilg9)?8h+U2JHDQ%OY>}u3jSjX#GWLT{SFLr==FvcScSNY~U@vg4+6;nMn-#3nOd zO7L=$P3;|{HJ(ZQvXu*IneMGyp)#-qFb}$7SzHVv-M^aU(<(bU^1@C+AaG>U_11?< zB3}~+zfdu9e7_gGE@XD4z+;D9lx*1vj5W61u|mNCBxT#HiN?rCA0A%HNt0ZR#+vQw16oZ^_k_#tYycX9!1x&bJfBS}1 zl>jgC2E`fY4dxH9Pk0qmWP=!*hirv<^+YAWMT@0+^+;#zG-92el^4`5nFtv^rEa3a zi9S?s7Zg8gVpR$FTbANsQ4LrvsXTN=N_LaSa@)ef* z`*xcReOq6wKO`aT7Up;#50cFl8XkHLdmT8Kx|0}ydtWuYoe>137~HzdqV%-Uh8wq; zdv%N$?n$?BtKkAr=XVUZpsUFBm1B%v?$VAZO~}MtOD3$)&g!C5>Tk;#aPwnJ`<=YZ zZSCpOX1npxBs5mG7pn9xDJmLkKqMr>3*=QMe~Lt>351OMfN`>&qbeL%w?|< zi>jz|x^ok#GDbGqe8&n@O#k(UQIA@05gHfB4MAg;N#m?CeRwOiPTymZ%=BS6R0ZAe zujdq_L(&X|RGCOEj^Oq>r^r_-tFt=0P68&X8*$Owz&X zO}c7o4{`K`nAI&#K+#4cfGg@D68f}nw;kz?93Lt+qhW4pb3?L8fsJ9iHqWgpO=*HC z@RhPcQX;$Ly-Dc(J{dkp-t$T*EAM-E9<^H`-5gn9Hk`cA>WyBT751lL^Ug;`InBWzVg=HlQ^0L z!?LGS_as!2SmF$g#6I(2;^_v^Uen`k#e*IsZtem1h%+<9GXvxM1r?V)m~y~zsn}#+ z#5U{VK}}gB+jh8aZKbXM@=%kk40F9NDO)@R6RPCMyh$m0)r`E$FnSU;tHua1bw$bK zEH~)J0CiQexXgekCc4SkOy2kp*;J&93XwPk&(H(v_x3yAwtOq`zMDrPGe=9zahWl9P=x@?+D~!{zp#xykWC^x#5wUXc0eaI?zbB{NToz+ z;3&t0gCgSYSvs)j>=$)K5;+H~VQicwCEkJPtdrV8y;h)v!4k0*(`zPRG<3lpL99y) zOGIT#^W{!)4kvV+-Zdjl+mn^5j*NcAGQRmr0x*`9i z#jn7S>f-&*jw?cjFwi29I>LPIbP$jto;;rd^~=Vn7@iQgOy5N4+{f%4UwE69*a7N3 zYNUC3-bnU1U4pxIsDZ(Nm*8wjBoW7L+&LZrRG$yHgg7{-;)?Vk#sNh(q&Jd*^GPb6 z;ya;zA9S%g*mD0X5mX?LGa$$HF-!p@WtXCU#TRk-)+dKu7i_tMi(Z`=8}Ieq!py5V z+)#L`v_N=Q7~f!?I#JMcdgpk}UX{Bk(-Nlg_?{VmbBx1L@bvYsy80zr)oyL8P^Ne) z*A*14K8`7!$qn&@f;*t~|B8h)xy7_vX;Z5cWnoOBLf^OjPE7hY=56+%w|%1xWkVCy z*mtA|W~?yyzU6vtS|}ah+_zb9+Jzk_yB!asJ=n5tr?KxgPE^#XEPZ@1XH2+3YnJ8T(X)jmtVzR5)8~qry1%d z^a$-_8i?K+g@`G-2mGS@cg+)a36~Wsg3cNL9-Y&5Hg^NihjIXPZD@g6uRq=L~)M?6nD+gv6)#PTYIfn||cfjWWF4|mc=?>$L zg@Q@6DdF$I;ZF+(#Pjbp5&;;_<x2dQqGU-bI1{cFc7EAX3M|9^g8tImw*Z7dwT$w($~cbbzT;%Z_BcVm`X z?lR9r(JnySEu^%J!3Hv-s-tK%pHCGB&tLfox0F?hdOZEH=H|JGdUUJ!4E`)T`@?Mo z-n{S&74x^awDwJgIT0G~CEuv<`NEUnsdKZ50}^0xD+~hd^a|1=zl!?j9l)bQf|~ znn_u8TJOrmRc7_LY?^X*rBQbF5GilEa1qk%q_yLKQPX=)uj;*Ua~aTt7^$`i6#6x5 zjz{p^+ZtF5*+|q`V4=H__-BF{fo|;k#6em+4qG6Uh#pa{BCffis<311xTx{YU8a*{ zTXsWT5k#j-?6A0vV$CXWa=73~G6pa%`3QPRKj;-F*#1?{57tTR9==% zUnX_N4(q4KCGe-GWi_27GsG11%jU$2OAw;-Y)qF+f_Pg0-~adjpqo2c9M`NpOPm1a z#Ic7GG1dO5lRQi`2clkV%R)SQ*q2*BLWy5IIn5xGZbA&eWh)FyMM?_R!opjl`>~ec zTbtHsA1m1*zai@As?KJ{4`#UDE_Uw*a+n{Het}%XkoTecS)}sA^UArVo|W0z?RczA zYm7ptuLs@T6?l4tnrt>ZyG}oGKrkPr!C|04PICa8tIc1|J20M@L0z2zv|A$N1ph}^ zy(qisxFn(j;Xq#{Zn7_xe3^KdU4xd4v*M|H$9tX=0$af5DlWyQ6Lt7>-!*~UT6IzM zAvf^wr`bv(DZ+>$qvga7N3&4gYxiNXVwoom^2~kh(yE5|c2USLW zSiD!+Ifit5Ye&n#;}1D=^}%>&0)vd+Nane21mgfy{|Exqu2L*b6PxdLO&cC z{qK5?sB2GzYGX7$E~XQBDc^N^LYN4Un2SWZqTVOsZWX#(vA)N7WhT4TshrvI%uSdy zA#@jMQ`rc&U-4FOx1LvDyQfs#M=IjOw`TQ#+G#f$EgE-Vx`+Wo8q{N9c`DW*@c*At z3_*`W5BgVStGEND48269Bz7Ei4%@{9?KxXdd((wsX|B-Qy4PB?D=RpMi*=wp=4Tzh6hp!L^01#KDjC?wR5b@7)b0w+G7kwXZncxMm7R{omVWd z!*OhQlR43t{|(c|L>^HjjR!`uE6{&nPMsz28mpWdHpV1Qwu_pwGf_qno5L%c)7zKx z@ZIZWe7}Fv1MYq4ucb$E-)On z4bem|p1rD%H)bw+smig5HXXYJ4cK88J7awW%+&f>$vlEF&K`H1IAwZ976)+f zDFxMHnA~%wd*cRxhJoha|N*DpPrjj6ZIe z)V3{(84}s-1VuRDP=)2WW!n7ZsM?GiLb1PjlAUD5l={K6L2@(M)Lv^INfe9g>qX<1 zQZFn}@KvF2txX%?q}~ut5DdT-tfD$Nk%~)P)@nEYWVIfyFPbf&^tUSw(;IH&hVu@r zRh~Kph|6`scfsV|deOpu-Ki~b+@|vT76&(*;k@LtUt#fgsJj^yQ4uRhz{1)=y5Br4 zJ^6L%M((@*iC#1JJzR*;OQX99I$6O#&aGgzw2@H>O>OI_R?yrUTnlh4KO1Adg0FKA zaqx-{;{OR&aA7Vik7A+A9(2$w;qGtZGx7Ac_~PJ4zkeyA<58?eqP`NfH5gpcln`j! zV!SH^GXiak_NC|=HC9|E4KG%cyTVNnI=Csk_X+MNZ2?1RX<;b$&~6}f|&2C_?B}sCK%*8P9E+}kiG*4rryUPx_U6-4xyc-91n?A9Gbi~ zJbxymZu4?hVDZ$LUUu|7=#CX8XxUdocWMpPEkV{=t4nm-9(+|CC7v=WW&2*}P2c8q z-lVa6k%a|>e)6rzk>o8JajbY=^4&5xa1CkBeiU4aG{y_H73GrG>#@lzZ(iaTU!#uy z4xsOk;*DyE^Rq@T1eJ zClx-p=wd>vD5%P=65V|Q!$k{OaQ{Yv7p!bs*W})OmIvfS(6PC%+|WwWKEc` zRxgJw!5oWfD#)kYxiZ*U5L@d<*9I}oNs{B*$Wedz*FRpoU1iu*knT0G<0siaJ1DE> zlF_%JM9Zk1=Zp4jpwzhKJhxPQ&=H%eF=a$!_H_H*J8Z()SYt%Wom|+4o|MaiSRqp? zd~0z9g}%NFpbu2SCJS1Dg;$>4>gc!*GjencgejUdX`XXrDeg*>K&Tj-L?R-ucYGzV z&-G$qBaYM9B*U;_K>!@pk&L?z`C#Mw#l2+QE4kvq1!n|lz$Q4CtgJdj{>krZq zw5m$ju+<3T<0yKMi^&8ND2Z|=&Q-8r9pUWC#m>)MWA7X`SU+n`HFKMD7m+U(2*w*fO<(S_JQj3ztDq#Q42q_8C>^%?5{=z2ZJ zxq`|g8O1$;Yt(jP-3|$@$+uLQ?!q{kv8j@MoVtZDdA&-kAm&>P?T2(!kzz{wkVTubB zR?B5IzE&hO)e!{hvLl20cCb*rb6H^;uKFbO<#?^I5Pb8Qh(B4Jd658|?N@mQN6AOZ z9i%Gb)oE@HDRk&jX+0?m6D|X-9Y>XqJo*d&KhKdH%c^sm{pb`MJujCD!<+7jMl2`} zmJMgwGPj!$G0|kgsOW7kD)(A8KTkenCmGPBV$oo-LG+SKp6u?@l~;?!w8$qTNrY&E zPMG4Ec9&JzkSF;`G0xu7*Y{>e7iF|vhS4zH!yMaWCZV^ve(m~NZ?8zd6Kn=^-GEw*P+D_39yM$L#^M`mQ1 zu9N8$`fV<~-h;m)>QxAY_!T}{p@Zan;!!)K{BD(ld(|2=H)S<;TWd5|fMFdFi#5q~ zM)he`UYFC8oWMy&fn8`wD{#o)ZJq(G%%;kUCSUnpJfhilme@n0&`~y?sjj>3*Th{hk>+3SDkP-F}?{=!Ro@d5}VvRfb8x zXtRi$c_ul?&Czvi!`4eQHt}X6ek9R^fTBv|PB@;R^E9v#k9RgV^;34%!z)z=?wW5T zTR-CRv;&Mri2b%|buQ6=cw%Bi0CcPetwN+@QbV$5R8zPm@R@G9McpcAFVLSk28EDG zQVjoPm??z58ao$}x|o|7mdb;;7N;&#-416h7%B)uwY8bDqY|Z~5kd7Rt?D4h4HHj! z9f`H=42x3TNYqtfGM*G+k`*NTA|%{M6ux$bWQa(#drKV^MCIqB-_08aoaTg7#xnw* zFGRY`MB$~r@i>;k=7SNqXJ+PQs&ShRqn5qKqk*g6OK@(O@x>D|T6lGiBp!qNy=|O3 z3gTtF@kWAzeJp0qi4CY)2|Liwbc<<0#@%Z~L0XkOwRRo;N?jo@)hpE2%1I#BxxCM9 zt*kM=iAhNvO(-0vNkmhOSxHljTD}=mGGk~5JH*y?jBfgV{3|6(b*#?lnHn;cyo@`E z_{HOB7E@^;uI3Xo4pT0qcM)vxB|0G~zBK*4Q5g-8>1h015JWio^w66uskXTd zJRdJBy6vx=7UT2&4Ii!O{!?rRuLYw6qw^M2bx&APzoq-#cTiash(N1^241cz_F(rm zx8kG%hm3xfMOWI?0!I-9YK;EmL&0K&tSy>I*&UQ^HU;1y05p`Pmdl z^Rhym^BHKH@5i|97~e^@e+B8s zQ#dk*R3dFFqMZ)YU*O;3%uP{#;SYs0MgpDN-5>FvgZRV*jPqjJGvWY2n@qeEFRR!& zUIP$jlxCY!>Ush~D5*IaUwFy`Ie>@qflfD_97aQEfG^wTt9RuJ6Mo_FSDiCfsg>lE z`PDV%%nPX}{X*y1kWbr@8MYxKi}kIv!1Uc3OQmhjE*V$9qM5kc4ged%rASO%fRh}# zx}8&>m50e#c_EZlLKkG>@8IUbt2v}-n-kwL_wpH?-sE+P_X*SaS+nU$b#7|eq$-zeYcz=Z|lF6ph`D3vI9V}?SpAH|LCkt7sU-n=eT6j{i5=sTv_ zoNqKbE~gXVM4>^}EyDp?qJ@B3`A9aTQtt0vPzDNRf`& zj~v?WO>TBx%y5(1#!i6%`M5kYwaL?7=R6EUjl>*|`XV65h9!gy)N|_JbeIF2|5%52G)jUG7 z-U}qC_C;|o*0XS-GfH_CAvt4r+2O&o9Dj`J#X6kD0t}}NX&C~en3Id-fXFoGM8oJx z#71~Rk7@@o*2%TqBIFMFgp$oVjjnGS0FBs*O`?@uH|Z6MG1!4&F+D7%0QMB62qa-J z!$no1WAj99UM>(UxMwrqQdgY^0?74WPB{7 zS>Kn244ji-OGkYKrGz78BoiQGx)n20Cnul+)Ok^D-2s;-yny)~whY$X*)l9d`twLCNsyw0DJ$HugiI@0u7-8g@ zAMfGW8eF>O$Nt5Uyen|7Gow`;7`Add7>)VS8JI^zu&lOX~E03L4M{o>V zEHfQ$*nnUjG;`RlW&r(=C2dtA@!3YHYACm6LK%|c69nNUm+@pkT=GLyYG`!}Mv<2bC*hAQ zPa0&r?icyFg93M6h0+$|Z{)|X7GP#PrF}yutF;9+++p0x+ z(Gy$Be9?+wFA|z6IHV~q1fhZDU%gHL6{{}Xm#l^3Zr$Dl@VVpA_81wR?nSU4x`4c| zfRI3U>naXyw@#^8@22G&KHiU{$x>aPFg)PfJqET9&cM*lxEJV~3FH=}YKk*E>)z-C z;IJ^->i}2=lE8ZzT@GC*&n6h;-IQg2TQ`2(G>dwBW8+|X^r@Imv(c>Nzh!l_feijX z;mc@zR6HyuJ3syK^WCkVugPLvneH$R{l}OrP%^iQB% zwR`^daw657H3}MuZcmr05P7z@qB!mK!&?|##EOqv6!82URw5ojJRuIz<^q=84=?Gy zpWF`}tlV7yQ}FOymb|#e_?>n2IN3O1DAGu*&og%(C{~Knnl~H+;#5x?>tM2YeH!bnTKZ*vV^M|K{if0=Hhi zP|(ZKNOK5ZtBm3L2-UYK@^A`9Hj(K>#(Lfz8Qhn$0PJt>|0Vwi%2)4!B(` z!(-RX)#k>CrJnUv)TrOkxUEw$zQY6z;@%XOZbt9hltLZNIm~EffRmyoG3}6I0Zy1% zI5C)F-+T06Mc`d_$tX=~WNyKh*KrbT{M;d?^q;DTf8g?9GTX>~BTI0WlEI?o18XK{yRCEbYg5+o;&8 zvQr(J*C=YNFO#x_z2#ycPib|jljMLqkn9H$j<@*)hS3^@Aaa!Ws2jak#BGPJp&eM# zevPYH{X(&8HyjmNm+xC}-`hyimzm+>G!ps(wpuqP1|b$CXtaQAxlU4!{{ zU5C^12BU%JS+Tv*^}DUQN(ulh0w}jP(&o6Z`UWu*pmDP}vj@DvG(MQ&4*% z#yf6+(%v}?UfZp$?y=r>zgsZob_X(>O2ZEYCg-2!+@$?eD<{ODt6x9tADa(6<;Rc{ z)z|{}y#lvF-7ojOXX@LR7%Wtly4SLhL4CA9EOcQ-4IR|8$Ge2#iHOCIbN!(F8K>~8r`s1SP<^KQL6?j`I zxVLFkZ7~8Ers9UpQU0s>B=5>t#gloelW^r{Me}?)opScu(4f##(2u?rh($h*r}@Fh zqIq^n|g4|iM%SykH%uhy%uwfJv%Mn9L08dTqa$pJPVTWdL$jTiEZqe>igUIoUY3A z5yw*=ted=$p6I}dHyN*}MK^jgP<^rv91Hg7BAz6$s)y^q5$zwAvxSXS_0JSCaJ>V< zV{Slx1)Px)vs~{QN-%<0z}M01>u?2qUO5xGI-lej?_R>udd_3F_6bK5p5V@1dG}o> zv6eHNrnMuf`+%YvNaUdTg+R(ECDwq-NHt5T|C-zI4?HyP7;l3kbr+EEd zFwz|F!%fXj8NT4mFh#k%&H<&>X7~ZO{WX??TfeNRC7m$?vFUSD_3M! z$SYS;7zR;YR+~R%nGRkQw$yo>gks^UcTuh4w7&q27>U>zJrPoDmM7OyC z*ACcKUV5Vp&vqXL!W-(ad$K>sn9e9FH zFo^rfCgN>4xJXv*mNKk+Upd$I zaYi`yNN(_M=kkDS4gs~fGCGh9h~Bn8u_ zdW;-pZl<70tjp{T21IF}l@aat>KOR$7|MiKMfK9>Dk+7p0NMRmEO?9vah>MIACB@h z(T$^FQvDtk6YFkLkfCzTev9XYHQ$9|$-=|;^3#P``S9#S=PrnqDeB+(&{!#oS{>20 zO8nx(@FMw_lWEBNvYMh7C_$9^0@e`Zow_aLK!D;=2nZDfF|o7vb{ZS;_3|yMa-2_= zmFq!ASyI>$fjmxzuvb!R_}6zkH_aG5zP;N^K-(Ss52Ri2Um9gk;LDJ@400ZI&-c~bfdN6SywB}i?hdICg!vA~ zQqZCl7IqZ-?(ztFH-Ce*pQz=i1qfn(oiVmeY?XGWi*n)I^VWJJoFWWf)&(qO{bGlD zWT|x$LkE>v9Z9f(_I^5XmJ7K%WPogN)3zyL4p%qysLOgF{R?ESTzxPK00-z{TsDE* zF(21@G9Xp@wsu`ouJh+>6JYELa&mcfomh>-tA>e*mXCV(x(=+a#-Ym%HSns6co3@N zvCEGjQcHXAN&-$sb=4f&)TIW8?dkd>KFP1zK2cs&pHuCKMjqVUX&&Ww*^sg}_Y7n2#-IcP&XrOEJXOZ^!cs zv|pp7dKN+n+ebWgDN%)W%)@9)p4p%0?m6h;U58IcROb`M?nb3o0;Fa5<#GFl@Bc>7#1XrvL95krl3K0{L)Y7)?a>udCsiX+Ovi_&|FtzZzXD~IA-^jy}50o z;#J+L$ac+tNJZPZ|MgEdJeu1L)oQX#kL=Hbg!7$?FUVsWyXtxL3mI9@F3rPWrDx8e z7h#pG2;`~W^lA$Ilfw?YR3CaS|E|kBi>$RdT5RgI)17sl0KSDrvbvj`yz+SsZ4Kev z7&252vdRH6wDmVjTrq%kI4`+q8v4G3mxoZI7A-<^V4-H)S(;p(lyIY}zN8;>jH>e; zj*yaM)e)lfBfL0~a;22WZlb*y0EwgOK?yPefT+49&WiX=BL^Q$oVIhFF$jqKcDqHx zQstkV1%{U7+Tt)r%Q;yX=v(W`sv$rp!4d2pf6Yj^ig57h>$8ZPTi1}ACaDeU3DIXYn`4QTf$YQeq*1_LRrv^ zr4^q&)gYTH;^xvTCpGC#u;ONL9CzGVal@J43YVtvrBlu#DYvLqlAAcmH$>JFNlV?P z@n1_)Mn4;gpLV1Z$L$zo)>qdvmbC;~{en!f8g-=b9aZOJ{6~k<-rXI9`C?n>gqSyc z%u&YeJv7P;g@I=|Z}u?>FU~#iDKfoZ)(*Qk=yn*L(UsKIDt0u0G6&X&17so0(}TqI zjhvR{f{j3A0o@Uf_Lud5>b@)Yp#5hZN2{Tnm~`puN@&H&P}#7kh*y12Q56s>PWe)L zP1W3MW!IyswCF5RR^NA(V-!#1V!n6XLcA$GD6ct{uNJm8Casa6Ggq!tI(hZQxuMXE z#@k(iUu093$R#;P(k1I_hC7IZ#Jd4f?kAhfojGomUmq4iqlsFWjnJKQz0JdcB>{HB z7+9AjS0?y6D>q-q$)IA>*=lDWHz4(w@;rlvp7=?ST2HpDB9F9Goz$3nMhysm0%1yB z4?){_=wH;Hw994Ws?lOuANNu<+lWq=+<$$rN(9UpHWDg zk8O?pxe~K`EX|$&Tj{6y zZVpXM>L+;cP~)4CGr|Hfo=c5DZ}DtxttY7ll5dvenas+I^E%qID6HGl>?aB$!71^; ze;{}3`y7!^(OEuTqSFoP1ZMDNq^jte&(1QmRMwbsbBT$zx4i;*kJKt!4qLpX$OwJq z-<7>&D_Nm&ZzX9^2EZ4`AXLb}H|5U~G`}l~d{`u&YsIK{F%}CD{r3j30PU$P8 z8Oz|gQ%sCvK2nOnqoJ{tO~(C}J1L7$fR=$AVE4{38D&X^bWz&_XC}AslsoB$*ztc%aTAzIu0TxCJ|Cphh^I&HY!o{E4@ z)%l0JiXk-_%4}5Ps}4RqGxF!bdXnn?J^X8OH4T9VqV|)wQHuWY0%*z6`W`S17jpHu zq#}JIWu<(=!Ni$=Gcr)EI3y+at}uQiAcqia(oqvN|6U~rZnD(SpvnKz+}3sPw@a8O z3ggePu-)>@HgV9@?2xo^qWp#yI;_U^^B?3NvJaGIvmpt*V2ofoA^CGPmG5on1v!VZ zynM(LuX|;733cT9fJX?&9N8fq*g9{?ecrAcl41acd)TUPM%Kq+(en%Ft6czSX~lBa zU4?BIDhYw8+y02_bAtF#o)|A6iGP>E;GDO&kmeEgG3wM(So+cQQWkdNiGZ<E^bJYZ_K-h$Dl|r=XH1W*a}8>?#Fux^ z_=|F*PI2RJ%c2nYdTMuYWGfyltKe)_k9%Ex)^lEZoTyw`rtS1|V=u2ZL_*`hQk6B$ zqfhhLG)rX<7mksB&?7_kN3MxxA&_#7_vOnwC&7AvUX=Wl0S~OCE;!3>{(4ZDlYbE3 ze2H9is6kNHO=))DY<387F8sj*<2J)^^M<6qs}PK#)jpoel)pigjBE*UuYBoGE=9Oz zph}cS?>*PLm0K(nrAi3!A^Wi83!h}C9 zFPLVW&02cZWqV>?9WyB?MXJe-M-wR&1$bd*DgG>@Cp<2;^T+sYYd zk>Jj7^qzmtdxF8HU?A`|ThS0H*OiLbomrV>ut)y+Z5OSxt6oUjAS5}D=B4u%A?0ckTMbfPBTa)&rH;1JK%d3=9RRZJv zg;m@_orc)G_TjP?e;j27Z4KLcddGo|c$u6ilWD=LqoQ^W307Qz3bGukhY@~sm5KW4 z_*IJuol=?p1AuIFthR_rly0k|3LwKhr9XU!hmP@3dL@;*0Lylz^-%kO8v$kdS&DYur6_DX^^4`BjPc3`5!YloiBK zmzJ!55A3)PJ%!f9C?fn)u@txSf@|Trggubt(ZZgTed%wuuZ4?ms8MZr*oK?c?H6Ba z2Vwgm*OvMxRdIx#QTK)0w5A;QjFukbEP2_jD1RRC^Ht!Hc0t-yKH;jay*IjI5k_=3 zx7{Nn@Q}%%1(Hk(cE@r^=!A^}0C&H_vf@T#)A6uBEu-^=Q5VQ+c{ChV@T<;d%Z*}b zTU&`ARyQr`AX3lpMS2nGyJC8){_JT14GEExR;aNzH}qe$2dYJ32`e~gE&I8JYF2HPDGkBZaK4D%4)Ci$!iO0^0EC!Ay0 zPdiiN8J+4!IZ}-FAxrzZP-q4Ep#kDlBYHYHU-E7G_tr!Zidd_&ml)J5h1pGJ83oDxQSZe zlogA!UT;RQwCJ|85+~Z$*euOM*i!Q{i>6ns248{iR*zAHd!=Cu?nrTk&^Fmu)b3Rd z+RzC_%-WYmr5^@znbmR?rMjb`6}EDDF+hd1Dwt9B~lQU~l6M(QJ{LrGTz6?V(3w&EV)QJ;vDAqu-7SmP>D%gU(%wt z{BcGT`LT(d*dFhLC908XsXm~NF28yUk6KF-)lKlV3IhhnNJ$r1znUpY}*N2i7%%dYxx4LK53d&7}^2bDazEzY|+x4cONXbyL zWridSQoppS5Y4o(Sxs8DJlr!tDv8v7hsww!_q7Bbzdssh!z2901Kw&2E<#bOP{;5{ zhpU(C%fnUs+u!~@Kc2tOw_7LS+4T9dL_IybB+S(vDl(n+7oz6(g^gB{4U;3}{%m5I z`iw6`)5=nt3@^oUC?tJIC<8$34uEy%rW;a?m8}YqVy+#O{F<6QrZePhtjjL7I`+e? zmGat8Z#Cs?C|8y{W}MrBJrF{;!uJ^i76zRHe$j~D4LFCJjr2uc2aY7?XAAra*>x2s zz|WT!DA0fyxZ3Nn+cLtLu48?;qT?MJQ_s|U*s$zD6cFPQ9z*2g?+*{((<>|OTg~!+ zf5OYjeIB81sLEe2DY9f2g!h#h_)v*>EZEMTI$7_uV&t=O)v8xOU}MbiGW$*8$2&r` zDw@IVeVkA>jiPdleR|_Jz0rF$?KiVoxzN9w#oRGjxMF)P&+Pm+d#@&2O&4wp{#q7u zUrDs?wk&44rmx-bE(1%tuY#H)yry+{I+5i5@GE#%{N;K9!=M9DZGSiwB02}0VV~Y- zwQ4`nLQlcMjU+#3*}Ulnp$GAJGeZ{eS(cGM08x)t}8s0MT|Tb4y0^-cKJl5$XuU)Ma+72(J#JZo6|h6x+{$+6q>jl(J7}o@5l8 zWYjBRSa_O++FwqbP1T@T15O(Wmc3>hDXZ$mlTAIiJP!ps*VhdAvSBT-`ZBGoXEE@K zN_dyPgq+4TyiuwvUWrS{?NBDsw$4XC@oDBvo|nMi?g7lMoXymCG}W-~QoBlmG-sTN zw=&mN3g>~LMT?rC;*=5983XlguIximDD9ge#rxWQ=O$64Z?P?`GEu*vG?J9-1cYlO zZ(CmAj?y3`XXY4lzqqkE_pMGa*5cb7FjhM)BU+ZSYl%@?tqHnEE=#&D1TPSnAg8pA zQo?Ne1*nl+xR^b$da*Ee`Y5Fcb@AE~+57E1*ZWy zd#1_rFvG#t^sy4(qSV2@N#%Hc;QMtVMLBnD4BA6@W7lioF|cl|=B~=7Pi73B0HE%cqf|fiAs?gds$B=y zn8d)7dN5f7N&DJ93}oZ@7jdF(l8wDM`|W$%YTkU_`KE$e-EcwfI*Y>7^^JpmMSeH5Fsbc6Y9AUYr_Il}> zi}#mqQ0tAw&b%EZt6u5s3cs(p=aU#kN%2!u+NPpe{=wIv3``&@!9(OFrTfYT)AM}I z_{BNs)n>DOWH0guZ#W(vqv-Y)==M3ll-7yxIgN>8dMNQTEMNm`boY1r3J>?S1_rv}us)_qcCbt|~GHw0CACTBrGo8(YJzC$> zO-9|+Nj|!aJ(Zkt=Ce!oZrS{~Oknx$L)5)%0;NxOX`h%P(Js1wm$n%l7tT1*2L0zX z1_DHgJyO(!2$j?pIw7+CV?kg(6bfTRDdywCz7og%4ytXnYS>TwnZ^8NvbiW(77kj-9NnL(X^f1y{|pD zuwqhRwy2Cmfk4a(@B?6DyIRs+77{~9FgM<$x&O(g)o$IHCecVT?c8&j%Yl=J)!H1w)K2pReltui z>f5>{8j8`X4JgXATQL2O2~w}^ljsLYZ?hE&&N>f@ z;{ksfj05BcK@I&3xyJ$Bm!K^eave$prX*6+C$TbydmeZ%6$$LR4#febBpz7RG6mbY5tR4@n4c_ODGW?h}8>yixAeH)FNW%^^z8@OQ z3(im5kcEoCo`v3|<=MLcKBbEWQQ54*at2-1KagcTb#qk(A}__v@r zLa%=})%Yy0q-_Vv#M<#rY3ODX^69FDB7r?$V{3b9_qx$med~{k3-$%c2emdNWGE%B z6^--{pc^3s8+sXjw?SPXVUU#yqiwk?Wh~UW)}EE&GPq1Hpg%tRp{peg=S!x$ShbBB zEx{B%KJqYfS9$%gTh|oZ%+{*9SI&yycyq3<*O?K&jlq}r(Jz>az74E-o>@$Q>;W;3SARXvTvLqzz#kvF{S zSop(6`Cfr(C4xcUeWXD~LYI{^*H-VrPeG`?Op0r+DDbGw=5q=cADU}{kkq*YDh=H2 zF~{SVUW|-Lt#o5DoxySvYR%J7pGt5vI)t@w*#D=a#kiqd1`D~n*4!#M(_=h-Ym)(# zBDy%iMv5yVbA|Rc3s@W0s0tb)(BuXF1SX|8bqveC*rgHS@zpy45XYumf_o@3DJk?@ zE@a;pQ-S@inRbp$g&~0nV}^AzDab9*Mq$h_WWuUq0!n{hoahn6Ur%JDfIv>o25b6m zkxAIFCm%Coq5SEuZ#l!_Bt!PH3aOei+aJ!1D;9T+D06G!@LHFvJZn!|BR#p9b zpF&S7+JUBwVUE`FuZ9CycMni92pL*U0o;064cO>(qX%>q(odAEt8Z5uB1sXa`tk(u z)opea6?M8DPF72|C|YD%Ou0^sB02+3PC+gV+3#h0TUiM9;nlrEfUR#gOLcfPRqm`o zN?Y-hnLd@tY5-qL;{3pd@wSZds^mBv5BH>`hPh2&%}<{UIsteEX|GngE3)@)R^wU3 z-z9r>S8Wr!R@NR8vQ~8O%~#2N4y-jGL?O(=i{&ANO@_Dq&X%eA0v@yc=7)30{m(+K zl33OAdv68(L~M!s@@zL*_w$U~1>PNOjjHx8+Ik1E^&b56y#u^H3%%gZCbXlC(zZl~ zYqcfDZW#4jQ-kN_i}Kth`R=mt+3Or%+8Sy14k+V-3`jPFT~~v+^DeNAlBX=zRdY3t)jZtdtWlhTbI%uCw5&kCV?k3GpC=cX-Jk%vVw6?lf*nOkO&ucOsGzW!1_89+s zwCbEK*>5{Y6a_~}3$oJXz~WZuoKC?DBlZPzuwXijv-~N4dF(KvIz#oNn_gM-0RSz{ z1D=n-*(IMoVenkYXw-c|7lK3LiyF5JQm~*-tai2ubpA3mkcrl}{wgU4_0*h>G_o8- zMq*z!NpN@#{Q)6lWqFAR5P5yo3#(G2@|y?HU6O7A-{nPtyap)wDGmA|y9fkO{n+sb zMvl8Jhd*#Ydt7j#9%>ljqC9Sne6l>0VQDKX>c%Y$BKd23ipu-|(K%O~UsuRF3Ey32 z>iRr_{J#X-Uf^2pzd%eF+=NzgFO5MJP}qo%@mFD81fXo2<`PV3_apK+!9&`W4*|e` zx|y^a^xd!ryZ0sLlwFQrb7-rSa`I`Lp)|xjT&T`#I6;FUQdBjhIjjw0Ajk)Ja2{Ox z+FGbWL~=RIN1^@l88Ew@7syP|(1JN6GvIhRHLO374|@h+L8uB=1bhRf+L|92EgXZCP>(o2sqRUJhi2smiVnkq3~ z$33{Y+XKOZ#w#0qL&&}x+<>)ge*qswqqc{4tyVZ7BT8E7O=o~@A*LBv5s#Z$S$h}T zYKKr{h;~UtBu6_?7nVFB=~&MOq6kNgjPR3)FM@I!9xbX90=HO4uAR{(Uav2XzQVAX zsQW{Zg`pu2BP%S1%C%d&yJ$4^@{&5owdo)MFB!vxiKh=doaS_m8-)?``#BlGy%c#f zJ8RMAR6_^4cwvo{csK%g3=ufAf9O;TKzNvi{!M6|ESp#1kgsT4U80oVqDAE-OvrDa zca{we5JdQ}S_}Afj=JZi#j2h22kWEuWC0+Z@0XwD0H*xX!c{MM;;a!P@hHkAnByqI z;&~+7+9$hP>lwho8N_;O*)8?-lX#{CE)aJyrpz{tbv=w1gSP1d1A`Xe0EHLn12c!q zxR1n#ykj>v9j@C~T0k#JRG`KavCOk=It35SqWCch`(a7DIfll{k{7yKR7O_%12|F3 zgJL59!X)z+c{NSGfUa)Ewn9NPKErWDflN?3ytHbk?4o#92n77wM^+ z0Wuk|+in`_5-TKsFPggR2s3cySCkwqj>`<_b07*Tb@MqeDHuzkGIMb);6TvYxhv74 zB28ibHKVbgr5K^3F&CPqB;pMQngV|O0UbzdX!G7vs@)POPkGSUjgFggdW*im z)f(@0uC!S}WOK>Qcz@=F0r1fU`qHOdXuZlb`3fqv4!gIV7d7l({NGR?=HHVaO(}rj6f5E$7 zHlxp*e?pl2YM)LknBbr-AG8^HzLhRQ{M&ZNWS1OrO7L;m@Tvd(PsqhRcbe7hGduh5 zs4n8|C<|ublf-RLnwEYe1QkmY>jWvwnT5!&38_dhwYN~m(tGx}=Xt;U5jl1R>g7Djn*4@Dx*s>Wrag6L zKm;;9zIzF z!C)#oFcux3?xCrkXwJVLc?fxRVeZeZ8>4div{Ld04ha`;I&Wr`5+_Wgb35cwea5V! z#xoPzN$}TB#dfWueayhIsI`c46)53Hw)(?8m?E=)MpP~<2;=%-yDmxNug~-%6iCXJ zjq)Pf*wCq!qGqFnMT#yXnQT-}Pgu)4&cZWJ$T41M4VM)fwkFH4)Z$-mso059OJX4O z=RDBIrxIoSe#|mkTroUeI#=(syw^1W5Yu)O%XX7>GbM=&JxFoa<4*;}(`ad0lj-0F z+a4uOD#j|2MdA1Ak%yS!t;cdKc6zG!_w4?{QeI(sBeelg;MI}V97#mL?n%3RB#xt1 zS&NwUm@<*M$o)k=a``F*`&0MtYm~;>Z@GfD{3ZcKzH<|psHJ#OeCbfFi;Q&JJWhR=i}2 z9EzC%nZEw*<+cahd1;yQhNx{YbvoG6%Hvzf?!A^3d#p?I)z+6}P}s?7sN{J|cx(Q5 z%b>34O`!VdJt^A;zDGG4{4kt6KSbkjXAv2L^PibvDIIiFZ#!3+gEK-d^N}vx*xB&p zSG(C>pMre!Xztv@^Sp7t*UXH^P9D!VB4U+-V`#*O!azY8pzj;@^7F~{8Da`Jz)z#= z?cL}3a8h`ze7L=?L0q&*b?C!MAW+l`-8LbA_)G0Y0RCXXvT|JwKxlo#e{m49^GITN zK@*TIe-dJu+}(Dzv?-_uBxp6#_gr9wU+#wYcNH{kmd{*We(ZUBvc1kB`?GHaPLhK)RI&$wlA9bLLXZC287K09{j zG4i~|_yARw)^@nf7N}ijB08bajpj_>ijL=EFJ;1@J2pE{I%EMoMH=^)h@mlA@zevR zaEvUR7C~jHX#g3J9B`lchL+(b`QaU>L&(QItbyF&$FnO=&0VZQ_<;tq?6N|eJN@t^ zrAb)aB?hcl<*60B`8L`MRHWt%eS#7Bbu?Wc?*X{R)ZtdL%d?D(Vnuhn@rpnIK+_P) zi6iNR!{Z<#_3FeIYCd<6z1%UjDaDE~#=m@x2I8cWmql?j2`^7e=3VbK^-f2hldpC1 z8*Sw+y$O|o9ULoj!eBn@Y)gx$w*6$KX&YiR81O)J@`M!T0Rlt%g}Q{#@zt{qh;})U zvDz8Fn8f{p$m$H90>zt~j{sJ+9NsMGI$i-ET@A>bMvY9udy_@B( zBe^m(0{=`(16qK{zic!pWNuTK-6}o;9(WlEjvPy@ZIheNxp%T$9!T{t*$*mtGyw??l`edp65 z=6l^wZTMZd?sGQ@$y5RPA+?>x=8`{-`!`6lsZ6b6d_=8;dWxXqmRjhw_Y|EDGQhgx(( zn+HpY0CPgfUR!1@(&K_GAROZdoqOz)ZI0Qc*ED1xs9y^F2aFb*oQD~rDkK~U&f6=4 z7EXH*`{yj1Gjd6DWR-h9(4Wu?qlb2vAHFEtYMj+OeoPW8V1@n^$mrYxC97mkZ*g~E9sdoBVc#Xz}74R(eD9-n1}9tvQnptExS|u0eFu*Z8RG++K8@} zL7qVi;buYFm~+CB650Pg@oFRUd?vOr>_o`-EBU`*&W+ngpo=Ya?$|w`S!}d9aI``x zph&Q2%{mQ}03LESChI?`_05zeS?L?g6c}atU3cmhl?qRt9@QxLJHX8bxu_V9ss}!d zG#+fRX6r>P_T4v2HHdcd&@RD}EoKM!{?O%3K9}p_aeym&&)lCH^5)n+(!;jLtroi6 z>?oo?YZ!&eW5gsC>W+wB0ZVJlX4b)9RgvT0QVd#4zO$F>7KQ5NteH}+$NlW&ct&*4 zj-d!0t}QvR=dwh37zZc2%1nI_U~{lUG2|kP3w5dDQ>*q(@_OFTgbZ^W3;5`1TX#T@ zIv5wwt8_BS;P^)azip@KzZ(yi2=YI$|JM%we|qbe*|`v42mpYE~9z@zfHlDv83H>t;ve?CBkc{6Qw^^{_I4?ZHN3Poj#2(E;ge*nC~0k!@~ zWMKf=bpPy7ii9XZQ_wSwN7OMX0sG)4{a3Zfqo^n1!RdDg!TBg+d-#W?7v7fMU8vTt zR3Zjvu~%OKF{Lyue0#aKk27nVXRauF++VCcpHEKCeuxk+Sbh!P9`84_@eIA)3o#!hnn{RxVtG3nXDBsoYyDYW+p7VbF)6}AcJvk zPN8}P&x4_MbaNwUTA`lNaJ=knRQdv;Tye~|sG6jfknx!RWqqiVp8_hVH=Yb~JPPVY zRu$3UHkezde#)V6Vh7n{%mOM65F4vtFA20y+RJ;hx*D{?QZDRxEN;J`TKtJ5jjs72 zOR(1wG8z-&2mI`Lw!OvYgBi$J44ATflu}nhM_UO(`xarY)n7Vg*4q=!TcS(jEL_-& zC2|@U8Rq6xMm_siXn+!y%D=kaTLsxGylTJM7fbdRN|e~?6TE(eoS0Pcv*%ltwsVfQ zEB%a4RW1s5yu5L<_*;tJ`Xke%25112?j*N}1R_Dm4wDz`!1@%Z@F*Xa_s@GURHX|P zupzh{mFS*;u$(>+)sY0sSoL|16NJuNMr&bpdECz;J8_>s5JDCYRO zUBh6zc^;~f76J|8+JzCPBrmk^tw?pnE6+uvBb8RvN7`%PhGB(%SGb1?!Nih&&RR8>m+8j z9apvpf}I=Gz78E7bjC%-6-BnVc`9?E8;!v<(`~J^L-}k9Wr9J>6bKsg60}kKN3&d z0Sgy_6XIcs&TLDKva=ZIqid$>xh)hjuUD;s`-bQGYSVhZhvx!hwDGhG*%oiXetVP^ z_ukztPOF4io?NsRmQ^vq589wmuC^GLXM`6Umaz1&W#uZ8>1>eO{|ae!P2#qFyg1v) zIG_RfmUd_r!rjJiu9rY8Uv*HNbW`1cJGsNa!)6aMW{>)_Td*-J4Vp|WxKbWp8tuN^ z>PM9PaVrnzub-RuLu963TrK?*pUD&wCTT^s^Cb!D;z0hgOpnr~K*;Lg-j6WjVk%Fu z;8%O3(jX@rX=1JVV!~JS5m{34h0$Vjq2!=>mU+IjNmiRLsDIHn-eI~-p1CuWgVY6$ z#^|`@fmMj+s#M5GVl@@<2kNpQNNG}ZOqFulCUhJ0jpQL$B2Oa*8I~qI*rTWoj5eXF z-%!kwtkc9DsI}U0De@h^=8>-X*G0zD7ue}^-%#650je#16Ki)#<94S;GoW;L+*;9v z9Rle9{Tmnep69}UJ3Tz^l+W`AO?Uf-Bs`-C4Cd^YK4LaV7vwJDCr``FSaW_0gW%c< zO~szA)tcfha9jUs2zm9UR!y6=T~0eK1JrmkmE=mVZAq~$l1hsus||bx-G@oFc4(Co zV{~5KHD&oUj#JCa$N7S7`mkc-`EPR9?|!kAH;c%YaX!i*7~l<873B>6<&HWfw|F6b-BYlk%+Z{dEJp z2b7A-ZE?mDCqj=Nh5rIG+A{e`_tjfx`%cua!0&j!pL%mX{PY_LB5@N&IshZ3D)UnBM!C(zeJC_?3|8E+ae-kgLc7znagPhU13kv2L7b40M0$Reej z)evxQl4BCmwci?mZm!#od3U)%Bb=VhktRE4qts|DV*ZelIA*e!ZpLhMr|*s-#vC{<>%kpatHk`UX1#Z{yL;_t{y0#oMQ&y z+zAn!GaIilhdA>UrVN5kb zTT_X!*7=yV=pgp_^0lfSR$mNqW=-RKgp*dvxOAzA)m@#ScWQ@4(cDG@H7<}C0uK7t zz3?J%>?kP$JqR_3HD*EDGXap^W=b<_-sbD;Yb&{;o+UoIrPJ+Zt}<)9MWn@Q2DVt1 zGfA!kI$&$hFKymHw-oy-6m;CLE+~@hOZO1Ia%4;ac5U0MvuUvORO-KYbgH?&XOWjy z^>t2xRyyW1tO@W46ZXiS5m}n^^%B zeT37QoxsqZXL7OhMC=XK9FvFg{AruF$J_ON@8{t8=n+8$icp!`2a>^wz5AUjE*A(Z z8@#7?BAA;CUezXnWp}$n5$lhS8q$LBfFKe3Y^`jPjnDx>G(%2&T@Hj_iF*Z5)Lt8)*Y^EdL-LS_sN zVsjSExbZUPCbFY$^GFO}JaE2XLV|3#F!7_sfgBCwGrLCEGZw$N1e93&-)Ln)LUx>W z3xE!>IDl1tJUH>C#0#9AjlSvak3kA7e3;_Jz~ndk&*q=m5o{T9yo#YrICAk8e+L{` zxG+BSW0~@$qu@k((b&(UV!-j%z!Uzmp_f+=h#+mPF`<23t!-kuKA4$<;J%jQ>EOlz zlWJ%??XyD<7A%aoY5a%D<#fM!t%0?n4(1qd-$*f5layPI6}9#6jaOv zY9K*)o6iI>uUNqhKfVqH2`qQURM>RRe7ywFM0nn!Kx07Uk5N-?Yg{tPvCN#GP(YOj z9t!h;?$x<69OBc& z`(K6EuRob41z9@h;Mu$Z@)|;`fNrG=x1vq`+RkFJimy_0(m|i{ovQ+^i+Vj&@0vHNrnETT0`2(wQ1Ur7aHG+P1zx)psXn`TxhSg zT;baG2gtpwhTen@>OzXZ&fj&dTY}2VJwP^;dlm&~SK5TJ>^9X=*R!2tmlb-;58Ee+ zJ^O9QL@3vPEDc^IO}pc6$@LHg1u)f+u9VpOl`hZL54EmRSGOrxMWGSB-$yJ|f`qrC zaEVu@nB}kQE{-i+*=H;zk9q_CAZMi(-YxUhBBI`*0O5x z8|IdY?@5v${COcuCry@(6c-!Wl~D*UtFjlx`y;32Wpz(5mz<{cfbm*TQ!i12z0$PL z!{oCVqJxQ8;%_V0TBp&O<+j^TfH4kTOR1Ww&8zL%I8AXk>Ao;$aGfbs9B@7$4;*Zr;PI&>; z0_b}axcI>Dx7#OIFHXMJ?*DbLTbAlh(+p{^N$}s{?Gf0>u z>$tQwOk4;L%zKtd7M708c4*4W_e~haFR+hEGoKBGeKp-jH0H*$2-VwDLWD3qOpL!F zzDC+wZuh{2ZIpk?Fu5z`hfYh&RJ939^XmoyNCvnoh+Ydv>@8(_YO(Dp`fGyL5hs^o zeU(ZaT8buur`KLEF|9&)XxBtVIuMVCfqTi^sI0Qp)ILt*wuVlJ*xlQ-j1aSuagX%` zy90G#Gouzm6EwMxOju-e{L9cB9vm^JH@`!U_0mEX3hfJsBavk>eb@7Y++;Nc#TsOD zip(3-H=F`*jtbcu$DMfSAyHb&PIb1lI$Ho`c$Nf%Mjx5} z0T;99N%pBn!lYNF;tlGTW70~fn2g`ZbAJx^7)I=^nZQK)OFZ0};9wZZnr)b;>=tGK zz1oqZp3JE~^;pPBk$62l6aSj*Ef~O+w-j}o8Ri{EqjIBYgUOBQiPhK>BXsGDtmL!A zI;ddo{h$XHG)5r5o_?E3{h?*!fsAC@qd*RWdWKJDt6sx!QFL)F>HmXbRKsB1ee^>aEEfT7%k)7V2a z{2S58)s&!-AmiIxwOHFc+h=Roe18yw0|3i~3iUK-mQ%K=W&ybxcfksyb@$#4=Rrd= z+fY`IX;v+utdV%qZOR?_fxBb9i@-W7x)q*)#MOHLi3zRak1t)TLmfu2lKLcW8CKs* zJu9??e+9I$oM(ZrD9_`2R~4V!UnI!4t5D>{mb?N~FJ+*3N!?C-^Vi?>Y)Vd##sA8? zb#*5up|;antocp*{`N&Go7atQzbtFwinlj(ov)>aMc zf4LRy@2$RLw3&^g)&1WDlgZ4TmQ0hf+*`IAzer|ESwSRrlu1&;$-3&_UEqik3enw* z@DbzS<55rtd~kH|Hk#?83-qtf2Ac0b-KIK_FOR-j>6+gf%DHt@G7CKwYE^|;SeAVS zCc3Ib=`D3lX4mK}W(@jgkuuRaV9i9D^$iQGy$t6UK@qjqf~_@wM4GapA@nj11*3e} z5>~VXW^=|pA3gMWGME|T*D`DBUj&N0Gk>+rj!vUn=#6C5lfPP1G;GkOGun$gZ%av{ zue_$XEQ`G!XWuqsOsJR{P37h9cE69(@!h!HyhZm|rxDev*rB~NOgYPRq%`Abt-E)! zwC8E6LQgi^Yz2cC$xyfa(cqQMl4a}S_1(BBjXO&=QvM!i2@1?nILhS1%jS!f4U3;9 z;Edx`rvHLyiXg^Qu=K*d%@7>Wb=lson+edhq>_Dre{8jmku;6ifd>o;$y8S#nF z=?a|VksI+<^kGUiGQB`lePWn4{cz&-^%5$Y1Ac%o4Lqvie`VkI3^<&^6*~q$2PbUU`^;nv~o8{ZkwcUpsEOYC+L zBP@PeubJlP_uc7$1%2_vaisncB23>}N|?5#A~mWm$~~pvMj|3SmImpBeJK?Y92%Ed zmV8+uimymMBJ7Hb@4e+*|GOPeKm`8KHYv!T^Y55P|`N$~bjlb!m`OrTP~< zQva>;qbq{qq*GRdibAC*4GaCfDM@NXiN$o8ODH@{RI7@}1z_?-YUU5d-si_l8+8&& z$UqFQ(zqbRIn2xO!(U%Iz|;wH07z`^b#jDBN6&;09PzkmK;XK>pquD#0O5&vtG@us zV8TOkZaAq6f0-FT$&(g5Y_8d;-$qi4NmfWNcU9a7}5{ zno-$!#arvNV6$%Z^z)Mg7(EN^n*Ks@e1u^Qv4Gg6$~z?O=fBRL;CWg&pbVuD0PhR& zD-IA}lWPRfhOs@mLipf`eFo|Vw>Am`jldn@whr@z&Ut2;D!<;Z0&M0MN~*ix0{1ym?(S3IQ7EO+ZzlUAtA{*hOpWIsCY9mh8>HLBkm;qe z*YG-Sh)gqWAn#Z$7Lj)usY^ZgyDqME|MA-MD$bkPoW|Q;<2|^GWoYppvLt@)>$mh- zzI81*$$hPKovi`Ua3lg-{hFSn?f&%jGWTsjTjRx2!OxIq7DW$vdkN=VTeqBRTsm$g z?g-O71};+`s*CL97Z&4h_>uZ6&~5|ec>AyynqZ$D7r5B9jr2yDtHdyx^yr$_nl&I5 zkHqRIc}8GA8=$O?eFqms&!UaZa%rYGwYi*^k+HSj+_6e%_MAyN!_7YxGtJ~}Q{Ged z2EMy7!G|I4Ht_tETv)7mm$2Gh-t7z8x3zPlVzlMR%hwf!UQkS*xK@%8x##EkRi*Kd zu3bB)=pYY#oXmK14dqar`#VEI#WEkKoZXJ?z3w$1zj!9iT{Qg;9kWcqbv0&gRaQj= zT>MZeCX~~$bFGVj@BtS`)o>Ix-OiL+;&=x{8133*)A8*} z9_w5pr1>`N6ZiSz`HQ3aI!=`LVo%BSV$Uu8d{(W@QjM=;p>G=6Wff&pH=r}-74O1L zTdU|Fjb&QMeu=>85Q1exkj`jFkNVn%(cm43-LkNhW$<*y=KSSsQeKIM1l-F$c}quQ zOUc>xX?`rEyWnX3sWMCuRY^1Dx}g(5C%0;mBVGk9Yd*`l3^v0fACO^q3B~HM`*@mH zN=TS)X-m}=5>)ovT0phMmOFXE0v73I>HqRij0k*KbFvrNhR(*D0HJL|Bhw(sE& z4Fb~LAtKF)v@n#E2+|=r4CT-r0)ljhC>@g0AV{ZzFgl1x=M_{sloADg$BXyt1%daz z=Xnk={P9_9@3q!G`|Q2;8gI!tFRh7!WJ-o);&Rvq^~)N&SVv0tem}vNlq<;j{pWwR z9vVd~_Sb#GJ-!aKT{H6l4-*8+Av^aFi!O_aq2h0xDM{QbU)!)H>IE7|v?`boU-@)E9eJ898q-b2r6+=9MNs zlkjxX%V{r&#t9|O)T7g#_>4z)ea*;YD!+b2td#5c?ca0v+uHVRbmfWZQTx^9p*Q{e73 z|Mg4cMWlk?@cUb-X%R-j<9X1o+Q}!FmoSvMv_9ODAH!yfVRgaXHuE=;z16>G#(wLC zILZ}y*=}h!o`cq{n^`5g>M$&-1ddl7;tkC|)N8OWabr5dHZ~?Q@cB2l+G^>8w7jye zDHW>V$^9sD!08EH7YGMO$an?;$-kfUE_deXKH`2cej};fC@k7dNm@XLv&L|e*aYEo z-MB%cl&~^B$=M|%RKVBRcWZ#P{x1}9pDeFS+(jai9F%WAfBH0rAnf+}<|B++VHhrjV+$S&*$ncP8<`~KE#5;kh z&Gb1|Q=613E)V^EVP;tFh4*V8j7cJUZLU5dcsP?&qDnsF_b!yR?FR-rdb1`riIrBZ zF#9d<1M%m#DbN!_QXcpSM&v4l>Jrq-;ERmE`G`a1A&9fr^}19%XtVj{rIwk;;fwSd zG2${TX=L$SwBD_*(v}oGY(&LM9UgV&7pQ3p%L>beZI@+weaPE0S-^!+_KmKT=2{9h zi4Qj|nN05Ws6!$`m^3D5<>NTq-8)E;*Y8%@+>bG-v5=8ztGj|Nh{i3C$YU6QMVd~Q zi`@P+Fl9?CH(8NiuGJRE03f?{JYv$vR& zKrzv+nWm&_6EHwbrp&$FQ$>cFNcBX;AV{vG^reij$II#A&eV->AxR(RT}kWYzveIR z81%I;%UI@YjoWT}dK&8(^aYr#nFa3`X>2_DuGOo_7B=)O2(v5&doql(ut1-@GwWuA z0q$NGH^$ruecxyQ3LK+tmIMsxCrl-D?{W=aNQSyzz1uOl<>p5CF--D-BfOLI!eP{U zqzodlmF48%?1N%0e}nD!*W5FCQYp+kOP<2k64xXL zI4l~8%4wEE7T}8`g3#2-<=Lgl>@qK{+gwcLHDslFr41EjQ}}}hrb0@gBfS8MoFdUaRCC&*L~ zI4yWDMAXUEI}ogL6ISK>#(>v9;hNj(u1MkoTsiQI@v*R&tPcXMTww0@VF?4??t7A` z`z6;D?JA$yI_q?6u)9uUJpsKcCNmR} zpj;Jt;Um_)HN&P@bSwR>H|EI7OT@ZdA85xqsPZ*oO3~MPo7gyX+K1AX42KrUMd_B&0kPOp>k*dYRxbyh5Aj z!M(7QyRJCHn}e&)hMKRa)GM_rT*!uVlL0He8)foB%8iT^HPTCT?9Lzi?&J!2f{Ui( z+*mTR4n~_uQHQ9Aq=LC;Z$BnPTE0n%gfHFGEhWQYBNpv6Zkf2Vzwy_bE#H{F@AJ7C zr0p&~&9dWK@d0DHp*~=0TftP5ulHif5dDY^4{=nS$e~EPDf4kE`X~Heo)=noe{fx9 zzR{28=ix}*w1-pFxBGo&i{S1zB7(sudq0|}GcXIv`*%ktb;<)6jI^31F(uPE!Vb%~ zW7HQFKdNqVOg50jAp3F;^^LkMS?G$K;rcs)84-b)RJo+1HH<-zA!#HR*=^qSAtlEh*fF| zDX(|`Ly1Xdp0w5IUTBD166>1_JJ%8Jbb8n;zHhKwUm2;G#HQnCR*-5Z2fr7Rc%+TV z1Ib8@Lj&gf2PMpPu#XCNVVKrFtNik7pUPOA?Iygj4zfuFp%# zG8olB_BxeTH_(W`pa(UHgF>KiznQBF95Q61kVT#1n?hW{gc`Q-%u+uuCyUx7Dt&BU zugprdsIjyr1a`YgnWdpw1NDBFdue@AF&c|&JqeBdm>>g%3ra&3S8@WgE*~~_%Zk}+ zvE|`jkg@&Xhnw+CwGi2?2gE$FBj#P#ZoVax=hrh(RL^TeVg0d)vE{`p`@NBs!vci7_)ErmnQ68_RP)1F|pWM&r zm0VxykpNU-H3prT$_Jj^&iarKQtCX4@o&vS)T=C%Yh+yOUfpMB!*b9s-)y<_apnP36&0;1 zhp>G9f#PC^FYZgSO=>ewjVjjoYdNUxv;K&oZcku)k1=OoH8YpcEdXXZAIDuG700)& zziekuhW64SnqQ8+hfMz(uZrQANc=v8N*`1!qBp{Vcddh%vi;4E8wt|BE6*|#Sfz}< zjC9>OjLf2(5$xPCS20Potbcqn+xL<)849}?zYS`Rk2%)6Qfq_ej7o+UJjEw|ITGrT zf}PHgVi$F4{K0TGSeyqK-H8;v4a-(7={cu;a}b_RBqAPX=ic+SKvEW0#{!3`tnShA zTrsD&MCwl1kBd3 zmH3-!Mz*vXYpd|_5}CzJVtdnCl!Jm^GR{qOiV%X>smS3}xXT1@BPy4uDU!7y2mMnL z(WT~}Vt#QI~dq+78-X}q5z#Lrv z{dwt}O!_AbCCCcD`#oh`lN@ML5fm&85uv0Hq(w4;F*7up47&t;Vv&khOlTk_Oq`k8 zUmn{<^3m%qneExfV@1=o;TgeDG`U3*?V+1noK9oN8p*)NN_RRXzykRkO@_(Z)6p^X zZKlt#CQ73<-&gk#Cu2;Qf6I+8qc#a9=|;Uf;cL>Y>9EpPUzRi1JDKSFf?*~=KgUr{ zngZ1)+u49-n?9utJT9WN*rdFO?%AM~Adi5F%C$o+KFMcPC+JgLwEJ|oTQpC;Acm7y zxtOhNGCFN`@M5b(4gn# z?>#vz8bDjLDo<9(uSD_o*5DL;vTPKU-4|!Vzgm-Fs;pfauH&L)M8p;Ag2mOy{Vi2* zZUtktr2RncKIC0oJSGS6!e;$N{Td`k;uouaI)&lsF9(o}t^zmv=SozymQSC>K(GXC zJj69V$BjEF+$%4;6}=>;?K(Bk%LH0e$J|JRdfSOYCLa+9l?EQ<)aR*v?i=cvz5%&M z5&JIco-Ne)mGEQ19lk9`;>}dHH?D*DDa_(pyA#iy_k?6cdYH{0gKC@n2;m!|EiKZd85(^2kSHnnd1(*gX^UM5hbqm@i zyo54nr8o=;DmEB6BwCqf&9U9oe^fVbW%0OxW!bBGrHPKesClRKP`v(76-VCMZ;#^m ztMIc85tR`X5Xc|>+@)oAD;Ny^@7Lf`4V9PyKEmc59X#zCrQ9JyCdbh#=>Vr0wMuMO zNNAu?dhU%fy3twRw(Zudx8AW5GeXALLpEOTHVZKram{S^xAd5`OZrSOrNle z^E1-&c{06daLdSYq33|%?UCr#3_oOEfn%+QhF5{dn5ATD9pxsn^Qdk*@A9J%D(Wzn z;}Roq#I}27RvZtd)(Gv|KcHxb1M8YWiD`OMb1L2?cSKV!aoup{03McyB(cblg9oGy`L&0;2) zPbWOqAZo)?{CW9KwFE&*NvqcM6<(&LIF2Y0 zFMLK6?3SyS{Me|uzhJ;$_eZTN3(D6^$t*g@JBs+&2-IlkU6N;D%~L_Dm;Hr-9U)Kb zfW{nWJte>4YPC^cjZ7Gl`26JZ?uy}DK_;&ss+uwiDhLGR$N<;Rl2L#E@#_a6FsVJd z2!H*yFtvkvn%R4B+nPGNz?^vhSL)+D4COJ55P&*~;jy#^X31v%4F{~P{!1&jb8w0p z8d`G3nsO>?H>EV?PNN^C8@JtUQp^QnLK+PO68J?2J_6T^|4uh^wKR5uIoLb7@YtH4 z(l1A%*mJp`aR6)$pwmT;iRuLYb5_5cXov;O^k=OVK%C>xvMcAw>mvw*-2ob53*6vi z@>GBU;6KXyTZ*;4-RXjk{KoX|XdD3`Cem<0IKNd?X9-C<6^_-Ai-ih_Se z3fV6OL7<?)JFWjtl2|~@~1WJq0VPp)4kG6(i5=c zL%`pDrXBvgj=CFz>x88Ov0yf+XSB)$U+*)+$fFZBMTTDrm= zEUe+jwues|ZYX6nju;?z17Svcj2L$3Poje<^scGpPvCzH3esQ5qo9~F`V;Bw1U;=6 z|Fp>QM+lYi=_nusPQx8_UtiY)oK+w&QvomixmxqvD7xq1puiAyu4k4?} zJBE$2Ia|wrRa`tTZd0q04++l;Hj&>G! zGU|Au{C&jew>zkxP5av$P8~#!eC%Ys&EHV3zB5()moJ=yK3RwDH@bQ7O!TQ$*-nlE zCl6cwCWBYcB%eHbbrO0q^ZGZ`Yx_*-A9>g(sVDPdepA7~EcTyA;XjkppQ8)l0)J%5 zoTQ%I9sErVz&@M$zhF4WXeU>Qf0IWpo=N_5z4)ZUC*R?IW1}d}#QyO{r>2Yn3@bl3 zL|H(4z$~Mf3Kf`pKm{z!Mfk1?@mUB%MXp}GDrhbUyDDgU4JybF<}-tunn5ju1%<9b F{|^RGDB}PC literal 0 HcmV?d00001 diff --git a/fancybox/test/imagetest.html b/fancybox/test/imagetest.html new file mode 100644 index 00000000..9b81ac34 --- /dev/null +++ b/fancybox/test/imagetest.html @@ -0,0 +1,21 @@ + + + + + + + + + + + + + +
Tardis cookie jar and Tardis book, like River Songs diary. +
+
+ + + diff --git a/fancybox/test/test.html b/fancybox/test/test.html new file mode 100644 index 00000000..1ff17351 --- /dev/null +++ b/fancybox/test/test.html @@ -0,0 +1,14 @@ +

Blubber Start

+
+ +
+
+ +
Aktuell blockieren Unterstützer:innen der Letzten Generation das Rollfeld des BER.
Einige haben sich auf dem Asphalt festgeklebt, andere fahren mit Rad über den Rangierbereich und bringen so den Flugverkehr zum Erliegen. Vor dem Betreten des BER informierten sie die Polizei. https://t.co/c6UGVfPDI9
+
+ +
+ +
+
+

Blubber Ende

\ No newline at end of file diff --git a/fancybox/test/test.out.html b/fancybox/test/test.out.html new file mode 100644 index 00000000..e9f682f2 --- /dev/null +++ b/fancybox/test/test.out.html @@ -0,0 +1,14 @@ +

Blubber Start

+
+ +
+
+ +
Aktuell blockieren Unterstützer:innen der Letzten Generation das Rollfeld des BER.
Einige haben sich auf dem Asphalt festgeklebt, andere fahren mit Rad über den Rangierbereich und bringen so den Flugverkehr zum Erliegen. Vor dem Betreten des BER informierten sie die Polizei. https://t.co/c6UGVfPDI9
+
+ +
+ +
+
+

Blubber Ende

\ No newline at end of file From 1a5b19ff692e4fbf08e7064c41042961eae68091 Mon Sep 17 00:00:00 2001 From: Grischa Brockhaus Date: Fri, 25 Nov 2022 00:18:28 +0100 Subject: [PATCH 2/5] gitignore --- fancybox/.gitignore | 2 ++ fancybox/dist/release.zip | Bin 71194 -> 0 bytes fancybox/test/fancybox-3.5.7.zip | Bin 140771 -> 0 bytes fancybox/test/imagetest.html | 21 --------------------- fancybox/test/test.html | 14 -------------- fancybox/test/test.out.html | 14 -------------- 6 files changed, 2 insertions(+), 49 deletions(-) create mode 100644 fancybox/.gitignore delete mode 100644 fancybox/dist/release.zip delete mode 100644 fancybox/test/fancybox-3.5.7.zip delete mode 100644 fancybox/test/imagetest.html delete mode 100644 fancybox/test/test.html delete mode 100644 fancybox/test/test.out.html diff --git a/fancybox/.gitignore b/fancybox/.gitignore new file mode 100644 index 00000000..fff07933 --- /dev/null +++ b/fancybox/.gitignore @@ -0,0 +1,2 @@ +/dist/ +/test/ diff --git a/fancybox/dist/release.zip b/fancybox/dist/release.zip deleted file mode 100644 index bdce6ffc963f4db6218574464ecd0d54715f6c53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71194 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%0AS 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 CNi6F41&7(&nmG?G zT-wwu+VB28dh8!na}K%g_N$w?`L;(J^G!evw)x*V1hOy%>QR%qx$2Q(`xF_t8J&*= zb5=qaZN_CWE0jS2*a!XpU08_A?f_h>0s!Pd0Rm9}UkVGW|6f=1^jvvui8WGu`tyQ@ zJR|}l14#bYb$957CR+~Xz|?A+0|LuN%zx>>igvXw{WMu#DTr%o95qO=NA04kC4dl;>%>FIYGAS@9X2= zWG(wNIEhZvH0h%mlhHzhc^agm`t9oHI}_!IRMyClg0(i$jgXq9zCv{UR$Iod?39$Nj*+U^^PpOlS$X)m~xz<>^VKvz1`DRAg-o~I?>)3 ze_~EO0CW2z3nToBME^Q@{=GYZkDaP&bJ$*$q6`ZCOV`U) zJ4V#1wNuAS#THrR;k{+Juzf%;*xP?9Wij>g7y&w0*`D5D)e?jUc4Vq3V46oU0h=G+ zgh`F_MWu_@dd2CO42om`X!1cwP3>VCcV%ZkrhrbL&o4ZegVQw`lvrY;b23sM!*sI( zn?o`g++LYadR;`HRbP;8>pd|}Nxb`$fFY{XaK!`ykfMlLOp~Shq=+e#)Eson$IosR zd41MX{I=cea~rk+jK6~*kgMMb@H|bqLoh*h4gI`BEe8f5oDQ|d3=kl_1SsJJ>Z1T0 z=d`9vt{g(v&nd52oNJ($Xp_IY~8PcCb1x{p1ta*JKLH0QCmGiw~m} z6)oA$dOu9%g}Ze5?l2U^qPHL3PVu;flvn>!)!sk$$R)RQS4q=+WSX+2mvTnwhg7FN z58}ef)7E$T(Q>n4nklos!P6IdX4Tu>OLY+FWufmiL1LPhXpMF&ME?kt3gY&}l{ZYu zN3!-16Z$qkz!G0jH`IduhvyG@C#`m{K6#Hv&eENh9}HIuSU%AlQLy-Bl@K;3|DKg1 zL!^EBM0wFWPG-F|x$ihs=7^P6@*1md3jDtG?ba!?xjkaW9YyRFsBn2tEaV7tb)BJ2Rb7C za*vlPVq*S5(l=AjxutbXS{*Uo+jk~^#p)t$pmTZh!}~2zsk%dp(F+vT6Gts`k(YZS z>UgH<{%@~yuw@X+IctO`e()^3R;dvCFT34F@MkDZNGoW9v|(2qvCcsi2krz<{7H=A>`sh47T}K z{|LnJt@d!y=R;(PL()zwDIy7t9Fy9nND$zfV{0alXtdnfrn62oz$U z-ro!Kv0gurJ&SLW837nea3u9$0XU~%;vee4nB%?;AQ4}G`|T>9+^Kq6f1i8hf*`wj zPH~aLX0}xc2EBhEKYfPW3mE8|pMU=FGmdkiN?%nOmc5tz2Wp8e`O=sSmE2k@1ahnK z?)x>8sFEtBz5o4(fBf|R!>jLc_wz0MdwdfEj!G6)c#KQtW@df4PBW-q5L~ynx54dh zkQcN5&R{U;Lk=5uF}wW^&)`#%0y!(jISa_{a~JHf#b{@MFw ze-6cWZVrRP!>@K9SLDs?6p_ty+TZ{-0R$6d`0dHyA}msa>YpDz{K%2%Uj&jvgvf5{ z@A|v(e(=)5f0%dR2M7LPaA280a;>M?9c?OCOGWv2PD|-VI;gz{cHs2M9q22S>RkP<}?vZ4*>7_NDqps1PTpf#s(+ zzkd3w!9uG6Fxz5 zw9i;k!nqpR!$(22i=fyC96yBr?OXT+&xmpG8UE5UJ;Ad-?AkqRZxJJh`z8%-I?25` zvL-}f3+4tXytnyyNledGJpMzy0Cl%eFG$Ou5iK9yYXm2-Csn>2&%=8dS(S{Di5UPl za}A9yuZbX?$K^cCptyIIlz0kEfu6v#Pa|7b}`Sxnze=JKQoLfpUqPCT5xXW zfSyvts9A#?@wzqSZv(6eoo_0;_R<(xS>S=aWOxL-2X_$RjnID0=K~RKX#WHl+xGA* z3T>2nCHbssWLi;fZ?dorD|Nj2{Z)dN6 ze)Hz1(0&V>*%FMs_vzi=fBfzYdk7mgixU95CyD0J{$5hl-r2iXKf{pE=CEmP4{62F z{-*#hQxG{D&(nl$mtWIlc8t|?*!+V5CtOJA{Bv1sFPGQp@%Rq~pzjj~Z1fEG;RG-d z%dGEX{QF0qA*`${8P6+g#!`S&X5BK#l}T`YmsH4S18N3L24ByhE>>FQVmroGpk*t| z$8*5_4G?~x04FeymsW|e#O`V^R3EPZP80lS0Pz<@!AUx)A^1yPPytNE!PZcG#|mI8 zai38=0+gQ^Y{yK(@)uUjitQXbEWroM5=BEOeyq5dkGbAB8hB}>i{ymtjRdHGtUugl zAB%heK)iz#D-kl!d}?JdRdva_U?5iJD=ANSiz1%YstRt|)gMXq^QO<&`PYr#@(o{9 z`%LRV$tpxV`Lc4DH)Om0gMqtVJFd6v?C%%{ly2(o>kVI_x0^oY-5>P6LaVSV3)M~D zzp36olx0?47O?>K7OdVkDZ_IVWuSk+0Y)!2im~r&!Aoe@&#=sF@53kUTVB7s!H+-Y zUq5Xw`VShup5eBUf|aa~VUIbuFs$57rVhz$2U}5;1!Z-Yvh(UvigR;#J{AblYzxP} z*tiP0gd3jD2bV!Uox=3KV@RC>H4&NUmo5;XX+WM(uLD#8-UYxH(XIub;_)1og;_2O zlJZqi#CI?g+uIKIG=ez+=&rq)(J^sFA?n+5wkn$OTc9z%2kHnX1qM&GWKJg~;s)cg zbnHc*;3oFz^hA+x2C(4s`6aCIe&M@(nW3=cHQ>Muw#~S5+yI%CUM0Zrk7QEK`#av< z0|lylq4IOE^>@}@0?SIQp|?eT{SiCkBz}{ z0#2|%sU%1ykw{D?t5vTzhBUnW`GKU0KuDJC2Y`pngQ?zd;I38!$cO|F&q!n}PxzRZ z@)aw>SIj$2in987nMHVo5X_2vxxkC9B;bc>1gkR%;>ko1B8ZqpHnr-Zw?Lpe?)q3Q z>#G3o3UZ_@ynFl_HqZv$p%Kgh-N(Gb^SB-&UagfhxZ@%)E=#tzHJH*D*hDTa24Wao z>MSxxPR$$<&5BERYt#MM_V(5gc0~~w{05|UP9O`gt$<7Z`I0@Y0un6pH@>l zOFz%qC0-OFvVt=`4hXd(iRZ)~J5chLo|#0_ z2G@1P#bpBLMTg+tw|g;cF>T}o8*QxD6a>#nH7a8 z`gRXC((DE&zC0gZj^JfxhxiB>CRF`!{zZ4)#9LqV&tw1Vz<=4h=tq|?Ja^?lH-BF^ zY&Bc4nY)@L)72uIt*)*Y*yF{jyqT?%ac=b7g|3gFWsqy*%aq`uw*0YT|1@@(T>JLZ!TgbCw)%>P4H>eVi z3(ulROsW*I)+<=1d|T_Ts#w-6aCu#^NQkx?4PjTGk(f{xgdRUMG_y- zE49PT*gb;631(pS=1m7Rtmy&cyZ3%H*S zsq1(~jDvEXOi?jSRLYgK>h!wXr1Mkba09z=Y<_Qu;H5^=Kq(+;s!5uD(?FB28-n|R zl&TMe(0<@G<-n#8xG4etbAsbFs@@4~vRIaIRv}5n>4E@yUBWux+>u+a<2+a{0QoCf zE&$YFupUUvh$kn*^OX1yRQMAT6VwNUqXqzmfF?@k4e_f@eu;7Z6e%h=5t{}SOs~W}t7o5gTp?ZBo=#0wK?#gFO44FZenRbC>WhNsLNb%uqM0FiA~q;4 zH%0UK)@~hB|7_z6A!v5Gn-{l;qWO#@)XnBG_0KksWmVI%opuu_N^dm5&T#>pjpLL} zP{{1KBfG@6PdTiLWeg{pe18k%`X#pFmDCR4Rp78{n6Lr~@m;f|3hF1h4Z67sJkz@%%WMIxnLr)>T8Ld`6)~1OVUez?x!-EoV#Q zk?0UB99Kp9-|P+_v^1DpV>o@9$<<)P337}A()AA0d}lH?v&;)PRK zcIyZxC0?y|4)J%?rJzjbPQA_DaQBdx**$u!Ouajy)JtA!Z}31UdbxwB?(Lk(+Yv>>$QA81#&!Uu+#mywK zYi`)+S!<| zhOeby444~gY9EW3Umb~-I;+$<(F7=rR$PH7pqd$4GeETH+LN0g?7A($t_jHtJquB+ zKlBKpK}Wu&SdSOuUphoK!cu{YI=qRu^rl=|GLNPPyTnn^RGaM83g7U;SG|baB3uYl zB{z0SIlihz(iO^~y)EDrrxIU|)RPbzp|1P1envvNIvD_xJB{WNQ*8~gQ+YJiMASMB zHf_*gUQsvbO*I+#v|isL9cABB2}6&bi5erC5GCB4Kz0Co39jp84y+#z+sN1(qRoZM zbUJ8ffnu(w`W2O))|*HQ?p0qPWszf^+Ok9GasaoEHMOYB5=9kbAS#4Lv)~&@e)H4v znia_yg;}j^EM!8$ex8r)mTI-F-?pj5OOMqv&1j~RXiBH=4VyS6cIO$*OP3g)KKQ-> z2HqseQ;ByZXy|=uJ}kXdz;2b~JP}Q+X7G z@F^_CIYmnclN}+9agWChbDK{}u3ZQyxFm(?&NJ2N8&`_c<+5&F|EWrlR0UMT8}POU zoYH}Hvla36gT^qpck}B-$|^i9FoT#Dj)XVOj3{Dlp0Z@*ETb`9^7#%m`(hm2;QnWD0>flFCaAFf>G-;@l$>Uy2Seqb6)btH;3JGsL&}D z8QF9;g|<9YP@b|-4I4sN0j%y`@k)KF)K!BuQ;k8dJ?#csn<(6T{5l^cq-Y|MOWO;3 z?LNG`h&yX0)+6K40%}p=LqexwO(H{tj0T{DQc=~0l?SYQ{c24v9!p;ec5g%BdWSqX zH^n1!(=i{iVmN;dkalj#$^Q(5Yi|n=95`6Y_oQJ3M=w&{aVqa`OE+v_w>Dy1uRZM$ z>$-FC#C^Hcn~19aG;f8yJjzc7BQvp=hq<>Uua?iNOT0VgL}-3VW{{cFZDc_ulu3qm z3742iRI9srvr)I?p&?aRc^v#9^CYlH_5&ID8Os5r)#w`auRVi(4?DFAw2LO9yCzYp zXq06%37!ctIM8LAj){rf>wM38iznoq(#mReQF5;RY#B@pAa9J3k)`!A*dcvhz|Ok3a_Y#i1S z!49?gPZ&64gUoa|Js~&d1F~`6PXw68(F~pi^x_D+>%*Tp(1_Sge4YVuIHija-p-4{ zckmBTjq&M#KA;`y$<&|I3;e>mnVl}+t&C_OFUG#Z;18_Vl8TgAq&!*pGkSqv61oaf zZ&{Ri;lLbrVwWXH^Cd^~F<+Fwh6R849FEss4y^mZfsT3_6Njrl4bG$x7G?kHMUz_U zsWiRF)YUSphwf%|(Mh6K{c&!t#oSnnv9=ZyxfT;`EhhR}%pY5eF`8cIxD=qTaJD!J z9ykV!nOFu)EP+md#~k2{)*1nw@r5KHFDmKB{1+*7J`=K5_`)9?yl`*LP2QRt$fkPT zjf}}0oj_egRgF}}_`=T~ln+pU)LlIv>IBkxZ`22|{FituE?BWG)GiTlr`y*;V04#b z?F~DvG?24sF@I`y(GTWxj^iyHQI#_m%3W|s19(vF15VxE#tftc(#Rng2(CZVQG@Ya zR^a6ibmLRLc(51W&Lj72iHK<4n5XSy}Unx zTrZ-;o8X`HlmXVlOPdI_5>9jeMrB*-=*|)sHLr0BjCtVz!gF$e^3dRT*S#fef@WFf zrw^4C(04;|F;895ZiWei>g$!H+w~$HrTs}LQium!t%e8vmoUz>ACKU$?Z;tyI(ZQj z0N|H8N;O3(Jn>qhiMND3#!*3ggKDq*7_`Ig!o49${#JetCxbdF9kMHmv0QJA?%eA6r(E&pgteo4OE#(4(i2Ft)s7Usrn=0^TqGvQIO7p@IOr!pz!|uvI-pABig!Gf#;Iv${hgp-lm0Kz+~_x?*g$jh z#gf+-Ds-xfX(utQkktVcNW-*DuFxq#>9~*ZY^Wbfifov3o}?3ab{=6vB*)QWMT97| zD(f*LO}O(l427V1Di<-RFNW)2OjR4 z%_o&6VHS+X=0h-1y!w`W#Lc!@)B!CM7LBh;ho}rc$G`4ru)kVqUx>=h=?A~L3gPfw zwMiUYE8WV4R77!8UUm$dX)D$jRUG^m-U2RR^U;RvULHwFcc1Z9s>zVXaYm^>WbL#M z%gRhFZ<9r%>>|!c>pVs~h>tNJ5X{}y7T|mA*LHObbxKj=we!x_MaAWX zV^5M2^GwA!*7ZJ|&< z6BkQran+PaChm#1GIb)+1;bXR2vB)HFuhX%ToK=LKkL>W+2w)T`XY!h=O zY(robN;ZgA?N-ec@k_A!BQl^{L%jHIUgf+e<3hCnEu+v73LV4FLOC`QR5>!yl8ejv zHKwA0bXwwP29%ku!7qr!+PRI3YhfIhOlp(HbY+ass4#t1u=tN-{+;V@hz#`7$ia0m z>ASKF0g8;2bQN`Jl;9YqT}0Eltu!kD(in&8xW0J8>o#lwl$Rr;lD9&e*Qi*k_}aEn zgYu^YH3&^Z$YDZ)tAK{6azPysdfts;$j>exAMK0=#7I96KhN`9G2uj>!-B_8juKa* zJ(#!-gY-c9(emz>MH*5wUb!5PS*ZyF7&V)JS7;1`+YXqjrjFQG&ti64_&jccvjsG|+#?TL(p_(__D4rJIbpdtfed9ct zOz6f@$*-%&ZykhC9_UB3P!dZ+i0lbfo4PvOMZbA=bp{xu(RlNA&UaCsE*8KBb^oy-0LDv-VHkr0|Ran$q35`*cWOa zb4fj`zDs5jy}{8~Pph^Cgl&tGqA_KAQKHvH@k;HBL_7#e7z4UI1TJXIJ|Xsb&DUxzsneZax zoshLe;vLn3v?UakE=PKDEw=HVq|7$#Iv|OFs5+LI4@e3^$K3CjDLK|ruFJD=X9i6? zdMtMwNzQ?o$kQ7}-QyzubA1Hb^3g^zpL~>_Rj};HMXWyC+B=`?kw(qZ zx&p>GV4MrkKJk@F3V$8z%DgD;LSotp#TAU2-^4kENKKw=tUk;Dm(#79{FK+9H0gBy zBI}c>wUJlLki201%&p6!?YN?bAG+(3wvd#Ojsqd3dpaTUyyqnHh#%Qj2MG}Zq1t<{ z5gaHdBWano1Y%nA52!Pka$sEWyw?%l#3xO9yvQbGyXj=?mb{g?#G%2)aFm@bw^Q7( z4C^tW1%*imGt$k)kEqQ_OUTsNMwb+beUkELT(Z&7Q?yfuaM(mjWD$$?iwtJXH3?Aa zw`WB}@KjgB{7u}V!;yvT9Z{E}N6^3G?w&*)yav?HBN-xzo4JAYdQ3`6=vX+{535`k zy{Z!|=C>t4R~4`*(LL`?f^uEdaxJ-NlylUG2>%m4177hd#g<8e)3#s2e~T|DGF8&n zg1jcvk{`1qbrfdGiDs@1#*v0wR)V5IYkSv~?c2OHui(s;xU-U-Ag2qey)hXjJ>1?q zL4xuI`CFq!J|f#Ab5NYvCXDDjq5K<#l#&o9J4bV^z)EakRWIJm0@0)k8dw;=aqig_ z_&-=?=nU2|u(jRq1Lw4?!mBjS{xH^stW0P1N$WXa*Nf_oC~PTrK#@U33lMdD=zY!c zRJY@(n%+1zkLl*Qqj5ck!v(q!()YC5gtBuf*+jGYPC;5mJDqZG$vU}6YpXI3Wz=df z^;;aSBh)1m!A=quo9F1M2ymNCJ_740O0tp_)hk>E4pDHlrY1>=Zj6;BsDG8_W0)*A z)Y(XwQ6jk;R^g=0q}mZaATmze!@;8=30G1c-1M$l6h$p)VNQ$7$mzNo{5LL8b8%|M zAv&xU=s>FlDLNVT1in+8P5PQ@js#pyuF#kQvfISY*M_;;n^CT|)D?v^*vr8^X=~s) zK*stl_FJT*F^vHr^5eleNiZ(Y5(RGy;Oh8{@e`RqsoOY9({r7?F}QIw>ro^rN1tk8 zbg}71et{ERLt3GhhIX_F7yPiaZ^$FJcO560VKEfrH9^X}pkr1^6W`Gr(XSbWHJA2L znhrZ%y+WA%fQ)hjaAtR@L8H>H3kli7dOLgr+0$TP2z|aWC1qqID3=`yciXf_ErEUT z=Cs-R105A~baNqb<8-2hOi?PP)UH*OY*qTN)-LCD8xq`joUYQZ=n)DvfwoC0!l@#X zk%$`wu1WArxY!mun!iv)iMn%4G0Dmux7)QXC4NTt?LTA)A~Gpod)jIB^v-SQn^0z} zan6L15`3KlEpwHZ%?-`52HR_h^>ws_CQ_!2o4gYcwo}?Eyd`;3fdWy0si90AW9oaY z#+U}w)shf?a+GI+ZhBpz9})LKS5s-~jA;9lOk?r+OLfh%Wy|hTNQ-t*mdQ0Qu;P|+ z;MQQ>R#8G{D;qR~7jU>-p|{%(En#C&tgR!%TFNJKr?7gPu!hnKna1j>)fKnk*6QwH z6EmsEL3hHsE{AT?PZx|*(A#!iiY^l6mAxoX;4NOc;r3f(^8Jzl;Y2DYFD^B9&@%&HjxVFXAlbgiC^s99ff`_Y}RTcAXo-kVHp` zF{xi$%z$T@BS>vB|B9>031&o12A|cgx$q2)hzhU9Pz>O8z9kW1 zS+9LfXHWIUCT6YP9@<#kQ)MnCrCL4G&qJ9p|3Ho|$W38$n3u3>%7@_KdYa;0;*y|) znH6gqOWuQZc`#?S?uoyt68B_Cg4e`-q`I6lbPob9<3^*}7JHKRE59loBic>z&jju4 zgkEul9yWEV@L0QsttrKUC&iTKr7}O%jO4h{|7iW?d^+mbliAjM#Ez_nj*iThE zQU@Ry5*j3zCRA4x454}XGTf~Bs2zBZN*T}tlF2pG+;%9*>B`$)qH}Rg0?jK8%P2Pl z`06^Sc&d$Bs+QhrL>RjFmCE;g2)ZFRm{`$h4M!z;o7F~n_x+UP=*0& znQCdi^La;EULE&;u%Q&XStnrFSSy5IRW8WcB zW17*R@CRqur9Q#ZRb4|VBjL7ky)Y6c+@wfxe~3eZw39lmHykDBlz18CVcwy|-qAOd zuxbP-`P2|@Zxilq!@#&541meUk(s_Ld?*UlBNY!qv;OUp#7V(SC?x#SeVQhsLs6u- z)kO#G=C!VL?HsT#N%d9*vKwtkcifP;e(o^)jqweT>84MH6C^oM6_EqT2NF(jrF_GT zqe5kMiJXL(9KF_@V_`D8zYJMMDz{AtC`E=*)w0wNr8^zcWHea=PM3aysaLxBXm8@6 zZy*)SuahZ|0&-nV_GAa8jgj>Hb)MHN?~)A5n(02K<6b5YiKGjeYlgRs)Df}`Uy1ak zk%i`7P*$aq;61nFb94%Ni5DLQQ!md6ykVAC&bd@(zI6FJ_Z2G67MU0qNi5ErOZT~F zbI(ED6&QKZpRI5`^t9ZZ>3>>Y>C94kUiEB>RY*5sBu};Z2J-B4vAWnKsjy0f!MTjX zcPR!gUjG%@J`DW%rEmw}*)B1BwfrWDwkkRorB5sMsNu^|ooMXr7jg-sG5^S>wl#5T z9ht|adtB7pZu+ZeR>W0+1(GNfx@ZLpkh6+hybz7kSw{6FDbOe=)ZUWc>U$QY@a~dD zh`h8xb4?y-m2vmMQai=v0c@pHD#(crTn6X>i!&EZc}{}Tfuz<+YVBnpiKvb^inMH4 zS*Ls`5z>ZMHC^CrWm~{1FsGcjHDoU)Wj!4_)NnRP5&{Nrgh;}-2sxc%huN- z`rBhZhL#*JO{1kENanic-;!J^Wq)7bt-K@{mj+0*H>F0sY^qUyD8N6ow{sOSJa(ELyQtvu-Fq0NS&XM57O zA2q2S*$+3&5jfK)QFpZ@JlWn}wl>p7Zbi7$>DGN6^C^-_0-gSQ65+pRX~@B+GC{3c zlprpf)EJjF02I(Fs3FXlN@2!Qr;E3yrf6enh&HA!hQ-d?vW&dVSH~`iWV@N17=zew zEB)GNyflo)%Z3C*umxpH{=wM`nN6@3^6Q#>V70^}{~_fgn!*RlN2a3D>BI7o!jO*) zHj6}JZ;VVpyuoZf1w=8&g$lb62=rvsk!$)m+fWN6o+@5=)Fn(#Jqx$E38JR#H}?`Z zoYQ3lvBd&+wbX|jLdcpds2w98w`he9uBv@-HKpWU+2A<@B4nfw z*W5K_0gD{Fteil5Ms5e?nVfq5m85U{`LowPRMDso>3`1>!6a%5JT@rsL}>E}r)WgG zH;pZ8_nTfm%C*o1p;Jez*x)sa=oD*n01NEs-!_Hd&>2Ec46*yzi^ywu9q9yFfH82S zK-f8PF(bCC^iaYmZy1Oez}bQ0Bi1eA%25(5GwyM@#6b74S0}{W8Gpli5FOHpn*#AF z+)bCTXkC76D*tNvvA$ZkWtK4d9JP!;)x=gkn{MwCbaCHKRQ9FQE?J5N6F)xnx`&k-A%kT$j4d2hf-3$8P#jAVVOl$t5hg%mL;`wMguLwe4< z$}n#@;or~^RlT>NheCHHYq2>TS#qw*tJzhXs}nrJW^g@)_Wm%9`ZHkSyJEv+@r`|X zjC?3FQG4f|FkUBcw*4Po?j7lqO&2^rrxV29r44tXA+WqnWr56<3qBwS_)m z`5Uf>hF$f8m8gh6TU#{>dawkp2i_zPgY*q80{u{OZj{Na-Gop{`lhr-HBd&C0 z;6E-#G+q9#*E$Ip-HRZ?p}iaI2Zy#N$t{YCo-z1|C-5hqtiDTu9{r9L#og+MH@wX1!-5sD^<$DH z{UoTMSB`Mfk{7|UWW}o)37X(>chW>99Z@GI$&KyS7y2_)j=Nqgf!;qu5|6e^BhAU& z4at}$!;1cbc3pyH#T!2op*eMowIA~dQFi+K$#Cdm&`6yVY)_&Qq;X3My7`?M1(Vzm zGg0$Fh9Up7D=2(5?x33YPwK8xyYLeF7vc+w$G8?`SI_HkV0iC|mrZE;j(!1}QM`DE zqzeE_p#C~px6fEx*io5Nm;Kc!?9x4$ zri-PPTa+2y60<~kBv-Cdjhw=|5%LKmDd8JI&m#>V(E>mkI!b>Md|BiuEai-I!^tIb zy?il{>J4|3r7#&O(a3@VBLDW2}V zT?%=CtE+)Kjex<95o6hG2$d_zgkRO`QIuSGcw}vAfY>OjtzogIKq?x&w&|3zNTK?E zP4qjz9z?AZycr*54^s=wjF_X6y?YS^F|5`oW+1fPRYQ0A`=nymWyr-0dPT&bti7VM zRD(IZB!^H>%Ib@`XvFpbGS$o%+0T3OMu>B>oz;*D=jC$}Nj#LDV>41dsaebxETjN0 z6jhndF$``Pr5XWC*)FEu<0A9pLGDzw8&-iYZg zP((BI6}zE*qLz~k9j&w*-n5Ksxg&>Ng4%}^9!I{~I>%mr=|B&nu2!F5U;e310S~lB zPRO~1*~@P|NgH~<|36Ds+_}aAvH>m@vKQmZJ{ArkP``M2#lm}XYY)@fcSOd(TkB2yx4~0DO%lJ^jAyxM|bEK{ShK+yhaCFJ7ML; zC{4;Lg52)v{NmQXydMtNE1pWGC-`Ms<#F*(KS3qq7&hTOUNWGL3LHWBh%6yIPD}Vx zurwTa^9elO0`tiP<;AfSpaD|+_`Qr53FJW8*FI`QQNPPco0*m4uGz3?0Ho! z%CO(Ry}bBMkT=W5e=NFU99>HSN?}7!58hPg5s-#Mpe7U+qttt7o$P0i-Qi=F?T-l}p zgWWC|^!wNhD+1NCK95-XYzIa_9PA9T>#Im4UIg*=N@b8sW&s1kxTUZBe-8YYzg_q+ zHdrVy&7yHSY-QWehW!P!)W2qvB<_#Uu|kwWyR++f@f(@@=?z0-c@emyS)R{QSftd@ z<^7JgyLK)D@v?SDxN;qyyYEmf1Z@|=eeu8W$#X6yyjA z^!uK@ZM&%15z@z=?slqwG2-8$URZ&^bMn?89~|~n7oqzPa0b%MMq}GO9gOVqhHJir zLIVcRZGv+N6vTM`X93N@%{NNKHe&I2zVX#Y4lR}HJU@q? zl1o_v*2#{0yn{;0Y66z$CA4)JP1qQYkiY-@1Bz_&jJ#u>54A0L(d*AVl2gMT5lba) zf=~>l6p%cJ@hn{cy&=Gps|mdYxg+}F0z;xWamHd7hy(h7uc#Z`T>*DXH4+cqmCz@= zL$}4*#0@7FFokMt+i>+?rZKO8ik2^+xGTiZ`EFxw#UKR8M+;la*LZ7<-XidG##(wOWWacApo{HoAw+q21fGLeY~2bMuJC=W z^i>*q+rqtx*JxMCcRqjG-v0b)ltg%s@%dBmkyaKUIL_N9sIGR;co@k0JR|2*uPMx< zv7iQsK9LbdHEE%9zHVYD)hI32?QQYn@W$y)wU0WZcq+G*=T-f5WHgWQ`&zpnPw>{Q z4Qt%O;a!mink+Cd4Ef;~18975r4qQ){6O4fn{(vtx46e#UvcU_M8xrZCAAgb;xtnD zT2l1?dDG|X{OiVV`Gzn0LRB5mwmrj`p#6gZGRPD{u%o|YT#f0b?!Mme6?(hrQ{Mf- z@Gun^0y)O}7e}p)7oA@oBi+~#OjA3|V{}Qe1Zs=y#>J!5O;HIU8c*Z8pM0t_n<;e} zGd%=?MbT8bm1Guk*?E2mRLzY2Iufb?_g}&~(Yvc(KEpnu7w&cGSKMMo36U<#@K-1$ zMSS+ zhqDQ|OsJMd8M$RLLSQh{r&ny0&9$<*R+fB>siO2I*IWYhB@iCQ5~yJee9|#z52LY~ zE7#@nJPJ`;i^aXI+BZ$rd9_f{or1V&5~6Khm*glIoXKrbx$*@fPSXgsM)2%vru12^ zW|%(Yp;+KXnm5G`&ip-}X2}eumQec6P(o$d^X+XE7A{;I>^3C4_P{(Ar zo`b4(<^i&^6*ba?N)m+@mb~y-J#7`v*yTU9Qw{_g4-AhEWLK*#r&*^!@2BI2r@!79 zyNiym`7ON5g#{QFaAL-4TPnvD55+Q3k{Y^aMSY5x$Ka9C-}9DX&oTKVO+V%d(1$Q9 z1Yq$Nb0SVl(!>KY>_t~wq6`f_%F)MnoPCNHNP@#$@kJ1gy*kD~gmDCk4P9zMG(7Y= z{xQxnVQYe~XSc~hd&O87`d7)9@&q290hbq#WTJY8>pSXltO*$=3164LM)mV&?Kv9o znt{9dNA1OwJH(wfCfHS3-)SyUTY05#-$c@(@8c4^J8%_Qm3qb}VzcRk7PMitGUETN zWh~9&(MqNQN;CFQu1RMkP*ppRAX(QVLPa(*@yL-{F1m_ujdw$3&0O8Jb>c_F;`0$l zDZro9Se*WHQn=0@%B!>nwg*gk!#dD?qR>6mjiIfy*6ah%|ufJH#G3nz%!1gZdHj{5no*iU5T9yebWuBmNH(pOps!yo7`)?f9fDcid6hiBC|2Zw<*Ai-vAHPbG%6juT< z2l7XhzbJLi0N#b))fpfwR*;HV`8YLzH49}y_n4(6vtV5-JK`GH?&)wq3}dOC_C;e! zp)U>YAV)+b9BF$g0t^wNh3fZ3Je%?0PQyB;VjaX#36C0I&_ihD%5Wj4M}vV`{TDmb zeZ&oq1~2#v3}DC6*Nwgg`;_P74+yQgviNjwe|tMV8Sd_nu-}9bxuCPuac?J8SQ=EJ zem~}vjZ@D()*)h`p3>lt%Nm(VpGw68Ytc)No75Gny(DeqwCX&YV-^;T@Tj^o$W5-( zyiSc)@~O7T(pL!@j0|1TiJ;e952EkfS+73>TK@b}GjbzuP~1~mp-|X@ z_Inq~i6}@b5LLJ#JCB2i$7=NxPR(spK{ofhUM=l&qZZo0MZklr%=24RFIO)pupwJU zGnIQgZV_TAm*^Jv;eK{1^PH|UAq^hWCr-yA9}NfLzH2P)%2=;jr5MVk#u-&p?ob73 za-CG@y5X9Oa1DXt1MWptzkGEcdcHT(h8IGAV$T?9kqLwy2H zA{_}W>wv6sF_B1;Bnc>x#C0)`L{M{Y7RjLIN@yO<`}}*Odn(V4AyBKV!rU_dWpRLGWKVBnG`9Toqq2pIQ=nS6okHF!OU0AY&qwetWawm7D^o(59LsQH5d1w!I;LFGK*jVE?gjC9%ib& zs|eQP{Lze`z3Zsa^WaO*?0fLV#p!4X3T|2@@0um=8YQ_z;4ZrMS)1qgzC<@2>7TvZ zDD643-ks|`izYqis`th9&NvDDj8F5eH2s-M)1T@3SYs~vY;ei&g1-pa@7!ZeJbOkQ zwuV=kj#t^Y;#F4T)n-#IyjnBNE%rQ@4m5I&^eN~~uzavW^P1IzMVjk06dqwYx*yOP z>^zwKSk{}UOZe{RwR9dGdE`2&ywS9#mYr?53wuO}k((mYyur8R`i$f)z9lz>Yq=?0 z%LC(zA`co@6nV{;XcQ-X;0vn0(aG@@gWLj;7K}}z;Q-x--mo-Bg6>zC0(GkO3D_@! zeJ#UhEyL$JLownr#rq5_{Fo<*UX#xUcojo*O0RkOSAUGU_%AbvcP9huX>p}|{Q&{QU|8wWg!lrCn*e86N9~_oC~8P`rB9^1%}JXC zVh8`L)!Q5H4_;_cR|NN9?d=T6tFGRHumSgW_R&dkfpTp8ROI32br%d_i%aIY zwsnpq-|`wSByi$)amK2sS&AQzteuYX)o@dR-u__lBB{5}h6)^6?95lsl^~T;XF}3rgxU~<6K#^w~(J1O{JC55^ zSw+o6Ia954y3dOYVoDg~7SaND+~vf1qieJp3}|b366-|c_V!pMs6d;wCt0^SG~%!aE;(>=JzvyTV*D7nYKQW>L_^@vW|&V3;79 z9$K(~nc^6^xy$}SD6=-dd=TEh!lI$CI+7(G?+>{^thM6D^44#x-TIBSTfagnIzS`Z zN_I)ccZLa*@AF&ZyI8mrZ|R0@*G5l2Ch{1+nlO9hDJoF6?+XWBvRXoOo? z>|FhySEaeW?XJtHN_(kQ2T_mwaf@WE&d@4nnk^2i4+81P$-Czf#lrhiiW$S_Cw!w> z4aaq9eAf!zC2}_2eadWGWH%ex_xB&)zxw>!*{4@Oe_F5Y)06UMW_`I%voa#f7GWuK zy9@h$)(4t#(1#qhb(65$@6aZHbe&UhCUKXCW82omlZhs_ZQHh;yfG)X?M!TEVtZoS zZ_GE@sonbaYPYNU^50ioU44G%oaZq@uF2(p5lqqV4{oMT1RV(1J6^&1at>}8(Ga76 zLUwnnw*>hI8Uf0fk^|R_&CczDJMbP3;k*N%n-S%P%x4#m0nD3iF#7rD4iDTy3i)+C z1pUwS&0tx_Xoxu1jryo@JNQ%H_zuW_|1{J7jAJ3WuG3J$zKKj*dHgq-!;SI_#-{|X z<1QVI-n4kO~zd|hw_H8#sB82(WtG*{Mh$@nmxjyyEaSl zUv)Y4oNmd!dHztNx>!4a0Ec4#k%PR-;kbh|IZ&Z%p%%d|$u>dNk_6kwREG;@u=KDx z2knOY-GNW3b^eHs+0m;RGaw)aIc_iee2hzIL82@X0k?>NxdnHiwRhjRKzY!>J5NlL zr9GLGSI&-AaFj1HU9WYsHCn0k3ce+g44=gOWS={>X^o0Lse-BBuOq0xl2pK<)AXm4 zbNK~Qs^~CU+V?oy%O!A3S`)AXbg&k5>%4?zc5F_#rg5jPGszR@RXAP}lGvxZAhaBw z_~1y$U124>W!ShprjPXzu(*`%!GeH6sbXUBv0pj-x}9NQ{D6>qy69K!FR<464V@ zpPR8_n+l;BUw6^zsjB_5@DwREtXA0iyrqwcJg=zU6iJtsw`TRHor+#fEpv= zSr%FM__bw|$>x*1q)udSHaUJV#)fz9Ggcn95%*a6EBo&m^7t%$0EPNyrcj&+Cu&iN z9{(C<5pQbUWxr|a789`3HO*SsXac6ppnphRpGGHEJr-YPbzL;FJFb|ob()TyVTX}D9b_buLg~?L9GY0 z*Z_Y1x@}DG^qW9zV-_-kQ!PX$y?r<_+9n#@X)&yt$G5ZYC$-;u@>3pL{mI(b*3w1B zu@?dF&(AjiUSH6CHm4xS-R`-NebcuM&?LCick8)Ly#3N;SO+2oIQHI8?)g2Z`+qz= z`m~!8&w#eFiKoJAZl|wTNF#jz3Y1)KUy4{rZGKh1KKk2w^;bto>Sr^Bc&;d_`71kNEqUyvbEY-6y(SEY zY$)duxrM~8_k=`N*CKXRD1Cb~rWU0$mMaV5+zk-CkV?uV5yj%}%Sy8U#;yXe^`6~1 z?DVVJQ~iAy0uj`S6b;>3?NICOSnVUCA%wq*Tq2w&M1Uzk%?_Lb2L0*vM`LA#kEa_E zr>&t9snlE>3koSPm(0nCV{~5?SnA%Zt3PLMxMZdob8kSj^-x@+WLua{$i(<=3jJ6} zeB>ad^kP9KlXnV^U~mS6&pg-tJsGij6k7YqTSIf6gNn9GJe9mAVLQ`lXE$vx{N(V# ztoy~i-d>xz$(l-gZ=cJb7{F2K8i~8=26J1dC;$+Dbl5NnqX$s4qQCUZ&3~CZKYUp44B|`=SBfy{#IlJZ zGg8t`ksf-Pf`j5oJ6$I`_}qd42VFHJ@*qJ7E!)v9~ra zxY!Fiy)2)PDXv8H<=_x%aLMwNLh(fd(q?DF#RcijIR^|LkW(y^1jlq#@x%))x~1Y` zQDiG08R4N;=I3|ioUVJ7up~2BrEyFy|DB{mq6WK843@`R=%=J|#aSht9w5%(^~c?G zyz#nNySSE8&xyXtQwi@cn@#6?{ClZ^)e013UJkM(DfpkZzLq!&ne&!de?u?gP(z6h zJ&+Dx9sBlZHclH)A>ZDPp9rF~0y=kOS26HpLpLEce9&Ixpn^Psyy4<^GS?#~uhMqL zV5MWVxp`ruf$HL5di}Aj>Zp*sV_;>ozH!HSeh-^P(3op@vJMgo5bgf%?F=d>-gW2v zo>wP(_tXw2)oXnUG6)lQn^${w!{vWUsfFPj*Uxwkx5`O(BuneNgx)im_-a$KY!Px| z#Y2@9ubPymNV!D~`>{k#`Ox^(eiF6!47Kxkkyl#}Lll4a=>&SVw|C%scih7b z$YyssZ~k2@W+sW+Hfa0M>W_(eKiAs*Q`w$Xh$1fZMx7JsDV0lzjajS|F^yIx15-g< zqKAVQo=&2GS!i_FE^y%FL$kf5OhFlZo^)#P@0UEPR&%kqbC=C|FmBDAb>TNx6!H=A zB^Y&n);K>+TC0AesNcRG+q|O9=<}BTpp1yYZI+c6`X7fTJ3WyP>nVhI#$jnZI(M}4 z1oYbU{YB?Znp|9->{_vxObU}pO^WT;K*`!cdZ$4L#^<O^xU?WyS~@S0Wd>~&&GF9!w*q;UCT{j=Th!NfgJ(vmi(`q(;~oHKE7S; z!-KnlK1I`)8F2iiP0=7}`$#eIMb*-RAB%z%X6tTjQ zsZ0N|)74JtNrBHZ+(svXge$8oq|HCDckX9-N}8S1{zsZzFSqP9BNW~CMvy)u!hszb zWqvXF6{r?;UxMmL6QfF&#nbflr0W{+%WNkCnR@KUmgNmr+KPJKmoTG8r5JfY@US0? zj>Iz@K700v+7+rNFdr1kU3+rxb8;fwK zoUiDG(~ck)gb*tF@%txmw-nHPb8~3~Jy_`OW^^Uw8j>!sgo;i2;w#|i4d1ilZ+%6i z9l`r|pw}JB7bUvCM(bs3y`lbF7YOd>I1u}tD=)*6r#MvNGfiSXizslSs23iAvUv&PQfd| zfPHV{@PlOg?3rmx0t^U(%=j9R9dd`QM~XYOY;PMqfi43%%?68u6FTH8!hrdV?kGO{ z^_TMs$W zzQRU4K=OjEhcEY{)`#4QZvN zpT+@8;HDuB@k%+Sp$NOMIS;Xl(@Lx0#_c9$2#6u8yo%i!3`kQ9PM_AdXxB_HBpv^F zAuMdcolyG%XOaxI;%a0oFIa;^HL&YAEpAv4;Z>=G#!ND1S4hpN!zW_m16SutAodC= zP&`jLrU{<%GP&flv=Xd`9P=(cs-;LtsHAcD%{W%_A6O~JIma?pEzFeAk~iPQK7NcJ z_O}>s4m&le(_7NT4G`nsVD)PL0?SC;isb`&e+ZTPhcFO#9XNRd^-ohR^U;kD);1$; z0f1fYKL)mr03+2Qm|etL?`92*(_Sh%*loeu`~v00JGNTd*X~wIO*T9O?WxkHee!g^ z$W@Zw>D-v5>xK8P&QoLNd`o|H=qEna^St!y3KU&*hQP{Eu){&{1ph%NDH5sn(=p8k z!<&Yy1aC?r`1|BNE4<@v1_f0-EQ0syJQ^&&NoqyIecrct>&w^Ej;%=ut;*Zr+^Blb zIQreE%M-7Lq0cKgZzMM*ARv3NrNf=ZM821jnA_2LZQj(lvGM}t4^Bk4PT?wUL z_I2fvkdl7QyDV`ciYNAN&Xhi9#IGP-LTTk}T^IVFn~AOgEI_7Sq;gzCl=Adyz$^1S z;|HH^?$^aWVgftvWE+q)obYFRU6yS9>R2xxupa5@>mBeFAA25!*R_W41$Lh2?`-_6 zRE3LM2X5Of@>{R;lZY&4)^vfWomLjb+ruR%>8wkZx%)?NoKOq|wDH_+2H79kxXP+& z&gRBHw34&&(xGMcaCbiN)T@|}$5!eIE?kDDsN?kQ7)5HrVy{q~9qc?x34;2K+KaFC z6{pY69hq0n@zJy)G=WSo%Dn23Qt}<5HU8FehkFuDC1x|PX<*v@vZ4S2I zEld)v$el;6T7i~$dVeH9ZN$FLhwEd=i zbO_=>3%1BRk1{0MoQ#H;?!4Zkx+A>USiAUx@xK~J$Zo;3ea-kl1x}J zf9LlSA#|L?ap{a*^GE}|^fhMhuYk*GDA1?p!39%ucqu>(g=_;fFRj4pRknEhLW>a1 zH$J6OV5xa%(9-40*c#tHACg=AVO}^+N;lfHsIKu@XG~?lGoSw=~5w>~($%&wK^ z&TxP{L*w>jSw`Sf23)H?f9Ih31?-*7{oiK3aiE=SA6lU3_`F41%FD|aI%^k(pfnBwLk`rr^yuxDsC7y9 z{MV?s>yyr-w5+7Z5=x-3AOE?7JIf{xp$$7m?iq5rX z1z1Gnym9EqoOQl&fOEFoFO9?dmCJRz0Gih3Y4+e~!Y%xH`^2f}e`7~5d{%}hW_%u| z1f23*yzRZneS@4WB4yu;2sq~rN=3@)-*EgZ#u^6#4#|A8JuQDX4*danxTFYqb3F$S ziwipK{_#2cg@IZ$U-JdpI}Nc0yaj@P?F=#2N(e20`*Pzy8EX zv&nMYY*)IrH7e}H7qLm3TGFeHLS`VL`+~FO8$cPbKJjHNIA0<+1y2NACOtK$Q9 z10O4 z@e6EOmr=(LdX&n$T@)mbxi-brFJB(67aXbiTr6%P>5jwOp@wqAE02T9FxJ=d1oG<8 zm%_SFMsS3SG9QX0OATF}8ij?>yK2ZJ3-KbNsmqlK<{Su3A^GN*Y#GBWmxqua;=|64 zRo*TzG{sz5VT=l9i-cYw8y(|U9$g)u14_n>U5l>4Y_Th_P#IRS`~WtE=OK>+w<*Pj zjX^S=4a^yaSOocfh9islEV2BWrL#%+YoO{|x-Wf~6_VDV-Q30yAz9Gm?DfY!mVsNt ziqbo^-7hW|OX^=AVh<5rgIm?Y4P`p^ylx8bC}f_Op$^7OZaglGE~hKo*J+vx3X(Pk zMMI;?m*o6VMSyb_qLF6mTF%c|Tum&5LlKtA_{hIQlsv^fo8R-yu? z`6x?|jC|lYbd#wkyHd=Un?p|VYS*p}Lb8s>E1I|H601-tWy#{;*O6{>F1Ui|S))v} zsZ!ReGf2CU=29cP6hDZ7^%Uy(`j8?%iW)SBxjmMe58a61Ho53q?yf5!YgCvhb`4)p zU{HI!Ra0xj2n?@`l4~q!vIopq7}fiBq_&o$qRuQ>O7*be(Id^KDC9{9 z=rTi9W};FU;S%(@`O-9on4X`t!+4A1{b#A!M=Kk%`;t@es2h-l7**EKlk_~FYP8=x zle~r|?yd#U`*{KuDG}W$Cp|;@rISGNhigPy6I#6?ZGmp*KTPWqq%Lz6!DHNoY0nQ4 zCqNuM^#mpux>Ecx3`i^_#G1O#6 z)xVO`@*!^X@^pXf=|u7ZE%$XmWCS^fRoLMYzD}`;d{NXSkE?;2s2{fH8Afsj9f1B% znz?ZZO^|vIXhd3ef%d83`{;`&i1A;8VN7wfDS(4?6`lWQwv*oIw-ndyXJG>R8D3U^ zQ(V1O)7rV6jLYoKERAr6ljz*c+FGXn-_~L;HAi-WSRS=aEQL#6jopXDVSpU*8kRFu z<6N0w&f3qr()8j=7u-Js>> z&e))qt)U%W{_2)*f`wjPL5Axa=S`;Ug;}3g17G6hL4en$WsEER`7P|<#0^^m`Aa~? zCCSsP+U2d*f@Nw>A>z|0m>vhME$aSypDvB;2`&3Ti^o=I1^a4id&oLTdGM*U)q#J@ z&ct48LG<=swgbAKq1u73r%?u~&Cr4UBsWUtcA^g+g@3Q(mIo_sgmk&Ml}gAxD)e9l zd3l*R!5rtngzU5AX&2r?zlX>&M_5HNLvQwePABHQTAvR$^DZ=$bB=BHqEQCkI0{5V z7$pq@Ca`-)UqV1D_1uhHKB#b>5J6L^Iy zNHcuzWgmz+`%4sDpZ4^5i$7 z+}Y2s4!uA%wS;K;Ncl9NJ4AzK6=VAFO-;x}oq0Xp@&$IVs=0n+qHn?SETVHj)mj(* zy!+jLD(8>)XX(o#Cp?!BP2fJ=F^tnqz+v0p?Pj^u>F#G0UD2&6ODd#AC?(=cprL-5 zHzrx8+&ycB3V5om=O(=pgO}0uHt(X}D5-CyRG_gGKkkecA1#%yKIS6VIWK5e1Zjva*AX zoJ8cr&~B!;FfsS3`~v@Lh|tIRvV(m-ztks^t0Flx;>RTCm44T2u~4O!fHg>qNVTvF zb{+~vweJQtz{lCT&ut@s3(lf8J<^Or-1Qfp1dGz$nh`@FS6LIDfiY*dDwCSI5v9^U z{jj@$`1}y6q(^OLIbG~VOa$|IedzeqDE7!52risAs-TaA9n7Cgy14Rma4*}-nYAsv z`j^EeWzmhWqUtFD+hN2UPGfcjrgFlCow3YQT8om08tE_7q`Aqb^KYa$oIFf`*9YS! zWk-%lLjgBQM5DKe(fw6?h@ZNjp9ZHRi8s;qUF6&SIJXOTAj9xa*B8YNT^AU_u-^>a zVX{xax_LPyA~38!3Mj$z?x?ZV`6&p6I9(GJbQ=f&MUVkP-(J zS;J&EdyU(UHz4gQXs7I*%vXT$EL!^;3js|?Q zEr>32Y)&eux>;0#`R%Zwp4a`Rj&$q&IDPNWWIdq4e{nBo9|?bnz^8x8_I7{yD{0=r zLOkKicS}~#`>1xxHgy*rV0t1EElki*FOm+(^ioqx>fl7qhD}05ia0qzZzD=BI#m<) zk)6TtkJpuGg_PoWI=6STKv1Qju?82bpaOW91L9WUAo{;!Yoc1}uLTU#2D=mc)(14s zYVTRTI^(4YJ3Ohl+RJ9!HU+3~;xA#$nGfp2gausO-l=_Q4-yk0H}T_!iF1EuyXnM(9>#0pKP2+{cg{wO0yK$6_6L!CM5K=2 zSX6yi`8x%>T?>;TIX@EMY`t$P(A?uZf8=z^^0dkPHd&dBoBL+z1fh!%DGdkMH;Ywe zGtN55;Ry&#!ILCVpmA&b_u20DdUb}$7-+sO^YVT$fwZNkf6G5khkX*=&+#E7-&-AMd=0VO?D!D+ zp=96o%V5wO}fe89Z*7a4|eiaNQ0glZJ(6bp6*%uQe_9>{c;b;t>4q2rQFkfw@OVHpZB zSX$oe%m|T7Ld*UVmNjAD?sEQ=o>?2+se0@VYQBH(8|y}@3krh0%yEUpz1+w#yxpk@ zx#Cb$0vRNhWRACgMm65)EP~3|xnATF9aaXK>afzGm{Gofxg_~l@@P);MSswFiS;F9 z-IacC`c8klbeU1!?o@|Td0)q5P^$4a${AJoy5QeB_|u7YvFBmOdfok^gwe>q-{9-M ztrt+EXqOo$z6lu3kpW?8hP=z?a*|aB^ol82Qq%76@ioE9GcHtPV{8%4h zKG9yh@P_&aAtS=SDLU)&>4k`^u;nkYJVl&YsUBLy1CWU@j-EMDUl7Mp;2FRQ*p@e^ zW*h;mCh_E4>(n4LDV7j-2rdQ=aem%Z;tw4WwDRcf!X9@6Yy++mqX47)wE#1sLSO+2 zG3eh6#>Zht0KxEhK-0X{6seA*|BYONHZF`iSV3I3x9hq~gCqtIg;Si+;wM%*)bb0w zDyP{fdYH2+jSzR^vL3dlVy@Bge2Fhgq#qcGkvtkMjF5q<4IVSj8s#mTtP^KOO;zo* z2q{;kUNRKttgIjVUAJRe!R%+*<;pRHSm&BvG!Mcl#Npa%#*M^9b?3a!cI@9fhpDDi z&5%J$)EyEMe?cOWU&WC?tTFOPk%O_{;JbxC5rJ$9s;j^xg+KUExk!GqEyE2bsi;hg zP!gHcN)oXIPLs0}YV4T*)F}e6%z=AeIJJd@FD4#ed zs`gYtPX2+Md;^>MHi?n#`N(UBw}XSSZ>jW@F<~&VqM&(r{^5jINaBSz?dm#}M8=z9 zhGhwnyf=u2v6vreeHcMU{7YHF;gCD%5{=kM?kC3Hj1e^K!!l}RI|aq-Pke5hB`2dJ zf&_o9Mnp=hbY&()YJVt(j}Lk@$Ab6KC1kK91sl*k5lfVUkP%oCx7`BL2VVUMkjtZ{Nt$DO%@qolXso30)D+FhA~_9_~FikJLx6Mk+i&LxaO(Xd*7ebt2>?!C33ci05$PQ^cSZ!La?}Tb*UfgayZ2 zE+RjtP?Zq#T@8%VsbdY6reIG#Fb+`fpP*;!vDHSTtn_F+q>YiZ~16_$&?8~u$zWEmr0(X>{nOKMw3HGzGPClak_5|=GEYy^imSec{G>0FrE6}q4@`-Eu34iLe*?SO1v`06 zVgI0z&@9ei<|Kc_a^4ypxHAYYL!x(d0 zAykVWW|nDJ691~;*U{R=%iFV&f=yy;j0!$ygz-_Hs5cR~vSoBb{-to}i73%Hzd1z= z+k`Rcn+hk~FpX7J+5=By5$0;90^bij0pmHA$j8EB4*$kpGu@@ysc%}s)4^zw$N_N< zMMqtK4y^+F$>=R+pv`Mv|TSYty1mt%9WGj>n0yc63WkLgz1Gd>rn;>$IW84=FY zf1u*N%(6Ld+^hw{Oo^!>^}rR6qQototVA$>8Cs zy#jj%rWync^Z;BBQhyV*s$OkUtwW+5JjA9`2B>0Prh~nRCCi=atu()>s5KBNerEl2 zD=xW@Dzdok5z@r8`srr={bCP9v@Cw@#-W{kdG|54G9*I|H-E`aV9A~cK3xCZFG)^F zq5!r>;h^T!?%7c?H2+_12YR^hte+@dFSRD1DiIN-fb$YI$r-9QCX#1MONh9FzW<3+ ziEDqWz)DApR}exfp?v`zLGy!5qP7Z)NjRHsNrr@ z^s>j@nW0ZNnQc1JvrHicPH+8E>)gy4Eoy$(dUYBB3?R=Q>kzn3RVu0dsApXqr8T-TMtS{eWvD-hSZF0Mq`c=VUTtk~!u0{t#ZIcah` zPdBO_OsP>yXT~g`=ok7gmi!HeR%SU#nPp(T;%I&DJ$EG>v&A3;i23w(Q-u8~bG|OD zH*g$w*vBZ`qdy^u`g2=$mg1S!iVFdi`Zjzb%V_H?PlWe)35i<9dzmNZ8$^ocHLWP( zIwFC9A}p@=L5T+3V>R77qysSx@>_^!{pD01IOBJ#Q znd>MCc|rBnKt*kgW6x%@us87RapP(Fn9$?zhS8qIZ8x8K+u0BN=^|@?u<)?&c0A1mNZGO|3Z=$Tx7~vscTrDhgk(=(#I-{i zE6!^H?Orc0w+C+%pH`gP-XQC3vewY&u4cy+N7lDP*dWtMCA!mtCE|5b48G@!3bk7k zo|%=qOkV2Wkz78&$U)ZLV$017Ljd=~=d1tLg7SXE?=W)Z+U5^BRfN2mW$_Vh?J^?= zbJseg#e)iXR<7ifL#PmZX#1)kIqAt}-p`^eHDT>XJ{Ig+)=kD%+4+rF)$8}7jbNa~ z`?44R{Rp%C@U7FC?tP6MT@I~=pI<}yMSH1@YrAzk1u>S+KJ(9uv_M$gds&IR8a)Xo zd_87sw&~=Y)o-R~XjxIS_}zb_o2Vx!^@F?wj@Hu{e&@M}YfCRvZ^Z{*mg1408XwKS_T5L{9WvNMKHdiGey z;w8jJikEBz^ql3JVJS6A{DWrI5^H_titcB*elFq)0v%%09F`-nDMMaoc*(96-a_(5 zQ|A;J5tgH;9YUAEZJpH&m|qZ#cZ1vpvqGHEwh5FSJ8RA0?-HtN+KZowq#a0=t}s?# z<~Kst*gx+?3j#x{M_?!{eo@v1wmO|ZMq{ef#XzoqP5hX&3b$7$+{~C}oXzaQEBI2? zF6lJKM6YxhfJa5UL6_ECq;ZA_#~Q9hk0Wzt(*7N^hL!e9M+<|m`eWc8-%SG zF&}91qCila{82mQy)ctQ!zp(&?*8Obu`l*8mB4|rnn)F3bOavn<)Nr#2U`Vv2x`Qr z#+RTznKA~kcC2WWpZf2y?zu7JkK@rTNY~DvPygPy{Its{O}m_&{&1UMwD%7&DeB+Y zX3(uuU%lW|DR&4r1_%m&E;h|G;f4>lc+1yZWK;NZ4>t>%*T^m#4jnx)$t1`*=Z+#h)D=gSs&r*h@bXXy zNxt@>7)iKa=@rukqwi422>MYZQ!C#e0;9kXAs6gXt3Po~aqEVt3GIck&)$S*_c1ua z=ZwQ^_oiyEggJJhLXi?%C)OQvFYWjAf-%IaALw=8q~{Wl;l03k&zT}^Kb2vtV!G|? zag(m2kQ>yAV2R#fdX`RLKvbjsWQ8xISWM-0KLGE33v|a+4g7L#SREIp_Y6qg{7rwHknGcTt&ujfQ ztCu~uhqo5bhL^U*&f)k!| zZD|I$Fs_gYjCKt==9dWa?^1urCF0H#IOXDQ;-#P=kAmTvUQf>XqfEXqk1LR&h-x7p zI2C4@TZpAsR?n@%yhC=v*1aK9x z(6zl)MW445C>9-?i(0Yo{$c4E#FRu9>Wn4Fyg3D`ixGNsT6Q;d?E7m=J|>1qYBo+G zke1A5i)9E>wV1%=9QJq3krj*tj^S33EgfdC+G1J0|OKI|AyH7Yoi?x;@8pQqi zlQMK>lxFknFsvdw0zL~D+a)ufTmE}hE%u)>wv?6~x4(SdB4i1_bV^jt{bT8rD(sWY zRS;LBh&~~rgvN>VsOmfm1H45RcvVB4Z<~f5QzVj5pEN@gIVSYH+>XJf+GnLRDO3q) zcy>NEz0>5ve2|t;MG9(qvplwWq-l99-!pnFH-_9Q!YN79r&}A3j*Wm!;50o)c_&57 zH2Y_m&F2wEYQR*=>O7H_jrYl}Q~`%uV;wPIF0FhPO}|TIo}~XSiip{A)S}H60vx-C z@H(4EP|CtXz2TT@mg7=W^{;;Fa)UmKka4UYp~tRTvnnkzNF?*gQGgtVQ)iV`FH2oa z3Cjb-i9W{+nRWWzHj0#r$>@zA5B zQZEl1E>asq+{Yts;A*1?-jN~=R`gHu>wC-3*CW|*YwX+NwFqv(p4t4pt}3Iqb^p() zOvHySAMj0QEZJDif#+*M!Wqv)|DbhakBHi+j)Dk1*m`(=ksq3k6KL)W4989BU9Qmz zz=ghxe)sn@qmNzQnM-z|S!v~;5MkjDReKDA?oSSM^7PQ*GVvq_f=XGlyN-{Sb;oy=k6-0w2ZP%FRhvgVGh-etgPVD=gA!$ zN~LQ`RLeJmn;f^=|C7O-n(Ov&c-mR2Twsm(8-bTJPx^}`KbVSV8m#eVm5RX!$X5o} zaQ*s^00W@nY0mX5l1iMg1SS(MQ4apX>6<<)Pqlv) zMas&<-o;8p-BHp^xq1;wJ&(j~Rf(TGq(V`yKV(GDAN zV;~^d{VdcJlb(ehopW|3we3>A6c|(6nT%ZVe)&S9fB!e=3-=h4sX!HDKjt`YYw#Wa zYUFz3_&T|EYn!_z>&fAMamZ$^YeQpp`-*=w20q)PoKQ=DzQMEgcWoE|C~{1a;?O2G zd407jd1CL0w5(hHk3I54<4}^9heH#$~Er?iM(PQVY~%U&M=x{)Tw<@P+wrLS{$%QD^3g0jCJ;j@_-7fX@f?*Psd>TxpF*>(=7B=~z3D&(Kn!V@W zQdq#MYp~^aZ95S@7LLgKF6*>NROZraXD1{2x?eeUNY`n+CZN|2EfMd!J7Q$b&sr8@ z+P^inoG+;8KeE#4TSQG}CVmoOigk4O)}PzqQLcnDv>2q#%77c1StR3|_$w>~W{I1l zSYmfJQm5_471Ab$m?Rj=mseJZ%LmZVPvg>7{*v1X)bf&dor7kqj9Sq_{D9fHT^+gs zO7EQM;?_-psOjyhwop=PVq{MvNX_UC8u^pTD{(g0z~77uC~xGz=4)ZiW|M5DROK>5 z+s5h@@F?34IcW0I)~bRqaT@Xq(!Ue@iBoUr#{X1i%b+s(H@8vnDD&O{(5W26l~ndV z``{DPv3?p}SB@%;AIDlQ3?C_W zE-CkZsCMQo+69Zn-)kz)e9*-k;+Xd%fSZk;&CxibL!t8)Phl$Kq|{aZTXK9s@tu}tBUDjP~+bxhl<_(UaP#U7ucHQ(#Paxg%;P@?`x z+!OQFYnK7Iy(g_eE0Ji{mLz<}-2+z*5MrL)!n7~&^=N~88;{yul_B0Yvgp&`S!LUSk!^1HOIwsT;5;OJQaxN#_o+6G|h75UcMOC12gi(JMcF%Gw-u! z+Hx0d>C_2iRj!RTW-H~?l$V|$?FS%97{Bu*O0kuWX&VXC5@_7Pd-~eMNg7!UX8**@ zm7RWPmN7xKgr1Ed}>pji@bDhQQ8c<1ro+aTR*P-)I-xn5d9 zQU*A?zIy3)xq_Y{eFzr4>Cd%;_UVsZbmBR^eol zTYoR}#ew`93Ss9c)=;W>`FWAMXDE$|n%QQsVC}NzJVtZ16d|fpVwu=&*HizquzLd) zVY2vz>QQ25e$#a;F-Nel*^7SNdE{GZXl9OjDrQO3{h$g8fMsVEh&9{VPrR}F&gv+0 zu%{#S%5J6IDT)lWyk_mv^s)8E5+TqbFkL*n>{;WtGvmJZW?^9rD|aUxVSYNMYbD5C zT5f^D4@u+t4@?vdI*!9p`FL)CwT7ae z$cZ&7mY17X{aQK26b0WW@1PCJP-ESPqf&MA?n9e_1HI4H;BSNl@bx`kydQ8r8(j1z zkx}(1A;hh8zU(DlcZudr9hH)TK0aRG4?es?i$!%z(iq}1VWnJ|i7;quvEzTbu39?~+dnoBVcJ!`1Nr*mf z_a8s)alS^sNOBmouVDq=h+-2i+=XW#O+NYuW|L`$QgI6f@rofWca2^KGGR;qeC+Q$ zt3FiT@0)Q5nFJuA3A@RbeccKs&LbBOcpRhQP@euBvob{QHQ%D=o>3$p9!Y$5ISvn(ewJ z2axz8H1biu*W68vrkJ}JA9tPAz(`#i8UtF-ORZk^?O$&qvQ;1Btp}tX6|gY%>xpWn)_IH zlr_{wFs040%8v?op$j-`Oa?-Z)^7J?qf)qymhp7@d5vsTrWV0v{Lh}I8{(2=hvg5b zbZs}|Tgj}SC4aReFmHY{OBnBXrSQwP*e$RY^ zkf~S`R2}5Nk-}}^Yr1S3ftz&Ssq;(I%RehC^&YsyASyLVk!bW%qSeO8xOfn5tUUQn zfv8boJ)-DW$?yz6u{Qo@9Z90_mn|GW8rhO13!!oflQX-zwD-!% zXm#rzl@2A}$C6YFR}uJnbp``-5H2Bb=%Sfzg)tq9bfaYt*GVXOqyF**c>AF*y=4)QB}QrJYmqmRtooa z0;03_pS8;8vJl2`Z11{6hLR3>*05ECF)VLVb{Nc+t~o6bUEM5oD1R*WqmsQF%f7DM zR5l~_=+1_CD*d=(GJ&yT7?(1fnvmN9Y^L?Jh|*PKe19;&OHedoe!6S)+~9(t`kZQV zR>t|)!my27T@9am@)W|@B_tiekv8wIRgWk_lW15EqFS#ZymWO9sg? zYq8-IIW+18GVr?Hcu(K!UOxN}U|dFRjMyhY7P0x42fZ@1rn z4XV$??~JSjCq#$!rg=9ihoMvh3 zuG-ebAs8-4qt$NpFZM#Drp=m!CFq%m24>mLVJ_*v_dwWMmFJ!$i%fqPRa64wp<(xG(sdMumqH zHKvB@vFnzv1kcDng?>KVNHZhqT)s)~bY56#LzMa$&DnkIwKi2&Y?1$m(RyHY zXO##`V#?@3BPx!6$4B9o24kL87&t|J%V-89haul=AIv_2RsmlV>Rb}ND_Tp7a<@m> zpk77o_Dfyf(4N+$e)$6b(l-h-lNN8{mniF_*i1h&$M!Z-4Ba!BxQF}>b1b}Af4p>> z@9^Clz>vt)3Y)M?h2*-j1J>e1Z^Z!QPSZDA#1Mq04U&+TGelKlqXQ-&8+CXTCNL1; zPJ!t_`FQb`yy5UnEfH7ba2l%1>#uu0tj4B8W4mr)JdOM>Mc+^2NwKc#g{*!ev@FpCp;s(k%Xjr zDwg~^BoRx|>MME$R@OghTj;q|SBcMtHrdg&x*#Ffp%=30MuHh6qldVqlY1iI5#-(MoE% zM>Mjme-JNEWB*rJ;S(>7$pZ9V40VF(o-XR-4n_C%KNe%neB%&?N&c@*+3k2;>o+K!DbzP_r zwUzYokFoVZob+!>x6K$9RCO2+CfeLSO>Oi-WJPp;%BZ>V5b-N-llELJ zGkkX4H`2@vV=sP&oGz{SoFfboY!bHI%H5r1=b#L58Yi>;cpHPqwIeO(RV{9(kJvkF zVp(qIL?r7WZxfn&VB)JsO@juF;<7t+oVqmL$~D_ITubL{lgrAJFLSmYl;LM9o|?1~ zN~co>85L)}$1#}L?KKz z@kJ{9-KP?dJ$$tavn$hsRQoN=Y2XEj9mA3~vYDl9f2Nx2rAniGD*9VQsW`{jRhzg=m21G^w&bO(v*HT{z3gcZs{XdI@ zJa5|w~ zH)#X$2y$qb#(T!mY)`ec$1c*Ov99G7Vd;`{(=$ZOa_{9(S_39~Q01hy7=m7?5W1)s zt@RxS;~yA*>}FH0v#Rp|HRYVos&z$veSv9j)VoXKP|^6?0|~#hE2UYzst&CbWf3VA zWpCB&BkcYd@Uu#q;Knn?O}_o+-6~Hz+l^mifHz{+F{fPHOQp5YLtTy^KMF#(plA0~ zr(J>sNFAUD!HI?sWF){?oOt+Ytkv_omsy8>dNCc=9pSO8f-a*_>3h)LgQm)^9($rV z!9#R$MYuah$PP{_Gr)P01Cw_n)}TrXDX}yS6|7j$tnZs`iaQ&lmA_X!3R&x-x=cM7&l$u@Y6rr1d*u|2D50K zGw|vBR<7_jcOy!QPhA(cnt}yJld5nB`{}ev+=Xm0v@&0w8^ba>zSQs!(#av?<(yW|H6VHJXY>BeE7JVHhI3+XT9tg> z6@>7r&&3%Eo+i{lyk8qR*^+XQGr@H+^?{)F6k?aKkQWEjEEzI9Q#hej*Y9|hB^lV< z`uThvQO0H;Lv69Db3qV#$}CH9Dl!N43L(Fx`c+r5e=5`PIg_JjH6ibEGKhVz#`?eN z07x~oN$W(+;-keZOf($ZyA&##Iyg;LtBOz5E~`ylb{!(sX5BCSnyi?2yOx^UwLVTl zgPS(~T(WpyIZJOuZ5OVYX;fL8STbOpt);3qXE^}P!l}Pu z&MMqs=F|*kZ0yHu70Oci(rjv@k(Ir45pF!tzsSQ~v4K<-ykw!?g~GM-7xaW_$a&@L z5&+Ef3$Rh$%zAgj9W2(_jVo1<-2ZMCBTgwzA%l-$dA~k-vh>2?xMK z)Bx>9P2GjD72^Zhva0KX%TX=~(h9h~#3qB~%~jceJK@&dVsQk@c60$+a;|N7spbEt zYg;9AUa*C!z2<|yEG1Em!vr;!XeduB_PR~NTX`RZ#Q-7g1rGxC=&3&nD>TUJ_%Oiu z_FhB6?F+kw^Uv4-RpIIpAnbA?)3BhI36!{b1<9w1C$IJQ51)VX5*&xJgUf6^V2i3> z6i?U}!neW~;$`hrzq%V6NU>~9XmGcu3k9%x38cPzJPrSG*4NFKOKs61<)bdT&Efm( zd*IuTjTc&_wGI#Wv6=VbJF5=z%-0c?Lv0Bs-rUM%B;tQbu+IGk*&1}!yPj7?;Jlui zfv5n{Os<9(U1iiHjLG8+*4VWL2dMMN0wQSj^@8E{t%A+jz)t^Z3A$0tTg#bewHl_C z%2~QIn6(AXEv+g7oL-#_#xRQ34ty6f1CH~NLY{c&^q=Jm;t7aj}VX7Z;a%7ftmSt4^-=g{}rEz2i+QK(>QAyHc?-@D?T(3YtIer|sQZ$#<$koK{T)HN}MYRFgn|Bl`wi zW#`mvUv^TWqJ$Ci9F?7SwYF8F3ut+|9eK08czqPRUGNSpzwbG;iV$bUBFmOltasssO(qYJJwn_G;B76SuR9hJV(vT! zaG)t>jeFedrUiew^+m)to!JW}oea|UB%=x63E|xa!lQ7}jHOSjw4yqKSXe&_KRH4Z z$y{haIz(l(M!i?fS@?I%q}+qHeXwK}_nmyQdH_ao82>qWJ~n2{yc&|rR3Up1VJ3T{ zVcwY>xe(&!4v)NqEf{<(Zf&o+7A6HZOKQm$DG7rG+)i^oFPMMDfyyhd%ix?wq(L_s z7BiT?tCo#fa^&Bpy^^ILpmBtqy7n|FX-Quo}!YOk|&)ufiPC+iWtn`r04?pUlxiLA_+HYJ-d=wB{(7cCZ zBh@?m=lYLzFX{z~Pr=dYd5T2WLhM&#vOKA)M}zRRqA0y`l-u)L{wuDun~#E2YO(JMCW*`Qcc1D&WBHRLE9DdmKCzNV@^x)PL_ zzO?vw|8JFeJ85JPSf!_-DvGNFYD~;(WkpRwH4=)X4KNh=5>+-WcJXFA8NR6S(GQg2I@KQTZ44eX8uET$WJ#kI9dRcsFrh?-yL zj|VEjpf{J&HCC+7Ew{!=Th&_^nax(FfNMevxEphd_FQw17Au<;^$$1-8=Dqs4d)K1 zDJK^WKQP&L;B^}X9d#QZff;L-4iJxys=rH3x@gp|N$Wln3IOapwSRT`B?o`d!GF47 zc?1)e$+zYd^vf~Q-YC1ZJqV3Ks-;=i^%TJbMhO0R|#jE`1N4*Qc z=b=2~N1Jvmn9MzKpS>}=1(MKX13&4?#m;jSPk`o&g$aj>OW{!9hQe-i_ zc~qqnZiK#^JQ(5m_Z3#^{xmvG06`wraYTOlK*!mp6wiP!(Zd|cJu}qX8>%Spm!eN# z$*m4+9WKrGhES6_`l^5LJ^8xiO-zB^Mk}qu)nl)CMk7r8W8)V2@$;|s`;-^Mf1D(T zwU{XP7dVqj4kq=KPC(0Q(sYD^sTDlrGUX1`QHG;{uq#?0r~UiMKzP6TsL;}W5=6wu zQ&F76(kY7#k&C}Qy2sq>rsAd9sx_c9O7&Q<-!n{6cBrPJ%WBXjwo2|NJGIG=45(F0HvCmCA$i9oai5MDSNFE6#;KTP$`m<1H>U}NKwnbuklK>~x z?2BP?Fv;7P7RvFOVYdgvu8AA;cQCm#^U$b6JxG)KR8C{f=~VO(W@ zg-?ce&rV9}5A*L~(KI_ID>*RxF)OE=Ev8%l0m)*L$-vAVn|5a?kx_E;jv!fk`UzO` ziEz5~;4|Q9QM06_|B{qnu#DF)tt0+2_LpzRgHnhtXcyZ8?wclHJT{i1%(EUN@DR^5 zS(-vQ&A991Gv_cng)+N4hj*wmlfmLWFp6evafNrCBa<4)5ET(=AvfvXY@;C31+i(C zUc23vt-MV-UTe4>2>f#9?Y;~AI{{mHSir~1*8BzeB&xwT;T3sdX98+=f92%{^)JIz zeK~Jvt1Y0IhbFgYoc1LOs*cKPk4F~!Iluh!4^g97?4wWU{+}B_s!kSRfK6Y&j}ZCG zV|N}#*U-!p*%Go(jinKT7!ww-Mx5{Loyb#cO36*^c{e|2T=$oB_ibbZtq`*fUM#33 zWLCeGokzhIJuiLO4JA1DEDX^4z$abDEgEkw+{ZtU?BN%nRwOG~;tdQI+#IgO z4#*!LQ&0+d?HuM~ZLkolBQ4ic#^RWr986P2tpc5Srv3-r7|vCrgWL#qQ-vye$nFyA zbo`RowN$HWRDDOS*72odz3znR^;KR7K=k?MY!uP4IX*-v`YsGth3+96ukd-NtMDk{ z37S))n>~8oIUTx=;+;)6<_WGHptnbSsa37f!@Q%4z-8PlpBw#p5gblQ3%xULTVAz~6#TXX164o1-#gfaVyI z^AC6r!K=SuynpyfQS9)3y>$Tl%OzVBP^9xW@F#ph8Q(>(nlYJ*oTyaB=DTQltKcEK zG_X?>41eG;Z;eLn!ypp6S#euQg?5Uh3FXWt)qR?8CTSOOVl@c~KYo>pL~clZGu)a&ELh9nctc_879 zdvIiS6{{+gd(T*df+pA@ckPM@hTL`HHgA;Ac9(HP<~!rK736AlC7)wm{gKX{j*nA6 zUU=~UyX>0%(?iJpAcggtz=55~*v>*MqVtp1#*Vr-d_;Ml-o&b)w$Yy74jkFBILPHJ zyrEq|1nyNUQjRZZa4YH?;y>{v8BXEj0l)yjJ2(J<`G3Kem^fM58k<=f(U?2@7rLZM zk=tg24sq*|5?(-7Hi!^T7!?A29TZNskk8MN91Ee*G5$ofP(c2xboYDvH#w($B|de& znCJ6VfXj939!7Yx`9BOMo)!T@m<|UtDPUj4vBZs)W(fojaScU+ooqR-3vvwNn%l^| zU7k4lcnPQMvHk2pjS7sYw$)r71Nf+HZGxG%ZgmslvBHUj>w>tXR`N-u3#$Rxy=UN)`Gl1VN9}yL&-q3y%kXoy!wVciVKrE*{)4^j#KT{puAHK>pb&v2Fk=$}XUDj;p8SOrTEZUb3)-tJw65od15+F5g}(glUo zAY@h)9>E>g-_xWb>f=)4&pGqJ%HSTZ*EU}$V6FB$PJcfMXPkWkCv6v0o}SD$^`|$+ z`)SkrY%$VC%m^C#qC4=X#vW<^Q^d>ZS8+%`A|3$+0I>cqBDU2tu+TI4UmCWt{x20r zDN4mG&>?nR*VNjt!f24@c{)=1@d4ZI0+3iyh*r`_XsWF~-qcWzA<6g!Z{iL;-N zrXuf2o>d@~{4es<3(mHZAvutWB(Zl`?o_ux1t5aWi>VR_Zo0)pAVB>s*&JC#1LWk< zoB={YAVc7bZ6%z zJ9(YKE41-CsnVV&){|0|J5H{;KXWP$1_ip1#6@DWbB*PbEQB@$Ec&6=J$IV|vlZY; zD!x1%-s^{D{8`B@)Kfm26MW{`GjLXnTWw$}M_`|FI8aL)??JF;jAH8W#yXGN6sH@a;It5@14zXWTm26UThBk6Uj|}Sz4qT2O$<}MQUooG zBk!BjKZcoPdmtTZ#4u8%=NXOPU^45dQe9d3Ai}Q7W7H+O{tDy+@CtnEsROR61y)ud zqbKuO%C)#Z{s$=3pZ|-f9PED*wEuS|)c?toLi=xq8aVv7NU53OK&UHd03d@N0Koen zh8x(}8`1o{=f7srq^=RO!GhvFQ!|?nxd$~_=9%MK%U8EWBdc5IB??2;Oa`o;Z>eu6 zmrFJy>HqP}T}T$TC!D;nC1$Lfu*iPU=6NiDt@`GkQ|llW4h`eaFf5m3n|us0SwL$; z@S=y>-;l|DUGQ5&ldu~!>W8ng?s>q+S3mgwnMHCV&)95nOHc@g`V zF8&*U_i&;BgTuhPaEK>7qlUPmG#3{9CQsjuTJ!$owPds8cNcn-!fkGSP zT}l<7j#|`%>p>D;MllyeI-4OA@t{CA+v?Yd4Q>?S$yUAk0iQE2awXnR3&l5q`4J#q zKMBOq+eC@-+KS9uFCsRYawG=^Hr-9{>V$;&79zJ{FzR!x2^)899#{-63l2JwFUE-L z^fi<8@PxManNSpRw>1%Y&xzc`Z436Xxp42|Av=T|H*q$9{BwFl;9UoWb76WcHmoU| zq+XGEdPM)Mjs^I@^K=2mY0RWSLA^GOddIEw#%3oc65_29zo7z^pE8)}%jiDC=*%VI z_L!GjI*p}OTjj*eq`-+1W^|LFT$5Ff@iT!9 zA$eR=fA|ANVo&Fu?J2_5sZVR_Z>lTJ5KwU819sJx>vx0}1}z%DHD@3nsIgtGa%xk%oFNE|951>`hqXdtj2=(!{Ttr>d{R= z5}Ebzq9vLg*7v%aeW|prwmRBesq3ORb%Cj(xp@(a788YJ6A}@|7Qv2mas(6u2)o-5 zibr5E&+(uQd3xLM$aOrC8KfaV7AXc`i&}y5q48}^G7}k=aCceGljz&a?%&IAC#^?% zinzFPo;(b2A<8FofpZ1SyPCuM_u9)Bo=nQGDvLKn0^&)nn0n31oqvNswjd-$qWH>$ zY69*k8C_FHcZOh*fsitfea(;d+JP~U$NGTQcm3!z-d`DznWc1}IFwWVIIef#_=Drr zbwi6B;ZzghD@iNZTkw5*sNL5Vo|d{&27 zO50aaxN12D{p3#{wHH)9gDq`o!^@6C_3NFDLCOhhq?6&;g<;MDJ{~B&_soyQ5ipN0 zUASSKE-6HAj!(*ddIteQDRi(})d3Rlc)qeDGf^k|<~*Qsv+v}AHvVOb18^T8J!)ak@Mkaah~p9ww^CC+aXTX&Yt~$?T1s%PEV$nv2<#ZCIV&Y8*ZU09j@A`@r!?3S+#f}Zs1?3P zXUM5);m`5qdk-tvmq;blP%lgEIsQ&fyK^ZI^+vLjN2>G>{5q+e*KKSg$T0(8FiK?Si{JM{S!q-v=Rks|nsE97W9GBM)wuaYU_(gS02~C_>ZG^P zPy1syQC}v8F9mD3_U-4}8Ky|83eZQ6=?>b=Qy~!u>(ROEX`zSg@TlB_b_@7e43mt3 zCUH}IF%cky7U{vG;)6FYQEWYN|IKxpz5ROj)UrrWfrpz(3N##jzlLWR#at zlJhr|7%HzT>p)>f5wB^s-LLyyjoD@XO!BW$Q;b5{8IGSi``OvOdG%45FUSZJ1POteyRVMtHn75X^4|i^bX+pu@aBoPte*qidc4P5-va{!p&4zME4H)A zqtWyw4|{MB*;*n?hiGIm)-a?%1uz}meLaJFg{*ONTq$d96vy6)cV;Jw{tcx5z($6G zF#cp0I`W&Sdx7!4rxw=keq6i)YDMM_CYOQoRr^8s6Sa_30+ZUMw#m}}z{H;763Xuk z?v2~L(8|qDFN?O82d;DTPf3&jFb6wYq+?ZxB+Sg2%+mZMQdkZ$VK=ksA2IA8eijXW z-+MxeZu!wb-GfFfll7v=b5_!HpzlKQd`qtz@|wJ}oN)5A!_QHl5HPK{)lG?w>9hF@ z)()@BBZ1P|=d05yQNKg-9BTXchARp=NW`S(oU~*@)8`?Wp+EF`AYtt*ZQJK-9~4ex z7;&qUi1UT6=GtfCg3cFod%n*wKhfs1O*ntIdH>RVfR4{heqSEXc;|zu`H7WwhsCJ_ z#)ulEK3D|iz{y~3=v?Z4UyM9$isVfLJGUV6iH4mf3^M41Z+PMl87c2Z_UilhAy5#+ zX0|m%+7J&sBgKy%C2S~V)FyzNb-O~kIHqXyM4j7oZ{*S1CMwe+1XVV`hwb@`UGWZZam27q-;eXhnYUD3F! z_W%96OvTfi9`eusMVk1J76(sjw{=_;;vUK`Y{T-tW0sC+FO{7D4gY@gC@<9Xo?E&@ZUtK!21`;Plx4xI`W z2V)-<7Z}d{#_y*hs}8g{dP)^9CXQae+gX*)q@fPT-yT6^x>tTI<7KUbR-u20pknPZk5m~z08J*?0;MT;iK39YUP77R>(ko2(TK;%>Q$iWs$*885 z>lAGt66?H=IONk?FH}|@61g$;u-2zpnrx*d#t&~Q6UGp37=OrwDj6W3^^WtH`VKJ3 zt&6h7y%++Szi~U&+#ro7aEv%#fPP(0e)rOJL^^Z)0dLzeF43Oe8Ggy2e*Qc9=dsUV z(*7Zxgk&(&*umH9<}{3Jg1zU_?G?Sg2gl7)nbi&h`d$2GF4H~og-l!N9t0a{Nx(1Ca|<|FN9HyJh_d&FxZR1>jM!GrsppI!93NPzN z8{c66c?YcG$wvtNp}5xmJS6|aq1o8U($c}e-pI)MKaS2y<5JN5bclSrPRD;5el;Rm z1W^=vT*u{zX~3q%7Nh;TwpK#a?2dtuib@%JUn9!*Rb>Tul=!z<&~u3^qp;g_swbq1~rnl5)2(N8TB4V6%|jU`<#*PTt1I=qzVa5r>Va+8Xn& zwU9etBhmJW!(x?&kahz8^QU^qm*2pDF189k-WmM=;inu-_5Qc3K#=04eFYxkXHJQ3 zvBS3`4fXn}&^_8S5C>kVBqW_Ly;aGzw_G1n6~<@F#Txg!Q#Nj24>%?`P7Z5E3G~EW zRw+zlz@-Dohls6PWt2HFb+2I4<@dl#F02tahNPPX%uPOR!Dk?C?fxP&*yvo&Trqu- z=JGa-FzW~nyndgBns2<=$fVx=V}?)yC{7X5xGS_-dNdFPF?Qoez-y^mBnKMj@cA&Z zZisB5q50K4-gikh5MM)^qbPIRHy&?M(-<5oz4!T0&_fh&#@C}^nW{ubVfR?;nQR@ z6;HVj?2U!)BdeZZR~@ip?K&1NoICQMTIi~3!(q%)Zxpykl$6>5bYa%n3H!t-a_-WZ z^1oUfJ0s|qu$?hFNMtKp5iQn(vvF*Dvp!kc)%%|i5v z=xO_kTnc{bcCU&1E!q0igFyMWzMx1?oE}%$q=NyejmVy=a7qQWvz+)wCoLNFiyD5N z>XVQ+FVEYFt}Ni>#mN8>r?n2u4AEUE{0ssj9hh=g!b+XcT z_>VQJQXaGZ@r-u8Q$qd`zQ}d7T$#?-bU(o@eD)UDU`?B3%s(Mt61nideFp6#Bz~~6a4b{x@1`5h4p8DOae-0~ z%#mCbh*$7WROU)`9<&TH=eqGLvFX?AIwnbY^QC517td>kvTrYRbKF>qj^Gr_R%DUq z$btdCvNI5uT$Mu{E+?zlQ|(&bWvn)*%$$vd5UWZqidaLho7xh#kN(3Jf_$n%za*al znr0tVXlel^@>yOH=9zt_I* z1%qn4>#tKH`Ih%$QjSaEr2@$J9>>3`EnBh7Rgrgm)Mx_@MD;^Qy22AbjCkDPYjfT+ zN0EOK{L+N{@r6e}uy8ciqenXbu^yqpY2Vfm$800DDu;pAzF;~z^_{5nT|a@qSKy%f z%{(y8=iIJt?V}x&Z+w{^p2Xwumviy*{Yv62SM=PN=l*a-(Oqe;?Iu>NY{>h=i~c$z z%)@cN{Qi-koLw-|>EE>8T{n>7`Pou>QOUz^M9|dhv3yLpfA1zAo1SaSfGU)l&EZ5e zJLCvX7ZtGe9#pYRszeGk4r|MnSEkx&uwieqlWEm_vH z3%M48S3*^OsGarwp@@_BUJdO&SX}F5lgzC~{?^uehyf%m1JK|iL#Z;uGT)u2I50Xin5t^E`3vu-Rpp{<>#*{9}o2zaQL*tM|i_@f3i0(Q~Ml*9NEVsm{X)P ze9Q+9E#%5z;u>e+vw=<(u<@d(Tn23{XP|DW;vpRO;||HgRC|69-3?eA8s zeN6yB#SI96^WTsDe;r@{zktMH*Xa*SJ)Z1sM+PX*Y1}Zakf=j5!g4KVrS7_Q9A`pn ziJ2mcMMwb2GF}%X7iHtE`<>~yZ#rR9)jmuUAXo44r8(mm2C$EcjEv;=2$^_oB_DU2 z=cGPLxO0q^9KW?sp2^^^=Mhc57xPw~ycgqr^&}LVH_9S)Qb67(>2d+lwk?`#&0INT zl5ze()#;Y~sn$6PIds! zczyY>b4!kFc%33)r>=<6^fX!WS@pC_eOO+8H)m7YrmA@5zR-O9JYd818I&*X$d|4+ zOEO7tK=YdWv)1^MC{w-Mbmivd$c8I70dbgy69_yHska~@)e|SZz~e{8a>c4-7tibl ze4a>MA|-z;r7#(Dc4eo3m{2+2WUk7N^IJe)y`SRPL^ukLxWPVN%Hq?G)kZf8z$66~ zn=Zhgy6x5m+UUn@5$~2QbEC0k2$)81)S?0)gtK?1#yD7;L~?T}U|TwH24J>FnA~6Z zmSYis-W`x-NCW+fcXO7*`oJ!D5fpd0H)7a zZ4a^$R!&v^0qV`W8(-6=C{d7*uPw>Qeo0hOe)p%gJ}>y(E{Ji0RK#5W<2C+h_z-DW z;q-61eVpX|0Qk1beJ6v*BVGlKMd<7Sz&GsOO^vX+lh^d<8f8I_8zh#?`sg}=B!~Z$ z3Z@B@?L_|TOkXemamq~K0ErfUj2S! z@yAv9LOyfj#aIjpwj2~N|8&iL2Wg3b6q-_tv+eQ$AFHETaf_+1pWlyzPicEn+%20cnvn(efwvTdUk?ZPU zg5yNTYd)>gK#1=|SLje&x(pAlubKuQZmKjLB(noR%BwoNrk#6%j2cuBH8LX&dX?0d zRUn#HTkIq_y(XfsV~0tw%!HFG6}*M+w(bpJAV@5+Eo9i!$3~s{D1Fr!$@Sg%5m3U5 zC}s3gOrHZk3tfK_S=8^E(VIo@DA;`Lv5kNQvBKF30ERlRDtL04v10x4yErJ66K?HTAVen{(zJ$&`pPD<6NGGxc*rJ0A~5f2vVH7SjTljr zwC5=W4HrX-ZZC3QOToeY+er(FsvyK4KQv4Wu~(hJ@Uja5Z#Em zBo9W~F|G?w1Ku$=w*xZFjljS%B{3x&7|a@NocGy z`pXn{EPBvbA?G$|P(-!Zo`X189;=%NgP?ik#`=dVnB=822kn$x0@XOiOI6mx4?x4oE{>=5rd6u3tUk4I#rAU8t*p?E zH8L4q{^DkchO@?U&zGc?x}{3pEn1kVPKF%T&(*w&&JB1wyNXKs8z;d&BqPhfG=D_K zBrz~pw9soosixujz`p475G_H;`G+bo^*&>x0!S`2anUC4&#w7^|4fXJbe5H*Nt?rm zm6+%J>|@ioCZwV?y79<+e9E*p{|e<8=zFtu95V17KB~ukClS%?{S_oh6cIn)lt!95 z$g|6S^6@nlMK35{tJQGWj0XKDR(fIj@$D4gTj>)R+4xo$!a$niLqMJcVUR+9`#};g zizqls1G(RW!XSd3RKp*D9*uSSD36qLPn%B=51w@zh;x%m19McZR&uj% z=ZH;>Hm`d)7t}oxZhZpmYK{J!h>xdH#c_HHhR+1-0shBa(>K!2E)Np^-vjj-19LG0Ie&Rct|oFsczbn@u|IITopyj$|ME&* z6S>q^8A^1407x_T=MV{5Bn9kW@^?8-~XN;X#BoI z^4?&4kG{uT&OU7;cHo4w@?2xCl_7`_>qLb9G1o*R)Z7geBe$0BXrnhTZt}{#QUN}W zE*o|PUyz)>S@^aww!YZcfD_XR#P~|LUZI5gsx}sI|MuX;vV`f*hUA2V>wY-C4=vM@ z^3i*{0wsD)01j@#msBZ-&aj0-`{x+ko zjr`tCU{H+WiuexD0->J{xsPvA)pguDxdj@GuZLK9{+DQz+<8|8%-eF+@u90)Kq-5U zWDp{zx>S;+n=~1}lQ>Hq7K+l=4dr}C#VOGme)@*&)$(P&ulUxhfop>zoUbC|S17mP zelgqahJetVm0q8zhRhlcC)k13av@a9z|xc-tP&xc81}{LAs>>aP{wCdCY7E&nLldC zkg8P@2Rto;?J}7`n{wVal+)1O$x$`f&P+2fiIO{wJY#?=%9^XmU10L=_+SCbL8Gx%hsuBbqSkhFxu1+q&9$Omq3FVM0J@5i_5mj2^rA0QY;0AWg(YxvCGt*U8i$AO~1E(j4ZR~yDYar zJK(Z^Yad6B(uH`2qm>kT??>P}db0jXW=+U52v8B1E>J587FgO$fEBxaDH!gDEZUlK zz%#mt6GGf{eKrWo$#GaQj1 zZF>csYNe9`d%nyN`_`6FTUv)SHRM)@_=mez559kD!|nqGs>`W{J2hcXubaUW2Zn=g zZS~KdC~uTh9F8x!ScT{%;w)wjK>R@+e@8c#SYO?{j7TrnsIm{b8!4+>%6+_OH`tA-QGjxoe>@$WTBG3NOFLLt&(1R`-g)v{}68k z4=wHXrPvS8e6jy43v4%DZYoUsM8q}UL~6TkwUtAuO~?k0tEocX>e~K`X-2&w<%9$E zRC^^gmHQD1+qb@MlbW6cV$7FgJCE4OFnY>u-Vj&md^C6;GIR!yH3Va9s!(%}yhw+P zX3Vus$;}v^Ep@r>sD0!@DnL89cDPW$B6=dM*<>Gh$y;hm6o5 zJZhy@g=I8Oa07=M#-A0!!b{wJmh$?eyXto;>ufi_5^x#k12TTclkIjsnTFuqQel=3RD24SL=g|h!2I%=My+E`UVPN96oyY1+S+r0dh znl$tn*wo5*^w;vtKejZaQ)cXZK&kM2ZBwPg2fAlffktr;tY8_VsEn{P`=V>sO#Ezz zZ8*8RHoyb=^+i#2DWM=*0>CY1YE399Vj-6e+bYxN6?^;QXs6dg5Ufy~!p9hs-__N~ z<)B$1WH(lS5!a&Qw0kZq_r2Zw+dR=Fp#Vh{WRMDrt8=2{5xT=7miGH|9V!b z`D%MVxNI=#;cq*}lc#VokUQFn==pwgO)<^~Be_-52>bW0uye^E=B&fz9?`q$X9SYl@9ID?*}p2};_CQ)H)_T{1G)uK6F{5*_HSaILT zM;l0Jh)Ig~7pTr7ebz2rzl8OtX*=Z$Cq-BIDN(a$PYN=# z{|+`^7_n!Z$^nb?LR95`2Uh44m!>Epe@ywccxJP9zWJ4#@fPAQyqS9iE^>qv1y~s} z+5F0|855G5_)_q;Hu`qG&lp2eHI+DOBKNtCk_Y9HHd|9LZ@xnW%b_eo1%wgMAb^Z| zeGiHIRoU#HPw0`53>Jx408qfqw;|~o&6=Q6+){AY9sk$>wK>jEbZ+Bp7UrHmh-mja z{CA{ppQjgx56B0c?n9fq1)DD7#q#x7ldE6*?B=j7SrKK#RvCd-Oe58^=Bp|&l{`vD zr_2rtI1Sl@ZYe21bVgthL_}scJ6s`rn&9%hJ!`g*YKBfuh8}mn-ZMgUq+Zf z@6S%Cxv19)=U{czT}YOkK~(UFLxq=O@}1BC?(DkKfM2G#4#dxeUQ*+j$Zki@`XIxF zD`<$G?|=m6U`4mY=lZeiX%N<3xt3xS=tjhpQ4yB$xc zrRZf2@tuhz6Sr?&YbU|8_wMw0WH?qQdX9uf7cC`y7+?r?EH-YicarKeB{){Ttgdgp zIlpY-M5gN8*EcqClR`rH^0i}oIvlXLIWc8Y60oXH*WBhkYOq$epQ9wjci|GabO0@~ z*me5v?h8tc{l<4IFwil7OsG0nF?4Glt=d}3KYlZy5F&!=)_GWBzj*c$OMwN&%Ti(D zDrmGoqcLv7R0O=xiWnGdk~+?2T{kT@Oy_CAdb;y$Mm)LP_WmbkZ2}TPNx6>dYS6PWabv`|W3TPWsW5G9MgMrs(NB7L;!Uneak5VeY=G2oO=>X}zKt$Y& zZ>9hW4&kCrEH-4kKl7GH-god(g^24;i~3j6f?c6a^K--sG`D^FS|DFw%fTb;rCYaH z>XEQQZOluA2b5oARh_>CtPvIQ6Y`9GY+&=At%$lhT@lUDvQhl@rmW2ur#JqvDa(^P z#oOf^*Rn#IMxWSvpP;^WA;WpG2EW`%_V#UI9b~SQ9KaT#=3T3!NH32Pi_xq~CB2I3 zqqbFb*zXs%@h8MSslljiCdQLZCQARNkyawnnjNz`1bw;{SwYw}y}sR1=B&{>WrXpf zC2G+IBA%az`SkU#XjEB_p>1RCXd~DO85*Sy&yLR9Wme{=C3}hHjUBNfdoE7xN6PCX zRzEXNn{w-h^4NEL`tLT?J?$ihKy_LiIcWyufho2cm7%j*F!xphBg?*ZF0vn@Fe8FV z{z`pXeWZ3h>+r?SJcdT{kjWlZjZIeLzO$k4C@3B`hX;kRaE!G=szGjGMOy7*@z$b}fqhl9t#%4Tovcv#GV z40}{%ACHvO8Z<26Eg@4dBX0jdh6VvQ&=`kMS8TDLX0Q_*(+5j4?g~2tH<& zA+sHvc*UHK4327ZJhPNXC@%LjHz2e0i4=Brwh!DLiy{5FgRSc<=D)+dYl52_Gh-kZ2>RyU?&QaGp zF&mWTu@1$hMkGnhWVZ!&XrwmX@1+MvoT-G}y;2<&Hb7$^hiJi1j++{wUX^2_P$IE$ zSo%O{l*1ac<5KECROQlP zsbB!yzH(wUOqQDrNOMcdO{M3w#ng1HU8UdH z`gv|*rH6^yF15x65UNqzy(F^f5=v-;BBaM9@RIeSBymkSo^&x+tNv4di<)$7yE^^> za&j(52HO)B71jLAq{Gbi%oExtRWg3e|`SzbMLRyTm8Q-{<_#W zl4O2{G2*~LN3>%wkiGdnNs>m1mOM@q@JCsRRV3A3#AT1GQZDECuu5C-PyQ+WoQeEe) z9VGrf$BxmcvqSE)iTS5QNB8AA)|M|wa1hUg`tn6xjlIV==)fnqBivg}zDTxUJN=4@ zX=;!*lGB_$XN(z5mR}wE1i^>^PEe3wpmzVD#5xB+jLx}t_Nz{o6p)EpRM2#(Uw46k6QD-RYLO zV8ahj7&}o^9d}mBU`$DI%I^ayQcdGU&I{neLLF&i;8RuRA>O{QR}an!EQrAHsjPgA zAtpy14{lexijvw~9n4a3+8m{(-MRTWB?o!q)NyfBX4j!_J2&ae&G#Y1Xbj8(kOBfF z@~}``3(Nl5qfLYH zJgV#EOl9&>38U(BIJ7A@;j+#r17h!U>FR7MC&~K&gF$xr8>|YNcK{|J)=2o0RszRP z2n~p}rY7Q|6wi-6bxe}AdqDvPfRFVTK6ZbO&e+fkJ#8b;bk8`LunK@X-g@w&Si8Rg ze|5xJ|6Z^~-B~uAHiWauxtx17-exz>TOg~**@?~TkVNFpjBZJsP#6&-_h5PG1k`9) zwj*_@Rg~ST7$8y@S|Jb*oq(M3QB(@4&LgOXbI|SVB=Rvj^A@$H_D7KF%4lDXvQxht z1a;e>P6yHL=s_g&$qaCu2&W;rR{_6&1Wa5lTe>p))^d2MU1K(o;QI6Z_{9h;@2LttvmR2M7$U9bEDpD@xzx{dGe(^I{9*%AI$o_-d_*D{H;IwzW;E2 zqv-ejy{`8;=R0x;l%NED4La9D0L5Iuy-P<0-7Y4F0sPxqe-L!4;UnJXI+scH`7yS+xjgPbHQPbO0%+BA^R=9-6&qW(0 z!a5c2u3D=d#||hhsNG$1V@h3A%#OB6zvl6+dH~!& zR4NgW)m(JY%Su~%P4uMa==Cdk4eD&Asbay{JUcMTj$-YS={tQ|YpB;QA-X>>v+A(z4ZdnDF}hmfKY;}8Lz6O z=(tv0v~4rp#ZK@FRl3u2k~(4IljkcJo;c8>SnE8x-&BAx7)_6w*xfL&!zg@a7x`0#u$HEM(?()rdr`$17wRS`r8`};^!b(Of{mz zbeVLINY4A4(aNO3F0&CLMC#pnYkibrd+WutXn@nIZ*2^c+aZwh*| ze@7#v;+j!53wO*S-GDc0nZLrHkV-HR%#(6abPR*Dg0oXFB_GKvcQ~z~d`^Kdp3nL0 z2ldGUUEzX$nf7kt;e!(8yT$Y$fEj%>K~J0#O|lrC$!Zc5$C0VLx;Sn-5v=KASs(W# zukM&z z0m6pqRAZbzpWe9^110cq5#UJp7pi&46z5U|^^u*yJ;J8GQRbMQvx4%ku--gs8q{^6 zBdNq`W3`~@5fPa^l=oXm5~99pA7_)S0=+_Ovc}(&k>O!rZs+iH zti2@yz_U;q0^aD}SlCgpsCUQNG@oG5C~PQTOly38R|4r;W~ANFZ=M%Ty6+BNZYCAK zwm@s2As@t1X`-Sj$yGL$zq!``AUJ`*s58`XY5;&4x1TfgTA)O+CrG06QAzpxvndgV z$ScA7a>Hq;_Eq$S0?S@bd~Q|-Z}~-C_S8ocQw|846KofWGjb~ON#|^8j~574ZDu0c z0|1rW;#r1?vtBgXHB&rto*_?3p9Od3XoBKAj<0QUkv=elI*<#xz#w9q`CrUd@-X>v za}$vM_Fb7mD|QsyuGgOuPQv+z>3cizk0Ucw&X^rB0_eEaAyp?Cv*Xb#wPPC7izQ3J zfXF9t2T&V+Kf&J^&oMeZF2=_$6Z8(G4$J9t>N;o}1*GyYeu>EycP=BE8PiVkOSqq$ z6i!AEilQ6yNO?PwNw042bQrDRB=OZ3fwLQj`Ps6G%NBME7hTW7aRapbhEqvwBRvRxJy& zll+WBk}q!m<0Fmp?+bot9p{~&{DI#2`RW6e?8M4LMbAtzR6IT} z8|*LsV1L-W`d~E!vD!dgD+(pj`cI}(K%(-29!-mM_CjVmQn?pNj<>u#swaz5%4Y46 z2s#dilg9)?8h+U2JHDQ%OY>}u3jSjX#GWLT{SFLr==FvcScSNY~U@vg4+6;nMn-#3nOd zO7L=$P3;|{HJ(ZQvXu*IneMGyp)#-qFb}$7SzHVv-M^aU(<(bU^1@C+AaG>U_11?< zB3}~+zfdu9e7_gGE@XD4z+;D9lx*1vj5W61u|mNCBxT#HiN?rCA0A%HNt0ZR#+vQw16oZ^_k_#tYycX9!1x&bJfBS}1 zl>jgC2E`fY4dxH9Pk0qmWP=!*hirv<^+YAWMT@0+^+;#zG-92el^4`5nFtv^rEa3a zi9S?s7Zg8gVpR$FTbANsQ4LrvsXTN=N_LaSa@)ef* z`*xcReOq6wKO`aT7Up;#50cFl8XkHLdmT8Kx|0}ydtWuYoe>137~HzdqV%-Uh8wq; zdv%N$?n$?BtKkAr=XVUZpsUFBm1B%v?$VAZO~}MtOD3$)&g!C5>Tk;#aPwnJ`<=YZ zZSCpOX1npxBs5mG7pn9xDJmLkKqMr>3*=QMe~Lt>351OMfN`>&qbeL%w?|< zi>jz|x^ok#GDbGqe8&n@O#k(UQIA@05gHfB4MAg;N#m?CeRwOiPTymZ%=BS6R0ZAe zujdq_L(&X|RGCOEj^Oq>r^r_-tFt=0P68&X8*$Owz&X zO}c7o4{`K`nAI&#K+#4cfGg@D68f}nw;kz?93Lt+qhW4pb3?L8fsJ9iHqWgpO=*HC z@RhPcQX;$Ly-Dc(J{dkp-t$T*EAM-E9<^H`-5gn9Hk`cA>WyBT751lL^Ug;`InBWzVg=HlQ^0L z!?LGS_as!2SmF$g#6I(2;^_v^Uen`k#e*IsZtem1h%+<9GXvxM1r?V)m~y~zsn}#+ z#5U{VK}}gB+jh8aZKbXM@=%kk40F9NDO)@R6RPCMyh$m0)r`E$FnSU;tHua1bw$bK zEH~)J0CiQexXgekCc4SkOy2kp*;J&93XwPk&(H(v_x3yAwtOq`zMDrPGe=9zahWl9P=x@?+D~!{zp#xykWC^x#5wUXc0eaI?zbB{NToz+ z;3&t0gCgSYSvs)j>=$)K5;+H~VQicwCEkJPtdrV8y;h)v!4k0*(`zPRG<3lpL99y) zOGIT#^W{!)4kvV+-Zdjl+mn^5j*NcAGQRmr0x*`9i z#jn7S>f-&*jw?cjFwi29I>LPIbP$jto;;rd^~=Vn7@iQgOy5N4+{f%4UwE69*a7N3 zYNUC3-bnU1U4pxIsDZ(Nm*8wjBoW7L+&LZrRG$yHgg7{-;)?Vk#sNh(q&Jd*^GPb6 z;ya;zA9S%g*mD0X5mX?LGa$$HF-!p@WtXCU#TRk-)+dKu7i_tMi(Z`=8}Ieq!py5V z+)#L`v_N=Q7~f!?I#JMcdgpk}UX{Bk(-Nlg_?{VmbBx1L@bvYsy80zr)oyL8P^Ne) z*A*14K8`7!$qn&@f;*t~|B8h)xy7_vX;Z5cWnoOBLf^OjPE7hY=56+%w|%1xWkVCy z*mtA|W~?yyzU6vtS|}ah+_zb9+Jzk_yB!asJ=n5tr?KxgPE^#XEPZ@1XH2+3YnJ8T(X)jmtVzR5)8~qry1%d z^a$-_8i?K+g@`G-2mGS@cg+)a36~Wsg3cNL9-Y&5Hg^NihjIXPZD@g6uRq=L~)M?6nD+gv6)#PTYIfn||cfjWWF4|mc=?>$L zg@Q@6DdF$I;ZF+(#Pjbp5&;;_<x2dQqGU-bI1{cFc7EAX3M|9^g8tImw*Z7dwT$w($~cbbzT;%Z_BcVm`X z?lR9r(JnySEu^%J!3Hv-s-tK%pHCGB&tLfox0F?hdOZEH=H|JGdUUJ!4E`)T`@?Mo z-n{S&74x^awDwJgIT0G~CEuv<`NEUnsdKZ50}^0xD+~hd^a|1=zl!?j9l)bQf|~ znn_u8TJOrmRc7_LY?^X*rBQbF5GilEa1qk%q_yLKQPX=)uj;*Ua~aTt7^$`i6#6x5 zjz{p^+ZtF5*+|q`V4=H__-BF{fo|;k#6em+4qG6Uh#pa{BCffis<311xTx{YU8a*{ zTXsWT5k#j-?6A0vV$CXWa=73~G6pa%`3QPRKj;-F*#1?{57tTR9==% zUnX_N4(q4KCGe-GWi_27GsG11%jU$2OAw;-Y)qF+f_Pg0-~adjpqo2c9M`NpOPm1a z#Ic7GG1dO5lRQi`2clkV%R)SQ*q2*BLWy5IIn5xGZbA&eWh)FyMM?_R!opjl`>~ec zTbtHsA1m1*zai@As?KJ{4`#UDE_Uw*a+n{Het}%XkoTecS)}sA^UArVo|W0z?RczA zYm7ptuLs@T6?l4tnrt>ZyG}oGKrkPr!C|04PICa8tIc1|J20M@L0z2zv|A$N1ph}^ zy(qisxFn(j;Xq#{Zn7_xe3^KdU4xd4v*M|H$9tX=0$af5DlWyQ6Lt7>-!*~UT6IzM zAvf^wr`bv(DZ+>$qvga7N3&4gYxiNXVwoom^2~kh(yE5|c2USLW zSiD!+Ifit5Ye&n#;}1D=^}%>&0)vd+Nane21mgfy{|Exqu2L*b6PxdLO&cC z{qK5?sB2GzYGX7$E~XQBDc^N^LYN4Un2SWZqTVOsZWX#(vA)N7WhT4TshrvI%uSdy zA#@jMQ`rc&U-4FOx1LvDyQfs#M=IjOw`TQ#+G#f$EgE-Vx`+Wo8q{N9c`DW*@c*At z3_*`W5BgVStGEND48269Bz7Ei4%@{9?KxXdd((wsX|B-Qy4PB?D=RpMi*=wp=4Tzh6hp!L^01#KDjC?wR5b@7)b0w+G7kwXZncxMm7R{omVWd z!*OhQlR43t{|(c|L>^HjjR!`uE6{&nPMsz28mpWdHpV1Qwu_pwGf_qno5L%c)7zKx z@ZIZWe7}Fv1MYq4ucb$E-)On z4bem|p1rD%H)bw+smig5HXXYJ4cK88J7awW%+&f>$vlEF&K`H1IAwZ976)+f zDFxMHnA~%wd*cRxhJoha|N*DpPrjj6ZIe z)V3{(84}s-1VuRDP=)2WW!n7ZsM?GiLb1PjlAUD5l={K6L2@(M)Lv^INfe9g>qX<1 zQZFn}@KvF2txX%?q}~ut5DdT-tfD$Nk%~)P)@nEYWVIfyFPbf&^tUSw(;IH&hVu@r zRh~Kph|6`scfsV|deOpu-Ki~b+@|vT76&(*;k@LtUt#fgsJj^yQ4uRhz{1)=y5Br4 zJ^6L%M((@*iC#1JJzR*;OQX99I$6O#&aGgzw2@H>O>OI_R?yrUTnlh4KO1Adg0FKA zaqx-{;{OR&aA7Vik7A+A9(2$w;qGtZGx7Ac_~PJ4zkeyA<58?eqP`NfH5gpcln`j! zV!SH^GXiak_NC|=HC9|E4KG%cyTVNnI=Csk_X+MNZ2?1RX<;b$&~6}f|&2C_?B}sCK%*8P9E+}kiG*4rryUPx_U6-4xyc-91n?A9Gbi~ zJbxymZu4?hVDZ$LUUu|7=#CX8XxUdocWMpPEkV{=t4nm-9(+|CC7v=WW&2*}P2c8q z-lVa6k%a|>e)6rzk>o8JajbY=^4&5xa1CkBeiU4aG{y_H73GrG>#@lzZ(iaTU!#uy z4xsOk;*DyE^Rq@T1eJ zClx-p=wd>vD5%P=65V|Q!$k{OaQ{Yv7p!bs*W})OmIvfS(6PC%+|WwWKEc` zRxgJw!5oWfD#)kYxiZ*U5L@d<*9I}oNs{B*$Wedz*FRpoU1iu*knT0G<0siaJ1DE> zlF_%JM9Zk1=Zp4jpwzhKJhxPQ&=H%eF=a$!_H_H*J8Z()SYt%Wom|+4o|MaiSRqp? zd~0z9g}%NFpbu2SCJS1Dg;$>4>gc!*GjencgejUdX`XXrDeg*>K&Tj-L?R-ucYGzV z&-G$qBaYM9B*U;_K>!@pk&L?z`C#Mw#l2+QE4kvq1!n|lz$Q4CtgJdj{>krZq zw5m$ju+<3T<0yKMi^&8ND2Z|=&Q-8r9pUWC#m>)MWA7X`SU+n`HFKMD7m+U(2*w*fO<(S_JQj3ztDq#Q42q_8C>^%?5{=z2ZJ zxq`|g8O1$;Yt(jP-3|$@$+uLQ?!q{kv8j@MoVtZDdA&-kAm&>P?T2(!kzz{wkVTubB zR?B5IzE&hO)e!{hvLl20cCb*rb6H^;uKFbO<#?^I5Pb8Qh(B4Jd658|?N@mQN6AOZ z9i%Gb)oE@HDRk&jX+0?m6D|X-9Y>XqJo*d&KhKdH%c^sm{pb`MJujCD!<+7jMl2`} zmJMgwGPj!$G0|kgsOW7kD)(A8KTkenCmGPBV$oo-LG+SKp6u?@l~;?!w8$qTNrY&E zPMG4Ec9&JzkSF;`G0xu7*Y{>e7iF|vhS4zH!yMaWCZV^ve(m~NZ?8zd6Kn=^-GEw*P+D_39yM$L#^M`mQ1 zu9N8$`fV<~-h;m)>QxAY_!T}{p@Zan;!!)K{BD(ld(|2=H)S<;TWd5|fMFdFi#5q~ zM)he`UYFC8oWMy&fn8`wD{#o)ZJq(G%%;kUCSUnpJfhilme@n0&`~y?sjj>3*Th{hk>+3SDkP-F}?{=!Ro@d5}VvRfb8x zXtRi$c_ul?&Czvi!`4eQHt}X6ek9R^fTBv|PB@;R^E9v#k9RgV^;34%!z)z=?wW5T zTR-CRv;&Mri2b%|buQ6=cw%Bi0CcPetwN+@QbV$5R8zPm@R@G9McpcAFVLSk28EDG zQVjoPm??z58ao$}x|o|7mdb;;7N;&#-416h7%B)uwY8bDqY|Z~5kd7Rt?D4h4HHj! z9f`H=42x3TNYqtfGM*G+k`*NTA|%{M6ux$bWQa(#drKV^MCIqB-_08aoaTg7#xnw* zFGRY`MB$~r@i>;k=7SNqXJ+PQs&ShRqn5qKqk*g6OK@(O@x>D|T6lGiBp!qNy=|O3 z3gTtF@kWAzeJp0qi4CY)2|Liwbc<<0#@%Z~L0XkOwRRo;N?jo@)hpE2%1I#BxxCM9 zt*kM=iAhNvO(-0vNkmhOSxHljTD}=mGGk~5JH*y?jBfgV{3|6(b*#?lnHn;cyo@`E z_{HOB7E@^;uI3Xo4pT0qcM)vxB|0G~zBK*4Q5g-8>1h015JWio^w66uskXTd zJRdJBy6vx=7UT2&4Ii!O{!?rRuLYw6qw^M2bx&APzoq-#cTiash(N1^241cz_F(rm zx8kG%hm3xfMOWI?0!I-9YK;EmL&0K&tSy>I*&UQ^HU;1y05p`Pmdl z^Rhym^BHKH@5i|97~e^@e+B8s zQ#dk*R3dFFqMZ)YU*O;3%uP{#;SYs0MgpDN-5>FvgZRV*jPqjJGvWY2n@qeEFRR!& zUIP$jlxCY!>Ush~D5*IaUwFy`Ie>@qflfD_97aQEfG^wTt9RuJ6Mo_FSDiCfsg>lE z`PDV%%nPX}{X*y1kWbr@8MYxKi}kIv!1Uc3OQmhjE*V$9qM5kc4ged%rASO%fRh}# zx}8&>m50e#c_EZlLKkG>@8IUbt2v}-n-kwL_wpH?-sE+P_X*SaS+nU$b#7|eq$-zeYcz=Z|lF6ph`D3vI9V}?SpAH|LCkt7sU-n=eT6j{i5=sTv_ zoNqKbE~gXVM4>^}EyDp?qJ@B3`A9aTQtt0vPzDNRf`& zj~v?WO>TBx%y5(1#!i6%`M5kYwaL?7=R6EUjl>*|`XV65h9!gy)N|_JbeIF2|5%52G)jUG7 z-U}qC_C;|o*0XS-GfH_CAvt4r+2O&o9Dj`J#X6kD0t}}NX&C~en3Id-fXFoGM8oJx z#71~Rk7@@o*2%TqBIFMFgp$oVjjnGS0FBs*O`?@uH|Z6MG1!4&F+D7%0QMB62qa-J z!$no1WAj99UM>(UxMwrqQdgY^0?74WPB{7 zS>Kn244ji-OGkYKrGz78BoiQGx)n20Cnul+)Ok^D-2s;-yny)~whY$X*)l9d`twLCNsyw0DJ$HugiI@0u7-8g@ zAMfGW8eF>O$Nt5Uyen|7Gow`;7`Add7>)VS8JI^zu&lOX~E03L4M{o>V zEHfQ$*nnUjG;`RlW&r(=C2dtA@!3YHYACm6LK%|c69nNUm+@pkT=GLyYG`!}Mv<2bC*hAQ zPa0&r?icyFg93M6h0+$|Z{)|X7GP#PrF}yutF;9+++p0x+ z(Gy$Be9?+wFA|z6IHV~q1fhZDU%gHL6{{}Xm#l^3Zr$Dl@VVpA_81wR?nSU4x`4c| zfRI3U>naXyw@#^8@22G&KHiU{$x>aPFg)PfJqET9&cM*lxEJV~3FH=}YKk*E>)z-C z;IJ^->i}2=lE8ZzT@GC*&n6h;-IQg2TQ`2(G>dwBW8+|X^r@Imv(c>Nzh!l_feijX z;mc@zR6HyuJ3syK^WCkVugPLvneH$R{l}OrP%^iQB% zwR`^daw657H3}MuZcmr05P7z@qB!mK!&?|##EOqv6!82URw5ojJRuIz<^q=84=?Gy zpWF`}tlV7yQ}FOymb|#e_?>n2IN3O1DAGu*&og%(C{~Knnl~H+;#5x?>tM2YeH!bnTKZ*vV^M|K{if0=Hhi zP|(ZKNOK5ZtBm3L2-UYK@^A`9Hj(K>#(Lfz8Qhn$0PJt>|0Vwi%2)4!B(` z!(-RX)#k>CrJnUv)TrOkxUEw$zQY6z;@%XOZbt9hltLZNIm~EffRmyoG3}6I0Zy1% zI5C)F-+T06Mc`d_$tX=~WNyKh*KrbT{M;d?^q;DTf8g?9GTX>~BTI0WlEI?o18XK{yRCEbYg5+o;&8 zvQr(J*C=YNFO#x_z2#ycPib|jljMLqkn9H$j<@*)hS3^@Aaa!Ws2jak#BGPJp&eM# zevPYH{X(&8HyjmNm+xC}-`hyimzm+>G!ps(wpuqP1|b$CXtaQAxlU4!{{ zU5C^12BU%JS+Tv*^}DUQN(ulh0w}jP(&o6Z`UWu*pmDP}vj@DvG(MQ&4*% z#yf6+(%v}?UfZp$?y=r>zgsZob_X(>O2ZEYCg-2!+@$?eD<{ODt6x9tADa(6<;Rc{ z)z|{}y#lvF-7ojOXX@LR7%Wtly4SLhL4CA9EOcQ-4IR|8$Ge2#iHOCIbN!(F8K>~8r`s1SP<^KQL6?j`I zxVLFkZ7~8Ers9UpQU0s>B=5>t#gloelW^r{Me}?)opScu(4f##(2u?rh($h*r}@Fh zqIq^n|g4|iM%SykH%uhy%uwfJv%Mn9L08dTqa$pJPVTWdL$jTiEZqe>igUIoUY3A z5yw*=ted=$p6I}dHyN*}MK^jgP<^rv91Hg7BAz6$s)y^q5$zwAvxSXS_0JSCaJ>V< zV{Slx1)Px)vs~{QN-%<0z}M01>u?2qUO5xGI-lej?_R>udd_3F_6bK5p5V@1dG}o> zv6eHNrnMuf`+%YvNaUdTg+R(ECDwq-NHt5T|C-zI4?HyP7;l3kbr+EEd zFwz|F!%fXj8NT4mFh#k%&H<&>X7~ZO{WX??TfeNRC7m$?vFUSD_3M! z$SYS;7zR;YR+~R%nGRkQw$yo>gks^UcTuh4w7&q27>U>zJrPoDmM7OyC z*ACcKUV5Vp&vqXL!W-(ad$K>sn9e9FH zFo^rfCgN>4xJXv*mNKk+Upd$I zaYi`yNN(_M=kkDS4gs~fGCGh9h~Bn8u_ zdW;-pZl<70tjp{T21IF}l@aat>KOR$7|MiKMfK9>Dk+7p0NMRmEO?9vah>MIACB@h z(T$^FQvDtk6YFkLkfCzTev9XYHQ$9|$-=|;^3#P``S9#S=PrnqDeB+(&{!#oS{>20 zO8nx(@FMw_lWEBNvYMh7C_$9^0@e`Zow_aLK!D;=2nZDfF|o7vb{ZS;_3|yMa-2_= zmFq!ASyI>$fjmxzuvb!R_}6zkH_aG5zP;N^K-(Ss52Ri2Um9gk;LDJ@400ZI&-c~bfdN6SywB}i?hdICg!vA~ zQqZCl7IqZ-?(ztFH-Ce*pQz=i1qfn(oiVmeY?XGWi*n)I^VWJJoFWWf)&(qO{bGlD zWT|x$LkE>v9Z9f(_I^5XmJ7K%WPogN)3zyL4p%qysLOgF{R?ESTzxPK00-z{TsDE* zF(21@G9Xp@wsu`ouJh+>6JYELa&mcfomh>-tA>e*mXCV(x(=+a#-Ym%HSns6co3@N zvCEGjQcHXAN&-$sb=4f&)TIW8?dkd>KFP1zK2cs&pHuCKMjqVUX&&Ww*^sg}_Y7n2#-IcP&XrOEJXOZ^!cs zv|pp7dKN+n+ebWgDN%)W%)@9)p4p%0?m6h;U58IcROb`M?nb3o0;Fa5<#GFl@Bc>7#1XrvL95krl3K0{L)Y7)?a>udCsiX+Ovi_&|FtzZzXD~IA-^jy}50o z;#J+L$ac+tNJZPZ|MgEdJeu1L)oQX#kL=Hbg!7$?FUVsWyXtxL3mI9@F3rPWrDx8e z7h#pG2;`~W^lA$Ilfw?YR3CaS|E|kBi>$RdT5RgI)17sl0KSDrvbvj`yz+SsZ4Kev z7&252vdRH6wDmVjTrq%kI4`+q8v4G3mxoZI7A-<^V4-H)S(;p(lyIY}zN8;>jH>e; zj*yaM)e)lfBfL0~a;22WZlb*y0EwgOK?yPefT+49&WiX=BL^Q$oVIhFF$jqKcDqHx zQstkV1%{U7+Tt)r%Q;yX=v(W`sv$rp!4d2pf6Yj^ig57h>$8ZPTi1}ACaDeU3DIXYn`4QTf$YQeq*1_LRrv^ zr4^q&)gYTH;^xvTCpGC#u;ONL9CzGVal@J43YVtvrBlu#DYvLqlAAcmH$>JFNlV?P z@n1_)Mn4;gpLV1Z$L$zo)>qdvmbC;~{en!f8g-=b9aZOJ{6~k<-rXI9`C?n>gqSyc z%u&YeJv7P;g@I=|Z}u?>FU~#iDKfoZ)(*Qk=yn*L(UsKIDt0u0G6&X&17so0(}TqI zjhvR{f{j3A0o@Uf_Lud5>b@)Yp#5hZN2{Tnm~`puN@&H&P}#7kh*y12Q56s>PWe)L zP1W3MW!IyswCF5RR^NA(V-!#1V!n6XLcA$GD6ct{uNJm8Casa6Ggq!tI(hZQxuMXE z#@k(iUu093$R#;P(k1I_hC7IZ#Jd4f?kAhfojGomUmq4iqlsFWjnJKQz0JdcB>{HB z7+9AjS0?y6D>q-q$)IA>*=lDWHz4(w@;rlvp7=?ST2HpDB9F9Goz$3nMhysm0%1yB z4?){_=wH;Hw994Ws?lOuANNu<+lWq=+<$$rN(9UpHWDg zk8O?pxe~K`EX|$&Tj{6y zZVpXM>L+;cP~)4CGr|Hfo=c5DZ}DtxttY7ll5dvenas+I^E%qID6HGl>?aB$!71^; ze;{}3`y7!^(OEuTqSFoP1ZMDNq^jte&(1QmRMwbsbBT$zx4i;*kJKt!4qLpX$OwJq z-<7>&D_Nm&ZzX9^2EZ4`AXLb}H|5U~G`}l~d{`u&YsIK{F%}CD{r3j30PU$P8 z8Oz|gQ%sCvK2nOnqoJ{tO~(C}J1L7$fR=$AVE4{38D&X^bWz&_XC}AslsoB$*ztc%aTAzIu0TxCJ|Cphh^I&HY!o{E4@ z)%l0JiXk-_%4}5Ps}4RqGxF!bdXnn?J^X8OH4T9VqV|)wQHuWY0%*z6`W`S17jpHu zq#}JIWu<(=!Ni$=Gcr)EI3y+at}uQiAcqia(oqvN|6U~rZnD(SpvnKz+}3sPw@a8O z3ggePu-)>@HgV9@?2xo^qWp#yI;_U^^B?3NvJaGIvmpt*V2ofoA^CGPmG5on1v!VZ zynM(LuX|;733cT9fJX?&9N8fq*g9{?ecrAcl41acd)TUPM%Kq+(en%Ft6czSX~lBa zU4?BIDhYw8+y02_bAtF#o)|A6iGP>E;GDO&kmeEgG3wM(So+cQQWkdNiGZ<E^bJYZ_K-h$Dl|r=XH1W*a}8>?#Fux^ z_=|F*PI2RJ%c2nYdTMuYWGfyltKe)_k9%Ex)^lEZoTyw`rtS1|V=u2ZL_*`hQk6B$ zqfhhLG)rX<7mksB&?7_kN3MxxA&_#7_vOnwC&7AvUX=Wl0S~OCE;!3>{(4ZDlYbE3 ze2H9is6kNHO=))DY<387F8sj*<2J)^^M<6qs}PK#)jpoel)pigjBE*UuYBoGE=9Oz zph}cS?>*PLm0K(nrAi3!A^Wi83!h}C9 zFPLVW&02cZWqV>?9WyB?MXJe-M-wR&1$bd*DgG>@Cp<2;^T+sYYd zk>Jj7^qzmtdxF8HU?A`|ThS0H*OiLbomrV>ut)y+Z5OSxt6oUjAS5}D=B4u%A?0ckTMbfPBTa)&rH;1JK%d3=9RRZJv zg;m@_orc)G_TjP?e;j27Z4KLcddGo|c$u6ilWD=LqoQ^W307Qz3bGukhY@~sm5KW4 z_*IJuol=?p1AuIFthR_rly0k|3LwKhr9XU!hmP@3dL@;*0Lylz^-%kO8v$kdS&DYur6_DX^^4`BjPc3`5!YloiBK zmzJ!55A3)PJ%!f9C?fn)u@txSf@|Trggubt(ZZgTed%wuuZ4?ms8MZr*oK?c?H6Ba z2Vwgm*OvMxRdIx#QTK)0w5A;QjFukbEP2_jD1RRC^Ht!Hc0t-yKH;jay*IjI5k_=3 zx7{Nn@Q}%%1(Hk(cE@r^=!A^}0C&H_vf@T#)A6uBEu-^=Q5VQ+c{ChV@T<;d%Z*}b zTU&`ARyQr`AX3lpMS2nGyJC8){_JT14GEExR;aNzH}qe$2dYJ32`e~gE&I8JYF2HPDGkBZaK4D%4)Ci$!iO0^0EC!Ay0 zPdiiN8J+4!IZ}-FAxrzZP-q4Ep#kDlBYHYHU-E7G_tr!Zidd_&ml)J5h1pGJ83oDxQSZe zlogA!UT;RQwCJ|85+~Z$*euOM*i!Q{i>6ns248{iR*zAHd!=Cu?nrTk&^Fmu)b3Rd z+RzC_%-WYmr5^@znbmR?rMjb`6}EDDF+hd1Dwt9B~lQU~l6M(QJ{LrGTz6?V(3w&EV)QJ;vDAqu-7SmP>D%gU(%wt z{BcGT`LT(d*dFhLC908XsXm~NF28yUk6KF-)lKlV3IhhnNJ$r1znUpY}*N2i7%%dYxx4LK53d&7}^2bDazEzY|+x4cONXbyL zWridSQoppS5Y4o(Sxs8DJlr!tDv8v7hsww!_q7Bbzdssh!z2901Kw&2E<#bOP{;5{ zhpU(C%fnUs+u!~@Kc2tOw_7LS+4T9dL_IybB+S(vDl(n+7oz6(g^gB{4U;3}{%m5I z`iw6`)5=nt3@^oUC?tJIC<8$34uEy%rW;a?m8}YqVy+#O{F<6QrZePhtjjL7I`+e? zmGat8Z#Cs?C|8y{W}MrBJrF{;!uJ^i76zRHe$j~D4LFCJjr2uc2aY7?XAAra*>x2s zz|WT!DA0fyxZ3Nn+cLtLu48?;qT?MJQ_s|U*s$zD6cFPQ9z*2g?+*{((<>|OTg~!+ zf5OYjeIB81sLEe2DY9f2g!h#h_)v*>EZEMTI$7_uV&t=O)v8xOU}MbiGW$*8$2&r` zDw@IVeVkA>jiPdleR|_Jz0rF$?KiVoxzN9w#oRGjxMF)P&+Pm+d#@&2O&4wp{#q7u zUrDs?wk&44rmx-bE(1%tuY#H)yry+{I+5i5@GE#%{N;K9!=M9DZGSiwB02}0VV~Y- zwQ4`nLQlcMjU+#3*}Ulnp$GAJGeZ{eS(cGM08x)t}8s0MT|Tb4y0^-cKJl5$XuU)Ma+72(J#JZo6|h6x+{$+6q>jl(J7}o@5l8 zWYjBRSa_O++FwqbP1T@T15O(Wmc3>hDXZ$mlTAIiJP!ps*VhdAvSBT-`ZBGoXEE@K zN_dyPgq+4TyiuwvUWrS{?NBDsw$4XC@oDBvo|nMi?g7lMoXymCG}W-~QoBlmG-sTN zw=&mN3g>~LMT?rC;*=5983XlguIximDD9ge#rxWQ=O$64Z?P?`GEu*vG?J9-1cYlO zZ(CmAj?y3`XXY4lzqqkE_pMGa*5cb7FjhM)BU+ZSYl%@?tqHnEE=#&D1TPSnAg8pA zQo?Ne1*nl+xR^b$da*Ee`Y5Fcb@AE~+57E1*ZWy zd#1_rFvG#t^sy4(qSV2@N#%Hc;QMtVMLBnD4BA6@W7lioF|cl|=B~=7Pi73B0HE%cqf|fiAs?gds$B=y zn8d)7dN5f7N&DJ93}oZ@7jdF(l8wDM`|W$%YTkU_`KE$e-EcwfI*Y>7^^JpmMSeH5Fsbc6Y9AUYr_Il}> zi}#mqQ0tAw&b%EZt6u5s3cs(p=aU#kN%2!u+NPpe{=wIv3``&@!9(OFrTfYT)AM}I z_{BNs)n>DOWH0guZ#W(vqv-Y)==M3ll-7yxIgN>8dMNQTEMNm`boY1r3J>?S1_rv}us)_qcCbt|~GHw0CACTBrGo8(YJzC$> zO-9|+Nj|!aJ(Zkt=Ce!oZrS{~Oknx$L)5)%0;NxOX`h%P(Js1wm$n%l7tT1*2L0zX z1_DHgJyO(!2$j?pIw7+CV?kg(6bfTRDdywCz7og%4ytXnYS>TwnZ^8NvbiW(77kj-9NnL(X^f1y{|pD zuwqhRwy2Cmfk4a(@B?6DyIRs+77{~9FgM<$x&O(g)o$IHCecVT?c8&j%Yl=J)!H1w)K2pReltui z>f5>{8j8`X4JgXATQL2O2~w}^ljsLYZ?hE&&N>f@ z;{ksfj05BcK@I&3xyJ$Bm!K^eave$prX*6+C$TbydmeZ%6$$LR4#febBpz7RG6mbY5tR4@n4c_ODGW?h}8>yixAeH)FNW%^^z8@OQ z3(im5kcEoCo`v3|<=MLcKBbEWQQ54*at2-1KagcTb#qk(A}__v@r zLa%=})%Yy0q-_Vv#M<#rY3ODX^69FDB7r?$V{3b9_qx$med~{k3-$%c2emdNWGE%B z6^--{pc^3s8+sXjw?SPXVUU#yqiwk?Wh~UW)}EE&GPq1Hpg%tRp{peg=S!x$ShbBB zEx{B%KJqYfS9$%gTh|oZ%+{*9SI&yycyq3<*O?K&jlq}r(Jz>az74E-o>@$Q>;W;3SARXvTvLqzz#kvF{S zSop(6`Cfr(C4xcUeWXD~LYI{^*H-VrPeG`?Op0r+DDbGw=5q=cADU}{kkq*YDh=H2 zF~{SVUW|-Lt#o5DoxySvYR%J7pGt5vI)t@w*#D=a#kiqd1`D~n*4!#M(_=h-Ym)(# zBDy%iMv5yVbA|Rc3s@W0s0tb)(BuXF1SX|8bqveC*rgHS@zpy45XYumf_o@3DJk?@ zE@a;pQ-S@inRbp$g&~0nV}^AzDab9*Mq$h_WWuUq0!n{hoahn6Ur%JDfIv>o25b6m zkxAIFCm%Coq5SEuZ#l!_Bt!PH3aOei+aJ!1D;9T+D06G!@LHFvJZn!|BR#p9b zpF&S7+JUBwVUE`FuZ9CycMni92pL*U0o;064cO>(qX%>q(odAEt8Z5uB1sXa`tk(u z)opea6?M8DPF72|C|YD%Ou0^sB02+3PC+gV+3#h0TUiM9;nlrEfUR#gOLcfPRqm`o zN?Y-hnLd@tY5-qL;{3pd@wSZds^mBv5BH>`hPh2&%}<{UIsteEX|GngE3)@)R^wU3 z-z9r>S8Wr!R@NR8vQ~8O%~#2N4y-jGL?O(=i{&ANO@_Dq&X%eA0v@yc=7)30{m(+K zl33OAdv68(L~M!s@@zL*_w$U~1>PNOjjHx8+Ik1E^&b56y#u^H3%%gZCbXlC(zZl~ zYqcfDZW#4jQ-kN_i}Kth`R=mt+3Or%+8Sy14k+V-3`jPFT~~v+^DeNAlBX=zRdY3t)jZtdtWlhTbI%uCw5&kCV?k3GpC=cX-Jk%vVw6?lf*nOkO&ucOsGzW!1_89+s zwCbEK*>5{Y6a_~}3$oJXz~WZuoKC?DBlZPzuwXijv-~N4dF(KvIz#oNn_gM-0RSz{ z1D=n-*(IMoVenkYXw-c|7lK3LiyF5JQm~*-tai2ubpA3mkcrl}{wgU4_0*h>G_o8- zMq*z!NpN@#{Q)6lWqFAR5P5yo3#(G2@|y?HU6O7A-{nPtyap)wDGmA|y9fkO{n+sb zMvl8Jhd*#Ydt7j#9%>ljqC9Sne6l>0VQDKX>c%Y$BKd23ipu-|(K%O~UsuRF3Ey32 z>iRr_{J#X-Uf^2pzd%eF+=NzgFO5MJP}qo%@mFD81fXo2<`PV3_apK+!9&`W4*|e` zx|y^a^xd!ryZ0sLlwFQrb7-rSa`I`Lp)|xjT&T`#I6;FUQdBjhIjjw0Ajk)Ja2{Ox z+FGbWL~=RIN1^@l88Ew@7syP|(1JN6GvIhRHLO374|@h+L8uB=1bhRf+L|92EgXZCP>(o2sqRUJhi2smiVnkq3~ z$33{Y+XKOZ#w#0qL&&}x+<>)ge*qswqqc{4tyVZ7BT8E7O=o~@A*LBv5s#Z$S$h}T zYKKr{h;~UtBu6_?7nVFB=~&MOq6kNgjPR3)FM@I!9xbX90=HO4uAR{(Uav2XzQVAX zsQW{Zg`pu2BP%S1%C%d&yJ$4^@{&5owdo)MFB!vxiKh=doaS_m8-)?``#BlGy%c#f zJ8RMAR6_^4cwvo{csK%g3=ufAf9O;TKzNvi{!M6|ESp#1kgsT4U80oVqDAE-OvrDa zca{we5JdQ}S_}Afj=JZi#j2h22kWEuWC0+Z@0XwD0H*xX!c{MM;;a!P@hHkAnByqI z;&~+7+9$hP>lwho8N_;O*)8?-lX#{CE)aJyrpz{tbv=w1gSP1d1A`Xe0EHLn12c!q zxR1n#ykj>v9j@C~T0k#JRG`KavCOk=It35SqWCch`(a7DIfll{k{7yKR7O_%12|F3 zgJL59!X)z+c{NSGfUa)Ewn9NPKErWDflN?3ytHbk?4o#92n77wM^+ z0Wuk|+in`_5-TKsFPggR2s3cySCkwqj>`<_b07*Tb@MqeDHuzkGIMb);6TvYxhv74 zB28ibHKVbgr5K^3F&CPqB;pMQngV|O0UbzdX!G7vs@)POPkGSUjgFggdW*im z)f(@0uC!S}WOK>Qcz@=F0r1fU`qHOdXuZlb`3fqv4!gIV7d7l({NGR?=HHVaO(}rj6f5E$7 zHlxp*e?pl2YM)LknBbr-AG8^HzLhRQ{M&ZNWS1OrO7L;m@Tvd(PsqhRcbe7hGduh5 zs4n8|C<|ublf-RLnwEYe1QkmY>jWvwnT5!&38_dhwYN~m(tGx}=Xt;U5jl1R>g7Djn*4@Dx*s>Wrag6L zKm;;9zIzF z!C)#oFcux3?xCrkXwJVLc?fxRVeZeZ8>4div{Ld04ha`;I&Wr`5+_Wgb35cwea5V! z#xoPzN$}TB#dfWueayhIsI`c46)53Hw)(?8m?E=)MpP~<2;=%-yDmxNug~-%6iCXJ zjq)Pf*wCq!qGqFnMT#yXnQT-}Pgu)4&cZWJ$T41M4VM)fwkFH4)Z$-mso059OJX4O z=RDBIrxIoSe#|mkTroUeI#=(syw^1W5Yu)O%XX7>GbM=&JxFoa<4*;}(`ad0lj-0F z+a4uOD#j|2MdA1Ak%yS!t;cdKc6zG!_w4?{QeI(sBeelg;MI}V97#mL?n%3RB#xt1 zS&NwUm@<*M$o)k=a``F*`&0MtYm~;>Z@GfD{3ZcKzH<|psHJ#OeCbfFi;Q&JJWhR=i}2 z9EzC%nZEw*<+cahd1;yQhNx{YbvoG6%Hvzf?!A^3d#p?I)z+6}P}s?7sN{J|cx(Q5 z%b>34O`!VdJt^A;zDGG4{4kt6KSbkjXAv2L^PibvDIIiFZ#!3+gEK-d^N}vx*xB&p zSG(C>pMre!Xztv@^Sp7t*UXH^P9D!VB4U+-V`#*O!azY8pzj;@^7F~{8Da`Jz)z#= z?cL}3a8h`ze7L=?L0q&*b?C!MAW+l`-8LbA_)G0Y0RCXXvT|JwKxlo#e{m49^GITN zK@*TIe-dJu+}(Dzv?-_uBxp6#_gr9wU+#wYcNH{kmd{*We(ZUBvc1kB`?GHaPLhK)RI&$wlA9bLLXZC287K09{j zG4i~|_yARw)^@nf7N}ijB08bajpj_>ijL=EFJ;1@J2pE{I%EMoMH=^)h@mlA@zevR zaEvUR7C~jHX#g3J9B`lchL+(b`QaU>L&(QItbyF&$FnO=&0VZQ_<;tq?6N|eJN@t^ zrAb)aB?hcl<*60B`8L`MRHWt%eS#7Bbu?Wc?*X{R)ZtdL%d?D(Vnuhn@rpnIK+_P) zi6iNR!{Z<#_3FeIYCd<6z1%UjDaDE~#=m@x2I8cWmql?j2`^7e=3VbK^-f2hldpC1 z8*Sw+y$O|o9ULoj!eBn@Y)gx$w*6$KX&YiR81O)J@`M!T0Rlt%g}Q{#@zt{qh;})U zvDz8Fn8f{p$m$H90>zt~j{sJ+9NsMGI$i-ET@A>bMvY9udy_@B( zBe^m(0{=`(16qK{zic!pWNuTK-6}o;9(WlEjvPy@ZIheNxp%T$9!T{t*$*mtGyw??l`edp65 z=6l^wZTMZd?sGQ@$y5RPA+?>x=8`{-`!`6lsZ6b6d_=8;dWxXqmRjhw_Y|EDGQhgx(( zn+HpY0CPgfUR!1@(&K_GAROZdoqOz)ZI0Qc*ED1xs9y^F2aFb*oQD~rDkK~U&f6=4 z7EXH*`{yj1Gjd6DWR-h9(4Wu?qlb2vAHFEtYMj+OeoPW8V1@n^$mrYxC97mkZ*g~E9sdoBVc#Xz}74R(eD9-n1}9tvQnptExS|u0eFu*Z8RG++K8@} zL7qVi;buYFm~+CB650Pg@oFRUd?vOr>_o`-EBU`*&W+ngpo=Ya?$|w`S!}d9aI``x zph&Q2%{mQ}03LESChI?`_05zeS?L?g6c}atU3cmhl?qRt9@QxLJHX8bxu_V9ss}!d zG#+fRX6r>P_T4v2HHdcd&@RD}EoKM!{?O%3K9}p_aeym&&)lCH^5)n+(!;jLtroi6 z>?oo?YZ!&eW5gsC>W+wB0ZVJlX4b)9RgvT0QVd#4zO$F>7KQ5NteH}+$NlW&ct&*4 zj-d!0t}QvR=dwh37zZc2%1nI_U~{lUG2|kP3w5dDQ>*q(@_OFTgbZ^W3;5`1TX#T@ zIv5wwt8_BS;P^)azip@KzZ(yi2=YI$|JM%we|qbe*|`v42mpYE~9z@zfHlDv83H>t;ve?CBkc{6Qw^^{_I4?ZHN3Poj#2(E;ge*nC~0k!@~ zWMKf=bpPy7ii9XZQ_wSwN7OMX0sG)4{a3Zfqo^n1!RdDg!TBg+d-#W?7v7fMU8vTt zR3Zjvu~%OKF{Lyue0#aKk27nVXRauF++VCcpHEKCeuxk+Sbh!P9`84_@eIA)3o#!hnn{RxVtG3nXDBsoYyDYW+p7VbF)6}AcJvk zPN8}P&x4_MbaNwUTA`lNaJ=knRQdv;Tye~|sG6jfknx!RWqqiVp8_hVH=Yb~JPPVY zRu$3UHkezde#)V6Vh7n{%mOM65F4vtFA20y+RJ;hx*D{?QZDRxEN;J`TKtJ5jjs72 zOR(1wG8z-&2mI`Lw!OvYgBi$J44ATflu}nhM_UO(`xarY)n7Vg*4q=!TcS(jEL_-& zC2|@U8Rq6xMm_siXn+!y%D=kaTLsxGylTJM7fbdRN|e~?6TE(eoS0Pcv*%ltwsVfQ zEB%a4RW1s5yu5L<_*;tJ`Xke%25112?j*N}1R_Dm4wDz`!1@%Z@F*Xa_s@GURHX|P zupzh{mFS*;u$(>+)sY0sSoL|16NJuNMr&bpdECz;J8_>s5JDCYRO zUBh6zc^;~f76J|8+JzCPBrmk^tw?pnE6+uvBb8RvN7`%PhGB(%SGb1?!Nih&&RR8>m+8j z9apvpf}I=Gz78E7bjC%-6-BnVc`9?E8;!v<(`~J^L-}k9Wr9J>6bKsg60}kKN3&d z0Sgy_6XIcs&TLDKva=ZIqid$>xh)hjuUD;s`-bQGYSVhZhvx!hwDGhG*%oiXetVP^ z_ukztPOF4io?NsRmQ^vq589wmuC^GLXM`6Umaz1&W#uZ8>1>eO{|ae!P2#qFyg1v) zIG_RfmUd_r!rjJiu9rY8Uv*HNbW`1cJGsNa!)6aMW{>)_Td*-J4Vp|WxKbWp8tuN^ z>PM9PaVrnzub-RuLu963TrK?*pUD&wCTT^s^Cb!D;z0hgOpnr~K*;Lg-j6WjVk%Fu z;8%O3(jX@rX=1JVV!~JS5m{34h0$Vjq2!=>mU+IjNmiRLsDIHn-eI~-p1CuWgVY6$ z#^|`@fmMj+s#M5GVl@@<2kNpQNNG}ZOqFulCUhJ0jpQL$B2Oa*8I~qI*rTWoj5eXF z-%!kwtkc9DsI}U0De@h^=8>-X*G0zD7ue}^-%#650je#16Ki)#<94S;GoW;L+*;9v z9Rle9{Tmnep69}UJ3Tz^l+W`AO?Uf-Bs`-C4Cd^YK4LaV7vwJDCr``FSaW_0gW%c< zO~szA)tcfha9jUs2zm9UR!y6=T~0eK1JrmkmE=mVZAq~$l1hsus||bx-G@oFc4(Co zV{~5KHD&oUj#JCa$N7S7`mkc-`EPR9?|!kAH;c%YaX!i*7~l<873B>6<&HWfw|F6b-BYlk%+Z{dEJp z2b7A-ZE?mDCqj=Nh5rIG+A{e`_tjfx`%cua!0&j!pL%mX{PY_LB5@N&IshZ3D)UnBM!C(zeJC_?3|8E+ae-kgLc7znagPhU13kv2L7b40M0$Reej z)evxQl4BCmwci?mZm!#od3U)%Bb=VhktRE4qts|DV*ZelIA*e!ZpLhMr|*s-#vC{<>%kpatHk`UX1#Z{yL;_t{y0#oMQ&y z+zAn!GaIilhdA>UrVN5kb zTT_X!*7=yV=pgp_^0lfSR$mNqW=-RKgp*dvxOAzA)m@#ScWQ@4(cDG@H7<}C0uK7t zz3?J%>?kP$JqR_3HD*EDGXap^W=b<_-sbD;Yb&{;o+UoIrPJ+Zt}<)9MWn@Q2DVt1 zGfA!kI$&$hFKymHw-oy-6m;CLE+~@hOZO1Ia%4;ac5U0MvuUvORO-KYbgH?&XOWjy z^>t2xRyyW1tO@W46ZXiS5m}n^^%B zeT37QoxsqZXL7OhMC=XK9FvFg{AruF$J_ON@8{t8=n+8$icp!`2a>^wz5AUjE*A(Z z8@#7?BAA;CUezXnWp}$n5$lhS8q$LBfFKe3Y^`jPjnDx>G(%2&T@Hj_iF*Z5)Lt8)*Y^EdL-LS_sN zVsjSExbZUPCbFY$^GFO}JaE2XLV|3#F!7_sfgBCwGrLCEGZw$N1e93&-)Ln)LUx>W z3xE!>IDl1tJUH>C#0#9AjlSvak3kA7e3;_Jz~ndk&*q=m5o{T9yo#YrICAk8e+L{` zxG+BSW0~@$qu@k((b&(UV!-j%z!Uzmp_f+=h#+mPF`<23t!-kuKA4$<;J%jQ>EOlz zlWJ%??XyD<7A%aoY5a%D<#fM!t%0?n4(1qd-$*f5layPI6}9#6jaOv zY9K*)o6iI>uUNqhKfVqH2`qQURM>RRe7ywFM0nn!Kx07Uk5N-?Yg{tPvCN#GP(YOj z9t!h;?$x<69OBc& z`(K6EuRob41z9@h;Mu$Z@)|;`fNrG=x1vq`+RkFJimy_0(m|i{ovQ+^i+Vj&@0vHNrnETT0`2(wQ1Ur7aHG+P1zx)psXn`TxhSg zT;baG2gtpwhTen@>OzXZ&fj&dTY}2VJwP^;dlm&~SK5TJ>^9X=*R!2tmlb-;58Ee+ zJ^O9QL@3vPEDc^IO}pc6$@LHg1u)f+u9VpOl`hZL54EmRSGOrxMWGSB-$yJ|f`qrC zaEVu@nB}kQE{-i+*=H;zk9q_CAZMi(-YxUhBBI`*0O5x z8|IdY?@5v${COcuCry@(6c-!Wl~D*UtFjlx`y;32Wpz(5mz<{cfbm*TQ!i12z0$PL z!{oCVqJxQ8;%_V0TBp&O<+j^TfH4kTOR1Ww&8zL%I8AXk>Ao;$aGfbs9B@7$4;*Zr;PI&>; z0_b}axcI>Dx7#OIFHXMJ?*DbLTbAlh(+p{^N$}s{?Gf0>u z>$tQwOk4;L%zKtd7M708c4*4W_e~haFR+hEGoKBGeKp-jH0H*$2-VwDLWD3qOpL!F zzDC+wZuh{2ZIpk?Fu5z`hfYh&RJ939^XmoyNCvnoh+Ydv>@8(_YO(Dp`fGyL5hs^o zeU(ZaT8buur`KLEF|9&)XxBtVIuMVCfqTi^sI0Qp)ILt*wuVlJ*xlQ-j1aSuagX%` zy90G#Gouzm6EwMxOju-e{L9cB9vm^JH@`!U_0mEX3hfJsBavk>eb@7Y++;Nc#TsOD zip(3-H=F`*jtbcu$DMfSAyHb&PIb1lI$Ho`c$Nf%Mjx5} z0T;99N%pBn!lYNF;tlGTW70~fn2g`ZbAJx^7)I=^nZQK)OFZ0};9wZZnr)b;>=tGK zz1oqZp3JE~^;pPBk$62l6aSj*Ef~O+w-j}o8Ri{EqjIBYgUOBQiPhK>BXsGDtmL!A zI;ddo{h$XHG)5r5o_?E3{h?*!fsAC@qd*RWdWKJDt6sx!QFL)F>HmXbRKsB1ee^>aEEfT7%k)7V2a z{2S58)s&!-AmiIxwOHFc+h=Roe18yw0|3i~3iUK-mQ%K=W&ybxcfksyb@$#4=Rrd= z+fY`IX;v+utdV%qZOR?_fxBb9i@-W7x)q*)#MOHLi3zRak1t)TLmfu2lKLcW8CKs* zJu9??e+9I$oM(ZrD9_`2R~4V!UnI!4t5D>{mb?N~FJ+*3N!?C-^Vi?>Y)Vd##sA8? zb#*5up|;antocp*{`N&Go7atQzbtFwinlj(ov)>aMc zf4LRy@2$RLw3&^g)&1WDlgZ4TmQ0hf+*`IAzer|ESwSRrlu1&;$-3&_UEqik3enw* z@DbzS<55rtd~kH|Hk#?83-qtf2Ac0b-KIK_FOR-j>6+gf%DHt@G7CKwYE^|;SeAVS zCc3Ib=`D3lX4mK}W(@jgkuuRaV9i9D^$iQGy$t6UK@qjqf~_@wM4GapA@nj11*3e} z5>~VXW^=|pA3gMWGME|T*D`DBUj&N0Gk>+rj!vUn=#6C5lfPP1G;GkOGun$gZ%av{ zue_$XEQ`G!XWuqsOsJR{P37h9cE69(@!h!HyhZm|rxDev*rB~NOgYPRq%`Abt-E)! zwC8E6LQgi^Yz2cC$xyfa(cqQMl4a}S_1(BBjXO&=QvM!i2@1?nILhS1%jS!f4U3;9 z;Edx`rvHLyiXg^Qu=K*d%@7>Wb=lson+edhq>_Dre{8jmku;6ifd>o;$y8S#nF z=?a|VksI+<^kGUiGQB`lePWn4{cz&-^%5$Y1Ac%o4Lqvie`VkI3^<&^6*~q$2PbUU`^;nv~o8{ZkwcUpsEOYC+L zBP@PeubJlP_uc7$1%2_vaisncB23>}N|?5#A~mWm$~~pvMj|3SmImpBeJK?Y92%Ed zmV8+uimymMBJ7Hb@4e+*|GOPeKm`8KHYv!T^Y55P|`N$~bjlb!m`OrTP~< zQva>;qbq{qq*GRdibAC*4GaCfDM@NXiN$o8ODH@{RI7@}1z_?-YUU5d-si_l8+8&& z$UqFQ(zqbRIn2xO!(U%Iz|;wH07z`^b#jDBN6&;09PzkmK;XK>pquD#0O5&vtG@us zV8TOkZaAq6f0-FT$&(g5Y_8d;-$qi4NmfWNcU9a7}5{ zno-$!#arvNV6$%Z^z)Mg7(EN^n*Ks@e1u^Qv4Gg6$~z?O=fBRL;CWg&pbVuD0PhR& zD-IA}lWPRfhOs@mLipf`eFo|Vw>Am`jldn@whr@z&Ut2;D!<;Z0&M0MN~*ix0{1ym?(S3IQ7EO+ZzlUAtA{*hOpWIsCY9mh8>HLBkm;qe z*YG-Sh)gqWAn#Z$7Lj)usY^ZgyDqME|MA-MD$bkPoW|Q;<2|^GWoYppvLt@)>$mh- zzI81*$$hPKovi`Ua3lg-{hFSn?f&%jGWTsjTjRx2!OxIq7DW$vdkN=VTeqBRTsm$g z?g-O71};+`s*CL97Z&4h_>uZ6&~5|ec>AyynqZ$D7r5B9jr2yDtHdyx^yr$_nl&I5 zkHqRIc}8GA8=$O?eFqms&!UaZa%rYGwYi*^k+HSj+_6e%_MAyN!_7YxGtJ~}Q{Ged z2EMy7!G|I4Ht_tETv)7mm$2Gh-t7z8x3zPlVzlMR%hwf!UQkS*xK@%8x##EkRi*Kd zu3bB)=pYY#oXmK14dqar`#VEI#WEkKoZXJ?z3w$1zj!9iT{Qg;9kWcqbv0&gRaQj= zT>MZeCX~~$bFGVj@BtS`)o>Ix-OiL+;&=x{8133*)A8*} z9_w5pr1>`N6ZiSz`HQ3aI!=`LVo%BSV$Uu8d{(W@QjM=;p>G=6Wff&pH=r}-74O1L zTdU|Fjb&QMeu=>85Q1exkj`jFkNVn%(cm43-LkNhW$<*y=KSSsQeKIM1l-F$c}quQ zOUc>xX?`rEyWnX3sWMCuRY^1Dx}g(5C%0;mBVGk9Yd*`l3^v0fACO^q3B~HM`*@mH zN=TS)X-m}=5>)ovT0phMmOFXE0v73I>HqRij0k*KbFvrNhR(*D0HJL|Bhw(sE& z4Fb~LAtKF)v@n#E2+|=r4CT-r0)ljhC>@g0AV{ZzFgl1x=M_{sloADg$BXyt1%daz z=Xnk={P9_9@3q!G`|Q2;8gI!tFRh7!WJ-o);&Rvq^~)N&SVv0tem}vNlq<;j{pWwR z9vVd~_Sb#GJ-!aKT{H6l4-*8+Av^aFi!O_aq2h0xDM{QbU)!)H>IE7|v?`boU-@)E9eJ898q-b2r6+=9MNs zlkjxX%V{r&#t9|O)T7g#_>4z)ea*;YD!+b2td#5c?ca0v+uHVRbmfWZQTx^9p*Q{e73 z|Mg4cMWlk?@cUb-X%R-j<9X1o+Q}!FmoSvMv_9ODAH!yfVRgaXHuE=;z16>G#(wLC zILZ}y*=}h!o`cq{n^`5g>M$&-1ddl7;tkC|)N8OWabr5dHZ~?Q@cB2l+G^>8w7jye zDHW>V$^9sD!08EH7YGMO$an?;$-kfUE_deXKH`2cej};fC@k7dNm@XLv&L|e*aYEo z-MB%cl&~^B$=M|%RKVBRcWZ#P{x1}9pDeFS+(jai9F%WAfBH0rAnf+}<|B++VHhrjV+$S&*$ncP8<`~KE#5;kh z&Gb1|Q=613E)V^EVP;tFh4*V8j7cJUZLU5dcsP?&qDnsF_b!yR?FR-rdb1`riIrBZ zF#9d<1M%m#DbN!_QXcpSM&v4l>Jrq-;ERmE`G`a1A&9fr^}19%XtVj{rIwk;;fwSd zG2${TX=L$SwBD_*(v}oGY(&LM9UgV&7pQ3p%L>beZI@+weaPE0S-^!+_KmKT=2{9h zi4Qj|nN05Ws6!$`m^3D5<>NTq-8)E;*Y8%@+>bG-v5=8ztGj|Nh{i3C$YU6QMVd~Q zi`@P+Fl9?CH(8NiuGJRE03f?{JYv$vR& zKrzv+nWm&_6EHwbrp&$FQ$>cFNcBX;AV{vG^reij$II#A&eV->AxR(RT}kWYzveIR z81%I;%UI@YjoWT}dK&8(^aYr#nFa3`X>2_DuGOo_7B=)O2(v5&doql(ut1-@GwWuA z0q$NGH^$ruecxyQ3LK+tmIMsxCrl-D?{W=aNQSyzz1uOl<>p5CF--D-BfOLI!eP{U zqzodlmF48%?1N%0e}nD!*W5FCQYp+kOP<2k64xXL zI4l~8%4wEE7T}8`g3#2-<=Lgl>@qK{+gwcLHDslFr41EjQ}}}hrb0@gBfS8MoFdUaRCC&*L~ zI4yWDMAXUEI}ogL6ISK>#(>v9;hNj(u1MkoTsiQI@v*R&tPcXMTww0@VF?4??t7A` z`z6;D?JA$yI_q?6u)9uUJpsKcCNmR} zpj;Jt;Um_)HN&P@bSwR>H|EI7OT@ZdA85xqsPZ*oO3~MPo7gyX+K1AX42KrUMd_B&0kPOp>k*dYRxbyh5Aj z!M(7QyRJCHn}e&)hMKRa)GM_rT*!uVlL0He8)foB%8iT^HPTCT?9Lzi?&J!2f{Ui( z+*mTR4n~_uQHQ9Aq=LC;Z$BnPTE0n%gfHFGEhWQYBNpv6Zkf2Vzwy_bE#H{F@AJ7C zr0p&~&9dWK@d0DHp*~=0TftP5ulHif5dDY^4{=nS$e~EPDf4kE`X~Heo)=noe{fx9 zzR{28=ix}*w1-pFxBGo&i{S1zB7(sudq0|}GcXIv`*%ktb;<)6jI^31F(uPE!Vb%~ zW7HQFKdNqVOg50jAp3F;^^LkMS?G$K;rcs)84-b)RJo+1HH<-zA!#HR*=^qSAtlEh*fF| zDX(|`Ly1Xdp0w5IUTBD166>1_JJ%8Jbb8n;zHhKwUm2;G#HQnCR*-5Z2fr7Rc%+TV z1Ib8@Lj&gf2PMpPu#XCNVVKrFtNik7pUPOA?Iygj4zfuFp%# zG8olB_BxeTH_(W`pa(UHgF>KiznQBF95Q61kVT#1n?hW{gc`Q-%u+uuCyUx7Dt&BU zugprdsIjyr1a`YgnWdpw1NDBFdue@AF&c|&JqeBdm>>g%3ra&3S8@WgE*~~_%Zk}+ zvE|`jkg@&Xhnw+CwGi2?2gE$FBj#P#ZoVax=hrh(RL^TeVg0d)vE{`p`@NBs!vci7_)ErmnQ68_RP)1F|pWM&r zm0VxykpNU-H3prT$_Jj^&iarKQtCX4@o&vS)T=C%Yh+yOUfpMB!*b9s-)y<_apnP36&0;1 zhp>G9f#PC^FYZgSO=>ewjVjjoYdNUxv;K&oZcku)k1=OoH8YpcEdXXZAIDuG700)& zziekuhW64SnqQ8+hfMz(uZrQANc=v8N*`1!qBp{Vcddh%vi;4E8wt|BE6*|#Sfz}< zjC9>OjLf2(5$xPCS20Potbcqn+xL<)849}?zYS`Rk2%)6Qfq_ej7o+UJjEw|ITGrT zf}PHgVi$F4{K0TGSeyqK-H8;v4a-(7={cu;a}b_RBqAPX=ic+SKvEW0#{!3`tnShA zTrsD&MCwl1kBd3 zmH3-!Mz*vXYpd|_5}CzJVtdnCl!Jm^GR{qOiV%X>smS3}xXT1@BPy4uDU!7y2mMnL z(WT~}Vt#QI~dq+78-X}q5z#Lrv z{dwt}O!_AbCCCcD`#oh`lN@ML5fm&85uv0Hq(w4;F*7up47&t;Vv&khOlTk_Oq`k8 zUmn{<^3m%qneExfV@1=o;TgeDG`U3*?V+1noK9oN8p*)NN_RRXzykRkO@_(Z)6p^X zZKlt#CQ73<-&gk#Cu2;Qf6I+8qc#a9=|;Uf;cL>Y>9EpPUzRi1JDKSFf?*~=KgUr{ zngZ1)+u49-n?9utJT9WN*rdFO?%AM~Adi5F%C$o+KFMcPC+JgLwEJ|oTQpC;Acm7y zxtOhNGCFN`@M5b(4gn# z?>#vz8bDjLDo<9(uSD_o*5DL;vTPKU-4|!Vzgm-Fs;pfauH&L)M8p;Ag2mOy{Vi2* zZUtktr2RncKIC0oJSGS6!e;$N{Td`k;uouaI)&lsF9(o}t^zmv=SozymQSC>K(GXC zJj69V$BjEF+$%4;6}=>;?K(Bk%LH0e$J|JRdfSOYCLa+9l?EQ<)aR*v?i=cvz5%&M z5&JIco-Ne)mGEQ19lk9`;>}dHH?D*DDa_(pyA#iy_k?6cdYH{0gKC@n2;m!|EiKZd85(^2kSHnnd1(*gX^UM5hbqm@i zyo54nr8o=;DmEB6BwCqf&9U9oe^fVbW%0OxW!bBGrHPKesClRKP`v(76-VCMZ;#^m ztMIc85tR`X5Xc|>+@)oAD;Ny^@7Lf`4V9PyKEmc59X#zCrQ9JyCdbh#=>Vr0wMuMO zNNAu?dhU%fy3twRw(Zudx8AW5GeXALLpEOTHVZKram{S^xAd5`OZrSOrNle z^E1-&c{06daLdSYq33|%?UCr#3_oOEfn%+QhF5{dn5ATD9pxsn^Qdk*@A9J%D(Wzn z;}Roq#I}27RvZtd)(Gv|KcHxb1M8YWiD`OMb1L2?cSKV!aoup{03McyB(cblg9oGy`L&0;2) zPbWOqAZo)?{CW9KwFE&*NvqcM6<(&LIF2Y0 zFMLK6?3SyS{Me|uzhJ;$_eZTN3(D6^$t*g@JBs+&2-IlkU6N;D%~L_Dm;Hr-9U)Kb zfW{nWJte>4YPC^cjZ7Gl`26JZ?uy}DK_;&ss+uwiDhLGR$N<;Rl2L#E@#_a6FsVJd z2!H*yFtvkvn%R4B+nPGNz?^vhSL)+D4COJ55P&*~;jy#^X31v%4F{~P{!1&jb8w0p z8d`G3nsO>?H>EV?PNN^C8@JtUQp^QnLK+PO68J?2J_6T^|4uh^wKR5uIoLb7@YtH4 z(l1A%*mJp`aR6)$pwmT;iRuLYb5_5cXov;O^k=OVK%C>xvMcAw>mvw*-2ob53*6vi z@>GBU;6KXyTZ*;4-RXjk{KoX|XdD3`Cem<0IKNd?X9-C<6^_-Ai-ih_Se z3fV6OL7<?)JFWjtl2|~@~1WJq0VPp)4kG6(i5=c zL%`pDrXBvgj=CFz>x88Ov0yf+XSB)$U+*)+$fFZBMTTDrm= zEUe+jwues|ZYX6nju;?z17Svcj2L$3Poje<^scGpPvCzH3esQ5qo9~F`V;Bw1U;=6 z|Fp>QM+lYi=_nusPQx8_UtiY)oK+w&QvomixmxqvD7xq1puiAyu4k4?} zJBE$2Ia|wrRa`tTZd0q04++l;Hj&>G! zGU|Au{C&jew>zkxP5av$P8~#!eC%Ys&EHV3zB5()moJ=yK3RwDH@bQ7O!TQ$*-nlE zCl6cwCWBYcB%eHbbrO0q^ZGZ`Yx_*-A9>g(sVDPdepA7~EcTyA;XjkppQ8)l0)J%5 zoTQ%I9sErVz&@M$zhF4WXeU>Qf0IWpo=N_5z4)ZUC*R?IW1}d}#QyO{r>2Yn3@bl3 zL|H(4z$~Mf3Kf`pKm{z!Mfk1?@mUB%MXp}GDrhbUyDDgU4JybF<}-tunn5ju1%<9b F{|^RGDB}PC diff --git a/fancybox/test/imagetest.html b/fancybox/test/imagetest.html deleted file mode 100644 index 9b81ac34..00000000 --- a/fancybox/test/imagetest.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - -
Tardis cookie jar and Tardis book, like River Songs diary. -
-
- - - diff --git a/fancybox/test/test.html b/fancybox/test/test.html deleted file mode 100644 index 1ff17351..00000000 --- a/fancybox/test/test.html +++ /dev/null @@ -1,14 +0,0 @@ -

Blubber Start

-
- -
-
- -
Aktuell blockieren Unterstützer:innen der Letzten Generation das Rollfeld des BER.
Einige haben sich auf dem Asphalt festgeklebt, andere fahren mit Rad über den Rangierbereich und bringen so den Flugverkehr zum Erliegen. Vor dem Betreten des BER informierten sie die Polizei. https://t.co/c6UGVfPDI9
-
- -
- -
-
-

Blubber Ende

\ No newline at end of file diff --git a/fancybox/test/test.out.html b/fancybox/test/test.out.html deleted file mode 100644 index e9f682f2..00000000 --- a/fancybox/test/test.out.html +++ /dev/null @@ -1,14 +0,0 @@ -

Blubber Start

-
- -
-
- -
Aktuell blockieren Unterstützer:innen der Letzten Generation das Rollfeld des BER.
Einige haben sich auf dem Asphalt festgeklebt, andere fahren mit Rad über den Rangierbereich und bringen so den Flugverkehr zum Erliegen. Vor dem Betreten des BER informierten sie die Polizei. https://t.co/c6UGVfPDI9
-
- -
- -
-
-

Blubber Ende

\ No newline at end of file From 537ee2e6562d66007063a20c8dc52302dd76b9b8 Mon Sep 17 00:00:00 2001 From: Grischa Brockhaus Date: Fri, 25 Nov 2022 02:05:38 +0100 Subject: [PATCH 3/5] Code style --- fancybox/fancybox.php | 65 +++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 37 deletions(-) diff --git a/fancybox/fancybox.php b/fancybox/fancybox.php index b572b7f8..a0279914 100644 --- a/fancybox/fancybox.php +++ b/fancybox/fancybox.php @@ -12,50 +12,41 @@ use Friendica\DI; function fancybox_install() { - Hook::register('head', __FILE__, 'fancybox_head'); - Hook::register('footer', __FILE__, 'fancybox_footer'); - Hook::register('prepare_body_final', __FILE__, 'fancybox_render'); + Hook::register('head', __FILE__, 'fancybox_head'); + Hook::register('footer', __FILE__, 'fancybox_footer'); + Hook::register('prepare_body_final', __FILE__, 'fancybox_render'); } function fancybox_head(App $a, string &$b) { - DI::page()->registerStylesheet(__DIR__ . '/asset/fancybox/jquery.fancybox.min.css'); + DI::page()->registerStylesheet(__DIR__ . '/asset/fancybox/jquery.fancybox.min.css'); } + function fancybox_footer(App $a, string &$str) { - DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/jquery.fancybox.min.js'); - DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/fancybox.config.js'); + DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/jquery.fancybox.min.js'); + DI::page()->registerFooterScript(__DIR__ . '/asset/fancybox/fancybox.config.js'); } -/* - -prepare_body_final - -Called at the end of prepare_body(). Hook data: - - item: item array (input) - html: converted item body (input/output) - -*/ - -function fancybox_render(App $a, array &$b) { - $matches = []; - $pattern='#
.*?
#s'; - $gallery = 'gallery'; - if (array_key_exists('item', $b)) { - $item = $b['item']; - if (array_key_exists('uri-id', $item)) { - $gallery = $gallery . '-' . $item['uri-id']; - } - } - $html = $b['html']; - while (preg_match($pattern, $html, $matches, PREG_OFFSET_CAPTURE)) { - if (is_array($matches)) $matches=$matches[0]; - $part = $matches[0]; - $replaced = str_replace(' Date: Fri, 25 Nov 2022 02:21:03 +0100 Subject: [PATCH 4/5] Code formatting Wow.. This is very picky... |-( --- fancybox/fancybox.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fancybox/fancybox.php b/fancybox/fancybox.php index a0279914..3fb548b9 100644 --- a/fancybox/fancybox.php +++ b/fancybox/fancybox.php @@ -41,12 +41,14 @@ function fancybox_render(App $a, array &$b) } $html = $b['html']; while (preg_match($pattern, $html, $matches, PREG_OFFSET_CAPTURE)) { - if (is_array($matches)) $matches = $matches[0]; - $part = $matches[0]; + if (is_array($matches)) { + $matches = $matches[0]; + } + $part = $matches[0]; $replaced = str_replace(' Date: Fri, 25 Nov 2022 02:23:16 +0100 Subject: [PATCH 5/5] Code formatting from hell.. --- fancybox/fancybox.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fancybox/fancybox.php b/fancybox/fancybox.php index 3fb548b9..f3a566a5 100644 --- a/fancybox/fancybox.php +++ b/fancybox/fancybox.php @@ -51,4 +51,4 @@ function fancybox_render(App $a, array &$b) } $html = str_replace('class="body-attach done"', 'class="body-attach"', $html); $b['html'] = $html; -} \ No newline at end of file +}
-
-
+
+