From 554080d1abbee4020736b2f83af5371f2b29d78f Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:35:24 -0400 Subject: [PATCH 001/102] Initial commit --- .gitattributes | 2 ++ README.md | 1 + 2 files changed, 3 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..dfe07704 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/README.md b/README.md new file mode 100644 index 00000000..924abf2a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Image Convolution Playground From 9ed625bf265e551a2c1b32d95161a8309a86a3ef Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:46:20 -0400 Subject: [PATCH 002/102] Added source files --- src/index.html | 1 + src/script.js | 0 src/style.css | 0 3 files changed, 1 insertion(+) create mode 100644 src/index.html create mode 100644 src/script.js create mode 100644 src/style.css diff --git a/src/index.html b/src/index.html new file mode 100644 index 00000000..763b0739 --- /dev/null +++ b/src/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/script.js b/src/script.js new file mode 100644 index 00000000..e69de29b diff --git a/src/style.css b/src/style.css new file mode 100644 index 00000000..e69de29b From 1a865bd3ba81f0a79bb0ff6bcb274478abe3f4a2 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:51:17 -0400 Subject: [PATCH 003/102] Added boilerplate HTML code --- src/index.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 763b0739..2a16d234 100644 --- a/src/index.html +++ b/src/index.html @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + Image Convolution Playground + + + + + + + \ No newline at end of file From b54c20fc012e2816167abef973b639c95404a5e3 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:51:56 -0400 Subject: [PATCH 004/102] Added Material Design Lite https://getmdl.io/ --- src/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.html b/src/index.html index 2a16d234..e7673c9d 100644 --- a/src/index.html +++ b/src/index.html @@ -6,9 +6,12 @@ Image Convolution Playground + + + \ No newline at end of file From 11439640596ddc5d0c28a2e1eabfca79feb406d2 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:54:32 -0400 Subject: [PATCH 005/102] Hosting Material Design Lite in project files --- src/index.html | 7 ++++--- src/mdl/icons.css | 23 +++++++++++++++++++++++ src/mdl/material.js | 10 ++++++++++ src/mdl/material.red-indigo.min.css | 8 ++++++++ 4 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 src/mdl/icons.css create mode 100644 src/mdl/material.js create mode 100644 src/mdl/material.red-indigo.min.css diff --git a/src/index.html b/src/index.html index e7673c9d..f217e2ac 100644 --- a/src/index.html +++ b/src/index.html @@ -6,12 +6,13 @@ Image Convolution Playground - - + + - + + \ No newline at end of file diff --git a/src/mdl/icons.css b/src/mdl/icons.css new file mode 100644 index 00000000..5f4fce07 --- /dev/null +++ b/src/mdl/icons.css @@ -0,0 +1,23 @@ +/* fallback */ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; +} diff --git a/src/mdl/material.js b/src/mdl/material.js new file mode 100644 index 00000000..46524fbc --- /dev/null +++ b/src/mdl/material.js @@ -0,0 +1,10 @@ +/** + * material-design-lite - Material Design Components in CSS, JS and HTML + * @version v1.3.0 + * @license Apache-2.0 + * @copyright 2015 Google, Inc. + * @link https://github.com/google/material-design-lite + */ +!function(){"use strict";function e(e,t){if(e){if(t.element_.classList.contains(t.CssClasses_.MDL_JS_RIPPLE_EFFECT)){var s=document.createElement("span");s.classList.add(t.CssClasses_.MDL_RIPPLE_CONTAINER),s.classList.add(t.CssClasses_.MDL_JS_RIPPLE_EFFECT);var i=document.createElement("span");i.classList.add(t.CssClasses_.MDL_RIPPLE),s.appendChild(i),e.appendChild(s)}e.addEventListener("click",function(s){if("#"===e.getAttribute("href").charAt(0)){s.preventDefault();var i=e.href.split("#")[1],n=t.element_.querySelector("#"+i);t.resetTabState_(),t.resetPanelState_(),e.classList.add(t.CssClasses_.ACTIVE_CLASS),n.classList.add(t.CssClasses_.ACTIVE_CLASS)}})}}function t(e,t,s,i){function n(){var n=e.href.split("#")[1],a=i.content_.querySelector("#"+n);i.resetTabState_(t),i.resetPanelState_(s),e.classList.add(i.CssClasses_.IS_ACTIVE),a.classList.add(i.CssClasses_.IS_ACTIVE)}if(i.tabBar_.classList.contains(i.CssClasses_.JS_RIPPLE_EFFECT)){var a=document.createElement("span");a.classList.add(i.CssClasses_.RIPPLE_CONTAINER),a.classList.add(i.CssClasses_.JS_RIPPLE_EFFECT);var l=document.createElement("span");l.classList.add(i.CssClasses_.RIPPLE),a.appendChild(l),e.appendChild(a)}i.tabBar_.classList.contains(i.CssClasses_.TAB_MANUAL_SWITCH)||e.addEventListener("click",function(t){"#"===e.getAttribute("href").charAt(0)&&(t.preventDefault(),n())}),e.show=n}var s={upgradeDom:function(e,t){},upgradeElement:function(e,t){},upgradeElements:function(e){},upgradeAllRegistered:function(){},registerUpgradedCallback:function(e,t){},register:function(e){},downgradeElements:function(e){}};s=function(){function e(e,t){for(var s=0;s0&&l(t.children))}function o(t){var s="undefined"==typeof t.widget&&"undefined"==typeof t.widget,i=!0;s||(i=t.widget||t.widget);var n={classConstructor:t.constructor||t.constructor,className:t.classAsString||t.classAsString,cssClass:t.cssClass||t.cssClass,widget:i,callbacks:[]};if(c.forEach(function(e){if(e.cssClass===n.cssClass)throw new Error("The provided cssClass has already been registered: "+e.cssClass);if(e.className===n.className)throw new Error("The provided className has already been registered")}),t.constructor.prototype.hasOwnProperty(C))throw new Error("MDL component classes must not have "+C+" defined as a property.");var a=e(t.classAsString,n);a||c.push(n)}function r(t,s){var i=e(t);i&&i.callbacks.push(s)}function _(){for(var e=0;e0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)&&(e.keyCode===this.Keycodes_.UP_ARROW?(e.preventDefault(),t[t.length-1].focus()):e.keyCode===this.Keycodes_.DOWN_ARROW&&(e.preventDefault(),t[0].focus()))}},d.prototype.handleItemKeyboardEvent_=function(e){if(this.element_&&this.container_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");if(t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)){var s=Array.prototype.slice.call(t).indexOf(e.target);if(e.keyCode===this.Keycodes_.UP_ARROW)e.preventDefault(),s>0?t[s-1].focus():t[t.length-1].focus();else if(e.keyCode===this.Keycodes_.DOWN_ARROW)e.preventDefault(),t.length>s+1?t[s+1].focus():t[0].focus();else if(e.keyCode===this.Keycodes_.SPACE||e.keyCode===this.Keycodes_.ENTER){e.preventDefault();var i=new MouseEvent("mousedown");e.target.dispatchEvent(i),i=new MouseEvent("mouseup"),e.target.dispatchEvent(i),e.target.click()}else e.keyCode===this.Keycodes_.ESCAPE&&(e.preventDefault(),this.hide())}}},d.prototype.handleItemClick_=function(e){e.target.hasAttribute("disabled")?e.stopPropagation():(this.closing_=!0,window.setTimeout(function(e){this.hide(),this.closing_=!1}.bind(this),this.Constant_.CLOSE_TIMEOUT))},d.prototype.applyClip_=function(e,t){this.element_.classList.contains(this.CssClasses_.UNALIGNED)?this.element_.style.clip="":this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?this.element_.style.clip="rect(0 "+t+"px 0 "+t+"px)":this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?this.element_.style.clip="rect("+e+"px 0 "+e+"px 0)":this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?this.element_.style.clip="rect("+e+"px "+t+"px "+e+"px "+t+"px)":this.element_.style.clip=""},d.prototype.removeAnimationEndListener_=function(e){e.target.classList.remove(d.prototype.CssClasses_.IS_ANIMATING)},d.prototype.addAnimationEndListener_=function(){this.element_.addEventListener("transitionend",this.removeAnimationEndListener_),this.element_.addEventListener("webkitTransitionEnd",this.removeAnimationEndListener_)},d.prototype.show=function(e){if(this.element_&&this.container_&&this.outline_){var t=this.element_.getBoundingClientRect().height,s=this.element_.getBoundingClientRect().width;this.container_.style.width=s+"px",this.container_.style.height=t+"px",this.outline_.style.width=s+"px",this.outline_.style.height=t+"px";for(var i=this.Constant_.TRANSITION_DURATION_SECONDS*this.Constant_.TRANSITION_DURATION_FRACTION,n=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),a=0;a0&&this.showSnackbar(this.queuedNotifications_.shift())},C.prototype.cleanup_=function(){this.element_.classList.remove(this.cssClasses_.ACTIVE),setTimeout(function(){this.element_.setAttribute("aria-hidden","true"),this.textElement_.textContent="",Boolean(this.actionElement_.getAttribute("aria-hidden"))||(this.setActionHidden_(!0),this.actionElement_.textContent="",this.actionElement_.removeEventListener("click",this.actionHandler_)),this.actionHandler_=void 0,this.message_=void 0,this.actionText_=void 0,this.active=!1,this.checkQueue_()}.bind(this),this.Constant_.ANIMATION_LENGTH)},C.prototype.setActionHidden_=function(e){e?this.actionElement_.setAttribute("aria-hidden","true"):this.actionElement_.removeAttribute("aria-hidden")},s.register({constructor:C,classAsString:"MaterialSnackbar",cssClass:"mdl-js-snackbar",widget:!0});var u=function(e){this.element_=e,this.init()};window.MaterialSpinner=u,u.prototype.Constant_={MDL_SPINNER_LAYER_COUNT:4},u.prototype.CssClasses_={MDL_SPINNER_LAYER:"mdl-spinner__layer",MDL_SPINNER_CIRCLE_CLIPPER:"mdl-spinner__circle-clipper",MDL_SPINNER_CIRCLE:"mdl-spinner__circle",MDL_SPINNER_GAP_PATCH:"mdl-spinner__gap-patch",MDL_SPINNER_LEFT:"mdl-spinner__left",MDL_SPINNER_RIGHT:"mdl-spinner__right"},u.prototype.createLayer=function(e){var t=document.createElement("div");t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER),t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER+"-"+e);var s=document.createElement("div");s.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),s.classList.add(this.CssClasses_.MDL_SPINNER_LEFT);var i=document.createElement("div");i.classList.add(this.CssClasses_.MDL_SPINNER_GAP_PATCH);var n=document.createElement("div");n.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),n.classList.add(this.CssClasses_.MDL_SPINNER_RIGHT);for(var a=[s,i,n],l=0;l=this.maxRows&&e.preventDefault()},L.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},L.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},L.prototype.onReset_=function(e){this.updateClasses_()},L.prototype.updateClasses_=function(){this.checkDisabled(),this.checkValidity(),this.checkDirty(),this.checkFocus()},L.prototype.checkDisabled=function(){this.input_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},L.prototype.checkDisabled=L.prototype.checkDisabled,L.prototype.checkFocus=function(){Boolean(this.element_.querySelector(":focus"))?this.element_.classList.add(this.CssClasses_.IS_FOCUSED):this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},L.prototype.checkFocus=L.prototype.checkFocus,L.prototype.checkValidity=function(){this.input_.validity&&(this.input_.validity.valid?this.element_.classList.remove(this.CssClasses_.IS_INVALID):this.element_.classList.add(this.CssClasses_.IS_INVALID))},L.prototype.checkValidity=L.prototype.checkValidity,L.prototype.checkDirty=function(){this.input_.value&&this.input_.value.length>0?this.element_.classList.add(this.CssClasses_.IS_DIRTY):this.element_.classList.remove(this.CssClasses_.IS_DIRTY)},L.prototype.checkDirty=L.prototype.checkDirty,L.prototype.disable=function(){this.input_.disabled=!0,this.updateClasses_()},L.prototype.disable=L.prototype.disable,L.prototype.enable=function(){this.input_.disabled=!1,this.updateClasses_()},L.prototype.enable=L.prototype.enable,L.prototype.change=function(e){this.input_.value=e||"",this.updateClasses_()},L.prototype.change=L.prototype.change,L.prototype.init=function(){if(this.element_&&(this.label_=this.element_.querySelector("."+this.CssClasses_.LABEL),this.input_=this.element_.querySelector("."+this.CssClasses_.INPUT),this.input_)){this.input_.hasAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE)&&(this.maxRows=parseInt(this.input_.getAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE),10),isNaN(this.maxRows)&&(this.maxRows=this.Constant_.NO_MAX_ROWS)),this.input_.hasAttribute("placeholder")&&this.element_.classList.add(this.CssClasses_.HAS_PLACEHOLDER),this.boundUpdateClassesHandler=this.updateClasses_.bind(this),this.boundFocusHandler=this.onFocus_.bind(this),this.boundBlurHandler=this.onBlur_.bind(this),this.boundResetHandler=this.onReset_.bind(this),this.input_.addEventListener("input",this.boundUpdateClassesHandler),this.input_.addEventListener("focus",this.boundFocusHandler),this.input_.addEventListener("blur",this.boundBlurHandler),this.input_.addEventListener("reset",this.boundResetHandler),this.maxRows!==this.Constant_.NO_MAX_ROWS&&(this.boundKeyDownHandler=this.onKeyDown_.bind(this),this.input_.addEventListener("keydown",this.boundKeyDownHandler));var e=this.element_.classList.contains(this.CssClasses_.IS_INVALID);this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED),e&&this.element_.classList.add(this.CssClasses_.IS_INVALID),this.input_.hasAttribute("autofocus")&&(this.element_.focus(),this.checkFocus())}},s.register({constructor:L,classAsString:"MaterialTextfield",cssClass:"mdl-js-textfield",widget:!0});var I=function(e){this.element_=e,this.init()};window.MaterialTooltip=I,I.prototype.Constant_={},I.prototype.CssClasses_={IS_ACTIVE:"is-active",BOTTOM:"mdl-tooltip--bottom",LEFT:"mdl-tooltip--left",RIGHT:"mdl-tooltip--right",TOP:"mdl-tooltip--top"},I.prototype.handleMouseEnter_=function(e){var t=e.target.getBoundingClientRect(),s=t.left+t.width/2,i=t.top+t.height/2,n=-1*(this.element_.offsetWidth/2),a=-1*(this.element_.offsetHeight/2);this.element_.classList.contains(this.CssClasses_.LEFT)||this.element_.classList.contains(this.CssClasses_.RIGHT)?(s=t.width/2,i+a<0?(this.element_.style.top="0",this.element_.style.marginTop="0"):(this.element_.style.top=i+"px",this.element_.style.marginTop=a+"px")):s+n<0?(this.element_.style.left="0",this.element_.style.marginLeft="0"):(this.element_.style.left=s+"px",this.element_.style.marginLeft=n+"px"),this.element_.classList.contains(this.CssClasses_.TOP)?this.element_.style.top=t.top-this.element_.offsetHeight-10+"px":this.element_.classList.contains(this.CssClasses_.RIGHT)?this.element_.style.left=t.left+t.width+10+"px":this.element_.classList.contains(this.CssClasses_.LEFT)?this.element_.style.left=t.left-this.element_.offsetWidth-10+"px":this.element_.style.top=t.top+t.height+10+"px",this.element_.classList.add(this.CssClasses_.IS_ACTIVE)},I.prototype.hideTooltip_=function(){this.element_.classList.remove(this.CssClasses_.IS_ACTIVE)},I.prototype.init=function(){if(this.element_){var e=this.element_.getAttribute("for")||this.element_.getAttribute("data-mdl-for");e&&(this.forElement_=document.getElementById(e)),this.forElement_&&(this.forElement_.hasAttribute("tabindex")||this.forElement_.setAttribute("tabindex","0"),this.boundMouseEnterHandler=this.handleMouseEnter_.bind(this),this.boundMouseLeaveAndScrollHandler=this.hideTooltip_.bind(this),this.forElement_.addEventListener("mouseenter",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("touchend",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("mouseleave",this.boundMouseLeaveAndScrollHandler,!1),window.addEventListener("scroll",this.boundMouseLeaveAndScrollHandler,!0),window.addEventListener("touchstart",this.boundMouseLeaveAndScrollHandler))}},s.register({constructor:I,classAsString:"MaterialTooltip",cssClass:"mdl-tooltip"});var f=function(e){this.element_=e,this.init()};window.MaterialLayout=f,f.prototype.Constant_={MAX_WIDTH:"(max-width: 1024px)",TAB_SCROLL_PIXELS:100,RESIZE_TIMEOUT:100,MENU_ICON:"",CHEVRON_LEFT:"chevron_left",CHEVRON_RIGHT:"chevron_right"},f.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32},f.prototype.Mode_={STANDARD:0,SEAMED:1,WATERFALL:2,SCROLL:3},f.prototype.CssClasses_={CONTAINER:"mdl-layout__container",HEADER:"mdl-layout__header",DRAWER:"mdl-layout__drawer",CONTENT:"mdl-layout__content",DRAWER_BTN:"mdl-layout__drawer-button",ICON:"material-icons",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-layout__tab-ripple-container",RIPPLE:"mdl-ripple",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",HEADER_SEAMED:"mdl-layout__header--seamed",HEADER_WATERFALL:"mdl-layout__header--waterfall",HEADER_SCROLL:"mdl-layout__header--scroll",FIXED_HEADER:"mdl-layout--fixed-header",OBFUSCATOR:"mdl-layout__obfuscator",TAB_BAR:"mdl-layout__tab-bar",TAB_CONTAINER:"mdl-layout__tab-bar-container",TAB:"mdl-layout__tab",TAB_BAR_BUTTON:"mdl-layout__tab-bar-button",TAB_BAR_LEFT_BUTTON:"mdl-layout__tab-bar-left-button",TAB_BAR_RIGHT_BUTTON:"mdl-layout__tab-bar-right-button",TAB_MANUAL_SWITCH:"mdl-layout__tab-manual-switch",PANEL:"mdl-layout__tab-panel",HAS_DRAWER:"has-drawer",HAS_TABS:"has-tabs",HAS_SCROLLING_HEADER:"has-scrolling-header",CASTING_SHADOW:"is-casting-shadow",IS_COMPACT:"is-compact",IS_SMALL_SCREEN:"is-small-screen",IS_DRAWER_OPEN:"is-visible",IS_ACTIVE:"is-active",IS_UPGRADED:"is-upgraded",IS_ANIMATING:"is-animating",ON_LARGE_SCREEN:"mdl-layout--large-screen-only",ON_SMALL_SCREEN:"mdl-layout--small-screen-only"},f.prototype.contentScrollHandler_=function(){if(!this.header_.classList.contains(this.CssClasses_.IS_ANIMATING)){var e=!this.element_.classList.contains(this.CssClasses_.IS_SMALL_SCREEN)||this.element_.classList.contains(this.CssClasses_.FIXED_HEADER);this.content_.scrollTop>0&&!this.header_.classList.contains(this.CssClasses_.IS_COMPACT)?(this.header_.classList.add(this.CssClasses_.CASTING_SHADOW),this.header_.classList.add(this.CssClasses_.IS_COMPACT),e&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING)):this.content_.scrollTop<=0&&this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW),this.header_.classList.remove(this.CssClasses_.IS_COMPACT),e&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING))}},f.prototype.keyboardEventHandler_=function(e){e.keyCode===this.Keycodes_.ESCAPE&&this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)&&this.toggleDrawer()},f.prototype.screenSizeHandler_=function(){this.screenSizeMediaQuery_.matches?this.element_.classList.add(this.CssClasses_.IS_SMALL_SCREEN):(this.element_.classList.remove(this.CssClasses_.IS_SMALL_SCREEN),this.drawer_&&(this.drawer_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN),this.obfuscator_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN)))},f.prototype.drawerToggleHandler_=function(e){if(e&&"keydown"===e.type){if(e.keyCode!==this.Keycodes_.SPACE&&e.keyCode!==this.Keycodes_.ENTER)return;e.preventDefault()}this.toggleDrawer()},f.prototype.headerTransitionEndHandler_=function(){this.header_.classList.remove(this.CssClasses_.IS_ANIMATING)},f.prototype.headerClickHandler_=function(){this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.IS_COMPACT),this.header_.classList.add(this.CssClasses_.IS_ANIMATING))},f.prototype.resetTabState_=function(e){for(var t=0;t0?c.classList.add(this.CssClasses_.IS_ACTIVE):c.classList.remove(this.CssClasses_.IS_ACTIVE),this.tabBar_.scrollLeft0)return;this.setFrameCount(1);var i,n,a=e.currentTarget.getBoundingClientRect();if(0===e.clientX&&0===e.clientY)i=Math.round(a.width/2),n=Math.round(a.height/2);else{var l=void 0!==e.clientX?e.clientX:e.touches[0].clientX,o=void 0!==e.clientY?e.clientY:e.touches[0].clientY;i=Math.round(l-a.left),n=Math.round(o-a.top)}this.setRippleXY(i,n),this.setRippleStyles(!0),window.requestAnimationFrame(this.animFrameHandler.bind(this))}},S.prototype.upHandler_=function(e){e&&2!==e.detail&&window.setTimeout(function(){this.rippleElement_.classList.remove(this.CssClasses_.IS_VISIBLE)}.bind(this),0)},S.prototype.init=function(){if(this.element_){var e=this.element_.classList.contains(this.CssClasses_.RIPPLE_CENTER);this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT_IGNORE_EVENTS)||(this.rippleElement_=this.element_.querySelector("."+this.CssClasses_.RIPPLE),this.frameCount_=0,this.rippleSize_=0,this.x_=0,this.y_=0,this.ignoringMouseDown_=!1,this.boundDownHandler=this.downHandler_.bind(this),this.element_.addEventListener("mousedown",this.boundDownHandler),this.element_.addEventListener("touchstart",this.boundDownHandler),this.boundUpHandler=this.upHandler_.bind(this),this.element_.addEventListener("mouseup",this.boundUpHandler),this.element_.addEventListener("mouseleave",this.boundUpHandler),this.element_.addEventListener("touchend",this.boundUpHandler),this.element_.addEventListener("blur",this.boundUpHandler),this.getFrameCount=function(){return this.frameCount_},this.setFrameCount=function(e){this.frameCount_=e},this.getRippleElement=function(){return this.rippleElement_},this.setRippleXY=function(e,t){this.x_=e,this.y_=t},this.setRippleStyles=function(t){if(null!==this.rippleElement_){var s,i,n,a="translate("+this.x_+"px, "+this.y_+"px)";t?(i=this.Constant_.INITIAL_SCALE,n=this.Constant_.INITIAL_SIZE):(i=this.Constant_.FINAL_SCALE,n=this.rippleSize_+"px",e&&(a="translate("+this.boundWidth/2+"px, "+this.boundHeight/2+"px)")),s="translate(-50%, -50%) "+a+i,this.rippleElement_.style.webkitTransform=s,this.rippleElement_.style.msTransform=s,this.rippleElement_.style.transform=s,t?this.rippleElement_.classList.remove(this.CssClasses_.IS_ANIMATING):this.rippleElement_.classList.add(this.CssClasses_.IS_ANIMATING)}},this.animFrameHandler=function(){this.frameCount_-- >0?window.requestAnimationFrame(this.animFrameHandler.bind(this)):this.setRippleStyles(!1)})}},s.register({constructor:S,classAsString:"MaterialRipple",cssClass:"mdl-js-ripple-effect",widget:!1})}(); +//# sourceMappingURL=material.min.js.map diff --git a/src/mdl/material.red-indigo.min.css b/src/mdl/material.red-indigo.min.css new file mode 100644 index 00000000..67fbd0dd --- /dev/null +++ b/src/mdl/material.red-indigo.min.css @@ -0,0 +1,8 @@ +/** + * material-design-lite - Material Design Components in CSS, JS and HTML + * @version v1.3.0 + * @license Apache-2.0 + * @copyright 2015 Google, Inc. + * @link https://github.com/google/material-design-lite + */ +@charset "UTF-8";html{color:rgba(0,0,0,.87)}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.hidden{display:none!important}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}@media print{*,*:before,*:after,*:first-letter{background:transparent!important;color:#000!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}a,.mdl-accordion,.mdl-button,.mdl-card,.mdl-checkbox,.mdl-dropdown-menu,.mdl-icon-toggle,.mdl-item,.mdl-radio,.mdl-slider,.mdl-switch,.mdl-tabs__tab{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(255,255,255,0)}html{width:100%;height:100%;-ms-touch-action:manipulation;touch-action:manipulation}body{width:100%;min-height:100%}main{display:block}*[hidden]{display:none!important}html,body{font-family:"Helvetica","Arial",sans-serif;font-size:14px;font-weight:400;line-height:20px}h1,h2,h3,h4,h5,h6,p{padding:0}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400;line-height:1.35;letter-spacing:-.02em;opacity:.54;font-size:.6em}h1{font-size:56px;line-height:1.35;letter-spacing:-.02em;margin:24px 0}h1,h2{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400}h2{font-size:45px;line-height:48px}h2,h3{margin:24px 0}h3{font-size:34px;line-height:40px}h3,h4{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400}h4{font-size:24px;line-height:32px;-moz-osx-font-smoothing:grayscale;margin:24px 0 16px}h5{font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}h5,h6{font-family:"Roboto","Helvetica","Arial",sans-serif;margin:24px 0 16px}h6{font-size:16px;letter-spacing:.04em}h6,p{font-weight:400;line-height:24px}p{font-size:14px;letter-spacing:0;margin:0 0 16px}a{color:rgb(83,109,254);font-weight:500}blockquote{font-family:"Roboto","Helvetica","Arial",sans-serif;position:relative;font-size:24px;font-weight:300;font-style:italic;line-height:1.35;letter-spacing:.08em}blockquote:before{position:absolute;left:-.5em;content:'“'}blockquote:after{content:'”';margin-left:-.05em}mark{background-color:#f4ff81}dt{font-weight:700}address{font-size:12px;line-height:1;font-style:normal}address,ul,ol{font-weight:400;letter-spacing:0}ul,ol{font-size:14px;line-height:24px}.mdl-typography--display-4,.mdl-typography--display-4-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:112px;font-weight:300;line-height:1;letter-spacing:-.04em}.mdl-typography--display-4-color-contrast{opacity:.54}.mdl-typography--display-3,.mdl-typography--display-3-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:56px;font-weight:400;line-height:1.35;letter-spacing:-.02em}.mdl-typography--display-3-color-contrast{opacity:.54}.mdl-typography--display-2,.mdl-typography--display-2-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:45px;font-weight:400;line-height:48px}.mdl-typography--display-2-color-contrast{opacity:.54}.mdl-typography--display-1,.mdl-typography--display-1-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:34px;font-weight:400;line-height:40px}.mdl-typography--display-1-color-contrast{opacity:.54}.mdl-typography--headline,.mdl-typography--headline-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale}.mdl-typography--headline-color-contrast{opacity:.87}.mdl-typography--title,.mdl-typography--title-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}.mdl-typography--title-color-contrast{opacity:.87}.mdl-typography--subhead,.mdl-typography--subhead-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:.04em}.mdl-typography--subhead-color-contrast{opacity:.87}.mdl-typography--body-2,.mdl-typography--body-2-color-contrast{font-size:14px;font-weight:700;line-height:24px;letter-spacing:0}.mdl-typography--body-2-color-contrast{opacity:.87}.mdl-typography--body-1,.mdl-typography--body-1-color-contrast{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-color-contrast{opacity:.87}.mdl-typography--body-2-force-preferred-font,.mdl-typography--body-2-force-preferred-font-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;line-height:24px;letter-spacing:0}.mdl-typography--body-2-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--body-1-force-preferred-font,.mdl-typography--body-1-force-preferred-font-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--caption,.mdl-typography--caption-force-preferred-font{font-size:12px;font-weight:400;line-height:1;letter-spacing:0}.mdl-typography--caption-force-preferred-font{font-family:"Roboto","Helvetica","Arial",sans-serif}.mdl-typography--caption-color-contrast,.mdl-typography--caption-force-preferred-font-color-contrast{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;opacity:.54}.mdl-typography--caption-force-preferred-font-color-contrast,.mdl-typography--menu{font-family:"Roboto","Helvetica","Arial",sans-serif}.mdl-typography--menu{font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--menu-color-contrast{opacity:.87}.mdl-typography--menu-color-contrast,.mdl-typography--button,.mdl-typography--button-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--button,.mdl-typography--button-color-contrast{text-transform:uppercase}.mdl-typography--button-color-contrast{opacity:.87}.mdl-typography--text-left{text-align:left}.mdl-typography--text-right{text-align:right}.mdl-typography--text-center{text-align:center}.mdl-typography--text-justify{text-align:justify}.mdl-typography--text-nowrap{white-space:nowrap}.mdl-typography--text-lowercase{text-transform:lowercase}.mdl-typography--text-uppercase{text-transform:uppercase}.mdl-typography--text-capitalize{text-transform:capitalize}.mdl-typography--font-thin{font-weight:200!important}.mdl-typography--font-light{font-weight:300!important}.mdl-typography--font-regular{font-weight:400!important}.mdl-typography--font-medium{font-weight:500!important}.mdl-typography--font-bold{font-weight:700!important}.mdl-typography--font-black{font-weight:900!important}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;-moz-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.mdl-color-text--red{color:#f44336 !important}.mdl-color--red{background-color:#f44336 !important}.mdl-color-text--red-50{color:#ffebee !important}.mdl-color--red-50{background-color:#ffebee !important}.mdl-color-text--red-100{color:#ffcdd2 !important}.mdl-color--red-100{background-color:#ffcdd2 !important}.mdl-color-text--red-200{color:#ef9a9a !important}.mdl-color--red-200{background-color:#ef9a9a !important}.mdl-color-text--red-300{color:#e57373 !important}.mdl-color--red-300{background-color:#e57373 !important}.mdl-color-text--red-400{color:#ef5350 !important}.mdl-color--red-400{background-color:#ef5350 !important}.mdl-color-text--red-500{color:#f44336 !important}.mdl-color--red-500{background-color:#f44336 !important}.mdl-color-text--red-600{color:#e53935 !important}.mdl-color--red-600{background-color:#e53935 !important}.mdl-color-text--red-700{color:#d32f2f !important}.mdl-color--red-700{background-color:#d32f2f !important}.mdl-color-text--red-800{color:#c62828 !important}.mdl-color--red-800{background-color:#c62828 !important}.mdl-color-text--red-900{color:#b71c1c !important}.mdl-color--red-900{background-color:#b71c1c !important}.mdl-color-text--red-A100{color:#ff8a80 !important}.mdl-color--red-A100{background-color:#ff8a80 !important}.mdl-color-text--red-A200{color:#ff5252 !important}.mdl-color--red-A200{background-color:#ff5252 !important}.mdl-color-text--red-A400{color:#ff1744 !important}.mdl-color--red-A400{background-color:#ff1744 !important}.mdl-color-text--red-A700{color:#d50000 !important}.mdl-color--red-A700{background-color:#d50000 !important}.mdl-color-text--pink{color:#e91e63 !important}.mdl-color--pink{background-color:#e91e63 !important}.mdl-color-text--pink-50{color:#fce4ec !important}.mdl-color--pink-50{background-color:#fce4ec !important}.mdl-color-text--pink-100{color:#f8bbd0 !important}.mdl-color--pink-100{background-color:#f8bbd0 !important}.mdl-color-text--pink-200{color:#f48fb1 !important}.mdl-color--pink-200{background-color:#f48fb1 !important}.mdl-color-text--pink-300{color:#f06292 !important}.mdl-color--pink-300{background-color:#f06292 !important}.mdl-color-text--pink-400{color:#ec407a !important}.mdl-color--pink-400{background-color:#ec407a !important}.mdl-color-text--pink-500{color:#e91e63 !important}.mdl-color--pink-500{background-color:#e91e63 !important}.mdl-color-text--pink-600{color:#d81b60 !important}.mdl-color--pink-600{background-color:#d81b60 !important}.mdl-color-text--pink-700{color:#c2185b !important}.mdl-color--pink-700{background-color:#c2185b !important}.mdl-color-text--pink-800{color:#ad1457 !important}.mdl-color--pink-800{background-color:#ad1457 !important}.mdl-color-text--pink-900{color:#880e4f !important}.mdl-color--pink-900{background-color:#880e4f !important}.mdl-color-text--pink-A100{color:#ff80ab !important}.mdl-color--pink-A100{background-color:#ff80ab !important}.mdl-color-text--pink-A200{color:#ff4081 !important}.mdl-color--pink-A200{background-color:#ff4081 !important}.mdl-color-text--pink-A400{color:#f50057 !important}.mdl-color--pink-A400{background-color:#f50057 !important}.mdl-color-text--pink-A700{color:#c51162 !important}.mdl-color--pink-A700{background-color:#c51162 !important}.mdl-color-text--purple{color:#9c27b0 !important}.mdl-color--purple{background-color:#9c27b0 !important}.mdl-color-text--purple-50{color:#f3e5f5 !important}.mdl-color--purple-50{background-color:#f3e5f5 !important}.mdl-color-text--purple-100{color:#e1bee7 !important}.mdl-color--purple-100{background-color:#e1bee7 !important}.mdl-color-text--purple-200{color:#ce93d8 !important}.mdl-color--purple-200{background-color:#ce93d8 !important}.mdl-color-text--purple-300{color:#ba68c8 !important}.mdl-color--purple-300{background-color:#ba68c8 !important}.mdl-color-text--purple-400{color:#ab47bc !important}.mdl-color--purple-400{background-color:#ab47bc !important}.mdl-color-text--purple-500{color:#9c27b0 !important}.mdl-color--purple-500{background-color:#9c27b0 !important}.mdl-color-text--purple-600{color:#8e24aa !important}.mdl-color--purple-600{background-color:#8e24aa !important}.mdl-color-text--purple-700{color:#7b1fa2 !important}.mdl-color--purple-700{background-color:#7b1fa2 !important}.mdl-color-text--purple-800{color:#6a1b9a !important}.mdl-color--purple-800{background-color:#6a1b9a !important}.mdl-color-text--purple-900{color:#4a148c !important}.mdl-color--purple-900{background-color:#4a148c !important}.mdl-color-text--purple-A100{color:#ea80fc !important}.mdl-color--purple-A100{background-color:#ea80fc !important}.mdl-color-text--purple-A200{color:#e040fb !important}.mdl-color--purple-A200{background-color:#e040fb !important}.mdl-color-text--purple-A400{color:#d500f9 !important}.mdl-color--purple-A400{background-color:#d500f9 !important}.mdl-color-text--purple-A700{color:#a0f !important}.mdl-color--purple-A700{background-color:#a0f !important}.mdl-color-text--deep-purple{color:#673ab7 !important}.mdl-color--deep-purple{background-color:#673ab7 !important}.mdl-color-text--deep-purple-50{color:#ede7f6 !important}.mdl-color--deep-purple-50{background-color:#ede7f6 !important}.mdl-color-text--deep-purple-100{color:#d1c4e9 !important}.mdl-color--deep-purple-100{background-color:#d1c4e9 !important}.mdl-color-text--deep-purple-200{color:#b39ddb !important}.mdl-color--deep-purple-200{background-color:#b39ddb !important}.mdl-color-text--deep-purple-300{color:#9575cd !important}.mdl-color--deep-purple-300{background-color:#9575cd !important}.mdl-color-text--deep-purple-400{color:#7e57c2 !important}.mdl-color--deep-purple-400{background-color:#7e57c2 !important}.mdl-color-text--deep-purple-500{color:#673ab7 !important}.mdl-color--deep-purple-500{background-color:#673ab7 !important}.mdl-color-text--deep-purple-600{color:#5e35b1 !important}.mdl-color--deep-purple-600{background-color:#5e35b1 !important}.mdl-color-text--deep-purple-700{color:#512da8 !important}.mdl-color--deep-purple-700{background-color:#512da8 !important}.mdl-color-text--deep-purple-800{color:#4527a0 !important}.mdl-color--deep-purple-800{background-color:#4527a0 !important}.mdl-color-text--deep-purple-900{color:#311b92 !important}.mdl-color--deep-purple-900{background-color:#311b92 !important}.mdl-color-text--deep-purple-A100{color:#b388ff !important}.mdl-color--deep-purple-A100{background-color:#b388ff !important}.mdl-color-text--deep-purple-A200{color:#7c4dff !important}.mdl-color--deep-purple-A200{background-color:#7c4dff !important}.mdl-color-text--deep-purple-A400{color:#651fff !important}.mdl-color--deep-purple-A400{background-color:#651fff !important}.mdl-color-text--deep-purple-A700{color:#6200ea !important}.mdl-color--deep-purple-A700{background-color:#6200ea !important}.mdl-color-text--indigo{color:#3f51b5 !important}.mdl-color--indigo{background-color:#3f51b5 !important}.mdl-color-text--indigo-50{color:#e8eaf6 !important}.mdl-color--indigo-50{background-color:#e8eaf6 !important}.mdl-color-text--indigo-100{color:#c5cae9 !important}.mdl-color--indigo-100{background-color:#c5cae9 !important}.mdl-color-text--indigo-200{color:#9fa8da !important}.mdl-color--indigo-200{background-color:#9fa8da !important}.mdl-color-text--indigo-300{color:#7986cb !important}.mdl-color--indigo-300{background-color:#7986cb !important}.mdl-color-text--indigo-400{color:#5c6bc0 !important}.mdl-color--indigo-400{background-color:#5c6bc0 !important}.mdl-color-text--indigo-500{color:#3f51b5 !important}.mdl-color--indigo-500{background-color:#3f51b5 !important}.mdl-color-text--indigo-600{color:#3949ab !important}.mdl-color--indigo-600{background-color:#3949ab !important}.mdl-color-text--indigo-700{color:#303f9f !important}.mdl-color--indigo-700{background-color:#303f9f !important}.mdl-color-text--indigo-800{color:#283593 !important}.mdl-color--indigo-800{background-color:#283593 !important}.mdl-color-text--indigo-900{color:#1a237e !important}.mdl-color--indigo-900{background-color:#1a237e !important}.mdl-color-text--indigo-A100{color:#8c9eff !important}.mdl-color--indigo-A100{background-color:#8c9eff !important}.mdl-color-text--indigo-A200{color:#536dfe !important}.mdl-color--indigo-A200{background-color:#536dfe !important}.mdl-color-text--indigo-A400{color:#3d5afe !important}.mdl-color--indigo-A400{background-color:#3d5afe !important}.mdl-color-text--indigo-A700{color:#304ffe !important}.mdl-color--indigo-A700{background-color:#304ffe !important}.mdl-color-text--blue{color:#2196f3 !important}.mdl-color--blue{background-color:#2196f3 !important}.mdl-color-text--blue-50{color:#e3f2fd !important}.mdl-color--blue-50{background-color:#e3f2fd !important}.mdl-color-text--blue-100{color:#bbdefb !important}.mdl-color--blue-100{background-color:#bbdefb !important}.mdl-color-text--blue-200{color:#90caf9 !important}.mdl-color--blue-200{background-color:#90caf9 !important}.mdl-color-text--blue-300{color:#64b5f6 !important}.mdl-color--blue-300{background-color:#64b5f6 !important}.mdl-color-text--blue-400{color:#42a5f5 !important}.mdl-color--blue-400{background-color:#42a5f5 !important}.mdl-color-text--blue-500{color:#2196f3 !important}.mdl-color--blue-500{background-color:#2196f3 !important}.mdl-color-text--blue-600{color:#1e88e5 !important}.mdl-color--blue-600{background-color:#1e88e5 !important}.mdl-color-text--blue-700{color:#1976d2 !important}.mdl-color--blue-700{background-color:#1976d2 !important}.mdl-color-text--blue-800{color:#1565c0 !important}.mdl-color--blue-800{background-color:#1565c0 !important}.mdl-color-text--blue-900{color:#0d47a1 !important}.mdl-color--blue-900{background-color:#0d47a1 !important}.mdl-color-text--blue-A100{color:#82b1ff !important}.mdl-color--blue-A100{background-color:#82b1ff !important}.mdl-color-text--blue-A200{color:#448aff !important}.mdl-color--blue-A200{background-color:#448aff !important}.mdl-color-text--blue-A400{color:#2979ff !important}.mdl-color--blue-A400{background-color:#2979ff !important}.mdl-color-text--blue-A700{color:#2962ff !important}.mdl-color--blue-A700{background-color:#2962ff !important}.mdl-color-text--light-blue{color:#03a9f4 !important}.mdl-color--light-blue{background-color:#03a9f4 !important}.mdl-color-text--light-blue-50{color:#e1f5fe !important}.mdl-color--light-blue-50{background-color:#e1f5fe !important}.mdl-color-text--light-blue-100{color:#b3e5fc !important}.mdl-color--light-blue-100{background-color:#b3e5fc !important}.mdl-color-text--light-blue-200{color:#81d4fa !important}.mdl-color--light-blue-200{background-color:#81d4fa !important}.mdl-color-text--light-blue-300{color:#4fc3f7 !important}.mdl-color--light-blue-300{background-color:#4fc3f7 !important}.mdl-color-text--light-blue-400{color:#29b6f6 !important}.mdl-color--light-blue-400{background-color:#29b6f6 !important}.mdl-color-text--light-blue-500{color:#03a9f4 !important}.mdl-color--light-blue-500{background-color:#03a9f4 !important}.mdl-color-text--light-blue-600{color:#039be5 !important}.mdl-color--light-blue-600{background-color:#039be5 !important}.mdl-color-text--light-blue-700{color:#0288d1 !important}.mdl-color--light-blue-700{background-color:#0288d1 !important}.mdl-color-text--light-blue-800{color:#0277bd !important}.mdl-color--light-blue-800{background-color:#0277bd !important}.mdl-color-text--light-blue-900{color:#01579b !important}.mdl-color--light-blue-900{background-color:#01579b !important}.mdl-color-text--light-blue-A100{color:#80d8ff !important}.mdl-color--light-blue-A100{background-color:#80d8ff !important}.mdl-color-text--light-blue-A200{color:#40c4ff !important}.mdl-color--light-blue-A200{background-color:#40c4ff !important}.mdl-color-text--light-blue-A400{color:#00b0ff !important}.mdl-color--light-blue-A400{background-color:#00b0ff !important}.mdl-color-text--light-blue-A700{color:#0091ea !important}.mdl-color--light-blue-A700{background-color:#0091ea !important}.mdl-color-text--cyan{color:#00bcd4 !important}.mdl-color--cyan{background-color:#00bcd4 !important}.mdl-color-text--cyan-50{color:#e0f7fa !important}.mdl-color--cyan-50{background-color:#e0f7fa !important}.mdl-color-text--cyan-100{color:#b2ebf2 !important}.mdl-color--cyan-100{background-color:#b2ebf2 !important}.mdl-color-text--cyan-200{color:#80deea !important}.mdl-color--cyan-200{background-color:#80deea !important}.mdl-color-text--cyan-300{color:#4dd0e1 !important}.mdl-color--cyan-300{background-color:#4dd0e1 !important}.mdl-color-text--cyan-400{color:#26c6da !important}.mdl-color--cyan-400{background-color:#26c6da !important}.mdl-color-text--cyan-500{color:#00bcd4 !important}.mdl-color--cyan-500{background-color:#00bcd4 !important}.mdl-color-text--cyan-600{color:#00acc1 !important}.mdl-color--cyan-600{background-color:#00acc1 !important}.mdl-color-text--cyan-700{color:#0097a7 !important}.mdl-color--cyan-700{background-color:#0097a7 !important}.mdl-color-text--cyan-800{color:#00838f !important}.mdl-color--cyan-800{background-color:#00838f !important}.mdl-color-text--cyan-900{color:#006064 !important}.mdl-color--cyan-900{background-color:#006064 !important}.mdl-color-text--cyan-A100{color:#84ffff !important}.mdl-color--cyan-A100{background-color:#84ffff !important}.mdl-color-text--cyan-A200{color:#18ffff !important}.mdl-color--cyan-A200{background-color:#18ffff !important}.mdl-color-text--cyan-A400{color:#00e5ff !important}.mdl-color--cyan-A400{background-color:#00e5ff !important}.mdl-color-text--cyan-A700{color:#00b8d4 !important}.mdl-color--cyan-A700{background-color:#00b8d4 !important}.mdl-color-text--teal{color:#009688 !important}.mdl-color--teal{background-color:#009688 !important}.mdl-color-text--teal-50{color:#e0f2f1 !important}.mdl-color--teal-50{background-color:#e0f2f1 !important}.mdl-color-text--teal-100{color:#b2dfdb !important}.mdl-color--teal-100{background-color:#b2dfdb !important}.mdl-color-text--teal-200{color:#80cbc4 !important}.mdl-color--teal-200{background-color:#80cbc4 !important}.mdl-color-text--teal-300{color:#4db6ac !important}.mdl-color--teal-300{background-color:#4db6ac !important}.mdl-color-text--teal-400{color:#26a69a !important}.mdl-color--teal-400{background-color:#26a69a !important}.mdl-color-text--teal-500{color:#009688 !important}.mdl-color--teal-500{background-color:#009688 !important}.mdl-color-text--teal-600{color:#00897b !important}.mdl-color--teal-600{background-color:#00897b !important}.mdl-color-text--teal-700{color:#00796b !important}.mdl-color--teal-700{background-color:#00796b !important}.mdl-color-text--teal-800{color:#00695c !important}.mdl-color--teal-800{background-color:#00695c !important}.mdl-color-text--teal-900{color:#004d40 !important}.mdl-color--teal-900{background-color:#004d40 !important}.mdl-color-text--teal-A100{color:#a7ffeb !important}.mdl-color--teal-A100{background-color:#a7ffeb !important}.mdl-color-text--teal-A200{color:#64ffda !important}.mdl-color--teal-A200{background-color:#64ffda !important}.mdl-color-text--teal-A400{color:#1de9b6 !important}.mdl-color--teal-A400{background-color:#1de9b6 !important}.mdl-color-text--teal-A700{color:#00bfa5 !important}.mdl-color--teal-A700{background-color:#00bfa5 !important}.mdl-color-text--green{color:#4caf50 !important}.mdl-color--green{background-color:#4caf50 !important}.mdl-color-text--green-50{color:#e8f5e9 !important}.mdl-color--green-50{background-color:#e8f5e9 !important}.mdl-color-text--green-100{color:#c8e6c9 !important}.mdl-color--green-100{background-color:#c8e6c9 !important}.mdl-color-text--green-200{color:#a5d6a7 !important}.mdl-color--green-200{background-color:#a5d6a7 !important}.mdl-color-text--green-300{color:#81c784 !important}.mdl-color--green-300{background-color:#81c784 !important}.mdl-color-text--green-400{color:#66bb6a !important}.mdl-color--green-400{background-color:#66bb6a !important}.mdl-color-text--green-500{color:#4caf50 !important}.mdl-color--green-500{background-color:#4caf50 !important}.mdl-color-text--green-600{color:#43a047 !important}.mdl-color--green-600{background-color:#43a047 !important}.mdl-color-text--green-700{color:#388e3c !important}.mdl-color--green-700{background-color:#388e3c !important}.mdl-color-text--green-800{color:#2e7d32 !important}.mdl-color--green-800{background-color:#2e7d32 !important}.mdl-color-text--green-900{color:#1b5e20 !important}.mdl-color--green-900{background-color:#1b5e20 !important}.mdl-color-text--green-A100{color:#b9f6ca !important}.mdl-color--green-A100{background-color:#b9f6ca !important}.mdl-color-text--green-A200{color:#69f0ae !important}.mdl-color--green-A200{background-color:#69f0ae !important}.mdl-color-text--green-A400{color:#00e676 !important}.mdl-color--green-A400{background-color:#00e676 !important}.mdl-color-text--green-A700{color:#00c853 !important}.mdl-color--green-A700{background-color:#00c853 !important}.mdl-color-text--light-green{color:#8bc34a !important}.mdl-color--light-green{background-color:#8bc34a !important}.mdl-color-text--light-green-50{color:#f1f8e9 !important}.mdl-color--light-green-50{background-color:#f1f8e9 !important}.mdl-color-text--light-green-100{color:#dcedc8 !important}.mdl-color--light-green-100{background-color:#dcedc8 !important}.mdl-color-text--light-green-200{color:#c5e1a5 !important}.mdl-color--light-green-200{background-color:#c5e1a5 !important}.mdl-color-text--light-green-300{color:#aed581 !important}.mdl-color--light-green-300{background-color:#aed581 !important}.mdl-color-text--light-green-400{color:#9ccc65 !important}.mdl-color--light-green-400{background-color:#9ccc65 !important}.mdl-color-text--light-green-500{color:#8bc34a !important}.mdl-color--light-green-500{background-color:#8bc34a !important}.mdl-color-text--light-green-600{color:#7cb342 !important}.mdl-color--light-green-600{background-color:#7cb342 !important}.mdl-color-text--light-green-700{color:#689f38 !important}.mdl-color--light-green-700{background-color:#689f38 !important}.mdl-color-text--light-green-800{color:#558b2f !important}.mdl-color--light-green-800{background-color:#558b2f !important}.mdl-color-text--light-green-900{color:#33691e !important}.mdl-color--light-green-900{background-color:#33691e !important}.mdl-color-text--light-green-A100{color:#ccff90 !important}.mdl-color--light-green-A100{background-color:#ccff90 !important}.mdl-color-text--light-green-A200{color:#b2ff59 !important}.mdl-color--light-green-A200{background-color:#b2ff59 !important}.mdl-color-text--light-green-A400{color:#76ff03 !important}.mdl-color--light-green-A400{background-color:#76ff03 !important}.mdl-color-text--light-green-A700{color:#64dd17 !important}.mdl-color--light-green-A700{background-color:#64dd17 !important}.mdl-color-text--lime{color:#cddc39 !important}.mdl-color--lime{background-color:#cddc39 !important}.mdl-color-text--lime-50{color:#f9fbe7 !important}.mdl-color--lime-50{background-color:#f9fbe7 !important}.mdl-color-text--lime-100{color:#f0f4c3 !important}.mdl-color--lime-100{background-color:#f0f4c3 !important}.mdl-color-text--lime-200{color:#e6ee9c !important}.mdl-color--lime-200{background-color:#e6ee9c !important}.mdl-color-text--lime-300{color:#dce775 !important}.mdl-color--lime-300{background-color:#dce775 !important}.mdl-color-text--lime-400{color:#d4e157 !important}.mdl-color--lime-400{background-color:#d4e157 !important}.mdl-color-text--lime-500{color:#cddc39 !important}.mdl-color--lime-500{background-color:#cddc39 !important}.mdl-color-text--lime-600{color:#c0ca33 !important}.mdl-color--lime-600{background-color:#c0ca33 !important}.mdl-color-text--lime-700{color:#afb42b !important}.mdl-color--lime-700{background-color:#afb42b !important}.mdl-color-text--lime-800{color:#9e9d24 !important}.mdl-color--lime-800{background-color:#9e9d24 !important}.mdl-color-text--lime-900{color:#827717 !important}.mdl-color--lime-900{background-color:#827717 !important}.mdl-color-text--lime-A100{color:#f4ff81 !important}.mdl-color--lime-A100{background-color:#f4ff81 !important}.mdl-color-text--lime-A200{color:#eeff41 !important}.mdl-color--lime-A200{background-color:#eeff41 !important}.mdl-color-text--lime-A400{color:#c6ff00 !important}.mdl-color--lime-A400{background-color:#c6ff00 !important}.mdl-color-text--lime-A700{color:#aeea00 !important}.mdl-color--lime-A700{background-color:#aeea00 !important}.mdl-color-text--yellow{color:#ffeb3b !important}.mdl-color--yellow{background-color:#ffeb3b !important}.mdl-color-text--yellow-50{color:#fffde7 !important}.mdl-color--yellow-50{background-color:#fffde7 !important}.mdl-color-text--yellow-100{color:#fff9c4 !important}.mdl-color--yellow-100{background-color:#fff9c4 !important}.mdl-color-text--yellow-200{color:#fff59d !important}.mdl-color--yellow-200{background-color:#fff59d !important}.mdl-color-text--yellow-300{color:#fff176 !important}.mdl-color--yellow-300{background-color:#fff176 !important}.mdl-color-text--yellow-400{color:#ffee58 !important}.mdl-color--yellow-400{background-color:#ffee58 !important}.mdl-color-text--yellow-500{color:#ffeb3b !important}.mdl-color--yellow-500{background-color:#ffeb3b !important}.mdl-color-text--yellow-600{color:#fdd835 !important}.mdl-color--yellow-600{background-color:#fdd835 !important}.mdl-color-text--yellow-700{color:#fbc02d !important}.mdl-color--yellow-700{background-color:#fbc02d !important}.mdl-color-text--yellow-800{color:#f9a825 !important}.mdl-color--yellow-800{background-color:#f9a825 !important}.mdl-color-text--yellow-900{color:#f57f17 !important}.mdl-color--yellow-900{background-color:#f57f17 !important}.mdl-color-text--yellow-A100{color:#ffff8d !important}.mdl-color--yellow-A100{background-color:#ffff8d !important}.mdl-color-text--yellow-A200{color:#ff0 !important}.mdl-color--yellow-A200{background-color:#ff0 !important}.mdl-color-text--yellow-A400{color:#ffea00 !important}.mdl-color--yellow-A400{background-color:#ffea00 !important}.mdl-color-text--yellow-A700{color:#ffd600 !important}.mdl-color--yellow-A700{background-color:#ffd600 !important}.mdl-color-text--amber{color:#ffc107 !important}.mdl-color--amber{background-color:#ffc107 !important}.mdl-color-text--amber-50{color:#fff8e1 !important}.mdl-color--amber-50{background-color:#fff8e1 !important}.mdl-color-text--amber-100{color:#ffecb3 !important}.mdl-color--amber-100{background-color:#ffecb3 !important}.mdl-color-text--amber-200{color:#ffe082 !important}.mdl-color--amber-200{background-color:#ffe082 !important}.mdl-color-text--amber-300{color:#ffd54f !important}.mdl-color--amber-300{background-color:#ffd54f !important}.mdl-color-text--amber-400{color:#ffca28 !important}.mdl-color--amber-400{background-color:#ffca28 !important}.mdl-color-text--amber-500{color:#ffc107 !important}.mdl-color--amber-500{background-color:#ffc107 !important}.mdl-color-text--amber-600{color:#ffb300 !important}.mdl-color--amber-600{background-color:#ffb300 !important}.mdl-color-text--amber-700{color:#ffa000 !important}.mdl-color--amber-700{background-color:#ffa000 !important}.mdl-color-text--amber-800{color:#ff8f00 !important}.mdl-color--amber-800{background-color:#ff8f00 !important}.mdl-color-text--amber-900{color:#ff6f00 !important}.mdl-color--amber-900{background-color:#ff6f00 !important}.mdl-color-text--amber-A100{color:#ffe57f !important}.mdl-color--amber-A100{background-color:#ffe57f !important}.mdl-color-text--amber-A200{color:#ffd740 !important}.mdl-color--amber-A200{background-color:#ffd740 !important}.mdl-color-text--amber-A400{color:#ffc400 !important}.mdl-color--amber-A400{background-color:#ffc400 !important}.mdl-color-text--amber-A700{color:#ffab00 !important}.mdl-color--amber-A700{background-color:#ffab00 !important}.mdl-color-text--orange{color:#ff9800 !important}.mdl-color--orange{background-color:#ff9800 !important}.mdl-color-text--orange-50{color:#fff3e0 !important}.mdl-color--orange-50{background-color:#fff3e0 !important}.mdl-color-text--orange-100{color:#ffe0b2 !important}.mdl-color--orange-100{background-color:#ffe0b2 !important}.mdl-color-text--orange-200{color:#ffcc80 !important}.mdl-color--orange-200{background-color:#ffcc80 !important}.mdl-color-text--orange-300{color:#ffb74d !important}.mdl-color--orange-300{background-color:#ffb74d !important}.mdl-color-text--orange-400{color:#ffa726 !important}.mdl-color--orange-400{background-color:#ffa726 !important}.mdl-color-text--orange-500{color:#ff9800 !important}.mdl-color--orange-500{background-color:#ff9800 !important}.mdl-color-text--orange-600{color:#fb8c00 !important}.mdl-color--orange-600{background-color:#fb8c00 !important}.mdl-color-text--orange-700{color:#f57c00 !important}.mdl-color--orange-700{background-color:#f57c00 !important}.mdl-color-text--orange-800{color:#ef6c00 !important}.mdl-color--orange-800{background-color:#ef6c00 !important}.mdl-color-text--orange-900{color:#e65100 !important}.mdl-color--orange-900{background-color:#e65100 !important}.mdl-color-text--orange-A100{color:#ffd180 !important}.mdl-color--orange-A100{background-color:#ffd180 !important}.mdl-color-text--orange-A200{color:#ffab40 !important}.mdl-color--orange-A200{background-color:#ffab40 !important}.mdl-color-text--orange-A400{color:#ff9100 !important}.mdl-color--orange-A400{background-color:#ff9100 !important}.mdl-color-text--orange-A700{color:#ff6d00 !important}.mdl-color--orange-A700{background-color:#ff6d00 !important}.mdl-color-text--deep-orange{color:#ff5722 !important}.mdl-color--deep-orange{background-color:#ff5722 !important}.mdl-color-text--deep-orange-50{color:#fbe9e7 !important}.mdl-color--deep-orange-50{background-color:#fbe9e7 !important}.mdl-color-text--deep-orange-100{color:#ffccbc !important}.mdl-color--deep-orange-100{background-color:#ffccbc !important}.mdl-color-text--deep-orange-200{color:#ffab91 !important}.mdl-color--deep-orange-200{background-color:#ffab91 !important}.mdl-color-text--deep-orange-300{color:#ff8a65 !important}.mdl-color--deep-orange-300{background-color:#ff8a65 !important}.mdl-color-text--deep-orange-400{color:#ff7043 !important}.mdl-color--deep-orange-400{background-color:#ff7043 !important}.mdl-color-text--deep-orange-500{color:#ff5722 !important}.mdl-color--deep-orange-500{background-color:#ff5722 !important}.mdl-color-text--deep-orange-600{color:#f4511e !important}.mdl-color--deep-orange-600{background-color:#f4511e !important}.mdl-color-text--deep-orange-700{color:#e64a19 !important}.mdl-color--deep-orange-700{background-color:#e64a19 !important}.mdl-color-text--deep-orange-800{color:#d84315 !important}.mdl-color--deep-orange-800{background-color:#d84315 !important}.mdl-color-text--deep-orange-900{color:#bf360c !important}.mdl-color--deep-orange-900{background-color:#bf360c !important}.mdl-color-text--deep-orange-A100{color:#ff9e80 !important}.mdl-color--deep-orange-A100{background-color:#ff9e80 !important}.mdl-color-text--deep-orange-A200{color:#ff6e40 !important}.mdl-color--deep-orange-A200{background-color:#ff6e40 !important}.mdl-color-text--deep-orange-A400{color:#ff3d00 !important}.mdl-color--deep-orange-A400{background-color:#ff3d00 !important}.mdl-color-text--deep-orange-A700{color:#dd2c00 !important}.mdl-color--deep-orange-A700{background-color:#dd2c00 !important}.mdl-color-text--brown{color:#795548 !important}.mdl-color--brown{background-color:#795548 !important}.mdl-color-text--brown-50{color:#efebe9 !important}.mdl-color--brown-50{background-color:#efebe9 !important}.mdl-color-text--brown-100{color:#d7ccc8 !important}.mdl-color--brown-100{background-color:#d7ccc8 !important}.mdl-color-text--brown-200{color:#bcaaa4 !important}.mdl-color--brown-200{background-color:#bcaaa4 !important}.mdl-color-text--brown-300{color:#a1887f !important}.mdl-color--brown-300{background-color:#a1887f !important}.mdl-color-text--brown-400{color:#8d6e63 !important}.mdl-color--brown-400{background-color:#8d6e63 !important}.mdl-color-text--brown-500{color:#795548 !important}.mdl-color--brown-500{background-color:#795548 !important}.mdl-color-text--brown-600{color:#6d4c41 !important}.mdl-color--brown-600{background-color:#6d4c41 !important}.mdl-color-text--brown-700{color:#5d4037 !important}.mdl-color--brown-700{background-color:#5d4037 !important}.mdl-color-text--brown-800{color:#4e342e !important}.mdl-color--brown-800{background-color:#4e342e !important}.mdl-color-text--brown-900{color:#3e2723 !important}.mdl-color--brown-900{background-color:#3e2723 !important}.mdl-color-text--grey{color:#9e9e9e !important}.mdl-color--grey{background-color:#9e9e9e !important}.mdl-color-text--grey-50{color:#fafafa !important}.mdl-color--grey-50{background-color:#fafafa !important}.mdl-color-text--grey-100{color:#f5f5f5 !important}.mdl-color--grey-100{background-color:#f5f5f5 !important}.mdl-color-text--grey-200{color:#eee !important}.mdl-color--grey-200{background-color:#eee !important}.mdl-color-text--grey-300{color:#e0e0e0 !important}.mdl-color--grey-300{background-color:#e0e0e0 !important}.mdl-color-text--grey-400{color:#bdbdbd !important}.mdl-color--grey-400{background-color:#bdbdbd !important}.mdl-color-text--grey-500{color:#9e9e9e !important}.mdl-color--grey-500{background-color:#9e9e9e !important}.mdl-color-text--grey-600{color:#757575 !important}.mdl-color--grey-600{background-color:#757575 !important}.mdl-color-text--grey-700{color:#616161 !important}.mdl-color--grey-700{background-color:#616161 !important}.mdl-color-text--grey-800{color:#424242 !important}.mdl-color--grey-800{background-color:#424242 !important}.mdl-color-text--grey-900{color:#212121 !important}.mdl-color--grey-900{background-color:#212121 !important}.mdl-color-text--blue-grey{color:#607d8b !important}.mdl-color--blue-grey{background-color:#607d8b !important}.mdl-color-text--blue-grey-50{color:#eceff1 !important}.mdl-color--blue-grey-50{background-color:#eceff1 !important}.mdl-color-text--blue-grey-100{color:#cfd8dc !important}.mdl-color--blue-grey-100{background-color:#cfd8dc !important}.mdl-color-text--blue-grey-200{color:#b0bec5 !important}.mdl-color--blue-grey-200{background-color:#b0bec5 !important}.mdl-color-text--blue-grey-300{color:#90a4ae !important}.mdl-color--blue-grey-300{background-color:#90a4ae !important}.mdl-color-text--blue-grey-400{color:#78909c !important}.mdl-color--blue-grey-400{background-color:#78909c !important}.mdl-color-text--blue-grey-500{color:#607d8b !important}.mdl-color--blue-grey-500{background-color:#607d8b !important}.mdl-color-text--blue-grey-600{color:#546e7a !important}.mdl-color--blue-grey-600{background-color:#546e7a !important}.mdl-color-text--blue-grey-700{color:#455a64 !important}.mdl-color--blue-grey-700{background-color:#455a64 !important}.mdl-color-text--blue-grey-800{color:#37474f !important}.mdl-color--blue-grey-800{background-color:#37474f !important}.mdl-color-text--blue-grey-900{color:#263238 !important}.mdl-color--blue-grey-900{background-color:#263238 !important}.mdl-color--black{background-color:#000 !important}.mdl-color-text--black{color:#000 !important}.mdl-color--white{background-color:#fff !important}.mdl-color-text--white{color:#fff !important}.mdl-color--primary{background-color:rgb(244,67,54)!important}.mdl-color--primary-contrast{background-color:rgb(255,255,255)!important}.mdl-color--primary-dark{background-color:rgb(211,47,47)!important}.mdl-color--accent{background-color:rgb(83,109,254)!important}.mdl-color--accent-contrast{background-color:rgb(255,255,255)!important}.mdl-color-text--primary{color:rgb(244,67,54)!important}.mdl-color-text--primary-contrast{color:rgb(255,255,255)!important}.mdl-color-text--primary-dark{color:rgb(211,47,47)!important}.mdl-color-text--accent{color:rgb(83,109,254)!important}.mdl-color-text--accent-contrast{color:rgb(255,255,255)!important}.mdl-ripple{background:#000;border-radius:50%;height:50px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:50px;overflow:hidden}.mdl-ripple.is-animating{transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1);transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1),-webkit-transform .3s cubic-bezier(0,0,.2,1)}.mdl-ripple.is-visible{opacity:.3}.mdl-animation--default,.mdl-animation--fast-out-slow-in{transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-animation--linear-out-slow-in{transition-timing-function:cubic-bezier(0,0,.2,1)}.mdl-animation--fast-out-linear-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.mdl-badge{position:relative;white-space:nowrap;margin-right:24px}.mdl-badge:not([data-badge]){margin-right:auto}.mdl-badge[data-badge]:after{content:attr(data-badge);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;top:-11px;right:-24px;font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:600;font-size:12px;width:22px;height:22px;border-radius:50%;background:rgb(83,109,254);color:rgb(255,255,255)}.mdl-button .mdl-badge[data-badge]:after{top:-10px;right:-5px}.mdl-badge.mdl-badge--no-background[data-badge]:after{color:rgb(83,109,254);background:rgba(255,255,255,.2);box-shadow:0 0 1px gray}.mdl-badge.mdl-badge--overlap{margin-right:10px}.mdl-badge.mdl-badge--overlap:after{right:-10px}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:0;min-width:64px;padding:0 16px;display:inline-block;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.mdl-button::-moz-focus-inner{border:0}.mdl-button:hover{background-color:rgba(158,158,158,.2)}.mdl-button:focus:not(:active){background-color:rgba(0,0,0,.12)}.mdl-button:active{background-color:rgba(158,158,158,.4)}.mdl-button.mdl-button--colored{color:rgb(244,67,54)}.mdl-button.mdl-button--colored:focus:not(:active){background-color:rgba(0,0,0,.12)}input.mdl-button[type="submit"]{-webkit-appearance:none}.mdl-button--raised{background:rgba(158,158,158,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-button--raised:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--raised:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--raised.mdl-button--colored{background:rgb(244,67,54);color:rgb(255,255,255)}.mdl-button--raised.mdl-button--colored:hover{background-color:rgb(244,67,54)}.mdl-button--raised.mdl-button--colored:active{background-color:rgb(244,67,54)}.mdl-button--raised.mdl-button--colored:focus:not(:active){background-color:rgb(244,67,54)}.mdl-button--raised.mdl-button--colored .mdl-ripple{background:rgb(255,255,255)}.mdl-button--fab{border-radius:50%;font-size:24px;height:56px;margin:auto;min-width:56px;width:56px;padding:0;overflow:hidden;background:rgba(158,158,158,.2);box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.mdl-button--fab .material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--fab.mdl-button--mini-fab{height:40px;min-width:40px;width:40px}.mdl-button--fab .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button--fab:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--fab:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--fab.mdl-button--colored{background:rgb(83,109,254);color:rgb(255,255,255)}.mdl-button--fab.mdl-button--colored:hover{background-color:rgb(83,109,254)}.mdl-button--fab.mdl-button--colored:focus:not(:active){background-color:rgb(83,109,254)}.mdl-button--fab.mdl-button--colored:active{background-color:rgb(83,109,254)}.mdl-button--fab.mdl-button--colored .mdl-ripple{background:rgb(255,255,255)}.mdl-button--icon{border-radius:50%;font-size:24px;height:32px;margin-left:0;margin-right:0;min-width:32px;width:32px;padding:0;overflow:hidden;color:inherit;line-height:normal}.mdl-button--icon .material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon{height:24px;min-width:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon .material-icons{top:0;left:0}.mdl-button--icon .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button__ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple,.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple{background-color:transparent}.mdl-button--primary.mdl-button--primary{color:rgb(244,67,54)}.mdl-button--primary.mdl-button--primary .mdl-ripple{background:rgb(255,255,255)}.mdl-button--primary.mdl-button--primary.mdl-button--raised,.mdl-button--primary.mdl-button--primary.mdl-button--fab{color:rgb(255,255,255);background-color:rgb(244,67,54)}.mdl-button--accent.mdl-button--accent{color:rgb(83,109,254)}.mdl-button--accent.mdl-button--accent .mdl-ripple{background:rgb(255,255,255)}.mdl-button--accent.mdl-button--accent.mdl-button--raised,.mdl-button--accent.mdl-button--accent.mdl-button--fab{color:rgb(255,255,255);background-color:rgb(83,109,254)}.mdl-button[disabled][disabled],.mdl-button.mdl-button--disabled.mdl-button--disabled{color:rgba(0,0,0,.26);cursor:default;background-color:transparent}.mdl-button--fab[disabled][disabled],.mdl-button--fab.mdl-button--disabled.mdl-button--disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-button--raised[disabled][disabled],.mdl-button--raised.mdl-button--disabled.mdl-button--disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26);box-shadow:none}.mdl-button--colored[disabled][disabled],.mdl-button--colored.mdl-button--disabled.mdl-button--disabled{color:rgba(0,0,0,.26)}.mdl-button .material-icons{vertical-align:middle}.mdl-card{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:16px;font-weight:400;min-height:200px;overflow:hidden;width:330px;z-index:1;position:relative;background:#fff;border-radius:2px;box-sizing:border-box}.mdl-card__media{background-color:rgb(83,109,254);background-repeat:repeat;background-position:50% 50%;background-size:cover;background-origin:padding-box;background-attachment:scroll;box-sizing:border-box}.mdl-card__title{-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#000;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;line-height:normal;padding:16px;-webkit-perspective-origin:165px 56px;perspective-origin:165px 56px;-webkit-transform-origin:165px 56px;transform-origin:165px 56px;box-sizing:border-box}.mdl-card__title.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__title-text{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;color:inherit;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:24px;font-weight:300;line-height:normal;overflow:hidden;-webkit-transform-origin:149px 48px;transform-origin:149px 48px;margin:0}.mdl-card__subtitle-text{font-size:14px;color:rgba(0,0,0,.54);margin:0}.mdl-card__supporting-text{color:rgba(0,0,0,.54);font-size:1rem;line-height:18px;overflow:hidden;padding:16px;width:90%}.mdl-card__supporting-text.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__actions{font-size:16px;line-height:normal;width:100%;background-color:transparent;padding:8px;box-sizing:border-box}.mdl-card__actions.mdl-card--border{border-top:1px solid rgba(0,0,0,.1)}.mdl-card--expand{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdl-card__menu{position:absolute;right:16px;top:16px}.mdl-checkbox{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0}.mdl-checkbox.is-upgraded{padding-left:24px}.mdl-checkbox__input{line-height:24px}.mdl-checkbox.is-upgraded .mdl-checkbox__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-checkbox__box-outline{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;overflow:hidden;border:2px solid rgba(0,0,0,.54);border-radius:2px;z-index:2}.mdl-checkbox.is-checked .mdl-checkbox__box-outline{border:2px solid rgb(244,67,54)}fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,.mdl-checkbox.is-disabled .mdl-checkbox__box-outline{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__focus-helper{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background-color:transparent}.mdl-checkbox.is-focused .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(244,67,54,.26);background-color:rgba(244,67,54,.26)}.mdl-checkbox__tick-outline{position:absolute;top:0;left:0;height:100%;width:100%;-webkit-mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");background:0 0;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background}.mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:rgb(244,67,54)url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")}fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,.mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline{background:rgba(0,0,0,.26)url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")}.mdl-checkbox__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0}fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,.mdl-checkbox.is-disabled .mdl-checkbox__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__ripple-container{position:absolute;z-index:2;top:-6px;left:-10px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-checkbox__ripple-container .mdl-ripple{background:rgb(244,67,54)}fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container,.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container{cursor:auto}fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple{background:0 0}.mdl-chip{height:32px;font-family:"Roboto","Helvetica","Arial",sans-serif;line-height:32px;padding:0 12px;border:0;border-radius:16px;background-color:#dedede;display:inline-block;color:rgba(0,0,0,.87);margin:2px 0;font-size:0;white-space:nowrap}.mdl-chip__text{font-size:13px;vertical-align:middle;display:inline-block}.mdl-chip__action{height:24px;width:24px;background:0 0;opacity:.54;cursor:pointer;padding:0;margin:0 0 0 4px;font-size:13px;text-decoration:none;color:rgba(0,0,0,.87);border:none;outline:none}.mdl-chip__action,.mdl-chip__contact{display:inline-block;vertical-align:middle;overflow:hidden;text-align:center}.mdl-chip__contact{height:32px;width:32px;border-radius:16px;margin-right:8px;font-size:18px;line-height:32px}.mdl-chip:focus{outline:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-chip:active{background-color:#d6d6d6}.mdl-chip--deletable{padding-right:4px}.mdl-chip--contact{padding-left:0}.mdl-data-table{position:relative;border:1px solid rgba(0,0,0,.12);border-collapse:collapse;white-space:nowrap;font-size:13px;background-color:#fff}.mdl-data-table thead{padding-bottom:3px}.mdl-data-table thead .mdl-data-table__select{margin-top:0}.mdl-data-table tbody tr{position:relative;height:48px;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color}.mdl-data-table tbody tr.is-selected{background-color:#e0e0e0}.mdl-data-table tbody tr:hover{background-color:#eee}.mdl-data-table td{text-align:right}.mdl-data-table th{padding:0 18px 12px 18px;text-align:right}.mdl-data-table td:first-of-type,.mdl-data-table th:first-of-type{padding-left:24px}.mdl-data-table td:last-of-type,.mdl-data-table th:last-of-type{padding-right:24px}.mdl-data-table td{position:relative;height:48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);padding:12px 18px;box-sizing:border-box}.mdl-data-table td,.mdl-data-table td .mdl-data-table__select{vertical-align:middle}.mdl-data-table th{position:relative;vertical-align:bottom;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;height:48px;font-size:12px;color:rgba(0,0,0,.54);padding-bottom:8px;box-sizing:border-box}.mdl-data-table th.mdl-data-table__header--sorted-ascending,.mdl-data-table th.mdl-data-table__header--sorted-descending{color:rgba(0,0,0,.87)}.mdl-data-table th.mdl-data-table__header--sorted-ascending:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;-moz-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-size:16px;content:"\e5d8";margin-right:5px;vertical-align:sub}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover{cursor:pointer}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before{color:rgba(0,0,0,.26)}.mdl-data-table th.mdl-data-table__header--sorted-descending:before{content:"\e5db"}.mdl-data-table__select{width:16px}.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric{text-align:left}.mdl-dialog{border:none;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);width:280px}.mdl-dialog__title{padding:24px 24px 0;margin:0;font-size:2.5rem}.mdl-dialog__actions{padding:8px 8px 8px 24px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.mdl-dialog__actions>*{margin-right:8px;height:36px}.mdl-dialog__actions>*:first-child{margin-right:0}.mdl-dialog__actions--full-width{padding:0 0 8px}.mdl-dialog__actions--full-width>*{height:48px;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;padding-right:16px;margin-right:0;text-align:right}.mdl-dialog__content{padding:20px 24px 24px;color:rgba(0,0,0,.54)}.mdl-mega-footer{padding:16px 40px;color:#9e9e9e;background-color:#424242}.mdl-mega-footer--top-section:after,.mdl-mega-footer--middle-section:after,.mdl-mega-footer--bottom-section:after,.mdl-mega-footer__top-section:after,.mdl-mega-footer__middle-section:after,.mdl-mega-footer__bottom-section:after{content:'';display:block;clear:both}.mdl-mega-footer--left-section,.mdl-mega-footer__left-section,.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{margin-bottom:16px}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:block;margin-bottom:16px;color:inherit;text-decoration:none}@media screen and (min-width:760px){.mdl-mega-footer--left-section,.mdl-mega-footer__left-section{float:left}.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{float:right}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:inline-block;margin-left:16px;line-height:36px;vertical-align:middle}}.mdl-mega-footer--social-btn,.mdl-mega-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{display:block;position:relative}@media screen and (min-width:760px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{width:33%}.mdl-mega-footer--drop-down-section:nth-child(1),.mdl-mega-footer--drop-down-section:nth-child(2),.mdl-mega-footer__drop-down-section:nth-child(1),.mdl-mega-footer__drop-down-section:nth-child(2){float:left}.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(3){float:right}.mdl-mega-footer--drop-down-section:nth-child(3):after,.mdl-mega-footer__drop-down-section:nth-child(3):after{clear:right}.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section:nth-child(4){clear:right;float:right}.mdl-mega-footer--middle-section:after,.mdl-mega-footer__middle-section:after{content:'';display:block;clear:both}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:0}}@media screen and (min-width:1024px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section,.mdl-mega-footer__drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(4){width:24%;float:left}}.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{position:absolute;width:100%;height:55.8px;padding:32px;margin:-16px 0 0;cursor:pointer;z-index:1;opacity:0}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CE'}.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list{display:none}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CF'}.mdl-mega-footer--heading,.mdl-mega-footer__heading{position:relative;width:100%;padding-right:39.8px;margin-bottom:16px;box-sizing:border-box;font-size:14px;line-height:23.8px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#e0e0e0}.mdl-mega-footer--heading:after,.mdl-mega-footer__heading:after{content:'';position:absolute;top:0;right:0;display:block;width:23.8px;height:23.8px;background-size:cover}.mdl-mega-footer--link-list,.mdl-mega-footer__link-list{list-style:none;padding:0;margin:0 0 32px}.mdl-mega-footer--link-list:after,.mdl-mega-footer__link-list:after{clear:both;display:block;content:''}.mdl-mega-footer--link-list li,.mdl-mega-footer__link-list li{font-size:14px;font-weight:400;letter-spacing:0;line-height:20px}.mdl-mega-footer--link-list a,.mdl-mega-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}@media screen and (min-width:760px){.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{display:none}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{content:''}.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list{display:block}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{content:''}}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:16px;margin-bottom:16px}.mdl-logo{margin-bottom:16px;color:#fff}.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li{float:left;margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-logo{float:left;margin-bottom:0;margin-right:16px}}.mdl-mini-footer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:32px 16px;color:#9e9e9e;background-color:#424242}.mdl-mini-footer:after{content:'';display:block}.mdl-mini-footer .mdl-logo{line-height:36px}.mdl-mini-footer--link-list,.mdl-mini-footer__link-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;list-style:none;margin:0;padding:0}.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{line-height:36px}}.mdl-mini-footer--link-list a,.mdl-mini-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}.mdl-mini-footer--left-section,.mdl-mini-footer__left-section{display:inline-block;-webkit-order:0;-ms-flex-order:0;order:0}.mdl-mini-footer--right-section,.mdl-mini-footer__right-section{display:inline-block;-webkit-order:1;-ms-flex-order:1;order:1}.mdl-mini-footer--social-btn,.mdl-mini-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-icon-toggle{position:relative;z-index:1;vertical-align:middle;display:inline-block;height:32px;margin:0;padding:0}.mdl-icon-toggle__input{line-height:32px}.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-icon-toggle__label{display:inline-block;position:relative;cursor:pointer;height:32px;width:32px;min-width:32px;color:#616161;border-radius:50%;padding:0;margin-left:0;margin-right:0;text-align:center;background-color:transparent;will-change:background-color;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.mdl-icon-toggle__label.material-icons{line-height:32px;font-size:24px}.mdl-icon-toggle.is-checked .mdl-icon-toggle__label{color:rgb(244,67,54)}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label{color:rgba(0,0,0,.26);cursor:auto;transition:none}.mdl-icon-toggle.is-focused .mdl-icon-toggle__label{background-color:rgba(0,0,0,.12)}.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label{background-color:rgba(244,67,54,.26)}.mdl-icon-toggle__ripple-container{position:absolute;z-index:2;top:-2px;left:-2px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-icon-toggle__ripple-container .mdl-ripple{background:#616161}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container{cursor:auto}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple{background:0 0}.mdl-list{display:block;padding:8px 0;list-style:none}.mdl-list__item{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:16px;font-weight:400;letter-spacing:.04em;line-height:1;min-height:48px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:16px;cursor:default;color:rgba(0,0,0,.87);overflow:hidden}.mdl-list__item,.mdl-list__item .mdl-list__item-primary-content{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdl-list__item .mdl-list__item-primary-content{-webkit-order:0;-ms-flex-order:0;order:0;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2;text-decoration:none}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon{margin-right:32px}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar{margin-right:16px}.mdl-list__item .mdl-list__item-secondary-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;margin-left:16px}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label{display:inline}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;color:rgba(0,0,0,.54)}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header{padding:0 0 0 16px}.mdl-list__item-icon,.mdl-list__item-icon.material-icons{height:24px;width:24px;font-size:24px;box-sizing:border-box;color:#757575}.mdl-list__item-avatar,.mdl-list__item-avatar.material-icons{height:40px;width:40px;box-sizing:border-box;border-radius:50%;background-color:#757575;font-size:40px;color:#fff}.mdl-list__item--two-line{height:72px}.mdl-list__item--two-line .mdl-list__item-primary-content{height:36px;line-height:20px;display:block}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar{float:left}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left;margin-top:6px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content{height:36px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-list__item--three-line{height:88px}.mdl-list__item--three-line .mdl-list__item-primary-content{height:52px;line-height:20px;display:block}.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar,.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left}.mdl-list__item--three-line .mdl-list__item-secondary-content{height:52px}.mdl-list__item--three-line .mdl-list__item-text-body{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;height:52px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-menu__container{display:block;margin:0;padding:0;border:none;position:absolute;overflow:visible;height:0;width:0;visibility:hidden;z-index:-1}.mdl-menu__container.is-visible,.mdl-menu__container.is-animating{z-index:999;visibility:visible}.mdl-menu__outline{display:block;background:#fff;margin:0;padding:0;border:none;border-radius:2px;position:absolute;top:0;left:0;overflow:hidden;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);z-index:-1}.mdl-menu__container.is-visible .mdl-menu__outline{opacity:1;-webkit-transform:scale(1);transform:scale(1);z-index:999}.mdl-menu__outline.mdl-menu--bottom-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.mdl-menu__outline.mdl-menu--top-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.mdl-menu__outline.mdl-menu--top-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.mdl-menu{position:absolute;list-style:none;top:0;left:0;height:auto;width:auto;min-width:124px;padding:8px 0;margin:0;opacity:0;clip:rect(0 0 0 0);z-index:-1}.mdl-menu__container.is-visible .mdl-menu{opacity:1;z-index:999}.mdl-menu.is-animating{transition:opacity .2s cubic-bezier(.4,0,.2,1),clip .3s cubic-bezier(.4,0,.2,1)}.mdl-menu.mdl-menu--bottom-right{left:auto;right:0}.mdl-menu.mdl-menu--top-left{top:auto;bottom:0}.mdl-menu.mdl-menu--top-right{top:auto;left:auto;bottom:0;right:0}.mdl-menu.mdl-menu--unaligned{top:auto;left:auto}.mdl-menu__item{display:block;border:none;color:rgba(0,0,0,.87);background-color:transparent;text-align:left;margin:0;padding:0 16px;outline-color:#bdbdbd;position:relative;overflow:hidden;font-size:14px;font-weight:400;letter-spacing:0;text-decoration:none;cursor:pointer;height:48px;line-height:48px;white-space:nowrap;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-menu__container.is-visible .mdl-menu__item{opacity:1}.mdl-menu__item::-moz-focus-inner{border:0}.mdl-menu__item--full-bleed-divider{border-bottom:1px solid rgba(0,0,0,.12)}.mdl-menu__item[disabled],.mdl-menu__item[data-mdl-disabled]{color:#bdbdbd;background-color:transparent;cursor:auto}.mdl-menu__item[disabled]:hover,.mdl-menu__item[data-mdl-disabled]:hover{background-color:transparent}.mdl-menu__item[disabled]:focus,.mdl-menu__item[data-mdl-disabled]:focus{background-color:transparent}.mdl-menu__item[disabled] .mdl-ripple,.mdl-menu__item[data-mdl-disabled] .mdl-ripple{background:0 0}.mdl-menu__item:hover{background-color:#eee}.mdl-menu__item:focus{outline:none;background-color:#eee}.mdl-menu__item:active{background-color:#e0e0e0}.mdl-menu__item--ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-progress{display:block;position:relative;height:4px;width:500px;max-width:100%}.mdl-progress>.bar{display:block;position:absolute;top:0;bottom:0;width:0%;transition:width .2s cubic-bezier(.4,0,.2,1)}.mdl-progress>.progressbar{background-color:rgb(244,67,54);z-index:1;left:0}.mdl-progress>.bufferbar{background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,rgb(244,67,54),rgb(244,67,54));z-index:0;left:0}.mdl-progress>.auxbar{right:0}@supports (-webkit-appearance:none){.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,rgb(244,67,54),rgb(244,67,54));-webkit-mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=");mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=")}}.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.9),rgba(255,255,255,.9)),linear-gradient(to right,rgb(244,67,54),rgb(244,67,54))}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1{-webkit-animation-name:indeterminate1;animation-name:indeterminate1}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1,.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-color:rgb(244,67,54);-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-image:none;-webkit-animation-name:indeterminate2;animation-name:indeterminate2}@-webkit-keyframes indeterminate1{0%{left:0%;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@keyframes indeterminate1{0%{left:0%;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@-webkit-keyframes indeterminate2{0%,50%{left:0%;width:0%}75%{left:0%;width:25%}100%{left:100%;width:0%}}@keyframes indeterminate2{0%,50%{left:0%;width:0%}75%{left:0%;width:25%}100%{left:100%;width:0%}}.mdl-navigation{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;box-sizing:border-box}.mdl-navigation__link{color:#424242;text-decoration:none;margin:0;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;opacity:.87}.mdl-navigation__link .material-icons{vertical-align:middle}.mdl-layout{width:100%;height:100%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.mdl-layout.is-small-screen .mdl-layout--large-screen-only{display:none}.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only{display:none}.mdl-layout__container{position:absolute;width:100%;height:100%}.mdl-layout__title,.mdl-layout-title{display:block;position:relative;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;line-height:1;letter-spacing:.02em;font-weight:400;box-sizing:border-box}.mdl-layout-spacer{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdl-layout__drawer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:240px;height:100%;max-height:100%;position:absolute;top:0;left:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-sizing:border-box;border-right:1px solid #e0e0e0;background:#fafafa;-webkit-transform:translateX(-250px);transform:translateX(-250px);-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transition-property:transform,-webkit-transform;color:#424242;overflow:visible;overflow-y:auto;z-index:5}.mdl-layout__drawer.is-visible{-webkit-transform:translateX(0);transform:translateX(0)}.mdl-layout__drawer.is-visible~.mdl-layout__content.mdl-layout__content{overflow:hidden}.mdl-layout__drawer>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.mdl-layout__drawer>.mdl-layout__title,.mdl-layout__drawer>.mdl-layout-title{line-height:64px;padding-left:40px}@media screen and (max-width:1024px){.mdl-layout__drawer>.mdl-layout__title,.mdl-layout__drawer>.mdl-layout-title{line-height:56px;padding-left:16px}}.mdl-layout__drawer .mdl-navigation{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;padding-top:16px}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{display:block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding:16px 40px;margin:0;color:#757575}@media screen and (max-width:1024px){.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{padding:16px}}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover{background-color:#e0e0e0}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current{background-color:#e0e0e0;color:#000}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__drawer{-webkit-transform:translateX(0);transform:translateX(0)}}.mdl-layout__drawer-button{display:block;position:absolute;height:48px;width:48px;border:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden;text-align:center;cursor:pointer;font-size:26px;line-height:56px;font-family:Helvetica,Arial,sans-serif;margin:8px 12px;top:0;left:0;color:rgb(255,255,255);z-index:4}.mdl-layout__header .mdl-layout__drawer-button{position:absolute;color:rgb(255,255,255);background-color:inherit}@media screen and (max-width:1024px){.mdl-layout__header .mdl-layout__drawer-button{margin:4px}}@media screen and (max-width:1024px){.mdl-layout__drawer-button{margin:4px;color:rgba(0,0,0,.5)}}@media screen and (min-width:1025px){.mdl-layout__drawer-button{line-height:54px}.mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button,.mdl-layout--fixed-drawer>.mdl-layout__drawer-button,.mdl-layout--no-drawer-button .mdl-layout__drawer-button{display:none}}.mdl-layout__header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;margin:0;padding:0;border:none;min-height:64px;max-height:1000px;z-index:3;background-color:rgb(244,67,54);color:rgb(255,255,255);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:max-height,box-shadow}@media screen and (max-width:1024px){.mdl-layout__header{min-height:56px}}.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header{margin-left:240px;width:calc(100% - 240px)}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row{padding-left:40px}}.mdl-layout__header>.mdl-layout-icon{position:absolute;left:40px;top:16px;height:32px;width:32px;overflow:hidden;z-index:3;display:block}@media screen and (max-width:1024px){.mdl-layout__header>.mdl-layout-icon{left:16px;top:12px}}.mdl-layout.has-drawer .mdl-layout__header>.mdl-layout-icon{display:none}.mdl-layout__header.is-compact{max-height:64px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact{max-height:56px}}.mdl-layout__header.is-compact.has-tabs{height:112px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact.has-tabs{min-height:104px}}@media screen and (max-width:1024px){.mdl-layout__header{display:none}.mdl-layout--fixed-header>.mdl-layout__header{display:-webkit-flex;display:-ms-flexbox;display:flex}}.mdl-layout__header--transparent.mdl-layout__header--transparent{background-color:transparent;box-shadow:none}.mdl-layout__header--seamed,.mdl-layout__header--scroll{box-shadow:none}.mdl-layout__header--waterfall{box-shadow:none;overflow:hidden}.mdl-layout__header--waterfall.is-casting-shadow{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.mdl-layout__header-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;box-sizing:border-box;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:64px;margin:0;padding:0 40px 0 80px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:40px}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__header-row{padding-left:40px}}@media screen and (max-width:1024px){.mdl-layout__header-row{height:56px;padding:0 16px 0 72px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:16px}}.mdl-layout__header-row>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.mdl-layout__header--scroll .mdl-layout__header-row{width:100%}.mdl-layout__header-row .mdl-navigation{margin:0;padding:0;height:64px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation{height:56px}}.mdl-layout__header-row .mdl-navigation__link{display:block;color:rgb(255,255,255);line-height:64px;padding:0 24px}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation__link{line-height:56px;padding:0 16px}}.mdl-layout__obfuscator{background-color:transparent;position:absolute;top:0;left:0;height:100%;width:100%;z-index:4;visibility:hidden;transition-property:background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-layout__obfuscator.is-visible{background-color:rgba(0,0,0,.5);visibility:visible}@supports (pointer-events:auto){.mdl-layout__obfuscator{background-color:rgba(0,0,0,.5);opacity:0;transition-property:opacity;visibility:visible;pointer-events:none}.mdl-layout__obfuscator.is-visible{pointer-events:auto;opacity:1}}.mdl-layout__content{-ms-flex:0 1 auto;position:relative;display:inline-block;overflow-y:auto;overflow-x:hidden;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;z-index:1;-webkit-overflow-scrolling:touch}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:240px}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow:visible}@media screen and (max-width:1024px){.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow-y:auto;overflow-x:hidden}}.mdl-layout__tab-bar{height:96px;margin:0;width:calc(100% - 112px);padding:0 0 0 56px;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:rgb(244,67,54);overflow-y:hidden;overflow-x:scroll}.mdl-layout__tab-bar::-webkit-scrollbar{display:none}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}}@media screen and (max-width:1024px){.mdl-layout__tab-bar{width:calc(100% - 60px);padding:0 0 0 60px}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{width:calc(100% - 8px);padding-left:4px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar{padding:0;overflow:hidden;width:100%}.mdl-layout__tab-bar-container{position:relative;height:48px;width:100%;border:none;margin:0;z-index:2;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.mdl-layout__container>.mdl-layout__tab-bar-container{position:absolute;top:0;left:0}.mdl-layout__tab-bar-button{display:inline-block;position:absolute;top:0;height:48px;width:56px;z-index:4;text-align:center;background-color:rgb(244,67,54);color:transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button{width:16px}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons{position:relative;left:-4px}@media screen and (max-width:1024px){.mdl-layout__tab-bar-button{width:60px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button{display:none}.mdl-layout__tab-bar-button .material-icons{line-height:48px}.mdl-layout__tab-bar-button.is-active{color:rgb(255,255,255)}.mdl-layout__tab-bar-left-button{left:0}.mdl-layout__tab-bar-right-button{right:0}.mdl-layout__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(255,255,255,.6);overflow:hidden}@media screen and (max-width:1024px){.mdl-layout__tab{padding:0 12px}}.mdl-layout--fixed-tabs .mdl-layout__tab{float:none;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0}.mdl-layout.is-upgraded .mdl-layout__tab.is-active{color:rgb(255,255,255)}.mdl-layout.is-upgraded .mdl-layout__tab.is-active::after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:rgb(83,109,254);-webkit-animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-layout__tab .mdl-layout__tab-ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple{background-color:rgb(255,255,255)}.mdl-layout__tab-panel{display:block}.mdl-layout.is-upgraded .mdl-layout__tab-panel{display:none}.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active{display:block}.mdl-radio{position:relative;font-size:16px;line-height:24px;display:inline-block;vertical-align:middle;box-sizing:border-box;height:24px;margin:0;padding-left:0}.mdl-radio.is-upgraded{padding-left:24px}.mdl-radio__button{line-height:24px}.mdl-radio.is-upgraded .mdl-radio__button{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-radio__outer-circle{position:absolute;top:4px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;border:2px solid rgba(0,0,0,.54);border-radius:50%;z-index:2}.mdl-radio.is-checked .mdl-radio__outer-circle{border:2px solid rgb(244,67,54)}.mdl-radio__outer-circle fieldset[disabled] .mdl-radio,.mdl-radio.is-disabled .mdl-radio__outer-circle{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-radio__inner-circle{position:absolute;z-index:1;margin:0;top:8px;left:4px;box-sizing:border-box;width:8px;height:8px;cursor:pointer;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transform:scale(0,0);transform:scale(0,0);border-radius:50%;background:rgb(244,67,54)}.mdl-radio.is-checked .mdl-radio__inner-circle{-webkit-transform:scale(1,1);transform:scale(1,1)}fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,.mdl-radio.is-disabled .mdl-radio__inner-circle{background:rgba(0,0,0,.26);cursor:auto}.mdl-radio.is-focused .mdl-radio__inner-circle{box-shadow:0 0 0 10px rgba(0,0,0,.1)}.mdl-radio__label{cursor:pointer}fieldset[disabled] .mdl-radio .mdl-radio__label,.mdl-radio.is-disabled .mdl-radio__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-radio__ripple-container{position:absolute;z-index:2;top:-9px;left:-13px;box-sizing:border-box;width:42px;height:42px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-radio__ripple-container .mdl-ripple{background:rgb(244,67,54)}fieldset[disabled] .mdl-radio .mdl-radio__ripple-container,.mdl-radio.is-disabled .mdl-radio__ripple-container{cursor:auto}fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple{background:0 0}_:-ms-input-placeholder,:root .mdl-slider.mdl-slider.is-upgraded{-ms-appearance:none;height:32px;margin:0}.mdl-slider{width:calc(100% - 40px);margin:0 20px}.mdl-slider.is-upgraded{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;padding:0;color:rgb(244,67,54);-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;z-index:1;cursor:pointer}.mdl-slider.is-upgraded::-moz-focus-outer{border:0}.mdl-slider.is-upgraded::-ms-tooltip{display:none}.mdl-slider.is-upgraded::-webkit-slider-runnable-track{background:0 0}.mdl-slider.is-upgraded::-moz-range-track{background:0 0;border:none}.mdl-slider.is-upgraded::-ms-track{background:0 0;color:transparent;height:2px;width:100%;border:none}.mdl-slider.is-upgraded::-ms-fill-lower{padding:0;background:linear-gradient(to right,transparent,transparent 16px,rgb(244,67,54)16px,rgb(244,67,54)0)}.mdl-slider.is-upgraded::-ms-fill-upper{padding:0;background:linear-gradient(to left,transparent,transparent 16px,rgba(0,0,0,.26)16px,rgba(0,0,0,.26)0)}.mdl-slider.is-upgraded::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:rgb(244,67,54);border:none;transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),-webkit-transform .18s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded::-moz-range-thumb{-moz-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background-image:none;background:rgb(244,67,54);border:none}.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(244,67,54,.26)}.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(244,67,54,.26)}.mdl-slider.is-upgraded:active::-webkit-slider-thumb{background-image:none;background:rgb(244,67,54);-webkit-transform:scale(1.5);transform:scale(1.5)}.mdl-slider.is-upgraded:active::-moz-range-thumb{background-image:none;background:rgb(244,67,54);transform:scale(1.5)}.mdl-slider.is-upgraded::-ms-thumb{width:32px;height:32px;border:none;border-radius:50%;background:rgb(244,67,54);transform:scale(.375);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),-webkit-transform .18s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,rgb(244,67,54)0%,rgb(244,67,54)37.5%,rgba(244,67,54,.26)37.5%,rgba(244,67,54,.26)100%);transform:scale(1)}.mdl-slider.is-upgraded:active::-ms-thumb{background:rgb(244,67,54);transform:scale(.5625)}.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb{border:1.6px solid rgba(0,0,0,.26);-webkit-transform:scale(1.5);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:9px}.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb{border:1.5px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb{background:radial-gradient(circle closest-side,transparent 0%,transparent 66.67%,rgba(0,0,0,.26)66.67%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,rgba(0,0,0,.12)0%,rgba(0,0,0,.12)25%,rgba(0,0,0,.26)25%,rgba(0,0,0,.26)37.5%,rgba(0,0,0,.12)37.5%,rgba(0,0,0,.12)100%);transform:scale(1)}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb{transform:scale(.5625);background:radial-gradient(circle closest-side,transparent 0%,transparent 77.78%,rgba(0,0,0,.26)77.78%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower{background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper{margin-left:9px}.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled::-webkit-slider-thumb{-webkit-transform:scale(.667);transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded:disabled::-moz-range-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-lower{background-color:rgba(0,0,0,.26);left:-6px}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;-webkit-transform:scale(.667);transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded:disabled:focus::-ms-thumb,.mdl-slider.is-upgraded:disabled:active::-ms-thumb,.mdl-slider.is-upgraded:disabled::-ms-thumb{transform:scale(.25);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb{transform:scale(.25);background:radial-gradient(circle closest-side,transparent 0%,transparent 50%,rgba(0,0,0,.26)50%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded:disabled::-ms-fill-lower{margin-right:6px;background:linear-gradient(to right,transparent,transparent 25px,rgba(0,0,0,.26)25px,rgba(0,0,0,.26)0)}.mdl-slider.is-upgraded:disabled::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper{margin-left:6px}.mdl-slider__ie-container{height:18px;overflow:visible;border:none;margin:none;padding:none}.mdl-slider__container{height:18px;position:relative;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.mdl-slider__container,.mdl-slider__background-flex{background:0 0;display:-webkit-flex;display:-ms-flexbox;display:flex}.mdl-slider__background-flex{position:absolute;height:2px;width:calc(100% - 52px);top:50%;left:0;margin:0 26px;overflow:hidden;border:0;padding:0;-webkit-transform:translate(0,-1px);transform:translate(0,-1px)}.mdl-slider__background-lower{background:rgb(244,67,54)}.mdl-slider__background-lower,.mdl-slider__background-upper{-webkit-flex:0;-ms-flex:0;flex:0;position:relative;border:0;padding:0}.mdl-slider__background-upper{background:rgba(0,0,0,.26);transition:left .18s cubic-bezier(.4,0,.2,1)}.mdl-snackbar{position:fixed;bottom:0;left:50%;cursor:default;background-color:#323232;z-index:3;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;font-family:"Roboto","Helvetica","Arial",sans-serif;will-change:transform;-webkit-transform:translate(0,80px);transform:translate(0,80px);transition:transform .25s cubic-bezier(.4,0,1,1);transition:transform .25s cubic-bezier(.4,0,1,1),-webkit-transform .25s cubic-bezier(.4,0,1,1);pointer-events:none}@media (max-width:479px){.mdl-snackbar{width:100%;left:0;min-height:48px;max-height:80px}}@media (min-width:480px){.mdl-snackbar{min-width:288px;max-width:568px;border-radius:2px;-webkit-transform:translate(-50%,80px);transform:translate(-50%,80px)}}.mdl-snackbar--active{-webkit-transform:translate(0,0);transform:translate(0,0);pointer-events:auto;transition:transform .25s cubic-bezier(0,0,.2,1);transition:transform .25s cubic-bezier(0,0,.2,1),-webkit-transform .25s cubic-bezier(0,0,.2,1)}@media (min-width:480px){.mdl-snackbar--active{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}}.mdl-snackbar__text{padding:14px 12px 14px 24px;vertical-align:middle;color:#fff;float:left}.mdl-snackbar__action{background:0 0;border:none;color:rgb(83,109,254);float:right;padding:14px 24px 14px 12px;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0;overflow:hidden;outline:none;opacity:0;pointer-events:none;cursor:pointer;text-decoration:none;text-align:center;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.mdl-snackbar__action::-moz-focus-inner{border:0}.mdl-snackbar__action:not([aria-hidden]){opacity:1;pointer-events:auto}.mdl-spinner{display:inline-block;position:relative;width:28px;height:28px}.mdl-spinner:not(.is-upgraded).is-active:after{content:"Loading..."}.mdl-spinner.is-upgraded.is-active{-webkit-animation:mdl-spinner__container-rotate 1568.23529412ms linear infinite;animation:mdl-spinner__container-rotate 1568.23529412ms linear infinite}@-webkit-keyframes mdl-spinner__container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdl-spinner__container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mdl-spinner__layer{position:absolute;width:100%;height:100%;opacity:0}.mdl-spinner__layer-1{border-color:#42a5f5}.mdl-spinner--single-color .mdl-spinner__layer-1{border-color:rgb(244,67,54)}.mdl-spinner.is-active .mdl-spinner__layer-1{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-2{border-color:#f44336}.mdl-spinner--single-color .mdl-spinner__layer-2{border-color:rgb(244,67,54)}.mdl-spinner.is-active .mdl-spinner__layer-2{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-3{border-color:#fdd835}.mdl-spinner--single-color .mdl-spinner__layer-3{border-color:rgb(244,67,54)}.mdl-spinner.is-active .mdl-spinner__layer-3{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-4{border-color:#4caf50}.mdl-spinner--single-color .mdl-spinner__layer-4{border-color:rgb(244,67,54)}.mdl-spinner.is-active .mdl-spinner__layer-4{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}@-webkit-keyframes mdl-spinner__fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdl-spinner__fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdl-spinner__layer-1-fade-in-out{from,25%{opacity:.99}26%,89%{opacity:0}90%,100%{opacity:.99}}@keyframes mdl-spinner__layer-1-fade-in-out{from,25%{opacity:.99}26%,89%{opacity:0}90%,100%{opacity:.99}}@-webkit-keyframes mdl-spinner__layer-2-fade-in-out{from,15%{opacity:0}25%,50%{opacity:.99}51%{opacity:0}}@keyframes mdl-spinner__layer-2-fade-in-out{from,15%{opacity:0}25%,50%{opacity:.99}51%{opacity:0}}@-webkit-keyframes mdl-spinner__layer-3-fade-in-out{from,40%{opacity:0}50%,75%{opacity:.99}76%{opacity:0}}@keyframes mdl-spinner__layer-3-fade-in-out{from,40%{opacity:0}50%,75%{opacity:.99}76%{opacity:0}}@-webkit-keyframes mdl-spinner__layer-4-fade-in-out{from,65%{opacity:0}75%,90%{opacity:.99}100%{opacity:0}}@keyframes mdl-spinner__layer-4-fade-in-out{from,65%{opacity:0}75%,90%{opacity:.99}100%{opacity:0}}.mdl-spinner__gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__gap-patch .mdl-spinner__circle{width:1000%;left:-450%}.mdl-spinner__circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__circle-clipper.mdl-spinner__left{float:left}.mdl-spinner__circle-clipper.mdl-spinner__right{float:right}.mdl-spinner__circle-clipper .mdl-spinner__circle{width:200%}.mdl-spinner__circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0;left:0}.mdl-spinner__left .mdl-spinner__circle{border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle{-webkit-animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__right .mdl-spinner__circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle{-webkit-animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both}@-webkit-keyframes mdl-spinner__left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes mdl-spinner__left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes mdl-spinner__right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes mdl-spinner__right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}.mdl-switch{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0;overflow:visible;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-switch.is-upgraded{padding-left:28px}.mdl-switch__input{line-height:24px}.mdl-switch.is-upgraded .mdl-switch__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-switch__track{background:rgba(0,0,0,.26);position:absolute;left:0;top:5px;height:14px;width:36px;border-radius:14px;cursor:pointer}.mdl-switch.is-checked .mdl-switch__track{background:rgba(244,67,54,.5)}.mdl-switch__track fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__track{background:rgba(0,0,0,.12);cursor:auto}.mdl-switch__thumb{background:#fafafa;position:absolute;left:0;top:2px;height:20px;width:20px;border-radius:50%;cursor:pointer;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:left}.mdl-switch.is-checked .mdl-switch__thumb{background:rgb(244,67,54);left:16px;box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-switch__thumb fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__thumb{background:#bdbdbd;cursor:auto}.mdl-switch__focus-helper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-4px,-4px);transform:translate(-4px,-4px);display:inline-block;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background-color:transparent}.mdl-switch.is-focused .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(244,67,54,.26);background-color:rgba(244,67,54,.26)}.mdl-switch__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0;left:24px}.mdl-switch__label fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__label{color:#bdbdbd;cursor:auto}.mdl-switch__ripple-container{position:absolute;z-index:2;top:-12px;left:-14px;box-sizing:border-box;width:48px;height:48px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000);transition-duration:.4s;transition-timing-function:step-end;transition-property:left}.mdl-switch__ripple-container .mdl-ripple{background:rgb(244,67,54)}.mdl-switch__ripple-container fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__ripple-container{cursor:auto}fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,.mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple{background:0 0}.mdl-switch.is-checked .mdl-switch__ripple-container{left:2px}.mdl-tabs{display:block;width:100%}.mdl-tabs__tab-bar{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:48px;padding:0;margin:0;border-bottom:1px solid #e0e0e0}.mdl-tabs__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(0,0,0,.54);overflow:hidden}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active{color:rgba(0,0,0,.87)}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:rgb(244,67,54);-webkit-animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-tabs__tab .mdl-tabs__ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple{background:rgb(244,67,54)}.mdl-tabs__panel{display:block}.mdl-tabs.is-upgraded .mdl-tabs__panel{display:none}.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active{display:block}@-webkit-keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}@keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}.mdl-textfield .mdl-button{position:absolute;bottom:20px}.mdl-textfield--align-right{text-align:right}.mdl-textfield--full-width{width:100%}.mdl-textfield--expandable{min-width:32px;width:auto;min-height:32px}.mdl-textfield--expandable .mdl-button--icon{top:16px}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:"Helvetica","Arial",sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.mdl-textfield__input[type="number"]{-moz-appearance:textfield}.mdl-textfield__input[type="number"]::-webkit-inner-spin-button,.mdl-textfield__input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mdl-textfield.is-focused .mdl-textfield__input{outline:none}.mdl-textfield.is-invalid .mdl-textfield__input{border-color:#d50000;box-shadow:none}fieldset[disabled] .mdl-textfield .mdl-textfield__input,.mdl-textfield.is-disabled .mdl-textfield__input{background-color:transparent;border-bottom:1px dotted rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-textfield textarea.mdl-textfield__input{display:block}.mdl-textfield__label{bottom:0;color:rgba(0,0,0,.26);font-size:16px;left:0;right:0;pointer-events:none;position:absolute;display:block;top:24px;width:100%;overflow:hidden;white-space:nowrap;text-align:left}.mdl-textfield.is-dirty .mdl-textfield__label,.mdl-textfield.has-placeholder .mdl-textfield__label{visibility:hidden}.mdl-textfield--floating-label .mdl-textfield__label{transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{transition:none}fieldset[disabled] .mdl-textfield .mdl-textfield__label,.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label{color:rgba(0,0,0,.26)}.mdl-textfield--floating-label.is-focused .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{color:rgb(244,67,54);font-size:12px;top:4px;visibility:visible}.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label{top:-16px}.mdl-textfield--floating-label.is-invalid .mdl-textfield__label{color:#d50000;font-size:12px}.mdl-textfield__label:after{background-color:rgb(244,67,54);bottom:20px;content:'';height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:10px}.mdl-textfield.is-focused .mdl-textfield__label:after{left:0;visibility:visible;width:100%}.mdl-textfield.is-invalid .mdl-textfield__label:after{background-color:#d50000}.mdl-textfield__error{color:#d50000;position:absolute;font-size:12px;margin-top:3px;visibility:hidden;display:block}.mdl-textfield.is-invalid .mdl-textfield__error{visibility:visible}.mdl-textfield__expandable-holder{display:inline-block;position:relative;margin-left:32px;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-block;max-width:.1px}.mdl-textfield.is-focused .mdl-textfield__expandable-holder,.mdl-textfield.is-dirty .mdl-textfield__expandable-holder{max-width:600px}.mdl-textfield__expandable-holder .mdl-textfield__label:after{bottom:0}.mdl-tooltip{-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:top center;transform-origin:top center;z-index:999;background:rgba(97,97,97,.9);border-radius:2px;color:#fff;display:inline-block;font-size:10px;font-weight:500;line-height:14px;max-width:170px;position:fixed;top:-500px;left:-500px;padding:8px;text-align:center}.mdl-tooltip.is-active{-webkit-animation:pulse 200ms cubic-bezier(0,0,.2,1)forwards;animation:pulse 200ms cubic-bezier(0,0,.2,1)forwards}.mdl-tooltip--large{line-height:14px;font-size:14px;padding:16px}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(.99);transform:scale(.99)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}}@keyframes pulse{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(.99);transform:scale(.99)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}}.mdl-shadow--2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-shadow--3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-shadow--4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.mdl-shadow--6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.mdl-shadow--8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.mdl-shadow--16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}.mdl-shadow--24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2)}.mdl-grid{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin:0 auto;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.mdl-grid.mdl-grid--no-spacing{padding:0}.mdl-cell{box-sizing:border-box}.mdl-cell--top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.mdl-cell--middle{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.mdl-cell--bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.mdl-cell--stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.mdl-grid.mdl-grid--no-spacing>.mdl-cell{margin:0}.mdl-cell--order-1{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12{-webkit-order:12;-ms-flex-order:12;order:12}@media (max-width:479px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:100%}.mdl-cell--hide-phone{display:none!important}.mdl-cell--order-1-phone.mdl-cell--order-1-phone{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-phone.mdl-cell--order-2-phone{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-phone.mdl-cell--order-3-phone{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-phone.mdl-cell--order-4-phone{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-phone.mdl-cell--order-5-phone{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-phone.mdl-cell--order-6-phone{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-phone.mdl-cell--order-7-phone{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-phone.mdl-cell--order-8-phone{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-phone.mdl-cell--order-9-phone{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-phone.mdl-cell--order-10-phone{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-phone.mdl-cell--order-11-phone{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-phone.mdl-cell--order-12-phone{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:25%}.mdl-cell--2-col,.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:50%}.mdl-cell--3-col,.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:75%}.mdl-cell--4-col,.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:100%}.mdl-cell--5-col,.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:100%}.mdl-cell--6-col,.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:100%}.mdl-cell--7-col,.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:100%}.mdl-cell--8-col,.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:25%}.mdl-cell--2-offset,.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:50%}.mdl-cell--3-offset,.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:75%}}@media (min-width:480px) and (max-width:839px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:50%}.mdl-cell--hide-tablet{display:none!important}.mdl-cell--order-1-tablet.mdl-cell--order-1-tablet{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-tablet.mdl-cell--order-2-tablet{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-tablet.mdl-cell--order-3-tablet{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-tablet.mdl-cell--order-4-tablet{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-tablet.mdl-cell--order-5-tablet{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-tablet.mdl-cell--order-6-tablet{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-tablet.mdl-cell--order-7-tablet{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-tablet.mdl-cell--order-8-tablet{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-tablet.mdl-cell--order-9-tablet{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-tablet.mdl-cell--order-10-tablet{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-tablet.mdl-cell--order-11-tablet{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-tablet.mdl-cell--order-12-tablet{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:calc(12.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:12.5%}.mdl-cell--2-col,.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:25%}.mdl-cell--3-col,.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:calc(37.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:37.5%}.mdl-cell--4-col,.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:50%}.mdl-cell--5-col,.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:calc(62.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:62.5%}.mdl-cell--6-col,.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:75%}.mdl-cell--7-col,.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:calc(87.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:87.5%}.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:calc(12.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:12.5%}.mdl-cell--2-offset,.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:25%}.mdl-cell--3-offset,.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:calc(37.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:37.5%}.mdl-cell--4-offset,.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:50%}.mdl-cell--5-offset,.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:calc(62.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:62.5%}.mdl-cell--6-offset,.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:75%}.mdl-cell--7-offset,.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:calc(87.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:87.5%}}@media (min-width:840px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(33.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:33.3333333333%}.mdl-cell--hide-desktop{display:none!important}.mdl-cell--order-1-desktop.mdl-cell--order-1-desktop{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-desktop.mdl-cell--order-2-desktop{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-desktop.mdl-cell--order-3-desktop{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-desktop.mdl-cell--order-4-desktop{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-desktop.mdl-cell--order-5-desktop{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-desktop.mdl-cell--order-6-desktop{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-desktop.mdl-cell--order-7-desktop{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-desktop.mdl-cell--order-8-desktop{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-desktop.mdl-cell--order-9-desktop{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-desktop.mdl-cell--order-10-desktop{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-desktop.mdl-cell--order-11-desktop{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-desktop.mdl-cell--order-12-desktop{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:calc(8.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:8.3333333333%}.mdl-cell--2-col,.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:calc(16.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:16.6666666667%}.mdl-cell--3-col,.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:25%}.mdl-cell--4-col,.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:calc(33.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:33.3333333333%}.mdl-cell--5-col,.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:calc(41.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:41.6666666667%}.mdl-cell--6-col,.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:50%}.mdl-cell--7-col,.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:calc(58.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:58.3333333333%}.mdl-cell--8-col,.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:calc(66.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:66.6666666667%}.mdl-cell--9-col,.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:75%}.mdl-cell--10-col,.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:calc(83.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:83.3333333333%}.mdl-cell--11-col,.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:calc(91.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:91.6666666667%}.mdl-cell--12-col,.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:calc(8.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:8.3333333333%}.mdl-cell--2-offset,.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:calc(16.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:16.6666666667%}.mdl-cell--3-offset,.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:25%}.mdl-cell--4-offset,.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:calc(33.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:33.3333333333%}.mdl-cell--5-offset,.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:calc(41.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:41.6666666667%}.mdl-cell--6-offset,.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:50%}.mdl-cell--7-offset,.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:calc(58.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:58.3333333333%}.mdl-cell--8-offset,.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:calc(66.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:66.6666666667%}.mdl-cell--9-offset,.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:75%}.mdl-cell--10-offset,.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:calc(83.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:83.3333333333%}.mdl-cell--11-offset,.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:calc(91.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:91.6666666667%}}body{margin:0}.styleguide-demo h1{margin:48px 24px 0}.styleguide-demo h1:after{content:'';display:block;width:100%;border-bottom:1px solid rgba(0,0,0,.5);margin-top:24px}.styleguide-demo{opacity:0;transition:opacity .6s ease}.styleguide-masthead{height:256px;background:#212121;padding:115px 16px 0}.styleguide-container{position:relative;max-width:960px;width:100%}.styleguide-title{color:#fff;bottom:auto;position:relative;font-size:56px;font-weight:300;line-height:1;letter-spacing:-.02em}.styleguide-title:after{border-bottom:0}.styleguide-title span{font-weight:300}.mdl-styleguide .mdl-layout__drawer .mdl-navigation__link{padding:10px 24px}.demosLoaded .styleguide-demo{opacity:1}iframe{display:block;width:100%;border:none}iframe.heightSet{overflow:hidden}.demo-wrapper{margin:24px}.demo-wrapper iframe{border:1px solid rgba(0,0,0,.5)} \ No newline at end of file From afb17672fb019a9f266f184a33619f0994560cee Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:55:48 -0400 Subject: [PATCH 006/102] Added title --- src/index.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/index.html b/src/index.html index f217e2ac..47443ad7 100644 --- a/src/index.html +++ b/src/index.html @@ -11,6 +11,12 @@ +

+ Image Convolution Playground +

+

+ Experiment with complex image processing operations in your browser. +

From 4a965dedb1079c28dd5f73b98713b68769caa10b Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 18:57:44 -0400 Subject: [PATCH 007/102] Added jQuery https://jquery.com/ --- src/index.html | 1 + src/jquery-3.3.1.min.js | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 src/jquery-3.3.1.min.js diff --git a/src/index.html b/src/index.html index 47443ad7..4e6d66ee 100644 --- a/src/index.html +++ b/src/index.html @@ -18,6 +18,7 @@

Experiment with complex image processing operations in your browser.

+ diff --git a/src/jquery-3.3.1.min.js b/src/jquery-3.3.1.min.js new file mode 100644 index 00000000..4d9b3a25 --- /dev/null +++ b/src/jquery-3.3.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" + \ No newline at end of file diff --git a/src/script.js b/src/script.js index e69de29b..89f826c4 100644 --- a/src/script.js +++ b/src/script.js @@ -0,0 +1,4 @@ +const canvas = $("canvas")[0]; +canvas.width = window.innerWidth; +canvas.height = window.innerHeight; +const ctx = canvas.getContext("2d"); \ No newline at end of file diff --git a/src/style.css b/src/style.css index e69de29b..6cae1748 100644 --- a/src/style.css +++ b/src/style.css @@ -0,0 +1,4 @@ +canvas { + /* width: 100%; + height: 100%; */ +} \ No newline at end of file From 72834b7932c4df8632260d2b0e391235551f3d3a Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 28 Sep 2018 20:20:18 -0400 Subject: [PATCH 009/102] Added image loading from URL --- src/index.html | 32 ++++++++++++++++++++++++++++++++ src/script.js | 36 +++++++++++++++++++++++++++++++++++- src/style.css | 4 ++++ 3 files changed, 71 insertions(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 0f2d33b1..21e79ddc 100644 --- a/src/index.html +++ b/src/index.html @@ -20,8 +20,40 @@

Experiment with complex image processing operations in your browser.

+ + +
+
+ +
+ + +

Load Image From URL

+
+

+ Enter an image URL below to load an image. Note that not all websites will allow this. Try Imgur. +

+
+
+ + +
+
+
+
+ + +
+
+ diff --git a/src/script.js b/src/script.js index 89f826c4..cf3073c4 100644 --- a/src/script.js +++ b/src/script.js @@ -1,4 +1,38 @@ const canvas = $("canvas")[0]; canvas.width = window.innerWidth; canvas.height = window.innerHeight; -const ctx = canvas.getContext("2d"); \ No newline at end of file +const context = canvas.getContext("2d"); + +// const dialogs = { +// +// }; + +var canvas_data; +var dialog = $("dialog#load-image-url")[0]; +$("button#load-image-url").click(() => { + $("dialog#load-image-url input")[0].value = ""; + dialog.showModal(); +}); +$("dialog#load-image-url button").click(() => dialog.close()); +var undo = function(event) { + context.putImageData(canvas_data, 0, 0); +}; +var data = { + "message": "Image loaded.", + "timeout": 5000, + "actionHandler": undo, + "actionText": "Undo" +}; +var snackbarContainer = $('#demo-snackbar-example'); +$("dialog#load-image-url .confirm").click(() => { + canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); + var url = $("dialog#load-image-url input")[0].value; + var image = new Image(); + image.onload = function() { + context.drawImage(image, 0, 0); + }; + image.crossOrigin = "Anonymous"; + image.src = url; + + snackbarContainer[0].MaterialSnackbar.showSnackbar(data); +}); \ No newline at end of file diff --git a/src/style.css b/src/style.css index 6cae1748..41fcda9f 100644 --- a/src/style.css +++ b/src/style.css @@ -1,4 +1,8 @@ canvas { /* width: 100%; height: 100%; */ +} + +dialog { + width: 50% !important; } \ No newline at end of file From c5d24fc2d9a310713ff281549648359a02f9c859 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sat, 29 Sep 2018 22:00:27 -0400 Subject: [PATCH 010/102] Added convolutions --- src/script.js | 108 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 105 insertions(+), 3 deletions(-) diff --git a/src/script.js b/src/script.js index cf3073c4..3096008b 100644 --- a/src/script.js +++ b/src/script.js @@ -1,12 +1,44 @@ const canvas = $("canvas")[0]; -canvas.width = window.innerWidth; -canvas.height = window.innerHeight; +canvas.width = window.innerWidth / 4; +canvas.height = window.innerHeight / 4; const context = canvas.getContext("2d"); // const dialogs = { // // }; +const find_anchor = function(kernel) { + var anchor = { + "x": Math.floor(kernel.kernel[Math.floor(kernel.kernel.length / 2)].length / 2), + "y": Math.floor(kernel.kernel.length / 2) + }; + return anchor; +} + +var kernels = { + "identity": { + "kernel": [ + [0, 0, 0], + [0, 1, 0], + [0, 0, 0] + ] + }, + "custom": { + "kernel": [ + [0, 0, 0], + [0, 1, 0], + [0, 0, 0] + ] + } +}; +Object.keys(kernels).forEach( + (name) => { + if (!kernels[name].anchor) { + kernels[name].anchor = find_anchor(kernels[name]); + } + } +); + var canvas_data; var dialog = $("dialog#load-image-url")[0]; $("button#load-image-url").click(() => { @@ -35,4 +67,74 @@ $("dialog#load-image-url .confirm").click(() => { image.src = url; snackbarContainer[0].MaterialSnackbar.showSnackbar(data); -}); \ No newline at end of file +}); + +const get_pixel = function(data, width, channels, x, y) { + var pixel = []; + for (var d = 0; d < channels; d++) { + pixel.push(data[(y * width * channels) + (x * channels) + d]); + } + return pixel; +} + +const spread = function(image_data, width, height, channels) { + var spread_data = []; + for (var h = 0; h < height; h++) { + spread_data.push([]); + for (var i = 0; i < width; i++) { + var index = (((h * width) + i) * channels); + spread_data[h].push( + Array.prototype.slice.call( + image_data.slice( + index, index + channels + ) + ) + ); + } + } + return spread_data; +} + +const convolute = function(kernel) { + var canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); + // var processed_data = new Uint8ClampedArray(canvas_data.data.length); + canvas_data = spread(canvas_data.data, canvas.width, canvas.height, 4); + var processed_data = JSON.parse(JSON.stringify(canvas_data)); + + // Current pixel x + for (var a = 0; a < canvas_data.length - kernel.kernel.length; a++) { + // Current pixel y + for (var g = 0; g < canvas_data[a].length - kernel.kernel[0].length; g++) { + // Current color channel + for (var e = 0; e < 4; e++) { + processed_data[a][g][e] = 0; + // Current kernel x + for (var b = 0; b < kernel.kernel.length; b++) { + // Current kernel y + for (var c = 0; c < kernel.kernel[b].length; c++) { + // Where the magic happens + // Check if pixel exists + var pix; + // If it does not, set placeholder value to 0 + if (canvas_data[x] == undefined || canvas_data[x][y] == undefined) { + pix = 0; + } + // If it does, use actual pixel value + else { + pix = canvas_data[x][y][e]; + } + var x = a + b - kernel.anchor.x; + var y = g + c - kernel.anchor.y; + // Multiply pixel value by kernel value + processed_data[a][g][e] += kernel.kernel[b][c] * pix; + } + } + } + } + } + processed_data = new Uint8ClampedArray(processed_data.flat().flat()); + processed_data = new ImageData(processed_data, canvas.width, canvas.height); + context.putImageData(processed_data, 0, 0); +} + +convolute(kernels.custom); \ No newline at end of file From b11e9359945d527a0c6b7f2127e86b278a4dc99a Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sat, 29 Sep 2018 22:01:06 -0400 Subject: [PATCH 011/102] Removed unused get_pixel() function --- src/script.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/script.js b/src/script.js index 3096008b..df931591 100644 --- a/src/script.js +++ b/src/script.js @@ -69,14 +69,6 @@ $("dialog#load-image-url .confirm").click(() => { snackbarContainer[0].MaterialSnackbar.showSnackbar(data); }); -const get_pixel = function(data, width, channels, x, y) { - var pixel = []; - for (var d = 0; d < channels; d++) { - pixel.push(data[(y * width * channels) + (x * channels) + d]); - } - return pixel; -} - const spread = function(image_data, width, height, channels) { var spread_data = []; for (var h = 0; h < height; h++) { From ac1c85918f0df487d25b6a009d8cd93b2e899c6a Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sat, 29 Sep 2018 22:13:21 -0400 Subject: [PATCH 012/102] Added "sharpen" convolution kernel https://en.wikipedia.org/wiki/Kernel_(image_processing) --- src/script.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/script.js b/src/script.js index df931591..77d75d48 100644 --- a/src/script.js +++ b/src/script.js @@ -23,6 +23,13 @@ var kernels = { [0, 0, 0] ] }, + "sharpen": { + "kernel": [ + [0, -1, 0], + [-1, 5, -1], + [0, -1, 0] + ] + }, "custom": { "kernel": [ [0, 0, 0], From f241825e85eab68dbeedee97af8200b75cce41e3 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 11:04:52 -0400 Subject: [PATCH 013/102] Added kernel factors/multipliers #1 This will allow for more complex kernels, including blurring and unsharp masking, to be added. https://en.wikipedia.org/wiki/Kernel_(image_processing) --- src/script.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/script.js b/src/script.js index 77d75d48..b933d5f7 100644 --- a/src/script.js +++ b/src/script.js @@ -43,6 +43,9 @@ Object.keys(kernels).forEach( if (!kernels[name].anchor) { kernels[name].anchor = find_anchor(kernels[name]); } + if (!kernels[name].factor) { + kernels[name].factor = 1; + } } ); @@ -128,6 +131,7 @@ const convolute = function(kernel) { processed_data[a][g][e] += kernel.kernel[b][c] * pix; } } + processed_data[a][g][e] *= kernel.factor; } } } From c8518e60eeeb09e7420531cf854aab23e4584936 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 11:09:57 -0400 Subject: [PATCH 014/102] Added convolutional kernel name property The list of kernels has been reorganized as an array. #7 --- src/script.js | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/script.js b/src/script.js index b933d5f7..c5097767 100644 --- a/src/script.js +++ b/src/script.js @@ -15,36 +15,39 @@ const find_anchor = function(kernel) { return anchor; } -var kernels = { - "identity": { +var kernels = [{ + "name": "Identity", "kernel": [ [0, 0, 0], [0, 1, 0], [0, 0, 0] ] }, - "sharpen": { + { + "name": "Sharpen", "kernel": [ [0, -1, 0], [-1, 5, -1], [0, -1, 0] ] }, - "custom": { + { + "name": "Custom", "kernel": [ [0, 0, 0], [0, 1, 0], [0, 0, 0] ] } -}; -Object.keys(kernels).forEach( - (name) => { - if (!kernels[name].anchor) { - kernels[name].anchor = find_anchor(kernels[name]); +]; + +kernels.forEach( + (kernel) => { + if (!kernel.anchor) { + kernel.anchor = find_anchor(kernel); } - if (!kernels[name].factor) { - kernels[name].factor = 1; + if (!kernel.factor) { + kernel.factor = 1; } } ); @@ -138,6 +141,4 @@ const convolute = function(kernel) { processed_data = new Uint8ClampedArray(processed_data.flat().flat()); processed_data = new ImageData(processed_data, canvas.width, canvas.height); context.putImageData(processed_data, 0, 0); -} - -convolute(kernels.custom); \ No newline at end of file +} \ No newline at end of file From ddccafc2d21ef690a54d81c9e15b1dc3ac3b0653 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 11:17:06 -0400 Subject: [PATCH 015/102] Added blur filter kernels - Box blur - Gaussian blur (3x3) - Gaussian blur (5x5) https://en.wikipedia.org/wiki/Kernel_(image_processing) --- src/script.js | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/src/script.js b/src/script.js index c5097767..b63d39e6 100644 --- a/src/script.js +++ b/src/script.js @@ -31,6 +31,35 @@ var kernels = [{ [0, -1, 0] ] }, + { + "name": "Box blur", + "factor": 1 / 9, + "kernel": [ + [1, 1, 1], + [1, 1, 1], + [1, 1, 1] + ] + }, + { + "name": "Gaussian blur (3 by 3)", + "factor": 1 / 16, + "kernel": [ + [1, 2, 1], + [2, 4, 2], + [1, 2, 1] + ] + }, + { + "name": "Gaussian blur (5 by 5)", + "factor": 1 / 256, + "kernel": [ + [1, 4, 6, 4, 1], + [4, 16, 24, 16, 4], + [6, 24, 36, 24, 6], + [4, 16, 24, 16, 4], + [1, 4, 6, 4, 1] + ] + }, { "name": "Custom", "kernel": [ @@ -43,12 +72,12 @@ var kernels = [{ kernels.forEach( (kernel) => { - if (!kernel.anchor) { - kernel.anchor = find_anchor(kernel); - } if (!kernel.factor) { kernel.factor = 1; } + if (!kernel.anchor) { + kernel.anchor = find_anchor(kernel); + } } ); From 12113feb8fcbc0fa62d1724daa98e89084d9b618 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 11:20:55 -0400 Subject: [PATCH 016/102] Added unsharp masking convolutional filter kernel https://en.wikipedia.org/wiki/Unsharp_masking https://en.wikipedia.org/wiki/Kernel_(image_processing) --- src/script.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/script.js b/src/script.js index b63d39e6..fc014686 100644 --- a/src/script.js +++ b/src/script.js @@ -60,6 +60,17 @@ var kernels = [{ [1, 4, 6, 4, 1] ] }, + { + "name": "Unsharp Masking", + "factor": -1 / 256, + "kernel": [ + [1, 4, 6, 4, 1], + [4, 16, 24, 16, 4], + [6, 24, -476, 24, 6], + [4, 16, 24, 16, 4], + [1, 4, 6, 4, 1] + ] + }, { "name": "Custom", "kernel": [ From a1a0cf26c0ba0d469583e6519bd8132957bb4ec3 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 11:38:34 -0400 Subject: [PATCH 017/102] Moved kernel information into a separate JavaScript file Attempted to use a JSON file loaded through jQuery, but this was creation loading issues and overcomplicated data storage. --- src/index.html | 1 + src/kernels.js | 65 +++++++++++++++++++++++++++++++++++++++++++++++ src/script.js | 69 +++----------------------------------------------- 3 files changed, 69 insertions(+), 66 deletions(-) create mode 100644 src/kernels.js diff --git a/src/index.html b/src/index.html index 21e79ddc..5c2ff49e 100644 --- a/src/index.html +++ b/src/index.html @@ -56,6 +56,7 @@

Load Image From URL

+ diff --git a/src/kernels.js b/src/kernels.js new file mode 100644 index 00000000..5afb6d8e --- /dev/null +++ b/src/kernels.js @@ -0,0 +1,65 @@ +var kernels = [{ + "name": "Identity", + "kernel": [ + [0, 0, 0], + [0, 1, 0], + [0, 0, 0] + ] + }, + { + "name": "Sharpen", + "kernel": [ + [0, -1, 0], + [-1, 5, -1], + [0, -1, 0] + ] + }, + { + "name": "Box blur", + "factor": 1 / 9, + "kernel": [ + [1, 1, 1], + [1, 1, 1], + [1, 1, 1] + ] + }, + { + "name": "Gaussian blur (3 by 3)", + "factor": 1 / 16, + "kernel": [ + [1, 2, 1], + [2, 4, 2], + [1, 2, 1] + ] + }, + { + "name": "Gaussian blur (5 by 5)", + "factor": 1 / 256, + "kernel": [ + [1, 4, 6, 4, 1], + [4, 16, 24, 16, 4], + [6, 24, 36, 24, 6], + [4, 16, 24, 16, 4], + [1, 4, 6, 4, 1] + ] + }, + { + "name": "Unsharp Masking", + "factor": -1 / 256, + "kernel": [ + [1, 4, 6, 4, 1], + [4, 16, 24, 16, 4], + [6, 24, -476, 24, 6], + [4, 16, 24, 16, 4], + [1, 4, 6, 4, 1] + ] + }, + { + "name": "Custom", + "kernel": [ + [0, 0, 0], + [0, 1, 0], + [0, 0, 0] + ] + } +]; diff --git a/src/script.js b/src/script.js index fc014686..79fffc52 100644 --- a/src/script.js +++ b/src/script.js @@ -15,77 +15,14 @@ const find_anchor = function(kernel) { return anchor; } -var kernels = [{ - "name": "Identity", - "kernel": [ - [0, 0, 0], - [0, 1, 0], - [0, 0, 0] - ] - }, - { - "name": "Sharpen", - "kernel": [ - [0, -1, 0], - [-1, 5, -1], - [0, -1, 0] - ] - }, - { - "name": "Box blur", - "factor": 1 / 9, - "kernel": [ - [1, 1, 1], - [1, 1, 1], - [1, 1, 1] - ] - }, - { - "name": "Gaussian blur (3 by 3)", - "factor": 1 / 16, - "kernel": [ - [1, 2, 1], - [2, 4, 2], - [1, 2, 1] - ] - }, - { - "name": "Gaussian blur (5 by 5)", - "factor": 1 / 256, - "kernel": [ - [1, 4, 6, 4, 1], - [4, 16, 24, 16, 4], - [6, 24, 36, 24, 6], - [4, 16, 24, 16, 4], - [1, 4, 6, 4, 1] - ] - }, - { - "name": "Unsharp Masking", - "factor": -1 / 256, - "kernel": [ - [1, 4, 6, 4, 1], - [4, 16, 24, 16, 4], - [6, 24, -476, 24, 6], - [4, 16, 24, 16, 4], - [1, 4, 6, 4, 1] - ] - }, - { - "name": "Custom", - "kernel": [ - [0, 0, 0], - [0, 1, 0], - [0, 0, 0] - ] - } -]; - kernels.forEach( (kernel) => { if (!kernel.factor) { kernel.factor = 1; + } else { + kernel.factor = eval(kernel.factor); } + if (!kernel.anchor) { kernel.anchor = find_anchor(kernel); } From deb967f61229a3b13dfbe6c1cfef9accf6048fe1 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 11:49:27 -0400 Subject: [PATCH 018/102] Added some stuff to the README --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 924abf2a..4e52e779 100644 --- a/README.md +++ b/README.md @@ -1 +1,9 @@ # Image Convolution Playground + +## What are convolutions? + +Convolution is the process of multiplying an n-dimensional matrix of values against some other data, such as audio (1D), an image (2D), or video (3D). This allows for a wide range of different operations to be applied to the data. + +## Image Convolutions + +This interactive demo allows you to see how different convolution operations applied to images can be used to create effects such as blurring, sharpening, and edge detection. From 46da820777a226dfd1cb397a1f8dfe47f85cd1e1 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 12:16:24 -0400 Subject: [PATCH 019/102] Added filter selection dropdown --- src/index.html | 5 +++++ src/script.js | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/index.html b/src/index.html index 5c2ff49e..98416621 100644 --- a/src/index.html +++ b/src/index.html @@ -26,6 +26,11 @@

+ +
    +
    diff --git a/src/script.js b/src/script.js index 79fffc52..5def9b1a 100644 --- a/src/script.js +++ b/src/script.js @@ -29,6 +29,19 @@ kernels.forEach( } ); +for (var j = 0; j < kernels.length; j++) { + var item = $("
  • "); + item.text(kernels[j].name); + item.attr("onclick", "set_filter(" + j + ")"); + $("ul#kernels").append(item); +} +componentHandler.upgradeDom("mdl-menu"); +const set_filter = function(kernel_id) { + $("button#select-filter").text(kernels[kernel_id].name); + convolute(kernels[kernel_id]); +} + + var canvas_data; var dialog = $("dialog#load-image-url")[0]; $("button#load-image-url").click(() => { From 669c06dc162176ba2882b64a3082d224130d8d2e Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 13:47:22 -0400 Subject: [PATCH 020/102] Added random default demo image #4 --- src/script.js | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/script.js b/src/script.js index 5def9b1a..d0382e55 100644 --- a/src/script.js +++ b/src/script.js @@ -3,6 +3,14 @@ canvas.width = window.innerWidth / 4; canvas.height = window.innerHeight / 4; const context = canvas.getContext("2d"); +var images = [ + "https://i.imgur.com/svViHqm.jpg", + "https://i.imgur.com/uAhjMNd.jpg", + "https://i.imgur.com/u5OUfBF.jpg", + "https://i.imgur.com/PT3Nh7B.jpg", + "https://i.imgur.com/EtXIdFP.jpg" +]; + // const dialogs = { // // }; @@ -41,6 +49,15 @@ const set_filter = function(kernel_id) { convolute(kernels[kernel_id]); } +const load_image = function(url, callback) { + var image = new Image(); + image.onload = function() { + context.drawImage(image, 0, 0); + callback(); + }; + image.crossOrigin = "Anonymous"; + image.src = url; +} var canvas_data; var dialog = $("dialog#load-image-url")[0]; @@ -62,12 +79,7 @@ var snackbarContainer = $('#demo-snackbar-example'); $("dialog#load-image-url .confirm").click(() => { canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); var url = $("dialog#load-image-url input")[0].value; - var image = new Image(); - image.onload = function() { - context.drawImage(image, 0, 0); - }; - image.crossOrigin = "Anonymous"; - image.src = url; + load_image(url); snackbarContainer[0].MaterialSnackbar.showSnackbar(data); }); @@ -131,4 +143,7 @@ const convolute = function(kernel) { processed_data = new Uint8ClampedArray(processed_data.flat().flat()); processed_data = new ImageData(processed_data, canvas.width, canvas.height); context.putImageData(processed_data, 0, 0); -} \ No newline at end of file +} + +var image = images[Math.floor(Math.random() * images.length)]; +load_image(image, () => convolute(kernels[1])); \ No newline at end of file From eca26c2bb2450b1121c82e53a61e0e3d9dd78ace Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 14:29:48 -0400 Subject: [PATCH 021/102] Reorganized convolution function Getting data from canvas/putting processed data on canvas is now done in the set_filter() function. --- src/script.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/script.js b/src/script.js index d0382e55..a4ac21ae 100644 --- a/src/script.js +++ b/src/script.js @@ -45,8 +45,10 @@ for (var j = 0; j < kernels.length; j++) { } componentHandler.upgradeDom("mdl-menu"); const set_filter = function(kernel_id) { - $("button#select-filter").text(kernels[kernel_id].name); - convolute(kernels[kernel_id]); + $("button#select-filter").html(kernels[kernel_id].name + 'arrow_drop_down'); + var canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); + var processed_data = convolute(canvas_data, kernels[kernel_id]); + context.putImageData(processed_data, 0, 0); } const load_image = function(url, callback) { @@ -102,10 +104,9 @@ const spread = function(image_data, width, height, channels) { return spread_data; } -const convolute = function(kernel) { - var canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); +const convolute = function(image, kernel) { // var processed_data = new Uint8ClampedArray(canvas_data.data.length); - canvas_data = spread(canvas_data.data, canvas.width, canvas.height, 4); + canvas_data = spread(image.data, canvas.width, canvas.height, 4); var processed_data = JSON.parse(JSON.stringify(canvas_data)); // Current pixel x @@ -142,8 +143,8 @@ const convolute = function(kernel) { } processed_data = new Uint8ClampedArray(processed_data.flat().flat()); processed_data = new ImageData(processed_data, canvas.width, canvas.height); - context.putImageData(processed_data, 0, 0); + return processed_data; } var image = images[Math.floor(Math.random() * images.length)]; -load_image(image, () => convolute(kernels[1])); \ No newline at end of file +load_image(image, () => set_filter(1)); \ No newline at end of file From 938efbb5fa7edd48ac69a1a9c508564243c08d5d Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 15:02:30 -0400 Subject: [PATCH 022/102] Added custom image uploading #12 --- src/index.html | 1 + src/script.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/index.html b/src/index.html index 98416621..657cf537 100644 --- a/src/index.html +++ b/src/index.html @@ -20,6 +20,7 @@

    Experiment with complex image processing operations in your browser.

    + diff --git a/src/script.js b/src/script.js index a4ac21ae..65a9a822 100644 --- a/src/script.js +++ b/src/script.js @@ -23,6 +23,21 @@ const find_anchor = function(kernel) { return anchor; } +// Adapted from https://stackoverflow.com/a/22369599 +const read_file = function() { + var file = document.querySelector("input#load-image-upload").files[0]; //sames as here + var reader = new FileReader(); + + reader.onloadend = function() { + load_image(reader.result, () => set_filter(1)); + } + + if (file) { + // Read image data as a data URL + reader.readAsDataURL(file); + } +} + kernels.forEach( (kernel) => { if (!kernel.factor) { From 5fcada30336e124e7a348a8830217d036703afed Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 15:03:32 -0400 Subject: [PATCH 023/102] Removed convolution edge padding --- src/script.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/script.js b/src/script.js index 65a9a822..53dace82 100644 --- a/src/script.js +++ b/src/script.js @@ -125,9 +125,9 @@ const convolute = function(image, kernel) { var processed_data = JSON.parse(JSON.stringify(canvas_data)); // Current pixel x - for (var a = 0; a < canvas_data.length - kernel.kernel.length; a++) { + for (var a = 0; a < canvas_data.length; a++) { // Current pixel y - for (var g = 0; g < canvas_data[a].length - kernel.kernel[0].length; g++) { + for (var g = 0; g < canvas_data[a].length; g++) { // Current color channel for (var e = 0; e < 4; e++) { processed_data[a][g][e] = 0; From c20c10589f676e35c7c250b20c8016a1748c3f04 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 15:38:49 -0400 Subject: [PATCH 024/102] Added styling to file upload --- src/index.html | 7 +++++-- src/script.js | 39 ++++++++++++++++++++++----------------- src/style.css | 4 ++++ 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/index.html b/src/index.html index 657cf537..4053e8df 100644 --- a/src/index.html +++ b/src/index.html @@ -20,7 +20,10 @@

    Experiment with complex image processing operations in your browser.

    - + + @@ -32,7 +35,7 @@

      -
      +
      diff --git a/src/script.js b/src/script.js index 53dace82..15ffe405 100644 --- a/src/script.js +++ b/src/script.js @@ -23,12 +23,33 @@ const find_anchor = function(kernel) { return anchor; } +var saved_canvas; +var undo = function(event) { + context.putImageData(saved_canvas, 0, 0); +}; +const display_snackbar = function(message) { + var data = { + "message": message, + "timeout": 5000, + "actionHandler": undo, + "actionText": "Undo" + }; + var snackbarContainer = $("#snackbar"); + snackbarContainer[0].MaterialSnackbar.showSnackbar(data); +} +$("dialog#load-image-url .confirm").click(() => { + var url = $("dialog#load-image-url input")[0].value; + load_image(url); + display_snackbar("Image loaded."); +}); + // Adapted from https://stackoverflow.com/a/22369599 const read_file = function() { var file = document.querySelector("input#load-image-upload").files[0]; //sames as here var reader = new FileReader(); reader.onloadend = function() { + display_snackbar("Image uploaded: " + file.name); load_image(reader.result, () => set_filter(1)); } @@ -67,6 +88,7 @@ const set_filter = function(kernel_id) { } const load_image = function(url, callback) { + saved_canvas = context.getImageData(0, 0, canvas.width, canvas.height); var image = new Image(); image.onload = function() { context.drawImage(image, 0, 0); @@ -83,23 +105,6 @@ $("button#load-image-url").click(() => { dialog.showModal(); }); $("dialog#load-image-url button").click(() => dialog.close()); -var undo = function(event) { - context.putImageData(canvas_data, 0, 0); -}; -var data = { - "message": "Image loaded.", - "timeout": 5000, - "actionHandler": undo, - "actionText": "Undo" -}; -var snackbarContainer = $('#demo-snackbar-example'); -$("dialog#load-image-url .confirm").click(() => { - canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); - var url = $("dialog#load-image-url input")[0].value; - load_image(url); - - snackbarContainer[0].MaterialSnackbar.showSnackbar(data); -}); const spread = function(image_data, width, height, channels) { var spread_data = []; diff --git a/src/style.css b/src/style.css index 41fcda9f..e25e92d8 100644 --- a/src/style.css +++ b/src/style.css @@ -5,4 +5,8 @@ canvas { dialog { width: 50% !important; +} + +input#load-image-upload { + display: none } \ No newline at end of file From 9c29539515529d524570a68bc5f3aae03d30e2f6 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 15:57:20 -0400 Subject: [PATCH 025/102] Added some comments #9 --- src/script.js | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/script.js b/src/script.js index 15ffe405..abbd58f8 100644 --- a/src/script.js +++ b/src/script.js @@ -3,6 +3,7 @@ canvas.width = window.innerWidth / 4; canvas.height = window.innerHeight / 4; const context = canvas.getContext("2d"); +// Sample images to load by default when the program is opened var images = [ "https://i.imgur.com/svViHqm.jpg", "https://i.imgur.com/uAhjMNd.jpg", @@ -59,42 +60,60 @@ const read_file = function() { } } +// Prepare filter kernels for use in image convolution operations; fill in missing properties kernels.forEach( (kernel) => { + // If kernel factor does not exist, set it to 1 if (!kernel.factor) { kernel.factor = 1; - } else { - kernel.factor = eval(kernel.factor); } + // If kernel anchor coordinates are not listed, calculate them if (!kernel.anchor) { kernel.anchor = find_anchor(kernel); } } ); +// Loop through each kernel and add it to the dropdown menu for (var j = 0; j < kernels.length; j++) { + // Create new list item element var item = $("
    • "); + // Set name of list item to match kernel item.text(kernels[j].name); + // Set onclick function for list item item.attr("onclick", "set_filter(" + j + ")"); + // Add list item to dropdown $("ul#kernels").append(item); } -componentHandler.upgradeDom("mdl-menu"); +// Apply a filter kernel to the currently loadked image and display the result on the canvas const set_filter = function(kernel_id) { + // Update filter select dropdown button to display name of current filter $("button#select-filter").html(kernels[kernel_id].name + 'arrow_drop_down'); + // Get image data from canvas var canvas_data = context.getImageData(0, 0, canvas.width, canvas.height); + // Run convolution operation on image data from canvas with given kernel var processed_data = convolute(canvas_data, kernels[kernel_id]); + // Draw processed image data to canvas context.putImageData(processed_data, 0, 0); } +// Load an image into memory using a URL and draw it to the canvas const load_image = function(url, callback) { + // Store canvas data in saved_canvas in case the user undoes the image load operation saved_canvas = context.getImageData(0, 0, canvas.width, canvas.height); + // Create a new image object var image = new Image(); + // Set onload function for image to execute once the image has loaded image.onload = function() { + // Draw image to canvas context.drawImage(image, 0, 0); + // Execute callback function callback(); }; + // Set crossOrigin property of image object to "Anonymous" to allow loading images from other domains (when permitted) image.crossOrigin = "Anonymous"; + // Set image source to url image.src = url; } @@ -106,14 +125,23 @@ $("button#load-image-url").click(() => { }); $("dialog#load-image-url button").click(() => dialog.close()); +// Spread 1D image vector to a 3D array given width, height, and number of color channels const spread = function(image_data, width, height, channels) { + // Create variable to store processed image data in var spread_data = []; + // Loop through each row (y) of image for (var h = 0; h < height; h++) { + // Create new array inside of main array to store color channels of pixel spread_data.push([]); + // Loop through each pixel (x) in row of image for (var i = 0; i < width; i++) { - var index = (((h * width) + i) * channels); + // Generate index of pixel in original image data array from x and y position of pixel, and width and color channels of image + var index = ((h * width) + i) * channels; + // Add pixel data to spread array spread_data[h].push( + // Convert data from Uint8ClampedArray to standard Array Array.prototype.slice.call( + // Slice color channels of pixel from main array using index value image_data.slice( index, index + channels ) @@ -121,6 +149,7 @@ const spread = function(image_data, width, height, channels) { ); } } + // Return 3D image data array return spread_data; } From 7b07ab4aa4d12aa790c0bbe9e24204a54ed2598b Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 30 Sep 2018 16:39:50 -0400 Subject: [PATCH 026/102] Added unprocessed image canvas #11 --- src/index.html | 3 ++- src/script.js | 29 ++++++++++++++++++----------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/index.html b/src/index.html index 4053e8df..7a33851d 100644 --- a/src/index.html +++ b/src/index.html @@ -28,7 +28,8 @@

      Load image from URL - + + - - + + +
      + + +

      - + - - - + + + \ No newline at end of file diff --git a/src/canvas.js b/src/js/canvas.js similarity index 100% rename from src/canvas.js rename to src/js/canvas.js diff --git a/src/jquery-3.3.1.min.js b/src/js/jquery-3.3.1.min.js similarity index 100% rename from src/jquery-3.3.1.min.js rename to src/js/jquery-3.3.1.min.js diff --git a/src/kernels.js b/src/js/kernels.js similarity index 100% rename from src/kernels.js rename to src/js/kernels.js diff --git a/src/script.js b/src/js/script.js similarity index 100% rename from src/script.js rename to src/js/script.js From fc50b01167992e4394cc86884aa31e9004831aa8 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Wed, 3 Oct 2018 21:55:59 -0400 Subject: [PATCH 035/102] Added more information to README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 4e52e779..03300ca2 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,10 @@ Convolution is the process of multiplying an n-dimensional matrix of values agai ## Image Convolutions This interactive demo allows you to see how different convolution operations applied to images can be used to create effects such as blurring, sharpening, and edge detection. + +Check out [this awesome demo](http://setosa.io/ev/image-kernels/) by [Victor Powell](https://twitter.com/vicapow) to learn more about applying convolutions to images. + +## Other Notes + +Image used for early testing of program: +https://i.imgur.com/vXiaCO3.jpg From 7233b916604b3c7b39bad11d5114f9db03500ac8 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Wed, 3 Oct 2018 21:59:24 -0400 Subject: [PATCH 036/102] Made convolutions section in README more clear --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 03300ca2..39d11448 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Image Convolution Playground -## What are convolutions? +## What are convolutional filters? -Convolution is the process of multiplying an n-dimensional matrix of values against some other data, such as audio (1D), an image (2D), or video (3D). This allows for a wide range of different operations to be applied to the data. +Convolutional filtering is the process of multiplying an n-dimensional matrix (kernel) of values against some other data, such as audio (1D), an image (2D), or video (3D). This allows for a wide range of different operations to be applied to the data. ## Image Convolutions From 8b3aebea7b915924112d385aa363cd48195455e4 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 17:42:08 -0400 Subject: [PATCH 037/102] Fixed undo issues and image loading bugs --- src/index.html | 2 +- src/js/script.js | 55 ++++++++++++++++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/src/index.html b/src/index.html index f084f7d4..139ac0c4 100644 --- a/src/index.html +++ b/src/index.html @@ -28,7 +28,7 @@

      Load image from URL - +
      diff --git a/src/js/script.js b/src/js/script.js index e72809c6..60103310 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -1,5 +1,5 @@ // URL of currently loaded image -var image_url; +var image_url = ""; // Current filter kernel to apply to image // Default filter is 1 (sharpen) var filter = 1; @@ -13,7 +13,9 @@ const input_resolution = function(func) { input_canvas.height = canvas_height; output_canvas.width = canvas_width; output_canvas.height = canvas_height; - load_image(image_url, func); + load_image({ + callback: func + }); } // Sample images to load by default when the program is opened (flowers) @@ -33,13 +35,15 @@ const find_anchor = function(kernel) { return anchor; } -var saved_canvas; +var saved_url; // Undo function for snackbar action button var undo = function(event) { // Replace stored image onto canvas - input_context.putImageData(saved_canvas, 0, 0); - // Apply current filter to image - set_filter(); + load_image({ + url: saved_url, + // Apply current filter to image + callback: set_filter + }); }; // Display a snackbar notification given a message string const display_snackbar = function(message) { @@ -53,8 +57,10 @@ const display_snackbar = function(message) { snackbarContainer[0].MaterialSnackbar.showSnackbar(data); } $("dialog#load-image-url .confirm").click(() => { - image_url = $("dialog#load-image-url input")[0].value; - load_image(image_url); + load_image({ + url: $("dialog#load-image-url input")[0].value, + callback: set_filter + }); display_snackbar("Image loaded."); }); @@ -69,9 +75,11 @@ const read_file = function() { reader.onloadend = function() { // Display image upload confirmation snackbar message display_snackbar("Image uploaded: " + file.name); - image_url = reader.result; // Load image to canvas and apply convolutional filter - load_image(image_url, () => set_filter(1)); + load_image({ + url: reader.result, + callback: set_filter + }); } // Check if a file has been uploaded @@ -126,9 +134,14 @@ const set_filter = function(kernel_id) { } // Load an image into memory using a URL and draw it to the canvas -const load_image = function(url, callback) { - // Store canvas data in saved_canvas in case the user undoes the image load operation - saved_canvas = input_context.getImageData(0, 0, canvas_width, canvas_height); +const load_image = function(config) { + // Store image URL in saved_url in case the user undoes the image load operation + saved_url = image_url; + if (config) { + if (config.url) { + image_url = config.url; + } + } // Create a new image object var image = new Image(); // Set onload function for image to execute once the image has loaded @@ -136,12 +149,16 @@ const load_image = function(url, callback) { // Draw image to canvas input_context.drawImage(image, 0, 0, image.width, image.height, 0, 0, canvas_width, canvas_height); // Execute callback function - callback(); + if (config) { + if (config.callback) { + config.callback(); + } + } }; // Set crossOrigin property of image object to "Anonymous" to allow loading images from other domains (when permitted) image.crossOrigin = "Anonymous"; // Set image source to url - image.src = url; + image.src = image_url; } var canvas_data; @@ -230,7 +247,9 @@ const convolute = function(image, kernel) { return processed_data; } -// Select a random image from the list of demo images -image_url = images[Math.floor(Math.random() * images.length)]; // Load random image and apply convolutional filter -load_image(image_url, () => set_filter()); \ No newline at end of file +load_image({ + // Select a random image from the list of demo images + url: random_image = images[Math.floor(Math.random() * images.length)], + callback: set_filter +}); \ No newline at end of file From 9e4743fc2d7b514d42480a14ad5c103e94fd8507 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 17:43:38 -0400 Subject: [PATCH 038/102] Added undo snackbar notification --- src/js/script.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index 60103310..df884fc1 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -44,12 +44,13 @@ var undo = function(event) { // Apply current filter to image callback: set_filter }); + display_snackbar("Action undone.", 2.5); }; // Display a snackbar notification given a message string -const display_snackbar = function(message) { +const display_snackbar = function(message, time) { var data = { "message": message, - "timeout": 5000, + "timeout": (time * 1000), "actionHandler": undo, "actionText": "Undo" }; @@ -61,7 +62,7 @@ $("dialog#load-image-url .confirm").click(() => { url: $("dialog#load-image-url input")[0].value, callback: set_filter }); - display_snackbar("Image loaded."); + display_snackbar("Image loaded.", 5); }); // Adapted from https://stackoverflow.com/a/22369599 From 36a9a350d2ebe9dff96e06952ce6604def1e9b5d Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 19:39:13 -0400 Subject: [PATCH 039/102] Added kernel visualization --- src/index.html | 3 +++ src/js/script.js | 38 ++++++++++++++++++++++++++++++++++++++ src/style.css | 17 +++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/src/index.html b/src/index.html index 139ac0c4..f837182c 100644 --- a/src/index.html +++ b/src/index.html @@ -35,6 +35,9 @@

      +
      +
      + diff --git a/src/js/script.js b/src/js/script.js index df884fc1..b2938034 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -4,6 +4,10 @@ var image_url = ""; // Default filter is 1 (sharpen) var filter = 1; +function map(num, in_min, in_max, out_min, out_max) { + return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} + // Change resolution of images const input_resolution = function(func) { var resolution = $("input#resolution")[0].value; @@ -124,6 +128,40 @@ const set_filter = function(kernel_id) { filter = kernel_id; // If a filter was not provided, use the currently set kernel } + + $("#kernel-vis").empty(); + for (var k = 0; k < kernels[filter].kernel.length; k++) { + var row = $("
      "); + row.addClass("row"); + row.css("width", "100%"); + row.css("height", Math.round((100 / kernels[filter].kernel.length) - 2) + "%"); + for (var l = 0; l < kernels[filter].kernel[k].length; l++) { + var kernel = kernels[filter].kernel; + var weight = kernel[k][l]; + + var block = $(""); + block.css("min-width", Math.round((100 / kernels[filter].kernel[k].length) - 2) + "%"); + block.css("height", "100%"); + + var maxRow = kernel.map(function(row) { + return Math.max.apply(Math, row); + }); + var max = Math.max.apply(null, maxRow); + + var minRow = kernel.map(function(row) { + return Math.min.apply(Math, row); + }); + var min = Math.min.apply(null, maxRow); + + var saturation = map(weight, min, max, 25, 75); + var color = "hsla(100, 100%, " + saturation + "%, 1)"; + block.css("background-color", color); + block.addClass("block mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored"); + row.append(block); + } + $("#kernel-vis").append(row); + } + // Update filter select dropdown button to display name of current filter $("button#select-filter").html(kernels[filter].name + 'arrow_drop_down'); // Get image data from canvas diff --git a/src/style.css b/src/style.css index 8cf78b99..d734eca9 100644 --- a/src/style.css +++ b/src/style.css @@ -9,4 +9,21 @@ dialog { input#load-image-upload { display: none +} + +#kernel-vis { + width: 300px; + height: 300px; +} + +#kernel-vis .row { + margin: 1% 0%; +} + +#kernel-vis * .block { + margin: 0% 1%; +} + +#kernel-vis * { + display: inline-block; } \ No newline at end of file From 27f7db0be4a53f64008a6ad4532df51f91729b0f Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 19:55:21 -0400 Subject: [PATCH 040/102] Fixed filter kernel visualization spacing issues --- src/js/script.js | 2 +- src/style.css | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index b2938034..3e234cfd 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -154,7 +154,7 @@ const set_filter = function(kernel_id) { var min = Math.min.apply(null, maxRow); var saturation = map(weight, min, max, 25, 75); - var color = "hsla(100, 100%, " + saturation + "%, 1)"; + var color = "hsla(200, 100%, " + saturation + "%, 1)"; block.css("background-color", color); block.addClass("block mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored"); row.append(block); diff --git a/src/style.css b/src/style.css index d734eca9..decf3ce0 100644 --- a/src/style.css +++ b/src/style.css @@ -22,8 +22,13 @@ input#load-image-upload { #kernel-vis * .block { margin: 0% 1%; + padding: 0; } #kernel-vis * { display: inline-block; -} \ No newline at end of file +} + +/* #kernel-vis p { + transform: scale(0.5) +} */ \ No newline at end of file From a7ffa4b917a252689b16c0d48054da495028e6f6 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 20:52:17 -0400 Subject: [PATCH 041/102] Added credits for code snippets --- src/js/script.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/js/script.js b/src/js/script.js index 3e234cfd..cdd53dd6 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -4,6 +4,7 @@ var image_url = ""; // Default filter is 1 (sharpen) var filter = 1; +// https://stackoverflow.com/a/23202637 function map(num, in_min, in_max, out_min, out_max) { return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } @@ -143,6 +144,7 @@ const set_filter = function(kernel_id) { block.css("min-width", Math.round((100 / kernels[filter].kernel[k].length) - 2) + "%"); block.css("height", "100%"); + // https://stackoverflow.com/a/39342975 var maxRow = kernel.map(function(row) { return Math.max.apply(Math, row); }); From 6b5f07eeb0b1c74ef732a1661d39259489502f46 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 20:52:26 -0400 Subject: [PATCH 042/102] Fixed layout --- src/index.html | 53 +++++++++++++++++++++++++++----------------------- src/style.css | 33 ++++++++++++++++++++++++------- 2 files changed, 55 insertions(+), 31 deletions(-) diff --git a/src/index.html b/src/index.html index f837182c..60515f1b 100644 --- a/src/index.html +++ b/src/index.html @@ -13,36 +13,41 @@ -

      - Image Convolution Playground -

      -

      - Experiment with complex image processing operations in your browser. -

      +
      +

      + Image Convolution Playground +

      +

      + Experiment with complex image processing operations in your browser. +

      +
      - - - +
      +
      + + + - + -
      - - -
      +
      +
      -
      + +
        +
        +
        + + +
        - -
          -
          diff --git a/src/style.css b/src/style.css index decf3ce0..a68718e1 100644 --- a/src/style.css +++ b/src/style.css @@ -1,6 +1,15 @@ +* { + box-sizing: border-box; +} + +header { + padding: 0% 2%; +} + canvas { - min-width: 25%; - max-width: 49%; + /* min-width: 25%; + max-width: 49%; */ + width: 49%; } dialog { @@ -11,6 +20,20 @@ input#load-image-upload { display: none } +#settings, #canvases { + padding: 2%; + width: 50%; + display: inline-block; +} + +#settings>* { + margin-bottom: 4%; +} + +#canvases { + position: absolute; +} + #kernel-vis { width: 300px; height: 300px; @@ -27,8 +50,4 @@ input#load-image-upload { #kernel-vis * { display: inline-block; -} - -/* #kernel-vis p { - transform: scale(0.5) -} */ \ No newline at end of file +} \ No newline at end of file From 70d2e21bccf1bb4c33271df934129ccbf1c1033e Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 21:23:19 -0400 Subject: [PATCH 043/102] More layout adjustments --- src/index.html | 16 ++++++++++------ src/js/script.js | 1 + src/style.css | 5 +++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 60515f1b..867cf7f4 100644 --- a/src/index.html +++ b/src/index.html @@ -34,13 +34,17 @@

          -
          -
          +
          +
          +
          - -
            +
            + +
              +
              +

              diff --git a/src/js/script.js b/src/js/script.js index cdd53dd6..acda705e 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -163,6 +163,7 @@ const set_filter = function(kernel_id) { } $("#kernel-vis").append(row); } + componentHandler.upgradeDom() // Update filter select dropdown button to display name of current filter $("button#select-filter").html(kernels[filter].name + 'arrow_drop_down'); diff --git a/src/style.css b/src/style.css index a68718e1..a76be112 100644 --- a/src/style.css +++ b/src/style.css @@ -10,6 +10,7 @@ canvas { /* min-width: 25%; max-width: 49%; */ width: 49%; + image-rendering: pixelated; } dialog { @@ -30,6 +31,10 @@ input#load-image-upload { margin-bottom: 4%; } +.inline-block * { + display: inline-block; +} + #canvases { position: absolute; } From d6664ff8449bf2a526dab8803041b827bfc6ccb1 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Thu, 4 Oct 2018 21:31:22 -0400 Subject: [PATCH 044/102] Added resolution indicator --- src/index.html | 3 ++- src/js/script.js | 5 ++++- src/style.css | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 867cf7f4..7870cf2f 100644 --- a/src/index.html +++ b/src/index.html @@ -32,7 +32,8 @@

              Load image from URL - + +

              Resolution

              diff --git a/src/js/script.js b/src/js/script.js index acda705e..cd66f857 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -10,8 +10,10 @@ function map(num, in_min, in_max, out_min, out_max) { } // Change resolution of images -const input_resolution = function(func) { +const set_resolution = function(func) { var resolution = $("input#resolution")[0].value; + $("p#resolution").text("Resolution - " + resolution + " pixels"); + canvas_width = resolution; canvas_height = resolution; input_canvas.width = canvas_width; @@ -289,6 +291,7 @@ const convolute = function(image, kernel) { return processed_data; } +set_resolution(set_filter); // Load random image and apply convolutional filter load_image({ // Select a random image from the list of demo images diff --git a/src/style.css b/src/style.css index a76be112..682a03a9 100644 --- a/src/style.css +++ b/src/style.css @@ -2,6 +2,10 @@ box-sizing: border-box; } +.mdl-slider__container { + margin: 0 !important; +} + header { padding: 0% 2%; } From db176d64ab43a501bbe3a7f73c8d7246562917f5 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 06:38:28 -0400 Subject: [PATCH 045/102] Added filter repeat iterations setting --- src/index.html | 8 ++++++++ src/js/script.js | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 7870cf2f..5e73280b 100644 --- a/src/index.html +++ b/src/index.html @@ -44,6 +44,14 @@

              No filter applied arrow_drop_down
                + +
                + +
                + + + Input is not a number! +

                diff --git a/src/js/script.js b/src/js/script.js index cd66f857..0dee62e5 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -3,6 +3,7 @@ var image_url = ""; // Current filter kernel to apply to image // Default filter is 1 (sharpen) var filter = 1; +var iterations = 1; // https://stackoverflow.com/a/23202637 function map(num, in_min, in_max, out_min, out_max) { @@ -132,6 +133,17 @@ const set_filter = function(kernel_id) { // If a filter was not provided, use the currently set kernel } + var iterations_field = $("input#repeat-filter")[0]; + if (iterations_field.value == undefined || iterations_field.value == "") { + iterations = 1; + } else if (parseInt(iterations_field.value) < 1 || parseInt(iterations_field.value) > 100) { + iterations_field.value = 1; + console.log(true) + iterations = parseInt(iterations_field.value); + } else { + iterations = parseInt(iterations_field.value); + } + $("#kernel-vis").empty(); for (var k = 0; k < kernels[filter].kernel.length; k++) { var row = $("
                "); @@ -172,7 +184,10 @@ const set_filter = function(kernel_id) { // Get image data from canvas var canvas_data = input_context.getImageData(0, 0, canvas_width, canvas_height); // Run convolution operation on image data from canvas with given kernel - var processed_data = convolute(canvas_data, kernels[filter]); + var processed_data = canvas_data; + for (var o = 0; o < iterations; o++) { + processed_data = convolute(processed_data, kernels[filter]); + } // Draw processed image data to canvas output_context.putImageData(processed_data, 0, 0); } From 8fcdd0237e7ea226576d40e2ab21f86b26fdd231 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 17:35:14 -0400 Subject: [PATCH 046/102] Added automatic update toggle and apply filter button #15 --- src/index.html | 15 +++++++++++++++ src/js/script.js | 25 +++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 5e73280b..28f28267 100644 --- a/src/index.html +++ b/src/index.html @@ -45,6 +45,13 @@

                  +
                  +
                  + + +
                  @@ -52,6 +59,14 @@

                  Input is not a number!

                  + + +
                  + Update convolutional filter whenever a setting is changed. +

                  diff --git a/src/js/script.js b/src/js/script.js index 0dee62e5..cc4071f5 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -4,12 +4,20 @@ var image_url = ""; // Default filter is 1 (sharpen) var filter = 1; var iterations = 1; +var automatic_update = true; // https://stackoverflow.com/a/23202637 function map(num, in_min, in_max, out_min, out_max) { return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } +const update_settings = function() { + automatic_update = $("input#automatic-update")[0].checked; + if (automatic_update) { + set_filter(); + } +} + // Change resolution of images const set_resolution = function(func) { var resolution = $("input#resolution")[0].value; @@ -138,7 +146,6 @@ const set_filter = function(kernel_id) { iterations = 1; } else if (parseInt(iterations_field.value) < 1 || parseInt(iterations_field.value) > 100) { iterations_field.value = 1; - console.log(true) iterations = parseInt(iterations_field.value); } else { iterations = parseInt(iterations_field.value); @@ -177,10 +184,24 @@ const set_filter = function(kernel_id) { } $("#kernel-vis").append(row); } - componentHandler.upgradeDom() // Update filter select dropdown button to display name of current filter $("button#select-filter").html(kernels[filter].name + 'arrow_drop_down'); + + var button_text = "Apply " + kernels[filter].name; + if (iterations > 1) { + button_text += " " + iterations + " times"; + } + $("button#apply-filter").text(button_text); + + componentHandler.upgradeDom(); + + if (automatic_update) { + apply_filter(); + } +} + +const apply_filter = function() { // Get image data from canvas var canvas_data = input_context.getImageData(0, 0, canvas_width, canvas_height); // Run convolution operation on image data from canvas with given kernel From 5c61eaebdf5e5f04d10984e75781100151e5b7be Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 20:30:55 -0400 Subject: [PATCH 047/102] More layout tweaks --- src/index.html | 8 ++++---- src/js/script.js | 5 +++++ src/style.css | 7 +++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 28f28267..565e472c 100644 --- a/src/index.html +++ b/src/index.html @@ -35,12 +35,12 @@

                  Resolution

                  -
                  +
                  -
                  -
                    @@ -48,7 +48,7 @@



                    - diff --git a/src/js/script.js b/src/js/script.js index cc4071f5..693a6216 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -333,4 +333,9 @@ load_image({ // Select a random image from the list of demo images url: random_image = images[Math.floor(Math.random() * images.length)], callback: set_filter +}); + +var cw = $('#kernel-vis').width(); +$('#kernel-vis').css({ + 'height': cw + 'px' }); \ No newline at end of file diff --git a/src/style.css b/src/style.css index 682a03a9..26e3545e 100644 --- a/src/style.css +++ b/src/style.css @@ -10,6 +10,10 @@ header { padding: 0% 2%; } +.full-width { + width: 100%; +} + canvas { /* min-width: 25%; max-width: 49%; */ @@ -44,8 +48,7 @@ input#load-image-upload { } #kernel-vis { - width: 300px; - height: 300px; + width: 50%; } #kernel-vis .row { From a660a1ed940695f590c45e082a9da63d7f94ee4e Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 20:45:19 -0400 Subject: [PATCH 048/102] Added some comments to HTML #9 --- src/index.html | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 565e472c..ab904e43 100644 --- a/src/index.html +++ b/src/index.html @@ -13,6 +13,7 @@ +

                    Image Convolution Playground @@ -24,10 +25,13 @@

                    + + + @@ -35,10 +39,13 @@

                    Resolution

                    +
                    +
                    +

                    +
                    - Input is not a number! + Input is not a number
                    @@ -70,8 +80,11 @@

                    +
                    + +

                    @@ -104,6 +117,7 @@

                    Load Image From URL

                    + From d7077e5ebf8b491f1d8745f41c4e6453a555aaf3 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 20:45:41 -0400 Subject: [PATCH 049/102] Fixed automatic update toggle tooltip --- src/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.html b/src/index.html index ab904e43..d4d60812 100644 --- a/src/index.html +++ b/src/index.html @@ -69,12 +69,12 @@

                    Input is not a number

                    -
                    +
                    + Repeat convolutional filter on image a specified number of times. +

                    -
                    $("#kernel-vis").empty(); for (var k = 0; k < kernels[filter].kernel.length; k++) { + // Create row div element var row = $("
                    "); + // Add row css class to row element row.addClass("row"); - row.css("width", "100%"); row.css("height", Math.round((100 / kernels[filter].kernel.length) - 2) + "%"); for (var l = 0; l < kernels[filter].kernel[k].length; l++) { + // Abbreviations var kernel = kernels[filter].kernel; var weight = kernel[k][l]; var block = $(""); block.css("min-width", Math.round((100 / kernels[filter].kernel[k].length) - 2) + "%"); - block.css("height", "100%"); + // Get maximum weight value of filter kernel // https://stackoverflow.com/a/39342975 var maxRow = kernel.map(function(row) { return Math.max.apply(Math, row); }); var max = Math.max.apply(null, maxRow); + // Get minimum weight value var minRow = kernel.map(function(row) { return Math.min.apply(Math, row); }); var min = Math.min.apply(null, maxRow); + // Map filter kernel weight range to color saturation range var saturation = map(weight, min, max, 25, 75); + // Create color string in hsla format var color = "hsla(200, 100%, " + saturation + "%, 1)"; + // Set background color of block block.css("background-color", color); + // Add relevant css classes to block block.addClass("block mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored"); + // Add block to row row.append(block); } + // Add row element to visualization div element $("#kernel-vis").append(row); } // Update filter select dropdown button to display name of current filter $("button#select-filter").html(kernels[filter].name + 'arrow_drop_down'); + // Update "apply filter" button to reflect currently selected filter kernel and filter repetitions var button_text = "Apply " + kernels[filter].name; if (iterations > 1) { button_text += " " + iterations + " times"; } $("button#apply-filter").text(button_text); + // Update all MDL components in DOM componentHandler.upgradeDom(); if (automatic_update) { @@ -201,6 +214,7 @@ const set_filter = function(kernel_id) { } } +// Apply convolutional filter to image and display image on output canvas const apply_filter = function() { // Get image data from canvas var canvas_data = input_context.getImageData(0, 0, canvas_width, canvas_height); @@ -335,6 +349,7 @@ load_image({ callback: set_filter }); +// https://stackoverflow.com/a/5445536 var cw = $('#kernel-vis').width(); $('#kernel-vis').css({ 'height': cw + 'px' diff --git a/src/style.css b/src/style.css index 26e3545e..7e705f12 100644 --- a/src/style.css +++ b/src/style.css @@ -52,10 +52,12 @@ input#load-image-upload { } #kernel-vis .row { + width: 100%; margin: 1% 0%; } #kernel-vis * .block { + height: 100%; margin: 0% 1%; padding: 0; } From 51f8dc25cc8361724472ad96225055010579ae72 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 21:55:27 -0400 Subject: [PATCH 053/102] CSS adjustments --- src/index.html | 6 +++--- src/js/script.js | 1 + src/style.css | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 28aba97e..68ea77cf 100644 --- a/src/index.html +++ b/src/index.html @@ -14,11 +14,11 @@ -
                    -

                    +
                    +

                    Image Convolution Playground

                    -

                    +

                    Experiment with complex image processing operations in your browser.

                    diff --git a/src/js/script.js b/src/js/script.js index 1478e9fc..e8b9c0d4 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -145,6 +145,7 @@ const set_filter = function(kernel_id) { if (iterations_field.value == undefined || iterations_field.value == "") { iterations = 1; } else if (parseInt(iterations_field.value) < 1 || parseInt(iterations_field.value) > 100) { + // || /-?[0-9]*(\.[0-9]+)?/.test(iterations_field.value) == false iterations_field.value = 1; iterations = parseInt(iterations_field.value); } else { diff --git a/src/style.css b/src/style.css index 7e705f12..325060c3 100644 --- a/src/style.css +++ b/src/style.css @@ -2,12 +2,36 @@ box-sizing: border-box; } +#load-image-upload-button, #load-image-url { + width: 49%; +} + +button { + user-select: none; +} + .mdl-slider__container { margin: 0 !important; } header { - padding: 0% 2%; + height: 10%; + padding: 1% 2%; + background-color: #EEE; + box-shadow: 2px 2px 1px #AAA; + transition: all 1s ease; +} + +header:hover { + padding: 1% 4%; + background-color: #FFF; + box-shadow: 2px 2px 2px #CCC; + transition: all 1s ease; +} + +header h1 { + margin-top: 0; + text-shadow: 2px 2px 1px #AAA; } .full-width { @@ -15,10 +39,15 @@ header { } canvas { - /* min-width: 25%; - max-width: 49%; */ width: 49%; image-rendering: pixelated; + box-shadow: 4px 4px 4px #AAA; + transition: 1s all ease; +} + +canvas:hover { + box-shadow: 8px 8px 12px #CCC; + transition: 1s all ease; } dialog { From 8773f994efda800faf0017496881855d9cdb930b Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Fri, 5 Oct 2018 22:20:31 -0400 Subject: [PATCH 054/102] Added filter kernel randomize button #17 Also added clone() and find_kernel() functions. --- src/index.html | 12 +++++++++++- src/js/script.js | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 68ea77cf..7dff8f45 100644 --- a/src/index.html +++ b/src/index.html @@ -56,7 +56,7 @@

                    -
                    @@ -75,6 +75,16 @@

                    Apply filter to image.

                    +
                    +
                    + + +
                    + Randomize weights of filter kernel. +
                    +
                    diff --git a/src/js/script.js b/src/js/script.js index e8b9c0d4..2be336fc 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -18,6 +18,24 @@ const update_settings = function() { } } +const clone = function(object) { + return JSON.parse(JSON.stringify(object)); +} + +const find_kernel = function(kernel_name) { + return kernels.find(x => x.name == kernel_name); +} + +const randomize = function() { + filter = kernels.findIndex(x => x.name == "Custom"); + for (var p = 0; p < kernels[filter].kernel.length; p++) { + for (var q = 0; q < kernels[filter].kernel[p].length; q++) { + kernels[filter].kernel[p][q] = Math.round(Math.random() * 4 - 2); + } + } + set_filter(); +} + // Change resolution of images const set_resolution = function(func) { var resolution = $("input#resolution")[0].value; From 10df239c0afcc79e537e557d0962218497255c8f Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sat, 6 Oct 2018 07:25:59 -0400 Subject: [PATCH 055/102] Improvements to kernel randomization --- src/js/script.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/js/script.js b/src/js/script.js index 2be336fc..c9c86dc4 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -18,6 +18,10 @@ const update_settings = function() { } } +const round = function(number, precision) { + return Math.round(number * (10 ** precision)) / (10 ** precision) +} + const clone = function(object) { return JSON.parse(JSON.stringify(object)); } @@ -30,7 +34,7 @@ const randomize = function() { filter = kernels.findIndex(x => x.name == "Custom"); for (var p = 0; p < kernels[filter].kernel.length; p++) { for (var q = 0; q < kernels[filter].kernel[p].length; q++) { - kernels[filter].kernel[p][q] = Math.round(Math.random() * 4 - 2); + kernels[filter].kernel[p][q] = round(Math.random() * 6 - 3, 1); } } set_filter(); From 6aa78862d6bb379e72e7699907418e7a20a65308 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 07:57:06 -0400 Subject: [PATCH 056/102] Added filter kernel weight selection and editing #18 --- src/index.html | 111 ++++++++++++++++++++++++++------------------ src/js/script.js | 118 ++++++++++++++++++++++++++++++++++++++--------- src/style.css | 1 + 3 files changed, 164 insertions(+), 66 deletions(-) diff --git a/src/index.html b/src/index.html index 7dff8f45..dd543be7 100644 --- a/src/index.html +++ b/src/index.html @@ -46,65 +46,86 @@

                    Set resolution of input image.
                    -

                    Resolution

                    +

                    Resolution

                    +
                    - -
                    -
                    - - -
                    - -
                    - Select a filter kernel to apply to image. +
                    + +
                    -
                      -
                      -
                      - - - -
                      - Apply filter to image. + +
                      + +
                      + Select a filter kernel to apply to image. +
                      +
                        + +
                        +
                        + + + +
                        + Apply filter to image. +
                        + +
                        +
                        + + +
                        + Randomize weights of filter kernel. +
                        + +
                        + + +
                        + + + Input is not a number +
                        +
                        + Repeat convolutional filter on image a specified number of times. +
                        + + + +
                        + Update convolutional filter whenever a setting is changed. +
                        - +
                        +
                        +

                        Edit Kernel


                        +

                        - - -
                        - Randomize weights of filter kernel. -
                        - +

                        - - -
                        - - +
                        + + Input is not a number
                        Repeat convolutional filter on image a specified number of times.
                        - - - -
                        - Update convolutional filter whenever a setting is changed. -
                        diff --git a/src/js/script.js b/src/js/script.js index c9c86dc4..3719a44d 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -2,9 +2,13 @@ var image_url = ""; // Current filter kernel to apply to image // Default filter is 1 (sharpen) -var filter = 1; +var filter; var iterations = 1; var automatic_update = true; +var selected_weight = { + x: undefined, + y: undefined +} // https://stackoverflow.com/a/23202637 function map(num, in_min, in_max, out_min, out_max) { @@ -18,8 +22,68 @@ const update_settings = function() { } } +const set_weight = function() { + var custom = kernels.findIndex(x => x.name == "Custom"); + kernels[custom] = clone(kernels[filter]); + kernels[custom].name = "Custom"; + + var weight = round(parseFloat($("#kernel-weight").val()), 1); + if (!isNaN(weight) && weight != undefined) { + kernels[custom].kernel[selected_weight.x][selected_weight.y] = weight; + } + set_filter(custom); +} + +const select_weight = function(x, y, deselect) { + var id = selected_weight.x + "-" + selected_weight.y; + $("#" + id).css("border-radius", ""); + $("#kernel-name").text(kernels[filter].name); + + // This seems to be the most efficient way to organize the logic. I spent an hour and a half on a Saturday night playing around with it, and it works, so don't mess it up. + + // Deselect weight + if ( + // Filter kernel weight is reselected; deselect weight + (x == selected_weight.x && y == selected_weight.y && deselect != false) || + // No kernel weight has been selected + (x == undefined || y == undefined) + ) { + // Set kernel weight coordinates to undefined + selected_weight.x = undefined; + selected_weight.y = undefined; + } else if (kernels[filter].kernel[x] != undefined) { + if (kernels[filter].kernel[x][y] != undefined) { + selected_weight.x = x; + selected_weight.y = y; + } + } else { + selected_weight.x = kernels[filter].anchor.x; + selected_weight.y = kernels[filter].anchor.y; + } + + // No weight is selected + if (selected_weight.x == undefined || selected_weight.y == undefined) { + $("#kernel-weight-position").hide(); + $("#kernel-weight-container").hide(); + $("#kernel-weight-label").text("Edit Kernel"); + } else { + id = selected_weight.x + "-" + selected_weight.y; + $("#" + id).css("border-radius", "25%"); + + $("#kernel-weight").val(kernels[filter].kernel[selected_weight.x][selected_weight.y]); + $("#kernel-weight-container").addClass("is-dirty"); + + $("#kernel-weight-position").show(); + $("#kernel-weight-container").show(); + $("#kernel-weight-label").text("Edit Kernel Weights"); + + $("#kernel-weight-container.mdl-textfield__label").text("Kernel weight at " + selected_weight.x + ", " + selected_weight.y); + $("#kernel-weight-position").text("(" + selected_weight.x + ", " + selected_weight.y + ")"); + } +} + const round = function(number, precision) { - return Math.round(number * (10 ** precision)) / (10 ** precision) + return Math.round(number * (10 ** precision)) / (10 ** precision); } const clone = function(object) { @@ -31,19 +95,20 @@ const find_kernel = function(kernel_name) { } const randomize = function() { - filter = kernels.findIndex(x => x.name == "Custom"); - for (var p = 0; p < kernels[filter].kernel.length; p++) { - for (var q = 0; q < kernels[filter].kernel[p].length; q++) { - kernels[filter].kernel[p][q] = round(Math.random() * 6 - 3, 1); + custom = kernels.findIndex(x => x.name == "Custom"); + for (var p = 0; p < kernels[custom].kernel.length; p++) { + for (var q = 0; q < kernels[custom].kernel[p].length; q++) { + kernels[custom].kernel[p][q] = round(Math.random() * 6 - 3, 1); } } - set_filter(); + kernels[custom].factor = 1; + set_filter(custom); } // Change resolution of images const set_resolution = function(func) { var resolution = $("input#resolution")[0].value; - $("p#resolution").text("Resolution - " + resolution + " pixels"); + $("p#resolution-display").text("Resolution - " + resolution + " pixels"); canvas_width = resolution; canvas_height = resolution; @@ -156,13 +221,6 @@ for (var j = 0; j < kernels.length; j++) { } // Apply a filter kernel to the currently loadked image and display the result on the canvas const set_filter = function(kernel_id) { - // Check to see if a filter kernel ID has been provided - if (kernel_id != undefined) { - // Set the filter to the provided filter kernel ID - filter = kernel_id; - // If a filter was not provided, use the currently set kernel - } - var iterations_field = $("input#repeat-filter")[0]; if (iterations_field.value == undefined || iterations_field.value == "") { iterations = 1; @@ -174,6 +232,13 @@ const set_filter = function(kernel_id) { iterations = parseInt(iterations_field.value); } + // Check to see if a filter kernel ID has been provided + if (kernel_id != undefined) { + // Set the filter to the provided filter kernel ID + filter = kernel_id; + // If a filter was not provided, use the currently set kernel + } + // Display filter kernel visualization // Clear HTML of visualization
                        $("#kernel-vis").empty(); @@ -190,6 +255,7 @@ const set_filter = function(kernel_id) { var block = $(""); block.css("min-width", Math.round((100 / kernels[filter].kernel[k].length) - 2) + "%"); + block.attr("id", k + "-" + l); // Get maximum weight value of filter kernel // https://stackoverflow.com/a/39342975 @@ -212,6 +278,7 @@ const set_filter = function(kernel_id) { block.css("background-color", color); // Add relevant css classes to block block.addClass("block mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored"); + block.attr("onclick", "select_weight(" + k + "," + l + ");"); // Add block to row row.append(block); } @@ -219,6 +286,10 @@ const set_filter = function(kernel_id) { $("#kernel-vis").append(row); } + // if (selected_weight.x != undefined && selected_weight.y != undefined) { + select_weight(selected_weight.x, selected_weight.y, false); + // } + // Update filter select dropdown button to display name of current filter $("button#select-filter").html(kernels[filter].name + 'arrow_drop_down'); @@ -369,11 +440,16 @@ set_resolution(set_filter); load_image({ // Select a random image from the list of demo images url: random_image = images[Math.floor(Math.random() * images.length)], - callback: set_filter + callback: () => set_filter(1) }); -// https://stackoverflow.com/a/5445536 -var cw = $('#kernel-vis').width(); -$('#kernel-vis').css({ - 'height': cw + 'px' -}); \ No newline at end of file +const resize = function() { + // https://stackoverflow.com/a/5445536 + var cw = $('#kernel-vis').width(); + $('#kernel-vis').css({ + 'height': cw + 'px' + }); +} + +$(window).resize(resize); +$(window).ready(resize); \ No newline at end of file diff --git a/src/style.css b/src/style.css index 325060c3..36b77aa0 100644 --- a/src/style.css +++ b/src/style.css @@ -89,6 +89,7 @@ input#load-image-upload { height: 100%; margin: 0% 1%; padding: 0; + transition: all 0.5s ease; } #kernel-vis * { From e64206e793f3907901864a9d34ce95d687dd6862 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 08:06:03 -0400 Subject: [PATCH 057/102] Layout reorganization --- src/index.html | 107 ++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 55 deletions(-) diff --git a/src/index.html b/src/index.html index dd543be7..ac63bf5d 100644 --- a/src/index.html +++ b/src/index.html @@ -53,79 +53,76 @@

                        -
                        - -
                        -
                        + +
                        - -
                        - -
                        - Select a filter kernel to apply to image. -
                        -
                          +
                          + Select a filter kernel to apply to image. +
                          +
                            -
                            -
                            +
                            +
                            - - -
                            - Apply filter to image. -
                            +
                            + Apply filter to image. +
                            -
                            -
                            +
                            +
                            - -
                            - Randomize weights of filter kernel. -
                            - -
                            - - -
                            - - - Input is not a number -
                            -
                            - Repeat convolutional filter on image a specified number of times. -
                            - - - -
                            - Update convolutional filter whenever a setting is changed. -
                            +
                            + Randomize weights of filter kernel.
                            -
                            -
                            -

                            Edit Kernel

                            -
                            -
                            -
                            -
                            +
                            -
                            - - + + +
                            + + Input is not a number
                            Repeat convolutional filter on image a specified number of times.
                            + + + +
                            + Update convolutional filter whenever a setting is changed. +
                            +
                            +
                            +
                            +

                            Edit Kernel

                            +
                            +
                            +
                            +
                            +
                            +
                            + + + Input is not a number +
                            +
                            + Repeat convolutional filter on image a specified number of times.
                            From 6dd4b238dcb2203f4bc4794fd7b28c534a241e32 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 08:30:26 -0400 Subject: [PATCH 058/102] Fixed layout issues --- src/index.html | 7 ++----- src/style.css | 7 ++++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index ac63bf5d..457c1d9b 100644 --- a/src/index.html +++ b/src/index.html @@ -52,12 +52,12 @@

                            --> -
                            +
                            -
                            +
                            @@ -111,11 +111,8 @@

                            Edit Kernel

                            -
                            -
                            -
                            diff --git a/src/style.css b/src/style.css index 36b77aa0..3fcc4409 100644 --- a/src/style.css +++ b/src/style.css @@ -14,6 +14,10 @@ button { margin: 0 !important; } +#kernel-weight-label { + margin-top: 0; +} + header { height: 10%; padding: 1% 2%; @@ -68,7 +72,7 @@ input#load-image-upload { margin-bottom: 4%; } -.inline-block * { +.inline-block { display: inline-block; } @@ -78,6 +82,7 @@ input#load-image-upload { #kernel-vis { width: 50%; + float: left; } #kernel-vis .row { From 6041bc72001387cd1fe86b37287c9d4de76ab6ca Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 08:37:12 -0400 Subject: [PATCH 059/102] Added image resolution tooltip --- src/index.html | 6 +++--- src/js/script.js | 2 ++ src/style.css | 5 +++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/index.html b/src/index.html index 457c1d9b..9b530be3 100644 --- a/src/index.html +++ b/src/index.html @@ -46,10 +46,10 @@

                            Set resolution of input image.
                            -

                            Resolution

                            - +

                            diff --git a/src/js/script.js b/src/js/script.js index 3719a44d..513adb84 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -110,6 +110,8 @@ const set_resolution = function(func) { var resolution = $("input#resolution")[0].value; $("p#resolution-display").text("Resolution - " + resolution + " pixels"); + $("#resolution-tooltip").text("Resolution set to " + resolution + " pixels by " + resolution + " pixels, for a total image area of " + (resolution ** 2) + " square pixels."); + canvas_width = resolution; canvas_height = resolution; input_canvas.width = canvas_width; diff --git a/src/style.css b/src/style.css index 3fcc4409..03fc98cd 100644 --- a/src/style.css +++ b/src/style.css @@ -99,4 +99,9 @@ input#load-image-upload { #kernel-vis * { display: inline-block; +} + +#resolution-display { + margin-left: 25px; + display: inline-block; } \ No newline at end of file From e14d288b958095f46f35e997b3f7a225cd3a8253 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 08:42:16 -0400 Subject: [PATCH 060/102] Added tooltips to canvases --- src/index.html | 6 ++++++ src/style.css | 1 + 2 files changed, 7 insertions(+) diff --git a/src/index.html b/src/index.html index 9b530be3..b3831066 100644 --- a/src/index.html +++ b/src/index.html @@ -127,8 +127,14 @@
                            +
                            + Input image +
                            +
                            + Output image +
                            diff --git a/src/style.css b/src/style.css index 03fc98cd..68caf926 100644 --- a/src/style.css +++ b/src/style.css @@ -1,5 +1,6 @@ * { box-sizing: border-box; + outline: none; } #load-image-upload-button, #load-image-url { From 7a00b409a63251a0a8ff658b4fd5fa05f1e93e86 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 09:06:12 -0400 Subject: [PATCH 061/102] Update README.md --- README.md | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 39d11448..148f569b 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,49 @@ Convolutional filtering is the process of multiplying an n-dimensional matrix (k ## Image Convolutions -This interactive demo allows you to see how different convolution operations applied to images can be used to create effects such as blurring, sharpening, and edge detection. +This interactive demo allows you to see how different convolution operations applied to images can be used to create effects such as blurring, sharpening, and edge detection. If you've used these filters in image editing programs like Photoshop, you've probably used convolutions. Check out [this awesome demo](http://setosa.io/ev/image-kernels/) by [Victor Powell](https://twitter.com/vicapow) to learn more about applying convolutions to images. +## Image Convolution Playground + +This is an interactive demo that demonstrates how filter kernels can be used to apply various effects to images. The demo has a number of different settings that can be adjusted to produce different effects + +### Settings + +#### Resolution + +The slider near the top of the settings area can be used to change the resolution of the input and output images displayed on the right of the screen. A lower resolution will look more pixelated, but can process faster. A higher resolution will produce a more crisp image, but may slow down the program. The "Automatically update" setting can be disabled to reduce slowdown. + +Any image resolution from 8 pixels to 200 pixels can be set. This is both the width and the height of the input and output images. New images that are loaded into the program will be resized to fit this resolution. + +The indicator beneath the resolution slider displays the current image resolution. Hovering over the text will display a tooltip with the total area of the image in pixels. + +By default, the image will be re-filtered whenever the resolution is changed. To disable this, turn off "Automatically update." + +### To-do + +Many features are still planned to make this project even better. + + - [Image download option](https://github.com/generic-github-user/Image-Convolution-Playground/issues/13) + - [Saving settings, images, and custom filter kernels in the browser](https://github.com/generic-github-user/Image-Convolution-Playground/issues/3) + +See the [issues page](https://github.com/generic-github-user/Image-Convolution-Playground/issues) for more information. + +### Resources + +#### Filters + +Sources of convolutional filter kernels used in this demo. + +- https://en.wikipedia.org/wiki/Kernel_(image_processing) + - Sharpen + - Box blur + - Gaussian blur + - 3 by 3 + - 5 by 5 + - Unsharp masking + ## Other Notes Image used for early testing of program: From 1e98287d703b582791b9bb34525be65df35cf9ec Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 09:12:10 -0400 Subject: [PATCH 062/102] Added images to resolution setting information in README --- README.md | 6 ++++++ docs/settings/resolution/1.PNG | Bin 0 -> 20714 bytes docs/settings/resolution/2.PNG | Bin 0 -> 103433 bytes docs/settings/resolution/3.PNG | Bin 0 -> 271825 bytes 4 files changed, 6 insertions(+) create mode 100644 docs/settings/resolution/1.PNG create mode 100644 docs/settings/resolution/2.PNG create mode 100644 docs/settings/resolution/3.PNG diff --git a/README.md b/README.md index 148f569b..928fee02 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,12 @@ The slider near the top of the settings area can be used to change the resolutio Any image resolution from 8 pixels to 200 pixels can be set. This is both the width and the height of the input and output images. New images that are loaded into the program will be resized to fit this resolution. +![8 by 8](docs/settings/resolution/1.png) + +![50 by 50](docs/settings/resolution/2.png) + +![200 by 200](docs/settings/resolution/3.png) + The indicator beneath the resolution slider displays the current image resolution. Hovering over the text will display a tooltip with the total area of the image in pixels. By default, the image will be re-filtered whenever the resolution is changed. To disable this, turn off "Automatically update." diff --git a/docs/settings/resolution/1.PNG b/docs/settings/resolution/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..3f165c5a002b376edef10387cd61b9bbb3bf673d GIT binary patch literal 20714 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

                            iibq|O_?s5jwL3g!)=ICE)QO)`? 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�GtJvxjN*pB7#Dk)Bh%+xy(qB|#>!l93Q|%gI&2dC- zlO@zJV0%;C8oC?R=nPm6(qi$>Bw-Z$WhkT}bLa;WQ}5gz-gCLKrze5v z<0@pvJ~PUdoCENbO1bVc(4f{ON#AkgcVswiRf}^ zKehZ(U#Wp7I-Xa9x_O02_>ER*R^kbA-R>+de|m@u#=e9{U_(?s_1$jKM7g&F zjJ5Gv5yh286`uCo3o$GoZ8opX>fw{`cDUEtb=?{jN`ZRy#g@(9YKJ4!;~$;2OW8~E z?v+f8-0M3zMhv+KjCJRPaUrYP7{N5!X52?6ykWxPhfYQ9w|2gb<2qC$;f?jKy6p_IBM0-OgX8!{Ce( z{WLZ9NYW~=sEt_>W<8$L3~gDrB}fZiV^x3=4x7-iOI?~l{z$?!g+ z3zFfS{3QfM^8YI#{o4{5f!;Nk4$@ZAMigA4Y?EW>f8Uf?9NrZX3?{pmXTW=uuSrIE za?ZwD*+!{MZlp|53MYwnp!)1=LEDl1v-Mb<(mS`y(-kjHpU6m0m4N{=ef(Yopk$u^ zIF4#bp^5Uj(Z^4v^+Gk`ly!A3b=Bzbv06ps>(9C$b)`&PwXrB8m|l$)vof1EJ&dZ2 zxC3x*L41j4gS&G%tSttN%V`YxgS|V;N~>;#C0k{^y1yeN7S7xm7GxSa`FlM5)lw3` z!ASCBPg6W7GNKef6z{%Z%0=fH-I>gj%qa=`Ohir`@jaC$51%BS&&NdmXoV+c`X%Ao zU@#E5h$6~ccFMt)zdXKi`N-V6BtCIr|BVGGSM{`RHv^3?NxO^+;}B`kjfM&7aWFHb zT)|duQZ(VC1ndr!zC-*ywxOoBCobHpeiO`?PP%9ucpB&+X&2j{(yXb1-lp7Dk{obz zM$#N5{)=Iws2mhgLK|!ciH(a^%*2k5OFFKatKm*so;-^Z(>e)i zN_9xE@3DXPS$Dv;Bxz7~Qf;{k7@I|-Db2t@Y;96UwBtxGRe!DxL>I!jYQc#J4%R@; z2%UE=to<_>?SBKX02AZ)49a+YXnHyp3#%>SEw2iaYw$RHthnX`;0Jc~J2V+}@+;4~ zgWlaJ0lQUHd&do^MgywDPum&xm{G07nNx8L?Oe=WQP=Q^rskY5(>xXRVVPF5K+>6E z*q6?zOmaLKOzg6~fjB7-_m={boJFBBjlF!%Zh&3fJe}Vk!x?FD!2R^=JDXJ!Md z4bV)fgv)exT+NjrE-}>|n|F_acdOiRY)=6>wVTl=gib(h7&RdIZFncM?e;CX?r(35 z?A{eTjYCiLsvo~0)5Ub0YX`Q{#Z!op+&*}xR`~k(pCXW*mXm!5Cl}pHe*lXB)9J2p zd`x?L^uTjzWmO1{&{F|w;K%2(PDpH24yqh+)6cc}eo{`%$7^HnLu82@v`xE2KA!m7 z+4ye?(FUUX^+{YcNsm*sv(mO_PUl2O&0HwMzJMZH0fKtR?!2apLQJ#~xg!@`RtkzI zh@ah#=ny9;7t|E0_KCrVgw<9U$b+pbiMq2`iJPPz@xZ_N7)vpDIx{w7t3;mWf}78PwEWo zF7fODSA0(EJ$xEM&lpYIqbNaC9B${wck9Q}mdM-HckAx=Ho(?MG{EwAn$JD}Y_rRO z;e$lzs~bzGxAmhDe(k722+A{6h8i=c&&IAyg+N&wSy642v8yFIk9bn_70yZ9&n5lH zXXP_bsjQbtzv0Uz)Y0MVnU}>jM*Dr_*E3@0OImQvBs1eDSYiFjFTG90Ab6|)sh4=G z(ap(ym#AXz6RctTi_OvJi?+v_iux8Kn(oBcwbDw+57baMb$%dJBf7Q1Aw2a`W;El@JFcHnv#4y} za%6uBBmT3WYe^g|6X}(^ro!BH{N6Zh95sONUqTM&uQ$Xcou^NC?lD#&eQ19GpJli5 z1u-3NHz|)@`dAf6wCAN$?aWUO_4&Vu)ZOUWI87fld(@U z`R2p|wyw7sm(AuRBNnSj)T8un-)9}jFP|Dj$b+hPu<^tER;}@SGcIchr!H!yDSC;2 zl_wMCYBn?e#tp8+m~{mklnt`z{U{5nV+uqbJT=Yg40lAbf|TYAg!`eY+@8$JTi=d_ zfKQgIgQPioCxUqcQ&B7N*bO>0`-J|_=89>B=yD|iS%_G0#(A1QUhBx~U!=GsRUF#w zdKd5P_zh&zfkQW!i?YbBLglElRW?L&07~({D5iZ9Ss+H=%l`{KFKG#Oi2{5purQ>h z)M0ji!AYmPJi6Y%KR#Ft^@zlO5#ML^T7ir9DstgQ=JtL|=<4EyH7Wvlpl`d+m|;zg z%W!lQ{YvyeFr(L>Y@a_XTp+C|%iinykXe4yAun|1CrRN$$D$_|KF7F)aNr z0_}nG!Edzhm$f@1am+XH&wPD=kuF|$G|9E0aYu57jY&~84+R-NdCs;Z4Dr_wU|eKi zVU!S>zLolcD+>)~1#TJzU9ha!Zr_C~MZAD6uJ0E{rAy#UmF2;3> z`YTAexIYAV+#VLmY!$RbQDEn=zg9$7p(H0tNJ_xRe)>v>7dY7fp0w6 zmLdznO89#A&*9CIzmWu6`cBY9*W69Rk#)~p`m81D=evQ?WpBP^S455tS6eDS&T?dC z6jy*&^*T`e!Ah-Yjy^41ARV4qQ_q4#41=z|hh#LDWU{$>~p9IB;=7|?>VymE6%Sk))EugReP z@DiXjrs4d^*0KCB<8IS2$n2fv7(osJu9s~(D^fQ&>3WNo8jmOe29JixWBqZPF3H+d zD+lNdU10m$I(-C8!s8`<+{wGBX>WGsV`M3=oR4JiGwr6!HK5^@Gr~=d`5v#-7bNPR z)X|zPke?N~H`?7hspiItJDTyXABVU0&lCT)+#9$+uxO-7?#_IMu=s~^kC^)70+!9l zMe0HsJD(q6dTz>S?-S!e-qH0Sm&T2coko*LYIX6;)I7>maDQ5SpqzQVU5(z%%=KUn z-<0Z7JjLZ@>bkPGTFtLC)iG@`-Jwmn!ran1wWRG0?jU;bKSAtB_C?BWiuMXB^I2zI zwzk)XlP)JMAGTh53N8-+$uzFJVih6+3eo0`!W3_Dwd{q~)1AAvLUjShDXAbiWhNF$lHy<*eW?f1~G(uuH z3<(6-jxOs1#zJ}K`uR_bT#H{A5FOP8x|ea?<9+T&ppE2HJ)*=KV_)ETfQ~%G+PwQr z{~#r_@A2BEF?Vz=bHU24{rG#)KnC?1PTG+>n#@*UU{xmE+hEL7D%^-E>Jn^x3aQ}&V39GnGvbJ@w0cni^pAM zq#`L}mzmlZ8?I!tg4U_7<0wgxeFE!V(X@A;PG|=2Y=+$F9G`W8zY@oKviM<^GT?nz z7|DlA?fmDBsFxp#iDHozt)bP&q!E#9ih7GGGx%X4)++*(6p+hTfm6EpV4m)38iLQh zyNMUuwu9rUX|jZSv}Yb?<+@4VTip65-cn$|)97YXei;Fzs}?H_qZzYMi&d77#$ej` zVXkYx>B;)aB@0Z~V3{&4#QO(EMU769rJ^V49+A*Fwxs5gewToMnwWvv^M{oMZz1lt zbR#V0;UI}NnTL?F>ZyzmqR+DQ)Ax_d$gr2Wecfa0pH742CZzBBVu&$N_q^C=pgzrI zeBJq!Gesz51$VEQhxl6{4cJA0Ci_AC(jD!j|Fb83FN-rXiV&3q*E_-Zq`qpiu6~l} zLuN8cfdOM6r~zX$j{4{t)PUo_=~+D#_s>GUO=YZTw`sw?)=nHA;NySag~cnWM5O{F zP_>WEfiV#t2j2Ix)xyYF(iHj9N6SNPAa_9}{V4zXjVb#qI*QA2`N`skNw1I#=#G|% zs_VB9?Wx@*QM;S>+RG=;nnJTTY!vs4C^#m0ag_gtg9LCJ?FYbNj%{1KL~hY%F#T(b z+HDH7S$%m;_LW-xz}%?u>b8vD(!{1#;c^c*^wGYL0q%T;cypnIw9VhEV+6&b9!cLQ zEP?afpO8I4$ZRjnccDAD@1oa)GR09c)~T`|d6KG2OZR_E*tkH@!-o!(8d<#khBSGa~v(&&zdOCuINnEZ~O+}~z?U)mP2 zvLyG%6!6BH`C_t~Q2N!VuiZnr4|Jne$n+){$`+w1(eWyrAXkhq$Xzz@#HAzXH#u(P zmQ>Caivv?NdLnNv>|5(KQm~d75Yql3CiNLkv%S9?t(RytW>Is0JeS~f*}|R0R6Dup zFkTjv>&Ff+!MP)o7;phn#Q=SEf>Oqz9dZEO*mNpoQtQEZjyZ99F`G%+pko@&?y; zwiRrX5M5e6Vfwcg*Esx7^Y}J|Wt9&f4Kj2Eim>?nsfkkRm&#x;pMcqnka0^tf=c%t z1x$+%pE&K2^y?00oMj#`nn}Q!3GQO(_TmlX*|9!+r--MNf3RhceavyJJQ>1s%@C9YO93o zSUhtrT-PMo4{al3Mcc*=xZNp_a6g!BkCG-=SSoej5_RpF=iw?|EOoI4T9^Ty#Bj!z z4%dZWRdho(M6TElntH4iUY+W8xD$Kdda7XR_;-HV)C30q3|5n#qHoSx9)M?A0*uYE z*;>oIw}_oj>TqQ)7kL&BPr28)@$$QWp$9PfW0tN2{;g4x#Sh?ZdH%e;&pX$^qu&oC z)D{uce+%3Hma%L4czR_EU#slcM9*< zV0L4Z8~?3)f6F1O^&klG32~G(eb@OvzZ?1RfUOiSYf+s>osWp5x~2USU2ghe{XJOj z!dE6w=$TRp5uG1Ru=-)l zYNPwXTXW1bxOm*hFQm%DxzE>!y64hlWqA~vV-@_j2F;-@-im4k`i!rs=@FGiJ^(rc zbdpF5syQQkT&s7lJffPa%+(jHDyr>$zhOYxSg?S3M95tfUlbqr z437ksMqIR9pG|;#EChivrDE$Sx8X*aU(hJWamNNGDSEUSdXzZo~T$+Wy4p<&Us1#D;1FG}p@9=XVd#N7! zIkQt$DQ@9=DZ#PA*!|r~`~vL)>z{m!F?X!F};fM!G*fW8$SQcD}aY;Y3?H#d-FS(ea{J zqSg4mjmMbY(6tFmj&0v77dLh=GtFn89KTp1Zbof$DE~=@R1d%V2g3oFFNMii^X$_5 z)837tI`NF&M$YoXBb;Ad+fBgR0L|jSbHJ}*1<)wJlJ&(curJBmiuD1wjGB1vTy=66aXRP!Wyj%RSMk;McqLF#wkL>72-#hJ0x z3riI&?oUhC`8U8N6sjO^w(2)X?)^umLPXJ;pJg6bKf?=3!a})8?sQg<76~sVzL17i z8pT}25!>$VYd{Cv+ycZ9@xQihH;1Hc4z7~O&g|a^>+XVqWO}3mI}uw~21+H(b-(&I z*O})+Gkgz&*RKtELT$rGWK9`g&*wleTL{sf)1(T#L<8y<+l@#qc8ddC%!sseMS}zc z7=G8qB(Y{942uZiXTxd1r?Bbf#_AA}R8<^Yh7jvxsT!G89TclItxhSbfx z9Q-RBL6mmypK^9AJZZLdBRz?`$lgs6Lo+XVblQ3N5F6R@++$_6Qcf0)kC(c^j9EGj zP)FKVA&WL0Lx`Ctd0iB;E%>rIDC$X31R@p9Y2ZjZrQZ2v}vZ?7D92aOfUAXC3x22tuA%7mva zVKO~(A*hjG!Avx!gVu#Z&8>90QM7yLq5T-WE`~N!5RSe;E6!N{&jr0I$z#aPR!_0w z4;VTK`LkBlhq)tj&)(5rOnWrkQ7bMr)IxFXD7xf6i|N?#jO}Rq=-1o$zug+Dq=n{h zG*dG0PVBAxeYPSImos@YIf(e*hED3=zVDy%DBAwu&2o$QYVraV+kJZLA#{ta?mf<{ zK=8q5;60^nq-|TYe%-95j-ju6@jPX~cmw*flMyaX|G_j50|lCG(q!8xl`Ue%6~ywM zoV`AnY)U*ZdPa+p)lofk;la=G`ATS@(ndl&w9Hmf?W&R#+oIJk6+OmoJ!O_Jv9Iz8#@T4a3U)lLg<5SAJ7W#?j|ly6JT zj{jh1LNomxPPo~PE@VuC6))M}4Dyb6=vU$M8TzHY&~n`uKW2~q!#*Ou`>MOo+M(yp zTWZa|AVT1z_Li8Eusz?jmEA!g5>wmjfDjVV%{=#;3*YTsc6@a|8gAFieWHx7tR$m~ z2Jq2K)KvSjiekH01CPY7+=v&8ZacX@@fbA1XHMJ9lN&ou;Fv<618@n{pr!n^&8s{S z?$27Ug?Z(1jtdg5XTGJLAIt1I)ibqfMH|mLQf?xoiHx#gMWS0XHVeOD%=Wvd>N&Z(qJqKt7<8!bZ@SoQOr#Ue}>MJC8l1)KAY88qqtOw~=ueEh-guI};&){$#<8;`WjwYeGv;I75;P-IN{&;qf!RD) zC{;L)Ro6420Kl01MZLcD8Ic2qtQB>NVccV-98C?`^3c;(M-D@W+y=Rs<`=)(7y3rbG@ZAcNX31q@Cef- z6G}LN^d*8>g{&?xx2<_OmljMNzt}O_)!XUX-x&bF*{SvuV~)Zs%>k!3#<$&JecjWD z5n;vDEc>_(5z4Mnt(=`%3m$^x@m+11?<-lA9Faw1!I*J(|8sN_5Vn z(MBkyfTE>a_yl}}{NDVso^=k{)s;jPXAVGUZ1+l}JXD#{w>!t!$B7Ehoc%f|VJ zt(DO9Z6iZoB@AAhYI~<%Gi|r}DOw2RE{BL|j8jO(l|8<0wgLU;X!;ZJAojB8-?H~_ z!}t0B>+i1Q`|i>)ZPmQ-19!#2f{l>`Q9KJe8S#qp!I-7W#gArr;w4{^_Am#G*LaM7 zMRz!aw&~>AR97ytA9Gi|t6q?7eKN%FPLMdp9Ggu{y7;@-ltWQ>h`0{7Yl%9LJ=GIW zI-e>=)`LK497j(21(4$9 z_OJ(C*M_%SlaY+q^l}%1tFGPg3c_OJgjq@zHp@>mH?`{{YDl&`L$N7n{J`~hwSzx6 zHTv_r2!U-z1o6s7O6$(*Y)yXEnSyxw?6KSY5!^(( z)s$F{4XMss2LvGt!z^#u&uBv!c^Y%L#*Fx0w-3G_85rFNd|}n-X#%99FSJRz>5Wor zk5zuF(^NX}eo|pXpv=wjZkFeI|Km%7f{iHceT|k8YW_)XD^!*!m30>-_PpOCqsSv3 zdJNtzIgj6Jv}Do*lo0#+T?PHdVQ8z5nJIWaZsgN7l;P_W{5u}mU3B|E3;XBNYK5!# z0iquW-f2?%vlDq>yGS#|r(mWl{3u1R+^s+A7bsJgmI9`Exf5ETa2nP>a^qkvr-PyP zr!d~NxB*RTT9%dXET$%Nw=^N%pzXvpEksQQxAJI_3iBKp_ zbP|r_KvJv%RHm`}nkZf?eMT_Dc=(y zprDio6s;mDFukKJ_YB2)O%e#^ooi3adK8Kl6YH3YcDT2{8~n$Q`1wStRDb;3?DYBi zz;0+1@zVfe`#j;+j;Q@dcHt%a&!Z8x;=^lgC%B(4??4~|xgTPFW;C=?z0mXAyHxYB z-fAX%qNpZuahp!2I!s>&d3JG!>zFl~cF|0cS@NTIE68>LFj6_3!xNuVxxRGM!B0Hzji8g2reU-wkG( zrVY?Gk|}YR0)qi^~4V0u{BOt##<*mk4 zON`ABebh#O54FNt6`z~fSq~WS5S%c;n%eTJ6>;d&3y#U(;ARfRP-ekA!?pO;oLch; zWl*uS7c%Y?#}S)jnX6W2lU6uTqvLPCQQ$ztf%Bc!<&)oiy zN)est|0*YpIVq-^Kl4EEOIGmAvqkM$V|iY8cZuWYFGyGhnS*Ys6VN>e9d+#VWWdRh<6Kd2 zPRjhuQ1nl)CP7C3-!AQ+v+3>^;@IBFf7-Rvi$+Y_-YHhHmoIRmgcSuFm*aYuPe`MK zFAIKr40 z*jqx(UhjfC>SnGywRK~wSr`rS)AdJ`ntbU0bBqSORrLl+)rsyOnBxVkFp_jhQ~5sI z$y0s5PNKj^wqJ>e>5cRrWyn9pQ7pJlJhQ=%7S*16-tM@(-34h`WrX(`>zZNGWYm%HMC8`gN@Ay}|PrqYbX z7BmN$Y|^PN`l>#G-I2SQ3oCWtU9b`GT>1ae^_D?xHd?zd6n803a44?DU5XTUf=i$j zD*=kTQ;GzN7PsOMph$5k8oanW#og^>KeOMn_xqjs{w2A8WhPm(u5}rXuv8UY=5sT~ zR{Q*%%ZFUR@85ftaI5o%=h{N4Ii2S$C8WKOvQS=pWA2aIHE|7#Fuqrt-w3OT2*S9*?)eY-ai!C#LUW{c?ln<=vgy=(gUO0geP~^2Y{=XlLkM7nn(}2kBtN@+@%BN4BIjp z+?9=$R#(aSa3!q)dkA)DqTOHGj%d9VjTJXYK#P-cJbvfPr*}!(r_XaCr+pe-r!z`9 zhy^jhQjszpba!iTxOrA~M+a>R6D26T>LcNJXtz2oXcZWCz+xvkWLVes#!|*7vh0mT z_*I=L&C*W^aoRt*JSPgCIsVIRxp#Fq7q6ZR-L}Fg4hb*f6=kpf0#fIA|MzYcR;VPa z2i10`ZG|B=Uj^1-H~a!I^S0{kY(jmwsjeZnWYSZd8RSH_2FtFolQxZ%<4W(AB0o6r z?W&;0HF2-IE$8|}O~d_5u87Pv=;~{$`q|r4Lc-TJzu25hbWPf;e|$f7t8fD>eSK`1 zbGdV~p10S3;z9=BQ8VA(3@cf(P>jf$coNs*%P4|YmAoq^z zPUBA-Kw+YJTn?3%_&#HyYY8l=aCkP{6CimrUzGDkuWZQxu*JmOgituJnt(eXSfnlc zRkrHUf66ZXhwGM@L9yem&9C3mDW5=8pf(uPX7GXK<@m=SpQ)XvR_{W8zlju=n>iQ~ z3h#JLs*iu*MMJRCG~tHjW%1=$%`Sy&JLrZ@Q46SK>-Yr}aYTBtzRCXHsRP$$d6owx zpD3OwV)goGADNX;7J$2T$Y%z9OVLYhqWcN1nw<(bZ&cl&6}Ib>3vuB5Erw25DNDm^ z4Sr{IRnS`6+ZcIW;cu#hgDTgX zWm|#E!tiF$huy3&CFe`LKg!Vw8HFLf;o+yqi_?}gwpb5=w^M2Ki119>69u&d*}@-a zDg$*c3qK#t(zF)R3|G>O&2g2iER7k;LT7n9viLvzUb^n@M!lBXwqU4@@TGHt0{+S$L-B>hdW8if23#!7qH0(=2#g6w`*edZCOmu6 z4R3mWu^s`6``p8p_QtyFbzZL>J|lu%+bUWHOc-P332p}4;wq;xyFZ8k%L`mj^*KZb z1KI+M^1alIgKj?_AP8mOo{x z{eewv60|6{6M#XzuZcAv{8_4y<|77cOYD?{6X1)nQCGW-sl}W|R^E%Jz-P^=hyyY2OZWKK9&A?9!_`lK2-_KPE+x?-8%)T~;c25VS+VQQ8#8id-xlc`Ne9abJXlVbkL&khvRA_2Gv|<_RtwcE|$dB(Dufkvq zP&pOhR#UF$o*77YdUT%_b{TIGEQEWHwCU0#mjs-$~ag^9t3JB zyF@g_Fc%Y-^!-9rgGbA6h&+G#c10u>HH@GMjU@2Ez;wUiPbJY8eenO72f^~28{)v* zr8fuV@R6y29sAWrOb0*~@lapA$aE0xY!owG?G-JXBwoEUC;yWGe5Kc%MtuTqyBrqo#r^dh~kr!njnNkD+d!{dp6oc_CX2h@XbWY&XY02@zWLW z&^jzwt7s9&Alp&+kr;uQ+`6*##9Y*vH0_!+9-|)-{smZ;-6-WY_D3PLWnVYPQ*S7w zW+HzxangQz2T~$iCiLKELwTT1$YsV2)Eum72lF^qd^$Wa00>UwM*O9%Ca@ZYpt98% zqt^rtr|wR1P;y6hsz|VqyhfFIPW=^ldeM&`Mau$1ZsWc+@+ertm^Ft>CbCP)Q3t!^ z{JH*2{|=&EiyPQbe^h-2@{ps8q`??5yrRX}<){bz?8}@!Kn`2WqLxT6hETdx?VzQG zmS$->%9zbg9z_TR5%A9`Dcmy1u^3NF2h-YW7KV7(Huy#}LO-zU_DlkGW%4OFkn_a;!cWq!hZ?s#d z_qI9VW1U3|Qe9U+Pw1SyHH7&~i2;v!1c1E*Hy$1$b){U*J=bx4KwL)RR!{}uHi8;! z!#h>H8bVA`#E7cTtoUp?&v9%j4a~jy6_bwGU+vLr^J!*_@U?Wg+uZo*C;8d~CpYZ_|}F;T8=l&e1tJeQZFR zby$u1v!s2c)2~>VMV=Y`&9u>-*yPNb6}U+m2WVc)SOI4<ryM;YXgQ-a;cmNtg38kpLNe3*|g}pZ?{Je8USv| zi5-X!$hp6Cb-B&4?D&G$NQzQFX+NsZtyvpr;rjKBixh>8-E%Po{H?kK;Y z==E6MXVnH+ojpm`8Bx^H@RGO-%}Cgsia9wMuXdF7Bs#r6f(4M^s`*pSh*KlHml`}X zvwru!U@@g`ZotGTQ`|mt-Zs|Xo&G1&+!z+p3(()Kk~ zN-_?{gpULnZ4|p z|JaY~ke;{H;g?61YgQk8l_az&CvU>Vs&@I&U~G22*xG%ui1Eb|Oa6gqEN0x}6GvIE zcmfRRgdGMw82*8<|8to`mEHbd-043v@b={$Er(7Eepo6_hy{*I$g=EHO9Tm94$bjL zAR(OhofRK5aafVmmpDWMZR_~?a(X>8R1&Dj9BpSe+5n(sLyivlKYW$DI{AI@8xOmGGv zV8x;FnzPLl*C%LDGoKEJ^*?m?HWjZ8$9;m_y0I!QkYVuAJ2WS7(rJpwfJ>dyU0m9b zWfoZCdrvZu*3MHjZ~Z~w;C%ugm@vPmdpq-H4Y1IQseuE;zi~pej!Jcj^#H$?Jdxb|P z;m;o@@6bGq$REC{E3eWURn%52N^s||VXjkVlr1BUsW-aqT!n~n?%GPz%0y$d4&h;v z^{PL}=^&nKWTAABcs0#oN_6sZ{h?J_Zd6GR_SgigGLrd}p;e8_ly237Lf%4s?;?w@ zHgHEaWTU3mq+YfGv7WVrg;DZzHN#%k8%Xy{n@lw|a8XB}F{hXId@`thYEt^#Q2Q zYTk*J2Zhj$H#@u~fZf6r$lj%Y z^iqcJI6!)AF{_Hp*BeYr#zz)IRzf!Z7@Oo|4v$5BU~qYQbRY?wvyQcrX3W;^l;L=6 zL34!=Taogbd8`u{<17vk_5!}z&=@?5KW5Ljr3mm}{rLbsI5Ge}f#ufrNK9tWTvatE zY?yST=jFQrScTN3vHr1lp2`xhdDTKJEq(9AqV%-CPHp^<1Qk8AX0PCL=4o>J46k*H zYs`5OIQMdSq}2CcivhB3hyZs+ao_0O%aAFJAGxUq;&?_?aCG+SV!j&3)-A?-74v^q z;^A@Em9MUBp<^s@wGPbKIbEFi0TwL~wSGe!{&hB5n1ek>?S@XE z^TTQiWp57+YJ73hW}Q~0<;`GmS1t9c|JIz){P&xGQ4}BlfxiFT_jIKHBOv)_FqXj2 zfd6?+iT-l%F9bZDK^i&felGJ|YlhBAy{1EtA8o*i?oLyJ?bIv~0m~t$Kvi6~4{{PQALubwWRQn0DnjF`_0}d2PXe zE~^V-XikT>wP|qLJN*86VK}!C1=+J-5AE|~{cbO#$eydu?RM5BOViUew_tsog{haqTJFJmHCm30>n-_c_9K7^`7F4OUc+YL1ewbOBjM*Kj)+tqC297H1u2f>jDUVDf9($$h91*q`j01a_l} z9WcRXdgc=I=#PEjRf^o)nlkS-+HZAdd~a;EDMD);65X?MUPQ%eJ{6uBN{HG!Sb#(O zpvgI~;7@8@)l3-|-#+VdTCNZNxTOLGou~5bWCV=2`x<_{apd(1(3J0I?wH|ulM*Sp zO7gEoQ3J;gAvT8MI_UWRQ=W;dx%Ii&tZGQc|VEK=GZtfIvFTr~WOPM~W zlmmzY3G%X~*U%hW_p{B3-2I-=n$Q8e;>^x$Q0(I{rG|9#6$jv>8S?Ye?VD4w>gR=3 z+zn#`)Mqa;EoKCdRnk}3{?W4(#txgm4yA^8&1=+86-TeSB(WX*a6)Mg@Z?ByZmJDU zgl4!R#3aZ1L=Jcls;qdn91JPR$IWWoYh8%6r#rmhSDOYFaF{&mRC`0JQ;I;}7$5^< zQ(TJsp_3B-DF|7BS0g0HXkp?2I4yuqPm|otpnvmr=0=cSlnkrB3L`>Np!}CwN@;$f zS?Nc^xbK>ie_0R8DIRJn$i34R&u6Y^pZqac>33~&E_0YlqL#cBMrAjb5~XjQvfx=j zX15O2j=q8psYei(Ki9K>&B;E4b&tkh=Z3nfcp^Jro=C;I4_WLS{@%sXDg5AX)=L4b z{;dGu=~W@)yDJ};yJgdNULaOty081y-QzwVd9QGc6?D+{o4FgM6p*1C_7ExJ*_4Q} z_j~nvYvgmG8V_n~5FKO=`DXPvmKsElUHHkE<6p+U%4Qs6Uv&?QEvRjemWn%9G@cQu z*O$yNB4%7Hnqyf_HDaolKZ_jLK2J|RF_EQ8m|DZjO5n@+&H&S?+ZG{atuA0O{PCTA zHFV>gp$NCs@LXhy-Vm)fw***iwe4JzzvW!HGsxeIKL|ot+>Vywa$%gjn9T|4sF<-Z zyqUAkKxjk#k#HwZc3Q7Lwi_efSbJ9%{BqWz5NeNKbH@s;=iB9a+d%FYK0bmX^3$*vH;|CP1vwRFJ{L65heC1jd&Gn#izeyzaB!BMXg_ z7Qo^{O31BY?D}}IyTt)jxP@)OBve&4WX@4*w%8wMq1a=3%ZE&l`WLM1ropw z)B1xMCcLwY7lslZVxexyefU&D4WQ7Y#Km<$U^iz!0ZtZka0KQ7eoLB>%1pzYP}mE3yGu&yC*->6A2Jr87|(;Nw$vml7`Thj1k*nba7AhJnrYmhJz9w*@Y zpclMF(-s$Fr;Yr35QPxExAY?`>PELRw}}b2rKZX9aX6*#qtZm!ldHLj6qyAek%z5{ z+7a78TQb6-xL7nmg9g{70Dd;ppzK~**`_-_tAzwaCg|iwZ(1wK4_qffiED^|rccbX zv_X*H8~3$&c3uY|%rP#8ioQX!N@fr5gdLDUcr>NPOx##S3kh9;hnt%jCMa zPlKd=0BNcw-03FHDkb?F^}_f?tw8Hb+y})TK5{V#pbS+V%5ArC(F}N{T$A$n>fhMj0vLx#Q-frGU))+Qt+Dq0opySsBtG)O?^CO=tA4jHB=;i6O zt__A(R*-82m#{E8R!|=9Q$vraFnc0=!Yw@GjpCYW@VX*r>a%ZEIsDWCkH0^n;rFU&b>-wT6AZ;`)C#dQ3B zg_)b9GsNpFxYKKKXqcgjE%9aIu=|tSb(j#H!;2W?`T=BN*h6JZv4SElu>NzJlu-Ts z^6Qop7IZW*1Ed);oBC9R*fpi}R1{wohY2d>t@FZMvi7o* zZ)ZcUy5XAb`jvOa+_m^@r^}|c6SSfW8aN`s)khrvjZn&%voVW|I%mRn zRBhOl0)~fu<&-dS>6I#n|FEqKC8%t;I+I4Yg)D#fDiWG= zy>O<8YyCFjr4#r}N0Mh*XG-J+Bcug1R&+*Eue7kN=cB8?ByO`kue~+TE|Aae?hI-g z7c{m{-#81VgB!vDhWAjZMazur^ybNi`o+0k zIbLDOmKxpVd5!QGqZ9q=VKJ2JE~p$fy^AqY7__(4{OKxLqFYDA@2E|=Anw(%xkr6u zu~Tvkfu4~^nJ;z$?Eo3e6b;MfD>e1*tWh~L_}3kVRDvn!kt5rfh#KEbi7akO^+@XG zgZoUp%|;Tbl+K!2u;WGrP*AWKzLM{z!=)J{wK?1E8;{R$XZ|CQmeu)Iha-%C<^W!e zAjSEu_pLKhK0w6+y~+1wCrMKso=~zf;!I!wy6b(jey@Bdg)| zvRsb5Tia@mgVg7u7OG#0*6s{+nPx`wjaKjkEIOJj!(}=qQXDcGOEDLsp8#*G`YDA7 zU#%JWk>5&ei!`|eV45gX?JEIhaj)AAaXcjSkmEW`2okBAvG^7RLJ#k6L~CW)d){k^ z7#j{Gfd6v84P+IbtxpF9CWLg-HkmfCCUc>=xGUqHEAa5(XJ0;>#*L5?Ipc&iZXU?? zIFM2>Z@CY3XtKRXli7-K928u`?#m=xJK@ps?F$@ZtS|5pDZuV@$kwbKogtO|@q`B5 z-&7ta8~FswyYU<^=mlffCTf`S{&|p)wJJJv&@l79TNq#{A3 zEK3gZ_qUhr9#(+VR;6#A?&I>@w)l+ShfDu`ESq>b3ORlEk~m)DiJ^Fq9lqWriIV#S z>w=puh>)72-cXfyfvT4`OP-~9bU$qc*Q&|V9^$gDh4hLym93X<=u~Ra^6zP5QhViz zFD>RFcwJu67e;Bd8!<%|gC*pyxu>hH+`ya;^Z=1LOumX|@G`}ARPvG08QK7B#tq_K zfOJ^R_K+V{ZHh6st#bseQ8?vCm}x-K9wVv_E}pY-t#Qg%)e&zCD#izsQ(C{g5o8I3 z+z}s8%Q4Yh^sCKK^lsPj_8IlT&B&?=s5Rf2S21d8`h13hEy<+G@#le;f#zm)(3Z;l zqd%B7!PPbeiFw+w2~SEQv3)5K?vD&W;Z}mvl$Krp{^nh*?pF25zr;1#sk%v1y!Fi) zHOCmBF)kmV5w8I)XMeEpHYvU{dY}X)?@%G67(-135du7vwMC5 z0mx+8!bAldRb@Z<{vwP&t#_J;=Dp=?D$X4%WIB>phq-n&DNd*2HL%V1Gu(XI_L3B_rgI4)L01 zC5Yy!t0?K%hBC4&xP~$YMeCfm4kgaAn;-FYB_Jl$Yt^WHtcsmw8-_TUxCBv*_IG_C zO7%6dkBCef>m}!rAF{f zacICe?Nbp!!>?N0==cI_k)fN=Vkw;tGOpc$NBitzc$xHxic78>`#M&?nghZ+3keB* zZps^+=Uv5$V#Lh%N1Lba%mPx+k0dXG$R5|yp}R4HNHM6BD}~*}a&(O5_$g_ z;J*Epzinb(gS(CKrFKb4L`JLZGIW$-2? zb;zxaQ%ssZzR-2R+-F7JoR+VhHRcqZ$CA^Q;Y36X__wRDKW(U3U#z06cr8h_NT{rM zttND^O*lSq#E74sN|3>wB^`_5f`NX|9>L%WA%woc(W*D7WUXPp!FLt*VN%{%FArzd zf#w8P-I|Myg#3Gyi>HsZjs$;L$nrBNurg3(9aA@W>J1^FF1b6)8f1$4AI{#udu>Db z{zt?S$R)+Gx5HbApj{!ZuTmIP_VHIWy)Om9WfEyV)2)aPId5BRk$)?6uZ|CFKYala ztVbwR|3+^I`+^>%!_J8P<-&Kr=R}b@q+Bt&=jyj~Q^KK(iAI9m{yS)b$>=qYiI@O3 zR}o&ww+tWQ>kczy+#60rMc?g631|4)$h%CpSI$gVEJxYD$9F|1luMY2Q-=AA5LYjy zkulR}A5qCpr>Ew9!|Qr^_z7DUcPE;8F((C+M4z4LAJdRqSkTxw3A5qP@U3V0)alKXb_{e71ul!X>uI4H>In>hu# zmF)us~7YC>+^TBQ_^{o zCx0h*$|=XodAW=&IAA9@wZ8cUwt7%j5?;bgysi)Zs&C#zhl6WHsy>q?RcS!`WUsNd z#vQp0teBhAddqakIz#Spv&F_``B1KYtz3>8SaJ@0ULjBw1s{@=TQsu&I#X!YwX8; z2Vaz-2-S*qZD0DGDmH{kxCp?ogho}I>I_L82~oR-YKsATd%!`C}MUF>hE zaD6j(y<*lkkiVHh$T^Y&G1@oFzZcW8ugSdAG2PX7bN~pEblhrju>GVdKr$c`kBm$& zWVrYiX&0juX+H|^dJ6Xrupcz_s$Od)a_-2jt+jZ8w%Wh}uEH`qW|uT$gE0gI@}B#b z7>DM>2R_lGcG_gicG9%%cq@0lqHIZocceZOYruf)bec7zHOoUC+kXO9>d*SKm};|1 z{=7Htti7HeTKMcc;=uJe@kzsbTR4|G@kp1d*1r2hUqx}M40pUq-t_N(G6 zLt5|X+vxv~@#240yPw8zs<>s(=%w5^Yldm<_`1&@FE!j(EZJkqCl_A5O^s{GghZPQ zogIh0F9}hwSVvF<4$5ja8+n&ZU@Qak>~( z1-Vv!J!j0jl$V;OsaS|#s-yjp2#ZCdTZ$V+15S_Z$B63}pZb_Ll6%mN9L#_RJ_##C z93f*`MkQORq}=HD+nD}MJA%u9aR)?MJcvic(uRG!B`TjNeVab9ei|Z0kL?Zc>RMsx zKl-}W(PjBdL|V1N=}TiSC_!9*g77}+q#l(!tz$9+PcWGq*TsKdm~W>(;@iXb?oyCv z_u!@;-2vD|Y1x$Gx}s{AjISA6{LTzP{J|0(KI0HcK7B-nd3ppHvKxy@QcdG$`;`O4 zA6*IH=8J`+5wW}jm`&cv?2YgW#RS62?T%TAZVSs6+{w-0VKBWY2``)w_%P=QNx4sS zIkXgRZXvcdKIuj|@I?z0-{O7xfvj+qaYf)bLG$7FCvWwd2-fWUPOQQ}wj1ID0tZsL zgbiujaz;&7uFzr>=vSuH-mXtXEoJB3mlaeMtiPeV=3-5LRg?!@I1(0qe7NGx|IEXG79hFl?d{xK1)hF9 zr2e$^iPh$j<)+sMqrkoeS=z?%>r>j|@tqy?V)Km!(~#eWPqYhXKeX!Bnwv*|Owc<2 z$R93#6@Fa#gO%7vC1B&PXO7WjpDsWaXXM=TYbgP8s)Tjh_8HV~4p-Bu@B?S;7WJb} z@Lyr0EsepuT3Fq?bSSu#$2ASMZc78cIT>dqc~9Gj1WbCDYV3y`I8Mo$n&Xt~!t*4al~jKv(|V&I8~w%e``oDqs3v>zc3ZpBaD)Ic>HsxC7cD8Ki^lqb|1|Y~`q4W$a(DAf= z^V_w`1KjEr5(z}_)8(mhc!?wY@I((EOt(cTWMj$;2;sp_pLwwnuGdsLpCgWJ99ODl142fupO?E6~4 zA6Azk?ZSWnF^eT7yl@9Y6e=OU@~-+VHb{dk?*4|A759MI6D{L25NBhR?GQL$ju7L| zkKcEN9qcY=EUWzvZ-8tSM;*_n+oeiPMcDX9wpOKNCM8SG`%Eu*ZKS`gu;Vui4K$?g zHC<_proXJl27v-3i1d z$M!y#fKSt=oBr-W8z`JY?lg?_cbR?t+;Uhs6i7qUofr;;?(vM{v5tcP${ri|thT z;7d}>BV-?PcWFNA(2W@MA=Mj^M0)tM3E$(kVXaUYW2`*aX~L9oeB$6@$1Q z2i68d{`Ig>o7j+%yCNCp+s&Pi^W0I0QKs)!Yuju=vE&R7L~5zCthgjy+viX7R}ds; zu%^KFXT5sfwC&136Yjvr;BTSHHSBw1lOOd9oGL1{v^%2m+-(N)PqT)L;r?W9IoipRb&rEmKP|tl?O^e zaUE#_xPJ$lqoyclX;YeA8Jr@*DGG_Xv);@SfKS)WWJU5hEMU@$c+u26x+N=0_gEKplyggaG#%M$>kN+hr2 zE$U&2?ngh4Jej6~OSlG~W!qJh(!ieYQ!3%}vY*FtQV1L~Mn3-``NZmahyJ?NLc-xg zLl_ghEbm=|f|2X{^v=z_*0Vu-%9erd8vb zBiy7?co@m1pHfNoJlE@%$C2}4=ySd9G5a&*m#$=i(HpqOsLZaGhH6du$$nFE6g2#5 zaZhk^g&;*>P{X;&Dp`OlqNmpcBZv)ld*Inqi+Nipj`gJAlk1~cFz?m}WwN0YX=DP< zGzQ%E42dtM{^QaJ`QK)=Pqh4VP`7`Z)&8Z2c{axmqw9T@C;f|uMVFU`sETZd#fTFy zG&O{mOi2_{78@-)@`fpQ=BX&ptVN7Ujm80qD#sTi`|k~%`28f>>G&V#?lldx?smNs zVZuiEkFp$|xRHFcHn21Uy~r{GpZ0%%{`g>t7CCCB&qH?ovm6&o7KzT87PP)*!Tx*; zz#6FLQ>($kO6~2BuC{d9RDgvNnD;;i_x7bwWZ{`7S)^SCa4AaUyHaSNqbLvKJJdIyq$P=>LPx*sc|UBFKWR6zDbF?`h$*M{e1Gq{45Q!u<|2 zmF>6YuDhwob?u$kV0dvuC3mLO1Xb0x-`}QeF|twWU#}-qP`U?k?$&+mWttL9QL1e9 z+?EDfUvp6>&@!o?upp*xW(WQBuD2Y?CB(lA;eU4A%ued4zx~z1|NZynY_zP^)N4rF zx{Gj!%#2|s^;6pBqp`%=2D@pj)-v5)@^@%)0uf=&fjWi?ea$Ds{=LNMHCGGyrX5xg z`zwPjiz+S^EiLRQ(k-}2O?~LNNSt+*eA0MF3p--I5xq@5WrP%6j!x^ieDi$eH`e8O z$fa*l2@7hslec4vcT_OAt<|hDWt-K5cpHK5tBqOxfJTgXH5szMpQUCEEY|GvY~(s* zEWQ6?>&iZ^qF74ZAVE+9(cB4}_0^f_e&?XP)7oXiPUop7SJC%PM`b+kWdzmhgAkjM&lOEAJf~h`P#dZTGLIx&6k7{^DZi0% zT2NGMPx)KFC&I%X>EBfa0Fwy!JqAj&)H9lx&{XFQ2l86r&72n;2ZMTH6fRi`@1L}# zV1nflgZ=`GJ1-);Fi`Jl>w5d+Y5NrSRi$__Q0Hlc)1d1kkopZuxNM=HM)cJ)B?f}M zw3kf(pDWpQP7HCj=8l?!x1a~OHjF zc$Ki~Wd?Un{&<)KL#W}W0BUH7jRewz!4eMT3g@enh6`!X9pLv9zxRc-@F(}MgBb^i zeH;2Ni5gNlOh~ddE0ADD;Jh=92egNz;8BkX?$KGa^rl!C>dC2nVuk4dK6yoV6N^-p zuWqNQ&RSDy890$L^0Ur#!d(6I4Qoxy03w2~9cTijM^c>h&n}~h?zo6rVs?~(1wDK@ zqHo41WuPz*pjq|5j(~L)NJl9*+8K;VU{kBYtHQSW#!`w;g4;JDl@P7dE&j0_T*#>u{b+{2GXUBXwTDKI3$$rH_w*#$PIn@K12s=2J z-cqy4gq+32mYBu7gKx@S>-Bec=XEdWN!{t+1Elqu=bX+>xDVKW#S1TG)Q>c=;l>SM zzDmBKUmwl@TkKpPn1PnRWI=D*S}Z|d`Qpeh9HYan^b-8=$w{!qQ{&P6Nyd!_4v4Wx zi!a0_;_JYh;W3G%@W`$bCN(ZKBSy9OK_h6K^uYZK>2Z z>2G4W1WrUi&ld_|P5~O+st&fQ9p*FU!*-i>KQl-LJ4nz~;Ck>m(l-33M1s58n%gJZ z{;sG;2$UC@4;Q&7y^tQvbU@JLat~_y{*bqM^V*co-&DAeD_NTUQ(mmUL4#1+owyJLMNn%SC86&z{}9x-NH4=@?pPh$r0UoKFI&+0zmZ)C|dKBD~=+ z0lxek>tM}D;+{ot|lF9K>NBK$u>pn?&tQgWTkPuSHXEVB^Cut^Q1+p#RjWKOqp%vIj67TWQ zam!}wTs-mo9Z7zOj<<#R_n!7&Af?_K9wfUH`wkI@Un17idXBV#?}6^ZIex`1`GO{= zZpUHp1Z6hEkX%tSLO#6Yh%l#E%as|xG}|5H1jwITxb73WX~e_B>d;IArQYxs%Oj7Rm?V6$*C9Z(na@jpMyrwZXRMp zv6P>PMeXKf_#ULWjuId-g{xgrOgryGjvJu!y2{90G)~E)cCQ?MVX?l=v(4e4;|fjvUaUAU>GK^lr0yy6fw^vS_-* z3#)Lb@XYkg4Abr1(%QqX6UUD_%P;KXAhq~=Lt%y) z#Uf$qozb7S=Y219Q9Y@NH>n7r2~@(;LB~(u-`= z(5b6dGALul>NKlBpeI4F=+$uP8z-c$i;tTff*fB`z#kAF=kN6*w-d%NYM-RZjae;B zTj&>?2=tTI|oNq18|-rU>e3_FT+4F#zK=U*&8rTgJU zOJQ=RY?q*?D~=@jr_A+bz4=3|ct^ty)B5J>ekDmD7yQf9lX6t`V+wPY;wZ`i}cZc&iq0>&C4(V^l40#?0 zo`51oc&n*^yNwX1oJFqGvM zlxG!eWtq=whM{0p;rQ1+ADII#<~sis(<%=RX;r_Ae1FXENAs@`jWid@7p{WCkRb)+ zmMHb)2m9|~@&e3L4qF#rSZL6(9MC#5?blD;a%Um4y!Qkk zRa-+T-u!R8`tWPzs@%-mc=Md3jxTAP!HOb?HH|gW$K@;-iuPKb)gT)@kb@MScjyhq49t^H4 zSd}CYS!JSw9}~!th2A2q#}lQ$;rfIfLQM01Q+arw6yd_`!tl20G3)nP?@ecEDAn4q zrO4bD_QB;fd${M))y7cqQA1n!_xiJ$@MTECy(M{5?ICMZ&6!#g-?4oE$%s)`eTe&- zhK9T`YZGg@hUvGELM{~-t&WHF`YbM`3C&$N1&{849ada~&JrPw4#{V!wGK$;8e=zW zWbO4>a`-*yFUkVbeb|;DLRvR7M5~v})-f)WE>q*ft4z3?!mO?_fgjd!IQvLAtKa$| zLQLP0BajYV*gpqCJ1KW8c&ty2X>;E5zT|KFveOQGP*>Dx|JLZIr)h&#HcT-XLyVYUr1I3Kf6T%0@ z4unv}#!%AL@}s{K9io>$#e$dQpK0J&{poWG3dob9rzqmjgImmby*X;U-&mR5uFL73 zwRff0X3J{s{M#q0vA`P~KOqqFqwwbUns>@Ar{W$xB|oXJPnM2_zwzQG3VDVwI4sJR z!NbzJ_tA?hxh+;ZWpQEm6vEAK9A=dlEf-Dh07EZ|Vl${SNa{3JAfb_)Cu}U-aDrOy z5|l0(==*FPlXz#R&`0ROU%)&naStPSx)B!jC@je=-yDYVGLUa&KfjGE~=>r9hFyJ1Wj}g;mxe|YNoyMIT6(l9|@WmkGR~`B{S}+ zE{JMfkD|YbtG9}6DWIg|sRS@9QJdgmgrzQv*TO|O76BM}IPKaovt9TE#a7?_| ztQTUcv9bp=F6MuybgSiN9eUL-+e_cM(X+7?9~@(<1n*RehSzTC!tJ3nTvEdWr&Yi;Q7(@`_BGpOGu-g{n*h+S+n9fh$BzRDE%)UIeMtPkhh``(e%Vae=$RKPP(EC(Gi%PakQT(w~1M z+=`kQKYrg-jvocryS{EB0iryg5+R{>Qwoy6V6Na|746?sD6GN}D`W9heEUC-l7`FS znOoZfpOd+&bxO}glj;BH<}VqXoo9;D_ePSTl{>;54+VRI zL1gD%M@8NNJ4)+%7gQdnb$3;>g_aYa>*!ErBL-Q#+oF^2ruh~rC}&Nn%8W4MJgcxv zrIt}d#O!-YH*MBGTag=!FvuJ)x^Ak-j!qCl8XDOECO0gAFDH0|>E_b**LZQ4-wJ3C zrrt4lie?UcM|SzbV7WXRZ!y%p3!r(Kqc-zuM7i{8!-3CDr#}oND~Z=3|A(!&42pBn zqBe1DBm}3iAi>>Tg1bv_cMa}N@Zb2tn2bMIF*R8a+_@&jo0 zyJf9s5rRgJ3TGvod~(D2&#R!O{Wy?>h&oVmUab&1SbdvJZ(d$mIN5M;9iCwq&2(q< zQ!5M}j`{Y1Ydbs-2kcJY`um;izDh+Z*&~i>I!ZU@gi%~9IBBPChE1sG2SK(Y6rYLQ zPRj=!GNVKjID@tMyHMHi&#`NWM~3IjR_G+p=^<7=ws4U_rqX`O+A{6dn&q%e<3!P9 za{0RII_kLOr3%L)=Q97qr3x8{+q;35OQ`k5i>=#4d3~*v4EQ1dr}&1w9~tlq+n4&f zLdgzdI4zyMMeUoByy}eXTJY`iCPNZxRSM330NLlw>YPWDQUS}GGvRxmF`i;h=uhYl zJFH{s&;k}7PMJ*IOexf0$VTyCc|-b)pXQ)ho~_F^cH4hTIzFD-Ob`pvQxiye;A>UI z2R0KeuGPM}mSuxR-J*NkkQ0t4*!I?i_H<34^tx5Csjp zcH*{A=xh*@>I91If1Uiv&A|dk%mX158|@C7UIqOGzS60csRG+lgYM>pkR_~%grzb& zF9Y)t*YJ!SvT-eE)tbnqrGxl<YIV2+V={_HYnzx_jvm>+9dN zqV_RyNEqRBd@>tWRM7jj6`mSe4#Ky~4#Y|Z3Q+UBTAlGQtkb84_`UVVi=9J5)Si0u zwKx7|92Vh2o#li}rhk1akmcv&`oER(zbEiT&j01vJOu3i^4acg)39G9AoTDe;1jsU zZS=d+$#sYqPdmy9o9fIBQuNylba0FdP3w*cj+d%(_2qZwe-UsMme2Np`-EE=N=%Q? zUw1j(SABHC8#m#I7?B35&k*r6a%Nv9UBPw_aN(}3(weC2)Zo-s=K&s$4V7BR@~C=6 zR8JDMVWX0gx{@ePM-OV&v0VG%10H=h&Fk`L!+Fqo`gafC4Wjr_aCRS3p4pGqD9UqE7z|^jzLn5Z5S(omlK=XO!Q;k~07*$L+z#nS(*ae;CvuJ?gF9R5y>FS$jY5azcj~>BMU`F+`ptuEd*uJ?4ou zSmw>neFQT5eLy9Bt%vqENJjg(qzz7O14FcLYAV6% zHW04jb5=b9U+Uk}3)|mlg90 z3rFt|WzFViK$TgVgaKdhMgN%#@*?-L4o0|AK&7SL5vf_brd?p%4||=*cTc`vuC1Ya zbE7QACM5~2q*qNlpTdN_KP5pg$ z5Y~F&tv`845Q~s^rRiji>ia-PZj5ajUEswX`ROC?z-17FII&kd%S#tGT;)F513M?? zTiYr099)xrJ@4EN7T)f!b*;M_VV78OQ(u?nu{y*3PW`oR5+(;GQ!}_gD$zyD6nnV! z+8o$%Z$u_twVm}Rk8Ra)OJHhAb(JoM+|$RhiE*cbV{U+6)%&2A+1DU2ViQ@+tEW{MPfQRyVigg)=1bKT9S%~kYm-1U!G+s=Su>( z5AP5C&<&nIz8$X*^%mX89hAQxKT2%xUt+~IhJP7jx8-#*vW$vapPGy zQoc$`aKFMCc|0SkeT(8eCB=6LXm|LDu2qHf-$MDX81nyT9r}-5x^lJ>X5M-OYE|$S z>D&26|K)Ntv)B?|PQ;y(FnU#vKOtZDi(to%4mN= z5Zs5B059=~H@-GXg#C(2>1>+AKrZiGc=)_=-lX?AT&BxCxUzYS2$KK?hgllJ@VnoO z0XF6@-G>5m5_#)I+^P7|SV zNe%70-Gg?bm`x?yiAN{uwg-zG%I?iCij1t#^(vcHq6QBP_QvhW(TknW`aA9I0$bd# z@J2RX=zy)9^v0Eg;KaX+)ZKZO8<+j{CUJR;*)&Zqf-sWo;7Wi5c^Fci&Tfvh0afAB-|jq3`287+#m)xQ3`#OY}uylgii&YpI)6I zeUkYN3rcY>Qz0OjznF~Hz1X;U++1})J?2yjn>JRr3GC?5$y4+3t;7GOPHpw{w-?mRCvP zrv%Rfy7cF%z2KFW_rXYH6Xs$Q3fiBzC#KaQ71N#4O32^`)GNk^O{^P|zZN;)3^)y6 zG3NGc&pP%d)!aouz&XD$5qPJ{xTe*=efy&Un{%-SpW_E2;IKang7F~CQBBDgyT%~K z2w=e=`NIv}_MU(oYgoU1`}c3p*Qt0%UY^M1*(W!0>s#@J`X=ImY#TH{IDw|&@S99i zPzas2U%OcH%PUR*VEg*CycoYj+w$ck^{U2oKzBe+V&*f~VsUXVLPU|49>URq5qn3V z0HV)#G&Ua0xLrP%o}aVzofU@r>~xER9l4@)(Bq^+ya^JGKqBk_a5m#Gb<=h=*>Jcb zys>NAZzpi8Y{HG^2WdZMC{X8q5OSv<^_VHAo=wbdo;Ag-lrpR6ahi$3Pw=0d6@E*b-LmDHkXReBb)ad%1i7szWTcika`kW zprx%c_`koRgExeNs>F*GS0DQO$_)m$rzx3Ve&AZYP#Y_1r!Fls-`fx45iMTS$Bm%} z2K*u-LL@ZAX4j0l8TDy5BMuq#*hKp(Obpwh-_*v>H0o1Yp-EL+83%$+FjWY?DaYth zP+}a`hz}Pa{_?9RmVD+LPAB+&u#mE7^kkl(%rB}$vPe#l!ks`N!8_lx6&algr1z^#`jMaRU5>jpnv;30j})lG z?`i#gdE00kqcBQXwtk!sQN?umD|N0E>uDL4r-4!k7zQ!Tm_Os)xsNnxc~I|wxQA|K z4x8yScW}%}F}Ywq&p!3MQG^SAqd5|J|f{Saiy!u!nhv zgdf**dTm_j47RO|!x)G~kewRh|BmD|>mnmw|3Y@SFiXt-rpQ*w^Cl(NXnQ6Fd{*QaN1k-ow>|sSXapn4$bO>4 z$z<-i_N;ETRzP66Zs+Z)_FfA)U{^$5ZMnIWl_$ulx^Ax`JZ?EEjEq`ZEJhoMh2CIJ zp#=#>GijE0Na$GZFv-7S&Wsw2giqGjYxzLW1;>LS4vePjC*BIVel%r;I0qvS_}JlG zR-$rEJ0@zJet1*OVTX{Xaq@q0mt70)!$Q(fF*T4up8Ztb6)Lu%M+h=8{)wqQuhW;$ z`1IXK`^FCHi||F5G@7nSDjXlDN>rgqzPc%-J9Tz3Ez$Xb4?+#5=< zcDf$36YtAw%VCF8WITcU$tP`$`F)R`uiB8&@x=h!L9ZN&JD>tG{Wk^C|IB4W5IR@; zYw*yoM(~!rTjq=Ri(3?&d6tL`=O&6mmYo7qqB#D|ZOr}mSM2%&-V`S2X_`~%q~WLy zlVy$MkWpZYSSh;ntcp*kaa=ZZ_(iC*+ap?R*|IDJGsfsSu}9%>9}xy9&tJ5wMV^#&;F zyaKy*gnRm)#mF_^-03<^(6kxWB6OM7T6M|pzh7|cgXjnMgl$ns`ESK)&uiV$K%I`J z%cdfx9_)kX#+6|Z%y4zAzIq|#s_5pD`#>=~4M{ihBCwG{B&4u^i~Ukfzm=BD&t^!& zkZc;fdp&Cm?`Jb&%GxQ3$zZQasQHZ+#pfwZbls;nfqd9)^(Kl{24aNy=e;ZBG6_zQ zvpkx0M+Z3s^jFt*py&v8XGutuWfyG^t+fW>mMwhYnumJBywbt4Xv9T572@1W+c*UE zy7^8Wp$Bc8(D$`11Z}r>LPtb+0#B#fj|yR&WNk9qa)@9QF$IVKmP1}ZEiHKQDPN2U zd$W$u<7%$Y3kX|hzj8a8t9$asUyn06ycTeTx!>62UA6xn&|S$%zaaZJYxa*S2}cME z#1f}UElRzR8_Vmc_5;{kCeT(==W&$0z!!I;a$k60Wcy^06X_(xevW~qoj&kh5z404 zmMBWws{tZ`@)q5vq{mi9Ld$pt19fV51Wg)ok2Wbl3hZ{x`kbo7=O|&%a*cW+n~YH9 z{%=z8Db`W2+7gg#(KaBFb@@bz#aNw`vk3lM53kgsghJW@X1uW7eLdsk9X+$0_$jFR zY0aQP&~fj&41+UdeO!Z_K0kC%GS%+mZlhhA&Embn_IAc*0v)+Bm1O`xMn`qdZkWBj zx9bb9dvxI?F_};&2Bo>2AodZHFG_0hPQoX9K=k3i=kxzwhWH4o4$?*W8 z?|lOTmxTzF%>4gj#`({p)9b}jVaK$@0BMnUk?DW_Y3Drx#yIRrBCnSMEx!;>pw-`ZYt}#OVEhDo%OiMQO8~|YJ}fMrMEWl; z>Z6lF>MPK;@qKq^bICwb|lOCM6Rp=`JEqO2fwZw<|cOM zr$fHN=&9G2ADLWGWnz|n6_p%Z{tH6YS4Xb3=^s%|_=Lu-y#!Uy)$9t)RmZ;bC6`b; zeOl%r_=sY;2-jCONHUUh=63qVhq)N=hf|1+%a_hr;xu;yzuJHhQHv?wWxa(DzFME{ zt%ZkxDf!{^#8C-xg zE5{hjG*t)Ppo0EoGL#__!wygOFl~n6fi#l(iUFh(Et0*KMQXfk3;C{^r5+qAjPrR= z@+?iP$bHSzKX3I9S~#a_<4aZYUZ5`1y+$RF^lG;i2NHBOwWmuqt^w3f{%2^vvVb%b z@@qE&52h)Zccfr1l3@$T?;_qY>WEiz>{8@$igyl7WL5QJFNANVosyEd3PDPf%hgW* zo(0JBCNPlw2XT0AGd%R$*C7##SB+t3+EhB$YaEI_Sm~)3LM(Rwz}N2-Mzi6_arsF{ zJ*XkLBF#&deZn}ZhNTS)7#{O}_Ea5$OTm9DVjM_ML&g~WLpMp8f^^22c<+F9WSYmV zHZyBrbv|UO3ze{C~)7c-RW$j8h zaHjr=Id2q&=T+yt-OAKFkXTT+Hud0DC88smBTb5su;boIi=#A)tsy2?4W z)FB--dVoA-SjiNVm8FU7>L8jqs{-LwNjL;?2rj9m`bF=BVb0t~Ykdi%L5q0ZZ*JHa z%Saik#@boQp*#3eubTEH29DXvl))Bb~21S3y4H^_}zLYj{t5Ke$>cvmms8Vq@o#$h$ zNc(<5{4E@=u8w~2Mu8psHup;Oh)25>J9nISn{?dm*jVa886cPbC`P!Lw=!$SW;Bl3 zW$O=2fOM5gfOk3X+m$-vIK@_U3)8KPPL7L{45X%Smq8sBA^fINl4vT>o7TWI`RtOm-j`G6FhAq!m4>85sLA=K=gQD^<^k#Oq&3xc+8dSe-t4d1S1VJV ztOo(0f}Tmo5+poke}DjI_+r282il}5ad<^Y}zBM)kl`-;CLN>B}ND8MTe~qi*9$295*WUWF$1GaMDcoRr*vQhWUjvQL;AD zjvP(?!@^JmJY`$-nGA(&Fp)G^?FV7cRb)c&uftoEKwjqXo(Z9RmT|6YcwVUQqgRB3 zvr?=uWyDA;Xl}tB&6!LRI+Jyb3AN>iPZ`!fX`oe|=jZ-16B0#e1)J6>?DQ1%#bt|k z)b3GWoRUzADpAIxg(laL@LV?3y$-2d+Juhqq5-jAK{84XgW|yX3a8*GaCsdv`l#Vz|Md|~ZE2Ye(s?WeN{tM-DR5}{lRV2#+Skur(_kw?I)jm#ldh^qJn0& z;Vhl{Em}kH9OfU?;5U8IY`@=LQ+Sk)!@_}A>BAqSc}>b|+7nubcH6=Sjo1Dh)_!VB zGCkVC+fg19;YocWA1LtyApgzXq&w4>@?9lr=E=G1I&>s6h@$yQgFR_w;&O? zJB0CU+yXufi{LL~w{>$6b!9dV)S13hManfA9R<;YPb$qk{YDJ_aC+jzWOw)1c`0$l ze0~0mePJwm-wb((O5r#zRWcKw7EJF6!+vOYqmmFrMx5phGu1>K_BvsdUfF;JjdT^J zdW(^Zr52`+Z)r1%G^0I4wR+3j*zj2OxDfVTU*qcm#io4?O!6rwjUTx2ujC!rt_a=`Jqp;gz=;ylos>zAdX%+HCEvSV=~~<9?6E|)Xl;J| zvY69a|+@$ZZ_DNj$Z}<$%BBL2bkY$1sI)C){(a z-=CMHqVuX_m3G+IP2^DJrNigNF70SRbLDM8XhmvX6cQm)@dt)TiCh^t>JK`_uxVqE za=uX_5$4(ASP}kSVtC2Jp^#caJ?v8Hec=Q2Gn(^^IM3ZJj6|DR|OfkSTw?!^se+0cl4K`)B73 zFw^eHiVg%|)0l5z#}m&8B>7yXr^C9osza5yLm*M$|<+MdyLaWq8vPiN5AN-2S{=O|kbH+`bA!`OqNo zUp!retuWzo%IYUtUqn}TE@A~=cX}dmYa3mlhlBH=(kqt6KYoDU-)3BFtVCLS+Ct;+ z>K?`qs4-o;M>8ILJunK=N~KyhGF_^mU8ePYFg%EQho9Q*3m%0^U#fzhu|*x}Z{B&j z#z^;esmg~PdVnblxYS$+dtG&A;?m^GO&}#_E6Ar#SK_<0Ue{L8A(pDFKdw-@StM}C z4z34Zabu!ZNbjkB;Y@YPbOHvZufrZuzcC?S9{mc4y50#K%z&)4Y|F*3!1#Z3FTGtHg3aK;FJ)f ze_fS$n=+X%yz-;-GEhiRF0~M3Mx?GgjQ(Bwx576L?ZVS&T*P$PXQ)dlmckI}9Ff$;QveR7tBP@wIr*WNaAhGnVFbHxuDxamJnicJq^d<$?R% z4FO~f%dq}VdfN-xj=wf`qG%v_5$d4ObC?A&K~ z$tbZ(#g$;1$1Ur7_T|p_9hWZqprwclZmq-X zVNy_wT{Xs%8tXv452We)%81OuwXTn@>9-Cju>2Ov_-yD7l=mWyEA~Uav=%2Pe?{a` zWK$rPBRYi?P)wk#FXA1E4-tsi3lT)}09ZT)!k}us?mt)`Q+ghZKZ5_*et=w!Zi>lE zww0^l-@lD7zcUUD#0AIu>mpRO#Rs;x3Hy?dZuH$+o8`tbNdsh>;2iQdEi$6YgH9^9efZx7foNR4;%Zt_T(cW6bMheP? zM-?*@!GBm1G2DRU^Tf8p5%CiTsL>LEboA4xxId!JVP+y*p0FbG}ZONo2#-gd|2i!t5oOr%5wq43N7y|DC`C!lrUZaZh52e`r=( zv43Rjfnbkl?9{|P>!gte{*-pE*i=!;w#8(e5jlYF?2{~~JvEuZm3lBen}UAoGo2Pp zE+0ixq|3oW#gweQTBT#F>fF4um*SvYl^PIJfjGrpld9l6Ob-91&v->hBWt2CZj7rM zecW%A>Y{3K{DtlUL$Yysh|~bPhycRMfCw70$M)dj;n#;(ggS|*`d^dZ zfAqd)F3Dt(pNL%_yyB2v-=LkZ@!R{H*T4$eBJvivcR?Z63x|AM5hoY2$1Sp)3NJdf zl9u~=#={i9@O^@mjP}-ES~1{5B9kyeDwPDZ!EHa}bt(0x@$W=F*$n&mzZRl@$9V`t z4>VLDzDyrjG?+*XVsI%%vP>}z*i=+Pz-hSJUR z@5>4LtzIoc^uajJJ#v13nxb!$_nbv04*9SV}EqYE>FSsOGXggp;utlhI2^3(YRV0W`- zptQAxkO~M#M70@g{tlyuMi=q)Qb@+Y(LsutHqR?#vRI*o08OmL0<|zCeiVN3juF=O zDK+HmVu@?Bv%k((8EtvJo9EQKo8^=Q8$H?wzAtOo{3}+H*@jgzoHl1=A!~Vs@0Q7_ z>5#fk0O!|5L&oF1hFuNQej?D@P#pBorbp~67S_T}ydPEo$M0cykueVv>6cY$k{_fl z1%#q^WA1V5XPxBsi-Jy0PS(=T#VC{*5abndKAl1o_iL9Rl0yzC8zbBn*=^@|X3DA9 zoW6z7C1NiVTjusBwz!*OUyg}~a(I`X(gz;eFqJy~(ttE&^s>nylSF~X?G|iy9A-ox zoX_yz(bv$&y2{_w$js7a8U20JGFVbqmnFXaU|cmOT#xFF*)a3n5K?F{^&ohg**`&` zTZ5d$0akLb2Y!P?$MD8WA%jL2*XG+Zfpl@Nuk<~4!%_XK-V(+#b;^;+emanZjQ+|i zKlILvCX?V0V~x3}+Pj~cnCwR?%Pr4T%YLV5!(B!9+cV$EG1K@aq@R)Fir$bS)FS%w zlO2IRSVCcF&j=znt9Zt39PSGPk3;*BLM;4ug2Vff#^6V0wY>WX*MD}Pb4!OJr_iVl z9&(#*__$07+q9oFs{>U~mBhQrzwVrW?soR1)8a%yXF(wjo238+nZG*BVV7(2xcv5k zCgKrLY=|}&CW=3p^+y+8gNVO#L(C_G8xNTKUdUFc;RBS@smWu1jrkX~bY4Zkh0Aaq zzK9dsF5Pogt8M-j9(gN977nR}>r zT~sQs91V=sDi7C#os2>fLn@q&GCN`yzt_L3G(t8u`@~q<5_YB(zseN)0L$@d&G$Nt zkfGCiQ~R~;(pG#A-iujd40PVb7ROsJKUiJbx|b7_^#P-|DIL1@`gYaHFEhTWLEzNC z8S0AwHJT5rLEq1(JLo-qaZjF+q z9PKJ=b$*bCtVuCD`il1{p{}X?1MOBw8y%-~u{@iZW7q`kPTXiyk^QHs0j`LwI+Epu z$?dmqPZ377H*6ox5c^I*!j&JKOfPDT!ZI4Q6s(fp?xa{cCUx?RbDb!8Z$*_KK~kwaNwJ#z(YeP_8~ zJ;to}%GSIp*7J_RVN3WQ&>u5JCa|9-KFd?Ba>&?NTU ztb4XnT6TFsUe0);8nBED+q3*7@-kZHbgCChalPv@^2UykI29XQ%TgnAIN>_TNEk%EG$RzwNz&h`^!fui<=^)qWDpBwaC zW9Gu0=m=A*8>b1$W5(Rv^k@bj8lzB$eA=S8cn(=I>JQORSw3^i5-7n(Dj9j6RnMsQ z{ftRucQb{;@k!Q;{D~xY5JEdbEcT2V#Hz$@&l>o~jcc8UHM_boglqnlEFZJY(>N8I zi?hA%C063g98{z|1tM?V;f~XAxWi*iiMa6*{m^C*bZt{E-lEV^(4e3%wVbG$@R)bS z4h9h*v?Fwofi^NK?YFXA5l=aeUu+7bOhU2`+`FuSgl1Xzdu~~VL{NB3h+=o@%w{ow zzET+HWdp%NII$R^J$1~58yWB&?lcI6LiU@s^t`LmFUtcFb5B(O7 zZ37;)YsHZXtubeYS}3qd%bMA{GQXLjYP(q`AJd?CvCIdxQ}puRMUkZ+RR^${mwoh5 za!u|D!h6K)eN8a;zh6U+=n%*n`8^I|!V1|M=OaQAGL$>P0U13Y9OxTHE_Z2i(FJ4E z7QzPQ;zV~YC%|jSis=%V$@x1_!?{L1c!2jH7Nb3mz z1;Rw`f~sV|Jl7@!!bGD+^dDE>8jpU)=&S$JRcn3GUc1v%QTw<}A9v;qYvl2A1adS! znstn6sWE>3p=7+*w*ce+)D&UrG60p{vQ31~ ze*O6$aK}RmH2AfT0yEc`_pQwu$Y&9glL7q^FFVK$(%mFvmKL}_3S9NM^b|9^OaO%u z8|O;vhPl?JA!Y(;&d9_w`OAlwx>$W_f+%c66Jzda&fn>3md`@aC8S9o(;Q3*%b5kGQipNTJr<-%zelOfynW2qIb1*Q7jiVO4Sd*rr3BOTDw z7XwQ;7{mo*GR;cM7uFh4VjOOQ=}@1rD$=yPCM48H=R64sgv$Pyd#e*Vtgt3 zy@Kj7_5kbmeDJZP%T_S@3MQZo<2YW43LNSB8rzy3<9{1-|Mk)L)ridZ^Zi0|RjlEG zYiTPp(RH!VZ=Q_m!*5&#B&?~@f$Ba~aP;Ge$_P6`9oPfFpAdPFUD5=j(H9$SY&qR0 zyR^(QlN^qMOrjV5cP?Jibn1(M-|KgotYFqcO$8nU?c-RZCBH$xSbMT_)Dyc)2oOj; z-T+2M$!+9FI_*sF0OBV?uCJkSzZRf=4&kHW6d4@7`ja4_*=`SHIjlXkv?-KV`)ZzP zlC1^|v`7=E0gbnnEK3w=&ccJ{RTRCgX6|D=<0)z%rnYdl}X60!2j)zSGu(x z%H5)CcNyy*^HlZ}?sDZqZ1?Y_6UVa_&kugodS*qptS&b6dM1C^wcV|d3u-~A`$k%* z9OW|9@?@m|>yR>vvXnsXf664L10F&O5z;~4?mu44|7)iSQ7U;U{aZ>8Ay=d~h3>xr zZbW>0>Ws)HhyZxl2|d)fOFs}A870woXEv!Nlo?Zvig5)kYEfyGh7h}*N_oKY zq3ejq_7Lf9^f^Xg>7l{!ZxD(0dnq31J{2~9`MPb%Qvto!q#0YF=~W_k;floOsql9o zp0G5HI)tQW^ZVn_L`m#pXOZ^mr+*fJhG}wpBKAL=O7GA)5(Dn~%F>~RR~A5nK?xjm z*j(KNa6g}XjH9t7o6Z<>_3PymBqLYt`N46{5Sl3;`9)bZ5b$kXz*uk1HY?XM>yPDW zHI0Of9nxi=>dH{$=hEpEd!0!PHr#MoCoH)>Sfc=Cd~k4k8AR`HM(ac;b0?Q##edGZ zYxed2h!p95?QZPb0qQU4p8RI+RnLM>UE8k*Xn{DJBHEv7v`!@(dbpOR0Yo8WtVmBD zom0`mW_7InL70mg=wXGzDdDDasG@!4eL}YOCsE=rnI=wl851=H6(Z~V?c3m)cH%XI za`+Pju83vF_TD!05TmoW-dd{-9~PfcITjCVN2!7GF3i?)VFv9tz6qTd6!~~>5^ClI z%+Es;z5}eDX6&8^ubDGVTGpPY8EoLEK>qCt=9B*PI(wiig}2E3l~AqcZN)#sceFGz z=5Estb8q6S7SPLasfJ(;k|tEgj@vV{;<{Zjh)V3?;RWYw49U`2PDDLr%XEKL<8kym zt*!jd<$8I>SsVq!T-M`|1Q0cRGA7#(WE8hMRUBmUtPmUw)E}6KgTNrszLM;H9tD+q z5}=^p6?n?vAc!My2pt~KNXpEpZjGLN7fslZ>283;eJC43-0EKlM~)k|MTVguFTJJ? z17{IJe}hFPf2kKCZ04*fr%_Uc$JWpAh_IyB?2iFVpwC>`7-3XczUp@T6so}~x{Cu5 zX*#-eoQlo~8B{fdL{!-2DHJj3qe7@91bY<(u2eI0)fmDTQNfblc*umHpTZ+`U#)6` zbL}bY4e?Lf!ulz&8vktEVT}yl6CXHINeWxM&;`j&diLXgYKoT}InqL<5-BfjgCuz8 zjv@P{!p(Oij`bzSg#~TsKI#ujpK1Lp@-J^vRkBX8kDmAAR3comv3A~@o)7`U$8^hm zXY)h>bZa@VcO>vK@76pm=P;NE&}{uARAYd{5^w?HX5@$^kgcH=kDOqK7;8Eq0h6rh zMpMbwT1=MNIbN(wQK7?IHn7EmHKO3tvCLLkNbE4XJo#*MsPaII= z%Ia&*nd#3nUuErfU8VSv3|4O)OArNYdk%t1c8P15*)S8AWICIRNp3|JV~uzy0zSLV z(xIffb)T94bWh=)il;%=Ayp3_y-yA=61?7tN`dv+)#^V@uK_j`c=z>j3K|VQc^EG& zHXCpJVm2z1SF58pbZ1xr!%Re4Av>bcA!wXmiFEZz7KTg4Kl^ogZfFzeU@_QI{i|_z zYG;AuH2m57k2(F{EBosI-B-R`Y<^RE&}t@ebPL7Xe8xwJ*M;exSl&%%vE&Bi)?z)O zzW_2l{Naw9ys*!`T0YO8EpIv-9=U^Wk4VMFf-Vz&f{B4!FFZh<6+(0->z!r(J^$t9 zPJ{^zb0P{*P;6{0V#z^xjhFF7iVO=s}3(Y?%qUoXO1d&yci z^7yQoYQ9bgAb@-9a3mw#vb_%fg7C$}^8i8-RdFUGBw^700$ICb-ZwNw$E6$6^wibX z1MR+iQ=`y~qWs2&4=`;f1cZ?qhPF$A6yKbMbHQBb07AkH%S#7B5I6V%nJQ18+I{2ODGcS>mkKe z(d_cH)zb{r(3#TPGB9H}*QIP5edAnazb6?UlF2q24AvrZACzM8xb$JM7?J~D)=K4V zNlnIx#uC4FTR}VezCqoP%wV>4DHHPvs(ond(niklZ7tZ_Ig;&r)xQ$$RdK0uRhUm0|sB!o)6jXs0bW{Q>JM1%GB%3kf; zYc^pqNfXQA>oI*r%7A?PIPc@R;0U5OFz?1tbHA)|J2~f#KUv$@qX)6McxL?T z3H}M%(vREllebt7HXK+=*sLe9MJYeVi?U_nZ?)^(6KwdHuj1EQTwJQcAU{)6dsBtI z_?#$vI4=LsvLV{6A`?u;m5Jfmy0gD6TSLW~KuvXGHrcz|^m0WA57Dplmi6}Ga6Gr; zWTx^zp(1Un(|Qs>5gqZ~#a+|3Sc=%~l@>Rg`_UX-b$&)gx0hbUQJ2Q1rqYnZ*Cs3e zW=dd1xQrEr!GnL@{I@2_MNwjJA;8@o1Cm;~+*i?Da^$i(yw;xPLO@)36A&1|p&MhSJN!qEH=EKQyRur+e zdm9fkH(m9gqzHhsfgjanBjJR8FkL_pXt8E14z!#!P*{)#x9W5yohZ2Yl=iKwB&xK_Oj#RyTYH9^d0$)N#wI{r1l+OUu|NC4U* zum8o~!ELff?$%Km>g8)i-;Nb>+wMp`%W%+vf%LjIg6dsL;KV*mg8LNeXR5K%t=Dz= z3Jg5O0E|=|MBXLt{$G>beJ8oXXvHTu&e)ZQL3|jgAr{l>fxmABw)sJ8MU3LNBrKT% z=V2!IUSt=x$D^!be%JNWo+~vAyQF~er~d|I5l}euT+<&$?DMctkGD}FM z;=3-yN^&~$jZYSp3uncZYbJ@D-uH4ve&)dX=A5Dk`(E=Ekr2SH40i=TDCmk&_DH|{W047qpAqbr{vZ2n#EOPs}+isEa3o(ZcZB-ObN z=oh<%JngvC8(7$;c<*iW3y5iLEW^z3`{ZL(I@i!HVk|y#7+JougdEK`0qdlKe0(G? z^c?}B8rYFpA{R()&(8$nGQdfCQl+$m&&vurfq5Q@^q?eT7!}V zYQf`vTbk-q^U8qHWlBWYrgJLhN?(;6E!A}ECTy1`MU*^UW(gJhRLoM4Y>!&|CWLyt z?X`edMkbee5kywMe;CeGPfVP(3P_60$1~K5L0BtUEvpeLKQ*NuKSj zC#J(4BZf>hAp3+f4TvVL5#m3Gz_zr1(L%^gRO1>SKr3vq+BC1?`MdE{&8Wf2_lPOH zpknhrV~=huC(pJIcofjH?v$X8s!u=zy;s$&-Tudt;n?lMDKg_Npe_B2m?3N+a5(E*5WbmO0ajRb4VW}RGh*qc8|Q!A=+2D z(3xf3t9!QG7TWW%N|i-hj69Y=?W4t1H3ljkXE;RIentGQmE*T(>-l!8m7mCAf|JXv zajs_d0_KwH5j5>>&MHVq%|J=z&{sdMyC;7gF^vOM@M|ynfS7meqKA5BQCCE+g-d+& zobbWvlTPfCAO%iM!t5x~@3&&FWYhErlcSKd6|0}ry%@n_#2pTY5IiFzI25Lae~7Q= z_OeE!l39RT@Z!-4P-i&qvY^!~v?WcU=|}q+MguuY7 zntW?(Yx>F{>SRI}NPba_i}%AcG_qqUa)Ff3p7pngdNh@G8I3hkxrFN4JXRU6&EvIX z<2*tp^RO>xT{o+2+^x+(#ZWw!$-Jei&%9JU@R&YGLGTlr>VlL_72$7cBuzPDHOr#7 zQdd>iKaumwx0$}Uw^rtbQfPaqkfph(5Qc#22ygM8UM(7njp8xKj6B7ipb`1hAAS;B;FMZ|-H! zS6=)_7i9{CdC@(^<5>!oCF zlU3t>Is7s1bkx1_X=KP1`O$RZyswGe*jyv>YvPtOSwZ~=eH`?m)X;g(EB&aOTdbDB z+!MJFJF>VISPG+_He9Rl|lb!aQ;Vl`3*LI9-DXZ|BJ!idA}7|-v4fyZ!ylN z{4%AQ(CzCi6@*fp_a#gmDh&y0_N!0d(8uv$$AoThE~Pu*$-% z-pk2sG6xMcp4!HIQ;$YFZIdN=(~~^H+J~u6EbJm&MyxViW^T6I>_K+Pv4hF@{@MVC zVLU9(m&d4zk4W}=#iEr%kH(n975DJ4G)oa-iTr5+R(p{}4DMZhCryt^?F;X}#%a2f zoUgoZD=I^-+?rVnsa@2$-X$+$FewTWdxKj`LnhCkKFqB|ChqS3u}CsPRBfCWTZ2K4 zu&E9e9W>%;FX33UXZOJegsYi*fkQ*JSw*8V3F+ZAU$08-NI|pu`xlHuV{N5>RXrB~ ztu=?^C+abkKXu6mGd(+d1uqc#e=WfnSv%53@$HswkZC^_gp1XDg!uqhY*cZp3bpVH zdI*FOPv3pilqA&D6@$>kyUI8TTv)I!9QU{--CpZA=l=#=i@wQFHL8j z1rS!&gdq}Jv8M_`lu2z0WQ{Wh9y6s{3;6(N&4nNq;1yzAFo_2^xJGfWT4A2^l~0@1 z=Zb3_a$pApcZvMz4;~f4r?1h9211;@Vnpq;Gzk4VT;cqDSNxPi;;Me)B(vuP#KnPQ;l$JOTPya-Au=g z9K@dqzt#s#q3S7fL5sb*70a`;FTBZ?EaMN!uUx-J4%^iT$+JpTrnxe6a&`L;(HekDOpD?_;SV&}5Aq}kWp zQrsan$SX)x&eR_=D<6mJGC(60#i=xgl5=XESNv5aoew^OG2Uzt4Tty{#cePqk8uFP zWAzJAWyQxCAW?A3yxy&et!WTLZUI$o8Dl-LNp4Zj-fL8QYiyaSrUd`hSxeq?CcS1y zen5cOOj=*Fq6ncJUk9BriKVo_n^4a1uJ4W+hRiGYM?>!eJ>$BwaWmp>Hy5ar6za}s3lZ0G&R6?S978M zdH(b3Q=v(tk#|bvb!Nn6e1OmLGVyIs+5u3iz(#bvKsKRPOsKo1trc6l;-vrWB2)aJ zJ`C6_=&+?|U1+6{o9GstuS|^LdBGv8ju9$$Al~y4*J^}y{DTEHjT+Qj!09WZ6ZR5_ z8yqJ|c#!3qnxHH~gO~t^_30?9(7uOjiVJ;tXdi%(#5$U8|u-9(~J->*uxH z)P3Kuoz{-n^SOBLD!*9t5!C1|&-wQ)!{AxC$)`CiF4n1i=}jp(CEniwU_r(Kn@^W8 zbSJIC221|egatOA0O>mc(xiwLf*3nyX3z{E)PhWX0`h6!yQ9Mk{R8QS4MI$K;#79N zs5vwxZqtm()tac}t-kW=0dFZW3&twI|HCS}4!r)kcBNalDU5tB58Nc}w058&NRg?3BP$wC=lGO5$MN;=J{3xcop=kX-6Xs653{y$8XQVcide?7;!d>v zo|rgD?b7ILStK+La0qsaWuv$;EgG~4#)9Vp)$`lq>CC2}+pYUGqK0YL7bVpvqZDYH zc?N-k7+Dz33heTZ8uT|(#IbJ%Vvp2zj=skCT0Zmj<+uA83*-2^Ta}^$i5zAXl^;wk zNi?T~^E>VY;K{EB{k0z6I&l2k4#C&9OyK*UW6a!@;JFH>y#CF04u!YNYK`ZR^ML)74sB;(*F~GX6-R)#oPM3%1!|qQK4Q^TncHf$ zTCfP0JA7n98OdH`FhRxB@rBjebK%{GgG$RKpE!`k3 zf^_#pLTQ1~n=}jt$dh|vZ@I}R5W z-3zSf2@WmY%a^4x2t4j`Ntx$!`bp9G)`MZf=kp%Rn!g?qm}}u)1}4*$xJrud!ep-Y z1qtNGnv~UOG%BBwN0h7#wdZwIjCg{Js_2L6HJ6tZv8I4kc)TsI7zMvI%`4P2aec44 z4-?rPlX14LyK0J4AI(;d7Z96%ou#9gFe;)|YWG9yO~UWO4H%(2rOrnjC4#Snj;4i! zBKf-O*#ohT%)(jsLZh}FwyD~baX-X>s(MwfPNm4w09P7_h;Kz#ea3EPQlCx&(W?Yf z1Cmo;$bRIqf=-r+CaZp@)>%yT-pjsZ-b1BT!usf4%AovRuAtm>oAXJRSXC~CdMds& zVup7ggK0?gM(skoLjYAH+Y+kH-d*h1LG2MlzkNUNKJGvjLRoh>Y!v2P_YZ8Ui%frA_j1&e@TTi2cad$z?UJ4p zfrh@&2XU!b5*F1C@q+nB_Ggbm741m{{t0gXMmBO`GVXtZA1yv(iG9|;aP9#MY4PvJ zJ#I7~U`~oSlzKNhF07NJnx(~*x0Y!C8L?W4>C#s0viBxO*4Sy)a89e`s%e}GpgpU zO%X&FPl|Mu@}rmuBBs)&v!aG*P%?qtv9=R*kS)pU^FcQJv2r)hpUX}#LXpwj$ayX9 z+Oc&!4nPB#EcH5*V_hwRHrh{ zQ}GdxO_|?9-2U{w>oA+>`=D?0R=Ps)qotuWOb2M`N<;N*TY3DcH0RCp9dJW6b9IVD zLB&0gimACKqrQxTacRg57~@I|&~DED#2)mqzsTg}`MgG;8~O>=tLCBF)co=0(~>zh z4yM?t?obzzo4ZSyi?ft1L<95|4!gYrt?P7u!;w9A2l7Uzobzlk8Pp^g$Stj7$y>e# zhh{`FUVgyJMI`E4BF=SpiqW?04ed}>O<3#C@QKL;v4z048hoJ8c~f;6DBmWWsZ zi0t28yGwB+kAVSWPtsSN{Zu^?4?=e=b@D!NGTxOeZ4dVW6CL>OiR@ihvG)sjXMi!p zkc#v*){be7$AV}K8R<|gndgTO+l05BMn8w>)Wr#|L)%>LaoR%s*T5I+uj+jFwD>#Q z1#|))3fT?f(TDq@)-9yZm#X%)&mdQb&6iiiTt*eEg0>A#aw!J*Y(B#`kQ%1i-rX8L z-}jJG!$erD`$}#9E>K`f$Q9B-JnJ9eG(~(xrR$7L()J;;CfxS>k?y~saDSxHq@-4x zw^5^JEON`ip-Vx~Htk5uYWcGCU|6VuQ=)!;rA9ELIb2;(MWSpY%QYp+DIi#8pMyQ4 z7`C@l##l@?gl;it)_1eLu1b}qY=vQd1{=%@+ zme+No0jM{p<&TT`8ln9>AM$zc8*JoeUOfM_%e=R&o?KJsM~_4|MBfK5%Ci%o(M7ik z39kz6f}Eu1-2=7j66jWte{nW4jH#~2^GD>l$OJn&!pk94cV_~?&+8eXoT2wKjNrRb zEOLf>9c`a^^<_jBp`_LfGxrKuJRgmotUm;o{=Ewj~S5F zspos}Amgv|KRl%%bdK70ovHk#TKu{V@!hLhEn7sda@NV;jfLyou>?;31sr$K+WG%s zVNLI9=_hp8DmvG^64Ap=XeYV3&z=r-4GoYEH07!QQ~IEU_@)22`^WiiT|C)7(o^Q# zp(Z7mH=O&RO9^=S_Q=b4+vM3dpEzr#M)yqy)Lr>hyMN?AhQJGse`Dl-=0UyZ|G>z9 zKfRMDipo38$8d{|kDhYxVrgjB(5yt_4_M|$B>0U+vXas><>Kbyjzgwq&z(#mqlmHa zefZVKdDLWl9q7bS(qc6QXza)CXxyyQ_b{0uZ^~XsTx*c$zR4jfH_{Vi8+4FBcJN?| z=|#ryoq@0kT!psdqPnkGQNHVvCp(v}OjLxM3{M7JBX877VEBwnL}NwnBcV3jRO*{I zx%VYt$JA?bvb>p4S89kNx|0X+Qso2|41MAp7F*irj{af;;2WRCZS6(N@E{*ZNf#x? z024Qp0)(Q%v2NM$2TX@M%oUGHy*aNeynHX&y-Y|jo~bZ8mLmXy#b~~`OzXyBs#=uT zrDc;^{bgfbD0|T8xKMQcVx4#YkXaX#ASyIij0W6_X0xC#0ID8-=~vIiM(p6F5hn7? zaqtwlHubMsc|%rL8v2=;^|ys@)`Z0`pr}NFrF(4p8^pRFjyfDIVxuq2 zZ0Oyv*TNMtDUEjCwnw7FVH*e%^R6XpzFXf+BJPv=M0(fCPm#;IA~RyYcS&>Rs-uJ* ztYQd_?9y9$7R6AqbcVClq zOalnZ_@qg&3mD2u4NVkiwo(r!O3tw|kNSCGog0de<*&2thqFtDyonvqw~Tj%QX_KR zo*bR;1r37Mtc8}AHp-A6!m9?A5KV_);KD(eH|`!)^ZQSUpm1cNPZFjXn}j<4=YuRQ ztiqckt|EOrA*hD2t~S2}pQvVf^84YvBLE`Hf-+xLc`$JEF_}t00(iA|S|+jkTno3u zCdKU&jXC2p=MDg51mv9QhmIuhQMS^HH9L+aaW=QL{NbERfc$z~h>OBg*yfVEq znQX7QKm?UfuN|`)zpxCy*{O6bmHJ7dzx?)U{B?cQ?0^at_s7$GlRQL*E=R;NczL+M znKa4n}-wIzQC%7-^9R#=F^pmDrUwp(WyhwJYOKE2>S5T|C zPEXiEszRkjbURg7ZP>@t!Z@)9J9P&Gedpl}_}|;x!hML-44BY#v-Hh$axE{Me1ocs z!i##zY=-n!#vm=#McG8H&66z4x{%*J)<+m^ofIjG3!C)ot*3>G39?&eI8MK$F8h&{ z9fE1T@2oh0`L>*`Up3 zk5FE%^1Sbx!igx?7%&_rL&Q?RwOakT{1&)vhZceicT0AvpK_LHQYta-{IrYyo)z4b z+pU)bF<$L1`-w$@$;RxbA4o}&6T7m1kHR?3Nn0$Jsn)myIg#;{NKh77!qvRFzI=>; zN~^gluPBo64{3BzC93}R*0T5Vn6#s<1DO0vR_()03#QX9;Kf$b1&~U+`Qw||VbF4w z6H^M|Un@(?^4p^wN~qSw?V2eHTFL?c+2|_aTMp1k07-cFJfX?SaHq67XzurD;Uuaj zwNy}IiGXiW9^}&69JYMl4jAh$+4>wRak-x^eIp`^10EuXD3HZQcu?NJ&J8hOeugXq z#)jK48fyArrBzRd1dMI0S2(Lh0ZRO80+EADg-&ShTaru*iHitDoo^207w^buX$4iH zx6-c%ow|_t+Jv;AO`;Ip`80psR?{s!X079x#OAAhyv44@bE~817V69XCe>TGmh^^o zyEO8+x&Mt{%t_iK(9xZv#H=)VvuGm3^64j=#S5caXWvk_>3kaa>C8UpEM7P|2ZU%! zOxv^SPn+xUY*n;L&Xu{Ra$PwR;|*~V;GGv_O!o*SH$nz8unTl4@A-vNl~6$K#GGr`-$+BBE*p)N=k{>k4()r)VR2~hY^&*qpc*Q7N`||0sJ>Z11!n8j&mK4M# z)ZfQ4(!MPW>`O4fpp@SBY|g-Xy6BK3ui0|e*yjr@N3zYxcv{yAvA$L>-naKNSWCa% zODXTY8>EZ5YWbetC%53vj_L2mVaLoYUaYG`pqSq+pF?Y}>rAZJY)2e=eIQN7}C=%Mc}Js;~X9>lStjtEidp<>4# z2-Z4*afl>#sfs3bY4$wBdoNjP>|~~YhI}7+qt4Z&<@`A1>KW!lz{F$rKCQb{&$~Ao z*9QDNNA1rjkyaesXi#K}V#JdavUxJ_d=fUt(=NsK1Pwof>s}?ipvq&+F5G$LL0|Ol zW9RXd@8@iNON!KP3pE3%rdz3-wK-CF$6;vX9`nNei#u1_`yKQV)kd{=X!v-jEU~Y& z6@}W3GmJFxcV%>;gfXgc{PT?b&q$6@2NmN#SBZ;soRy~?4yBQW<^izQ0D2e$V6%249g3z%z`_ASpOA7_xJysu8u6m(kWDlt*V z>PkckDdl$;%m7a)wI^wbYZa^PS+#|*7?!yhwhr;q0CRh%DLX6R1hnqv67tc5%N7bT zQrXnUnUq=t-d_FPOW)<06ZNqZCC8z`wx(@EC<`+fpKp5 zwf*UaF(IQBtx4FFxZ(XQ(k}qNfL2l6K^p5f2D6mObBzM=MKt{X#xsP=p>*0<&g60AN=n$Zj&;lBFyPtB|$m_rC5I z;5U>p_ zS0pAmzFg!(Y<`ShxK^EpFNk^gyU~Q459i=v!TS;Tt$|OlYb@0M)bu>U`#uka+XmT! zEb9MCLd`DbhL{!za>TzCt0zptm(nf{$sa7663KDR)E>lT zC)RKN;T&n_gLF8lK-a!JWweRq0@cwtGNoWz!mtGBhrG)S)?$Zm<}D(JUI9H_eZ!zw zW*j-XeF>vz1L|m)H9OyU*(J|(r6Py@N&C=AevROCMmmRg#m|S~(oKsFvF6B3K#)tw zw=^?5efNY>e7??^kinyx;maYv^h@HGo~?QGxkYqP9rPDLH5~)|cjR|$Wcfu>>eUPCO^L(I`8h$H*E^Db`}ORI_VG4#7stE11o4sbT87A~#?bkUuq8Qg5f8(c z_YEPGxbq28c294ce;g~=`SEPzJOxq_Z8*^1Xqlu&7SCqCzZj)w!}!F! zKa4u*r5x2+)kjwikb;ZGV{TPeP0@Z=jI{;Cs|z=cz&WrBhq=h6>jquQSYu`EnYSgA;)ih;)}gS2a;x0uQ6lW7fzp+!&rzv z$NT4?SqN_Ye{l34F3UgF$Nv!Re;O}r|KqDS@;yf!*YfQzH&v7kb!1*_{!p~AiAXoh z|CYM0WC$fk#g5?=pm6XLv?DK4-|Z($2lXe@4E9!+Ciafny+>^}i?r4WW7fFGPV;*t zM4aqBMJ#F7fi_<{TO?DQ7{D*$3?+obv=>7?q>#uAtVOf3{;%tLCXOdzZKrE*8@5%4 za|uh5A~+H5bm`tR=X>LRV66jP@gaPBa-4hV()>UbuBF>NNF*C?^(>)c25xn+?4 z0yGjTfJ8>b2_I1m7mg6Y2cfq)Paku8)eQIsfp2H-hga4gRfpmOL)d`Fcb?8>FAMBI&cxy6OwYx<-c0VuMF;52Fe$BLag}Bn^sre zhp)=}zK+`?zPkcYDLpApyt~UM1_wOrFVdE|d3R=1!3t%=2dhF7)bVe!!PtK_p$?~( z_T>2TLPL^~hjc4t0Z8p^>hJV5^lbQVgw)7VAHB3&7iCw}Q?W_$7Kn=K?Bf3vrNF-B zfGoRo<=`7^p6*y%q%bay`r6K@XWHV;ND{CWfmRK(uzP4$93FU1wp zb;r|uSiO}fD@EK+911v~Yk84_9>F*1Y@tg(5D*j5N6+>}R9jl3f892j`gGa}r`JSP zYFdQ{&>QvdE(=@F9MlPhTyk!QTDkBwd5Ua5Qm*tI|Mq9w{_eEHPCuZAEZ=tK#=xSN zCp&`WNbKTAhl2H2Kz{>q0Es?CL+cUXC3#xajU7vg%3Z;P1Lx9H$^zbJyvCkIxIEr( z(DId>hZr8nZVW5G07ib}ROp=fwz#HT+rjs)6SK#i=LzB#p@Ud0a>r4L-LcUvp}bM! z@*ZD8yqa*`M{6S2NFO9h#im*bA#%3dp-XSAF+XNi;x}TWe+g46Y${rNiLSb0hkXhp zXNxv<3s)s`lm_v|5@w+#tRwGy3<4}Gy@jR<{{SQ%-Y9XTn2E&52@7JG-g?8z>F*5b zcch0mC;XB}ivtJVu^nVJ%B0K{tScTa3(m)5@h9JMYyn0>BxCd=>Q4d^g+A>X;AZt? zqxlwfSNVJ)yVTN)vxpZ#8*im^rozjHO}}a?^pS9)>eeWM1GL%W>oU;DXxXl`Wm)3W zY$PQ>(=$1L{GfRMoe?x=&n#lOdj?gXBEPD0b{Yva6qp}77{OcsH?ywVNCMuYfs7AT zsYKI0@GQmM`|y5z{ZS(zr@VPnPpEVF_nt3T%6FGBghTc6i(EI!tK+0m1v}SV;FhSc zxW`xGUyYF*R~9hRQ&XX~u><4N+^g=A!K|A}uBXvptsXq~^U|?8^M{WrFSWtoU+MCF zDlqF${fP+Q`qIO*<0aeE1=pNW;*xZAg?Bki778^kJUuTjbynoj8snZGYsX9I- z*|1^_XqpjLp86L!1%awFuL_jcj2LsIR&}% z<$?Uw`OOI^)t6s$Z3=lW2--_?mni7zJ+G0R66dkU1L<6~!8YCx@x0WsLpKe7A=KD4E zTR8uy4=}0vdOe1cyQbY8oJ?E15Wb&!TA_n6>`b z*-07pIX7GBu1Xu7gpA3)q}=Uwtij3&jE5D6UowhFWpxttB`8$6Zt9>6B*Wd|l(-*o z`j>HOLwp?MtJqmR=P+oJwvhCWkm}RNi*i%U;Gp|Q`_SoP_%c-<+)>p7w%QN$3MqS- zW#^9`opuvB92Q6D^2>hhy!z(l{l(_Om^_@b0 zX67kwEReZDs5)~B5kv@m-4-`|k!9hcr^M3Ad4^r&LlrWPN~mI9QK- zDy5f99^-$nA&wN*6h`zS%W7?%HQg3d#cJ)91pGIPK2BVZHBH#VbR0!}=!uv*v~p_g zC4MiyAvy8eydOSUr0wx$qRq)?xc#gt2haxehDw)ruk{2&o z?hY0?)BV?^&BpVX)-ueb1(_F`HK*a7W`ytPc@=T5T<<&HNP!9O?qV6cbBa1w-cvAq z`!zjF8Pm(X;M>eMMAK~c*{1XvH5(_f*VObx-^3~lac2xs;-p{Zuwx<8)cHcF(&pit zeV090BE8MVF}>3=UdF26b^eOL?Q8hM;VV4FoY&^Nhu0jxBC)JVAVTbWCYu`ofvLTZ zX{TncfG+Bwk95Ya@g4P^K2WGib2|{zbm()kIaF@e zY8rCD0=_yR;f!MYWHaQxpxSze%zD3CakY%eePuV$R{;nqbkybz3d4{}eet_P#^WE57Ghq01~yS~}j=gFB*G#e1Chm+FWDFf+2Su$fVM z*M2&o?Xvexjo&-GF7`!*!({bEgPL-#!AI;pvEvnt{b0HBr6qE}wL??%Lx2)`2B=%; z5i_+O{&3A&y$dw)y04i~1+bDZGPh%mcbZ_O%&GP+S-uh6uLYD97#&#rg`1cDk!QM2 zGqc$o(?|Uzy+*iPySpuYis>bP_qt*fcs851I!GM&8#QB=fR0M#zavZ9!EAPf=;m1; z*l4iK@I6{e+NJT-Egw`<3Nrqunf*Y&|Nq!{KZny_;sp$5D-yx_tJ%+5#QQ>%n=rZ+ zi@TXkVxDoSGD*nT`L}S+cOL(%AV+Zc!9=?{iEF5*NM`_;AlS?8QLsOlt}_J1wcli{ z($`igYol8rWJ1SGCt5F4}XO6Qb^S1ImT_-Sm1Cf3C z2};f(;?$c9wDu0tTOjr?`B4kP)U9`gUTaJ-;!Jug%v)HiZm+=7 zhqyi8&@s$8(Oh5=H;~VxjRO&9_+xgFik>LxW4{O!ok1kNtddQ&yTzCEg6E%(Mi=W`+5e+*_t(s>;bLS6- zE_SQFnQuzZNzebJv9Pd7o*{mhl=HGN&y^PPik+2AaY9dCrl!mm+g$Vd>n#09 zGU#$dvG0KLjamm$|gR&RLx^?0r6U>?*7+JU>3wWqQZ( zc9D;^w%bM1-_wN8_3;dYuZ|-jbG1f^8 z)bS>R=YIbS<^EyK{L_{GcQo<;w4w#@qdsmVC+TSrV{S6w^AMF98mhZK6+r2hDe1~Y zRI^}{v<6N!_KhwBIy;vO+c~MyM_Vasm~t?gEv)dFd+OA#Pn#g9$tF`2BC8JdvpER9 zJJJUNgPA2HD~p>wUP!uDxL{}s_1pN?l4`ZILEmvdQNZ&Uc;1ONY#+aqC2L=9~*8=FB@I_ttAXbeFm)f>$E9793Esqg0h-ZEQ|JSJyxoM&*B7b zZnTJQ4AX$}xcZzT4<0o34);}_V*4klh(cnyawpbslr1#qK`-(Tq=TVvhr=>fCVv?M6{a`Khqj#jTr~bC|kS|ULR0l}r z>aptTHoitx>*DGSlPeN+&4V$CY42hQ$cYm%g}Q#7wV4Rq_Q3y8A(;w;E@-0L1lY95C_5b+rzhNY zEdEuNI5e-HI~nw>ukkKqtDQShR`=|a`fZ9Gjh@6iAy}M+)W;opRbsDDR>rN&wM5BNKc0K)`)X(IHV#P!$ytt#ol)9E2!uC%?#eMzTId zj>H3g&}vTstFOADiAQZ$Usc;$O*;JUE;(#(Wnw0>GGKgnKWp~~#rlAIg@=%&Upf|L zms-0yIDIaLn)9^T_8dD+kU!!N-XFf3zylYC;3!>EEYGt?HkSMBdmAULTH&fTlg>5^ z>;dQpxr6duNDuiu@X>sjwI2Jja5I0!SZ8m7{A@ugBVKw!*>)t}A&ayK{gHs%{2eg} zy^IInj_-gYtAh~R)o(zz*L|piRYti6(kMS9AL2qaK+w)x!iTYXNxX|ZKcq5p_ApsU zZHOc$R6gNa3A&pwvDN2Ek~kLe&4{sAe1_QKhOclAQH?X{q4~myYo|Ij`j64Of6R3M z@>Kpa-Cbiz~TPZCA&j1o)T%&w6Y_&Fy^+AvB92vJHmRO(B5u@RuG z2Bh-+%eV`ydBZ?LOo^Kn-_J@&LK>Ext(19s$_RQlNa=qv^<@9nc&iU@u8b#Rkp5@C z>RdiVw}yw=GQ=Y2{)W?kZ%EJIEl9Vu{tIJn))WIejyIx-&%nmhH%d&N3up7iMW2?3 zU*@jHK#Eo|)(`tulfKI^_6*xh?Zk$x=p9NprPKs@TkDNhHb+?pw=j_~@l`#A$Y{Qw z!RA!w{R`auNykMP;h#c`g|aIjzgK1lzVAS^%cZHjW#|3rlVIy#)itQk<#^wS&m-S| zysNELENm7vn0JSnQgRRanQ(S7FpT;jC$N*B!i4oL`3i8&?-y#WlOA9&D-@i)tD?@2gHQd|D+et@HC}!m{?4!oac!J+6UEX!_1UEy0;v9OctQnQ4hK3NvF(2bGTK@N66ke{B z2>zDSB?&+5N@K28Tv#Q;y+y7X9KBnmUH@`2CEEzbe>e5ou>Av&)=(uHo~~%;K4ps( z4NOSlFPf<-|*a|N_4*)(+s^zBzs^+8ggLN zzS8!{jC3BWi`lYD+e8%e&5|(28>tCk`o1&CNsA}`x8`whDVJ72r51fhBR*4(0S2_- zSL8u)ePOdl_Eb6MpVOkG7r@1z&RheEWZ9d5J|{3)Iu$lo>1ERD7sholkIK^2R0W?k z*AKsc=^uNu)^!3zzU|=ch{`r?e^$a*BgXiy1}t9x4s=q|XAp5uDQomqb5F-`YC4)I z(WPtb1W#?{H_CSkv|A4*zZ92UHjH9l0GP`;P^%gofdG`G+{ES6r+ zYBgF@;6v0Cp2@?3G=SE=SOgQxV#^P5pmc+o<07v%qV^dk|FSW@$1)Pg+}TFyYYv2$ zlt!Xw4n#pquLu^m{YTJr36n=TmW6ZgjHAsOb9A|4D$D8uX2ddAvgLS$%JYs#taHRN z=o*kUyyDv`XP>oo%eRs~Qhu8+-Ae80+Ouxypp#%&Kw2@?_r|M_B+HFZ10T}j7BOv< zne)_NOSQ04ZXR96Jfj2GzUUwSlS$KK9s!rW3eL39_)CAYvtyGHJ07Zi0*g6aCSRQj zK}%{2(~4-f=XC4t*^(cx6xj^~QL@ax56qQJ*Js1eFLTqo@S+$o%^oj7TNa-QUP2A- zwk=$e6jM!Z4Lrt(bYkZGNTb#=4r7+hJNkZ20~<$Evipa(st}2J`lyrshY{(P99Hih z@$52{+Vq>xUJu)w9*o!xoq3~H9iUS$0^ab9HM|JJkA_weS`Hdt5cMY&n8(yC=)yzPO0+eF=}M)lxO zyx#JW=?5OZn6NnB+8>CuOj#G|Pcck#{}TS<%9S)vrowU2-04cHc1vlrWTfv!|CWGl(%^Sc*up{M zDxkk@WuQQ32=r7)Lb?iz|F<)i1Cv06asUB{MVwqGaV(~RVn;H%nDPoXrVuJ&p=I+q zcQ=VRsH@YOl(AwSQ;H?_DgPVL(k}7f-^$w0%CZ*L0DzQO#wYfixhWePbDB(Z)x_kT zrV+zz`{`W^>stk$+=A_|A+3wd-5n*tp)-WtQZM@AI)!7EsM>sJsLZ{}%Ao|nBBTTr z$oH#CTc%5-$L=e*2VxSHCu(xdWHUj!Y@bOvBJl0t!SE)QD^;qHz*Bn7!WcQ+8urk= zi145-ksfscgXu`S_O^3z8e3xi5dgZ>qJt7PqQoKfv}S!TW`_#cMPAP;TKhliNPzm%Mg zvxZJ@syD={!d3VVqB>`FmB1Z!dP@PgslIunfINFgE>UF`UU9r&+hF*2VCAzZ;`*wT zRQnw>9ZRftO_Lnzd)B?TF=oCTDhCp!E9PBjb9TauF}d0B8B5-z`+dy zOJ zIc`c!PYCls@*wc8l`ekE(aJUIMld4~nBuwWqtr`d^QWsikejbs#S@&H~ z=^8#-SG!7%MZa?~>}%2qk9r2IF?|KMj4el>n}q-p?Yp zQ+WC;zB%UX%f#@T4-LJ;^L?mAKSZ{3g4E3(%3 zg|fGM)Ty}l=y1ZNUVPh=JzP&MPg++o@iu@=^y|?JtfB{pM-lWr!^_T|)}m+rwe;zG zhmG6tS~uMwm|Oz@nY(O3t9llnYijoOww09@$x)5k%uRqN3sSgd8L%`4%DkA-`V*l+ zqpWliqW9;Lr6i4qx+j$L^oU^fi5)y{SrDwP`B;{RP$f=1Ogdj9+$Pb^DdbQiy1lzn zZ{i7g1SjnI>Wk7&11v3*N!^@=CTX7lPOAEBGu9_iENZI(aV4jj`d53CP4tZiX4sb3 zhv8z_tI_r${EDM+fuiXUUpF{g>E*P>0{pu7f7B~=)}Q}3m`2<~6&^o6Bzztp!CK7) zk)JA*()i^_O)T|Tj5yi{2;ptw#UKZ!ejtkJb$nK%$SdMvPHc(m8%BcdQsj2;wY|OG zH+c&mcxelVjb(xMVU$T>{(HY0Q0QTfrgIV*tV4!Y(iJJSfsD=oAGXe*D<=QLZ^!6L z1ZuYKkao-EryfEsCNcRhZBj zeltbAPzjg;1^WURa*7$UOx@v5;BT+8=3hvo{kf2QI#F&+-5UO649GN0j`H;0EXe_q zahiU}&^(Tden5^8zu12s8+)WtS*H3=lL z_np%iz_)ma;T~Jl@ad*L)YUDugyuNS-~xBd*VLyFevnXh1V!8516-?%m@sdao1f$u zR{Hqwyy`B;D{U~P$R31&Bo@w+s(74!KPRT3*z||Iu}5pW(|5X>$zXQKF}G~u@CJJc zeSDOHZ`ABC35@f1N>_JyEeAJ4!s%#Cr0pl0@oB(9&GXC9`r9mW*rf%PE29-*4hJWF zflFz1a0Q2qCG4%)BRt`SoSv8*jK zjzf;%m~_iUOrW_P*LxeiB_poghb17CC=>86PQG$>EIOlG)3tV!irqYd5GH4=r}=Jx zu0xkEX?|*v+YHS3%R*G-i?~YD{D_ISju;{x zJSLiM8-!zuiFR9d$|)qHy`SM<{+N%M?(r+bm-16k1AFF(DtZd|C~1acOE>tDT#&6? zFvu3z8Irq86>tW}M$I>Izzc{C)0V}n$wTq}vHpvLUMVeCfMgJXdup2X} z6>P9?u92amwS;8-mHHHMy1HMNataXf`^m=8jYz9!AB zy8dg?r}X;20$6*$`_oDiCJ z`!uylnZe#q-=2z-{KCWjWxqf^7fKZJW-7{uVZW;|!PyqRN?3^UMmhE~?M=-K>BARTaLhwWn1gzhA8BGF zPme6tHK|`j^@&Df*LVr^Cx-zXmGZLIPKgScm5#yO>56$xDeq>rC^pf!DdpdM0ibJ^ z#C!hiE(!JntJF_YgxQm$kKV$>SNE&yKZ_jt9oYVcAL^*>qG9wTBzk%uh?&|zI%l;rNbZspPVI%I-{!38! zzu#W*pEe}IY9;uo3@h6V>E}=VeU}VMj3hix*&^TKA|8@%Nw290B}f0Vc5n|A2@xOX zY$-SBxD{F6GfmiA2RY7`lYI?JcM`?MRVYYKghF-W!Xe}GcpVRiv>aw-0CStm<(8qo zY@Jf>5*FqXSnjSJG%GTJ@=H=uKzD}6HAv>luI78D*1B_d|JzSXxw}>;@5cto70}^RzXj8Ri8s9SFINg0j1(<}Sid^C_ z7Wak3Qu5AUX6(WHzZ!wS&j8w9?k^d0E#Fk-St#@+GZaV0H9#9ui-n1%V-ctySo^(s z^R-W(F*LVc^^R3oONdF(k7)_$ZLT{xR9@5(62>ByPL(8PpVRtYO$H84QtN{bvUnwq z6qMaO>^YIO`lzRapZ;2h29qHRvE>(E;`ucvlKlCLL8a%LS~l-lC2irzg#F8`0}2Du zWd8Y$mXyyI3zeQRlr+U$JrIZ>wNi`N zyA5fa*0wL;URx_Nv&8hxK~YX;F^KsS}GK2SeM4TiQHG+iYhc| z-gv7ecCbBMT2n(rvWn%tF;Rw7K|^fxH096v;R$OAhQ}rQ$0$f1IJ|b|7pYilP+$5I zCrng^#y4)v+kXmWDCbIR@FmWLBxmqMGQthXlh25wo8bRy?~fBO)z1Q-YI#o4Zk$+e z!A@-b{WgBQ)DPzkS)s!EIYy1cdA$`oCdxmuxLMj}3SOR{(_b+Foi@Ug^efl@L@Bwu zNxUhedaXU^{AwmXf@MeQ3xi668)4!o5))eBUNv(z3TXr`;C?pQ z#3Ocr7V2vPBiVZF*hSp)ibS1ru;Qg>mDCdl3opZ7PT2ksdK|cl_1J%$p&H7lF%52D z`95unS|x~jlAWOZqzcgG_gS9;`}x2@(i=EXz4SnD={bW`oO5AQM={rWV|*0sp}5(q zPO}a3!}95Jz{SzSHZ{4BdfjUDx)6a0eYZVzEs+bmB)IXv{cLZgt{5G>=q%J}AVkMc z5{$wByA4lHPLx`%?IPFLZjQ`u3*Z0!crnOx?I~*Et{ic;M#5~-K`#e(p$xv7g`)cC zZ4t#S9KF@_=lv}nakJe)*8~?=)q{vwUDZBaE0Tv_Pd8!r?aiZ$^>dEK@lY^M_tlx{ zMq(XmkGTPUBETHuC%+9i%te-Wc~)>N!4|P=n0JUX-h7Qn;h~4NHN{(xKZsedMitOI zZCi<>??#|WIefIAI^@}@(HVEHB3lv0YzGxz76 zp_PwUnn@v+uYGQwJp7?2R81!Mj$*X=uKw~_vZvo^9T77?+2ZXyXP<-Ep}!u0K-Mfo zTAtyOjMXTS86Gi_SsS%lAzo9ik~2X8WohWOLj>Zas&qlVCzK9}rp2WidB%C?mPTXI zGYvo!fo96|unUIUzIfeLSgaiyXtLcX6<}T`^w(lT6#iaJze)~6Lk6%P+Lb@o7b1`p zUmvJk;qUu?mMu!~!_~K0o_F%0&PU=GVNrus&p(2mi!u6k;5y+wC0A4-N}KdFeoPY2 z8Ckt{Y%@neyKtcT#pZUosMb#7d1q6(DC|2?wCuPCWS8ARq-R#V@FIb^=>Dm%qqLg3 z({lnWPW-xhCK9(8f91L7=7rahJxV!DG_0jI^b=15q~bT7>gXa;Cy2z=1PCENo{-`@ z!{JOen6U+Y+D9Lom7w)6{QaH9TaPzl7gXpV^vU(fQUYs{i7w z){h5}e@(rxk8XaSH1B{H7Z^x`H0idKZo1=iT{)HJ?R5HAko4cS*gwPf{}GD+t!tn{ zwOQig(2*#d&=0?f!hTE%@})eSf^y8m)0TS8wVzrqwxPEmMssY&;WFR!G0EHj$8LX7 z$#T_w;+vm0=iU^hhLqnNcLy=V=vGys12d%1?woz1S(9~XrV^`c*2vj~+q}1inh_4q z3qhPtUBmllgAg~f9jW_J#NV;xg*40a{@2hZSwCo1P-XAuz3YRU6qlewFPQTA@cV50 zIbY&v9_cHd#jA&RrB%x|YUXtG55&tNjyL}oU2hfCW}tTAqCo?c;u_qgxJz)CQrz7e zDDD>AwK$<@arYK2Rv>6`EACdH(9)Ct$o}`4Ip-=f$<23>dB0cIdX^N#={2#~JvP^n zkk?yQqWFYUv4Pwi_dy=Ca)8Dr0f6oCq3GKBY8J)s$YcCU?|OiqM>o zuv)an%S+?P0q~h3Y9KcTA^H?e+Bxf0TpfWXWuXgbOiQj2;1NX))ywdREK0wcmdZjN z?O}52LFu)s%weILOb9Qe5n5Kn@NZvhERK&yMHle=IQUBZq}0@j0-tBmZ-~E~`^qbB zC__QtPvi%B5vv#U+K!v|(;RVjd-Gs2jrr;-sOH1b0l+@`s@>t>_$>VS}#`^3tQ7Izy*CWjbQo*%v}uc<}uf+4?50 z$ti4Mw|YqAJwp%p)Pb*=LflH^Y!?}WHK?Vpb%u@+GdZ(-s3?)ltuThAS3P`oMb&_^ z_R2HHThyx2+p=PaLA3FFTz7xvpz(Slft1)9GN!QFj|F!Fo!Aie4xOYy7}S zu;{6kY>q(|~)UdeTHLuyp^`t$3b6&J$9*|Q8`gej`Z|FP-j8$fsvRQ>ORWC8A z0i4nHsO)q}6bSQZBhvcYz;LFYAxsqwgGrzMm1I+7xMnfYa2xaOWR|12Cl+A|`)WqF zxWqWI2yJ0G_yS`lduVmrrC_eKz?^pJQnNKdLi4py4AW&n#BKlU>-zIh%zC(lPrxX_ z`S&MT$P4l3^1apeB8dA3HIbGIe$x#pw0c+S&t@CT_}mQ$7^lx2^fW(a;2J0hu`c(t z)yVSka^e^1i#Va`>h7kbLf9#jzn3>E-D~iKN8ZM_1y9!OtY6z-MfdR(tZkrX&o`xu z*0UW!U=mo#S~D?nZ|8STx)rbPrP+5(0uf?93G)mW(jsn5=)<}9#7wYEy?KX)=G})% zN;WL(Jl5*9=bDK3Iwm4oE38uW6q9IZzE>>c&*7l7PLw(xnG~U>wAVlnX;1K64&mWB zXNE!q_YE|Fm?hwkPe41o&OOOjH(2 zD9K!P(4PtULrv)KAYSIsp<6qMtq+?>ge5sut~pvv@pMez#$4-E8gk<-BE?V_(?%(O zbg)aM3lj3h(8|9kKY+WwiO3go2TR%DJ>e$CDs`gbP;A|Z+E z1DDNo6F!3x4Bd;0%D_^oOTiO(Z$+$fa0sp56#^10TnlEFF_W7v?P9?<&z@gDg(md56CuGKFio-S}>62rZ1A}pWbc1JbAOXTDj zE6^#}m9$RDwes0D->M~{d0<4ta z_I0FXdXI9(P9kL_qu>B1l)bjt@VR6iV47nH06qIP$NPfm?XB`TN#&acoH zCHZ7fcKVfEtRDH@Eccd|cpbgUmptV01Wt=F_xr3%8gbCU>1)}8wBxR?P@JYvS{Ix{ z%lXjw@)+eby2E3Qyae6Y^txp`M;Ps< zTM9jHYObG9V{N1q_uDpL+otM)28EOS%J2yyA`vLi`_;GLeyV!>YP^m7>UZ_;i7qV2 z>9U{S={D+W-Cu_7-R{6`#ziR~r!^ah+ohk#?}?$t_bOU$GoLT6o;II%h83~P_pUx~ zLhi~jcGk0>x6d{)+A{KK!hYsI4P>38?%aI4fCTsliriRJE?@2~$1hFj<}t?{81z>| zvmm>_u|@s_A)gg*fyJBhX;^Yzjw*s?Nri+k0ZwHp{9{PmXMZA-wij-JJ128gekl=5 z%WM6oN<`TdW%ApF%Yr$LKGRblCz#kDJMQ~-K*}_ zlz^^3=kw-RpK}0`Y4zFat!}T6m8pTB%Rk8D_pEy?SR{IDDZvPZPKnLM3*N63E|LH@ zh(>s?zTS}Xu?!C5lBl08tE^MJR+ROx+nC`9h~p-Uxr?{}x~ez}*gBWPRxd!-7%I+~ zWds7P$VQZm%v(~i?5E5u$=&P>RBu=vFO9b5JV;<=p_7vnvmHp zMmu9M)f33=Boc{2FDg-lFhuZzaN1eWTu$9C8gnW3UA0CtdEvhD`&c8yJWfrc34xB%yYVuOVXH}G zQrFi*mQE_nKK-z6m=|jF#Rl*Ea~h3~z_ zhMw7A$DO?<#lVX4WQ)T;_PD1ZmiI}Zv1yolS{7wlU(BHH@b53zuf96@pa40xdI}n! z-9uWw*hMj^#mlcFS>8KAq1>o#Os-g&)UN@ngW z&Bv-%b5evg6=*Ma*rN(t8>@g@If}MY>Xzb8Mv4X0SDh7N?{Bc-rk5tGeiFh;)p?Dj z;-zkfwf_arE79Jmyb0dOXu{@(Ji=8RadW|uRpipTOTz)=0e`~d-$7gmX@jHBwkSpM z(y;usjo)GfW8g=G2VcZYFq_fA;HBu5?7)0h(dY{5%n*d}d@QZ7BzQ}yEneya-Ir5k zOb&cNageh_8riDD_pjCHobNPQgHZ6x`rU6sUN~M^(P+P=!q>ug$H{kCN2jGREe-zQ z!yV)w{3gib0)7AP_G)0(2y(*oS!oY`6S4}elg!d!*giTLXbijtiKw&@2uTBC^b_ZN zxX(*Dj{rI57Z`^>yu%sPj0XouKktm)EUj*Ky@SL$Q;R=Ec>3WjiZ+L8l2a9#0V{>t z;M4zPPFaM{9|m%pZ4H&ZBUFSXkNE;JlUsHl6D34Cs*p|BvOfi-<6EqrZl5gZgLcAH zs)7!GsCG(xLK2#jXdk<>|7z`5N3W2 zBVm0OJm(w<_-FEX7+gEErFr9Ab1W5Kq)WVsdhC1$7H0iPL zwEh$O&0)A}O%MyM2R-Vggj*`|`y(VIRO`%A&+^1%F8Ty8DGqEVZ&5l#Z=qZ6ISm=! zn$x4dRCt0v?sSfN?e*OuZH1el@D#&pMSm*4eJIzU)VkbBe{L3o#zGrMi^sL{oet1O zB?$~`4@7lb6vl5p?!X~lf!7AsFF9Lc37lr(*J0Rk1Y^UR9hd~13$d({P}@o*uzQCk z4X`Hl33rJ(&RMca3XzgbxaKI@%%=k}-{J&z2|M_a?U%kx7cW^S@ z4}5f72IE}gKjJ^Dmh`p{Y6Hr>f5SWd>G$*%<=D_=bk^z!S8kAoZj zx!#SggIi0D6Ce7~Iy9F19`W(MJPJ&kCPQX$Kwxq4izQAYh;D$u-~gEBZ%$BfffpVp z#Kou*r|cd6QJuqfKTyW)6q8Jf6XTn-QC%Nz7jn7b02A=7C1D%ADsD4vh|aics~qUx3fJ+GV#Y)M4*ELFF`bG6=p;Q zm^{aDi088ldUZydjl7mV)bFpI@{8NOab*%GxkEGTHscscjhm~CSGk^RQlG@Zk<`Aj zKNs1fakLmrBT9CRd_ws$PT`bi601vo`Hmz zGiYf2R$5wqX(4B>*$KO*>y;~}me^1Np^ZWmfRSRuNSQWGdBpH^_iAf`S8<=}WRvhw z8=VA_)L2D{(k2#G1U{-<8-foUk#HlW(Sl#y*ph|w?r4#YOH@+a3o)EpF9E}?hvXotd0Q^U*{@JE$nF9469F8k(C^^l}J|ocvug%QzMjAT>b(p28$|P?aZCcpE;>qtsd9lLg9k*K8S}#{xh)9eS zY~GKt`Z_KPAW;b7Lu*yB{TN%~zUo#BxD#XUQxCS$izzm)+pGH6VeTzO%lcP}R9)oa zxp@kbvqwre?1b;I&Hn?(+|JHyxj03#KrZ2HB+ zC^(}NvCAdVy_W2h9Xdn5zw)!6KqixP5=`uT2&rrImKqjnmVwBTVopB9RDF{oFgrtU z((94;f)dknREH}Bsj|uwQWJf^T}VZF()_ojXHJHUzcEW;P9}-V&0U23{-UrU*xwSb zx9w7;^M0Za;`57Fd?<_0ef76h zXxGTqwBmltYlW-iKBO-l4=7mnb0ZmjzMozNL8>JSU_aS1ESnauG#c7LsL&=GA=*^# z(&r5c%a}!CAA}iFaIz@#R0cWW+LBGZ+eg(vAB+8itL$o|SCB2C)SjfW+1e>3QnTco zcjh?yid}zx!)0P5KVtXb1q|G1cwWSIv5!G`d}s&t9-@9fkM{pexQG_= z#S8mxzpuT{tUT%T8X36uEE{r&rre+r9?^|E=2X8YI5WFDF$AiZ22#u(4h|lDoNNYX z4(@WpTZa;iE5l=8r?Cb*FiD^PrKR@#2l)4&BO>ho{Pmv!+F*s7n2e^;8~KW18N;9` z5@$>;%$SdR%8qbWJXMo2+1qJR)dyz0U;wygKnt8trzLy)G6Zu<(S+BU0QG#>f9U2b z%Bia$$&);R_0mY?bNs@H;E&j}8W9%Y*V4+R-zXC}-VIVdhnwEb2`_yf?sR;)7Q$5Z ziA)9PW6pSn@9`Npu1`?22R=ET$7ufyzv~gkQk2L>{Zz~ue)vsq;O=mBV7I!j)%ycr zp#3mru$~;%YNiZvyAI$Hkw?y;HeWIjZ>@@HZseyb*h0qp?t+SOsIAP1Vc(`#A@Jd& zHZlf_4jE$%bLQX|m{DUK7-S+hkWyC>*=eX29)GS1jA+5P>;HY&vOPz?e^aX7$;+Z5 z{w%{urTHsdQi!8~6DRtX`scQGD(P8yB+Z(VtaicGEmV$%$T*gWu4!}xeecT$(1Mxb zv1F4Cjd^3nLDR^cu{vJwv@Pa!SF1boP`cU=8n*6H+)5|O-QFFPDFdzvZ4E793~Z4z1R-Qos8?>r#uN4^?DV|i%^tPeJA$LBtz$cSli?i8vEsSAviyn4V`F0o3(x7B-e22KQn zB6;w%=8pY_)3JjRH5~H!!Wwpe!q$Cg|BxQ}qD$O~tNAK(>WTSsMCWR4;yjb8N1WD>4kqot z-T5=*>nwhGggr_kjZ!I`9Q|{WCTzYYdN3_3((+$k{c4)Vf-(z6@;Wf4PDJO7OlcTD@=P32auJvqeBGug-92-$RN361+-5wgYd+CXl) zOsY3cO$o^Q@!A4)rz{jnS$O7MG=4Khzmb-2>eWbD!jY8l=TP~R@9x5%{cWi=_^}+N zq4JJj;Sc%e{NKwF_OneefRp@kk8UU^GHSFCP+duA$dt-=EEX^b+E6=B=oxS!$_qPa zy45VJ-za?=V%!^p?!Gtb-KkVsDVTAf#o7#r(;v+5vgY3(DjGBJ; z_o!Q;TiAQIsefmLK5#Jvre{$D*+A(A6o!^c70uim=XtG~N`K+$q7Q&n=L$qg`G4y;J;KoU@F%z=Lsk5upyBwKtdV^RFd_?YA z-1k+`Si^0^BPUMO6RQr;nvVIT2gWyGjd*KVx~2v~ zmQfG)w|rmc-yx>lPzpeg+vQa*J9TueCbZbWkJCVHE32SOU5=vQW^8A~9Bls6&ol5^ zf}w6(b|k}Jq0^C&Ff!eYj&mNEuIie)Hiw#bcLmj#LusvlP#g%GJ%$|eCn45`)?`9r zv;oPEn1z5!7gQyZ{@|fW%kN>TAN?I%41cNfEK39;AzqLv?Sba+_kR~PzOQI@0F&;g zEj0#0-Y%~o@HzaSQSc6^9!kqaIvVA1OTXhAYpGdFB0Vxh7 zv@AjfM*xAxlFe;*6zX^r)3Vyi138LNB3trd#rRYr7SY+FLcxMh=T?NcJoC3i9Hw4x z>!072@b}6NK>JQqk<-^p{(dv>Fy02BoB6DaP;2TUJR6RM-(NkxoFSdtl(^~mty-3Y zl<##OtpnGcLeu+R?s8KZy38R?eq^TpLWG(R4?lbyItLF}Nh68dN4f{ISt(s{KUr&- z<3Sd)0}!eaoOMpnvxQX3ach$LV6lMbGGq5lSrh*f@5&4+4R>7ho?=m|vVxwxT>x0U zopzXlp7IeK#6UY%jTiNu895JE; z?}?F}h*XVqo21KhUfHZnMYavzzk-)J^v-dhV~dx8hYrS5&9l&ec?xoh8XvPYlhCu* z1u%EnmYbtIX=J|9%@SBpoN1RbW=0{j@hG->f-!%D@MYb;uE5=f!FA6Y2_=jDPhW2I?_F!``s8t6fzxP{4-KZp6{<*MRP%VrK`voqErE4-Qr#u8{j5ZQXAnl`7 z{Hk%VTj@7{8E15~JP@H<)lN>&25;IEW2$MH^9$2`lSkoHX7BltPgq4Qc$kv2{4RiV z*%CMPr@90bJU@iL z%O*2?YmUeAejV#_nKmMl`c}~CZnD_VQzBJX%*O=0GnS|>@|9OE(8i6y@2}bZhd>U$ zU>T~hZQ7u4|NFnu_NyN64N^Y*k z&uy04h-b*U>@6RQNU_g|rggVN+Y?manKF;>y_4D%#%yA6M}eOH(P~Mh+kfLhkou$? zQ?niFr;Fy4W5b!v4*wyY0BP*v-FD`6-@d(L1{>A_@i%QH}kvk3H@KK>jhcfTU~tu+kX_5JJ>llCw)>;g`9xh8lBQ9DE!Gw~J~2kHu?VS#cT`6;Q2E674h zH9knWZ<3tjWa}4Iw4LSSQeTciBlKlUcy=H?zcAl3!A#js>TKKYBUA5`uQbOZ#tMkI zK8c}toVEqsOw=%8?LZs%7T5(58>QYK796fF6=;7ecQ zem57vS~6|@UxV;V_0fNXZ2vDA+;LZj4I<6tdg}k$_3l{wr_&w$_uuKfDgD!wdC8HKQxV6Gp4HBywiB}U-pPyfshFXu8M~Pq?>C6HqX2^GlR;@#%i< zc7;2Vh*R`&!arjA@DtYYJP*UX3Ub;9$-N)|R+DEvdd4mG2wNmxJV5lvRY3-h6b*ze zY>-sc=0o^=y?!d(_ainS1k;g>g7D_(r#i9;!EuU!Z=O zq4M}aC@z9OzxV*7=VCG{u%`m-g~}8AUVdkkAcy+%UX-k!JxIRdS;o4EXHV~04lpgO zN6)u`&_V(SS#iM?g!zZSTnz?T3HOEyg{?qbR1`QgcJcxGh$5|AQxc{ezpCJ<5jYC= z{>SLJs>F6igm2_Mn>z6+Dt#DR%soBI(}DeJBnJRCWjn_q)Cz}=|MYbC@p`q0El1== zngDak)>fQM&zz7SbK4+g@79btKqYbJ0&s@e_u0!Rs}>VyhY`qA*<&IRm+Opjif&~htnGp58WULrKPKaUN(NHYToK;Afcj3e0PL|$# zDO@0~=5MZVxeHk))oaLIAY=}22tlHm|(=@_cy}|nFFM{tt)Lwx93w_ zyBbtPE(rhrgUE|12E3Qr0r~`%!@7n>n6D_P|E-vR?onTTeY5e=a=V|4abetHx60rT z26Ia4ITqi|d8Fnld6D4q`2*{rVuS@NHNJ}L7s5iC&rCwes9!skQ-4Nl#gZ=E*5LV=; zM3r!T25VT!2ee_*5gBct5|V<~z^3vYf_V{wL7ZN?&ts&zpTTr6K0_Ri_HYZ5KGNNy z3coVerx~7~>nCI1mD>JOg{ zwyxa)yY*xZ$@pO=EW0l&{vHcn!iWaWa4d}Ocf`K}`l3?0;k4Y`zY@mh=BWvEtnl$IQlv>7RVHv&tSCYG~yhNqQ_Zyq6a+c`P%a-=izTD9$g} z#t`{>dm+OEa=+qem+1NVJ?mL~(*Uz`A|{(N;h4{y%bSZlPw_xUa^{h^ahqmt4ARK% zOT(fc4X(V(4`fcDF>ef}Ka2Qu(|e+xa0~m?2)2exD*1g+A~1ZY2^Xgo8^sC1Ay%EQv^7NWtb??8;64}o%~)!MSWX(-e`3C4Dh5u`)9a}2`S zE|2=e7YtysBtyx&kJ4xi+?=JtlFnI%0}DJ^7=uh?0OB zts062?_{UQYt;zP{@YygFSf$CxF-R`mICJL`up_nvdV{V0tB=ZRh+z*O=i0}B=kik zBJ|noa^aL}tmJ!*Crtu$Z~zQYO7A&-{bPz2^J!gXscjHsC7=8}_cvo);`c2AlZsOo zt^9_r^sWrVY)k`x6Rz_BqGG z6Pw5TD8f&MttNlXw%3X#ej!m7lm$=h{hfSpjbV}z*EvANIqu{C-2&c>L=(aay%EXy zrP1NnPxi#Q!f=;YD=qnLFK}yaya}*r+2PB(j{ZTcGyKo}&-uBM#tQWs*Lf^Lipt0l z5~L8=1>9W*v-Oe^{}@U%hl}Oq>X3F!6cKAuHkW$Ob^6be2{#bZDRi_c4)ZQfhF6Kb zrf-fIP_-&hun&-N3Y4y!AHzMmb+kG9t0#B#%MZKti#Xmy08~ytUxuq~;`O6(184IB z=^UGM@vU$DLqAVf&$BhSuQxjNcEU~G3Zh6sP0zMOjo zTI@71Dr(M>tB+l`T0cF1Zkk0!BNH(77FJ51JysfBud?E1Z0!!{CaVplzbts*=w`WymWlmH5Y<2_k#BZn+4+J$@7 zfu1F(WEs|@Li1uPibEU%DQ+b{?3)XS=-85{Pan0+2cAT(s@+9(Sr0|i23e8iyWLel_zia;v*%EK2Y4>tnzg+j3LRvF~6u+=tH} zNWQS|Lp7r1ab{q%H5;(Z7SP_ZDtll?}E)ZBi6q(F*j#Z=w!nsgUQR7S)Z6M~GST!~!OV%IhzSqENKq zM1CisOI`X-o6d3EN4AR)EO%Nn!7@`Wi71jRS#NEsAkAYEF>qI{*og;d88-GbV_)7q zvXfyB7CJRRRwt&XZC6OHq{`o6%w?4jvC|AtoWCyWEc1(G8o~+|E)aCtLKUhnLOM*T zg{G@we;?*bO&*DkCDa;wpNo`aJQ|Tjfn592jY|3K#KRMSHC_LN^tpRMRy~C3@ldyp z{teSLfjLDP6A@I_FkbpG&_u=;LlEEw-;geB9~jw|xcr*Zvmn;9!6$D{TQxiG-cj(n zW(v3-Bq4~iD0cP1AjmOqt;h5L(mnBB3;^S*XhJ|{v_*(VO)O1RG zxUYq3q=oqm^dS%3$@6>qDhOE-Ah2SYDr=X$Mz#0I5xP6hcf(S&AYAP`jao6*cH4== zjEEfhp-b(!eNm*IoS+WaO;6>l6j!h0ov@_^e(=nJN%oO0g*)SBl(0U_4%WJoW(?R) z&$=|<-fgZh<&D-Gt?wX$s?YcXEOv#}(EiNtVmaXY8u!8kC5t6pQ%kK&P2AI;&jw2A_!oInI0D=Y{`$KpELo{{2}pG4~DfjZ3zS{*H~Yxm}i>_`KnHY}bPFgp#1>`b9jDdBCTt@q%m-J#OqJA|Ah({bpou-yg!is8D!UOLXpDob5;Fdphy|Q8HyEw8=uNd8T)eM*5&}thvs2XkNW7$akTP zN~eg7hbr>1om8;ZSHr3!V)WnCV7i)jNVZGpU_}jtvr98PN1pUiRvj5CO=!05aur?` z^ged%b`IPufw%)%ccp8>GREOsqTXz&CiyjX20{^c5xBAA$`J?;KnD)~uXo7JxTPC6Om=ihvPEs`>tr3^fu+(uQF?qz&i_XqyN*CsC2rM)B z78aOIDPI;NYZ}cWUm@=(^@=9`s{+=}0L{_I3#Cyn>sud#UWxws1m_}I@F&W@_RHt@ z=wo37-%lz!l{m6lBb#amxZspQKmW9bC4w*$TO$_bX64q^APWuq^4V`_KHN5ij}#;5 zN@c$jPsp@wjK}&Z2yuHTn4#T+aSj;$i|F`66;gt$E$xCUG(MDO6e0@cuC!0)?_fOg6v5r;Q!nIxqGV8N%VqjDc)ToIf-I|+Dom<-fQdD+= z3bKCIP)(Mfmii?R5@vvgiac5dSyzA5;si_8QZDl8t4%gC1F+Q9xg$ZRIoA@d^kkgNO=oB@4!cR1GiO zs{Zw*KlCib70}$g1v4(=6LI`=#0Xu!j7l+YfOhx@E=sLs0PkBC{y2PH**;tO0(n?w zfY<+s;oYrIX_FeN0J}X)X=@t+ReoD(!)J+&@A0GDA68py_3y|D9$ZH%(+Gd4vz=5f z;NC6Wh#AUs+dmx|%is&yQN8{wHaal>A-;9Ah%555d78E;$dG&&Rg}w&4xx6|T@%^! z)!&^YzSL8Q>7t?>Cc0+B+q{3&rRC~vqBKODv}<*Ww)0()kJ%}dFC&=@L~Yx(n@=T5 zMuY4AZ#n+|mGfj5inB8Fp9%KARYnNL{@)Z-D{CX3ShsbwIW-D!P5o3GH>xvCrH50w zCN``z8wmRW_kp`vei*BYpCz0el8LYcJC*6upvT$$4~GzzHcS-dXtffKkPuHcuWNJ$6w|t_3|DiCBqYr0ahNx?tv^GRaQv z?pM7z!kkyXViZD<8yQ*0=;WjN>GMVp0-pyY@=3p!?T#0q=0st$Isc2}^cDYwv-1^$ zka)1b!a#W-GfW_JW>2pkHzD9|M z27}{*ghq8z^tU>;vg>_Eu}8$cI2hEnib^Kd!+_VRgBo#i0cN_ zR7*EZJPP&-L6YAOB-aCZk*pZTaos?Po?dvBK)7Lv6nL=kd%zTxZGXM8*abh95@Hg? z>A3``8D@dEyl3m>ls<|dhE%zc;@))P6Z^D#UR#TF9-woTOAwX*Zl+-T!fMEt9I1@$ z$5{r)0INx~rqYvMjX^MG0OkZ)M3~_!La|sCc}n0v>jJ*mncv0X=qN)~1F{lqRByUE zd!ZN~k&A@1foQa!xzsOl@-V&yi{W7jTVPu=vNNO76B3yqK{ay~)JiEv zoMc5`5s)dYsdx$Ni+w>ZPL?(8B_anU9a|dy6IDE)vo*2vZ|_e#Y`l#S1dtdKT0ylK{Me*ug@~5e1*a^XG-2(GpXnr=u2IOn6i_s1<^GmTbk@*i zxMhOqW?n_&;=|tZ-_LaU_460ig9gxdMn;H> zgvS0xWRf-u-55QIf+A76NaEEdBBmdewDYd1M5n!1~g{yeRD(A1@R#_}Om!1-97iWWr>W}bR~*zIa;0b#Sl^Nghx0dVG@Ofw<1&9;KxO7~ zLa(tPM|*8i9~M}|5!u6Xw-lY|jxhz$lhajUV$3X)F-@i&Ch3;dRR|+7I0GV+n{QKJ zqIxj76IdwHWy}WJ#d+g7^<^UD!YaPf|G9hoKP0UGu7oW1AT-4J<0~)<+9xchQ9J?< zhC_}-TVwP$>I4NGm&kP4`C(Q`b5=4Oorh_3@LsjF>{Uj>^a*+pY*|}*Cv|uqLykyL z!U!S;m5`Gu1qRtjf+E1gQsH%-R?%-rcbPC{)Mw4vEr>E2 z1BGbw3Ad4HWDzUAGt`hBSykKE1IlBJmsu%QPL0>atl06xlFO)!C1Nq69K@0i++Mui z6^E1s2^Hq}TH;f_f&%xypt(EO2(5}%z5>P@W>g>LqmMGTL`8>3G{@g(gXf&JXUMhY z)w@-cA>A9}f9DjGE+(7j{_2>kMVuDPZ589hqcN~0>ROhCO_zb0%6Q|Q1X8ZUm|aU7 zjb*{03<8#K6nobm3yxNVC@iAn@BNac-rm>BHVl1~PR_P!mVgHdWi3q|bQ)X5rBK$! z`NS0NZ$e-V4L-LtT7HMGc>Es7-#^;6^8|e{{cX!IWg{Nkn&QJjdx5L%gEsiQ2F{$) zxtiu^nur$h3k)tDiYD?yjJ+lTKuZ4Ysia(piw$@0mpJTVeWV6AJ##Y)Tmw|B{x)CLMR9qSmqyfjwo0lIF-G;fSE>5M znB;P+efDK2+Hf^GBJhHYUak_M*>WoUyBjPB2&GntOSH#Ww31+LCe&= zRdmx5>t+K7#}!@hH{nK)Gg^wH*awQYA8)svC>DVvWE2(hc46-giO`e+Wc3t@qV}Vm zk;&tk7G9e^&KT@!Htc^_eg1e10C`mYohh3vMw8}ndp(Z~KNh7}48FJ8irMMw7f7u? zCuF?fRkpO@gDCMtdi_Pr2K42D6{gwYK;bbv9$T4L$AfGSg~bfEB?Q;F=#oO&5i}VA zEWfm!Su&oO+f=(hbC;}67yM(iyFKD3{pm#8tPUH3qpJ)wHj)cD-@jIL&La|or**kwv&97Dq(?tFny@=3w#u%vQFtdDEaj<;q z&avDbG-z!~NFMssA{A|}6#~?Fa*L_Tb0V9~I+^?7+LL*wK4k1eNb-6P$XNPJWh}#*b#3$n z)x#}b#fXMbw1yUwsb3UfMgm|Z{6uif zCSTZ)2#tym`ivRBJazuDaw^!}#z<;)fBNO>+eY}+G}`_~7xLAP=YHg`kgFY% z82ok&_MV8W4cV&~ZtO@`2gcqWhCu?H_wTjfn=5H3@7>g*g*(ayT=FT%_<%_}-#DPF zzkm}pr&%?ps@pe{L}=q(SxGw!b3r0qv5_U7UgiwTf;DK&(r-~CXIWQD|I44lnwHkv_$U7$5`-^epfoc#Nms%z779(j*8l`$l4D98BEiZ78F#D{tbBBZ#t=^r?tV3pdy!Zw5%+vzK zAN#wYD$SJ~!HA>oiIKvKE%iU_RC!wQ_1|I5meVrlT`GqqUY*p~MS7(H93)#R@Dd-; zpQ~K6j5V9LmyyF1p|RsP&{&axuZ%*vaq++4U~7aL+$3`sd>L+3RsSZ33|os);5(|d zO=O#lv=*ci@EWHiVDJyvlrHK3`R|w9ulf1Rp-8F_&&r=z^Rn?;Z!H&ie;hpyxE3MD z`w}Ssm@aulik-j?AFE~M5=qwDzgi6KRfT7#9uCe+%=iUUE`pMhQ@#&vtETXCXz(Aq z8%y_YO$UzjZR2+k8EV{qG)>W0lzww4CZ2yUnBf+@K1E!{EG@T1 zd5;#1F)VjiXr-lNY1hni_grDOOfHWRwN)Hzs1EIUNCMc=xKq{ z*_-n&Tc%Sx3ypTlvE=_?>no$$YPW9D0KrRehvM!o!M#{1?yhNp5L`ll;uI)STq{_C z;u^HL6^Dk>B85U)C@z=x`_4W0oH1_x?EO5+*uS#Zo_nsj=DfWL=DnFLdZ>rM8wb+p zuiVOwLU%hP#XZ}#;V-_F6+BgxqW~Tk2O!c6;*p(PZ|gGBrmH=UnF!-a&xQt8^k*T# zPB>j19He#i<$apAYlbD=A4@+r*0z@tP1R4vvg-o3=EfW^Jj0`0d+CUeC+Z)98+xdV z@-Mm9AH*P@njtE#Zb`2V>u{*~SW_r~PzlT5zxX0aXd zYL8vFd*Lc{_X&(+tt(_bCDx9rrh3-*r@PyJy0T~W^@jobjc7^q%^6hKXIzU$!B6s( zshhE5GhBoIPlD*p=X!gz3G{9IwvU#F2n}0Oc|TW5V?1j~G_ky+0xPGcw%|jaO-sZ~ zLpGl&(eL^EO>#{AxQBk6m#5PI%}X}$J!fe51E^q6iv33@{QJNEBfI&RY5!Ja_`kmV zui5v+|CW?T26qOX64BhD@oBF5q}?UF%gq)em9j`>D~Oh{8RP2_pPS5(WtAW7zb#m- zCg5p+Z7t|xhheH1luA4Fbr-Rn@E{soS#po3WgsCSd_pc6N%b4}8}};)Gy1H2gs4c- zES+V~U|vt9NHKnf2SYUPxF$k)VHdP0*E%D%u6vSr2Jj<^=6`U>hZ#q?)NM*OEWhQZ zpbk<@Gt3C4k{a@S%Y0QZ%?N5GjMm#sDiGr#j*B~z^a-&SulWnaEj`57-Hvy`r1 zRx?z08Z^{d0BoBz+1~!#te9 zm*QzDO_mY_5s%1<%SZBJJ6^_V$L*iC%c8^M-yI1GBNV+j`=7seh|5GY%Uk`}#}b+k z%JD%r@HP`GU#Iz$ISNY7_qeRN=l}Wyi%OP#7;BZG+aufsVl^)vr@~uzxsU6Tj9X}1 z9_G)EAELgGk4l2S*Z%rQV)Y=glxmfHh@Nxqn-n14`YT`oaq?%f{;I_~1IbopY42*m z5UlYf+I>dZzw!eC39-Oruu8B0^~MBWNa%eGkM4uI^BWe--Iaasw-)f>e>(pvKO`Eb zzfDvqf#v4`>{@HG+ff5QZ!^sm`22dKcMG0_$`w(^H?aqQ3uaZq20`%)wKAD)eN#{ zw!|5irqbGK>_D~0@=Nq8jXstz_9y8FGL=vHECj;+_&$xXmTD19qcOjlOFhUDuaGAr z4y)^G<~ee^r_P$=0`u!1k26liQZ`T~{Te{E5AJYUL;?WQRT_ zoaqXCt3iJ3PL0+s)c|Dp)A(c@*}o)!li9`FzkfE76Y+I|FWr;nH;LJLI5+>JXYaN3 zrZ9127lngli-ZX*jso=TAGH+RTJ`-Yzf!g4UKX7`Wx@BR!E~Ty%@1{F*~|ZNfO%CA z24tFWEx*z(up2=ju``u<*Xq6!GVVsTX2_%g1k+?{(+a)js1JW{fa^^7`d?~mWsSJb zyN$Y<%R2xWDOLjBd}F|`UXceMr9FgGJPu)^_ba`2P92&?z57BM^5^QWSN4LC{JAu1V;icn_ggjk>+H55gku#i!N!w zDqkWO3)`?y{6Nf9wc9kZC$XXm2o|zZ*=W|kGi@3T@q8w-!u4YF#|EH%(TgWM&u3KP9ExAO8yT%UmyoUTN z3~T#?SDO@e8Y;F7Q>9gu!FJT;w|vCtWuZdx-sf?1h8&E;*y_#5ammc^pUzP5WQn;z zRUe-GH~BuD{!|W$zfp67n=@}SJ9n&<57<3GiYq1YbEv$PT8FXK(gxV{MuYP)hR^)I zr#bW;&{q0FoCxO1=zMBTnDLaW6ud!PYjka8ICm{7z8`|~&9f*fw~Rl*7vzmU|G3#w zh4R>0b|-UB<;ke$K5oh?-xt-}Pl+VPT^MeehV}8ulXa=8 z_AAWTos?jG_LkS-eqI?fR-wFa@0@DiyZoMXOf{O5O2MRAuof@Xk;c?P>F`Dp zLxYMBW8%R0L}1_x{oX6ro0pcwIEp-;Vjc>KCtZ=Gae9ee0YQa!(}edL2%9Q6JLNwX z(o}EMiRmQ^s~$3t-5%WpEE!x`=LTSB*A*IPxk(2X(aCu;Q5shz@lHDFy3@9dHB5ar z^Hl!05!byS?bx}0=`9z2=KbNr2bF6J@1|vYDGBIugl9#=fSHi=&KCAA@^&jkJ@#xE zZ4UF&VCcGik=4jy{ot_fUF}gaLK8$UvA$l_)x%*V0^CcfT^Zv9#(clx8-gH!Wo=z` z41zt@z};s&Zm)CtUUH0WU8+M+msmdYuQ(g*eN1v&s_;2$xMN3l#AAv`IaG~y?FHKB zs2z2~?jGkOSq%G}KDtOg*iA1O^JcdhbG(jW*Y!KXeT09qdaYuV!%|C0X$u`OX%}|2 zCCqK^64MK9r+%>N=hCxYc}m~(7EfM!8C2`;_HE*~Zc;1&JMNSVf zvC75zu8czMI~UkIl{D5ln0tl9LB^KM>X7(_z)-;=X8Mvr2D$0{n@e{dmmac0-RoQ& zj!>i><(wN+N_-ya-18XgqAiGh@Dq3F5);1Pxvcs6G~es%t>3$5{YsHH)m47h)!H_J z0vDH|DhW!s4&U@YMFr!)JdNeTu-~$(RUCL3mVNu$hv)tIH>%jO%%ZHRFDC|YQkCE5 z9nj@K6(WFcj_%BXXCH|rks^dNMu|88qCl;GHIQY*nlrtA#D9>o{0;Hb}Aur)VY&4ZS{k$BoyCemXP{qBoa~uX6&{kso*Cvk63GfrPFCnFQ+>o3gbS+w zeq3_5crG?UTz6q%AKBKpu>?5S5B6?%NE)(Q1Ao%{*f$;*7?=4PL)t|LOVZ8Scf-8&%lH zJe0~dv(urPzuPy4dYp5jM19UAvBbTyfL&w0Hlrp-hpC^B%)^_7YNVIxTZ+c0BnzwC zxn*8_z6V?(Qfu~CR4QKu6o1r~y3+HmA2y7+z1gFB|oUd5bSwKi?Beqv01$f^L z0JM^z>70>Fkye|#&_E_Jvi7DCI-kwrf4=2stxr>MCV~QF@PDvm!5iph@b@np`(KTM zx$#OFVqcJrJ)AfM{qON%<34jdQVu`O7DoTNs|%xQx&Q#@I;P-_FMxM#YL+|~mx`R^ zkPg1nZ-eejm`l68G&Hv+S(K%_NEpjUrsb~9XcXtJ%xT=aC3kGK@&pzj*oWASTk`PL z|ES4tZcdTiP0k%y(EeJiTsu*j-gem5iO6TMrD0=cNN)agF4UtXY+Q0LF60B{8C<_ zIJfA7C4!^m48~AR<-r6m9SsNH9@Ldm-ymvJNn^Frgf6*tHUt~A^@{P-&y||EZNiq1 zeR&$1%^JVgZJ#=~l*=Aq^8y(clU88Hhr+7uoCxm6pE4v8-A$f|CDfpTWN^w%P*M=D z2L;AdUlyUmYDmMHH@n9ps4q}&6*Pa3$Sc*s&r?0OY~VquvIA?H-5m@k(XFX~z9#lk z^r_+Ft_T*YiVaofBW;lFhB~I!kzt=mtEB(Z5?8-VqVf)s_vrg;euwGbkIen0sjKRf z5dHo!rMvEtqdtN0Gb;4pL*D#}b}pm6^hiRaGf?H5Dkk^u=|+qv17H{Vz3bdQ2EGJA zXk44IpVo)p6hGrNkfZ7z!d~Gb{L5y<#y69d($22FHIIe`KE(EzT&ets3N~DHlUpE> z#hO%IQmqG{ly>=Kq#L&~u<7hZ`9bB{2IHf`+a%mov#lHQN(iO!c<|vbYFXY-&^hw9 zX${Cwt8%AufN2BlzR^}=#@hp*{PDtm7Z40-qpF)Md)eFHJOxDST3`Z)KvQ8v&dm?a z+`ISjb{&W7P|(DeW_>Ol4t-Dpd3X;kVmL~19xI%xpG;@?RK|6|08m$;fJ@~>!N4XB zP>ad?z{kzM|C@%&oG8U8nO1>`9oqhwclAtoE`0FBzSFCxVSK08XeBCcSY&wh3lYCU zc1g)g87D`BSvQu5x@=sn46b4EN*?az@Rf6#m<%yY1VMPpW#z8ggooVtatIv(of6Qe zg|My{Q_h~$=^86VVUK<|(BnNG6hfmRJDLP~Hn+@qJJ)o5(GoLEyfaj9BLUM{d%8n_ zAn?!e&9tsK-iDDCR;4?W%mr!ya~T0PPP8d}KrwS~mRmNn)$G%jemqcZ@@ZIZ`RSb) zS55nEv#s#jUbth0KdtY4F0g(E)~|)x5|2!6cXk2pHUmy&>;-2+xZ8K!v2r#RAVcby zIeT6cOrb{!IXqg^N$r}`@OJ%Tt{v7|zX^_xly;rzoOa*$m^^p6-2hS$Ci=3CVdj93 zI0nVltq}H?6oFn*AP$3#Ju3QTgnSbULN7+}!JvJ3n{r#6@=9PQ&fsI|4TDYTL(*w? zJ*Q2XVTDcV5ynxFuWyn#ezX<+JZh|i2If;iQuHJthUwqu8AdfD??1~dN6Y7?uXllq|_o3&49{t zB4=JOj}^(~o*J;ZtRK;79vX8Ybxw5{L$D1dDjgdN*H17OUYdi(GfKzr*w{Z=<8`F3 ziJMXJ()#6rm&Yi}T0Vq7h9|8&OXHRfHzZM!!H`hE3Z2`T7#ETNSQkuHJocq zB&w9wUo2KhAY{lO>I#y4D4FUsgsT1x_ISChyo`vv=y$b`k|jXa-mP@`QDVb@D)E=D zgC`<44^MZoRWcFdhiMHSy_aKo5sDuJDluP~hraKxq9@*%%3aNi22~kjKuHxeItoRM zW?8g5zAkPg*-4oMeRRc^eoor7#U^3D?SeBG9m3Bb!=YX}xIPsnIhvd=xvCeOKzLYe zh(#U0izM+2b)Y0RV@Q+tpf>P;gl8=4XCA7&rA>ktGV}*J-5SB20_gouaYsN^NCJ4K z#xNvxQ)(w9id=q7IJ#9=0_~fef*xIcR5vs2XfQvRBIBqrjW{gV#-FK3Tlq3+VELqD zO&!}iDAWTRdFX)6va&I0YdJiDxw;(17-T-eC@QUUOzfZB!ztqlDPVddqnkETP#s85 z1cq&{CyN;oP^a*3#kDiaLxQ5O9o7rU1gL%S&gTjcOZ44awJQJ*Lp{`_u*u3yT8c+-Q5g@i1Vo6&HXp@QXf z`Xi_UK6c^e*)KJTsq#XBwS}AL)%bR4iHwnZVLF!6YuACAzZ}9r{nM`~JZUxaXh!0K z2_f9lXNkC4thuIM17BtWkt8dV0i?(%B4QYqCESEtpK~;l1Hbq_uk*wxhg!&vUhnHI z7wk$-;b!i~!Fij2*Byaup%Be{OOlbfaRE66-3J;INhm?{E!Q^;9^>ZO7Pv^|w3O42 z&laJ%Kv^NY2J}pfu@@#VMMRV0#c*=UQ#B_i-rV_?c#+cLA?|%Q?1vE$lhsXOPVtP) zw*~Ij>>bMV5YkV0tq?v#>Dg&lqUnv?7Cswyem3Kae9M^wPO3#uVWZhU4xJy3L82M~ zb}x;~0f>(>Bdl6O9)E?lilGf9hx718f?qYoQn#{zh+y0xWc__ z-{!^F{U`bFlw~Vp0_YL~0mfk>b4OL>L~(T9CC^{B>yVFHmy5h?|1$Xj*BQ(3odl(y$Ge9=Kn|Y?-w=kKT+N(t(9VQ5v#->~FauOV!hXr) z)$ycHxpY=R%a-8$iG$!w;Et#Q*G`uP!S0@fs1&8;mjA9+Th$+|{qQUjcdlQHozKYe zmq0GawG)M{c?u@<50_9_#2nG4Vp-f$nsi^&fQ{|fhipKmGx$jS&DK_rVO#GcJ=1YY zOz7Hn=OF=n2|6?Y*IzFeNkw1HxWoQjFkjZ!Wq<;-m<*VAJ4 zaRPJ1?pQ?m0aN@2CCqToK+t5-C_?U1AJMxSFl*b#-)UNSHW>y+TMuSEmgn-qt-6$0 z{_xU~1eV-Jenu)^foS#4kUrf`U5D{c+zv~)6g1Lim@R_V_J6|M3ohhxo3=&v&#H52KtE>^4lNDm3 zTZV ziX^on?I!T2DvtSWa;B_%EzipF3Fyt}-M>DDlLdWbB3#{{DN>Gp6@cq-j`{jX(`Z!7 z!F@{^o7AWgK1Y+g`r-kwS`8*h+9rb{s+xa0PSkQo(Wv6&twN1tjk(D`y&+h>c-JSJ z&X&H6`(F8)@GxxeKyBL-z#CGVOaN7=+#P^kI&&Z99`&EI@nGCDDo}ka$H*G|(FO(! zMUL)m5s*ahlt9atRQVa&j==63^?4%IE>l{aZ13EIMaX+B&1HC)kG#F944w}4X{>6A z9W;dME`e<-E*8n`92fv-0FO?rQ+ZO-c0t z(H@uxoMqiXVG z3Pg+vs(Anp_mzaT@M0gaTPVyJMd+7C61^*=3ALaF9@mpZ1wmoR&XIzx+e}&5aTe94 zOeMTERgPdfHDrKZGY0i{pcH+fEH1w~UMBp?Q5bM^ltAh0lN3!aZZ5jC$km6Ccn1mb z!)54M23k#-5$c}14eV928m{aEGhA9wnXUwz??7yWQuD_66HQn=L<*TJ`yf-tC8P7l z&^}t?@Lq}7?`s4Z98+Y^sBn0m5~Q0I5`3nlO*bCO4h-0rV<#LI5{ja&&$^jt{xT%& zp^ljx!eh55RY{}s<^xNqJx0YdA$a2*UMcj#<1KvzKxnDA z&cKEl+9qz3>U3?p!n`1eyMZp9z|n&Cq3++oImeOT4UTsm2b`2w1x!|7zh@Kx)8)|c zELPa4e;nsh{fc)gF`Ue4noO*oJebHios4LDl-vw5RLjrR;(|(5O)EHQZx^UtxfFr? z=ISzsn%$X$}So|?UzLj-|Zz1J2!ALDo=wY8Y|SU@Vh#St z{K0~N2e1Y0=M*G^;^x5C%YxMtmUK!q9@M(~0c3LoKWIJ94fac1=fVw4K%&g6+~CO3 z?D?Q-QDJzmJ~Y}7)Pe?tE1l3OFr8Gqu}Uzkyc10coZvv<7KoI&D3i>FAQ?W1QVi0l z9}qPa4-4#w*M3MoO`6#bD3o#b<2|gFp>0C+OckJw2AG5rwO$}mC1R}`we}N_iziyGyc*VEaN0B!|Tf?3Au_sUNF}aTJ$T@qPNgKx= zI*GOtYMd4LslI|GjbEbjYH{ECO!gs%aZDFMFg0yv=*v7}TsBqmd^)xlB+w}JnhAx*$I@CqNxM@Rs2W(u7d%xS~<0A{crCX05IGIG?R4=G7^n6MBQi`z)k^LT_@w#-AO7tJDv1ZvSR zCn0IOV?sPfZ~G6Kk0fW$MXY%C9?S8h=WSb>v>D7!cIi;4?05(fUcfpi!+JiylJgY^ zgKjb?D!3697nb8cwqt0DnwIivqlKc4K2@S48UdRD%`t1@C8Ez#^icBZ-2P*O_^I<6 zS|v+JhEhz@ho^#OEsy7C2g@Sm@f>n&{tPI&f^zi8Ve2l*%=cF^T1$DV0An1{Y9fQV z$7wPK6e=ZwZ)CK`vt=AShx6XX&JTlPlVjw(oN`j>iT)){s=`FslV15i+B?hcC(zt>0TO;&OrU#si)AmWspsig1 zv(8&9_T*r0YoT9uIkJbmrMNcsspgAVf`frlXfw4|wE|k(3A;?=IKv(H=;a~`d=NV* zSE!P4QDK4>;UOU__=WwEiG&kyjcj3Jd? z3kzYWhoIJ$l!uHB7sczj1GaK%%KESCX+2jN8Rtc;u9+F@B|hFknp| zPkdQ14t2YVDVz)E6oPdu%?<`nGd6n)x0=R?L$y0ob$Y*>T38SY2|oF}>>`8i@8#@o ziqwx<4`BwYQiu)DMXTh#Ep)ejtN|iVhS~O_FYc>&fOo(CSaMpAl}n4H--$oC(bHgi zEE(;yh_!+=&|p~3G4(re{kaH46d%#MCxD{JpAum<#?a~c@@60{By{G$seR-0c7iFW zP5_{2_7+k7z+ODtzZ9O^mzsKby?ti$2@*3b@%g!>W?qx{wEbYQfcw5|#&DHF0J8>N zQ!bxV%grTUW;l-qD#zOsf=WjMcF~RQz#j{CV#i;Im#K zN-E~*=ml3@$P;0J4~tKI!b>@~p93D-oo&_rXQc&PDS>*fJ|xahKY^`{m@am?V@p(= zM&G}TUX5lnT<^hmY+O_^_K8nd5GNn*%EA;|%0YIe1UI;=a&|S#5I_r4sTQqUVm6(Y z34T$AxGDJ==Hf;V_Y%AsH&eE~HY)Wz^nd%NDt=*6lPp^rcnG)d6B;15E)&2-l*_nX zRK5;C3tL(G>ire=rx6~(`l<0QwgQNobt)ELL|6d+FOd9$<&X;gPtCsg_9yG#?6J;w zmYZX{yEX8|tzQHwbL3wN`LMen>GP{6$j^9@aEkML;G5JQLXS#J#iqX)826{zYG6|r z``t=hK22hGhFV;_UUPJk7a*;Hw;}K^wm%dIgkAxNhiJKRK90YQ2F1=DmAFD5h+KdL z(!f=S9Gq}Xu`fcD@vg$%xdL9Z9AfgF%%(&Kl3IcBxbEX3ipmXJP{fP{x6I_hT?NnF z{%~OBv37Y-as!~+kk0;PVKJSlELFqd%$7Ke!lT5w0(|<_XyK6d1%;s z`-5 zRsj8TShP)4fvC>lG=6+L48cd?UaogEbrvTj)i!W)TZi5vkh{1b!ezZYjiFQQRGW1} zUp^H(>fi}`4!{0W)h|JD@w1?xDI0B+1h8$Dj9)UPLXT#3x_Fc1BfB}s~%<1tw2r(g3NhKHx>$^n?Z+*_ifn8^VjtoIv{%oL4 z1xkQl@%K$xgITSjq6AP8LlS%`t+LNc^VQaGhod{&qs3HMTTkWq590L|{b0z2p@O%f zErA#JO)kf^qr)myq(h%0HTPaUqK|>Ud|J!56FNBvUKbr*Z#;LkH zAx<;cqp`~AO!x)v#rk2_UaO7)H}8vTNkat7_rqkohoMi~2(7H#uym=w;;3 z$deyRu^*=YLhkgBhIGMR>^F|wG&E~?Dt{B|OB-%YAi#ahxw0V!%Vm z)lZX8-&%B$dnHOaI%=*tV-tt(&=R`&3zyDdu0n-}#aUhTB*d8>?N2k&a0yMVJR!LA z07X51{FMNyD>E&gk3%QTNmBvw4StO>R&!z^@ct8Ws&2ExNRNNhTiyk{fwFAi@h}+?p2DoqLVa4-AnV)07pxe+8|4^Qb+!OIdk?Kwv^I1Hc)p@%VDk*v*{aesOb_b}; zdSldDtJv1I)k`!Fg5hK_8wR^oX+dvI7NPt9(p{W_$-Dep9vw01MQMhXp;qX!(JOk) z7vERCrLSPzK_38u3I=ewuh+=#$aaDx!CbI;CDtLkj88Hk?3FPKTRV+P6CC#|ksH32 zK)mRC4%fbhN#PfJjBk&caIkd0;dH7=H6#Y&=D^UBugl zU{T1qToaGJxpB;zn829Coz-L&)~z)>j%#M^$E9PS_nL2%SCkRyi{n@?RwWF@zR>>% zp#C?fe1rJGm+}7yW^`o4f2{t^JEymF|GVe+g6xi3F!JKg=HkzRQa?QC9@r@uF670V*ZjQZX1GE)G$`Y0w85TwMY8HPMSB!>EYs^(dqEBU;KHtIeTypLl=D&gL}7y5F_iWquSP-%dxMA~y7g#{OB62Y4`6fph7fn3P3M7UUK z^sPTFoC!LFBuv)f$OSzy^z>+_u%agIA6uc#qT|p4yH`~dPrlug6{${9aQflMkHb0p zI5kUrZJ>g7wjoFtcYW0g?|gB0AcfVUW$p%+w$(?C1uK6Bi(8gV3cHr)}; z8>BuvMVo^&(X+{9l(>M<4vl)-ckUr(cHFYlR_beaW#_Y*z!Grw$`ed(8T%ndr!?)< z8J0-~$@0<1@p|n8Rj!axEglB3me_4hGbJ}~Jg$^akX1Fj-3dm7Zc7~`b1`x!;;FPe z6FqjlK-z8#7cvw65xocLLZ<`NcfQ=NcXvOBgt}p^uQQP@wG8%M{{4)+`#aR&=tMcO zYKTu^ryVohKResuy?Wt- z&05|_@#1HkGI*P2)OU}sV$tlzTAz3@i%R7oTmBgh;d9Dp70Yhs@1GzX;V~s$aDc*` zus9uE{E*6*C~?-_Pme_D+}} z&m2@myTy`y{lc+YF+wwU%LqeU(sTzw|zm9`Sv8tq!+j+wM z8kumydWSp^e+q*mmou*s*TTb01zu{@Ifg(@M`T3lOFPdwFP7ovUkK-yKY{Y8ya45+C00=B{Ju_DGfeA-16u^-X@I3c?}F&a=|YyNI{TJwIg$+^Ro z8BNiwD7-Q40LvW~bd}qfs;L%9vG5r2sk|1Zcb9kSh^&`>)ymU4Zm;yfoS21>OpsF$ zN>??KlhDxiyV5n$^59hZvrLPbJ2%*tQl)a2p{m?C*J(1aTXS{?yzo>}Q>Bo$UM|bF z9tkYpqf-PQeHm)XphGD5xQ+ehpoVl$ND80YFB#FU`QBkYRXDfJ3Y&0xxxZztrQtLm zF(W(usO&_qPZ5cw^6E-O{Sv$GoRZtuhRa!!KW4P6GTp41f!9*1udmck^&mada86NU z)NenwtI7zK|C$7dr!+ND*d$7x+%?(H119bdmc<|Sk6yjQ6!y+1CMtB~Tp%Kdt5{?u zv%7wjC7yz4QEZ=CH78Y|Ga$%@_r#T@Zl~ue&|p2{j0!?aHxTOMRMu+JkS*=u|3^XnM^*7Z@`}4h|1|u>|J4D!-_5y)l0}^V z+C|@SMaG5I=~FBgsa~J86On5GV~2W~y&Isa#ke7WtGnO84R426O!!mD zF3&84xAsxZ#sZ466w$S+mD_C3eYo1KDh=IxTw@W5uQ4eN2-jqa{$o2{Qt_O;nRMfe z3z|f0bdP{Hzd=|>LSKz$l}v2TNb70y$DFnq=k%9+3n~st>w#{mN zms%V>BvOn1VWfHCSt}N1{uARE&vPrdghVm5n%l*(qwAgNfJrt-mx~kOlc#hrtp}>v z$^k3KbQtNuca+N*l*Ji30TyUoiq1qrsENy7Z8YDB;hBnGWU%WTrN1L!5SN5wi_`v? zK)`{7(%#;V)F)=+J=__Q!MwdM?c4c@t zoWrVWt_p*cr}3wWtm)5`h=6pOgexhTEaiAPW+GURbRWhzwC%L&=}7WEF{)VF@Hn6G z$JY!~Y4L9(UyQR#vy+6Gtm71`(W7-2l?~&F)u?5_A+=o25?5eXr`+^eG4jSxN@Wcb zzKSm?amjHa>GSeH(Kma+nH4|pRP-W*5=P5h)XN$_uu2P1%70Vn6B&B|K@&Lp+~sx8 z3nJ;LUzNwA!z6HA&7-WcD(!dmpKFWP6;w9K+=P%7J#?q;D+@J&$B| zyL}%NUN^pebeIxBsdy6QtlP=&Oq&^y;E$TM)}L z*tRKMSGXjJVlNZnm6S^R^-4qKBuT}z2)DINnmELuE?Sw+iN>Sgx9%uLN_95sfEk;> zB9leZkJULxFpBBdd}(-}@mq#&eQxg+Jd5lkR+e%``OHwT>k0|C*E*2)Z?MY7p5udL zmf-X-h~Z{lGP?T-HaEY=8b_(ibrR8<`m~y0UCj8~<5!DQ*(6(YaWic?We2bQKQ)yG z?1jC}>r#J9(@Q+&el-65i%;w(qf|+i5A`5u7N%*Pd5GI7EM{oPjN#)&%g2n{Hbkqc z@`?DF8!wLYTFmR1SF`GS|LXSr3k~zE|BGFw{``Ln@&kdNJkMt>ix z+Iq+DEpsW5ToA}){2{+RU)Y@{k5oZ(K?SOxo&IbCV@P3*RkD>77HbwWB}TA7a%caG zhSz)rFA7mhqQ_%EBc|Kp#Y0?VOk-(uD6$bV6I&RXuI2F7ahJz=moLC9rjk%!Gy#z* zW8Sf>YJ7=b>c1MCd-dmou-l}Q`KN96<*+^a<(6H-<;Ei)hm#nqhLClmT%`bt=5rbX z8QScUMl=6a!PFiS)SEr5t#)f;QXy_;8f+)(zj05kY^fx@zXF?H`$d79pvoiP%Y|XX zxVb&2to$qJI^m!%2Q#5F&l?&#@%eAf zreeX`ls=4?inj$tb++&^Pt|;g`7-ZSQu_%c%14N}cm+t{agR?pq{27w!?+(*fsiI) zTRjWvH$K2W+Y~`jFX8;gWoK=L5@j_LZRcy^Uq8yYd~i6jq~xt zWS*x!{^O-8Rh2Z2QBOL2_1g!K^fZ0LT<~$0nR1wsz#!G!3765z7Fqgx>@;ag>5+WG zA_7;kTn7?|V4Vbh)9B_8?#lUq0_2_qoq5OXS>9U)kIu=NtLYn0vPN?lE6tr)xd{W8P;S_oV6ONX_a~ink{#DUm3ifScLe1$LQ1h*h9~%rJ?JR> z==YM%-C9ny&8E_|92tfDKwUvyGZ9T%vppoC0RtfxZsRzOI2DE0hD!CP9f#vD)vw15 z#rH<9)Eg$y>#ZX<%A%a_<~g`4DM6O=f^jycL;iQn5K=$**ZoNBtUB}>;fcc&|Hg)9 zBbZ&;7X0&T4R|s6we9#XC;Fxu|Ds&c z^y1AXc0_e6R(B7nypi!T`M$FFRp_P7scQQ}_eH9buUa_%c>gZB*=rvgDEgTl@yK`f zYSg;%De|Q<-!h{o=J+Szva8qQf@kytB9yosD^F$z8N^!cH5kMEpZdX^A_>AmI1DcSa85Fg zradWFz7NI@@_2kID2PEJq$KQrKqe0TpzPDbq*s#`HSD8cE}epdK#rlP7gZ1F&XkItI8uQGy^Cy?UT_c5SGp5s5)D;rLXRge5Qo6)&<}? zFM7wttX7g08*H~kuS(#9fKKq@UVsVL)Jm~`^5LV`lRqAWv@*2?kbG(4ez z87u$_t|(C;c#pTM;^W3~O1s9AY_WhPWq181ah z;5-P5neTb!+3}_Q86rm-Ko$Q`e?ya-=r_3LZSTSR-ULhpE;C+-9$S?*#eMI*BBP!$ z-%)MCPUPC|zo$X27K>3c?aZ;YYl<;X{rv_Se~;KJujv{ZDUjc={pnksv_Pi@MlaAk zxPhKTtv`4iKpx(o83_hnyWtPyxT)SFWM*XRsaAJVVoQ^j22MXoIs6`$LeP#ggU3sJ zPrQz??xvS4zEfWLT^idV_QE$EVAFw=tY7w*zP&}#=?h;@osrQYE zAGtyv#D^lgee%#hr?_F;<_+kFEa`_LOda-OgHo~c7k=?(BVzid@HH>Q!xcQ_R)MM*}_to}eOg&T@8ShbtPF*G0tRQpR6rRU_l1&A% z@&G&&uYycj5{!7ONB>zGKpYn*e%>t{m-vmDbe5iIgLBBKSu zvv(8P6hPG%!|RxW2VICahyds#ISL;Uow#V3c|Uq9|-|dPH2vUR&@#UUG&gG_vq_ zl3~3{>X+ilPD;YbvG?mA9stxR@b|GQV>8Vzvfx@6#$o4daEMP+BL8f#N-t5U5UQ~B z$YM6;ziJzn)~eGXFZ<)qBCWuPWrFNevcTIU&_U~c@0vGNu@|I%>WN9<;+Y`ygYAT$ zMOdBK01Scy%#Nt+x152zc&icVcJx}BzIP;N3YQc&dBakllX8^qQj@r?af?>W$c$xK(3FIkW z!8#$0ASu2ndBDukpV>>U8%4@!oI$*BU%Tu3@w>^}s8^liTtTRry`qM9PlOAsevtYx zj>n!)k03{$#UO-=U<0A8wQWI@s7~e@)O@c8N;e-Ussufe!tPe2nwmXvnxeZwkCNOO zoM+sa_+j_jP?CJLj7Mq$tu9oya3agK95yRPGP-=xqt=8=?sdb~B^PeCrNLNDB1U*# z)*vL5-hWw@^)rJhUB3|_2ZQAH8SNVgDCQMAkbYUazrRamI@-eTAr(l-f07G#({^Fu zN4z%r)-E4aIPw(zg8-=b=PJ+r;*Sdd&0n+Fl6zO8F8^?jTnOpPh_! zct?+bYpu~iN0tpQX@Ith5~wW;;4o)%p?zn`{DbSK_n{`(_czs^ggw3?*|`<7-4*T+O$C5^l;{fi+s*dm-& zw2Agxq5_LF7_*~6aB*uGmF|f{{%JVWS-w+txbn>OxRvytPTsrCW3Ki#NU%~*1N~&KwJCA25ih2 zJrMf`bgb1akF2{xqmnc!U>D8s&L>Is$7VR5a*@JM-@socGA`zqqMi8v5u=S6=sd|X z;B5$4qM2dQF%^8cNnG)w^8{wR=7Jsir_#0te+X^WRx|gFOn-$-ZB_|C=JLHKZz;Gb z6!!Y%zsC?s9G50bcpJwYUsQ-!TH`~ZM%^691C0L3Iy)n(zz||^5?8foJu5 z%g^cD6#}6&=706eA+SiAQ8{|&T>Z3yWUsae?%qYjXnJEv zYr^2F>5SAhIBDjB(ra{Vx}Q|^IC5rG@jMi~S=*6xWhXT(!k_6LJnsjIDokj#@h~%Q zR+X=QwT8e_ejNR-}y9-uw|GBd-W^!0q%Z9 zZ1B*7*ZyE=)Lzj_6r2pI~)~MJPp@7V{oHsj^whw z%g4%QfFT9K5QI!PNTC-@WouZ|7?M))6Dq57b)Gi%XtBM+lRaA*ld&DYAiB((QJmP-yD!_9yCTs@aY?pRf=F(8rkQ#q5B2aMiTr8y{z+s zhJ{?2ool(VZaYOakGSLdYl1^sC>f)Am+tsYFcNtJgI7g}cKw~DL2(7)R7$Aow`GgU zJUY%tG^emex!x-@bQS{CH_L?u-#mPmIqN3bl}-55rJw>F)8vzYG1A%_dn>ZN{5GS1 zPtH3aW`MM_oq578XiXRy!f1w)I2TF{^4a8hO;9ws++Mz|%SbRP=RPL5BFiKJT z`4iw8&s?|C4_+U13vNJ*687M9OR>kWDDcgYD#&aUy!(?}Sh)iNRZ&{1^#ZsJrx6#H zJe59Stara};Z(Xn^{6ZVrw;soAH@Id9U<~c{6tVY_{3U0dLK9$xb1D%xay1QI@hvP zix#Li59fMQ!^gB~5!^AIWmbD?S6Uljp+fIqL(6qbg~&>v;&=8X{u-u8m#s%~dj>x( zst*MQeHPAp_XjtL1c)gs+#B%uS}8%rWx^yy;H;dJ#&=+?zmBF_ARnF~7r1N_yQ6dy z4Ayipn-lZ#Givp#qc(d8^JWA~U( zGG}g5fKwIZBW(q9x5P) zw}oFVHf)RjkskGvyRESrQ&SzV(DE*EXI`E;_AKpgX7o{_pZG$4XrhHtROeb&K52>Q8s%Af4Rn15uJPJ%U5_*4j_Mc8h1@x zOWhztSi=Jayl(@GS}Dn4b===g_zt5Om|J;F_QVDW#sZ zV=rIuV=r^`h%Zjz2I%k8Uyd~51%!e+CPhl$c!hN;Gn^|xeT({p=dPRgsiyUXNhzP>N!ol}w>7|^&*qt) znU2f7Ia3C~)iN}M{rmYCFQQs)C^^YT^CLuzUw!>j{; zVi4sAK-SOV5^1*_kFG!Kf}*)y>}?;7TL9Usdq|HLgcbY&w>n=DqQ<`jcrEx5+O%!CLWDvX)Ova0eo%FV_&G1&?P0dDCbtsZ~|?#xlCEjTbGzm{R< zc1g$J7y<5wpAt*z>^)z+MbAHGBWSjo;OS%|Ide5LHa|V#iSnbM*K1~+=5U5Ri}J%x z4&2GSqm%dk5zU$eKq6nK$m4HeBAIZKrvU3Qottbo_=)TnvT9EaTK_Hy+ltqE_J=mP z=YWIf#J2}<8nv@TziU{VaGW*X{hEs@qI-DX|8Z!@r$x(c64=E ze9b>@`jNL%ZD$-u;?0*OalfmG7pOkcod{TT%|yr0^6s?_Qb7+Tx$j`nsR}Zy7?^~) zA!X-L3}xpEa_}TeZW3bw)+nZAvS()w%)nbt%5o%&&<@;2;VKh+=7g(-Q@%ZX3`!U$ z(ZPX3So(0G?xtn_r?&}Pi4*Pv&t{p@e7nlfC@O_8 zD>O4)^u;Y@7JqZgK5#b4pY#?DMdVL^r|P2oN?$XSclXt!8~d9hI-E=PRB-PA zsPaLnhWcpkQfBr+FswsK1`o&a=HHe6f7q2D{g0IN;=f`+$A=_x7H>x`U}ao@h&x<> zXbr{yJK5W4KQC8z)OG`1$DbF|ipskMy^!~CV-A*;NXnm%Br&YyJ4xxUWmAtgd*VC9 zD8^KoUAOeqw0qt1&1N`(T_lFiA_0R%OZ4u>0mI{J|gpUjD=y8uW6f${*4E|-u&x#vnCm3i)P>xH-E&xzFbs)%bdLTFfFIrreOUOJ;8d@ zN!n89d5}ryYm9HQTxXKbd(>=;VkI}XFpPc=^RDhSAt*`e;N=F@p>=-ow{VV1-nsJd z6s?uuaAafmH!Ujw&qTUnnh!cOGTd2@pGZflhb0h=#U;joBBXZOcr@QYpW*L zyv_r=wEL0b&z4{p+IyGkwv7UJnK(X3FDAaYq3(K@_Un(vR`x6Ei#`l$CUc9sG~1td zowij2)D&A6Z%3-nZaPtf{W?f|W#X_nGNRk@R+M^iGIg=myIbB)wVlr}{Yv6TvN_^= z0Oe3(yzCu+eXhfT9-+nDx3M6c+>0NV zx)xAE<;okQh?`b{W!nSgKM!-}VXP*)N3MfHUq1*qD8)Yl)l=Q4uAndpfRrYD7nJ@+ zd)GuVFGY_5nr59Xx!xgh&A&_y#aVVhkPkQYQTB9Z0Bi{f9>*^Dt9iGvWlTmDxr__>NrU@#pX8s(him z@9W)WQ;m>c{{67={K|yQxKzy1A)2-;S9|ouA`XvN0h(6T7Y)C`U`F)` zzmqU;OQ2~#d;m&80QKWZbXB{K=Y+f`qj4~>dBQVhHrjy`Wk=5N0+h{{BZpR}IRbp8ng(qf-~4n&o^5f--|ga& zZ{E?7kYxmTolIA-b;f(`(6Opr(Cn*TGB#{$(@YHcB#q{_C0&PMO@00?KvL0#>QeSc zoRY9V>zcd0tA=EpaQ@cb#iuwN2Zw*>tK_xLGus|KM-4kp+)$ld~tg8!=(dLNsMeR2eCYL^dso{1U@}VN4>a z5Nzu!VU57l}xMa%wPUhoVR(GYS8?@*3pQN+A`HvR$lt_3d*`HQgYZLNIk_jipYYi_lttp%3PWsIUP%~h*raz zOf8F5MCv0E_Q?XUCv@^8Y<(L)()5wI-PfBwtk_cK|8yPyr@P{R{{nuk=zq-Y|3qB; zcQb}RaPg729=Z{?-X*tmxNtV%hiy6F0dwEUs|k?VUI8Z9SDJ8x@*+s=@N7WzrDc`cd3`XqzT zE@}qtl&L0S%b1+rCyv@nt&orVRzY6b^>7~z7CQ3ShKgTPWxVByVxu+FVGzE*#eO>K zrueyZ8`)`B9dqunuCpkuoI$2@cgoS_bjl%@$-my%KEBD;BSl9&GYn%>c(CMvOM`wT zuN6I8DY7WASxxyz0QH7Hows;EPN^fd#GIpddyP)Al~=HOoMXvk1P*Tn3*7}{iR+#u zlaz#GMKE%N5CJnBXl9hF(xh}yt72F6v!hmW(WI?%GdJ)6KE?~5E{$U>M?xv44SBIs zkJCZk<9ta?kB@MP8)vSIC74>bi%|7XVG6U_iq7HDesnESp9G?VzfkJ7InWf&TBy-s zEq0nfF7sjWLw++sYK=A9Gq~Ig8&VE_BI9fHSr>0xtSQ1+xBYueq!sm!Okm=-a>f9B zLI;6ZDXI0W(yD!EfE=GmcRx*v|`iP~DMDrKBY?8u@H3GjCicbt|7n^(W00J?B7 zIpk)rKOf|!5KbP`_wdlB>CuQcN(69}(tfc^6TUg{* zgTCn?1pJZtr5~d+MY1*Y?W$!O4PPV}RMt^4bfw^AM;3lh zol4=Rld~>;1^nm{O`(}K%RkEpnfgyZ>#xU{k(2DQ7_1f4s| zAkJ7Y-MP?Zf7#Ol(n*e?1Ko0o7dnt!JJUEGA3l1fmHYL4X4OQt)km4;)+>Y#fL|%N zpg=ypBYorFGoFK2oAf_|#svAA>RnklM$M)JY%42YQeB5b$>#XcZ~|v$t1c@SLW$ zmTY)&Kci7#z18FLIBhh}gEZx~corp0{I2zrbl#vB9qvTgewK2!H7C0>w-Q@4^P*;5 z_17kF*1s?y?%&g8Yr?;-TrGZp1>23rGI_v8@9Tl9m>jTpc%ve}?wfBYi9$r=R{O>) ztiVAO5mPAJ$+4iDtaq^tIqr06PdajLg+SJ1Sy-q_iQPxesPEU;y0SXDQ-zF5($>-> z(VP`_r!CLM&Z*XK=F>);=m-k=`{d5{SrQs3-U0uhm*C&vjloQbwpB^z>2t`rM4+Y8 zZ%L8cd^F;PH!Sm-AIi18*_Mdr!^oI#_d+&+_A6Y(#bxgQ%FJ%xYyq#Y1HNJwK&U@vD~RnVxKu|6|YhQ45}IzRWmgP3_M+6;Lf!k1FI^n|BvCl z_^(P(JK|qhz{;;9vYiN6yV0fAv3F63JPQVMTj}m;+c4c>yoE`1?L}+n)usy(TuCO^ zEp;W>&sjg>`ecAU!H-xR%hoJcEh1I3Kh&>g!%H7Uf*eo!-8+FD+BLq z!+$cMF4+AxUV6)ik6f?hi>By*$)RtKf{#sz(YcW~mEYY@0^B!k8Y3ckT0*f=`_t0l zo2Ssl)>poy^HAaF;IG`eZCQZASrfFyPI3@a%hz3^b9tlt_H@t}USjEEKhj?@x$w_( zPU_1=37uQLB`fjx4GHgX`ELyK+Dp{_g@dryulcCHFqtQ1y^^HpOV#)z@8hbFZQFye zd6!IN^8)%kZ6Lz#0T?N-)E=n;E9BW4En!IBYtKaR*^ig=OF!V$R4AT-_uyYXa+KwS z(hWxl3krqNCz^aTG6*;gAX#iD;#Mw^?)UUk`ZkyrH(K$+A8CB%sPV}6lsUI0?bZhn z9u_F1w38_UY~WzQ=GiKZ8(y%=OfTVjQGq4+Xk`lZD-0amFOzrQ@^ba?@q~IP&*y*6 zO@KpNC2GlQu|RR7g$DiWzu*Mn%vQrtIK2vn1Oi*OeE1#U?F0g)(sFNX)*8Ap5i2PX+)!nEH{eY_w z&p-S4u^uOR#Rgg}CrG3E6Uu@q#o8|~=@KsgWae4Q&|ITQ(8O_>I++pgXR$3k+XtI2 z?3M(jVE zQcW1PL1U5N_JODDu#`dsMcsU?7WlRtBRE$|>Fn4BPF5xjX-ZxVxr8Li9!uqGoXAF> zt=v+N{LNR%*8mD$j6ioZai(=XH@GosVAuBI*PWHpuy%BEMjWs&h93m}Ca2LIf#G=l zela?wTy)v>jOx^svn4R&j7$MPXE~a>_)5Z8{UjYPnJ&)lj}kk-YmmBsaBeq)bz9%Z zGYLEth?~5onYv*?Yt^!GxJ~ObF=TVW7df96+@^o;4PG1bI7F2+eH{=T@#Jh*ZGX|F zz4glazZ=&~`3qfWsi#Nui%V8J3CkBoTfA{;Nm-$9>qE=`Xa~}LqNtEymCflG(l=7* zO_{qc34W2!;@3qmUe^-jcqnBE@%p(BFMa@bpQw&68}WcEGRm6v**N7l zRAEe-V1y(FH`oU#+uwaD^#g$INO8M))l?#tQ;BR;keK}Y=JES4Hza89&`O+y4vv6s`G_smugB|EG zaJswcE!cWwUs)K=fjl#%4&rv;`f3Rz7;?~oy~$a7l4I+~#m%P%$E`f;k#nwgy{)% z%otQchK@QLe^~o?>X^8M|59}CfMH$fgyo=+EUCTJ)} zduhHIf{L%#W!jH3y*u;Av}IN6uWbS4AI!&a>g?QB`-19Cb0FN`ityx)q_8*S#S|;; zbgY!ubmp^JBt}RHbPjkhp-5xz3CahY*$uMTqGJ&fV;Bs*w65~3(dT||RVupJ?H+Er z>WE0(Jt7i{Uv+$btVW!|c$2mk76 zxDAOQ_qreooib;lblktlpj+nUxTF*6dlZoFftrbA8qp)^kMWg?42e0F@Jf9UvnV&b z6pwu$hHbRs4(KD3G$Jn+7-ALIn+NQInD$=D;$P{lFYXI8B@N3GdHiS+P_iA>QJ92n zK+T3*@q+;WlqdQ0C}v+GaTP9Mqx|+RY#6$tOZ#wNwKG29%yoLNK;G-b9$s2Z&)eyU zFimsLQ^u<8BtiT)u^e&^>2Xw|7&*k>_-|01b2og&k(y=edIlkAK#9)$H5K?slO#RK z_{f(D+Y#vBnUXsnKP9Cb-!SEm_8s>wvb5x7nK+p1`0+RnT^MV$!yOT!WILNY^YLla znTp?FhwNe#Tjp4G{2ofPcV`FW^_D{F<+%bg8R$Vq zGl98;V|LQf$4!hAvT;tiD`1>VnjlV*^pA&y9uBFiV+*p(iSLtoFdRAClM{f4%_t5w+%X<&B>EB-KHm>G+DJr~V7 zD-?<8AEET&`=cIai@5&po{c60r^Bm+gV}5H+|P^aBf3OWHF>F~m@bb}l_r16p? z^yiAo=pZ2($X$VZRD-ei1m{aR)O*4qo%i`MT;BZn;>Rxd43|+&W9OFH*w*japJ#hL zX3JD&apjK7j((&Ye&a7)ois8EhdU|kJrayInjc*kcY zY5og2?mso@|Eh2NOGcAMjiv%tmm=(%&YZ#{j*L1^vlejAKe=>%|0>Yg;q=Ls9Ozot zQv%udbb~I|%8(gwN#eIqIg!7zkBWlQX&t_~4oaGm=m!#d(;|&!w*itKAy5}bii8aX zBB!}jdO}RC)H>P;2UmpN09K)ML*pp!?^w}4<6+XpIvLe~3qF|}3={V=_11-8q0W?& z(8tM+SajQ3;s@ts!O}HE??wz|DscGX`b?s?e9SIo-q{{EYOjQkaKFP#f+v8bAIOh+ zi8m^0S%zjG&IqTy4q*x1{z_S4?udEfV1Xk@zAvt~P!bt8qO1EU3$?DotY4A+Fv(37 z)JU`e(%pE-(V_SZ-WsWFbGSflCOnAvw(?3oVA|KSVnWo5KMJZT=8}l|w2dQhIj$YN zl8?Nk&TCkb$*bElL!FlZ<->oot!r&d*QaaJ{V>QyI{K-GCpUp~;r66APdJy^{2+Bx zl7y&Zs&%bMvL$j$j-FSK{(03M#@rf5?53IvCPrKU|C=utH9Dx&fv5hu*p*No5c$ui zG4d{awpE?USx1kJpHDz&c7{MR~Jyp!?zTp(_!`i7|{SD*^)k|c1Roz+E zeZOd@%gs`0rPk7LhUd+_V=hmwFy2%1X-JjZk^Ya`R?89p^335edIdIJsFf=SAHfcl zAkXLc=NX8rAQ>JOhhl7{kks){!E<4TxU|<-(D~{o&9x6_?vvuhs?vfZ_La7+n+IF= zmpMHPJmtnLJ>{7W{?aB`j=hJ@wtQEwp^-25%nCO1GsP=aQGp|$V44v@#sA7QEa#?7 z0-i8Y<;u$h7fOWK>RvLQCy6aStA_lT?^|VkUsU!F)Vm(WbvM$9LY0xdY*^ zZ@PPh?lBKFrI!QZRiHtyXB<=d&OF%PNeU|-mTd5COt^^T^sT7|mjCc5UUpeoLi(G* z!#RcHMYYJ|^6#HEXH!r^g70LRmLkLT?H{u%0;lwYUm*i(meHTowV2H9s|_3S>$M`0 zeeA^#NHU(Uk9qr(33jG?$v@D;COe(Y2JIM0xfl@}26gHj%wR|DwL;v%p$l&7NnvN2 ziVMDBIdV|~ps=rtRkGGuSC$x~bo_F-r1!8=e!aVu6!N77fzA#X@t9(e4Og}`K=pkn zR&|rj-~2@sAQq^t2VE=scKQi1fqj=9UF>qjr)Uiy%;}?ayx&tGC>s|Ae8VKiTtNiCGcQkRSM&vS^UtrpI6sblf zu0WCBv6ey&-Xhm!cB0l>- zfelmJ%4Y9+wv@Rs>BscH3jqE%iMsJWw(3Q>EDR|w^n@%zXYHTVM*fM-tKEWs&^fQG z-R$^MySlz`pP&X!H$srmJJ#J!3&LHbnJ{4|CiT>Px z6+2mvG?uPRNJR5Pvs|bUUVTIsE~<1?0@|QfO&uGFv@-|Qn`%?-H^foQSj5ntnQJFC zNil(*lxFBh&Y+CFG$^L{#EX2oLMjz2Iis&v@^-N?wDgC}qu<>;Dsua+lGo}kCv9J+ zpVxFuetcPljnOwzoKykf&Eb-XD+5VeNh%%3ZyiuW4YvZK7m$-Je$;9CADOP4$zWHm zfPFE&cU@Ahge7vO;fO5kec@@R%t|p7!i#;ngT2siR^2K#Q2TUVNs5Y=bGm!gvDCl(qnUnHM;UQ`A@Pqf&eFWi5iYK@jjQ}^O{MV@0WH{) zx+)Tm48FpV!%VYL&Shz7OQ)go!qO&J)TaKP!JQg<&vnnFUC4Mx8k?5u0XnxR!nD*< zOOUNU>KgKviShw|9^-Pw8t!9`j_c4kWk=J6@M3=tA|TdSBY*HZS}RL)aeltL)?>=D zxK4qVip3ZAL@15Y(hZ!60&|jsrD0;3gk2EXJwhO3y z6WONXUETm_RwI$fTcRRr^>n*BHw2XzAXHvNk60Btg>%URV9yD{_)-&f@idIckgE6V zQh2-X>ug_z#o}(EZAbT)H;|A5UrWsgoN3YJyxKy%#oknID8UPdVl^c?a0s^RnN@F9 z(IfcA@O^HWswF^kB#L&yD6UtvywBkiGJ%QA>J>H|mDD)}Ge{^Pdsb_ff)-$MWH z_nXC`gG%eIB;iWV6WGfnZFEb*5xjo&R;~XrCR5jrDN3~v{l(uNuNG$Idel}b@BY`w za_lU%sMdE0=0_U>&6ekI)*A&y#$fR}i*jSs1J9`)9pYqVYiO)^sP#2-tTt%m;B8;1 zTKd(6Up6X$qXtzPXsHy}(AWFz;cXj|%8X}}EKxOpipd+KelB{Ai$Uc6fm~t|mw-Vb zwh-5E9T)!z7CF##Hd}PvA6+-&S{%{=ntX^-k)C@6Ib^!snAEkRNpzLpR;PoK?3M+ z##@N2J+Gu)P@azEIj*ozfR%u4ssB!iHo#~G;yjvWqJZ(Lf(+7*A94NV%q>}a*rhl3 z)-@g~*f42Q!KX}cHXJ~3&I`&5`bVeu@-N1&;n9zebGa({Jb8sjHUwffcJX62y`C`u`!#Ls^ISd5O}RL7q(Ud* zsR_dy7uXHje00~}@0NTHOrW+(o#pv-a^yV&rFQjiXws0ETxg+EiW-jn9QfiYg-*>74?A_k1qt4BO8+PffL$ zei~$exO{zsm!xP0m$2ygqAp*Y*7ZPKw zW$~3771-iW83r}G_lq8q?nroQ(bjoL!6jnAWi~C+%3&YkH>}0*0~?*Ly}c2ZBOmFP zAch9|H`0l(egiIFFhcL#we$m`uno{`ZvZ}G5b2mfE8)37^BI$l?|l^Ix`Fl}?JXV3 zNB7?>ZgCTUHEbm(!N0lcR^<*PI8~q)E@x`*ojJ${{q*jL@B1eB_8s4BsSaG?I#A(+ zoQ)24sf=alGMcdtA~)TueZdpzf9Y))^%%M_gLKz0vihRe;G^bQH}7?&waU9sGkS8h z0^ezcfkdf2O$A^4h=G5Q;5;8`5p4BS&i<=MlVh;4#+iLHP4UH#Pw;nwpjcl)KE=No zvmfN}I&L-celPfAjokQ!ot!mE7M!0h`Ru-$GihL7CCIXjNe{dSd=v;SG@K1@@ zpNDxjpGl3W{lbkcVv6Hx`Z6=8Ao-m!`dsd`mvukTQN8ShJLyyk*A@5U9l;FuW>Jy8 zW&fm{UjCXzCk@*Q2H{u(O!9$Cb-~>D_BAnyS9@1X@0`#$Po2AkoJHf{UAq_JR_RS=8uitieyq$B8-S2xDoqx)XcuWFtTNhQB`W2S{XRn-6k2 z!O^i=T7wL&x#hYd4}euaE(+>EEgsp*bqdTk0+_ZhxT;%|JGa!@u#P|7 zW#4x(mLS)IkiQ>H7ndH{6*sr>-L)3nK>S;yiDarm~ThC~DmG0lhUK07^JU7&~ zDW_7yJGaGzY04YC7Wa zPoA@B^`_VJLmjjRUm#!XzVYZKL%$W<5023uLX+g)%!!XW(1{}!n;+3MIu-Ltd%J7c zmA}@+n@3{mD{*w9!i`UAc$0;b!#dxE6oN+CH&Go|{06?qB~Lc%XTEm1y=%v*VJ+9v zQW&)=^yP2N|IBIrpIp-NMV*dkuGvq+k`G!9}>E=XH0O3~eW+T0*fgj?>tc9;9$pvW=!XNw`1u_mb?YNw;+7E|J)k~tDllRzw32frSEKuZ5ek?YE)erg9n zDZn$Iu~OIFxy;PtK|!gx%B8{92PY~UNCmUMc|8d-@@}inc5!>`AJpprhSeqs;}P7& zejhm8m5&2M<_T^A>hyVkK*G5i9gQl39eF=BIa^2gfBB>&{Lp%dT7G^zuT_XEsbxjv z;ME2tpj8Ji=M2$w0qfjddr!5Yuh5K>y_-EqmqrxP(MzNcd+DW z@3q5-1e9gEXRB_NwaP{cmp@Zd0=NY!;jelPzRh-h(?I;Np*gJn9ydP9^1(3&-BbX| zo90fKo`TJG$l%oG!MxOxX^(oI-W|eONhwfDrRo_Pd{MYTMxouV@^6H?sBm4;3PTn? zGIAvx6p%;rZBL#r99NS0vFEYhupb)SGUsCH_Ov{;u9AN^M9mC?llV?c)%8kC-8?_x zrkLBv;5*cb9OL@2XQ~oBp-*@MO(ggu`BK+4Xqokd2&lYv4`Y= z*&XVqjODJ|J|NH?H$mykOrm=PJq#R1eVHG^Xl|*pr2L`m5$$NusS#3tPPmf0I{Bq! zzLAYm%7nkS%%rF+_WAG;aeDDBDLj{%*M68X=35;m)M+^C=PVSaz=4-o*0>rROU<^t zfK7{iFBnHMuPpe-QykK>Blz}6$+F9F897hAoX1MEZ)8J1Fo#_KT!^rlRRTGVj8vrD5Yr!BEQM6h`r(SNb=7b&qF#|4`|Xj3r1 z?;2s0MjDL;tQYb`$Fb^0RVS|%2D&|;1=elCI~i{yw{#6HmBbNmcgkZsb@&eCygF>6bubgj$K~ZyCUVRz+fCWE_G+e^U}< z=AY=yN>y}p12E>lgj5Sijd02j3(%V9rY?*P6{w!uj(2LmiTf6*vK6amD&e&UG*aVE zPQi|I=2M#@)=UfGCA+1*GIbec5g7@-Eh_4wjp+N?eCrZKPRR6a`ElAo1?AUVG;7lc z{RZx>&L229`6}253)o%tCFbfl(S3gf00ABgYWORJ8>wP~twO!NIEY(l;q_E$f?vNV zk}rvOYi`Zp)oW^biWD{e+QcKpizs%jh?gIASSKG3|Im!g5*GwMJuYb1$UX=JF7Ud@ z*A?xK;s$IOu6zbf&I~IG`5jE>xkS!#oUogsV>_8Ty1F5*b9)N%_ZO+wRs3FMj?@eA zK4ZiPZNWH#SW0FJk$&xJ#g!Y?mReR!thNCLE{nW(`4ExLf!BhHqL+-2HRX}(tvNF! zX7T^4W9q*u)&Gw=$^WvdAIAyOCCfAd%sM9!CtKB`x54RLg&8X{dob-Ir77|Jn&`WNf( z<=uY)@{acSQM(^K-6j94kWv|Ur=bSs6ULADpVo3imWz$k= zk2X8>H8y*i0qHpoBbjj1BDh$|@(Da~%@mMPNn0Cy2pb!`5x@|ZwDQ|-T}6|Db}&78 zdNBd&@<${wClUFele3b$5t3v+OR02U8oSGS8_`*GfsCDD9)uo$+#X^0cEJvr^t@ZYki=dMGSewpfqL4&ZlG~usL$XpAIgZ3KBM7QK^KsAUvz@(mbO`Rtot=Lk0 zuuhivG+&0s;~;^QpWrx8L1(%{{km?I$o!ms5#*$}_ffFDjCaWzg6|XNG?kV{fRW4z z?H%NNdR?$hLe(o;=>ln*oK}{x^n0#<1~q7hKMKtsyyPNVG6LvJRy|!ed}v38ul}@; zq$e{9-^xJDSX)8ef~AKLW~(a|$PD~U(ZUL~{DW~ZPPO|C^m+As54-|Az-Iz%AJ2GK zPW`a?u?~%GK*29N%o6Kyyk)*D)*9z5HuPU9y7`ieYL7xC1dQR=`;#1#p1~)uC2(7K z#f60Xt?GDkINT!ULvpvWr_#wPGdf7wY~J|j5umm`5FW~w-@q}U``*q@+Z!nDs0R7P z_W=7wAptr!$_cAhMhS7})L1@Of%cDzAp%#fl7bFbOPrck9A$&cTs^eFFt7urQ16H$ zm##O3Ozdvd0)n5u&4Ndaea)N>28-yAo-v29pvpGg88D3w1s;C-2fAzm;(J?J zx9)Nv4_5@R2_^@b6K6w3wY_W3cDGSnGPQ@jREuh-Tmioj&@RH+P)gsIgD)1$0*K&t z|HL`(`<<-}1q6*qrNqDL45_3Vbs4jMWBYl>#c5u^y8r!$aYY?>FFQSczm`p4cuIWw z7Q^9EQDrSS>8VpxWK>`|k_~+NHZaqnfHLsuRFUOXMBb1)y!}x_t~<#}fV0h<(!hC< zc6&9cCY@@*6ii8ttz#0geWNeH{Vxw;B3;|T6J?NcpqA$_k$((hmE z)y92%gk8vb9u&q;KccAcxx!au_>_~zE+9eGmG!FI>xAb$;yuE6_O0{!B1Tm}&Q~ha z4W%wm^w)3?JAKz`hVU{;yqGy)tP%-<-B>2w7ASUe6haA?!k|rfM zwIvXfO&($&?7u=%rGN=dRl>$bFH}(NlOl5yxz+7b*_S^`hi45zvBlf2JF9et&&NB4 z1d=@)Q|^XI@NZGZV$;zbFJsyFmySNR3!KMYFcc^Fl4yE)0$}Xz${<-j>Eu?29(>s~ zZ!CXj2GVL2LHE9Z?xvZeXD4M!WrZ*7k)P(3Y{n>{Va?CZt&7=sE=RcUMBXufh2V#Y zZ^-a=e|X4zyX%r!>J6d)*YSOovEv^PVp8*-=*pMph}(|^R{kEcD9$(u)^rwZt}z6v zyw04;q$)oQv9!AbhuLuG-!ucb=W-x|%{ghh#nCRF{4_}`;KjuVDBmjpLZObx^BQys zH-kdedC}D3bj64)LB(Kj*NEVNNDpH|;v_fSKTrVkjuKe(aakUAs4KQ|ph?g5$GFX_>BqKeg>&-(kx=PxvBr5LOzV%hOyq6i3sdE978@nxtFRO9yZ!n$NAw@C; z!{n*eWUZ4SM)EX8)<)P#LUZKq zP3@3Lu9=!=(_Rmf1P%TM-ozR-mYCCh|HE|owzctC(YW^tTmQQ#r0)=ArtK{Kd_te= zJue_Q713jJt?qtNy$z;mdg;Dtl?3?FjqhF(6kIA*ax7A*WZ!m*GwW`eYRYG7y~rP? zc8na)hP$=K!Hym3Yp!awN4pfCvt%a2HIX;2B@=W*)#wX?_zefzDTLQvqZdDA=r3GP zCYP#Qm*5J%A;B9=1*YA>&Qfj)emXL&_SJ(iXfv>N*3fwf`|0<|r)pc74u2cVP^az` z_r*NTdX6swMPZX}<`#Jp0ptx6OqNQVg6xVXPGBT3~EYWR^%zD^HZ%;BYRhk$72+!ZeX0#ivcIQ6-KE@B1$? zsn4bJjgtkjYxljp$0C=+14m(zaX;eA8vP8sKc0AJr{nnK2(_{_;dOLx^EHR?;dPKGP%u}L!Vf;cAm_`97}BV%`m(*$= z2DxMS4d_oI)4zg82mfA4mF3WY4olex+E3o|4wcjY(tQ5#VofF9_C_9Y+ZqzW$3QS% z7^)voOmZeC&K}kZz?jBBKTDMfVa1{Yvx`(bgKPLcp!H(^*%@(tE(h6(6A2)xP_m{* z8Jwl;Qm^Dy~PwOh(dwm<4jRLvZPIVStV<$c}oPkg$8;gdQy=RyV zd8tQ3XufKCpfalPVR}``s>!%8MQ)utCk*e zt&-Yx69ySMle#DwHLPHh&gPc4CU}e9b&_AJ_f!7Gnlre!aC|Mw!1x_|FzPS)rUlgL zY0@915r9|W`Lz|-4_R-eu)uD^-lZMvGkl1V#?A|WL9CsJp>Q2TsJ)R1)ZrUz^4UU+ zQ+GArQs?-V1lJySc7_&MLl|gqHAarqn-AKMiNf}Pj*7p17%IBk!;~q%C)~?(!sZjZ z%Fa8ZY&+SoA)8h{B)h-2ng73R%m1a&^}nZG7Qh|o-{HnpyO?OO?i*BUGC{eM>)p3z zgGGG{V_!PV?8__0Ki(!K)-TE40YI~C=s;eg&{u3si(bW0C?8}VaTCeeEx?-9aqW#E z!qtW`F_8h?TYCp8@Y$yKh7%BQ$DwK9Ftbnr`0x`D=@SV~6ayLrpbMcdVYD|j4xuhO zJXTS@m=Aw1GAHhS;T6S!11jrk%kW^+b|CeANA{kZ#)_;Q1@Slc z<&cHDw#Ai0aJs&i6b*iT=pF?aZ_6{p<_o$j$%2Er6d!a-aBxBE0LH$>juN=M4*f&! z(&Bf*?BJIe!G>M~y20y-ll|8-4T}3$j;0}ZLL3CYqIk$J#bK&jNi8pB96K2$JoV_X ztxWp2N5y)#Kl5GzR&hK?uEuQrLJoE zt4RfxdSlenVoit(PMNXvas5$unS;U|h5|?jcB$=VX3rqP7;Jx06dFK(z|Bf2!x~*2 zYM1+t5@7n(^sgUc;ifjcuV5#KGqx32dghJPt%;B;`=mSWzyf=B7 zO*W<`_pCbJ)%Zfg)@609fQ|8mfBI=is<3o-WX&O(EOydxF&?0bPl-VD6D_rua0jm*nNmkE_hx#uqhxDUSKgP$^(iXBe5*B53oZ zg{~ZyYPw5|v6TNm_nYM{;nxnHGN-%aCPgZJ}hxci6>FY62H$FYqKou@VUu5VsbEd0$y_>)^y z081r+eI@5D@WV)26331%icj2v#ogeWn9G5 zyx$;{I#fIcCfoSN_|%YsQB_VcrRN7g*ux{vrn%2VsO3v|QNjM$4~xxlR7|;2Dw#rY z0CsjDZ$R;|6jys%1(E-PCdpwuvSm{anjAu!Tk#q9&+P=_p>{f_sKhNztiTP9#WS1O zZ#AEKr%+<%JcHxRQOq3*wA}CKmHq4SPd3X=KF1cCejOk0W3G${c;%(zqVb0If~n4y3PBXqVX)#qIGHJ-B;O8AVcZ^sSDZ|Mnx>D)kQ*Ys zh4CL&gvuuC=O@#i@?(nwUoJgpdY3q06~pB2`20PY16*pkL&U4u6kW%Yw=JHJLw)<4 zgF&kA?HQokAMA3&f>g#d;nBFx{NIna3PV*n7 zzgN!azaw&HL5@TR9n$zZ-4gUH5u&ue#T{R`rWpz-n!V)9Y^G*5I0BvI_BNRL{a$4qvGI! zY&}`eM_U(9$$rXzQnGl>tQ5HaV(73Fi0Se|8J|Bb`gidelm7=C{Qmu`7tFs0rqmX$ zvsnHoI{$xhm;S@bKKW+?*)fgvxxAZnKod3zc|)%SrV!u72sJ860fsB-gvnimiWZ*Y zoQ?(;^!?>qibg6l{VF?({sv6h^mxU5xDYyKzUYB3J_!^MIz~YE#y$OSg;7a~H%Y^P z%L>NfBo5v7jNZHv*E5pCzrOgvt@D=bR%V&)vy|bGU~TN!NZUOk1;5{f|NH%o*O5S# zPt&vPFC8@SVB^~GAQhP+Fe!Be@E`w7=wK6ylkv2jd(6UzsiL!qd|>Pmao6C}*blga zY&Fi}Wzb{_kr6fJz-<)`ekLM}W&|5sqfoRXS=HC;1E(SP72Imlw=n)^ zcv3OWNH;AcBr^+GAV%b{!iNW2!#%hkSY0I*4BeTo6gRNou4q~&l7cihsTcWo z5#vD8krMb?WnebZlV{pq=`Cf_h?ssx#k|=n2QzYJZ;9gHv+Fmqe+s=*Q!hJ^W zZ`KDds_1-)&Iqkz?_G{3?CG#EE{2hPyck#Y_qKh8hGs9+adj@O>iLGfuWz(@1uGH~ z5TUMK8bd=sAt$-$9AhP=Ovx=tbA(xrlK1IlY-BtnUZ^=X)tz9MU7D~`Ytk%*(p})0 zqQQ{)uH_$j|2aKS`iI)r*evnSaYxxfYoE#U<@1ZYV(}PWsVVyo<4&q-QMvbpB6}0K z9s0#SKt3$9DnI_~;r%s?-ZzekR>t&>M(zDA;aJE|`2|1!hX?Xf5YH6_U}gPYO!<5( zpIhs=tEAoBQjo3aedeM1_H)!yg|?E~M)=Ti8|#Q#1X0`jQ19VzLMWLbW;{#bH&DS& z29*4)(ot{saHZ`i!$yrh6PS?J6{8U#5zH8a2({%P8CnIDW@IDGcfc-8w^?k=O@p#N ztescq;Tf9JT z`4(;o6PW;o`d{_-$`hPmClpSSyTKop!!cs1bBy>gDQ=9cc$X3HY$sEtQ!`ERrqAIO zji#Hdv_u4?^l*O!HUIJ>P+*q~z@`mN?nbUnsl(KP)7;hvgL{(n)BM7H_K2$C;v=9# z!wn-dgbS^MqEz16f*S)`CMC281Nx-vIYkkO#$hO#KIYw_0z5Q@PwM`8xKzyjE1&`; z=P79Xm^El^_!Wk~4h%&I=50LV-Iaf128=+79aE|d-uU`n!rOKOF7>P6|6jOo$Z78@WB;|?r;hNC zG9-zN$fA-$@>yM9$P(>>(!P~CFWoL)NEc;s=QHNA?QErRoeD@sI>~Utb}HpM{$|EI zn6MBl}OrYh7mhe?{MdW>j%teBFFyu;=8~M@*H+o>6Sid@gO{S|J@o+2iGHRS+ z=Kjs~JyvALsOr5N)OS>t?PDNynXy;Y)`xOP#ySp#xuzAO0Ae}=JOyfsU+O7%Q?f;=Ho2!lN zXQ^RJup$3spiyg$$0tq&d*2SEe9{Y(8zsO?Z^AD`Y4R|0c~gRs~(;d?mzvqZLGUD85pbkS9)^>lff?ckRf6gA~GzC7je6- zTZ6YAl8B(7e{340CE&t_4_1wpXh|9wr?dAvD6X5)bzx=%-B!l+?v|&)1C)8k7LJHB zK0Pl!&QpYy4pU7ttQLnx3ti;@AoVaTDGqTVoBcIGdA3K%CNWP%c^1J|E{5~L4Ovvg z2RLI;>X=pO>lt@86MM!mhL)m; zZ4$I2vuuCX;gwTW`Whi~n7=Ryw`?Z;2M3W?SVDArAt3NA*Xrx|r-B+CFh-V)v=>Ah zw9oMQsQ{`L@5kNy%dzHbi&vbM&vc#Zg617#WdXB#43_pJM8-|pTs~R3sd}q|A2SI2 zS&d20v+JU^N6C7lT`h|`_u(f=kL}!V@nP@a%!wV}5a#vzdTT)fMr3k0+I=Cn1GSE7 z$*ja(abu|Tx%a8x4k7iIbY&8w{xbb#0n#|t)*+hKWXkT}VH&$li5%5nq{) zxS2v-Rs~C4r7rSApxkwLEIWdK7~Xg-5c`>|q25r}qhZjnyp6(BwefJEsPi$(xF)4H zbuq3ubTWYZ{Uw<5(+i@;SMO#t-#e zQJo1W>*f1LEgs@~@yAET-^lLnQhJN+;}U*4u{*4MHshx-J3Tl5tC*O$ybTgGA+020{j?d9mr3&P`g)B+HY6o14;);fsW_f9-=>bs z5fN^>L%U{tt%_aQILv7yxL|T!q;L{lq8-vOYC=q`LM;Z(`%VZ#_2!oW{&L$Js6M|o z%K5*^_m(BCP2(5-8oX=aUyY0Bb^`q2=@F1>oYddZlHm zloATv5_Q<1e$h)m$2jBBVLsu*QL{i7@!#?(?jfT!lS~O3ciU%Bl|Zx5=V`Fa-@9B}kwR@R$dI4$%da1iZ1(1V@^YddsaatB6jR{{tcrEFPhS)+_G%DvKy;=L) z$mDuzDS{cD?AF*TxFF^Z3*99Zgvov0r5obskK4<&7#baoI;o-?c$CU-Z@m`dXI;G+W1QE#9z!0! zjuwN_y^|qnaC=RhB#WOw4wD>AQTer=L{Ch@gOA%;ONbY4Y?&8Cv7I}Rp=u)3W(A<4 zN|?pB#(}L~h9#XC4|0fU=ZM( zgV%xX6bf444Qj2T34XS#sF)(r%2kaDXno*7T><)3mS<97qOStu2Vo=Zm~mdlQOUw zL>A9RU<#AdwIoINI!m;iYJQ;eI0GcNg8XzlG}WR8KPR8>M#IFET4TR<%+Y__xJg=h zUGoy|Jpyr|Un3u}3{wpFJ*=hwJve@ZFSa4iHeNs{Dk(I#KcjYhpRGQC9Qw)A;d$8m z7@3?B&-;Y#VGL88eQL(aHmF~m$&pfqIkta%kgb?XsO}WrKWli9b~S*Xy0GoiQ8x&y z{?ku*=c@j0!vjFErim@4$4D($D6S2WO?E2b34ZOYD(FlrWnhEXb8sB%QgPT9VhOU! z-@=A(8Lk#qQ3nmnljWuy88#lcm@oLjHin9WwfN}it@u)1DwPxmd)W!c0xDHr^~E=X zNG%CrkzYC}pYIjI9@>i#ZQMbhpv^Xwq-bpCGK9AI?P=34iAm_1tt%g{wQfPbnHoBC zn7bse^F^n52W{WV;e_p%#vr)o9mkNDJOLM~K!n=iC8{<-i0$1^63!jnsOU~${K#8e z;Y&;O$zC$VDiCVG_&GLuZa#Hx`+nc@0qVm>n^u6EeDn?wnb0BQ4=+z;rvyJt)xKEl z&+W5rEvTA2+d#LSni-97kGh+8z1E)mCpyq%P0cA8it;Pra$$5uzIj9DZ?r?^WtthN zrx&R!zc#paA*+aRP)N#IPNwfD!`bopih93Z)%#oQ+t!#YC6Q- zq8AomvCHH*qK`|q2M36I;=oBDM}?xkrb75$z-J*IOjgLRLzb(JX#`q0faPGhkxr+8 z1<<7iM5T8z^syM4<1ne8=$LSHEq828w;mIE+ehv|g%sm|$Z%c7qCuXWqA1{D71nzwVx`vK0If+v5+A8jg z+wF6!$D40NjQSTH`$WH5dU@lQ@-kiql>LjZYCdM~Zck5I5l}j`m<*xygClk6@S(;*I7>rA@Dt?gd&j)~Hw`YlTjYuV zzjgWUm_!)#g$;_*BT@QqhnuIA|MA_gZl`{>n}05l(8^q;;5W>i)KZE{QPNa-^`v); z3=qpL&^PPpqEJ;YG+@ zr)InNj+CZA&Gyg(UxK9|skugSp|v9t^$C?kH8DeBB@g(8-SQlj`rD3j(|}*~$07WE zAdX_u_vIZp0Pbt}i^d}?)pu}|&qYMK9v#_s7h_RKugtE(PyU&JExsXlGs3lD2R1eb z_Wm~lJ6ZM7LzIcKIiMvwUnRc^ga$?qBwzuWf=1;fUB~E6JK<#*u2Zw0XTUfgvfLPc z!0^ctC9Mh|26b|#nhrn=cn=9Cn@lo`mm$ou#*=<}4j1{s?Z2SeDz79wnF2%$-lehg zGTwL6@cz`tp|qnMPczKM=d!-0pDN?s+Fh;|rR(I2=0Y69nxQRnVOgN|WCZh;P)qX%s7CaIAh!`Z}8wCOuw%w>?i*#^rawYzv?_shLd1;GokJ`njlq`cR6*NYdpfE~jo5|7f&A84sy8*nZZbki zA!EsmRIpLimWGa0O+ljQxQ;N?bFb*IY@}-DdPrYlqnhsADA|?yF91d-{kXkpje2ylggn4c?~ci%>%ik6C1rAVcbmHuYIYjc9q7cyXsT z<8$EKlh_4i%||>o>st3UM}lIWz!4jZ(2JjOjyWw!}OL?!~`rU3f+RedQy8sM5A zr0k;$Rx|kKMO*J73H>Dp(j@(h-d$3L%m*`VzSU9mXO1XTG4jYX$I;YYUe>qrO@I4Z zIeqNWp@#A8&!D_}kgMYJU~tCnKIsnbJGPsA8$#2y0aZ8K!C&2}3P!zj)Mt+^2bHZi z2)wRkZoX?=TEVgUMofaGF{?F z^iWtR;{f*qpcMxtMqvRj+KDa|aV|goOi66^^3yXD)?I>^-Pe?4EPt64F0ZA(WVMYg zFO%E-MWRwyA)uLYi(XP!ex|=1xYO-s!j$;b1>Uhb*7)#~N#H0v08V6t)a|0Ni{Lx1 zA^8~e1RFIAd67=jvm!JoGW^Z2N5mP9jtN0Eej-4t?x8};gm;5SgwJ-E5m`IdOw5+o ztK8Qq7PdRpMD3mLe|3`TUz%bhUoyA; z_~o1!x*D@mEM#~0+5qzZQR4rm&AtE35xWI-<)jj`ruy&|MA&Kb(Y{mtSM zKmIaFI)v4G7Ql}y;o`<*>~}*VvKBk6`#y=yQ3{s!01x-{uygZ0hEI#t{pPY~EW>iR zxvYXE)b>CrN-3#Uo=#a*7cNp+pODZjie6lfZ2Kr}){2g7?hsxG%@HBPeS>B4B!m6w z+{C4sbWNu=A`6HtqkP6K_mzNsdeteMjsFWVJ9rb;<_Uqe)H(Tf)W%_((rka2k`(A$ z!#Eu{qj$8T(7p6pzKe7k0?b4{T!yet7s38FXCnIpN_GyW+-+jic%tb<w~geXlS> zIo#YTeOAOx@2S^HK@2o!J$O@(V?F!6-)S=nge5A|N2q&#FBcT|p2pd5^RRT9{9phe zC2oJDFIq}UuP?0U2n~=y!hIy0zTv39RBkw(#U-WUN;N$00X>_(o@d+2F>_TmY2>+} zXX#BsQ{$kV|0uoosnc7W2a470^EClB&YASQi zOw*7?#5yVcP#~JD_7cn#-$r$1Ggldaz)HPVMa|{W^QAP?V0KvD81U@c?Bu%T)jKiV zzjVy-Uo)A-!%$)3`~NjWpn<4zTPM%{5*^7ztZ}#n(&mV;y<&e!*F0;=4OyyihA(PM z+fp%*a4Q7bZoTh2Hz33(H=YbIwr_HGm1ln^R=f#945266`-P410z{qEzD8FnMGfjt zXA@H6x3lVtngB>eEk4IrwBb4IDJ?(Pr1rp>icw27sU#0sy)0@wf) zpT5KqyI9BbD0Rm4=zlLhMvLpMIIw2ug#k)(`XKsUti6x3qh9I|0iKz{Hx~O~6^=yp zfjl=eDMm_EJ}Dovf&I^7MMw$Sum?i8cD?iEb*$kMA+-Li52HrP50wT_d@Y_uJstB+ z)#!A*8cuJEw$Hdi=L-K^6il7^3RL3bmu6{XC_3cFB_%IF5^En2yrW=CQ&Co@cXE29 zCoBeZI?@Yf_fn!#rl;lrla{=nm?>`9Xc*3SpI(B0TCJ1p^e_l;VYVZf5^MW$HRD*| zpd#F7_xekkfNr0y=&r<(nAR$HOnhh72`0jECET!w%M+rqQx}UIaGh*(1#KB8;|^~9 zNwU5X9&)*6sL)v_TKyZNs8~mKPpFK_dpDB=$pyE+u|41?uNcoQdOZ5N)NKvd=S z6=832O|M;l@1iPomdi^Gg%`EIrOjh|XN$iyynG6Fmn*>VucrgL2Er6Qn-%&i!j#pL zA7=hGj=A90-7%c_(_N$?w5$17b3A?G9a?`T0(0N&rk#z{=b&yd7U z`}xou7)3u3;$+L>#uT5I(yb=}8_42u9G(g^oS1GCxSiW)_GHd6M&%|m@zS4W{`{R+ z+WR#vp8adF)WFdNy1z#?ZYrQmkMpsASW0_0dllVecS`uloubsT3t@G7E)2kBspuRd z%;}${7))yu_&QJ=6%ugoDAj!rc3KU2AuhKcZ1bJO)cKs6FFY_y@;7JwyJMZIqfZ3B z?S+wJbx%c3<;RiF`uHZty1-fTDVSVpZEw$4RC1k5D0)eUhmKjSF(k#Z14Z|0I@u|jUUQ=pIUg~(%9VZBnS?H4mgtNE9t0CbR>~Yp0Sf+ z+N|vpqEWGpzfxxwqcm%as<^A6xOqvTFXP89@L%)NdV`4Zj<+6gOO+D>RE!ZCMtspc z%}U;T5J)e)+69ndYK-4ju9|AJ!paWjQ5IW`&CpxInIa(4^0r{Qsx*mGx8g7htwiN^ z6Y=`;IKkejLFq)4aKN))w-u8&Pa=AY%a$abCq zfcaaMl|!Ca$O$|taI3;C%j!VbWJm%k&5O>Vsv%kr{^^?&C1nKLXEuhCO(bSz3RHXR-y>>F-Z@P| zzwE*cCoVbRsECsLs3_k6-dObhhaY!U)`oC>JwDbDGGn{9gbR0bU>;kx02t1H>5ErI zOv=clYu1q98nQaT&t?IJk4PIp2KXOwjNums_WsP&i2OO)lm}l})y>sF2xG8fN_)(M zQa%nqiT6`+!$d^M*Y`6j6FT%w?_KR-rLH>ryuuBo`NBRRII2O*t!gg|2fs2P7V~i* zT|iY@Y!@wHL@peChRdzDvJCa@$U&I!NOE^r$~%hbMn^CGgxE+iuqUc38r(k6@LVBF z&<;ayso4aczi?ssKoR?z1&oRlKUWio%eo1*-bFh)St}IZzjoIX7Mx?YV;~LlQyu)T)noA|xK8SH&W*Ou-K18Isb< zhZ^|15;LFy_cLUZJJGoil{#&KuEk65z+Z6yT|-_C4To@4P0v^taesw&)ErALJf1r~ zZ|@9rqVW&uqajDySYE?cJ;26(BaFp>ZI7x+C_SVL z+|4b54FN;^D^_@qG%I_@{{~?5G5M2Ep1iZIAfglx)y@0;DB~a3VsW+1yTewhSKbQk z?~6;xp}zuSe|D6@N)4sXPa_m0>~u&;7!Qd?O|x4pQ%T)^Uq&)MdK!6+QC18lVb-?! zbj?}8`HmoZ8PsGYqofflZZ_Z=8RaG0hoe1NvQC|nMyRV)_-IJy17+qC>zjjg5zFy{ z$V;AF+tD_StAmF`Ol^ZnwGmriuMS@yPkOLRxS3kgW`wza!p_LKYZk9DX@J z;Tu zkSSyD$TzlDGXgw=fSe(aWjs+p6#S(n==3A1!S-2v3USnAE8T#o96+vD4kJDWVCuW* z5g5biWY@-s&L#>6i4h1maOll60<0szswG~oq;I-uuu$z&^}O#Sbe|lpLA;Yu2QNY= zU1MRhx?-rjZW@TW-AFW)LD`5%TSUVujWD`=$}uunO(v@A(S)d6N`eM|j9H?Hj=wz@ z;7btj^K3CBU6y+D@c=wz+ZtBc3bsG9U=yn(RN2W=(z1gB%7CH;KJ-{hV^R|Z^CFKU z0NCO&Tm2LTw0W7xu1ZySh=PpSSUfATJx9(3J)`!@#r%P2Y~X$ONbeV-+SL_I{~{$x zUK3(Iiu+P!(1s#f8An=)lR>KHzBro*8d#A}!*?|Dimxaj4c*}?{2+FusHha=y9Z{| zPa}juWBT;(TUWY$_ElO`G4bb$Sy5V!Ej=>`Sm1c zBhgKuiuneMT~SWfrPxe_+p*H_?0XV}k5n+u=>pA(GgQ2b>Ex$bTvZPzJxLRMWeW)= zs?UKHxH7gn!b6QDGq@de1%{mxSB_|elO?U$$scp)`Gm@bU#$q5-p|qt zJQ0WV>Y-kYPn9qWtFLQPljOU$QA7|@5A^F38l3MHmmlNpO4`G;o;H!rd3+`*JZ!~i zS+>(&YqJ1vE6E}${CIkMsvU|#%p`da(}p>XW0kBlg*j=+qvAX7AZTj>3_%FQc#*)q zrc(5@nGseUNW0Z?5W9nUTRcBBQQSRYGPL_4E}{79yNa=ARQv~Xh{ZHD-nj!t=qn)} zr7ybbpb=u&8EM*0fA2HP*y|F;Gpl3(*@--OR7^hCX~LfcKMalwMw*wAIg-3l99sxv zfuizmg2NXjzohi=Fd)?1rrWk0{KDxxB9B$W*je}-ASiN~^+~ zHeF}#k~r$MPkBn!e0ucDUixt|$Z6w;cwcHnUd6w_Qk#uP5r(013W4aqd{Hfo$KOHw zF4LX^xguA4h^JB~MKmL!p^?RLf>q`0coZqM5BzqZU0oLz-JAekI95r#-G$s74e zceU^b$a1_e%8n`>9YXvTd%m5&aSw*nGmwRfk-C~^uymE!sT^zV%uIYK-o^+QMacfN zts;=h(au-(32E%XW@FF1{6CHkIrL1z_;#-;iJ6>V>S zXRCA0q+`&1?~U^!zKJmpmHy!wd|*>JMOG#a(*HCIAi&R+Oij69k@k(1GbF@^H_Y4l zd$`!B8j-lLs6fYD?-2g-%{`NbgwR^9le;sLU(9$^>W_s9I$M{oQ zm&sgiA#m# zMkRkFpfh0dP2vwWQHaGtO9|@|4p-8XF+ziQ>Fv3S7)1_^LuZ^QRT*qf^=L3B!J09#toXXM|Wz8J~?;rhrI$2=6o6{UnJO_+tp@t^FK-z19bk{-_{f$PJY`HV#40 z;ow$>Kyq0?2tFMwjU7S{RWjBJ6+w@*8FTMN*bN4i zx94YjKSwIEC!aGU_f$_*FDB(VGXjw;F`}ZcOaN_i`JpmPvg?<6N_2^udyxeX4i;}B ztwRdFSJhihB@HR>)_VR%w)IaAsvTFAO@Frd2gd`ToP1aSyc7a$PLOg)XeW3am%{iCZ}b)fp*)R^qxkv~EVrh(GCH$eh^^X_ zwSS0n?l5+CAR=`(7(~fHF6whh2&)LCt@i~3Xw;Mx-{1@J(Ukb|2%m00Rdm0!iLbj~ zQflJJk5~bRx)&#~`*^tWSb^GV*+K2pst9x;QI$*(;FSx}g2bou{n3XWzR31;GYxP6 zitdr|?o%hChd`*v?R{DtH7cRuD+em5Gq+_fA$wEJT=d~vj_~s;V{Eh6!H0 z-61JR5IbhuDOhQV|K-LaXZ-|BN>AVvS{Q8|s}yJt73T=GDM3tp)i1`O1jWHyJ_8kU zMP>DiGU#Q$+YXlgEOJwgx(|h;-VpqL#I_c8`_J*`b@|wj8b-VI;;9C^b2+qh5N=Xl z0k}{=AZ}+aSS_X?gCos5dleggVYMQ{#-QU2F|8Q%&)FkM&PY})Xdz%C5LzqJw`h32 z%2%`sJugi8!$YRzb&6Q zI;l8}WP6vIZPbKgm7$B`++rUhEX2tkBZe4-#b~;B<5tTTBJ8`MiIyQYr0ozr9$dd8 zM-dU>VH8`{e@OZMV`}bw{a4caenSZxht61@*~SBZuA(E|r>; z=N@cwqadrzZ$0AX1mPc>U{V=K{Q=ooXlJ+pjBSA?ozkkP2@Vbe z@;Iy#El6NKu1858Bsdup$uED;7N$B-zUX;4LWax;XXA}xPrXt-l~W3*vwX?Z@as3= zZ7RS!QGj5+Oy)%Em_&g-Aj#AKw^fbjguM^*aEVcl;}F9)1l6)`BfdTNKOj|{w_zp8 z)5e&o&6^N6)fy}I8AMU&T$Q-hkA3`3l;KJ0cjT>q1UESHHURUszgCRnUSX2AB!zU( zeJB~^=z_Xs6p`Rzpjwh;FQO>PkEAroH7>@H32XG~RqurB6j(TYZr zrFz)O{cRTu!wU+5(C$E1U~x~6Ie|U#DqF`evu`eveqQgH-lQJRhSC-I!G*ZGbwZ`4 z{!m&BOx;|ac?D0dDC{$k4&Fq@&|aY&@k5Nap4`!XnlC+}?Jc*9*<={^^8skS$~Q9t z66WR}dCk|uyUrxvO0|kS^Au)Z3rFt|nZP{)s16i-nRIM!Vx)u4sl&s5KMM{&rj%>< zVDl+4$X3tfY1q|sEcp9@u}>W4yXYjls>0gCleq+?CyHFjUGM^FCHezIFW+V?&> zAZUHDEs}S)M|S>Y?QetkDi`|p4-2|IoS7u21;DV(t!Ou2tQBbZlDCX*EAxVdT(v7$ zdbM5og&Q#Q7k}J};CW8wKz{0^H_ql>u&^;Sn6t&6r#_Ii-w*_*lx2>I<_4=$KJ8#( z2k-Yh%27f_SBfM2ho5uTg_5hxv!qIs+$%NnNgGSj5(i;56=%|O{t0Ov#`d`{N}6pv zE{j7^a)`M#({s7?0;!f32Lq>(+ zw$i%5TZZ?rPX!4nj34)K$9(8xzdVpp)QXx3YwbIYD6=E7!5(@Lf-A(*xD#XLHaPi1 z3!IbcvgLPGxlzW?SHCoI#1ASt&=`3;&6!` zsc@{oVwn{OqgtF)7AmW!+$h3tZjN9_dZLqbI(IUFr5!Rrf=t&7jQa0euiD~uukp5r zg&6eks%`%Xrok!9)T~W`8Y$XDClC}WR92eH)bvP@HQqPYLQlG%(wWuQu7Wuel|D=f zpZGydvf*L2$lP)m3Xq-9%rSj*RyM6FV#Vxp<#Wno^Vz(TjsNRwB2AyTB^VGMoF%8V zz)Sd6@QLjYs+G=r+s@kD~n7;(dodqII zSI9v83Pb&pg{Xr&174QCn!KThO#WbZr0cS>QYT4He5ZBlTrhoXLE8UlIseB{eMSDC zLf-rD{PZcIT_Cx<#?N=aUY#DHPu8||68+Q`Cud_YUUk+RzvdnxOTv}!ON(v$_Y*R1 zFz_wHy`6arDywW#E!&?RD!ReN0x@vJy$cD&7Cg={+Jt=ZOPVG4u^T9;ABv@^BOgb^ zVpUiv2iL3#nebX?di-8H018g+l7jrXuhc4)z17$NjycM~QG8|dW=a;#1XSpEL>Sjt zNX{Y2M)e&ebC=X6jqJWhZ$ijnLsypFp5BEhP~Q$)Uw4VRCn^mmVuT#D9%}3NK%e2JmSoC_ zH|)u~OMFo&0=nxq&H4EZ_xd~V%Ei(rtwO7DD25|0aDgrS_Vjn#By?!_WTV=lPkZO* zrI}wgUeTneDW3MLK#L12CXb`Ql|v6cXna8zh_AT!H|I!yg) zY2YdGne1O>#7EjP(>RgPx%Q&6Vi0gZ2D__~!MwS71lS9;z;1pY4h8~I?+PTO!rB$} zUAebt;*|W39eKULww(@_n8}!u*Pv5Dehz^rN2wZMW^!xLh^Q@iDL6TUqODo9|v7`$GI_qj$bjsO1HL;SN*ec42-LbC?&VVl@c;;WL9lz$fSSywd=6q%j;D#5r9ZA?R@Ah_JEYPo z=;qPh($o~zX4mvH?C7=OPFGehs z5GEb@>Wz$)em{srIk@07#P(Sugx_c$^-@C=O;{s(x7ZGU;mOOt%z}T)MHyc<-!r^h zi+Pw}D^g<*;~J!uh_B&`tKFmXel3Z=&r1p# zNwQTk@Wu2@)5!2Xj*L)PDaX?YA9tsNYmSJ0V#Yf*1Dn~?y5O1UJKJh4dlj`}=|Uff znsnzD?W_C+*l*V1?RY-7-K!;43zR8B;LfGkr&lo=ruwwL^wSEV44_|x)Xg0H`Ee zdwxEBhIyoV@Q;X=I4r&dw4L|42}jU|iQK8H79(Pn)_9_i6X0i2uwqx=yDesRv8&{g zrjYqM10M1*_)kVK5q>bK1JrgV+Z4Oz$7gj@y1HT6NgJdaX>|Q@EbjZ?r@;|%%^!aq z5h_d}AcM>dItDVDMeCGnzXm(0pMDyBZiLGrlqhAt`;I^&O6&*snmSS@QY5xbM0P4W}e79m%mJADq1XC$w9yzLAeDp$yQS>5`rp&9#xn zPHA}bYEhp>$C*_AI8Ri z+iu=?`Cpdw%{uG<_M89OiM}dKt};*u3CscO`MJEG7~9_XePe6s2T>+|g;h*Kk;E4m zadRqnRP)lGy(qU<+-S!fMJsw$F3lhRJA3jD)(n(VwyZ&8(P>vv){H(vR(rCk2*lYN5nVOYpa%#@l!TZ5 zz@me~$zNJ4iW@FTQ*Mw{^j>bxYGo;A*-)up<(ArM77tldr72}`L?avHMCjW5o>ds7 zGqmzXwnPxBO{5{yK*FqPhh$t|)AYVck|bK*!kXn06LiT?@?jFaU6$D!Kl?gPPS)fX zTFwDXkItDt+WzE<*Zc`g8z$9Tg5${bt-`t{sm`9~(H8=&;l8E$Ac|hS^_*9nU_14I z22zno^mFA3$10Ylu_l!3K4D*qVK#QFxo~6U{W^B1bpGTjJ7|m}hd5}h=k$pXb|L1e z-G1Y--QM1-NryAFiq3hsMzu!lF1uy?LsL{IOX8%IT7u-8JAsTDW%?DWU|^ldhoPCE z5~q`b->AtUW9I13Q$$)HW81rP;I31SW}m|(^Q3>1`W+upt$hvicKPRumWq%}Li;c{ z*LD(ooLh0)3BQAI3wGctJLg4XGRP3i=vBQb5oWyfpTD0D!20p>IKILpBms#vqQ%|i z0GUhXF~-h&u3-em(chdf;aefX;L?7mx)4*th@U`R%2wg8({aWHF@_WOPG2k8+LH;1 zGa-FZuqNJUBB69(S*8BX@Q`7qcamsuPBKu>;s@?G5mjY( zwleJ~;a6Gs)P@A9bkk)CXtf{!jNLGFdMmk~+>>^3gbH=jug;2ITyX5N)@K_=dZFpJY}srscF8=%GqY1#U3 zC^jDlw&+VA1~NEXu+`V#94uvi_&YN7yT^>h-#UwK**o_&#b4fBDvD(`($vb!nDgpw z?x|m~FZ$vzCtv?p~Vk&xkR{QAeE{KQL+Bdts+;PoR!@Xbn|qS+@dVsID(GRjna zfLnv;!lmmw=y#SzX2`pDwi*1m_1A%`+-1FuPYha5(Lq}x$NP+(PygLp#=j;HrJj7= zvM#6D>MSnw@%%Twd>1VluGz6WyISOB3P>k|*7c_n%T2pUc&LR^Aq?*t|$>%L;$sd{4Zq_XKK3WvFIC? z>>}4q^0ChM2I$Wy$zWWsZQxq=vyg}Lrw5(AIlm@OmG5Yni{vs&3P_mKNY71K?JRzH z#nj@CvNfHF^#@*qLoY0eZbP?~1Ji`5vMdOElK0t~M@2Qp+VPH9zF>D@xUUuhb(&uI z$hk6((YGA({I7d;j~M<_tvCK{vt4KxOTln|{=%l&;?xnnOVXt|?AK6fB;(97z^1n1 zCCac{)lYKgl_Z(PxrnArsX@@s@PxlX(>Pn^0KE@MFppkuzHa5*6Oo{>uthKmq%^Wl zOgwHBu z^mBqVH^#}fc}PbakdY+H1Cn2GZVa_xQj4T`lvWt&e!!Ugtm1kC_ji%rjn@yX8Ym*_ zr5cit$c~1Udt@8Quehj13mP}DkR9-w7Yc0AMFpkApm__bI?O<6{3h9#|BJASkEzsi9LW>utNN~5{lp>|YibH|Y7AX`cn&9rmCAdRyhnN37_ucXC z80U=lJsug77AB*m9E$ua24dpqU>rIEzs$@DCEJ!1m;y=4VL9 zC-cgLI^xB&ZJDw#wgWlo67zn`eeG26JESs$>AS<{dx@I<(^A`_GI5fEpn!zLu(<~X z-G6-acKjK=at)y@x%VfGt$`;Drft`Z+QH|dj8eCZY0e>?M7bWAn-#5SrmY2xS!D{M zq)8CT*{I_Bg)r6F2DdI;48q#YT%LcV?M_0u{Yh5S<-Uq_g$JqqLIHeqHRXK@y~e za;gw{4joSB7dlO^3epDL@`#EWoCjMh?hh=Sl?4e}!~IH77^^ z$#QiLzwgD8E@tQEhJp)`5!RDikIj4sQ@2{5WJSC4AMO0Pn z41`L)Z7D!~_6Sm{>A(Sw^x1)Aq;B7sp)Z_9(4j3Xu4*PoL+iKj7A_t-Z=5);Umc8f zau2Vz>PoBpDk)VfS6vkP*XWH=$9{gFBm)ub#x;9JSDTxBn{>g*>=qjT4`rOvK%Q3V z_N(0X%o+zN^*zRYH)Hsf+{qI@pmHUg=bE3ET=UhMWZkha#o{rD| z+iLe1gJY#zCm)G!o1RftDio*4a>Y)OPD|Exz>MP*tL7k+EzuKf5q8pSfO)+pdaYWkx+%9wk!}*?I-MwpvD5MEL>hxwyF+)io)PgU2+oNNTb)hhePx7?Uu`28tT7$;LK-BZTNRP34p( z640NFU&jKUWWC}y1l@9q_hSf>tY&^zO|2wO5%*%DplDM_SVdcqHHU6@#o-Q zsK-xSyrXk{yra%-S#P=DV`}!l&%R!{Erp_x=n}#slNt9bLDPnNa>3<5Vhi(|@XY!E z1~D%;*kHe9uUlP&ptT?N=DbS1BekXvDK=Eg5Lf<2Q(76cJHr=V@+Y3?7oUhsA^@3} zK~Q8Df(g`7fblIq;2RyaM%PH13-<`g#pD24;P!i!@OI8ps|Wohdj@}5pS*WIM@?9H z2SGT>w1Q@r#6Qh_N$iFd@p9&=Me(~{C7YX&=EPJ)hZIRFKekd71eUgr&bfey=vy*& zq(2)OFB6}jX|F$d89bi)^Kxo|Ou(`DS_cGdak!wAp$|_hqOMM)oBM@WOM=)b-qbR_ z8!&>H9td8QGC7)S&>GgQD|y)AQ&43P3Jbph<*Z;*{n-TDC}W&$9}&66btjO!P)G+H z+96ZQNv$Z=vU`JaX|!~uH!%4(;vLL|a`{MliP!=^_mZm&8|P zWHXUjVb;xL#;TdH%n$N2QZd5S$I_s5dSa54Xv=N2d6{?XpK&YD7lEpV*LXr@I5Fy; zSAOFTD=T<^pTA1TY2oE@8oS7)&C=(&Yw7?=-@HzMpwyvBEI1*3?&#+s8b%AzDi)%; z65@86DvpY(un*pFnb%nRpnplZMoTYKsx|wu*N{@llC?Ni7F?CQr0oS?^9r4Lfpa(H z$*EqENqLv4ULA;jUwRx{=dgs|TDo&p)a|Fyq5&nZ^NUsXIP`@7VT*eTfPKMO^0J2k zDV>m9z4~-`Po?$a`7!iy11ICpZyNT65_Vr&5#i(2V7Vo|WA{zxtK7e5F_aHR?A5E7 z{Hs`yO+_Zf#|xlX5}wuMubtpeiB8QIm%9K}67T#^9GGzyvXzGruO zvo`5gq$gAOJR;wyln(4P>2#%|>U!b_tsBBTQdiuTc!Jd$@(GYsEDSyK$1qTMjXfE$ z9ZaDzO~QJY^u+(IkTkh8U7g(AtQt|2OJGR2nqdcu;Rr6j^w<8tRj6#|1}~yHYp@aSV%-{iwbZjl9;^e(9mjf&udUl=NFbVodY!-sP@xzs z5SUJp4!WX|f+j8jzq{QNy>x0RF!}+Yq ze|6Nh>3h6>F?-|6cynP9rzKv$@nDg;VLUt`zi?GuksFBRd2sPN+6V}*VH6-IUPTkTJlFcVUE=S4QW zf0<$*)&iHFB#WG|^&GtC$&!AMu_PB|TR96$X)g2cFy8KY8 zf{wh~zbAmt@ew94swnmJQ;Y4?Ah&0Jz`{j+$3eL%=_1<(ckV=sGO#a-0_^&e(s*-R zB`PW=SQN=lq}|L}pfoDnB0HT3|26A`MHp*@XueCqGPwy+a##8YG9gat!Hry1d( zJTYWMkI*ZJh>k%q%ON#8`WSV6F@QR_XIbgVGl#FSEVXY0x@DMgx5i|CAnllOAF%AM z#Ra>gIVt8DIH8P{&0jfw$O5-zi(8fk7ZOC7I;--u)9H~5RyCN2>N zm*&DktbJ9MLu&FZ>dnFKHl;pmK$X&5fzi)p;)FCBrc5-woNQnX?(QSpgqj}^2Gh*QeS6II zmDd1t1O@NbN82j|;~7V>ii0Lsket8QC23UuW{_&kZJzTp?bO0pp0ZPg*2-rw+-?in z6JwNe5&MWSE$kUi%7rifXvbJI+gWCR1LwpE$JocSn>c|kR<-sno)`t|#76cJiLSir z*x0DVZV6UBBUs|wTGKd~k6Lb;h*$n4=V+}VrhpOdsJAX4PC}lgG=lMH?edY7@=O%L z{!{Uan;-N2$WlU<6&NqCC@bm-?Tll%p47oeY@uwFv{ibA-_Z$`aAq#*hZnhN;BQ(} z@@C}yGzZWAB!z-3KW^NF&y3$XrrfO_0Yl~E5Z)R!IxP3-8nk=;&_Z37$r_cS(Qn!1 zW5MdF?+9^rd`q)V}j}Br#BC!A2urLO-IS zy89%pC>OIucW~U4j=qetFGT(Q+fGz$ln(E$Hpn-6)Ni;gmSvPd;;@&_h~~%|MbzZU zb3B_;Rz0^=uXKp|9RDhLa)UlqKNJ@h|GEQt{yzl$+C$j@E1}B&Wp2LH=?P_u+(bLg z$;yeQR-EMGal_4O1sd!>hg+EQ;n?)3*wkTnuD^+}D92r+bi^X5en6Uu(ZP0oAvSB; z>c4XEd2v5#df8z|ZX|_;-Tg%xHITsK>y@8v*u@HD4mPN9g_|Wa(fWUn$YsDK9rK;U zqySo1L8~zsNHx0WCUExe5)f=*_B-DQ8>gJ|U4P=sY~CbPx9}SO{TlH;RzM2)COqxi zld`PdaQb@_OJp%n5D|i8puo%}b44<~BhY4Rv}CD3%sl6fFvx!DXImEGmdoW=>=*%U zXVy3bzool{zK4FqN7uSxRS^r|SWn}Pg1xb*tSMAq^DCW#m^Dp55Nm<)!wK z(AEeGi)O2ks||6}rc>^q+t~J`1^*Lz=AcKC!_Z5Bt1cdaV5mmQ^NPh_AmQsHoOE3v zD*u3z`{^{Pa*b(bK9NQ&-w7^;jytMHCoGf#|}dN>P5V^b?Es-_2Q-9s9#H<8xKLeX)lrbS{T$HC=j0JZlQd7RWs_pj=wGJ#B#<2W{4(sw(S161N`NJ zUCAX41hUj|-)uwN=D!I&;@GCIc+KHO;(Yl-D&X zD)T!6iTx;kj+9p?U`zG?XE1+$P)$;P8m;U;p^8^xyl%X)6bX0Y{XFC(X-_D`8_Idr z=?5cuPNufX%AOs&*%D_C6rb}UH)9VT1?yt*ky7EQivf~s{8hD+(#U+PJ!h?X${4~b zqOiA3-Y5rI;TYCZiUib^=c}`IA)@|C|ArnD6Gz^SYbSrE?zmE;N8M2(rYtZMA~=ws zz7Ic<--sO27b3ROxPa~W%yQO#kQW3X-3f*#^i#r1FI@8NKM};2T%eBeLuAT$!lJ9` z*QmDeA&yIyt3NQyC2CvAq+j9sJ&Imi=>1U#E;sx_GFLMVE^>pzmnIOC(u5q;OiHu5 zSSOTi**fwMX*p{vU%cpl&d4)O@;6l7odx5_tJY%4x~J^lPPerXF5ve29~9j`Jm`)- znt)XGj{_Xq7DI(Z%;=~OeC)dUKf!zInVN3gu1c$IS==_pe5+2swjp`%6HZeHOS}J+ z*6KXb*#>002oksG}a#L7UQBXK=#ND~vpy9c&Y7!}eCka81uToI-ugg3I`6D5{XMc!8}O#gM>Q zmz=^g_MY=Fg-%!gLguqT@d0OF_6VOv-}`Ovq&Ew8`1O~y@NL8dYbghXcJ3jLQKb>0 zVkkv3_zOKp4~^2x14o{1FRD-U+A20|e~9pfW=5W+g$@nO1GUil)PH}CyAnc!Eso;; z3xx3)a(4-#&BvrhlvtuOI1*za32rNRc;A+|`pN*k0lD=5(T6Y#?yR-T8Hs1{gO&%}A3&M>OgoB;^I2g&p2t(C{BjrkIlFMn&9``h2!RA6 zFBVkdm$)M#71`ibdUJqXt`Cydrt{fWAmq)o6s_D}@|%R==vXDzkMH_{7x(5{WS8dSqe&AJerQLT^rR5FyeWC9CI}eE!!3+nPPgtWR?pYX!g4$ z3GqLtW;Qr;Kh)#!XuW=*3i3ZNYH+_4UueDrdhUFsfu3JzG@M=u;9*{E_xOsqty~mM z4|aVGZT~0hh9u}>v){cFvYdbT3ccIQTj@1w1J5S~5y~bmVXm}a`SMswFNdgEy{uSV zV`{ld==;HdRULJ2+5fu+x=9}e{;PJmw&4HrCz+?ss?W?*(T+nN5En&=v^A?MjB>mL z<^0uOa3y#252T$^{Hd~X0H;@NJ@($GRHTG4!GoyZ>0d&j0e;45BD%3%P^uB;>m8sH zdvs~$4YA+YdytLy)_LFBpDzj+R;#7jsY=5=F*qSg)OOlq)S!$5f;39gY*Ot{C*N<| zdS(XcpElY+UTJWxky~OgZU2>OFG$_3$Vz@I3fRq>Qhuw=wzls;QqszWG%3c&l$V9s z3wJTa9d+!r_NMIA@X*}xP)g4+%N>0p0S6pP(8`=rt)KrLY#0NM2%{V@(`Wu!vPe@? z)|x3b7^V&v)@WYKf%wKT+iw=O&bJH{1|MhW&H_8GGS)ybZCH zA^xKL+$i_iJB|*;w7OF1XLcO$jy!D8ayy2DO8^+z)BoYpTERk&Af(xwzF5&Tyvsl$9LfTj&G$L= zJyvKvQ|}+0hI7t_rrA<@i1^not~<}1)3^S;W!RVUOOkfqm0oB@?*obtwp{!ouS5o7R^j6TBr zkxU%FQ>+gi1-A`yGd?c(*-bBQbwvWY>opCXE!3ZW#X2_-gbaOVVJkbb#$yqTs{MWt zA8-_7ZW zihHqtAzthw1N2OM3Hk2>dh>A*ymz37Hqrk){eQ#-j}D1`hGv3j2z28qO30)aNAfVD zx57eM{az3?=!laZ3C0^12rFA9;`&{#_-wK=qE|bRwegy@(|Zo~07Cv2(s+PyKI z?T}{(4Z`&#bTQe1W>C_4tSvC%sIMMSKrLSH-KuT7 z-}C26(0BAWon2uX4FXaz?_oxb1d&GNA}Oz;K^CdlZ*tTiwtHK;W4|$1`vEYE*Hjd5 z6o^G+-6Du?O!FT+V@tim*O+Iq2jySVV#na z2|eyU8r=EN2LEPKiM&vWm-l!C#w(v}m$o5~b&ik;cKd-o}389pLr;BU$vY4BolC8YHRC9UL&OZ+9{%WVs-=l!4D+ zxnHXVc0UZDt@pzv%4tcU10P@zW&2aB3N_%U*yY7&ceF*eFEz2&&%fr`ZcgTP&A^x? z=3{HM<6WQ9iQY7qx15==Gp_QWsBs_hty=%U4fYzA)Ky&P>)rFA+`T;r4=IumzE`V= z9=?}=_-rx#=L{#nfRE$dgh_Y*Ex~Q+Ez0?xF5Yg8BfMB>Rr-|$5Z||#_xQz$^~-*a zH9jVOtd3v#-q+wFmU7?DEZGm$PiQsm1iGTuzfsJI@Oa+Tc)C96lbpM2SZ zWFU^@#ISu1+#;A_<_=`fIPoewX4tWu*YuUT2C0`qf58+coLANy?sj~6gPaUMwqmur z=(w~2+LOz+Pi+)+28nFzTr+S-n3(`8mO~R36%iEzwQd|AN*E)Cirj>|$pb;mMz0D1 zB#B?3r}n&e6Fj>Ygoc!)5p67O;pw5enxCxgb2~muTZrTxg<#sZhLA{x`eBc37p>q$ zG$G};_P_bGOL?C&8J_>e7Wz&s)piFDe3sPlH|WRW-_m9`-h3(2yte2^8@z$o>NhwY zb$3K++fg2oDt3zEk%UmOiuD(@FnF&ZAmB2u|7V6TzUoJL!j_kHO7&?&;LuI}8TaqZ zua7?3*!^lmGpgIdb0}YD|A`5S=}sA8%fDqumAI6!<`gCvn9icx^+K@Xgj&oKXOoaj z*#s?bIS1EdMOW6`Z@4N0wx5rZC<4C!o6qpJaE@+DPYZ)S`}zNq-uu5yZvS7XC*yzd z;!uwspa474@ZM-M&~y++VUuoc-!pNR@T%?(q(v*`zWz%DuQkTi7yjt&lLt*@f2z+u zEW~EOk%&TtJ+`_K!p_el;qXooF1cUyPn`l(mP>fH4QMcbnE}vSeE=T+Vh2w8(Z&~7 z?7T?fe0wWG8R{&{6+4VN1=V~vjRLMBrx~)yHuu{MQ0)F-Rx~9{q})zU#hyT8mE83j zQ-y|j)Kee#y&_>Zw@fSz9hNJC8A+}TQEw*y$X51@;z{|xOq7$N`ul7W@s>-KycM-4FR7J01fnGR4wMVD2^tR~Yi~XxbEH5-W~sDVe5974DrG;2n0QfA zC*>!sdY@Jv1d8&t*wjCteOA&lAvW~>1)r24a}K75OaB(a;l8vUKQ+nEZ{{whOvHLD zhUmUs22TBCAQcQ+Lc1LsdIE-}W1>%v3-^-4}_n%yMN-I}D<) zS-7d`-w=1iUr^Vrbb|;_i}n=_MR*wgJe$Nf=5Y@vID8I3>1{}>#jaK5T?2#j2*ti2 zLAQmQtG{EV{5J`12_O#pZe7xTvO{Rq-RlUhbK%#dm7t>@G8>TdyTV>*_Q9VTb_oy8 z^Nnh%KSX>q35EYN5n9>2pB}8&ap-w|7;>q-Ni27jTbQtLdnmpTdLw&xmtAPEd7Ee6 zzQ#SW(!FR8Jy~UeUJsiz_{Fp*1qGjqdp>OPT}3}h_KeB>z#fV0ut!H6FGB*b(+}%p zy&j~0&V}H14=G~A2t9C}$~wy)Q|!xK%6cNZWu?6K1e}{t+=HcI8)(3ectU0`s9CG|Nqh=K}XyVVPIwFHb6)XYK z+z^Wuq#ay;br#v41<^HBWZX4rgm_+7j7pR%YGzA*xpwX$o(aC-+?TrM{<(O|H~7|* z#!g6{P}Dwnn213E03fjd*e=$$qjicQ>^0VwTNCx&;8gb?aySJoLMn53yly-?Qlj5E zEU9Q|US^iv34-YP!`W2gk?T|VV9QxLb$ZUI$xB*U_Z1#)lUjZU~*oe6j$T6D44 zD8m^=ZzOv--JTep1>pwPz091qIO$IG$98uFBG_DUA}NKU=IVs3o(M=H2IZTx$SUDa zoVXkUYGLu!9}~E|CXH-mMm<)7z?od=<;0e7sYh|Etd|!S?I@@oR08v!5p(!H1p8y) zC)#sl$?@q}WC(Q^GXOnUpuD<0*Om$`!f(B)lRdrvfKF|85PkmWFpTDn?L!K+!w0UB z=UIr(YBW?u6YIYFgq+Xc?OPM_zWPK2jh<6tJ*74cBV~EalWzP9OHIPXd+aDUjhuyU zqr8(99=n2Uqg-rsvkGwK+)fS@AG7x6T|J8HE~lZmI&UENxg_CUsF^B~E!XR=ix{J9P%H zLg#14YM&GQpKcyZ{-i{Vz5-@<@Y`OYSyg7@@ZMJpjMzWv>OnM60w~tBr6TG>LL_R? zA(p2;21OvxRlGnto@ED_fLnw8#*Icp_Z`a)|B$W@7=hWYJz49VrPqCy@V?1kDu)cv zfU^Hl@XN{5VKcDnP8s0hy4WU9=hLq93_yUKw#f#stSSHegUl)sPbSnVEyA(RhE(9= ze=!)bO%Spn7!)beIIAaW%9=|!ctf<<5o+3Di%nb|ON-VS-g%^9nWyh9x3Baab`5a5 z6IJsaRoPT)`IkzG=<#ifBp^(f0!xixw4;Louc8-HUmUJhpo_ z-Xc6ov48nRTwUjCku`JWqas^n^bTQA7ftlvn{AC5gh8D1*7D|xuF7M{)r90_EX@~me!-6#I_it*j!t-ROOTUy&{Ruh?a zv=@{LIwYM5y};$qS6|D%-W14gI3cfNx=!@H1KK@a=OOoh(Lh&*^PtICX*DbBZdE5J zPvho2HM>I^9n0?Wui%hj;ia<{u*ar5t;iMuQMPXmoy-w`g4r2vf`t@SiI52ng?%Wd zmdg(|xk?tP$WoD%@6C-j`r8ZoBp-*UbjQDwu8SqY#;0DFR4;=ws<_|+BQ878gV`I)D9mK>RT;fU)NJz_9{>Cag`w_G_rkpj z74@B!E?&?Bf(f0s;jQh#5n-ws6Pt@ zg(5T|n?rL$r!PNXi{6rqLeROQvaD?-HI+HQ0MCE{%H5vjOIg1|MD}kqsJZx-Jg#*x zkZn9sRxY*7drSHw)@7uy?xepk&N?G{P&Y_W2{P+!<$94O$VMdj~kf(n_NEJh__hh#xZdrqF{2xXd zY&k`@TJOl2^JIa(+Ce0L&AIZ`>bIUnUPi^SzolC_p3)4$YL^PW$2I+XE_tU8>GVf+ zSPb5?@GkV$qYv!s_}&Ct{lNqhCzTOjD;^mtzZ3MSyj7I8P~2oHy4Ya6Ze08q*!;dW zZ)4#$?lMh3>Gas|Hn&H}@B3^Zl7@hJ*mv?@_P5g!_?e@<)zGH(U>k#%Wd32q#N-xi zk#aEGd(u5Sn7MlAtUIIQ+6|Qn@!mX)Md#tCdBlfRt|W^8HEsWIiZW$H zaxCQPk@A17%4jdeL4?WIhaW2zznM>N_G8Q`B$V^|OftvA(N)05V4Uewn3E68ZFZA1 zaw-T>JUIj#{4G|tZHk>K@PoD3i2{d4D7vb!TGMb$xwqVcWbt+o{q0%9TIx<5ndXdf zbT^Wjf2RdX`9oj$BqpN86VHM6eONrER&gA)3rZR=6`cTzcIxiWf2SFaM;XaTf!+o_ zm)b$tc&Z92EsNNcs}yilPso% z6mY)5yyK53Y!wrV=kl$bJGV2kV1H9ZBe^%>4KD~SyZT+K0;lO_8df-J z?9N?{+kC`-nmy3%&v`SGFf|cQAGN~N6b(#MdPbI-x5VYXZLi{?U);ikpi91^Bt>2V z^!xkUEL@BA54$WMd&S|>D2{Q_WdR?d$#5#0GDqIvqdlwt!S^&G^>qR zbmSZ@gVlH!q)OeIVIw|rVU?~eQ3liI?cp_w$E{Ajn_m@?o!_{j7dHY@-Uq-LpF)9PfigRCQ64~f1GD7mPhp=@M9L;Y zH1nN$?=vGC4fS-eXT))%dj27=Ib~H$3xtXsRUqnKW|Ii+ZcM|EyfU%RQtfv>0aJWx zGIb{&Kn&|Rm@gIzO1u<(b0aU}vKOrEtq|_Ko^f`6vI$B3t8EP+@6x(zO7WSh&sZ?O zVY>?7mla7NK1SrXYRGHm$dbSe+93^TMRG1~xcj5Vb%VqZ$UnwOhc})w`jj3s_+e7} z3L-Db@?8|E6JV+lt|-f7^~M%%=JKXN?49Lw1$6}53O42+b^8Q#w>8m*+Y(3* z!^CS3ll4T~!dK@&C2}21)PwS*)~fpvEx=sFNN97!(W4)};@vgF>HZ>v-`TvUROlmd zl5*ndr>tc5glS36!62R7Gy6=!=D=y4j*mwVVI4FN(f3=$gU4TwkYhS$3+pQ*M@Z70 zW!5hqJ<=Xm$NwUHlD^AJNq>|@_moS=$l{Z1opsq)SzR(UXt+O>x;+=q7fZW_2JzJ# z-}>D9qRP2Lf!~Pd*?8-#WX{uo3Iw&8Pp!s=eKApWfB*z{uG?A&S~ItDc)`gR}=>XFlQ zbnUD1KZ?;;k2L=~{}C$vWUme~3%?(A>nGWk3s6iQzsHI6-i(r90zQ_vAoUt4nx9@M zTP`Ya6^1Z$z9Naq7#G3&k%5WH$;T$;MjlC}8{3PsE(C0Yjj)z^v0r_01?H{hAiw+p zWLpD8T~~78+zn)=iyn}XUJ}YblYYNd4#g7wz$X!~Y7b8g^iOm}jj(Mgp6d#4eAnlI zPVy4bGH{}AX8<-ldG=oj;Zer@Ab!MTSMu2JF^pg}3MlFWR%NUcp5`|3*z+Q`9|QK9 zFGkFCCHHxVG6D&^fBF$c@DfOysWL|u_a7&?DPzxEafi7m@fZWHU-*6=ch%wF2?EV9Kk2ins~qBEse%jC6#SnwI?r0O#l zjN4>YRN~X7)q6O#DwqQ zqFN=gZ(_PC^vK<~&WnWK>1c6TZdtpht!S<7ISs;QFwO;cBPe z2(^3g%?Hf|+DHPRZtRzYl7Q_kw{37EBXf9oO`8bKVRO_EQuB^QmhJoGTgA3;wYHPo zy9?^b>5jkWSDXtWSKN&EyS$8TSKLSBZjYIHD{!NOMDrlbz!ACd5Q-j^`N^Hpz-}1_ z#y_O-0j`!=(UoCKYiaEb((m)VpM`Eqqs0)WDdO^5G2w45GRFZv;r+Qe`3dhn8jOCU zA20vFR>wiMO4y#+*$(P`N(ze?Od0)Vp+G6Vq4d_4-0-5;5|FS*^!3srTy(h^c6#{` zU9+qY`c!0Oek$1VZrC)G(7x@SFwwl=C^eKw`PLis`kpgesyX9&cb#U`aoskS$&d7; zyE(G+&=%TartcK{wH<(XAXPafMSE^*b$(t?iEa zYW-KleoB&Mce=jak#BQwy1#qZH`MW|NIP5h5leR;)6I+VAE%ZNyWhajeb&+1aex53 zfNGC2>1W<-X{OKrl=P;_CqMedtCH&$@K6V#0+zVdRtCn3@YZNw9V@uck3}?v8@_bQ zl4~Bt)2ZOcw$hx1W?WCML5XaNm&=YLJE)gMy?>IOF>qoo^Dl+@lZKTLvsPb!%OMNa zQdqvmd03S4^rH#d{evHKg>NyyOAq_2!ED3H*$%wCj@9sCxKmrZOxI1}$6OH>R4n|a znLFN@ce=*nwz4wPCfe5erQOpBJY2N=5dA~(#fr#%0((N+H`T%00s2UAkPn$4OA|46 zPhQlb{jzYNwtR$JnW~g;YbbE!v2Ysl;0`^8)a}a=FabM}j|&j!>9A zLp$N%<~PG*4_QZLV+t2hTddO|1b7f{Fo-kRywBvX93Xz+7knWnSEKuB_7+*E$sZrt z?8gh-g;Ln2X~8+H=E$c>G|8WZ^#AG;`9FNlJ0tY@kMDnL$Dx7H_Yj7!s9r@7Yk_3u)Phao;0;IWYMBV+;$s=}2IC&ckH8pBc8#d^(76s z2H>hXS9@FR-RSOoP0T*MF(cqBY;oQEuq`jcf7rIcMyksSxcfmGaPCi%PIqAAx}T){ zZ^kL?1ZYRR4yS?5g)q4E4Aaz+6h@CuURcDfFCz6v_27Wo6lzsZ)Ol8#ARs9*>cQYc z{%Ne0?&R;-I9_^gQ2@VO2Yl=Um%Gh%xnq_4p2JL)6}jhn@5`B5cVQ0u;_$d%479TW zVH!$LCcWvpHS-#YR6k}A;G*fIob^EG*>hsK`)j7VtHQ<0kq6jU(uXjry`=W+YeLJt zTx`^V0fF)fk`9-X>`C$|Q(i)uV{T_8EE_c5}x_LftggRVILY-_}q7n{!{I4hu ziu-2K8IzeV#SB99DD$AH3%w$7RR|%jZwthgWO)Q6<+Z?A%tucLn*A@SLvHV>KGpqXHTgPs`}C>bgV|t{(vpVmAB=6Bq;yzhy84{9h@^WvKm<7 zhTgS%W;A*T*CzBwZLZkrD(3SUNIDRR5f@c)EUF!axw6+mhQfqcOHT>Zf6!w|znazb zSHbeyO+j}&a<^A~_aF6E$F})rq!gefVKB)_ljf>GV&CddY+-~1noB|uQ%2@;#qo2*tFxC?yz-b<9mUDAzs$O4xRJWa zfMc}$)kn$ewb=QCc94S0?nu-ZKVrABPj?=S-)v1@P?XEao-MX%kaVh$juG6;e{5eU z5(Muw$7=AC-lDh!vTynLyoa#wa+N*H1)guGA}ub(gYM4>lOJAC&}1Hkt{;4h18=Rl zUtsAhzrc>{Xq8gNBN(%ybte3^7Oism5Df3@A=6|!qf560LQ(Y?8Z@NfnhW5H2Qm3y z5;#){pRPDE*yAsTuM{V@cFDbc2bXIYlSyFvX4eDj7qf=@VNU|Ack9$7N6VMXq@;9* z64_aosG`<4Sk^Qs)rvlt`;P~#(!mzcKZE|}$AxSZ9^VT znHC;Xo`lP-U#LBk%Dz^6YauN=eDd(sJ=vVXey5woswZW75S^NqazFHy3e36e3g1JW z`OX=o$hJM;KlU{|61sKA8&pBh&GLtBBgZB^0bbt;qY7Fk;X-oQ9G~Pir_6YRT-hm2mP;Xog(9Z zcHOHs(T6?O1Se_0*kYoJ;dCl!=~{!UY6VSCa>bc${@1)P0&npG`WYQykDRn57+q_l zDrW&JUqo3sB!RHs6Mj2#N!!NV0wN?q`g?HsP)@(}iBnM9E<4EZZ@SS5?wZk+^i{fZ z6g=KcL>3_%Doy(r7*U?dMLTaItlbI`L0BF-lhRL720okaBKxUAfKX_Tt;SCPY{k-| zUabD@2?#ff70S3#3$wK(uwG@to2#I?kC7$G!&iDf36v@l>>I21I+w( zBw?Is!BklG!7ce2*glWK7IocF;W?6KU{pRpJcZ+E20PfR6D`=7CeT^iYk)n(wr0PE z=l&tveoGh8N{q`^eUZPxwMM;;dtt7fZ*7I43?kru&>Mdhok;&Ozsz=c`%Mq*qXpeF zTQP{g86Oej7~Z{_gvvWtOzWK$g6?51P+AJ{?eGK6?TCCtPHAYgS&thUPuYasGrSn# z|DzPWMZFmfeMwh5y&hgC9$X^g)E&U0D_-oKEafkQfOVx>JwCjF?)N^idsJ9DF50u& z`TZP}qfg?aK-tsDU5@9}L}bOKlSz7NH-tVZp{-tsQ>*R;v#LF~t#Q*ek7)4HTeR&< zkcdT;4nV?;p`uC>ApjKWAdXi~gjV|w_t3y-NcgDa3d7bH9u7J2!h5feb(Zc~EZWi6 zpskafBjlmZky31nr!UV_n+o|7T8{eGP~!HeoujdX6}1~l{~OWgJlAXICYuNIzNqP@ zY1HmU5^C=>Z{<{A8J_*G-f}UwbTE-(#Bwdp!g6-$2w9_|i0D^oQ@Tekj*hyqpPr*V zqwv2p(D1@o&-J?`u*0rR*`5xjdKN(IT_d_F`#eGd;_~=W_n$8l<)4bE^{h9b%n4lm z6T-}!&8OS5ukr3fo-uFkRP$N-0BG8W^saw8%zYgXeC&)}lc0sP zc;vKx1H~WIC`L}ErweD(m~8_PxE{%`%LZrk8QqB-pCIskRx?#EF=OH>kP8|F;n+(P z8*Zrg0XS?e4`H=$^d00o_cRb4)f!CjD*Oa;A>nTnpT}C$Qz@r0;#IKw=)_b<9#TvB2fvJ^&KV-GCrnewX`s7rewq}%sb*yB%GbKk%t!tdf%OSM8 z+Q%1*Nh4Tw;4OpL&q-F+E}&DuYh`yAHd@))h{ghvB9~>d&*z-*G-7K3c0%P;vV%!A zi1iP}Ab&?zKforuP2sid3I|KQO@l_UXQS)JVrWNTXm-osSIG`6?Pd2UJ&huy!N}>6 zp%@8lQ5MiannV+B7@)Ulp;q5YsMPQi7$~O^P-!!eSebuM$+i3vc!r0g6Z3LZ!YP_~ zJ{OK&Em+%r(ko*ZW%OFU_j~mA91Q9YZ(@~=d5E|K`nJ-N9HgON$)1+y-|f zz#V39{AGFBCCQrL-Sk@N7O9+A_f>KUPDen7_>&hB(WJ8@-8XdPPqPy)UE2DYwqXAHbk0J?s)j9N}W&JnVvGzhmhXkd0-`)Qi{Vd?LAvz01@J8nx-5d{81+y9&L zU8cyk6_12Kbpvn1`RKG#H66C)@KrBd!vEF$MsCzRZMf{w-WJj7cet_$OPY=&)%iD} zu=&fe^dOZ;W4aa7>i?AL{dbm$t1(c-f28bV7whqp zH^{gZGpJtz7C2@H6`1R981NfAkPh+3W@8l~P!^G6DHbsoe#rb>hHz~?4xzn0*u4rM zuSQr!A^=$4cLW)ObMS{4aP_X`+4!44auh{yf$H3J5rCXX30M%{#gZGGFO=5 z$%j&vw?iDUKa7WpCqpqidW531_EbBTn0{Dpln{dLu9;|CP825GE^K3;?vO;g0xVZ6 z{-5r?`m4>Z+ZG6fAc5fS?(VL|okEKjZ41TSgG=$^?i82e7HIJT#flSJ+zS+!oA>+9 zId|N1&;1AP{vqSZ9vRQr&rZh7+H1`V%9BACLOLs}yjHg$PJ{TS`oJCeWIk+?EZF!U%#B1{!r$v(! zIug%onS75i5aTmJIbroaRM+7t}NHs3qS_q548F-^q^H$XE6|!aXw8hsKUl>>qxr6*9T3=!B-KS@C~}iN}8~9c;|-X8&yP`?2_7mrPsHWR5 zD5F8KNe9IkBY79UpPsktj-YBxJC%ab4 z04$4wXK?-_dqhDyL20suL*KVe@o4vF->$H^rrbb_KIrM&g24{IYjn}O@24(MwS4zy z^yMgw-e;`*?mL3~-ts`E4n?9dG0$D+_Uqp?XE2{@;-Pt!!pD@qMw>IECbYT^sP$=Y zHP&)Xl6dz>HDq|uHf1eiY{>T(Yc07SX(Q%en8W%gz~7m81BZ+zQr3dyzb^tH*|P4A zDaP$6=i+8SiF$5YT|N6W4|HhQDV@t7%CGK8{n1Zu4SyP#N<~lw@B?4(ik{Yvp9+AT zcfM(dYp*H)h-LY&Xn8<8vhe@Zp78yzo{{JKl1H-V!GF;#{%i8TU2HzT2%8pgNA=0z zj7l0Bgv_}_|EXHUC^F2UEt#cf-IFBKJKTX<`~jY^u0Q2F!SmE5*ng25Vty!kf*0&z z(q(aXugWsFRANKbhvh8ycOiy<(bC$u0ao-YZBxAE-7D@`QSk+e!Q9tl;naW4+^~ItqwL#PmKUmX`d&wHs|K)ur?mPnxn|A+|p(Alg zO8D1&>g&sRBnDg&9X>-KSU_pIc^*k!TdD!fYgh9a-#@T|R1*k>t)uH7{pn@B z@p#fXT)%5_oKJrPi&{DAJF|>7y1?SN=A&s|8$hB!ufg0eKR1^NVtLNjXink#&V(;* zR!#&O-h8LC``Z3#+8^%N?zQXfbB6Ve+E@Pix8!5q_0~T)e@wH{PZTRR`LUv2uD!hQ z%scca%>&MLu-~9$klf~Q-uz`7E=J?hlho5~@Z$y7#ZQZ1SXbYAzw=aIgiMe>O514w z`hCJP64t_+WqEBcNMZK~ss*r9ph6R_fVP_Dw%qxR)V{N~=uQ$^m>xrJ|+% zj*o~PVFII=lmlPL?s>rtU|qBvS|Z*HeRKvMP2P*yh!INra$g5xj{^&&s!wnK0eA)d zY)b;EK1Y>3&oEW0TLIBIQ?|^bs%OsCpGx-E>qqzHr!R~ zGvH?|1zcShG=JUC;3c|;dX0QLeH;H_%eX;x1B8D~Avr3M|3lS*N)i|6boHAc?h5L+ zo?a;5VOhf#q4qZ}GHIUznnq8fkU~lV(D)amJ`aXy4uQ}ld3WU{9SrFpPApt+1lb4K zP|6K9J(_0Kwp;f{#Q@u93}M50O>?^O`?>t&H=Uxzx3hZ78+o>72b$B_M3&_Bb%eLULkgxa9oBs^^ud?MD2HFMXdi0X7xO}b zMTT(6F<)F!qra~vRQ4&5@RANa)P5_YNd5SPALMt>q7w=WlUe7rFi#!$hA8BT%-Q7r zboPl#T!r4_1_KaozA`<5STZ`OZb5fB^l7Ul>%VdXpU@?XhBpKJKxEz~ku<@&({995 zQn;zR1=dZ6ujPC;R9n_|e28s@FPZR?(Js z@wBht*+5z9bnL?Jf8w_x+^MVnle@h6TtlmY5F5%uUH?|y&k)S?+pqyhUo8_>ll>#f zU=GC<4bU&+EZn|ZYqyH|Gt_<(|4gL@u-h-|f?EQj4T?E|r)H1)*vD@YO~0p?BQl}u z@|D7-S|u9#+Z0-~mYTJ^&;c>)LxZySB0bN1gy_)g4_y=+Z!bp9^NP0)6fnbyq>TA>J1$#hMhAwaEVXbpk29U%M8P@SaJ# z3cTx{@}^#&y%*p09$@ZjZqE7sw2PTa1~B4jNZiMfeq|x&p_+HJ5J*?jLMlJ=tDlPw z-8A(@sL_xkh%0|sG2?qkA@mhIs|U2&lo6u7L$5o;e>P%nGDQv=u>iRmR?`*vQ7C>{ z0@E>V-K#D}etGknGb>RnAw_ZGq+M^r z@=JgYnbl#jz2qf!im}8+w&iHcEgl5f>GVnpdTF4yM!INJXgYJ%C8gR3r_<+)&Pjxw1G~XHNY)mT7I{%Zo2A+r4`@Quf8B$M@c6oi8tUG`S>w&ryPU zZn5ju>8{mtJ50xq?oZGhWjsh0oS*SJ|B~aN)yC2Zt`WT9x6b+&m)^fmP+`d?Rl(Zm z_Y+Ji?TLk*-A=vZ-2Rnw$%l-%hBhpfRNRial*CZpREwyzjU2<(c94#?E5%hE17#Og z-z9nuxdP;LrrCn-d@eM`r1r@*;U#JXYqDkoit$Y{RE5-^H6*J7c*DHR_XEv5$@qYW z9V?`dywr}}rX-oSRRmBGZXPdZN#n4^kIRYK7dGjnPRF7eg0oZ(F_GQL$yI>0S^hKv zQuio+K-&n({>g*2r)yfXX3gWV{`@i)zbh_HWwS8c&W&ct0k5V;R>+6!hHxzekHBjXI=WWq z)PW?O>`6H|-cRR8{nc9%oeD@3Su;sN*KQ-zPWZu2L*G8+<(3BIp^tb!fCJwzW?~4c zcZNAcdn_I9l^p5}!>~-ON?x^h`%6=w8_`3-XwL+7Zx?V7P4ZQ0XXcRAc<(+W)rBS~ zfLFN5Pw_UZcdx(?Z^S4O%LCMZ1syS)Vff1X;?XNy) zxJYu*k$d5j4Ype-AdRev%FgyM&2Bay8w~g-Zar^DET|63o$d-LTfJ&+`4cC3tkzlM zaNF-33YYv#jsqip6V|Gl@vY(e?(;2x`>#obn?J4CA5wlPOEDUi)g{p@CfA|XANrof z63YL=%X*=6k36~R2RuxWj#%4}3VXJwQawUu8kIh4+_h8e(@9F0?R5X9R47rUx8?^9 zFC9P}A)xWM&6j&wsH!nTypCU`_au*mQgu90YuuNiR^7yct;DiRYJ}MbSQru98kQ+2 zsN2G!H!m^a1?wQm;*rBR$lTU}jNQ4rX2;j}12<+)AtdtVAYZzzh@}5^krwsui3df@ zB7Z%Zvym*E$qw~?VJE!bxy|GOu?uo4n;Ow7r+}bRxb6v_EgWK|&+=AWlt~+T_-5Ub zW)+7LMWCN;#)OapCi*qGUZ3oDe}xTEsrPG)wYvc1g6m4?q?s~bqb&z*gCiDdniIh% zXW~zFfO<(i2u4MVuO-z|D&LqBwL1re>uVKTmn0MYhe~9QjlgfAQYD7J|Gr|ELxhhsoq{bQJX4Gv8vip z*6o%ND#8T|_Xtw12zM=fe>%l_Fav0to>7XWEh?OS@HPM&%54lGVIL%qr5KEq7MI)A zfL_0RH$7u+16Pdwl3Pc`mK@$0!S7&P2~8(riwSS76=tQVgc@My9L~L!`6`^v)^^+d z)Adb7yBWu{U;Ho>cY|T92M$mV9WpM0z-aC9h_v{Cz3DOGCnLoaef2YcBW7uM) zCm=4Xsw+au?;PwFFkEI1cfBA7oX|eUGQCu?9Tu#EqPjKlfwg|Ew(kG71B- z(J64Vi^@kmIs{KI1)r!Y!wF7NfkPasM616DVSMs7RHdlIL7(B2b|?sG zs(1xnwt{f)8m>}9)P4)F9!noW`icsJdmAgWoSLA}bzJxkq9U^G1q+<=l`EoC?~~3pvm!yLE9N1kF$eIin?rcKTv{UgA2hEMM$5rSgtU z5wR;${0w)9_M}ksaYxCiJN8ZoPBb#N1uq_!ixo%bc$butt4 zHJ$~uch|w;-7Ho1$~Dk%L)S9dJzABNK1@qpDWP#zR=)yIP?xw6k4=8=RCr+vd%~%I zV1P{8iz;c1smQ4sa|c-y#-&Oy5!O=JNVhc2m=>QCl3=Dj#5PJKIPtwOOHJRQrU>c# zYheJ_dwzkK#JV_B6%{N8lYC^Y-UG`c#*iW>Dy%-{v&L;5J)F9_W)Cy^+#WJ8{}St> zeCuvi)E55V#_jnZpY9)by(yoOXvPmEq~ylVVg%$mkEc&;dhzE6(-qbNb=KX^?^8&u zo(+<{S$*^H^-x2pL5i2kSH#qP&)~1k&yRfG+o-Tyj3(OCsITQ_8Ji29WUDXl%{BPxxxmJRy-CR}WzK%}uQKOH-izX>XXjh^@;_>>f@Bm5|*e z^3KYsMVLV!k7*EA>CnJfZN=uP&B6!+?X-ogZYQQ^>1m9q(kO3|9{(Xp^rH%vd!ragN+2`VhDEM_|8n6OpJg8dSYT z;CF5k=;RdxtRgc_kG|Lqz}RArrfR58`+5G|P@jju%_pa*!q{2};@^hx3qi!EdX&VY zGI)AVlIv6^8n>&EC5;ZMv{higlpmpJnFdNmT1>oxqf7(F1h6ZK*Cm<_C8LxNk|_b0 zd7WtOwwxH=9!m!Q)PqE+dRs!7qV%DPej`^r)EBFt#h%Z{o(H)qDF?L`UDIDiXZq)x zry3Cdc~gaBA-4FAcsw1MM_TVk?n-j@(56uO%B(7Aei$=p#{n-;t27#qi^@Q5BPNY+ zU_^=H@~tX^;DlkJ7+090eyyE`fEbz{4jYr6GMguX9zO;Fioy-nyDY(_4VA`zK-Mdi4FIS-99kgutxg{$VHOcjm2!bMB(<+h6t$ z)GIAOJgW=}={L!y1>%899tSCV{rgcmx@$D&CiA>jKZqa%Mi@-BK>6zY*}?`tQtYe- z%$*wPaqPS%Dzz@0h`m+%=ZHGghn-Knh4k%A=g(0~+06EoANH#eb zZ@;maQ)Y?;IysEC(?)plo3`~Oy?o z8(LGoA_0+}L(IlneR!HFJO2;`J^w0-xP>E_q^J7pnY*}k}O#p*B6;+yTqMr z>8j4yl3sF{Mb}5n<*A?fDANOE6UpxliOljgCA1_TcBGmm;Y2mbY>@-zBy>j=6aGp740C_QsN5o=(pz-) z@nSv6Scpopi8<7L%*93H0E1hV37$+i)Xt<7#~%sxUuQq#evKaFCXF@@6R^kotpG}6g5qGS9(Ager(dXsa8-T`#@8(&%9wy&Q5u72 z;<9W2*P?Vy`!po7BXx!Iz{EUpZgwZ$pp0ylce@jZnC#%YsF|R0?_<%`=%ne0rK-|R z@e#dhg>>`VhkE*eD_7bTF48~KQWc`9j236VO>z4xp((e_r9Z4kaTKW1m~s(wiIk{A z(%>S5?1TlL7W|o_kM5~&s64MiHm8v$J1dXo;W*ddA4(`#Tvkh7nZpi6c|{V_lJH%X zt+ezFE7454*K5liDH@o!RpEEq3er4(|tLf4k!oOyiDP zsR`4342B98`S0Q6DhJ(wU(1emdM4VD130Occb&}*r^CYyHix*pZ-s6A85JzfIOc~&s0t1JS!>X`w2BNFF zEXQFSXX9bsw0WonowsS!tC49d!^N{d*I^4K+LpVG{w~Rcnw3T%CYcRitPKm2yxw!< z-mY_;PH--u!}c-rEYmGo`vX?itr;y-g;4mgy}Z@ohiU&CkMjEvzUj_;$cW=SMX?(@ zEw2z+H+}$2U=pMIm*XLxwg6t{FN~rp8yEbiMmh*72{K&_A0#zz0=3L9#JgDfhB+tH zyPL{KIrX05;msgSL^8q^HvwIM#DBU)Cjx=lW}`0U?CS3QBCg`U)8y7=Fybyf3)7o0 zU)z|WY+vz@kh63)uq1Z$7$dYdjEtM!i7%}p_authRqd4q@$=%BnGQ0*}&gn4^b;m&&Xk5o0^2wCgKp}Z(%Yge3yH@ zaBip%XIly=)p~LmUF{$N*(YMSoCIL)H7Wrk1Qh3IspTp{O|oRhov#(a?%S?ZZ`as6 zzlXE+*oV}lw-6Uc1yi%KmBGHD^Y2X2w-|HbN6H!R%NgGun<-B(;y&wtjxr5fQXuAC zhZ5~!YWAy~MTRmUI=J3r7q^BpRESzIpg`g!ykcI&C3}4r!RqUpGPwu5H2eXVlw~dW+c+#po z{Qt^d{71}85&lmagF;%^9Q5pcyAr|M?Z$RP!h>9Yo(DJa4Ea;FihIJe(l1s(s4!6f z2HnPU1t}2tF$7U;=ao|C3|%~+g1>AaGIbMy>Myvts1^WEY@*dx^?obu6BT3Y8DnJB zpcP-<7N;%2vm|5wXpy5L?-zd^dz-Xji%jTYhKb>{5aKP(mL2ZlLN+GtMY{;x9WM(} zP{dh$(S}@63WF!}rT@{O0oS=c!r0i+k4jYO7#&r~!b`<03q(^JW2t#W&?xmtLe+=# z&PHAXb-!WJwhh`aSNlmKG&s2q{7p+<32~%K~(n`2S0=Qe>8{$8; zF)&DS3V-7G;nXpHy}>{3Z5k?nZmP#umP6ZfOnmcZ%xcjKE=eivpSt9GNvy*1?sUmr z(!j$M>Alx8b_R8doBD%VY~j{UGp`5 z4**cEhmJ`L(Dil;-BkF8yoi-jO}Jf{w-1n1>=n!cJOd3fp_Og}qO2Uh`E|Du zo|(-7f7wfgx?$^Pp8+Z9cuyf(~X1i`bhsilA+{0o|PRGB!o7h4}@&~wpx0q;`RCJhB!J(k?xuz z-FLfNQYRt%;hVhg+W^jEBDLl!iFL1ZF|c+_xG4eHcfxd+;5wNOfhEIN5p3>i@VNc^B0u~k2#cEXg6dHq1uBKTj=)UB z&hpk{K@yJag7LP1Lp$tM!Iyd}!WPY_6dYgpwiCLhpds1Y3{AO?WEGth0&iaeR6Wd4 zVxCy@7h1`tiPOysC{eUj4Pc@#Ek;r0uWYgJ|Ju56JR_^D4j$p4w)#TND)PZr`OL1i}GTvnWZdqTsMAg zIYH9me#;xU=R=yC14y@dtje12k%bIo5s}!O$&~s1vMv1bLa*(9Pr5Rf9l%zFrMR8f z8{x{Zz#l9k^XwLf7tT%pZHeBBf6+gwz)U`}M_hQOB}naGk!f7$j{TU^SrF#3kR}r5w_7qDda7_uDBe z(1f`E`yv0LtHzxBjI9c*HZV~hIT!Q5I4X{Fi?Ug1Q|SX7j~c|K`LTbhKAi2n1OO^v z+RtHz5!)3hFI&#E7%3Fm&hK5WS^ZWgt&O_8<^ic2axOoDMaL8V-!6()hX?*W{d9WK zhGnHv5eA>Vdw=$M6$|+|k^jkXxc`d{jp)`fN`0&pWWh_u=IxH+mb`cwraxm`UgpiX*Kr%_WMJZ=NsY=q`qf zORMka3lcO&Hw^3S0JP9XXv~<#5myo0fPU~V#uLGm*}oSyey)rVX7dcsPG&E$szDyR z8=E!=@=m9=gau^0tfE!x%KV&D&EL6@jlf?ZJFrv* zKlX0RE4*BcEgV&1E#je{FO8ZlEG_wk`dRFs(3Ar&-r(<~#vLVGoEt46uiEz^N76wk zk=kRSbiV~G=W6&G($iSp9Tj6~yzY`h1V2>8pL;_eknOD&M5f>)^KC9y%3K$RskjJQ zveMp47sd%n{Z=?(S z$bs6@sDKxBh`h|gK&BXr)zGqq)%RZeh6}jU&R5)P`1<&3pQo1w_a{`{DgKvNQma9# zz^v6;66ejuL|m(p%s`i$VHTG-LbZcQb-$(nKbIVFBbuKB5i9kUWAU2Pjdm0@>z;UZ zlJwsaQ!-=@4#KWoHWT(3Z-aFF`-0I55;ss@mw$ldEq%=D{Uv%N>Wbx+*NHxx9)v~p zPCDx77YZw@^OVP_0OjZ9pR(q<=%Bdo(9(Ffy*YQn_=4U~S^U8=0erUT23I-2MxwXy ztaqR~RdRTG4NCr7&+ZvRn7}7O1$tT-QMWvz49$)WO)Y_mz>-}*&V<1|OjOu0BSIK? zT)^&tde&f2g1QX~{cOLC=@tP#AXrExbyyNT>a#Pf*oT8)>6zUI*AI+Cv@7SrMA2+; z#*s`yRvd2lN5XC-H*Pv`*)w|Imki}z68U~%SB_L~!>^!jFkYAyqa9SnOH7aP-6m_%KJH+BpU&Cg~8#0^hXi5NWY*Oik z+2YR;2e=ap2sf63@OQ}mB)$HHc6@ggmNMA|lbOLgT16dNgi$zJr$ep3YCy6pA= zZG=!!ugg4-u0xbFSvx%VJ&t<_m%+EldZWLKFjd&n474C(-xASnHJx;3^nq2R!V3`D z*NJ^|@q{nb*aK&FbCRZ1v&WM=R00=@`2>wv+|zC}ip1uKhWhYFB&(#mxGG@3o?gX=$l#NBUzX;ptU)aZQZaQWA5i*~`O|>d9*oTVBUhjP}M=J&YU8R5=5p{6)QbrSHinxFD$i26&8l+7>gyw zj1;4*$9+QZ)F3Ylu?g%vp%Y&Dmhd$Yr~GT)zqJ%|t8 zgLSFrcEp(l?mw6r!@$bQ3k1V~VtP-t6u ziGIZ*j+O`_TO5@si=;Xs*ZFr!oD;HU7@ZTc&sHtLb{%TP7G8XjMfAu9jpMIs7}v3S z(vuc1>#ln=8>`(w^F==cAC2P(5Z9LY2<(?nR``wtm;5TmlafL1Cl`SR%Da9}$9UEN zltrdV;B`%eC;txAY$C&wXaV3T&kmcD!Z*PFTa=YfKWnN#r&xP?8c@DSNX{0Q{W*C+ zW%PL{DdowozKXd+Loiv86N;!paO>;g8O#`>InAa|&*-6-HdWbG0?Es>3!Q2Q8%i>= zD?=jL*s3mB%g+ZYol1ar3FQ5;bVa+xXdjZF8oW+%U3SI*i!IKSM>6iD+|%xhs?^;P zR8iXf8L8t|U(-;GyMw4#eamrtVhgg4|Jhf}8m4{Sv}H;LSD zuP8(V4wxy$TCnOYByqg!A5q75>%!NCnzLG3FX(#T5iuInhP8kG3(*eZt}69fp{vl( zt9v9FOp|-n;Lt$L`80rImw1RTnXZ=#13bKMsh;=Kh< z_It(Ad40#_zH7*}>UTw+@aRHCoph*sy-l68t>#ht~tEo_90)d*<;PRM&^Yufze!^SdzN3y1^b z3Gn*_0c~j>T3P%1c&|HL`0@#gBCZb#GDE(?SQ3Yhs0+u<&cnds&R9Rc8KEpS#kQuf zR^^G5(qL4Vtj(cy{QH?#y!^W8-_uci$_PUheqrihuA>Ic^E11bvU(O)R)u1zC>3>B z5Q%rGbfbe4MHqhy5^s*KSvS)|9NV`NIS+N8AzDZax*DD9#VBXe8seMaZv zGL)Ut3wv8sj}ptQR_I)fqP*~K`Ybo*l4pof&nw>})LHvDqHnAnuLwfT)1Qf9H_a>M ze~eainOD zdzNuLq*?X`l}cu$%4gjD!8FUju;@Xto#l}oBXCnVVD`miGBWRrihT7)lS`$(q)+Ki z3G;TTs92ym>%%a=!A8FMTMjl3PZZINUMS>tGcWrX%=w)eoT)V; zAJW>ojOthqtR(&9!CN)ANnvtRCH6cd#C956hE{Q8O}TNkpe6;i#^+|sz44+Y?J^FD zbW)#oZF&Q3LSx;l1D6mdqW(7s{x6%0B#-xk{s(p%lLI%+~iC;)f&~`wPpokpy)NQ%P1>OaHp$up%X3tZksz>5fvH07>p++AhKx3!ah-QXN%X8l`mM{3L_{IGRjyJk?Pu~g;U!xB78phkI81aG` zc{JoV1PCry_2f3X2ss&EgsPvL4)J+mlHR|B7O6uref^-lB}A&OfhAg(4TI?Yo z_fLvEM0A;S36ylLJDAzG{Jx%k7{{c&6^~YGD7sV9DK4(SDNnG2<8R$aygachwAKn* z1bJFJ>F^oYru|h?bNj5!Uid*v7zadUlAI4<3n`pz@gP>(-hurX=dl_tnr}Efd((b( ziSW#LIc^%nDekhv8K1LYF4%*=@WBjpy594t+V%v|j=X{^6F&2_A?JaxL9Jnw@mBPh z7eUCn06TwnjtGztk-1;p7d07{ z2n{@c$E&%7zHs{jR(r!p$~^hza%Le+KV#N%;Wv(tcPgym6^G?^cFc77vq-$$FRAJH zj8N-4qO)jX+C~FGM+0#i@1C(tmLsG8T||tc}qNBtJxfGaZ07mf-VF-5s* zT$4>rBT>^;uq;hk9w-+GC(IAKaUKTSi&E@bx$=QOx+Gl^46F;c%_@H1HkIn^jZ~PN7hza1mqW#|aAo6m}Dg zv-(my9aK@D)StMU6xC?YY6#7cP+E;o1c|w9dFVP2%+1N_U6&X_!kErSzRK}>m!lkk z=`+`%^tn+gH^gbu3|NpWG`;v904kl*Q_WM9c!3e$BI(@0pjG_KMaUSTeRcHoBzDw! zo_~A0jn)2qg)uiT()pg5Nmzb=ua0K?E|5i*9jZMdR5je!1Ff*}Exy~n{f(D49J7_U zzf~qey9c%z+0#oldas#og+2X@_`fKBARi-b}VrD=25X;TIBH$=9Wy z#a}W`1sF1y|~EaLTeb9f>&K_sCA{#TLBvmGQ14UIp#s5a{|;bP&i;q= z#LfLbvzx(RAg$znkh}ObV9$&Cu)2~fUN$LQs71~oT;G$hn>{hqe<{dias?^Dmx64! zI1g^#i8W9ytl(9FmSie~9?)zbX8n$;;<5vtDgZ`t|4c{ALjG{!7pi`z;i5u5-p>3o z#7vPi^X4u@sc=M^8M3N}qDZC%|Kv2_vwIM8&ZrFkWKXw?Bz^k?F{T`4Y|#!&k>2{I zP54&@y`Tlskf?@SJ_WL7;OB5lvverG05PWbGalz~AhfXRkOtQmukMhC%5oq4i z4(qN8L~EnziDZ!JgC<{aE4+^CfxHsLO&MqAbN^`?j@4!!R~N@TxrqGjSX|CHo92dv zf=*TmxX41f7Ab!o6E|M24F1B2En0xLOzjU z*^Y1bdj`8doxJx^%vV1kVjG(?(Zi|2rI8LXz%J;mwWaPRmSS!z`5^6!k*L~OLY;Do z!9+B;K_q{BQvO%wMc&OeUfQ)WfC}9)j4f`8kKN5_eU2XU#8^fu7M zS~D4%CY6|w&JRO0>!@@%+#bbzvy>4}jxSlmJc!N1(FmMXN~tI2G^Akl^HyitmcG>R z646Y7MaReigu3U^vKmRckJtGh{5^kj1NsHS;0IEt`vdolg8#&*N991AJM$(IN(F7kmCPcA1mN^Hmx6 z@#;A20nE?rnqTR+1Rfzv2c@f`h*reDxo49*+@I9==BB>a_zLfx7sj-EROJP+?zcN} zr9(xuLkhVrDe8tAFTxR z*z^xFM|t@on=?Vy6LHF#$2D00d^R806Ybj38^q}mwj+%4aN^5!uq(ABS^8u?f|cta zARp350gz+vV!p1oU-hPkJ+`W-g!N3>oEa^-na|l7;2UV;7s@P+l#fOJ)NLhU6N~k$ zOP1?hb(k4qJ;w)R#XrE+gU*PZn5PK7=$$-UrrbpXIq|tx815wSIBGP64=9q;KjN0W zdB-}#a1jq05eVD*ph@>d89g9wHA~ZEA@t|~lXO7};jf$^ySvX%+HgR1N!kNtI}tz~ zi@FNa!s0L5VCUKEnZ=Aey?~BJQD%}2dstmk%Zy~VQ97b+ z%8T`q=zbI_);%KZlUMX5gkaLPZ&ALS>QUbO@7vkqkp3N%HcHN@O;i$IBf^f0Aw>Va0a~7>hw_hCO6dEwCT%vj)RO%# z{IdSzMlXXCew-*tWM0aIx8yvsoI4W@7}c9^iqw$sn5R+61evzlPf^#fI@MDSyHZ|P z6*k9AvWizD?1n?+?)H8#1e9jnV*f@gQ`+|LF6ps(OV|(YD+{jhOJ`5>zMzkxe#gr~ z50RhhXq{>=`}oEFwRSmsf;?T1mu5YFM9&g8TcZU3(@m5mmV(P5Gt&|k=x#nw4`Sr( zW_-&p_k*owh_?T=EC2aW_6xHW+KtuV#}Rwde=YI7=&%END$ZwwQNYF%jr`lTAIr Date: Sun, 7 Oct 2018 09:14:18 -0400 Subject: [PATCH 063/102] Fixed README image sources not displaying correctly on GitHub page Apparently there's a pretty big difference between .png and .PNG --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 928fee02..e9b0bdc2 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ The slider near the top of the settings area can be used to change the resolutio Any image resolution from 8 pixels to 200 pixels can be set. This is both the width and the height of the input and output images. New images that are loaded into the program will be resized to fit this resolution. -![8 by 8](docs/settings/resolution/1.png) +![8 by 8](docs/settings/resolution/1.PNG) -![50 by 50](docs/settings/resolution/2.png) +![50 by 50](docs/settings/resolution/2.PNG) -![200 by 200](docs/settings/resolution/3.png) +![200 by 200](docs/settings/resolution/3.PNG) The indicator beneath the resolution slider displays the current image resolution. Hovering over the text will display a tooltip with the total area of the image in pixels. From b2cdd9ff26ff48e2d1405d6ed0db85f44a0fe5b1 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 09:20:23 -0400 Subject: [PATCH 064/102] Added filter setting info to README --- README.md | 8 ++++++++ docs/settings/filter/1.PNG | Bin 0 -> 10599 bytes 2 files changed, 8 insertions(+) create mode 100644 docs/settings/filter/1.PNG diff --git a/README.md b/README.md index e9b0bdc2..7d0b292a 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,14 @@ This is an interactive demo that demonstrates how filter kernels can be used to ### Settings +#### Filter + +A filter can be set from the blue button in the settings panel. Clicking on the button will display a dropdown menu with every available filter kernel - just select one to apply it to the image. Each filter refers to a different "filter kernel," a specific pattern of weights that are multiplied by the pixels in the image to produce a desired effect. + +![Filter selection dropdown menu](docs/settings/filter/1.PNG) + +The default filter is "sharpen," which increases the crispness of the image by emphasizing the center pixel and decreasing the value of the adjacent pixels. Six filters are currently available, but many more will be added in the future. + #### Resolution The slider near the top of the settings area can be used to change the resolution of the input and output images displayed on the right of the screen. A lower resolution will look more pixelated, but can process faster. A higher resolution will produce a more crisp image, but may slow down the program. The "Automatically update" setting can be disabled to reduce slowdown. diff --git a/docs/settings/filter/1.PNG b/docs/settings/filter/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f928fb8dbb47aa407e6f11dd1db373079b537464 GIT binary patch literal 10599 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 Date: Sun, 7 Oct 2018 09:27:21 -0400 Subject: [PATCH 065/102] Added repeat filter to README --- README.md | 15 ++++++++++++++- docs/settings/repeat-filter/1.PNG | Bin 0 -> 87111 bytes docs/settings/repeat-filter/2.PNG | Bin 0 -> 82217 bytes docs/settings/repeat-filter/3.PNG | Bin 0 -> 79842 bytes 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 docs/settings/repeat-filter/1.PNG create mode 100644 docs/settings/repeat-filter/2.PNG create mode 100644 docs/settings/repeat-filter/3.PNG diff --git a/README.md b/README.md index 7d0b292a..383e474d 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,19 @@ The indicator beneath the resolution slider displays the current image resolutio By default, the image will be re-filtered whenever the resolution is changed. To disable this, turn off "Automatically update." +#### Repeat Filter + +The "Repeat filter" setting allows you to apply the same filter to an image multiple times. Type a number of times to repeat the convolutional filter into the "Repeat filter" text field below the "Randomize" button. This can be set to any value between 1 and 100. The default value for this setting is 1. Keep in mind that the more times the filter is repeated, the longer it will take to process the image. + +##### 1 repetition +![1 filter repetition](docs/settings/repeat-filter/1.PNG) + +##### 2 repetitions +![2 filter repetition](docs/settings/repeat-filter/2.PNG) + +##### 3 repetitions +![3 filter repetition](docs/settings/repeat-filter/3.PNG) + ### To-do Many features are still planned to make this project even better. @@ -65,5 +78,5 @@ Sources of convolutional filter kernels used in this demo. ## Other Notes -Image used for early testing of program: + - Image used for early testing of program: https://i.imgur.com/vXiaCO3.jpg diff --git a/docs/settings/repeat-filter/1.PNG b/docs/settings/repeat-filter/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e50c3bf90ca6ca5f68a8844e187b3d3d38156110 GIT binary patch literal 87111 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.${Orc+gyS8@aZ?#`}Oi?Qs3=&et*vD5m)*&!(CEb%UFL( z(Tc(+%E>XIh|ML|dnqU7@@6fSLoqs?t#E0~l275G^YTKrK!|H0h9nUhtF$JB?yI$e zLuhlYvLsCdK5)aKdy-mQke8TOL93zZym;+HfmeIt(vSynrIl+LYQ*Jx4vQF2`(16D;HitPFkPi!m)+a23DS})xCx_G94*bP8@Yd;ZN z#=o-ffmMM#>8P(ft5RP^56@4h$O}9Vwv;iw5iTx=06dr=pJ`+*9Vv&jRRv)e-7R3Z z-n+J{A{!5*Sdvr-_(xDCMX^}L2^qH4byrX)RUrC14|moi8OzrWUzn^Y^Qcv^;&A~h{>Ze#k*3O5HEc={`z3X6!fx<$NOwkL5yC>L+;%b;iL-MupOAyt&`Qd6jcDUXWM(noxcYNH8xTm8nd&;U^Hew97K3~ph=BkdO@tf9j z*u8iu9Iz)I!DYS+`EFiG*7i;o>+Qp~$z$EF5|csok%1Awn4>Ihp?i*O8krd$a$lEl zr#7ZTN$Tu~VKPAXLT99J^pxGKK{?q{ux@y8r@!=TK^wC1U;}c@(?%*mzqwE9_ZYj6 zH_5byYg#94M##C}ADmOz*`|d>-V;Jt5UzT@*?O4Z<#iz`@V-oYqa-KX#`4TZ_Yynl zb)AUS{c9<9{E)b)tjSQ$WumRlBBVHH`F`>Y^gB**|e@a3qY5r2iPc0Uc@|^kb~UyJP` z;?=c!Ue)!OibRRLi~@dW3u3_cfJZMdG}J?z1E{?ooQ`=mNY?If*k%C)jcm z)&hKfpTO8%r-#!Gr2~dJAj>s)v+}QyF`{0{=aDTU(k#Hvw!>dQ0vma zDD&T?>z{Xmdf(LV3=7h!EbJN?yXal!dNbLScf;+}DPQ%eng%_?|A zD4CDA34~Xs#5=31o+9(o)$DvN6LnyQ{tv~V^)1@)y{}O5po^P4i^$!t_qmy0X&kT5 z61uyuI?e?{@r9Y1t$lffp%^oQ@zE9hn`yal0f2i%{3{R5i8Gg?0ITzO- zByd(ej-I3?O~{}zR2Cf$9R6d9gx-mYX?V%RO^Ss|CG5L*yiBSQC5By%i3XldirN{o z>qD%>FGL^D`$^z5n+=Mm@^$E>A`-ync|9L+`n#U*;){yJsKWNj=}P@nNI~fx{N=@& zJgYo&0c~A zCe4Y~L`JO+R(ow5w$1M>Xu@hx7JdcRyc21r?xMk~>#XRV)M`I?!4KOWg(52!kz zzg6@=l%)($34T(i*)JieFx=Z!%xM?V0P5uhSE1A(gEtE=4zh1uu736K#SQ&5a_F=S z-0us}OyzQJ$LLMfK-lGv?_|wbe)KpP^vG&{J8F0B;>oFc zbNG>2WP9?W;OBiB4jmzVy{=m&Jl0`RiI6^nS~XwqSV8_dSMLPhZB-cW5xS##0*GQ< zq+xR4v}-2jx6AoUFOlXbD+tl+Hg2F{T~d~(QbVlx z`zpYeEnQO3A^UYjr-+f0GX7=Fvq?Tg=4xLY;G>5k#}-s+le7jP7>ei?QC=K7V0PS} zR3z{&*%}82BWs?O(7&2m&g~ZjUoPzv5hsH_&%VGC!&#ydwh{nH+~e& zGJIAO+8>yZ5Q@4HOCs3(<;jm;Rq!L)Co+1g5okI5B*M&v z0?jhhqS;^jhX1&Wi-4~iMyJ2+j=V8%81eqzD7u}Bw{$;Ap?BU|*>T5 zxF8?E!ihC73ctM-GaSNsQSn3gqf|yz@X9JbA`OtnokG1!XK3f{@f^69&4L{?5yn4< zxO?8hteCQ&QBUh|9iIW#kvv&P?7?UNZQsu&wNej3(lX`{gdE1%O7M={1=?ahB2{Pp z0qQxeN>+2VOIARgA?iiamvCv9FOm6juSqN)(VoU_6F_S8VjmW~2GFfLMW8oqU>BTC zID||3Y;1hXxcrNh?jBkyRZB{xM=5U?h6`brUAB`%;0ra%qv3?Gq(tR9d-aFxuy)V1m{Ir`JDkNA{+q9K>^0{kPbX}F+4$Nyc z)D$rea({(9P5h9jin78T@vpj#x;2No$vq8e;9g&ONFi{jo+l_jN7#;`RcV`|rU`16 z�Is#0+YtXT}s5#|HyuHG{bVeWU4X4#n@N9^KGrpItiN{{C!Z)X9&K_VcTPhmWk(QJ)v6qcoUtl4WmG{bxDtuyEQ9!lW{dY)fH2 z2%`Cr4Dy`q_1)7r(%jhtkA|-w&Jl>Sym@b+FLb`=A^E;sG!t2j(k65(lJC1uA_m)y zL?k|v_L*x_%FX5IOq{-)ch#}WuJv2k6Tr2t?`^5yZ4CG_bE8)EbbAGVl-aOy z1=XB0%BLuqg8m_gvOC+B3v&x-q;^tZ)OEzxg*l=Ma=j}$RAd4%6zC1tZTeP9zs{5& zRGV(CMi+x8y}2&W(AiqtJ0eqZ%JD4Icd@-`>@0I@_EK`KV`wGt;Jwc)p^Zp=232 zBy=JW<+ZqLeZp(`_<*Kz4V*Fw`^I5lX}6B_>s0tt2ImNG7YPqfJj|Io6&U>j&tt?8EYDmM=OJ>x>zM3u zmomKL8w1**a}i!v&66N$!jHT!46sm^x4-T~y7%l6o!=GWGojJcM5U}!d%vUC9N$kX zX-3^Ur3iqf|6egUN9UvW6$<4$3xf7y8YulNHouL&Ch0qieb+Gv-5>YP?)I1gSkBop zE*(Fj9ratMq+2Qg?{=W=@2$HQnXOX~UT`PL*!a%O$(-_#6K`;_X$}PbiQc>yIOAK= zwawS3${pzB59stMXHTEoAbq~d!>f=fp-w)3&3ijxFI zOaZ5PSNjQcf4i8pFJ>agC@l=Ug@Ec39~h-KY?5q6t_Ezzz2w~78V^W65xVoNfa+Z< zrw&r(b&FPq2y#DtlJC=!pqt8#L?f*ot}bm3P*B2a`qwWRaVMKL4U4`MQ&Ex+H`NOu zF}rNoSA6pHl1iVOYI(%)qhz}(E9ltstAvL3%L6Y!+isJortTe+qLyBpmg&oTNSpUv z*eBjv=@mh;ZpYEa0v6do!f6ZOD3WFKyEU#~hdbn;hN2Z?p8?i9z7SDl0@8(Qp$PA* z+>-4?J~Ea9C%e4~=ROzR&v8;BdmuES-tYKHzR~d~;QqNH?2a1C=6NGwca~R3i}+Y* z=j+OZhQW{zdYSf{Vk#iM3u^EJgx$`o3xQTF|qbk zC;X92ZdnbaL}0&JqxZbUeH&;bMzzjX_Z)4Q`}zJ*HH&dU;tgXhWxWjI`KCtI-11ox zDE?a0T`p3teo*T}YwSW>$7xpign;=}4astrPVkkE3kee6aF;)^Pj&v(pkow;Ldt&{ zi$mxq9QPiS(o(*|=2RN$bTgVhOoDyzz*SIxLkn^iAziLCVtqbP5<-L?$#&(gU0v51hcw`&gq|m3y<28vcX*N z{}v21I%k26zjmY|7^+Ky$=oPQS@6M)0kRuvVy@H6!%u8H=%Q=HReBoKWp9LX6XwGtf=_;m zH%K&P+glwmu|4<(u)lo3CtJMYxoL88Q0$9)QXHC*3i}{nt&;<+D>l3$U0SX9@NA9;-mRTysM;XnmWNgeW}=|>F^M}7 zimnCFOd(}%qlNFtKD8U%xfZU#S7@VR+D_dr^?fStI1o?bYX-X)W7w)iwP49vGMZ(# z>+R(0vmPY;x_Nk(c=@T1?j#>3ir==fCk#7N2Ip6SUeAr;_^)$cy1ry=8TX3HvRFUz z#gk0MgE@+&<1;_viF1;rI19;XJ-FEZY;%lVG0!SQ1fd`mXj6P+lrc@Zny{`HCPBm9 zUyh%kSwBrxsx#s*IOrv53lR_I*w4=?T=yvt?;+R#sbQ1l;~xXl|e2`SBm3uF$$v@oT|qT@g=lm+``Xvh)(`w zDwoe?h&`SK=ba7WvorOtEf_|f#{cwNdPAc1I7>xAu8nI&I)Y>)WNr>JcUge!t=@@n znqpjYMPPAgii+i`s--e!IWuN2!nCrVICx+4oyu2qOf1>MN&aFUwG{In;q8hhY&Fzf zTl{C3E_gIe9+S8_O?da=8v&Meu_pe2nTwW@*Q7}_J=7H`vZHI8t+M(4l(WPe^G&DJ zW^zB~-kRj+T2uL=?1f8>;=Smu6i$*~D8c?g7{5s458~L{T>OKNj%a@Yq=U=d@pD`- zAoM@tr06GotlS?k`vtYLAcyk3;{6xr{9>iE=q0JdoqcWY8~(>$Uk&>gL{J=>+Keet z?AUd%NW)uo5Z7)a-RlV-_>U{ogi_J)A-jaqr77<%`~ErrBbl=((EO#3vG`QO2yo&9 zUp+g-eM3PrxFCzB;I$CryoWpX>!l*>H2KQv3l-wdOvL7ZJhOBr8$4u z%79Oh6PsDgmD?z6k=H9k>7#u3g2}ev1Lj%46DL)qYwas~=I^!;+l#gU%A{Iwks2>Q z!_8I_-i=p)F?VT!F`TOhr(+|p=b)B(F2n_Vf0q`~I1NpoReOl`zfP(Qd5y5|F--W> z6(MCj@lygDb09ua)NZ1o%1)`p69LuQh&9oe$^g`TH6j(&dxw?P1~pDP(YC6VxT%Ba z8)Ucx3(BCJj~~E?#Rj6$^zF3fpv2{JIBHkz#YIxmb(|n4C?wEal8l2L3cMr27|_`be)B9I7@$@`SEnfD zmgx?Wf^GMYn-dR59LqB9%*Q{**8q~z=`cM#(>j6iu+6-z#>kGsK=2x4B0i0k^Yyj5Qa6P(XA7>Vn2ST zO`pi?BkhBdrLpYNG8OOi8rt#U?v7WLM>>f*GBu7)bc(+0TT>-G5zHebG4qq@GCclN z&v`f?axViBUc&|gV*#{Hsx*V$`gi*u^a#9j6hZmCP2p=Y(b$?_JlDY0128p|CYeJ> zz=*ild~x4Q=vtKTw>K!07tol2MQ^U@Cd6|zF1#VTsm6gV{AAPTE;#j!?An7IjCU?t zC!dP0VVty8+6-C}29EgYiO}bPlrCqTtpu*UkA33LU;dL{R$J`7WgRfsUf#c} z-6gYv!YV65X7qe^dy^)pAoMA`d&mLbt+;?#6PPbvDo25*q>jyNFXOD1X|X=KN*`6{ z$&iT^$ZQWS`uRmU#8|OpLsTe711GyhLedSJn=P3ALZP%7GeIj>S}1QlHRxPb8Lt2B zE(|@j)7P9I+H#3z$j`I9)Y?5!3{zRhFx-3NO%NKJp;>rwLo%4w*Q3?pq#u4Hu-0=d zx5i%lAfg~pmnKO}Nykr;CS`r^yUoY11lxG#%Iu6}m0QiBsn~cc%H-GnU0hZ0gv}zX z-qxc5tI*9o>64=8er)3p5}w@Dne0u>N?{=9d&+XD@)7!nbEtk-*LoWlY*)`8uN0<2 z3Wi#~78ogc%6HaPOrZ|9q*k->o7KhgK6SUXbxO;ED+f0co!jDK>~FQvBxIO<`7D;mZ?!qpzp zzyGp^{g%z3d+$yWB5}&bcf+ZOoCfS0;e^J%hcpD)LhL(7$Y!reCJdLFHuxE{Oo_j^ z#L|3!X33Mp>0y{#j)nkC691SnJrMQ>S>*sS);A*-0v5 zRx&%+VTg7=$)04x8!6P(XMd7H8UYHSI0;ii<-I&I7ayQ*T^{!BOIXeJII6^?9v-t3 z0IYV5B-0mErd+;`v&oL@*SQpTBxLE31vx2y!TZX51mRK9gIZ*5!r-4e@C|+yv?pwF z4;Exz9Q<+}lFDe?5WpWEs;MTqi)!M2T}9V;D|>@RZz$RtzIQHLC6r2kql<>vmBY9- ze@%DI1dP58J&H|61^H7+k1_bhGc3|}D;fll2B0e*9Z->w6Ac`?xikV7$jdRy8D^Ja zbh*9Aw>pWW{^zbEN+amk$hP9V;#+luSuEp*Gs+?gOc~+CMS2Ve&2^^YrD0q|id1Ep z0Y2nnEc`h~`Xz3i$~6HuD<6`bYAMGUxOg1vIfLS3Llkd~!gH-r)Lj{i;ycNx`cLfW ziFIfdju!nPaS@v`=SSF0&2ihy_H_Sp+c%hhpOWGD33I0*t(J2md~(v3cw!rNLc#G& zi~epwfo@k(5zQ4T6NqbDvPXT%qsi4LnZ(e^qDy*K;iIsOaG#3pC_^q+ZhG zX#lIr+uK-d7oUX=)11^6(;mA6b$f%r?<8Jm10z8~4J<+sAGh1(C7c@cb^>U2W z_nqJ`t(KmfYM3*$55fY&_3{g-+$Pn|6u*~1YZSYVC7dR3p;+{0#B0=X9WUk7i{ zV_jlxH|PF}AEoNh21vXeZvMTatEP80+?@I-dkiO>;XV6|d6vx8gmL;8ZY z;qrneom?`L>6>k)FXqNbS?ZOMH^(mMKA&MGuRfbd5yUc-xpJgDDBW4Y4#jKP-1NAr)UGUvj0pMyW!Sq*y0+(U5KQ3ES2ni0&0o2 zbEByO+B}UYc=cGQyx@J`$KmtTEhYP8nRSntM!IC)o00>P`F;f6rIF;>O^FUR}y*UIe`PuTQ4gm1ipLu(3Tvhq1T^&!%bIz z!)^=<0EKU9#q;0nHV32y#e%CcL@rRjg}uf*r#s&=5mp*f1T5%d+-g%OL#rq#t@A#wGW#xu4qn8PByfWgMr8pWDa#d#TsTiC5fyGFJk6)=*1x4|-)hop&ar7}98#PB* z-bgN;=r3k&VTB-ka|~4XN7oJAml{toUn8AyuQH+7s?1wD5ovz-UD<5h50XV(qW)8| zm(TO~4l^nDL$66R6lfdWen@hsMHwFX*~E=~Cr^gf{DS5fqNEIAw7SoZH;bitx7P)H z_GS;WWHOAc=-VT_@9-o}Ofv=lNFbS2DTPk%KEOzv4Y##Q2Rlz0J-nreT1*w|n=e2A1TZoVe6U$*UY;ZkA1I`~?gg`kLeKWQ?HH(Z#K+O5|rdrEN{n5i{KvIZ3l z2{BP>UwwkSCfFNQCEL0zFVmu@(7??`tCpns^!`Fjm^GKl^y^+6Y_@TfFY496t;y*@;h~}Ahm2Q(2^)MA@jiQT(lB6E2zlz?jZcnS3lz0;2 zrSL34+P9=Ygy~Vo9Y)`>b-`WnJiZForBsC;CMWwk7>bn`JaE$L@qTlt9ez5sE)q<+qh^0{S-&&W?m0 zwK&rfXWBnF3fq(T4;KMS_`{3%1s3=}0GJN4eDz0~RLOnn0ots<1r?i*4a3T`-|2i| zsVa7I(qw!0!PJy1fK=(JJdOzVcAs-^z9iT;4+L__krjbi2ud#j1tO12`!V>LbH>c|;4DjmtZ`jDRXhKN<+mnXv%L-Q7o^nXR^;0i4urSd z=4Cery}%JYJ*->%!L|feOMt0^6Is|pyL4YUyM&VR#2Z&fB7(Fm17he){d$1K*4m>fg9;;UfrBwZ#tQ5`aWQM@B3&4_s7$5)xwc>EdnC-Vq^jZ z@gQCwQ{j193P6$QL(-7lHr>nxkbvfj@JJ*cP<9O{W0op$e7nY$oDNsS!<5blW zy_+JzLPDT~uR}t}0)4KFNLF^-J>hA>22zsPPc#jln*f^E(S5V?SfHT4!?3^{)!-Pz zKKT+u?1?!9OEJq#RqF$k>3O!-mh=DjA_fyne5q^0h}5V;L$-JZke zoF##*Y1uVuC>t+<2$7(7?~ZsPc7k}e)zBB|7n)7$w|00AzQVlf8vxz!li)?!zV6x~AF#GqulCO>B-&)F{+ zqFj4O4Eme*MuR>5ZAFOv+p9ZC)-z3;{SB#q8FYV_fM<3cwD|7d@I?0urT!s+B=rC0 zdjC$9Sm5!da}-fjW&)5sbI{_QFW4+{76pCD3yzDUNI&leD^n&ZA9{pb{Z9je%qZ#Q zX#;OJ-(eeL-u-}n!172;10nA&sUI_ZnRz0Y~r z9q@QwWK?jNIfaVHA-nT-tj_G+DUvJmPNZ5I>^d4<$CPAKc4VeIQe-pI!xl%1Eeb2@ zU6d0KRZHVBsyTi_}!YoYcn@DXP#lqS2|Jg;YZjzH_3!$!-IbCk^H z7@<048^@@k;;F*sqF^U&|K0;4O$^?i>ey3BT0`(jInXP4M*y&6Wwz=D(cmc=czBJ@1^Qk7{H1kp7 zb0nCv_r%DYH3fdXa;+dRsn*5y3Z*U7uW%}t*+w(lh}^JpKzKOlbLQXGi~MG#OgE5bd0%51+k zvdb`uqD6{|rlBZzS<&r+t9&WtUdnU2%fm894 z+-EMTv4(mk_{!}n!YA3a&7nO)T@gC8-!_^)jU!RdtoSDqMkk8}${AKL_)BMOH9`D* zo5}p7TxET{po($MYM!chO+@g2(93TZ;{VO77|-tt?3wGG%>Vr0e?cJjG>z2lgF_J( z4K{H9N+ECGDoHst%$(eT_wp8zbxkN4ym?c^Uey{_^eS@{BGcJMGsp&KNf~2IUPkNN zHoY4qb5?qQm}CKcWGtXLx+#p<&?SeVOCGp?6&*nM=vOGr>w~hh1QxTvy&JJyQEb*jGZU=PFG+XiT(}G zz8jRjwTRW-S$Km8dM{4z^5mH6+5LJlku|r)78OEZG_76_7H@fznW|; ziZ=agtLvgxMwd9G%c+p;$}~G}QPG=-xxo_gH4s9p^qBtEc`x`IWl2JeC!{@8=wACx zfXlpep<(Fd*~j5gIbbg8L4dllHzNIZ6+ZR6K||F&@)ip)zkqi$mt#3X-zCM(%2iXg z{1(NEHq}lcD=kMVrBKa44z$BT#cA3)cCVPaO%8X3UZUx#L=(p12mau^!-z6yFu$H5 zmBx3XAU@Yhb=G=&2FZOcd1Uq> z5i>nci(SlEz<%Hs&uDrLbf2i?GmVLFLcKlLLoT*L9#wTkl%dx-qiXGP$^nNL`Kb(8 zO#Mfe6mhA!kMZ2w|%xUgRi9t5i-o8yl0L+k~Eh{*ksT%N!UhPqs@OU;o z;m*FL+#?@;fBUPJ&r*O)^kLX6(A%PS9LF~{jRapy!*&&+KBGB$W{3mHgc%-iVZ&!}Nz3Wlcq&ba z%qLHjDi7mk7EFts-Up7fZbDy_ZOM=5L{hGadka`JDin*=>xN4(PbJq|zPZ#D|7S*2 zobW#^^9RHHQh=Xtq8)M$aU}c0`@ic=f7*4w&IY$AGyW+Ve+$PyUr*9#u@5Mf5Fh2k z@d~mZJ%709j~L%qE3r*}ipldB#Cksi53;+9e5R3wGvAZKhVzHI28m3l=fdkdNg`?{ z5j)SLUPSA0kZqenqBSznWjsZ=kZ&r%FO8vJe|j<8noM4~HyeE6^&E`g$F*w?{iyDa z8;!n&+Za~ISTtVY(~9Gd8Y^fIX%Vw;>*izo=mcnXHQwPFuwFlHfpp zU7}u(Ki~6J6*{Naw^44}VDRyw?Yyb*WNEK!QINpw;?s^Y#eYF|g<9JF7gT9x_0$ z+$&Hs;-)l6>>4Csxwutkkuwe^v`QylkfHchOAnB2cbxc&tpqsiL_XVhL6kl0K_=vx zv=Z`}bt~h9Sv7K2vS5Izac<0a(h*#HWTmqg;NUhSHQ=IvsIeP1l?l>Q8m*pV9eH$< z!Cq!dU1hC=p=4-5r(IC3)5fBG*o>6(+H<6SvRT5iil&N&1gOjP2S=c0Xi>YeD!In9 z66BEK}5mmYUASrjX0tGTb;x>AkT%cWOY1rlBEY)ti zm>XgLica(?FViFG?~KDzRXdqh=SyfVMh81?iOA`X4;=L-zsXvz)Fo|EhU_>a@yXUn zEw5~;qfDFMDW*CffY&1hQris1r930ya`OU;wNyI{UXiwd)iOhd`&U^Je(Ms!SECfr z_I~`k)2pL*1JmEx3zu?sLvyseQG&+AcH&fVTV*1RV3et zcvG8$ZWy5Z?$vM@c6{&z7U?^fT;^q;ouDtJ^awj48a4j7U}L)otO|N6);ZK<$qGK=qr0v8`|Q(X=0`0dHP4VpYcS zMsBH6WO8T&d7*{C5Ka-s`;;3xuR3J0VctqIFiC;!#LLL-Ye9VPg%i*ZqbW7=IiNv< zrr^n(T+ADqm83H8Z19jkP=^EdTF4MmPb7FF0umz2;OBO0kBQD% z;vreh*}jaEER!<*GoM8WvojY|TICR!%AfF5+MZY)Kl7=$F z4|~0BUOsyYvbWa-D?K+LLI2NT7KI{9IxW9qMHdlB7g@-|H3=+p~Set%z!Hm&P8mXNNs{cu0Io zZW<6%QHA~JPUGJDTrYI$JCn1#H>1Ihx}~jMia*DhP4*DTRAvxHbH22C;6gEV-mK+; zjoxDKjR4ybO9gLBJ(%f0QcVLe$x5e;&GxcJP9X0SK`rp*=%ezvZ8)uE?~T_A&{{2gCx-J^ubhd45Z{D71=N^^a8XJ z|FBW4llA)(sb{(#wpC#=<oD!-lfw7=SU|2DHvbve&>oKex<;->5G`q4Pm z-*csZU18(@ZRwqvdjC$e{v@PdXD9g(H~QfuUzdQ=x9j)ZT2pvx9P&tDXyD)aTG# zo)|^EH`_@tgbL;g6&g-7YQLYp;*m{1?s5WL+IWArVeJZNNgTkNobqUbIfdl}+l`?p zrLq3DSJqeJ=XSYc7?0m=bc<|bB20bcY~b}1`keL-;h^N;w(UqM+rKPtAMufMGbY1m z{dqnFcrOL3jsu!MTd9;c*o>=JxtyueXg3)(N&^nl(IV;NSIW=L-lSN^M1q1us_{@+ zJI}De3&Z${i;KHZPf-EO$1!gapNE4}p4`hA!}GbP$Fdd&G7k%#v&lAEVyrs_-bg1LH1RkpurtR}pC6AjB;88_Wmxwh86PfU#$tOAw=`|W zg{XxjFA4|Ibb-FMbkdgQlry-dRTENp=F;8>)oI(}K0i_$v5lm>gAp4KJ<@N!4Z9}z z{6_z3C_5}%m|MZAh^*^8IykExQ}ND9qgPe@ztva&F5Uk7)!^K|Y|4%Q(uw!!SA)>6 z*zZvRP}Yl)*G#hTQ`A(G#yM#5G`lo0-z_{r=4#4NtE4Fci+)1f--J>+UIpemH(@U? zn7UWgv#;;8!8M)aar1M;o3)lq&t8-5Zj3M*c8}o{>m`G|^dKsWndSv9*8s1%Ox@xw zIT{Z`6v!;vp+mw2B$M}O>G$s4LQRrCC)}u!qCYOtMn}2OIzMyaNibj$MW*IJa$W|Y zvY!qh{L6kY^hPa#ZacDq%R0CDT5~Xfii_INkG2AqZ$0qDAZx_8nmD&-!xnhU;V!o; z!Mb#GsV^*;MZXqEkcauGq3#AtU-%YFmn*UWy@M;#nE`0hD<3c#EyM$IuY-XvQ)*#r zEgO6%@092|wX^oQA{b!N^LokiC{ac$bUtGkU+81BeE*}Lc`!VKpvt*A?Ixo{$>4$a zu!3M^qgHta;>m&*hABM!k={Dx} z88jYbU7W2EN1BETX@|}y&c2gFzilkSDjf$j2>*}>QPu;8t&jTVgSH@EdG3e8(~_+o zj`0hn#tO`tKFU@GpNhc;#~e}4V)y%2ADyZ%$DIPkx6*I}nzp(he^Oj}+fBz7Y()}l zZmCyS+BRy`dBegwn(j$ku4Lx*URyrL0+kB-#VwXfV_m|R4>A{u;+SG=xOKz6123G$ zQCYesF}i+^V{3^qj0w!4dI7=1IT>x;U*>ueltsvA9ZQh0`OoRqTb~eCq68zl229yR z9>cGrv`E66Qopl^R!I(`Q!!P1)64hGxDHpPBCf2Euhe&m`ll*^cx9pVf4(Y~}{?XfD`GRCW?O)A!|HKs2B=2uZqW-Tu z^-sSKd#X!f@9P=jrdcoZDV^88gBb!Y_=5b-NJF3EB!aZHmdD<25!h7N?aal6w3*Va zW{{kZ@?o&+eu`!O7PwSMKGczSh<&c zXinV{xJ?#&k2F>IIVdNy9{HiF0#k7=8v8~lep6*0)m}s(;}JejGD?opS?~M|8%()M z=$@05x%u6q_;YR->}Oo0PDi0W_UPaZn(@&BLjG*i^S9I-2tjIAhMar@xZs!_A|OKw zJu-G1*Pkr57UYory_viudX9vxh>A3?f}1RPf#1zJhL=sm5Vh2(=6{!6NHU(9Duh!`eVk+xyi+)p-V$`ioX2pFoeqaVLhpD4xh8LsORD2DrS>;Wm|(%MNya$W=i+XVsW#ND%e+LMwMb?r9zN}#u#w? znG-t&rz*`kG_>?yad(^Rfm%i>KblbnoLLMeEQ1ze)_4PlR=q`pfqDE*KQU$8_Equ5 zJtL*|Ptr=ZnJX!06%#*^!MJIiIXEI9tk$0c&TCO-9g;tta?fYY9rXB!M#HRtd-0> zm@8edHCFl|#|Nx({=TQ3Px3FYrPe^#-q{g$q{X)`X=JY#-ii7t6eUfx`tl|+y^055 zyhcO(^3=(#=qr2s$%%+1H_XqsJUbqwWn&C%Q^R~odo{`*byf!J_0oE2g~jNKH!iws z1gpD~$kT{2m?#;dESKvE4JzMShK6Ji)us2mww_vUJFdO%q3lbwi2*>iW$AeFE?&eW ziYF=0$g@VvDqR8q(BfR@f2KF5m^0VG^6;m-?Od% zD)3H*$*^^|5w^n@5_U-G5t&^#ZFRO(pBLXu3@Z(dRcNT-X_p!lXjS(?f>Ngm+cT!Y zk+zVKaMh&dH$a~pZzTE=3$c8P(D#CM1&b4|!W(bJc`kP=6f|M`h1H0Jqp$`EF>0=M zeirYPv2UZ>oTlBD8^igEPoHY zo}Xh}@LlH2`d-<8OeOF_n-Y`Kv7TE?&z1K`l*UvBF}Fy?=gTm|4|EOKS@Il-^H$rx zu`5~%`L}HGiVRZS{YP1Ni?*5^P`}w+ROx0CC^>%)(wP$n{zxw# za)b7n`q|`KODnY3hC2c^rT4}hUuKv$-l**R!+P7O+j!RG1MS4~Xwm_Em0QZxh9Aaf za`S!P)uX8rV-a2k5|LFeCy1E2`&Yk*?^ayt%a<=<76-uTHDWrpcRm9a0ytB8Hqc&c zq-!Sho~ua=bLhZuWh1L)ltK%KrHB8e3Uicc+Ebm4liLFl^G!kqF$OZ^u~9_*O4mJs z@UmB-MBL(-Tc(lz^aT@&sm)d4k1ao`(bw|t)bKD?aQMLW#%$^4StG|QzCw#D_MYnc zmR?+EDspUHd_cZF&uN%Y8%McIWdh2-bJis6UOQ%$zXtEfvsV}D?#-Hf(8zr5Q|Tr4 zkQ3uLmq@f_>viBiVf25ycK`ZsKz(*UQjz+n#1sDgJn*?4jSl{|!*Em)Uk#9)XcTK$ z%gt%{YR_)N)y=N(H3RVAy&_#oKso$;d?~vgRl+ios^J=jeci#Ei|&+ z^dT|C|L}Fm^#SHA=i$ydQHIQFF*@601Xyx)awD$PdVIk@HV^gAA$QgY;2XMP23h_V z161}XM147DhyJm;jICNq=9AkI3egUi-cP5aDlOB)E%znkKM41Q`vr{n`NeHknDLaJ zFa=oNii(p7j_@IdeQG1zEEyxjJ%30rsH#qgzM(A>Vdb=`Mik1(paV2nb?F#c?FU=z?Z?~P zA)hYDsW8`pGIXo@%q(CvGRV!JE8`K2AyLKjT2IyX1MYlUqa+Kfd)^aB;V zzD<-Zx(`c!c)rfLMR-n8`i>EMdoTchzL7rrXS^cPdQH*Iat=fLM3hetrrl^9Bi27C zC9EsK3l`&1Z7==*X8V46N2cK-V2b^krT; zS$2_NH8b$7B4OlHRx^C-OL6;dV`y{06s<*4FZ_$`Hnzu1Jorm7LuY_6vQo95u=9lJ zMbi`&gHo*CYg>VfF(MA3!Aj^4`Q%nis#txEd!`0pi5|0Ct_B$e!3a3bdSQ>TUyw~X`paNC?D zSoi3m&bK%}w_p#=6+6Mal~D!euoDUD?X_IkdIeFIY>hl_0^F136k!&&wkg1%$j_KW4|0`)G!Eph%o|CsAXa)Z-tSf`48XZ)f;H z@6609R(tQ69U*i^FkShWot^82y;Xi0_Eb>v7MaW!8tcZx z(ZqXL25#eW%^tuzY91L~zK^@){-`WI4RnUUs+^_g@Tk<0E*BI#@%>(&eix}vMk)CU6DIDXw z>R@cCo|let1+X}(_=4D;qC)&<>SUqP-XY7!jsZvQW_p)u6!A|{)O-~gXVUNfxzyUh z&9-&}_HS)~ds`Zo`k8OsdvOyFA;Nxb%0Lk)KlIFkv;mN3n|I z?Vya|4xYbDvfpXY5%hoTxNx*z-dPdpKkKq*{o=nq{I3SPf1>d}uZa)-3eZ372yIya zxjoA{Dbg@Dit?+LUYh_Bli!(%Jw{a#8gEcUG_Icu>8sZap0i>b{BaKOs*_3R zKz#|+eYPr7x9~QmyG#VxnLUK?upLIR9~&}mu&_e8FSC#?-d7Z@gU*9izZHSHKZ(e> z7QYijY#n>KwSP}H>Ny?<+xk*7ASSTFw;-|6+n1c3|mc{+_6 zyx6-z0y>JbTq6_AEA0_Ijzh$od2RCFUCcLfQ|fM+gMIYb-gG^-gho{$Dp0oR?=%Zl z-kYz#6-vJI3eh_+9&A!vP*|)dAmw@Zo{flkKr@uQe1Bs-jb^p#wMmAfkzg?Y)=3u7 zoaYU+_4?TukXlQ!PpCVeEq(}HoIP@#u@_0Qe2nqAXZwC6@V;Hr@+dA6z3(+RXMXBQ5DD!Y*s4Hc)4kui?_h;3P_z5@qvMU1W&lO_*7Kk`& z{n041#_a}R@ZCS$%`$}Mjwv#~RVO$!HxJTflI$v*LRw>c7)|2MApYqQFB!^MnOjcO z+X+FCJlUb9BT-Jv!=YRtn=)C?o?0ZfmPX@5h?ml*woR@? zui&gZ(+ER6(L`eJ8s9oz8Y@^%X8$bjK~I%TE~6!#B=vb1O!68)Lu3*l=xqbm%wZ9J z_JI|Enk>0mcbm*E=L!LL{|n!zA*b{Q2bo3+8W6uC9>84QBOfJtGW&Ce$(j9kS;C*t*8LQl(iG*r9TR()^QI4+HP7YxA~K@VWp(y zg^3q$dYx5d?S+A+O*ewMK8~FzPN_<=tUt_yaXFt&fr{`f-pL~rOSc4+k*Lh{05>3= zaAePA{_i$}X;0ADdy0}5!X-d8Q900`QLLcLbCgyt-;vH>LQtboz(YgE3QdUNWR+Xl z)Mmijr^gVk>y_Bg+pMJvU#VpFvMAKV*mW+w2o0tQlgI*ihrQtwxoHCK&WVLG!U(># z;TNEKmnu0Ox9yZdYK=uk_FCa%^Lel-dcmn^7jX3X;%c1D1>Wr{<*5BdXs_=qTgulO znDW=s`p$DLHFtXMIHn$4q3zPDfj=y{t%EHg!Zw^JMouDgP$>S&QGc7sJn?VHEPakz z#kjz9MPzTP&945SV%~}`F^^0*&sdX6lC~bS6U7l?{ubgh9}irE3q47W2Xfb zop`NIIN(vb;%EIsGz^pZ7*?O>sMpuuVf!n@+e4-D+hfeZtQK*Q`aMi{uE8sQ=JJIR z5?d~Y>CZ~M=*EFax{-bIsUFFc_V{(0|7Ajo^DL;A6DJJo5DAX&b+>m^k4wRe=^LkcTV{e zspWsQ-LXIkr|E#2o@)91Yd<+kBYTF6M_n6><64H@mcrz(K0VJUx$_qAX3~>hKDrz^ z|H)l9k@(HB!vZ$x>Y;Nw6XNFh!&9csShBJGlObV*L{+Km{zN1Na7G`c{&Wl%%Nru# z>r8$O3|eo6M}L6D_-RncAaAAm5n67DN3i&c@IZawP^VsR=TL2b=iY_?lDvPQZ0xVzXxTpl=T>Sxw`UM zgZ^@6<$G`97K?0;&~PurVOMV4v}-D#WPU^UdaDmI2R9ANLTlyi@=6CCIG_VK6$(bo z)VEZHNglc~+)KU!V7xd7x)=XU@9vW@&h01hyi~qFD7L?RFZ7-KsJdS@PnzClWt(0R zbM?g&cYd3*mEu9RXPT{6!SWd^F!C7_;PS(BUv|aLd<2Qcvvoc7iY!_N5BjXK_)3jm z+cXFrsoU3k)7#+>Gq`Erl5%IK>HI&Wy?0cTeYQPLIvqmq(mT?73m8C<5_%OPf>fm_ zh}49l30>($2t|7DQiBFi6anc{1Z)T>SSV8Dmv`pA_s%;rcfNP6-+KOd)+g{J3)VV0 z=j^lhK9=V1S6hZzQ;w1Kr3-|5CORhx3%s#%5e7eW4qy-jIL&H}cUspzypcowb=d}= zHkikM&5Q}>>IL>)?wmd+i@D+{ilec@cSbxI9J=R*2{((p(z2Nu1;2HHj-p0G3YPy? zr6Cp4_>~oQyw56VxP-!F0|nrW440fG786p03AcY zr;EVpF|OZvt1m?1<6P$syf7ACd#l5)LM5lVjKYTajtAZ&7e+YrEe(CT{N~@IyM`T7 zR(X2CwwG!VmNmY(Ulq2LA6{5;3nk^gpla22%W%Ir`%x&Sc0siZ|A)bG86v>+f@jIX=UQ zvN$T!w&$YRb?p>JX|zpYckgpdAYpH2Er9j;<(Q&&CLCaod5|c%Gx*FZjfi9FtZuO< zW`4IHeEDD;N2S|GVZGG{U1Z-FWEBGijW{wiKyWlU?^h~hNxTd+xL|}uRLW{JS~SSs z1?^#fy0@C2l&YqCo-Y1nI3%=49W3a!z&KJ?L2(9C)SEcH!haI2=)N-}$^TQOJ7hp7 zC}Q8Av8jY9_p>#}%L76-e$lh`ga)HrK+RONNR3Tj_C&mY^=-B2;DR9e8~mX;NZ#uf za$VG;X%4jPD-2FMy2)UUBU1 z)-n-2_rjUKLweujL-=m|GI3e{RJHWF7wgNP6LCrF?d^Ptr}_R!8k?GAdhzu;?Od~_ zz_B+4h?LR*yy2(-%6Ne`QCtdtcNDps6U-<+8brtSJZU%@GAzQ0_;Qlh)$@TnEb|}B(+NQ=K$0LA&oEpowOU>UJjAx)+^psHBb!~?D1EEU_37B{Xw7S{3qh1yghUfk=~5j9tpKh}R>v zZ%^Gb-L+DVn{LI&cWba-hg*u_HENi4hRd;j_5GMnbVEz&$?#7PX0eGDL@!NNl545X zfS#i)>ZHCA(dS)GpS0uHai*yuabqg%{OnixNmYiMd2F(5_Y{CLBs*)%n zS^Fpwn)qD~=6>yxq@O8cvy3%0Tj?{4)0d#{Nn*2-vxi=UTXlE2vcL&j+59H+zkz?o z)L%=n|JTVN2|!OQyr;(U@5n>{1yYFLct>&K#)GjAh%2uA1!v{b1<@63B0hyesE=oQf@Z^Ae!{pjxprPFnCQ%!F;l+{|)V_NWu9zaMUpC4J%DunQFJ zYEmyy+pdCXj*L(Yn0v1U6yqR|R$>z#>0s`Bcz{!%p+nyqQk&>~?S(p4-AvPsf&tE%l_3J?8GYnKVT&J;@gbKo3ldsMP~H+P_N2bL z8eJ=QWhVR^Pg?ZYntxNoBdo&=KOOB(CjNClMr8fePo`b(2YZRUAXB@jl*Ql#aEB=S zNEL1^Sw*ZMvZEaC(6M~bqu=*CIfbd5RA#qc#mf}A>z=;@Pkh;9`I2|@Io+*`{%xMM z6;{8$@*;3d6fPullMXFd=%)e9rE0SC#Z$`lPI1V*31OT!vd!$mOHhf()Bo4fXbn{Y2&pmyA_A3H@C2E*!p05~R9QQ*%k@AHiPCs)W^7os|wB8N% z_^?`ZSA{a5NUtMB;@*=TY{2h(s|c+By1VLR-Gd(@DFm-Ij?$9cr!D*K6Tb5Go-ryo z!8To%VW$fcqWY+(-9xej?_)RYYf)KW(IO+iBGzYP8vBi@=PJV+{;e|aFZCbcf9sn5 z6?FKoZfb`Wlf|V2&^_ZcII;RHUo|TLY1^!TwHoaD$Q1j7rA8cy(`(n7O2L^<8oK^#^eMK+v%>&TbPddZdH=}o=!^pmd_Q;W8lf!}ra8^x_K zS`YUFGmMsC8BkqeHu_$u-9Zw#|8zgD$tMXn)+&nWOZpglxo?FDTgHUlnRQq_Sm$v# z^M$RkgaGDs`WUv)oda<5X)^7n%~A~Hbgb@2$*!+61qAK{i3J|H-wD)ekqlZ3=M6mi z-ncq_`i6uzG9%82)f1N&$qvmuGJ+t~Cx3*xuDZzO95p|DR^0OP!qFNUtI@B7nq zDXBwwa&L0+IIUjbDP#urRxX2I7-@@S??o}#g-m#3c{HL$XG1Q6i+D@1Q3W~i7fw}) z?MvFLcE3fM0v=wJKGp`*)g@=!T8R0dDa0nEjG^b-svUH~GeWZ6-RG+Gq7B{m zG!Ci)tXeJ=OgE1S#fiPZ@ELG0mveXiprjOUprv?0sVG7G2KwSmTKr9CR@1FrI#bpi zHn&AA=9%>10rH_8n!oCtogOdPi4wX3Sm_&2QIkHiJ@pJzzD}cPX z+6sML_(_VlNa$9J>+Sn1-UjdulHDx2DRvNQwz9N0r4WEys=`z>6VegHx z1N64qKn9PXq^M?*ED=B9kBG<@gpwBOpVATBTAI~N-Iq43g%#>6b?Oj4V-vr9=7`QC zPmsecOz3Zvs;CAVGWg`B+;*1UVtZBA^5SE_8}UyFd69JQau;ZWAj-2Riy2+3*5ITP z^%{F=A&1zxe|z19ffbpA&VVSZFkW|xg3t{qUsSP(tW*eqnOI8t;nXr5&P+b+BxL@s znkKx}n{-vC^2CS9{GlBB*NgDp=;!mlXQi8}ze8(2h5iX8{FNd1*VBW4L;pTer6+Qw z=wc-6-SML#Z?P>QMR8o$-wiSq&^`$Q(c3= zSt+pP=y2GP-I?ip8ymB;LVW?i^lP38?dNRpaELLK89I!eEYoEYG8&+`V6*}gy0;>F zZEt|m?x*2k-v#0tRuLzZ6oKWnKAFVX2!>r_+STTQsq{Xk>0Mb8|1*8C2^y_ zO!3A){efcK4cEqLaheyp^{^L4sqkrkg}&0=G;!%)q;u(Ag!3eGA>xhbpkjOskWXJN zU~8&#a2>c9c4X8GZIqUVoXaE-I;PskbI+jIf;bTN0lA6$N3SuSO?!rTT@`cmd{g zNF|O%xEi4}Z7m=SRZWGrz6Api7{1i+@60y_!r8BbBl8*mt_vT@p9Z z6_nwxnD9#DtoBoQpk|21VWxb-#TYqY`HBw==w=4f zJ7)yH(&!iK5p^Zqn!=pPQmVF1h$Y#ol*kX4aw^KWi#fenil`ue{Io>L>co9-xuAE> ztDk?RHWjqO$~CuvH*YTs4ByeBNOI}}Tl-aFf^1258k -jmsJ3)S+O@0J44*B+{( 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

                            diff --git a/src/style.css b/src/style.css index 68caf926..f2e7784e 100644 --- a/src/style.css +++ b/src/style.css @@ -105,4 +105,12 @@ input#load-image-upload { #resolution-display { margin-left: 25px; display: inline-block; +} + +#github-icon { + position: absolute; + top: 32px; + right: 32px; + width: 32px; + height: 32px; } \ No newline at end of file From 6f36e29fcffdc6e1343317be4f4493188163755b Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:06:15 -0400 Subject: [PATCH 068/102] Added more comments to script.js #9 --- src/js/script.js | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index 513adb84..27d71715 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -35,7 +35,9 @@ const set_weight = function() { } const select_weight = function(x, y, deselect) { + // Get ID of appropriate weight element in filter kernel visualization var id = selected_weight.x + "-" + selected_weight.y; + // Reset border-radius property of previously selected weight $("#" + id).css("border-radius", ""); $("#kernel-name").text(kernels[filter].name); @@ -51,18 +53,23 @@ const select_weight = function(x, y, deselect) { // Set kernel weight coordinates to undefined selected_weight.x = undefined; selected_weight.y = undefined; - } else if (kernels[filter].kernel[x] != undefined) { + } + // Check that corresponding weight exists in filter kernel + else if (kernels[filter].kernel[x] != undefined) { if (kernels[filter].kernel[x][y] != undefined) { selected_weight.x = x; selected_weight.y = y; } - } else { + } + // Assign anchor coordinates to selected weight + else { selected_weight.x = kernels[filter].anchor.x; selected_weight.y = kernels[filter].anchor.y; } // No weight is selected if (selected_weight.x == undefined || selected_weight.y == undefined) { + // Hide kernel weight information when no weight is selected $("#kernel-weight-position").hide(); $("#kernel-weight-container").hide(); $("#kernel-weight-label").text("Edit Kernel"); @@ -73,35 +80,47 @@ const select_weight = function(x, y, deselect) { $("#kernel-weight").val(kernels[filter].kernel[selected_weight.x][selected_weight.y]); $("#kernel-weight-container").addClass("is-dirty"); + // Display kernel weight information because a weight is selected $("#kernel-weight-position").show(); $("#kernel-weight-container").show(); $("#kernel-weight-label").text("Edit Kernel Weights"); $("#kernel-weight-container.mdl-textfield__label").text("Kernel weight at " + selected_weight.x + ", " + selected_weight.y); + // Display kernel weight coordinates $("#kernel-weight-position").text("(" + selected_weight.x + ", " + selected_weight.y + ")"); } } +// Round a number, given a precision value const round = function(number, precision) { return Math.round(number * (10 ** precision)) / (10 ** precision); } +// Deep clone a JSON object (excluding methods) const clone = function(object) { return JSON.parse(JSON.stringify(object)); } +// Find a kernel given its name const find_kernel = function(kernel_name) { return kernels.find(x => x.name == kernel_name); } +// Randomize values of custom kernel const randomize = function() { + // Get index of custom kernel custom = kernels.findIndex(x => x.name == "Custom"); + // Loop through rows of the kernel for (var p = 0; p < kernels[custom].kernel.length; p++) { + // Loop through weights in each row of kernel for (var q = 0; q < kernels[custom].kernel[p].length; q++) { + // Set weight to a random value between -3 and 3 (not inclusive), rounded to 1 decimal place kernels[custom].kernel[p][q] = round(Math.random() * 6 - 3, 1); } } + // Reset kernel factor to 1 kernels[custom].factor = 1; + // Apply custom filter kernel to image set_filter(custom); } From c801efcf3fcf718197017adeeb98c7ae3e087b35 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:15:32 -0400 Subject: [PATCH 069/102] Added even more comments! #9 --- src/js/script.js | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index 27d71715..1d34f67e 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -1,3 +1,5 @@ +// script.js + // URL of currently loaded image var image_url = ""; // Current filter kernel to apply to image @@ -5,11 +7,13 @@ var image_url = ""; var filter; var iterations = 1; var automatic_update = true; +// Coordinates of selected filter kernel weight var selected_weight = { x: undefined, y: undefined } +// Map number in one range to another range // https://stackoverflow.com/a/23202637 function map(num, in_min, in_max, out_min, out_max) { return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; @@ -22,15 +26,21 @@ const update_settings = function() { } } +// Set weight of filter kernel const set_weight = function() { var custom = kernels.findIndex(x => x.name == "Custom"); + // Clone current filter to custom filter kernels[custom] = clone(kernels[filter]); + // Reset name of filter kernels[custom].name = "Custom"; var weight = round(parseFloat($("#kernel-weight").val()), 1); + // Check that weight is defined and is a number if (!isNaN(weight) && weight != undefined) { + // Assign weight to kernel kernels[custom].kernel[selected_weight.x][selected_weight.y] = weight; } + // Apply custom filter to image set_filter(custom); } @@ -39,6 +49,7 @@ const select_weight = function(x, y, deselect) { var id = selected_weight.x + "-" + selected_weight.y; // Reset border-radius property of previously selected weight $("#" + id).css("border-radius", ""); + // Display filter name $("#kernel-name").text(kernels[filter].name); // This seems to be the most efficient way to organize the logic. I spent an hour and a half on a Saturday night playing around with it, and it works, so don't mess it up. @@ -126,17 +137,20 @@ const randomize = function() { // Change resolution of images const set_resolution = function(func) { + // Get resolution from slider element var resolution = $("input#resolution")[0].value; - $("p#resolution-display").text("Resolution - " + resolution + " pixels"); + // Update resolution indicator text + $("p#resolution-display").text("Resolution - " + resolution + " pixels"); + // Update resolution tooltip with area of image $("#resolution-tooltip").text("Resolution set to " + resolution + " pixels by " + resolution + " pixels, for a total image area of " + (resolution ** 2) + " square pixels."); - canvas_width = resolution; - canvas_height = resolution; - input_canvas.width = canvas_width; - input_canvas.height = canvas_height; - output_canvas.width = canvas_width; - output_canvas.height = canvas_height; + // Set input canvas width and height to resolution + input_canvas.width = resolution; + input_canvas.height = resolution; + // Set output canvas width and height + output_canvas.width = resolution; + output_canvas.height = resolution; load_image({ callback: func }); @@ -461,6 +475,7 @@ set_resolution(set_filter); load_image({ // Select a random image from the list of demo images url: random_image = images[Math.floor(Math.random() * images.length)], + // After loading image, apply sharpen filter callback: () => set_filter(1) }); @@ -472,5 +487,7 @@ const resize = function() { }); } +// Update element dimensions when window is resized $(window).resize(resize); +// Or when page is loaded $(window).ready(resize); \ No newline at end of file From 54283f737684e02d7352ccc471f1549e5ceda2e8 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:27:00 -0400 Subject: [PATCH 070/102] Create LICENSE --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..1cdb7660 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Image Convolution Playground Demonstration + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 429c20fcf2945c18754d2a68435ee32dc4cd5d38 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:30:51 -0400 Subject: [PATCH 071/102] canvas_width and canvas_height must be set --- src/js/script.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index 1d34f67e..bee0e92f 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -145,12 +145,14 @@ const set_resolution = function(func) { // Update resolution tooltip with area of image $("#resolution-tooltip").text("Resolution set to " + resolution + " pixels by " + resolution + " pixels, for a total image area of " + (resolution ** 2) + " square pixels."); - // Set input canvas width and height to resolution - input_canvas.width = resolution; - input_canvas.height = resolution; + canvas_width = resolution; + canvas_height = resolution; + // Set input canvas width and height + input_canvas.width = canvas_width; + input_canvas.height = canvas_height; // Set output canvas width and height - output_canvas.width = resolution; - output_canvas.height = resolution; + output_canvas.width = canvas_width; + output_canvas.height = canvas_height; load_image({ callback: func }); From 56d6e36fc22967f7e948dcf212cf0281e5ea9a61 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:31:13 -0400 Subject: [PATCH 072/102] Added usage instructions to README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index c4cf9bfa..bed7c727 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,16 @@ Check out [this awesome demo](http://setosa.io/ev/image-kernels/) by [Victor Pow This is an interactive demo that demonstrates how filter kernels can be used to apply various effects to images. The demo has a number of different settings that can be adjusted to produce different effects +### Usage + +#### The easy way + +The project is hosted at https://generic-github-user.github.io/Image-Convolution-Playground/src. Just click on the link and it'll work. + +#### The hard way + +If you like a challenge, you can run a local clone of the program on your computer. Go to the [GitHub page for Image-Convolution-Playground](https://github.com/generic-github-user/Image-Convolution-Playground) and click on the green "Clone or download" button, then "Download ZIP." Find the .zip file and unzip it. Find the `src` folder - inside it should be a file called `index.html`. Open this in your preferred web browser program, and the demo should load. + ### Settings #### Filter From 4733e7a3424b33161d8988449bc38de911f006b5 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:34:38 -0400 Subject: [PATCH 073/102] Added utilities.js --- src/index.html | 1 + src/js/canvas.js | 1 + src/js/script.js | 16 ---------------- src/js/utilities.js | 17 +++++++++++++++++ 4 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 src/js/utilities.js diff --git a/src/index.html b/src/index.html index 71364525..bdd8772e 100644 --- a/src/index.html +++ b/src/index.html @@ -174,6 +174,7 @@

                            Load Image From URL

                            + diff --git a/src/js/canvas.js b/src/js/canvas.js index ab580c1d..c0db0dff 100644 --- a/src/js/canvas.js +++ b/src/js/canvas.js @@ -1,3 +1,4 @@ +// Get canvas elements const input_canvas = $("canvas#input")[0]; const output_canvas = $("canvas#output")[0]; // Default canvas width diff --git a/src/js/script.js b/src/js/script.js index bee0e92f..64828c85 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -13,12 +13,6 @@ var selected_weight = { y: undefined } -// Map number in one range to another range -// https://stackoverflow.com/a/23202637 -function map(num, in_min, in_max, out_min, out_max) { - return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} - const update_settings = function() { automatic_update = $("input#automatic-update")[0].checked; if (automatic_update) { @@ -102,16 +96,6 @@ const select_weight = function(x, y, deselect) { } } -// Round a number, given a precision value -const round = function(number, precision) { - return Math.round(number * (10 ** precision)) / (10 ** precision); -} - -// Deep clone a JSON object (excluding methods) -const clone = function(object) { - return JSON.parse(JSON.stringify(object)); -} - // Find a kernel given its name const find_kernel = function(kernel_name) { return kernels.find(x => x.name == kernel_name); diff --git a/src/js/utilities.js b/src/js/utilities.js new file mode 100644 index 00000000..9ded84fc --- /dev/null +++ b/src/js/utilities.js @@ -0,0 +1,17 @@ +// utilities.js + +// Round a number, given a precision value +const round = function(number, precision) { + return Math.round(number * (10 ** precision)) / (10 ** precision); +} + +// Deep clone a JSON object (excluding methods) +const clone = function(object) { + return JSON.parse(JSON.stringify(object)); +} + +// Map number in one range to another range +// https://stackoverflow.com/a/23202637 +function map(num, in_min, in_max, out_min, out_max) { + return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} \ No newline at end of file From c6126d90e662eb76ee6acb58ca2a1da75bb20a30 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:36:46 -0400 Subject: [PATCH 074/102] Added variables.js --- src/index.html | 1 + src/js/script.js | 12 ------------ src/js/utilities.js | 1 + src/js/variables.js | 15 +++++++++++++++ 4 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 src/js/variables.js diff --git a/src/index.html b/src/index.html index bdd8772e..6a5fcd39 100644 --- a/src/index.html +++ b/src/index.html @@ -175,6 +175,7 @@

                            Load Image From URL

                            + diff --git a/src/js/script.js b/src/js/script.js index 64828c85..5db466fc 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -1,17 +1,5 @@ // script.js -// URL of currently loaded image -var image_url = ""; -// Current filter kernel to apply to image -// Default filter is 1 (sharpen) -var filter; -var iterations = 1; -var automatic_update = true; -// Coordinates of selected filter kernel weight -var selected_weight = { - x: undefined, - y: undefined -} const update_settings = function() { automatic_update = $("input#automatic-update")[0].checked; diff --git a/src/js/utilities.js b/src/js/utilities.js index 9ded84fc..33589e9d 100644 --- a/src/js/utilities.js +++ b/src/js/utilities.js @@ -1,5 +1,6 @@ // utilities.js + // Round a number, given a precision value const round = function(number, precision) { return Math.round(number * (10 ** precision)) / (10 ** precision); diff --git a/src/js/variables.js b/src/js/variables.js new file mode 100644 index 00000000..515fe92f --- /dev/null +++ b/src/js/variables.js @@ -0,0 +1,15 @@ +// variables.js + + +// URL of currently loaded image +var image_url = ""; +// Current filter kernel to apply to image +// Default filter is 1 (sharpen) +var filter; +var iterations = 1; +var automatic_update = true; +// Coordinates of selected filter kernel weight +var selected_weight = { + x: undefined, + y: undefined +} \ No newline at end of file From 10d0789669f16bdfd11d9fd33e89211b4bf0ee04 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:44:49 -0400 Subject: [PATCH 075/102] Added sliding transition to title and subtitle when header is hovered on --- src/index.html | 4 ++-- src/style.css | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/index.html b/src/index.html index 6a5fcd39..bafa0c7c 100644 --- a/src/index.html +++ b/src/index.html @@ -15,10 +15,10 @@
                            -

                            +

                            Image Convolution Playground

                            -

                            +

                            Experiment with complex image processing operations in your browser.

                            diff --git a/src/style.css b/src/style.css index f2e7784e..be5a467b 100644 --- a/src/style.css +++ b/src/style.css @@ -28,15 +28,30 @@ header { } header:hover { - padding: 1% 4%; background-color: #FFF; box-shadow: 2px 2px 2px #CCC; transition: all 1s ease; } -header h1 { +header:hover>#title { + margin-left: 8%; + transition: all 1s ease; +} + +header:hover>#subtitle { + margin-left: 10%; + transition: all 1s ease; +} + +#title { margin-top: 0; text-shadow: 2px 2px 1px #AAA; + transition: all 1s ease; +} + +#subtitle { + text-shadow: 2px 2px 1px #AAA; + transition: all 1s ease; } .full-width { From 448deac88d4e9c53b02ea2a694770fda07bffa43 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:51:15 -0400 Subject: [PATCH 076/102] Added script loading console logs #8 --- src/js/canvas.js | 4 +++- src/js/kernels.js | 2 ++ src/js/script.js | 4 +++- src/js/utilities.js | 4 +++- src/js/variables.js | 4 +++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/js/canvas.js b/src/js/canvas.js index c0db0dff..e39ccedf 100644 --- a/src/js/canvas.js +++ b/src/js/canvas.js @@ -16,4 +16,6 @@ output_canvas.height = canvas_height; // Get input canvas context const input_context = input_canvas.getContext("2d"); // Get output canvas context -const output_context = output_canvas.getContext("2d"); \ No newline at end of file +const output_context = output_canvas.getContext("2d"); + +console.log("canvas.js loaded"); \ No newline at end of file diff --git a/src/js/kernels.js b/src/js/kernels.js index 5afb6d8e..4c64bb63 100644 --- a/src/js/kernels.js +++ b/src/js/kernels.js @@ -63,3 +63,5 @@ var kernels = [{ ] } ]; + +console.log("kernels.js loaded"); \ No newline at end of file diff --git a/src/js/script.js b/src/js/script.js index 5db466fc..4db7fb1a 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -464,4 +464,6 @@ const resize = function() { // Update element dimensions when window is resized $(window).resize(resize); // Or when page is loaded -$(window).ready(resize); \ No newline at end of file +$(window).ready(resize); + +console.log("script.js loaded"); \ No newline at end of file diff --git a/src/js/utilities.js b/src/js/utilities.js index 33589e9d..6f0e84eb 100644 --- a/src/js/utilities.js +++ b/src/js/utilities.js @@ -15,4 +15,6 @@ const clone = function(object) { // https://stackoverflow.com/a/23202637 function map(num, in_min, in_max, out_min, out_max) { return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} \ No newline at end of file +} + +console.log("utilities.js loaded"); \ No newline at end of file diff --git a/src/js/variables.js b/src/js/variables.js index 515fe92f..e73cf807 100644 --- a/src/js/variables.js +++ b/src/js/variables.js @@ -12,4 +12,6 @@ var automatic_update = true; var selected_weight = { x: undefined, y: undefined -} \ No newline at end of file +} + +console.log("variables.js loaded"); \ No newline at end of file From dd65bf8abc217a8a919f5d6860ffbb44765f1c3c Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 11:54:44 -0400 Subject: [PATCH 077/102] Removed global canvas_data variable --- src/js/script.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index 4db7fb1a..88e0ec57 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -358,7 +358,6 @@ const load_image = function(config) { image.src = image_url; } -var canvas_data; var dialog = $("dialog#load-image-url")[0]; $("button#load-image-url").click(() => { $("dialog#load-image-url input")[0].value = ""; @@ -397,7 +396,7 @@ const spread = function(image_data, width, height, channels) { // Apply convolution operation to image data given image and filter kernel const convolute = function(image, kernel) { // Convert 1-dimensional canvas pixel data array into a 3-dimensional array using spread() - canvas_data = spread(image.data, canvas_width, canvas_height, 4); + var canvas_data = spread(image.data, canvas_width, canvas_height, 4); // Create a new array, processed_data, as a clone of canvas_data to store output image var processed_data = JSON.parse(JSON.stringify(canvas_data)); From 9606ed93e087981931607adc1cd1091b6bf134e1 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 12:00:46 -0400 Subject: [PATCH 078/102] Fixed #23 --- src/js/script.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/js/script.js b/src/js/script.js index 88e0ec57..ec2ae81e 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -281,6 +281,9 @@ const set_filter = function(kernel_id) { // Map filter kernel weight range to color saturation range var saturation = map(weight, min, max, 25, 75); + if (isNaN(saturation)) { + saturation = 50; + } // Create color string in hsla format var color = "hsla(200, 100%, " + saturation + "%, 1)"; // Set background color of block From f2aab1f05b4c5fb68087775a922e3244f8f9d3ce Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 12:07:15 -0400 Subject: [PATCH 079/102] Kernel weight randomization now clones the kernel to the custom kernel, like editing a kernel does --- src/js/script.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/js/script.js b/src/js/script.js index ec2ae81e..f6eecf8a 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -93,6 +93,7 @@ const find_kernel = function(kernel_name) { const randomize = function() { // Get index of custom kernel custom = kernels.findIndex(x => x.name == "Custom"); + kernels[custom].kernel = clone(kernels[filter].kernel); // Loop through rows of the kernel for (var p = 0; p < kernels[custom].kernel.length; p++) { // Loop through weights in each row of kernel From 3845ffa6fe9e2deff6368020721da2df64fb2f14 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 12:15:58 -0400 Subject: [PATCH 080/102] Added some console logs to script.js #8 --- src/js/script.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/js/script.js b/src/js/script.js index f6eecf8a..34d43ed1 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -3,6 +3,7 @@ const update_settings = function() { automatic_update = $("input#automatic-update")[0].checked; + console.log("Automatic update setting updated"); if (automatic_update) { set_filter(); } @@ -66,6 +67,7 @@ const select_weight = function(x, y, deselect) { $("#kernel-weight-position").hide(); $("#kernel-weight-container").hide(); $("#kernel-weight-label").text("Edit Kernel"); + console.log("Kernel information updated"); } else { id = selected_weight.x + "-" + selected_weight.y; $("#" + id).css("border-radius", "25%"); @@ -81,6 +83,7 @@ const select_weight = function(x, y, deselect) { $("#kernel-weight-container.mdl-textfield__label").text("Kernel weight at " + selected_weight.x + ", " + selected_weight.y); // Display kernel weight coordinates $("#kernel-weight-position").text("(" + selected_weight.x + ", " + selected_weight.y + ")"); + console.log("Kernel weight information updated"); } } @@ -106,6 +109,7 @@ const randomize = function() { kernels[custom].factor = 1; // Apply custom filter kernel to image set_filter(custom); + console.log("Kernel weight values randomized", kernels[custom]); } // Change resolution of images @@ -117,6 +121,7 @@ const set_resolution = function(func) { $("p#resolution-display").text("Resolution - " + resolution + " pixels"); // Update resolution tooltip with area of image $("#resolution-tooltip").text("Resolution set to " + resolution + " pixels by " + resolution + " pixels, for a total image area of " + (resolution ** 2) + " square pixels."); + console.log("Resolution information updated", $("#resolution-tooltip")[0]); canvas_width = resolution; canvas_height = resolution; @@ -129,6 +134,7 @@ const set_resolution = function(func) { load_image({ callback: func }); + console.log("Image resolution updated"); } // Sample images to load by default when the program is opened (flowers) @@ -145,6 +151,7 @@ const find_anchor = function(kernel) { "x": Math.floor(kernel.kernel[Math.floor(kernel.kernel.length / 2)].length / 2), "y": Math.floor(kernel.kernel.length / 2) }; + console.log("Anchor of " + kernel.name + " filter kernel calculated: (" + anchor.x + ", " + anchor.y + ")", anchor); return anchor; } @@ -158,6 +165,7 @@ var undo = function(event) { callback: set_filter }); display_snackbar("Action undone.", 2.5); + console.log("Image load undone. Saved URL loaded", saved_url); }; // Display a snackbar notification given a message string const display_snackbar = function(message, time) { @@ -201,6 +209,7 @@ const read_file = function() { // Read image data as a data URL reader.readAsDataURL(file); } + console.log("Image file information read", file); } // Prepare filter kernels for use in image convolution operations; fill in missing properties @@ -360,6 +369,8 @@ const load_image = function(config) { image.crossOrigin = "Anonymous"; // Set image source to url image.src = image_url; + + console.log("Image loaded", image_url); } var dialog = $("dialog#load-image-url")[0]; @@ -393,6 +404,7 @@ const spread = function(image_data, width, height, channels) { ); } } + console.log("Image data spread", image_data, spread_data); // Return 3D image data array return spread_data; } @@ -443,6 +455,7 @@ const convolute = function(image, kernel) { processed_data = new Uint8ClampedArray(processed_data.flat().flat()); // Create new ImageData object from processed image data processed_data = new ImageData(processed_data, canvas_width, canvas_height); + console.log("Image convolution operation complete", processed_data); // Return filtered image data as ImageData object return processed_data; } @@ -462,6 +475,7 @@ const resize = function() { $('#kernel-vis').css({ 'height': cw + 'px' }); + console.log("Elements resized"); } // Update element dimensions when window is resized From e3705d3d644fe64b6338668b1b9b30d0a41a9864 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 13:37:54 -0400 Subject: [PATCH 081/102] Added randomize setting info to README --- README.md | 18 +++++++++++++++++- docs/1.PNG | Bin 0 -> 187615 bytes docs/settings/randomize/1.PNG | Bin 0 -> 25721 bytes docs/settings/randomize/2.PNG | Bin 0 -> 112770 bytes docs/settings/randomize/3.PNG | Bin 0 -> 101272 bytes docs/settings/randomize/4.PNG | Bin 0 -> 103311 bytes 6 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 docs/1.PNG create mode 100644 docs/settings/randomize/1.PNG create mode 100644 docs/settings/randomize/2.PNG create mode 100644 docs/settings/randomize/3.PNG create mode 100644 docs/settings/randomize/4.PNG diff --git a/README.md b/README.md index bed7c727..59b6e8fb 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ Check out [this awesome demo](http://setosa.io/ev/image-kernels/) by [Victor Pow ## Image Convolution Playground -This is an interactive demo that demonstrates how filter kernels can be used to apply various effects to images. The demo has a number of different settings that can be adjusted to produce different effects +This is an interactive demo that demonstrates how filter kernels can be used to apply various effects to images. The demo has a number of different settings that can be adjusted to produce different effects. + +![Image Convolution Playground](docs/1.PNG) ### Usage @@ -66,6 +68,20 @@ The "Repeat filter" setting allows you to apply the same filter to an image mult ##### 3 filter repetitions ![3 filter repetitions](docs/settings/repeat-filter/3.PNG) +#### Randomize + +The randomize button will save the currently selected filter as a custom filter, then randomize the weights of the filter. This will produce different, potentially interesting effects when applied to the input image. + +![Randomize setting](docs/settings/randomize/1.PNG) + +Note that many randomly generated filters may not produce meaningful results because sum of the filter kernel weights will be too large or to small. After the weights are randomized, they can be manually edited to achieve a different result. + +![Randomize setting](docs/settings/randomize/2.PNG) + +![Randomize setting](docs/settings/randomize/3.PNG) + +![Randomize setting](docs/settings/randomize/4.PNG) + ### To-do Many features are still planned to make this project even better. diff --git a/docs/1.PNG b/docs/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f6813118784937db5e7086e302d81bc2ee2a267c GIT binary patch literal 187615 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

                            tc(qHN9nAas^&{_UwH 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 literal 0 HcmV?d00001 diff --git a/docs/settings/randomize/1.PNG b/docs/settings/randomize/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5a5b175fdbe2f73a32b7199074555da1702154bc GIT binary patch literal 25721 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
                              wWfZiAF7a*CCn7xvR7CW-+6 zN8${@?}?q2ij-l2^HY(5+5Qy~B*C|$prd5K&RVmakXRRm{{7MlVs)!6sBuIjN;BX%U z5T*)p2T&X?S*ti>ZGiG3G9av(Lj(^NA5d!tYJi1U5Rq!(gx!N1l)_32I9TYPAB3Al zLzf7r;dKIsWPT+qH-$Y2ctLyw{Ck_AQz4Pz2;TvEK(vyGAR)mycnG-s1yMJNDr1Qo zAu=%Q=iy-iM>A(jEU5HMxO8|ymCKD%`S;l~3wr*GEHeB~B8Lk|)%_N~3It(h)nJWb*1qGtv0LLx zT&UkTrMr41pQ>w581KO^sA(iPk|Oi(HFm#6=M4lrKiU`GnAUk~X?|+s+h3~DetOO* zs%n^Fp(B5lT7&oK+XzBq_pcQoNov)6+Qhv+hj9&Uq2lu@TwPAB)RG)OscMne-x8KP zkVAU}8Wwo%qYTL%8q9K|gcl89^2%#W1C4kCL~N2{glP!q$!BW+(!0%&cBo|NwodL8 zOOtxU2VT_#|t{Kn5Cj}vvxO)=~3@a)tNkQchJC|mZ+PT&<#D!|kYcxSm(-PEkgU6!! zL%PyU`Rz%C$#Jhn8GfFP!KA_xb5FgYwKz-Pu6A%XDW#fd`5|m0f*T~V@M0+(*tdyn zAfmbgR3j8_7>SAy1OjM8#zCZ9h_J(M?VS=2D7N3WqUT5aB|H-NMa(%$h`I1tft{A9ADCyX5};#_?Z(K`19vFImH>iE zIZ;Gv5lxb%laO})8PFiMx)PawcsL?)kPvfZg#<8kuF-%|BkCkdO~4ZVZfp(TQ=-aN zGPR5tJPE}Vw;xaf^~0l3vDF2^z)aT{L9Rh04iaLHWFEw71>QAQF@?Ln@SXSxF^&?= zOlDaKX~mq;Ng!gNY~)Ww8e-26L05^gF9H66EsTViBfv(?5y?nsAyNUz^|L0lQoWrkW~;LE|EjbLQ-4O1+2;)?A+TL$JU?al@vxefnHwSgxb$fEF2}`!S zkKjwxh%VGm%$*yVuc~9sUgz}vQsGI-;cSXU4SKyM;8&T^@405K(spYY{M9sd%-|S` z{9?^^LTB;GX*6|*iQ(Xj^O)a6cre%FXkqUPUc&=DsXT zN6E`)x)%7iE(C9A#3{ykw9RyPnLmn0DRWfk7Yx57oIf9tJJnxy7e&fGahR;8v9gg> za9%!jI-vCu{yacg%_Bx?G?s$Axd%5A*Fx$u#ud7g!*Ijr2x=40)(~y|$lsvk>_`X6 zx<+qr;E7W;t5I&X&pm5R8I;j8#N(Fi7itE?PE8yKrH+~I$J{FlN(6sp3`I?wQ1UEw z+>1^&ua0nOY`s-joj>&g@0Jl@M}^W5+PAB+stX7#d`X%FX=IN-Ks*;B-Ti91?>pvyKM zATJ3v>&s}#gZPd4ej9dDU1z^TYK$aon+Vp;xR6=h!Ic@~Pt%Dlfq@qk{NXmBYcl;= zgf*E4a@0bDVqP;^&F}USR%>+e(`V~DRUe%5=T93YoT6c88iO+(#vj&tU|ZMw{Hjn3 zbyap@sJ4uDrCTy@#ReZ?27b%@ib zVs!t_zY7I9kw{gC_-DR7Nc zuFY{GdKWti#-dohXx5XjzTy$yU*j^*g z9?)q0YIMj;sL?uIi&u;^T0a}#yC<$z6gJ94cCba1HjA)bhF-*wA+oT-$VSX0%K&Bj z;MTY8JFm=(01>w-S~=t$B#URbhcAl$7Q>*D#ti|(hlQQcC-!38k0vE-85Nr!s1f}w zr-=jIVrN(W#|ug90BF&Cm~~Vks8I7#{PWT4n(;%%>w^`Vi4h9MoJ22$=CIF5VbkCM zf%~;DQf-z5msy~~60%Ln*OCWqeJh{Q^H&B})q{UMz>+sP4es-O+>6dz8Qip7ecfOC zZ|1m=UnCnP^`#utano)41LUCf+)?Cj*664N)h|I++{`;k-jQsW)b~(JwIPSGHsYSX z1Hi4SBouYJf*4oqNa;messv6f2l%?c9YAVr6(5#1N=~iBn%rXIX`jbGs@ClN{Bv~v zOiqz_ID|Uc^8|Dt(S{1XzAh-w=A~ujf!Qv9< z*O`tLp>clAB(QB*aryLvK{dj(N2|IzF6+cmYFU|bqrE-5NZ!-c+G?DgPqZk(wWi>S z{OU&l25Wj0;97I>nHz3evU_nx8J+9pi59%(GE?;gt5e=oCz787nQwc_kGy7iO~ynI z33MXY!j#zwk;_Dwo8$|k(MX^%X;dxf0|!%zlT~$g zUvL;WeozRTl8PBNh_xM#D+m4ip%(aNo}dMOJSWY*Brp<03;?&@8{4Rn7z^|uEyW-g zzfn^<7bS!lVnl+J^+V!nP^JzyjFr9#@^mu@MFPnH{z;fRnV&j97Ego>d)9s{8jVCe zAZD9|&JXS%2eWJ7Yy$^YJC@gv!3cWJ!-oUur6dJeePZdT6KP2>Kn_Q7SD;G3F>$N} z9(ERqfFNdg;Sg)B0a2fVWTv=(pA%CGe?ox7;5&UN91FZ85D{q)0^d#~R=~A@tfi1y z(#lvAsY6lNKKzha%1+M=VW;Xn33C^9w6}P9LZSW3)yiM1g)S?Vo9`SXL}_FJMMREH zK&&XzZwGOL5+j>&z!I|xhmDDl9L>+UAxKXIJL?YqD1yw-<@O*VC?T6dzX~?tg5Q9H z8*rY^)L{@W>I@ZhtAd{9+R$-IaeU_jXNC1H5OR-Pd<7g?z&H!`tV#?1f1>tmxZX;} zOy__;-m%3keLM1w{pU}_1#@s5I0D2(Dg&KTH1(_7l8c~6X4bR*!R6IwT?@mmZ-I`8 zdiL4VFo*L@XxE+yfX)Jth~Y%6ig@~Y|9vWa}ZSI^^Cg{R5^dd*=Q6xF!1Fyr+h#X)}zsT zyf-3EuP-e<#w^GO+Q9L`yK*g>2(q^pD7pB27xHv+8bPn8!vr9-v7>|~dYQey9JE9Y z;-2EwgA7AZWDPzpi1R6rYe(}p{Ovh*=a+x|Yk}!z8h`Ig)E!6L~-Pl0$1>t}BeUN&TyD_NOhkGBz|eugb3KBcxvVVX5YhzyHDD znU(U3gS)ug;NO0_*^$7XYRMegru&O-G`FO?Ta(0${4ZN#QU7nLHL4B%%>j0D9tKW7 zGflBkYHE7H&02+Hs&s=K{%hS;#O8v#ZhVwe_<$~Jt({`JyK=x#>!4k&UY2ji8Dst3 zV`+m!`o)ev5BB6|tj`R7TA64Z@8TxjtqS(;3U~67quE<#VAfThPm+8+N8jaW;a#XK{ zJ=7b$$}>7cnag$Yqy;74S;f3znA$%`S-(5v$i%=k{xCg(#>ON?h3{Q+W@km_Udi7IL)>*<(%RmwUqnTo?Wck%OfZB|dBftW=u6^g0nX_aN{UAVnNw)~e zJBivsaneAfMaVnxPo@2vT>Taq{NUm|5DS37zGi`5jPpg zUAVBSRU;Hj$u#mGoq^IvaI2Q3sBxc?A0^9R+3Ci*H*X$qiuK1^{ zdajtFQ+|oD!{qgk2gSc7%lbzxbe$*zV)`x-K_ppP3WcHs5bMR6V?l)4b_ilGZm$)j z@4UKE}=>FJwMLS%-eS3>-f zS)bOE7LHk5cR2cL0d;drV)#bPt(HaWL*!H(mYRxxOV)1#{-#%69!S!=L_|W^q%MZD zC#z?d^6f)`;}R|;38`=K`d|rloL|Lf>FF#|9W=ee$q%HjD}S0IM{q1QR&gl(p+w1I zYKdOi>KLgT&ssWA{Yz0?4&>}zA|fG*QWwKD0;aP&DBL1I&D2eW=2W7vPkj0$=2fct%lVL1s(qpBP`;PDE}3oK8bmiZD%De5&!Nb`RutJ{bU4lg|1KeP)5If zaBpQ|te^j2fgi2%y9z&_^k%=Y%2wr?e!V~rca=YH&|sCEN5jiJ=9v2`H)33aZ%;sx zNqAFUdOxcuKYV4#wC*a)CafQ=QH5?2UVIo$YeCnn)IBj0o?+~tur-InMHguVy&Xz4 zS1TNzxL>4U7&26OSI6+a8(+RwrJ(0^O~#!HzpJ(b#ChCFdGxkS`PL!o_tb& zt(?XjDjXoFtWw1ITF~xmss#?Us;^R1ZK-EBoplPg4LspSi#JB^t`GNM7EZCuRT}O) z;b`XpYL?&Q;~AE(30=xxhj z#)L;qRgSu>Vnzd~W{P|3vdU;9?`j6eluxPLQgZAKdiS*R#HDKryhq)Brlf%KN?h=u zR^bpg*6B)cyZ>nOgq^Ws@L(N<6aeOorn)kqwO_MmqDx0bC4e7mbn@pwW`CjKc#`>* zsXiTZJEOp#dmJ?<+cW+RH-?D3q>jK56OeW(^CU=XNf`+V+cX0;_Mt*UCuRFcah(uX zmXwQg?H-=P1wQ!uzv0FZMUm7I7^$=ZSUcN1$;gq*wmuME0Jdx~N4Ad?pFZ)K+qV=- z1By?Fh*6ru$^9E{4EY`Lr4YKiG5~9(%+o9gFwfk92}CKa7?SNH5rLaMbC9gTJ4t55 zM_SgzCkuS~Z@4j8u|MqTzzcx2;-Eto1ej;;z(Nr=Z)uY4BaumyvfDt`;1X~V(tH=x z{Wshg!iPvKh0xsrSSuBW%z^;(&0W=}C`ac9vV9~nX_6rnm@gn}bL^9sjbrC^V-iz5 z*Y~BtF#I(DYo+24Q3@HEHtCg_feM7Gx)ZX4VF}R{HvmA^;O%50F@xXDIaz=={`2wb z999JWF#v0&;t(W26B*w*tN=98hps2K&JhfYdlzx31F{C9;Z=#m7J#@09{w< zCR1k(J01?wO)@5)kC2REtJqZF+fk+u zh_;jThw4SUQ>QCaFCXe$ zEeQ_vpy`;^uH@$Q{&p?O+|n1z8@+u^XRp5>Z`g-cscD)(VXxo?%4n$rSyCyU; z&gO!UPRc8Z)E0>vM$rT|N$yJ36 z93+)9v9r_^ONfxyHy;dXN00M2iVYoC7baY#$2QV79ooDt&9@lNup~v_5(gV)?$h2Aw5S$N+O^D> z45ff_pFjGOlk%>q#bq!9%Y8VN`bmmDB>|0wtO*zQ4veYh&_o7+ML|heyUZIJE4g75 zr-ya^Dk@`>+U@ugs{k=oZf>`o)!Hjxl+^3?bh_fS=hqXp{Iq^F zrV!V0zjWxzHN~l)8M}-&`aCrn)Sp;jOe+rQ*%Ok;r1N=oCLw?p>!o5gvW{XV*>>}~ zw|RUM%)HEI2~=-7G$a(pLdqd2g#7;^#_$& zhS8i%{tXI`G-1KVIC=8xCiu~lC73a$-=*zaRa5N!nLd2FeZjQn?xOBNjyY+pkc~S@ zsL(%N_l4@)JUaQoZF#TqD!F5n`Z9YdyY+=ZXw?tG4Mp7s`-X8_zLOm<<6&q z<7^Z&($eIYATi?P4okLoA4}6E$^Ir9yUDyy(ZF;k!Vk$upq3*G2k$m^5UxDoUMxX0 zD$-@UR%yX3Vu}qTv;Kyiv(hxWEr$#v%LTofLUK9OhBOw21jo%X+u`L<`-akX;8(^n z=Ua5~Ud^Sl0QX|pMx3*&R+oGMg*lU<6+Ql(z?D1$Oz7ikBegY#r`j*0>E=Iy>#$ZR zsO^I+wf5218fV6E+O324KF7)jiUd(|f$G3x+dz4ZWGL9ehJm>K`a0xkprl$HAvx3YX-fSV)yd)cw4dCzr9=KXAh;8 zQ{=BRfFqnmkGK)oosu<;$a%So>a0tLKPzHFSI-IT_3wvz=%T4#IdKsLeyzm9 zh(8&1gHBaw?+FxogSsJ5MRClu*0@#yAEu9yiXTaxC`;3461RAoTeV&&z8#;w%tLmR zpYhv0D@pom!EuCHrJKc-*EZ4T^wc5?nVVPqoy6mH-p=_Xw4~G;seCiD>V$mtaFO%7 zD(+?9OXb%zT;@QBOz;UM&Me|bhrLgsC9X*2f$xs(Z2!{7+#N=KakWsNSdjib_scZ^ ziLiyu%iKoVB7FIm_`UOrc6)>LaNLp-R&Z}uul0sGAx+bL+-3-_?c3E`^gfjk+_W^b zql;6K)IZNLqM}~KY9WWpM|!OZe#LCbm1+mNFo8{@S>8NY#?v^Zw}*ERi;}iSsH<3_ z?Ir%g@6N<8x%s%5BcUZas}g#tW>j{#@H>mb@Lmh{4k&~1S#uQM(VEcT+z|fcn=12L zkE;U1sNwJ_YZbBgDM0U4$@z;4m_1IRUi>M9>Up;!_I<)X$lPynXym*{x6=nl?Z%1xzIf@u{bEwozIUE zmM3!+PO0G~GJnE)P80z19v-%m$WGZhYwk*Q8*B8_>bVL*W@fnhZdfgk{wZO-MubE% z_^I%(tmH+0dHE7J)pup6I<;;2b?L}AMd>5V>N$=hBc|-WLrC6wU!~NH9-}})?(@9W znYLC6n|cwgL;P~0D6jfS`pSn3Yn5(>!%$1H-iIo-tN?2QvvPvCy-c(>0 zcBfiaGBE7whxDg63}3LN_zR(!Cly6ndZu7z%A=)l@TX_xq-)U^p$~+YuO}0?Y*pt^ zBlf-FdrtG^*B&(sR*qB-?D)c=NhGQ-u#2dq^yMxry?_?i;MeVYM{y0+u+SWDp;(Rp z*fmOI%J!1JSR*8_M`F5q zq|}vTiH`P09IQzN%HU}aJUXM4ac0UjTH@dE&ruWF{h*)-H_FR%OnabEdU{Vn+yL4fq` zShO>da{RxS+VZ0(wIaW3fs>40Zx@<|#TfB$`nGbwOwi>En@M!3H9UKaFZMZAKJcb= zOVqjMpC_x`#cK7&U^K3mBcP;EbHXje<2fzB_Ukk&P^H)P8sdft&j5ZjR6TuAgu~Rq zdkwP^hSXTiFwPE9Wz;uNOVwd(%mGZsNIkC(07tl??^ZM%fzVhn^?Ev1m@95_(ThlS z1iYkLACwqB5h_yD3mKx9|7|sRMky!oSO&y1+PB|u1iB(jBNsa6M|IvavVf?!UG+KK zj2kJYPNdq2#KrxC_i^E!;UiE5IKQHufG@^dZyp$n|ADrS(~lTeJ2nr`OAF(ft5x0qwdME`KBpn+A z6X%r#h=*DVXuVDa0m8b@Kw2+%e+94BN0rpd7~$2jY0P;XRS(P6w$U+6@Tu9Eky1qi8I?VsUzps7(XSI)_`HII1I2vKON+ll@e%LeZG`>k3@ zSx$?oY%H7}t!ktb;f_XnQjGK~#wD?ez}VFzI9@{QklbhN=va1t1`)RPw>7UP&F`~P zJ&h$!m&f}7W5%GhqP3^jROm6z7@;}W$SlEnf%$5`1-QH&*+vTv2s$;@yftyf z@d2gY6WrX`b_7u3_g4yOvE>960-6lKW5O}v=wS$EVPkDgvDE-I!ix)TOo&iHC5kTf zX=q@2aVS#^_OGT)sXG`7gc-UTe3ZY^O`JKw$cj7-MXkH@SY7sC+&b`L>cRZKnEDr1 z|H})jM~h@pyg7zGUO0S%=GNt}{3kekANGC~FEJzJoaAJxGkup}V@uIPR=Z1>ip8o3 zrUdRnDg(oNO9Co*0p4jVLI)b_i&z}+(|P}vq8WbNgTmW`*;Kdw))k>WQ`l~-h&wD$ zd`CY%uUOH;@}O#K?luO7Qx7N}CX>rlOV~7V%`kiY5*JQ(|I=RUR9}sZMfRRf9u;q; zy5*3Ag;zw>#{5zF$>cy%>#CvFQlFx#7O0Dt#}c>DTee!4?N|TC>h$)r3vHM!B3j0* z=g)Sl0-GcN1Uzi*D(V$94<85HVAB}`4_F6h5Lcu;%3!KXV!7mz027GbGuvc?#d7Eb z$r0)}8+W5^2YA1-}^QV$JbM>xsJW&r+#uGq*H!!>ysZ|N)AOXWt`D$ z+}!nbYTC+c(%Jdwt^xGQAm0VT z&he-F=uz5qC=7q!if9dUeJHi1Z z;C6!jl4UgJ)wb~6{MgQxxODCXNnKX_3@Ci$E8SRBB$HDFU0sFdS8ZB4FV_VhHfF|8-4jI(F; z<*&a_Sd(+Qb!|t3iNJ2;bgZpqROfA<`!ebI;CVGo9|xy=_U${v`SQ42dZOCT1PSOV zd{wsfLnPwU;A?U?nQ}(s4mK3nCl!Yl{U{mfhq^v`9?OBNXT_ldD6Xm?etQbwOFcorNp zT)I$B2s8}r#-3& zMvG&NmzD*Z{$GY0u($jvlz~$Qqhur?a>o^9^0ps;fLR7b4WKIo*kp;4T9F&(mn2}z zJQ$e&``RHZbQ+O!8bC{V04-S=0X(m zgI<_|{7xSLy`ZooLx+G`3@C;KuNwy2t5I~4KJ(+8cd(IwPEwzL0#0<}phK?7`X?}F zlW4toz!Ad*P{FI5y0gc*PW>IKUjxQdatGIU<9YpIaM=|hP8lYHPnd#WscAj-oJ?B4 z_{WSC{VU3kfJQ+;4;H$*qLb%w?4tJ@n5=HT9(na$Fl1{#bjV`Q6TqBbHb~zAK~YG+ z+oYw*y#9fCmhn5(1Wo~J*}enUbme)?fyND5>+C_7WBrDliQ1)g(&I77A4S^Wflx7` zAE?EkJ7zawEO+MGx-5gtI{6{UPj)BUq8cH)0%{{6Rczc_JbNR`86`Z2b_NXaBijyQRsK z95)mq__hi00rc7_WUU?2y-RbV9L_wc@c1BqTXw-aoul0XL@hu%2owjTz-4Aoesj5d z%1+IX4iI%a@>u@47pS2zYQVC4D;?hR7~mn276jw7A0dA%P;lGg{Ig)6W=X3kH+u4jUmeYj6~_8 zCs^aJ>vXZz&RP33ju6~QLh32%dLm=sh&1Dq_EFAg8<-YphWDQQZTr@(gv6Dk7%8Cx zUMeqx;4+ee=hh{7h>E3Y5Qrtg0ortyyMzUWL@$nVPTAQG2SjS#*0x<2z?Fh%uw!(% z%bu%na~D+RpwE!z*AHJ&ytN6;&SJM8yy>48tfEK!kM-V!O3I@{(4ZMKD1tO1X~w!f z(2`u?VMCJNCTPxiWi@#1md3Zkwf4|UnqM>EU(3Mw719GnYC)Nq%Jl*h!Y@0~-kCE^ zA^8zf^C304|4_AUI_HdE8$6c{Z3=5UpLA{BPT#hjO;1}Ny#eZq3*g8YtuVxHlvUhs znbAUPZNE~u1t_FbZ((#RCI$y+4rAy<##QEBpg7lqD6>hUqb+4y&ATcoLK~OCV+xxP zLCk2SAWsz25!O0X*Tr|>)+vSy;#p1)vaAa;jVqP^!zL@2U-SV5O)wf@fg z8L<^MhtNrH9$G5*RxniZMWw}0jznnU)Pqb2uJ+Igk$FH|R9d|1m+M8P*FA5RUa;Dk zw^yO4=28pbc&$3W=7V%ZiT%IjQfZIrR~q)@r!*-8NiIZ^K(irbXVZ|>p|?=8r_2XY zyN_mbo9{e?GV5a`Ike(oL4TM)nPnNQ9(Bqt)cki4xEhfBp8Vz`PE%6OqlaU^*|yKu zGY&gOzm&P#(;VoG?gZ_BX{S8{eg-Fx|BAN93xAR3%UfSus|u?K3?a(mbGTb;eP|L(;t@r literal 0 HcmV?d00001 diff --git a/docs/settings/randomize/3.PNG b/docs/settings/randomize/3.PNG new file mode 100644 index 0000000000000000000000000000000000000000..b3e08e604a77a656472e4f4f5db1878b122117fb GIT binary patch literal 101272 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 z literal 0 HcmV?d00001 diff --git a/docs/settings/randomize/4.PNG b/docs/settings/randomize/4.PNG new file mode 100644 index 0000000000000000000000000000000000000000..946fc0f23d5138a095c897b5b3f723bee9164716 GIT binary patch literal 103311 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%0Dyv()gXK?Ym2b-^# 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 Date: Sun, 7 Oct 2018 13:40:06 -0400 Subject: [PATCH 082/102] Update docs/settings/randomize/4.PNG --- docs/settings/randomize/4.PNG | Bin 103311 -> 114347 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/settings/randomize/4.PNG b/docs/settings/randomize/4.PNG index 946fc0f23d5138a095c897b5b3f723bee9164716..248783780f412fa0be7b78b3b7ba76f72970682a 100644 GIT binary patch literal 114347 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

                              MVKhu3kJ?Z4rs^F`;Q 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 literal 103311 zcmeEv3tW@+{(qe^D^vcSGA)&L@>f)*Xf+T9?0C#5O;8b05q8LgV2+90>tJlYUesd$Ra4evB8>WK-;B4EjQWZxKvRP4zeG!fG;Y5A7vTh+CmB7Q z`v0=wn6L04N$!@y#9&Ex{1!>Kc)eT7?Yr(N?0#OT`v9+vKq?d-OfF=%j7+2C`);SN zEOKTgTbv*w)^h4nPH>u=F}PBBP<|igb8e;gOMF&T;&HN|Q+f7?dyQ((S|+nM&yPS zq6W#j>Ng;Xyoq}rtTI8cZD0$E?6tY?Re>p;Tid~J4JKCg-&yHe#iy%^!n-poYwIxd zN*rm2M0I&y>Od{KvPS`#Z?Xzzv%#P%`B`cAS4lWq*?1`BhK@D-A!f6oA1dc(Qp%+2 znr(g0xeyDzuD)TUsL5aP#5$kT{9O!FB03@qYVxBbv8tmiaW|HEngwpYO|4rqUd9k& z7%q+5%sBDt@@D zDV`U?NC{waJ#<2JVp4rWlpDn~)03dTz;4_Y(~8Fs$l8bK%(;dmeu>`qx@laG&Q=aU}Ov&E=@;v4h8Of3G{dZpS;|8xmddl!u_Vclg(4=9@A zyPCT{JbB2>K-X5rhwySKca#K4ZgO)(c}N0DFq<3PU&2bL=rRXpRF;ZDohpmNc{C`n zmqV*i4ql_7GjS3*R56f?W^#6hFm8;#1#?cN<97`(30-MBbrI`+MV;rj`eI*B@nYY;>|FP6Wpj_V`4 zsA)Pv;=SqXm-YCsYKv^BzVQ0Dl&C(x6xAZbJqE3k*Z2Ic&*}av%&TSTYq5>`GmTF1 zKJWG~qx*NIuI)56 zpf+C?wt5ydxM6N%&AfB-UbucXuC-xO+V&79vQ=k^lSsLgS?d`NH zXJ>1&>gPqyi|2-&&$ioDM9jvHuLBmw;lH`Y7+@XFkOU4(VgPnuqmymT9EveK1t6V3 zrs)35mHycpIUZ+hnd;u!!y}S46%wZ!2i${Y=RdLb<2dc^im_B z=X1BD>qI}f=jx|O0ocX%iTDjqFzvjJh6-3Y;F5 z^^74~hAiI>S-{ZuE??v%I5_Gfd$1iIA6Q!C?4LKk8}CEvOJ`K7$`wA4zQNyzXRc4= zXn^Ex>zhZAsn5UnpINYW>b~@DwSG;^;^1u>NJudY4gQKCJ|b*K-E&Rwxt3#xcwh_0ALQu<;IYm~k%$T?eK?riRk{rM0w0^1R=TeKl5wEJMK zEP!A?BY4rOttu}7yS@)m9;KS>58!_|?PEE=vwEt#)^xt~c(IgK;7VN2-#OX&zf5^8 zAST`Dc)1l{P$o?Wf^qOjo`Pw5E484*P5sRIZHv9R{GsMub$TJ1LikNnIV>VSy`64^+de&~F{DlLIqF-bGS>Rm_*n1qqmo;T0rQTO?ykR$#0lNv(>z9jqJ z|HKx{XN;U=Lk33KqgCYAoBf!|di_#CEH|LAoey2)C-|GwXer)0BfZ4SC_?MJ%;kQR z*m~C}OP2>$t<8|NZU!EsVIxnBGRpljQ91*ScZhR}FLt6N@x;!9r~DEwR@6m^=!3l_PIj{ zXwBrT7tknviW`}NkJ`TRT|EOpu#AkWohoUaxF4v?3G! zosYVIG+cc5&|%l)|9KSvrR0aF0G$7+>KkN6p8(*H`JhqX_+&F+L;PejZ20!c$@u^0 zWF%Z(R$ox&f32<7t0Eja-Ov?x`L=&fQul`omD)jBNMNDa%xIK{PWCPi&zE1if`#lfq%!gFgW<^1pnb1d%|wX~cs&e~4m;k*<~ zx&% zrr;XPekhC9Jt|8hWyN_ycZ5x;4`Ol3xce2{^}vb=NwFck<-m${AKMqE>nfl0{UqXf ze8t665xDb%JH&q-*yTxrqW?OOck9Nh?f1&Fyw87ewENTzTqytdD9lBD%SVDG_C{&6 zjeCXeUjRE~+cb0aICp&}+X4FST5AP#c;(4t2B0j@Crvt$1V7#r3N@XJR(^^PZF zGvdhGIX8$2wFhIikcdP0xJk1T*sJ7o@LU#zb*0|Xso!3jjY@9*0vNN173K|Z1;_&M z7LWXiqW3Gm&a_{-N7&CbaXw{849DKP7;CBh%0)Vu{6UCczd72o4n~N zSQ@ot)wgT0+Dq4f3)BG2?}~Hv%qCOpCR|(Ixn4)U>}n)#FtVt-4!hc~oJ0Hr{F=_x z9dOv=Gl!yJ6)sxoH#3UoN&x=XPw?s#?FR3Xa5JAhOYYpdAH*B7-tFIV6vPpK z55}2159fHHMy;>!ZG8t4adapO)^)IC-3R~PX7F|QBlQ4r%yOYq;uRt zjapyoDNP*`>T@Ux*2BAFBoyQDG-so^0Aij7QoUNn|0@8Au#y4Gma$;3Cj%S-Y9Mf2 zi=_#Kdb0EJ9i8R?JUKF;%NIyB5RkWka2PD& z{{hS98vIhcPd_*UxnFjrM)9!B{)fD%*VUKjA&z4hg7D|Qf&^L7qgM_9Z1@n3Td2`b z?W=bY!hvarqHtzNxIm0#82FEpHmi#Xj^G`zwm_OXV3&n+=I-b)0Dn16L?p>XO)^?%_vG^O1Ydvy$5scx}K_ zMZ8^Ef=JP1+=fDpgp6$}%tKeZ#6c%MWFhmxb2`naaa+r;r75RRpC%>P$8KlgUGAdTBh%z%qJM zmgO5-1y&>RH0ui~>tl5@EtS$+8L6lF*{)C;%{xm>P-`sNQWC==^h22+a0Mq~;|14H zrUYhUY9B7DpmG3*@g97QnAdFSl*N_T4oq&^oX{^xEblrEZEBa|vV%3}%4Y_WwuZ1L zH!eQgxj3G((fyn`Se*IZUOLD3)pn?W-_ZYYgZ7HNcLrg80^Xu)Xe#jbCsl$PJSg_;|Y(I^dB_POQzaEAK>Z5ar>{a_o<^in-q7K^6 zQ73?ADfxo=`_%UEKt_h!y$KFa!@ilLqcrAlj-HlsjWq^`7@d&Kwx33<0nptqd4P0< zC!^*g_^@obD^K|n_Edq4%Xfh|Z_E1b-xTP_sRHn#ko|D17=-g4{~S2KBMWPt7Snq; zrvye+&)mP?nqeB*Ua(sE`aOU11#gz|k0YM)OBfRMeV_tiwNBa&k`bbP^xvt&tpgbu z?nOKtjD^FNqqO+&fJdGi6Bj`2q3>{Z0+y1v7~4;Xg@gA2DDp)eARy3{`Z^z3_%NpW zFtGYy@srOv`K>U26@2k`!j|EIj0`tn0UUz|i4J@GH8O(78vlWJkaV0CODtSy`)LFX z6-#ICode{b?!N^I>n-lqdS3$i5G+18${;}pj`HtR=++$`QRuY=NCXc6S9>WL8NtYN zqmKE|^!d(6Vh0QZk&9Vvjmt~!nJ=jPII>y z4kE(Y6-Rc(F(|Z7tK~Ej^h8caS892w?I&bctUzYg4xqT=eGW##3txMIulp6CUNCEK z{$!w!it_J**=c!{Yf}rknlIfqFE;)|bpTJKk-NDUC9>6oYr^Xt z*BJV8?)DAdz#AYw%Wk`%;VZC)H231Th!5R^&_X>OkQ092bgV z`lrfM&^U{MiV^qlawvmcI#0T#o&ucI>$s*90|ltWq$R8BtSXuv7aaTL+S3;TUaiY_4>o0y^_n{`!PPB>iKwvGjMZ?Npo&Huw8|}fKnG`Vo?i931xxWXavO|tL#FmiNE&>fCV3?Xqj;%FAnk3pzVdu_f!UM66-5C^N{3)dr$~l6!V2 z=kN^e7q5BT3K^wTB~&z-6;A5GBX#WZ-g6ksjtxl4d65JMLB?77^c<*3ryjh4X|-IB zXBQY7F1kV7))LE9i;6clN3H6@s-e}Rs;ZiHTbcJRhG}x!rwYX;i~cY= zD78xF|MdGL#9MFMS)NJhn@g2US=4(r(`b3+@^f9VOEVjoQf#b3iL>;B*%J%QJmu3| zpYHiQuEk}N+XL6`{o_3QVMsEe?X|+HAw4{-dB^L$vF}2hgeFtTg~hN>Mp$`#EjBJ8 zYBpa>U-=Bs$+_8jVFW>fYGkZaePWoZgr~hZNMAiAgj>(O2pxdq6Ky-2AZJUac@Ldi zFX_GXjTSx^2OkdLZmL%rZo5J1#!QNtD1~^$hU1omulw z^;>KM#n?bSa6!+F(-_#-a1BnDB#YeDNG;J5)p}F2B|5iK?_$*F58gO<-0XREOgLZ| zx{Tn;VI=UoQRP^WW|x?gaJ=_Sg$RK_sKsb<$4cN{I9&qEhF6p zldDWf>Cu_|(nN)nau)8QOMn;`?ANs zNLrhb2MGt+QuQf&`5(JC6H^gF~tWX4fSWA20qJ0 z$P-dS3(R~%-Y+~5LTG1Mf(?axC`DH&m6QuZ0jLe$+_Tu|&1sZ1l-^onngGu5rp2Yy zKv|MIsN7OL5qi&pF*SiVt->03b6scs_}{2O+M_M~b1O=ZNJ=TkDVI2v&A$eBP`=)7 zZkTe@;sw2exEnP$-9shv#Tk?W>C+9y?M!8;p_*2)xrc$yq(kY^4f;=b z-iNrAd`asT39VvV;-}2~tW*N;^g`%!CL3qe)24p}YI{Xr8#jpmTJr@Po4+9d%{W-5 z*9V&moBf~e^j8y$a832F7#-pYu$i1hvuf`oN)}~c>oO_=E}ton894UpHbcNuhN&i# z#-zV`@FcRh4=WjdlDpsX$S?jp=&xh3yJ!;bajuUsLiF7g?8$jA4F`g3;Z?*^jVDm;4&a z2IrzH=Jp@(b4oHTNBeW{t)hnxBnAn+yb1 ziJtdfAZC{}eCV^O5GuoU#@$*Dtu4GU2@C%3EeXrx{#2||`)i`*l(YjMt&D3GaPvJn z=xjl^zDAPJVmZog^6DaB723R&ZMZ_=6>4{!B#m1ty|CYs%|9kHrSKA54Pm@P4aRV0 z%3RGIT0Yf_#a|DnZ*NTYso*z7q@L;eo&luj%d{-s^Ef7g9$ZLIyvhjpiDFBOi@(HdZ_K@F3^l7!S|&w4WE$M42?P5fk?hYD){ zXb0xWIzL(GM};E(5ZOqO6}vRH#tT7DSBdBaw2POt)vqD-{(StQWbG7;IF^+jm4NAr zq%S1%Qt>CCkBP^cP2dG&nSmNxBvKVPm=h@Q;VAEVK6@v+P*oF)FC;FY}C8Pm&d{qbNWS%|XLKxqoD=oxt(zxCzV5LMa z7p2yGfvdbRzr|-GyD~WT`a$%+$C@!W-p?2=*BP;V4jhCMkl`6_xI%ypf&y)g9>bx! zAvB0PhB!n7&1);ky&zKtYD*set64Hzz_akGE7F@||2G{tVB0`5*Kk2Mf~OFSJ!%pN z#2muf-1m{pOpElxW2Ohdg#mRJH!#1m!oh0W$1R^HBYY1IGzcIIH}W?fbaCA+0ZANd zO9BFM5f5h6Bt{%IP!GEi$w(IQBHq_u0|gJ6pr9)8UrdDAa4YXc?)c)~@fi0a0VFSN z#lhA>-%*nonKmfvx`g!neU;g;p>IF4kqTN#7O4Nl1n_Xm4gjbbvSd~WSz7|~lf#W?uw#a}c%vpU;u3*u>A=g+E2m;>0#B3;Pn#yfw#CjK^`4M75aWNja%~2 zhnmxD;4tGwY9hWwqVDk1wJML(cnO}Bd^aOwZJ}(jKX98eDodpCMCk9lq@c<|zS&u` zk5=7~N?@jW$>sv%#}-X<30+?(*o9kPXgm!7nD$ zLj3g=G%?DO<7Y$}N@?EHcJ5?WP4g;~lAXMn{Q6o>k<`b@n-!iZrpk->WS6FGWx{zF zC3HC;sy?}HwrABq6(ie2_H9tSXU{jaP4BPNa8E`b-L}8Hg}jOV?x8F1vkC^&JxRMe ze+n)8hO-(JvgppLP3O=3mM1{7toCj zaZgaa9AoM!{kgb&sECXv!1M~6k_xXotX(ZuPV+n+t~?nL-=g_0hjeJ?TA;bTtHNu| z&MlFd-iNZAcPPW?s@TT%s8I65Onkvku?SPu+vVRlC%I|1r&v}L)Z_&T011XMhQ&(m z01beQo;#o`ulE6sH!WoibHOx949}Zd{xkoW?+ILC``;oGT6BZ4Q3FdXZvkV{(@a;9 zZ*C2A0!$d7`13w3C2Qbzv=iryw9OaG=GR4VPfE42N{|b3@!|4ID&~Z0gu!hren^RD zX?U79RT0;7+y8u-`fmWpTzgfg&|+1Wh`eJJK4e*u4}&%ftj!3as7b?j8fgUc=T9QI!>1l#Rjc-dA022fMWnGfDtYD0&& zA56=!y;nxQpqU(P`)F>K@q4xDwgSp{G3m>07`c(N$X#MOJG60M&`W}hQ(?rV_RRgasgmb;IDEgDS{;iEfY)X z7X)$RD>ExA5PF$9BfSz&-Xu}oI<(09>X*uC{QNA8c23w24wrsR&ElW7yZ#zkVh_1} zwq)=DV7&OLH@Z*tw)&!mtuDb7&HJ3XXk$fnT&`@Ix9==a(>~$?*wsvoQa7-}@W{5) zVF$?0+K>8WumcYNL=?~JJ2&co`SGoIpQ#wooB_Dv=?aHM>8Y7(Wm3;T>zbktqV8ZQnX?8xSm0!$BBZ zf_9u_ja86{MICk%fpR#02~=!{F&mxCn!I=5_8?D2i`x}Ibn;Us!umz%`ENegpxlU2 zJAsw%b~bvKgjeihv_>kQVQeTAJ>v(=V{b&0m-J>vT=FmShJxlWs2!uUeC^wKLi>v* zs?Cz6ODykLfXYw091tpsOnVu4h?3V>>LMt;ZLQ|Sd~9f}_QSSjd9-inx>()3&^wWu z>iXQ~2TwPsikeA`b%g>BwY!MlRx9jIy>}WI^^OjJv5e@@6;V9%%7H1W=u$nZ`q+-j1E>Be(*~a5A*;J*Q-4I zMu>B(yn$VcLWGAh8^Z8K_y1j2OupS_yK%q5WPe9*8usB%Iqfz z0S?r>K(fpYai_-c*=|Wxy@@7g0-H`acf|I+HFd^lxQ)aDSIz+uT_Y;&UAf3I@ zd16?{L7y9Bt9YFNi3d);Kp1Y9KmSwyxa+HCcb7GR8$w}Mo6?w7FCA>huF zAq7TB;HEGZ@GA5!j28GHbM=5P%c5b-KTwM}Kc3v5+4rU`pG}>mzHsk(@O^`%dUa9n zcYv^p025aIC#zFOg_QpHvY)EOK?b3F+s@N~ert%rY)bMJ)#}~7-}O$LatQw3@BPy9 zS=0>;j++#%qCC#*jgv^&HyQWT=*=7VF8kmU$UFo9bp(Jn&**2vlfD@6Qr3Yt;f7o| zkoI~4vZtv4EwzM`B*k0t78EpC3tC(O#a(^nMoQY72Ye4CZrHvXe9u#dy#t7#CQi|Y z=fLd+|GI<2z$+j;PJlGC#3HS8ijd>}(a#OO`xb zfX+lEEoJhiB`5Rh)3B$3QTHm8cBV4|HKv)IO8!Y-#`;**{!oGZ)XKJXv6rVu#Cdl7 zB5OKfH0{UG^+mB!&dCqj@d+ZuaX*o|_a1G5Frh-Ia%t?op!=S#D!Z{PN<00lT9Uu2 zNMB#uXwr*yYOM?9Vu_Su(kIYMDuq>e6-U32ZZS2K}LIf?+HJJC8`~zN9-6D92;eH?o>;R8a))Q0wW9<1)LvcXr-w_)*I!p|o{KZ>7 z2CjLmjDOY1d8p66=sFX&{_lehc4Q-H#uF4tLP=zKJUAYJR~2i*=p~y{;&|c`Yz`j`F}FFA z8{kPO7R8_w#g_AMy80X+j>$_4M04)Q8&o^gG^jU16j!bZNj&e-b;Tv#^WM^0VP~Pp ztg0%I{t5|{U6lMyZy7g=_laA|TkfvuyS1-mRgB@?S%#h0%Hr|P>)6ureOtOXBKd)M zMU+K*S&~2l4ln2<_{_fzP;?x81XLU*YqaHDCNBQNtf6Nbsq;a(0s?{^CV|KKIo7Hn z5TE431OQQ6U>2elw`*2Nx?_l`ZHPf;Ef&VVpmhIEx;ucs?Q>t9a}pp$Marywi<~cx z@Cn*S2YzqD(Y6Tf*X@fl#vS?*m)+jK-J~H7f*KK+OrizmI-!D%vCg;^cx}L67$P8Q zq;8ZX=7Su)w&Ni1Qg)_I@`X{m!FewX;YYYP?VSZ%Y-QXMjv#RRLE09f^pbr5ahw-3 z7Ajc%%-KGm6A<*GXS=~vIj0E$!%^2nKtTu;0K#7dYJfn*0nfv_cqg5H&)K~#?8!M$zF0YFPfG3Unrz}VZV4SmP;84(@VtS}#cazw^Ev*UyX5n(H->%09=j>wZEGB)5KCMiMZ%on-4<~wiD zMCg{B=QD^gf9Hj;y-VTD^v~hBbmv==Bg;_e*sWP^mhgcx((;&W99;jEv(ddqq?-6D+_Wx`W`4S%E3lz)0`MpnkRjS z#fV>MuE@o=S!&!941+0>wVEbj)j9stlbr(!`Sl?CEu$2!D8Y9U`@F_zQx+cG?xSVhHx zgwEh{^H(8))PeSL+`82BDro0Y0Yv(e9Snl+rRiA-k*h$fm%MH^AoYeLRoe@y$D0Ij zeE`hTW4oqd;x_tGoryMuJo2ugP~33F54Pq&k-iBO=O-L65rnr7jyEHDQmfIK3L2~c zjahnD<(e7P*>E&b=IJOLHN?@3{H4*keS2##R<}EjJUtpew#+!h)o0*D~VDd-gQ2k{-U5k=POeoyJ=X^%Zf3+zQo3O-7=)f{!DVP7+GLh~VYQU9UIg6<2N zrvaCHUnxyj)qcv4n9QFarEOMr`_>eY20s)hNG^5V!djLy(RkIGAd#lad3E9nCQ}^~ z$)lku8`p?sC|wH;N|KiQ;hWYK^CDQrkJ&eTg8R>KSq6D|G{LnpyX$(q_!#NWj2>Iv zghx0oYtN9^Ss{Kl!3Uwog-sOPA_3f$X7@HJrCmp)nZ1Q#ZNI`){4&GP+?`v7YP**) z6$yyXu6_+0%2r{`djf=QACP2I5|sVq=G9gwZQfwrR0TOjnbyB&vA(4{C}u!bYyQg*f-hsm32TrrdsFw~!lxx=06$ zGYL>*VJB^`&d_8$GZeO{rxsKt^(7jWtI{F%9g|_fQ$eOU@hXXNjb+DngqzK)!ARY6 zm}2yQdUIm+T-UpI|4de$j5qsFds^K>f(GFdMsOwQGXX6fH#jkF&QdAl!U6*w-s|a-uJL3 zO_WA7D-+6fXI1DkB3eWHNL)7RRp|OzIUH3WZ_*?pEVxL@;x}@xzaLrt9_e`Zu70XKkSs}5evAbS00Q}Lr?S}PA5)_~9)5*RAcBRT1{ zvX?Ool;A- zqE)K8Q$e>12qVHaZ~si<95~X|Hj7NrP*Tjg`cKU1rhwsjUi%1AUg4^+P{kd$K6a{n4R<>Hnd58 zc4pNnY0k=pd1d!b6k?R+H%RzH9({u#_kMxGqpM3&m|Tu13!PXYdz$VhGTfu_*qAfY zEIhTVh^ML*Y-0dEwduYXzy-x9?CuglKG+JuoH&xU=gHI5* zTjYP>iN=a`20ulcDU$~2 zT{bq%EFJg!f-q*ctE@tOd$ZIWE4}N3a86mKxlc7({3(VHd$&%`V@{dSyhXCEz zA1HM8)wD$=wlcPn96w-jM{ZjxISMQYsMG_;4X)8e7|>@}Bg(vp_HCAHkWMetr0HFf z`#uS*Tx@ESG8#})#yzXr>_4Mg&@EQTAjhf%`}l@~D9Lau=1|y#S?rjx7BHSC`haZ)q4ZB-?jfX09J!pq%IP2J zGaIjISWEFV#gHI533~VIgXiGFjM=*~ag=0e09qj_7Pe2CJrya@n&s30a0K_hyVCR_ zhu`}Pv6AtZP9ys{3BGMSq(zFZ?#hs3fM=+s5cRnyLw8P`v4+E&85LRVdE4+GWf$)7U`D$-`&G&pE6 z5Dy~k@c++|L@GHTWgp9pcJh1>hSquXeCKBr%YLApo`$`|FThAD!cV(VM1LK)vX3e> zUwZI;ye_{Y=Yc3*(;P$5v(Wga?!d+Dsyq=C5yJZh5-aB`a*mNGy=S7A-{eC9?su~; zM2D;*6cU@Qd1E}tPcD8$p7M{8ZtHy=j!z040|%YO;GT^!hY2oJ2SQ$!f8LyJO+;@R z0DKyqFopgrb2i6z1cKZ9pd+mK7R6a;b!_8Sh9XWo36+=hAc@r#cdxD? zr#YH+8Z)=|=hIPsKB~W=)0}}BuV_tDloK$7s{Sl=CgEZ*NQ-k)c*k@t%ye?o*Cnmx zUCzO3N#qTsDyZ<+ljqJVQ9ty2{xFhlUKN=(qk+a=wZCh8YVS)+2D`)5B!gDZ0%tPwYfSL=kq!kbs| zCgbTBpVRy$Ennf*t#uFS?AwPC1nLI&oju^x^$$gKX)(VW@Kqv(Ry^7t*d{S@E8bW$ zKH~h^XWu{>n8}kl)-w(0;*25W~ zj0yCdu6zyExaUX1V&h(G?NuS%F!88zxPR4U8g|bRBm0}7)S#zCddB`l=E}KtQCuS z?}Ey>M^(s8%u#yeQzI9=*?hgRHE4FL$85Jyo1MTsiar38Pd@soC&z7=vf@8_+)4ylP6ZoNZq?CMq|Pm%UAw!;Pv@a} z7wtqgX)xX@kC}oK@ohISbkddiQCZt9H}Ij`^)u*grg~xHX7e}fcu&niRJMnDE=r;O zHZde9ws8g{*F$yPH6i)dTMU**S6@Ry@-OqTYhoX03Ocp-nBeXJ)-u0tK++Oe>m2(z zulkV3C4MwUxhD1&NiCFjRv$X=Aw8cK=P4iDf_ElAc$eaJX1NKEYf@H z^2%?Fh6AU?xtOH2YmAc3htt+rJUfD_tPHXB4cKGMxb_EZu!$p#$Vo;G5F@TU}jKT z*p2cQ=XJ4ig;4N*r2Bf)l@xgi9&knfNzoRoB?7nTf(qUdi#wvj0pWYeePCTc6&NVA zUOo-9!2-t_)T_bQf2=*>`Yqf)jRAVgjR`k~e+H}$%4=-(8r&d?q;TL~SkM;t2L{fq zp=E#}PJnPY2ndXhH3O=BLNy?07&0#V=7ht#1EvIlFB3Ym1otes`}b%fNLUl#dS?C+ zaPK8{CqiHO_^RwbCfYHg*uZVOpiq3o_>7>3Y&1o*7vLI%Y$SY!$4#UyIOfRTyDc!#qDVtwO1H^InhG;MUlt{5PXae8LYu~3a ze2M^15Mj0tLXiS4p9t(&gycS9rWSD9jLS9sn;c3`3=w*m@d&<@YM*8~XaERJnhg5nrSQR95V^uUxNC?m z^YJ|2DS*?-fO+rYDBA9%UIcjK_rO=+QZi$u0|MSV9u83 zKzqh3vi&~;&WpZjz)Rr4#q(EspfS8D-GGp=TNDDp`Z^}K7vmU(Zcfr$)p z>A=;*@7B)*$0qsV+(!Mn%mBdET66}q95`hmw}d`E%%AVwa}qt-Ipq`PX@62U?>==& zF8_*4*2dV*d5qigAAEfZrAw*g^~{$UJED0P{k>VzD-m=FNHPOD&I20UZF$j@(2&?W zE87~CXNj!x&JeW!&i=`s-Ub0GH>nkmZIdro>y0!SSCcL-ux#V)QJdE>XL4jMG$FTL zfL4=g&(cGaErs~DK^n*ltLJ72Qtx#M;|+IQLU9_sKc|8pX69%P(nWhG&RXB6(eeSB~^y23;uc!(%sSx*EvYd?RNE ziC4=RJn0ui9y9~K7g38_TWJ3^kWVhi9sEK(d4BQ$SGXXID%ajrvvN0HOyQ%6xskus zuk+iM0p1Q9B?&l0k7i`EPm_!ofpIApFQ=<0Qd&( zh~@8agHTw*2YY%qtZIw&Z!`6Zq62491s(K0xa{8|8)DKUIaM#8)_##z$INuZ)=T7^Ecn4wk7ZH z+nI_m%_M>Tx1ExHiuO%e@8IV!+unfpODIzds!E%Cy}kFR%36d=a1uj*WxcTV)IXem zs+)acVvK@F)18eK$V&J;1WU$hYX^E5sCh?E!A8I2pgU5{G@K|Paxg7B5H8HVfc`l1%$Zr>Sh;5958knptVYhtx+b~;Of9pxv^SgeV77WI% zqiDhG)7Q2`HUhpL=lNR!0XPT9-7l3$odUwK09*aHZo;{6<_tjL4#+wFeH?lS7_xDm zSn19YFh6dvc6n~wU>!aM-%3Sj2S^aSdDxUJ2t!&Gk$ZJtqfsu^xs^A%O}@T*E?GU@4R(Kqfu3VL^5@K=nMNtElU3w~ z6($Bty5qM=Z3I%G@L+NwyL|e<Rs1zfpVQJo zewIM~Lpmcgmiuznok%F{#F|3k8YbXu{WYhG>QNOgY0rXlW3=18OW+YK~*iZ_Ai6ZM(q9q1HJer~JFk-6uj!eOa zT8_x#TZrms08zQB4b;1FqLlS1f)kd`w77Bu-Ib;9h-eeZ_xY1bq(>Q59KOhMe?D4m z?#sYb6&JwPWM7M{tH~?(3!bJcbiK}ZMuhODWxDUhLhk0`oACW+O-*i~^VrrT>@e<( zY`%@AXPBrG`7L`xW?#)PMqnOM87pd8-w5kg;G`li@-rVd&pY%5@ItxuSgLjZNML)L zyO+b;+vJ`i9^T$AUR&2E#~&G^9pw+(nt^T87{eX?Xe44k#StZm*y?@YKJ*jd`UNBb zS`8w!lwZ~WEqtTN#P?5vjar>#TWhA}u(&QAMJuPJ7ti}#s9GeBDy`O%`sajITbm|qDi&FzvC#-yr#~E!uoX(#2?n6#8E%~) zYdjq)Aozm5l2ZV5G6AhTf(*BVKr$-k6#$h!_z2R*8iI*c{pBce-vO3I_cFKAN>F!$ z;+v@2F5tFaYBpMokggzph~+K^)A4*pXfmK=h+{T$ePRK1Ees%%W-T;#C#tpI0(z(# zU%-Fn?4mAGPs3T{^iaJR?P?tOZdKd84#KgCalnEg?tgqM{VmUN4FcBsWiTO~yu<9* zR@@h!oF@1`fR`>2o;FNpmk9u4S{V9Ss1e{Oaai{iEIKLk;q>Pa=W3L@3flsExkHr3 zfA)xJqAhjI64-tb$(l?CWRktu4)dDTRn)t7_JV?G!1Azj_s0LjI@Is=68K3`vFvc| zmb11CMQw@>b|}Xkahr^eqL;Im!^dE!vEmE=F$DX~0QZ@Czs5x(&~F6imn&`=G2VskLB5WLodup-9N=pt-| z?$!eKZ$Mhoo%HLw^aPL2GqkxX&8=u%ev8G&C9Wj_YR8v|pxrdW{E~`>YEU?>-n|ce z#8rb_Y8(_0mEdiPLF;@5K!=$3!z8qh)Vk7B4Ar^jgIoRT>ZUnG6kr)Si`M zpI(7$Q>u18$UFDK#h4!reQa{-;|k>RefI(G|lL42!01!xO5jJfW8oFW1)>k?~B($Ur; zB=f!Zhm}`XZQAgaPIlUDoVBzwCD5Bd09l*Ct=b^qoKJWGD6sb!KrEPg7Yem5qI`(6 z52m%_V-O~md(*?wm7Y!Tjm)+AYM6-e=$Ov1akcES$`+S#tSPLNcZdYqSKA{W04LX)4H>s^;~l7fmt@5FagP2%Z9+M8o0{jDBeJCVRCXV96fU+lGqgc}_--_m z*0`-oco<|uWu3ISYN*Gr0@YtiBcaF%yubOEUEptNs3?`bHZ%0Dyv()gXK?Ym2b-^# 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 Date: Sun, 7 Oct 2018 13:48:06 -0400 Subject: [PATCH 083/102] Added automatic update setting information to README --- README.md | 15 +++++++++++++++ docs/settings/automatically-update/1.PNG | Bin 0 -> 30324 bytes 2 files changed, 15 insertions(+) create mode 100644 docs/settings/automatically-update/1.PNG diff --git a/README.md b/README.md index 59b6e8fb..58063f11 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,21 @@ Note that many randomly generated filters may not produce meaningful results bec ![Randomize setting](docs/settings/randomize/4.PNG) +#### Automatically Update + +When enabled, automatically update will re-apply the currently selected filter to the set image whenever a setting is changed. + + - Resolution changed + - Filter kernel weights changed + - Filter factor changed + - Different filter is selected + - Input image changed + - Repeat filter setting is changed + +![Automatically update setting](docs/settings/automatically-update/1.PNG) + +Automatically update is enabled by default. The "Apply [Filter]" button can be used to manually apply a filter when automatic updating is disabled. + ### To-do Many features are still planned to make this project even better. diff --git a/docs/settings/automatically-update/1.PNG b/docs/settings/automatically-update/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..3612ee6e62512dde06f661908dc3b92b06e8f33a GIT binary patch literal 30324 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 Bk7)n^ literal 0 HcmV?d00001 From 985f456f8321a064f89762600657594deef742ed Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 7 Oct 2018 13:50:41 -0400 Subject: [PATCH 084/102] Fixed filter list indentation --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 58063f11..f3949ccc 100644 --- a/README.md +++ b/README.md @@ -113,12 +113,12 @@ See the [issues page](https://github.com/generic-github-user/Image-Convolution-P Sources of convolutional filter kernels used in this demo. - https://en.wikipedia.org/wiki/Kernel_(image_processing) - - Sharpen - - Box blur - - Gaussian blur - - 3 by 3 - - 5 by 5 - - Unsharp masking + - Sharpen + - Box blur + - Gaussian blur + - 3 by 3 + - 5 by 5 + - Unsharp masking ## Other Notes From 3c3da9dda90f1414c089fac2296ca5ae1747daa3 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 08:53:42 -0400 Subject: [PATCH 085/102] Added download.js library http://danml.com/download.html --- src/index.html | 1 + src/js/download.js | 180 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 src/js/download.js diff --git a/src/index.html b/src/index.html index bafa0c7c..d6abd59d 100644 --- a/src/index.html +++ b/src/index.html @@ -171,6 +171,7 @@

                              Load Image From URL

                              + diff --git a/src/js/download.js b/src/js/download.js new file mode 100644 index 00000000..8ee277f6 --- /dev/null +++ b/src/js/download.js @@ -0,0 +1,180 @@ +//download.js v4.2, by dandavis; 2008-2016. [CCBY2] see http://danml.com/download.html for tests/usage +// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime +// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs +// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling. +// v4 adds AMD/UMD, commonJS, and plain browser support +// v4.1 adds url download capability via solo URL argument (same domain/CORS only) +// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors +// https://github.com/rndme/download + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define([], factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.download = factory(); + } +}(this, function() { + + return function download(data, strFileName, strMimeType) { + + var self = window, // this script is only for browsers anyway... + defaultMime = "application/octet-stream", // this default mime also triggers iframe downloads + mimeType = strMimeType || defaultMime, + payload = data, + url = !strFileName && !strMimeType && payload, + anchor = document.createElement("a"), + toString = function(a) { + return String(a); + }, + myBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString), + fileName = strFileName || "download", + blob, + reader; + myBlob = myBlob.call ? myBlob.bind(self) : Blob; + + if (String(this) === "true") { //reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback + payload = [payload, mimeType]; + mimeType = payload[0]; + payload = payload[1]; + } + + + if (url && url.length < 2048) { // if no filename and no mime, assume a url was passed as the only argument + fileName = url.split("/").pop().split("?")[0]; + anchor.href = url; // assign href prop to temp anchor + if (anchor.href.indexOf(url) !== -1) { // if the browser determines that it's a potentially valid url path: + var ajax = new XMLHttpRequest(); + ajax.open("GET", url, true); + ajax.responseType = 'blob'; + ajax.onload = function(e) { + download(e.target.response, fileName, defaultMime); + }; + setTimeout(function() { + ajax.send(); + }, 0); // allows setting custom ajax headers using the return: + return ajax; + } // end if valid url? + } // end if url? + + + //go ahead and download dataURLs right away + if (/^data\:[\w+\-]+\/[\w+\-]+[,;]/.test(payload)) { + + if (payload.length > (1024 * 1024 * 1.999) && myBlob !== toString) { + payload = dataUrlToBlob(payload); + mimeType = payload.type || defaultMime; + } else { + return navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs: + navigator.msSaveBlob(dataUrlToBlob(payload), fileName) : + saver(payload); // everyone else can save dataURLs un-processed + } + + } //end if dataURL passed? + + blob = payload instanceof myBlob ? + payload : + new myBlob([payload], { + type: mimeType + }); + + + function dataUrlToBlob(strUrl) { + var parts = strUrl.split(/[:;,]/), + type = parts[1], + decoder = parts[2] == "base64" ? atob : decodeURIComponent, + binData = decoder(parts.pop()), + mx = binData.length, + i = 0, + uiArr = new Uint8Array(mx); + + for (i; i < mx; ++i) uiArr[i] = binData.charCodeAt(i); + + return new myBlob([uiArr], { + type: type + }); + } + + function saver(url, winMode) { + + if ('download' in anchor) { //html5 A[download] + anchor.href = url; + anchor.setAttribute("download", fileName); + anchor.className = "download-js-link"; + anchor.innerHTML = "downloading..."; + anchor.style.display = "none"; + document.body.appendChild(anchor); + setTimeout(function() { + anchor.click(); + document.body.removeChild(anchor); + if (winMode === true) { + setTimeout(function() { + self.URL.revokeObjectURL(anchor.href); + }, 250); + } + }, 66); + return true; + } + + // handle non-a[download] safari as best we can: + if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) { + url = url.replace(/^data:([\w\/\-\+]+)/, defaultMime); + if (!window.open(url)) { // popup blocked, offer direct download: + if (confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")) { + location.href = url; + } + } + return true; + } + + //do iframe dataURL download (old ch+FF): + var f = document.createElement("iframe"); + document.body.appendChild(f); + + if (!winMode) { // force a mime that will download: + url = "data:" + url.replace(/^data:([\w\/\-\+]+)/, defaultMime); + } + f.src = url; + setTimeout(function() { + document.body.removeChild(f); + }, 333); + + } //end saver + + + + + if (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL) + return navigator.msSaveBlob(blob, fileName); + } + + if (self.URL) { // simple fast and modern way using Blob and URL: + saver(self.URL.createObjectURL(blob), true); + } else { + // handle non-Blob()+non-URL browsers: + if (typeof blob === "string" || blob.constructor === toString) { + try { + return saver("data:" + mimeType + ";base64," + self.btoa(blob)); + } catch (y) { + return saver("data:" + mimeType + "," + encodeURIComponent(blob)); + } + } + + // Blob but not URL support: + reader = new FileReader(); + reader.onload = function(e) { + saver(this.result); + }; + reader.readAsDataURL(blob); + } + return true; + }; /* end download() */ +})); + +console.log("download.js loaded"); \ No newline at end of file From e209303b349acbf0169aad9cca93fd45a5d9a7ac Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:11:34 -0400 Subject: [PATCH 086/102] Added image downloading buttons #13 --- src/index.html | 39 +++++++++++++++++++++++++++++++-------- src/js/script.js | 31 ++++++++++++++++++++++++------- src/style.css | 15 ++++++++++++++- 3 files changed, 69 insertions(+), 16 deletions(-) diff --git a/src/index.html b/src/index.html index d6abd59d..c817d641 100644 --- a/src/index.html +++ b/src/index.html @@ -128,15 +128,38 @@

                            - - -
                            - Input image +
                            + + +
                            + Input image +
                            + + + + +
                            + Download input image +
                            - - -
                            - Output image + +
                            + + +
                            + Output image +
                            + + + + +
                            + Download output image +
                            diff --git a/src/js/script.js b/src/js/script.js index 34d43ed1..766bc07f 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -112,6 +112,11 @@ const randomize = function() { console.log("Kernel weight values randomized", kernels[custom]); } +const download_canvas = function(canvas) { + var data = canvas.toDataURL("image/png"); + download(data, "image.png", "image/png"); +} + // Change resolution of images const set_resolution = function(func) { // Get resolution from slider element @@ -178,13 +183,25 @@ const display_snackbar = function(message, time) { var snackbarContainer = $("#snackbar"); snackbarContainer[0].MaterialSnackbar.showSnackbar(data); } -$("dialog#load-image-url .confirm").click(() => { - load_image({ - url: $("dialog#load-image-url input")[0].value, - callback: set_filter - }); - display_snackbar("Image loaded.", 5); -}); +$("dialog#load-image-url .confirm").click( + () => { + load_image({ + url: $("dialog#load-image-url input")[0].value, + callback: set_filter + }); + display_snackbar("Image loaded.", 5); + } +); +$("#save-input").click( + () => { + download_canvas($("canvas#input")[0]); + } +); +$("#save-output").click( + () => { + download_canvas($("canvas#output")[0]); + } +); // Adapted from https://stackoverflow.com/a/22369599 const read_file = function() { diff --git a/src/style.css b/src/style.css index be5a467b..594907fc 100644 --- a/src/style.css +++ b/src/style.css @@ -59,7 +59,8 @@ header:hover>#subtitle { } canvas { - width: 49%; + width: 100%; + margin-bottom: 5%; image-rendering: pixelated; box-shadow: 4px 4px 4px #AAA; transition: 1s all ease; @@ -96,6 +97,18 @@ input#load-image-upload { position: absolute; } +#input-canvas, #output-canvas { + width: 50%; +} + +#input-canvas { + float: left; +} + +#output-canvas { + float: left; +} + #kernel-vis { width: 50%; float: left; From a53bff78fe016c24130f6308358d5b4a4503a16b Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:21:57 -0400 Subject: [PATCH 087/102] Added documentation for image download button to README.md #13 --- README.md | 6 ++++++ docs/settings/download-image/1.png | Bin 0 -> 25639 bytes 2 files changed, 6 insertions(+) create mode 100644 docs/settings/download-image/1.png diff --git a/README.md b/README.md index f3949ccc..ca9a6648 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,12 @@ When enabled, automatically update will re-apply the currently selected filter t Automatically update is enabled by default. The "Apply [Filter]" button can be used to manually apply a filter when automatic updating is disabled. +#### Image Download + +Both the unprocessed input image and the processed output image can be easily downloaded using the download button beneath each image. Clicking on one of these buttons will download the appropriate image in `.png` format as `image.png` (a suffix will be added for repeated downloads; `image (1).png`). Downloaded images can be re-uploaded through the "Upload Image" button. + +![Image download button](docs/settings/download-image/1.PNG) + ### To-do Many features are still planned to make this project even better. diff --git a/docs/settings/download-image/1.png b/docs/settings/download-image/1.png new file mode 100644 index 0000000000000000000000000000000000000000..41a5ffddb6175fcca1e4e996c82065a2294774dd GIT binary patch literal 25639 zcmcG#cU%*D^et)uY0`V|5I}m9P=r7LDbhi@RD(*9-c?8d=^X(nAt1d+kbY+O-=p z*REZ!#=U_#l51mPj@evy(^UaoE9+xe!|Y%^R?t+qcC9jo;JXzzW*^T*)!6OYHKO(( zf7iR53v4k5Y23jN-SwR9-My?_?XJ04IXJlsIN7I~3S)T#RdAd0dtz z#oQ34v?RaM(GBj?TQpx&B}sxusoeSw{3t}!Z**_oqa88Nd%JKqdf`bo4S)2)-Lj97 z=&wI^KmXs`4fI1kczgHxSysN+SrkK8pwEo>agCiu5&d|GFN4oHS{ty*D;Olm;dptZnOG z@yKOO=_8aqrk}q8DM%9amqnWJ70^^eK`G}$%A23T=DaSI@T zuZe4FuVcRk6#4|k&d6YUG&YOZAFQ3j%Dg-k9m}7Fgx4?Poid7Qhi;f6Zl&1bMG2I} z$n+Re*yB;&mS8;X8fIXDzWE+!327=i4LyZlNsEdbt*d=fAy9(`$y9o1KS>Z`Jz=B% z{$Dqd2l7h9H4_M&{#yod%cyGNq-_%_RYT1e! z+I0yDLvLFGM(e*L`7#!ReFvwfIm}aPPL_Nn``~ zTb2Lyfoe;{J4x`r`}9YmPiwq1yq)2$E3%RbI_N&sHoehnNuJ zn+!YtYdne|S>Qz7^X1J)NE&|Sjq;e0+S$PKX|LIUtBaF+-*?+zT%B9$+@VBtLJTTj zcp^K-;UgRV4IVRS-Fw#%oI)lb{+JOoLM4V#`gr_tR>0A)(X9VL6d*YqZH+7%yC-e( zb@SU^7qgaE@!8r}Ba=uf#F3veAIsE>jgivH8b>~Uep#2fm%gsy)`gf0C=S1?STN&Y9dFxg5;{1-Q?+Z38!LzfarIWpZTU;Ok(pUZX6pLmL?7aMnBr1Hoac(K zy_I3l_MxIeD}EJt63f|>LCq;G!d2jde7CbnZbIhEAVgc7?6jqJ5QQy%4Qs=Iyc!;u z^oTO|LvE<~Wf5x@CX_v#u>-&r5=j_nLvF{-13uf3FqDzly20Sr6thXF5bS+K zM-invEmxO~m-Z3p_)cA6lN$&R3v`-@-KWE~!C_Ioi%3@t&^Zrzl_Sta@6lwByDDwE zn$Ncz?n#)e)9}ASlRa@m25DYT;L_CX*EkaW6m##=8}oGh`3=ky)^c%dDsEz8UL>rn zPNm)n!NWXCn1>QY8G$~_LU^3<@s|n=(;zq_@~n|qn4hvn@~(z=LWE5slYcyoWSFPx z$H6`uyf3AIldl|wcEGBxH?h)aF7NmZRV7uK9CON)q?a;0!T=yzz?^4;J^ zVfe~USvTv*rh=rq!mQKj4u@)2b89@ZNvfIgZxfJw587bWGU2GtR=1h&^s-cxlnF?2 zSwPgni+7svmuh;c;?vID={Q*}YmB;`$YSWc)D)!{b)lOzJ%D0^8=tmf@7UJtvsO#r zhNUS&cN3=1z+qA(w9i^WAI=ozD_BXe>26?EOCy6gfo5-$c}B7D%yGmNF1Q-QgA^%S zX_;R>69$&qmdEPGz8VO}*LHVmj!jPwq7&~1U5;F%NTp)~cu-J0jR8wsfm$~u;1##A zeI{<<*7n~~@(7|hY}q;AcOCNCwJGQ-Zh}&Ol#5DK1$XJa7B^FAdFW?8|1p#xEp*l-eXmdUh+M@kkTo;*A>~>B`dLa<4UxBHGM}9-okq3Te5Lin-%IkP$Yy z8vK3Fe{O)m=%D}2TNmQ!aK5UXZ(I_rSMeMaS+r5sx-y_=CXo-68Nz!H@n(<@7u8(g z1rHPE!Uromp=^GQU?C+~HlUnw+=c<9Uw@tRy%6HfyIZWMH~8>{v038)N#k^{Opp#i z@1jy!@1!>2Yo-D99yT;$mGaJnDHAaYiZzr7tMRHSL@PBs+EdDYLm~aiA%lfOGFrg_ zTnT6~ua7lZ1Y0GuP&~t@QpyWrzY*I?#|8zj(tL&kB>Dx!HZqOios`&Lkzz|cL6wz# ziU+_PK#aOemvpRPC(OFq8j1`_^{oQ{#nr>qE3$`_aKfVtgWskKDC`-<4pM}+C2GJe z9to*Al1A$~iQ`KOeo`i-x;d~-P%OJ;Q4*eklJ1Aq7-4l5cx5&mzSFSP6k~NRGWf7n z$g~h8dmhao{hLOuM2-B5t6Y;Ly_>6 z@~s?ol}{;PfRT4B$74#4-L(^pN7_eX`#d#HO0DX&O~)_-Krz@2;GkA!L$pK7n(IR= z{I{PVUDNu~c%J4J0_o+Z*ck3eg&dbjht&v7@Z3p5(li|osRP*WDTW=s(fPo6yOTqi z08i>ch76{FX57i8>_o8Wy^I#t9++hrVhFpPOwvOWId$KDXg8b!zD4+j7uiq=yUTym zhLZJN#!a3|e3Rpgji6ro80&<$fYudC-2;(0Ztv5K;WwQ=9` zbW>QXgzFlc4=sFE1{}Rpg|Dh%_s|AmZw0P1oClr}gPvy@7cAyQsh(T4%qBjp?knei zcpqd;_^g}8T4#d3-ktehI#<3thEc0=30h=6mc9(EXF!C{fBLscB_@-+5=Z3PJ} zWl$B+TSsBk7QVZ`i62$J5;i#SmI(kb#Fk16MWD*UUA_eH$MJs*&k3MvO<@SmSy+fg z)A0=9>APzHo1xmaTDatG{P_6zgo^bmoHFV4gp|1)hPq2gKhCkts8Ezq!U#f9F&U3O zD-))c;;3@PBS;-M%b3<+fC{u~(fA&{mb|=&2X=I43V2VT`+WoV((09Jp(!!#LJ-#0 z%`BT{^MN&F< zl8y<^?Y??xNd90T9?3sS-ml;?`10Di5NSCkNZw*ok9kQ`TKzf68NBV^K%%#*v>l|H zINitofqb)jT^OO7az89g1jBVHXrH|b>VeyM-rD#8!g}fs5CMLVYh_}g*;43^qm86P zs*@+bKvFqcHZpEynzDVFfF7@InK$a)MV{iG9sXt1_PC*0Ud1c0Oz#X<;kRXhbXukp zdpc)3zvPz*q84)u=};Fb`VLx$ySNF3YkJ`q!k7+=(fAVB@QQAE#)L&aWcFtwG@#Zk zD0WopJ*YKr?JH8BA)JKF5j1kkDL0p|jgee0wrfMlPz(CVGwrYhaA$yH2(K_Ah!9^y z1sjf=(lXZ@t^}vTzStSu_Ufw?9DTu+h`CInMj6H}x|)Y~YnE}(DjOM+u8QODc@u;N zyhP5zo|Nl^%DDFzQ)dIuQc(KCg!uADAVnQ{rI*Jgn1k@Fj0MNBk$6M4||r}RTXAJoLZ9}t8AMwIx9xZ_13Z_u$yU} z%*iITQU$e@f?l%FkvkozD63>YI=F?vHIlV;H6){ix`ykbH;tL`)9>*rG`uTSJm)SW zCF&b1s4l#nDLhE(d5$zngRNgw-tkS{zmnNtb**ZJ zukEN^Kl+Hu`)7Xn+qAZu4c6z zn+ln0zd$KU&hSCO&>UX{kK$xwk{D3rE5H~D3l{BnZ5L>Cao~qo)KvJugtxX+7X`fH zsRB%S8o$%QXWGUK7h%}^D$O!3f}*zN5pS6CX$(&GnFCcT1Rq_Qj?stNBxF`fm+&L) zrbqWER+(9_-VDWGuzgyIL7vyRX*HNiRg)*(F{vka+>yi!$n>e*T}$cmXui6B;WutE ze@+>SCa&&9&D&Yx+c68MoM*iaI*$DQ5O9@awqoRErgd-2t8{{1c^@%4bK7R)^lP7g3uTaTi3h@N#0Mf5+Ne z{qV?5c9BO6|G6fcj;=a)(JZSD1ob`;7BcOML1)2+n4mn8E{bVumR@%E%n`J0U<}An zxKqEYP_2!+!$ez33h1U_!&1S53z_2L;}R<=%v%Ma3t1Es`^vXh_Fct1`*^K}rF+pU z8I~$`=`pybl3O6tGfidsELwr@-#&?DG|jSXSrBtskncx~^PwtvOkw5kN-&x&5GB=r zfz(tv*DN^(wG)EE#+e;zrB5`ZJhWAVf^Jyn@>w{9aQ#=B0A+urtA98$-QQf`r)+ur zqd5K6Jdco)2jI*rC!6nFHstd9gb_(f0IO7I5`(R;*;IOpJ)q}LX zui;0a@Lumy2WcF|wr+>!xVFK@*!a{Owv?q9$)Qtyw3PdTU&!+9@*4yxonGu)4Q(`e zp@PeasWNHy#Ol8%5p@qssD4J8Ujg(TK2E=o}Wmr{`K*qZH8MpM=SkaWOG`r#n{2o=;}issfnv4y!l=a zKlJF*(rU4q=ZiDi2}$egyjLY=WakesA#{Q)I)!(4ldy8gTywZr5I*i6MCSf1)dQ9u zTJtN*W!$Djz%bd3;NuT^@JrnMyW#x75NP-r{wCeO!|BK7F+Jws#W?!Oa|5@b8Wq#| z98+Kpfpa6t`}%ivv0nFY?Tc5#Kllg7PM{*KF^bbx5?49>0kj>;mO&acP8-tkR7S#K zM1D-fi+n<_k(@EDMbo5~nenm$i}5Yej85z(V_M~{t<+kbF)1I~35meCil^&p8G8{r zYbD}seVmgh?gI(LQS}JkMu?yibIh9=0~RtK~Oe zyzOg3P@e{ZWU~8Jyvbdii)cC4d^cBEqq<(F!}whM9r(c)Ms&bMCb*xNnYU5cgKQn$ z!u=^g%viOlk*L1#1=ji$kFk(+B%u3|{JcF*)kFeTb$bx9p~lU5C5;`T*JHG5sW^(S z(%XwR;)_At95lrDBLgDJEz^TMwM_Y*1^NJa1NY4jd$PydjwdaYLsj@emVp-u+BIvq z6CQ_t`f>qT`gVC810t?iU_7PyIMQxw0!lV>Qq}VqcY6=MJ>n7J4%)c!eB9dT4Uw?y@>)r$HZ-4>jNr4ZDk8==wb)yxjplce?kRm;lj!DC&bC(L zr|8TjY1BwzFHGy!10_yDV)7coR9H=nX_zNrI_KuwX2Zu8coQ-&A}XxDiX84WxS=B@ zKN2jQW7M{}uQ*1@;wnEC5*b(YV6ZZXP#bz~PlK)1OnI6H)P6DvVclr!z(1Pgju;d< z%6Z6&NWihPNPe~M^_t{sI$y!G-D&qa5p{g^+k%SM#ChUw1XMAU;JaVC*N#}c-Ws8{ zXZkAt>JYN(tVmkz4ucig+7#}NH#4JamzE&swF8pXl5Beqo8trS;cn~%;PdzPfHx*( zS)O?>Ga_p*hF4M21ke}G($U8OJ~u8NFRXx0_siXjX5{YU>1spAnZdwF(1)IobzV}y zCw(JaVO~|d5#f)g1k}xm!T(SNM$9dbC)XtF)O}6=1BKr-`W3p!H*&-{Y*O@Byczto zCx0ZupWiGR!5GD4bSmtY?D-^?bD*9me*nUuEY>16+&aM~R`es6w{=GMQWVIu_Q*(S z(nCfksMAg%8Y0chB&RYa;moE2T)GPJ}c9%f5blVecK)R9K~UE z@Yid|Mt08t(hkxUL zk+lS0c6_kRQOo#?$IG~_t+x_M(xJNXde~a-iP4kMQ*x5wQT-%HV1`XXmjGGv^f7Sa zVB{IndeCY&ToU%XBfEeY@KtREv~DeLYh=y1N*M-o5MW? zn{}jZD+Hc7J0t$DI-Wi%dcg4Qo__O_mcH^Yvsw!98j{8E7?K;o6dcRW$)KF?I%cnE zQ{yS%Yv!IE|E9f`NHnnbpJ1~7<I_(KtqJynXc=t;I! zKpUe0l?u9?&jC$=Wcwc*uxlmp!Qja_4SmjN8l3R(=Xi#-l<%E}@k^O2<;TuO+>u`E zCK<$r1e5ut@{_kTl=BoH<4W6?fJ{Ta$fsNSS$?x!WI#HesljbK%#f!|sgQG(bf~#{ z4P3TbV%3qVhU!JoNWV#h{UJU7XJ#OMl;2Z^ss?r}H+_I>M_Q~nP(!F8IF8ezEAAPI z^}ZvZ{;x=p2_I;i(|t-h^Gvn}>RX%T$DoDJAg2blL=W>@>jPVCtir7kU;UXV7TgFP z#1Klo!PtMe z5WGJ%FHI@NytnFmWa|=&uk3s`JWQ0$Pc3(@2MHgV@=lCjChtJtls+J+QcA@x7A2FC z@#F~4tMYlaT1M}rl0JK`Iwor?HzDrBIU();s={v3ABmVfhm1BzZfZrUo%ERK}!!U!Gr&B06QhBvXM1917KlF5n#tB$SF^}w{erNZxVGO z`J2MQ9Q9W&3K1Ux0_fn|RMn5dZ!3NblV9|lj62pVI+oj%esK5O5EcdyLwEl}5v%z| zM~K$}A3DE3hLY%odGtu%*h|9`TDB5XBwi`A2o8UGy%NC5pVj2}^Lc@7&n+veyi6%KN1vzYUS2 z6}joiET{7DWcxO9d5IJHiKR~Vx*v1i-{Z| z$(@$U@Nu;bR29C-}cxCllMOzw~#2k1x2O?y!!UFF)Vtqe*vXrG=e0S)AaD)!^6 z5_Fsv+~JOs?*LrG(C_O!LBeg!4p+ndcYsDurumqDLh_sSDXY^XJY0W(X3+L4OL~y~ zNd#9!f2b{9t6y~s`1KJh8K2(Q_2hN! zysPbPTkr@;8#`?Wp1B)CQYyKz#Z%zk=4y3CKZuS#iO?B06@@aguOQ;R9>ce8%8`r^ z2;NpSwP0rV7kN%P@onF)ZQ1K_jyZX9&Vbr+WM%}>o!QsN`p0_$hdqnKkii`Owuv4- zR1TT|J-2d;Ac~GMyRq#Ikgt$DcfX1qF-Z*Wz{1Vk#HE=23mR`K1s#&e#9wo?>2NUa zFTf2~;GUu_u}MkPev#n<<~FJS_UYZ~2z{ACofK^lS;1<7)s5@(fvOE|z!N5KN8E|( z^=y|-c&*O;JtF-Xzjznh&t&={cC=^yN|hDgql_V)?}@WBVw!pVO)R1frw?d&1Kmn0 zoM)VnM@efCt(A0GztNV0irhK=#fo>`?%E<*M)_6nrxyOv)A!Q@M^x??2448GJ3dt6 zcb>r3VLU-^L?^=6O(@_82dQDd?)ndts1(Eheu>^TAgnKp#nE`y9i6%sB=_aO}p%wE{Xoz0R2{ax)sI%6n3As`+ zg$0Nj=2Q(gpqpdlNIe6Pv`LZ1;Sw+Ob>An6F{Gb{3eNoAw%XDgKXd7b3EL!zT#xQ+s#gNK$eP*r9^TSgSl3kL&y z=RTThS1*6T+BcG0)@n8fht&X$c`*I+t=d~-+aqh;U!3hqG zaZqwq!#Jv@>8{zs<8Qsd(P?P%%sH~cZlwhkw{h z3{jGQ2-0uD@fql|W|!8u0`eq?eC7}? zt0+5Z=f?(26lIec}_01*kburNHukg+ZeNXnrK4XZ(ZjZ6XO+(-w-lEw6F0t3m@J7aNHyPv z2RPv*QY1ts0t171?vT9Jf_Et57(_Ac|IyC?uF#ZX*dErMpRIljT*bdS8-EL9!}l03 z>EX}G0ZhU)#QxLGpecRQpRo<99M{zdVFYuU#ImCSWByj%tQ@NMdzdJgcR-{yF06Oj zh$$(l;L+6XBo@{dG z;y_2|Tx>BcirTDDf?^pD6sQxP-LZjmFn%fEFs-5eog(AlZEIW**9%t)#&0g^yIXHG zS5ZO11^#m?Z9!U>QJ>D5VbPzjl)l-I5Fs5WERe_RrqHbb3uV3ZMa26QG4h(`mK$4v z_F`vVK6SfG3&H5tJ?5OM0THW%i=Aw8%S1#wUyJ-i#(tgG0$mj$jMh@cQ$D+* z{mRi&kFUEv0=~2We|X{|@CVKK-+6$ThPvP138XhmHjGu1lP3Rcl_MyUg>PCie1PUHgqsnOqS^0|x za*mSxX!!w1zPbjcG&?Dg?FCy<{^3Vzh|SJJPxX zkj}FORo3QL2oOjy|1N*Kbri@uhp=<`9ekNl6w6N+OXTA>M15s=cER+G`%>_N`@Zn( z&J_mwK|h-Hc;8f)$FQva;B?CL2+g#}tZhURLv(ne7b~m;9OroyEu0;z1cvOF5d6XWq`Lk`-utIZ z_(KpE$^OUBebEjvh<`RB%HmaYzv3Je_W`Hy4)4d8{uYw!12u@9$FyADCk{uoEhh@$fN{q=ZICwv*Z6 zh0>!V4WMB#vn%H?>4Zg6=)dw7GvM-*3;yHN{^zaZ|Bu3kDSKN|y8PX#OgwpMv9dg7 z+^iZTS`v^b0)=;PuC+2ThKPuMMVXIUupc&@1d7cqtDygqKF5y;?FZ#`N~4co7eg*X?yRqDNgJErPag|m^Bt8=8$;Z@jTR+K!pw*o${kX{7b;F6GfOcD zX3xN=PsAzeXQi3-M0wntxSqwt*jT5CM+t0UFy6p!1{wjSamU|uFakYbg>;D=!N{sV ze5ZdCC8nZHVCvhC==xRNjz(2_lSp4rt=Y5kc81v^{jGwexNxQP6t!ot(I6}74CHrQ z_tD^K7&dbhh&|+3A!f=YL+EPyHDoqk7a8zT8IuADSLYfCP|bDpFm^<8w&D);M#&f_ zgGC)ZPm{&w2qw7q``8m$w|^g1VU#b z_9(o}aiVwq@Hyy-)rQ);Cr&CkPo@_{=RC%Xz+!~ z&bM&EALmF3ZIR#S)_3UaZwwu261g7Gv_!8TxY-gPs5Rv+sivw*PPVY1ts6uDgW}*G zt$%|H+0ck6K?!(_EB~hK(U=U!`#*T!@5u;E>iaQ7VSsU@{%mRe_UH`~a+bQ^L#ET1xT%riH)A{4mqsrn|7oFCLF}s442qozSs@ zEMkUc`XBoq?hRD71!3Prqr9AzYp15=X?6z)AXingklBIhwrHPpo$-$0)!n(eHaMrW zhul;UQS_zi*z8V#`=iAh`p115^Q(~_s}Xk6d0L-P@Ip+x4x6(rf0773Z4-fhCEfrN zZ(oLkowXF)a5SjiHA_)7oy-wHHV@jNljTj6;JQ2AK2@f^OpIE{n^NY6te+edzE%e1 z`0(C&duIOJge&(W?w$jaE$(XtR#MWo;DB^^WZ(7f%skw19j$xSDrak}fgDWx&7OYL zxlrC9%c{OgN6YN0olmg5&?^|xgV|Tj5Z9RO8A1d*j{9+wxZ*dCX4RF{N{IS)Qrji^ zDQa(xKGyqXL(w6+7DXNK7}KXGtJxVbiaQ<=ojlvruv%DMgB(CTAf0R(gv3oekeyoV z*|iT-_N>5((uKkMn&H&`l^ABd1^TEO9BUpM`Jc+<%BGX_58=q~`q%FLA<4F0D;fOL z_{v~H9GyfM)+=^DT?UVrZUG7%KE#f7y!4OK0MxvqNMU}J8L%ZMX7%ZsRW}L;o%kGA@gBpG&2-C z-3u{*?T4mr$|qO{|-dReUo#miZ? zJRcvAFJcFI&V4>^kz`KVIluq#>=VW}oHrD+-t|6wUOkDu)&6$8wzye-xq_v2yMisf z9V$|dnG-G1Pb6UuekKvD-NHiq4@kgBs{hf-hv4-68s_^cv;tcp^S|`j-}URqZ~qJW z2KBEKs6V6m^mL0-HyxafG_+3~=T%eX6=8R7zTUY=gZ%F~`(9WNO@{O42JYf(p>(H_U)LsN6& zzy!URz&KnK1b(wuxQuTeMtU~OYMwo!o%lAvfpq#y-)dp%2=cYP9Pu1;##__J0N?ZE zE;MSUoS-x!jV+<`CdV%3Gh!#QAKmF-ChssHVB5AyA8qs zTv`e|j_Y`gWjyk!n(eV)^>cYwsJS)GPk7R5J;mxvZOn6mhAxNp=Jk$4_Lp z^QprKjpSf87RP`AIo@X@Th7^(?aSF+>!T|4&Vd%Fncmc>08bK(`by|?TPu7G;6X=} zymMg{mHgZ4_zB~`O-T%G{L|?85p)0HBxf6lrKgMX#{8QgWm6orCKh~7Ne|pq>JIov z#)G&XS`Mt#^_(FFZr^M#mHEsrV0J`(ownfu?)>tGU-kf{A1d=}MqA(WUew6iQ`B}U zJ+w(wa=lTAX=`0n<8GCUD6nRY1t{bdT;cpoc*6IpxUEJ`5#2ZX5rOd*2~4>K6ndFo z;5cShm_3wyicRO!z5p3>41mIAEkVJ~eq>F1f4PBNU2lX}z~JBRh&3ClUd#yajkH<_U4#v32MMKSu37)-$fl1+bLf`c>heZfMZ!K?7t z!oQY%;&|A1XkG#PV%;#Tfe#5EPp_m!Ytb2OA{8M-y-4R zk@^AFR?}PKbBu~SX2!FBa9f_bDK;2+a)S?ox-ErZ=%%1zSzP8||I@bkbAXfb-&p#8 zQ(*zfDvUfbG)+O}ng(E6|LX4ZQI0U>j0kNg9~L%vs4!PR1PseoFLx4f{~&@*`94N@ z4NL_$nw3T!=SidcVruR)mnhSRd;vF5CFAkn89grRBn%XKK`_xIZ*njIKsv2HLq6{_vHIA{j{fFnp+uhLqe63ZC@(hGC%3x1 zJxXBchZTOm3K7X=0as9Aeljo}A>MHLWPS zMwTuovs^}?QNoXe_i~M1+1WY`f-ONETUN2l|Wx<4yy?0KwUis;U9) zuq-x;_W=1n8HNFd5&mZKK=EI5H9wY@{B9r@``RG?_IUNke=J#u{M*F(iDhk0A6~(! zxDTjna&lwJQ}~IG=F`@%;_$h!dZ0Z|$8u;J<7Iaegv{R{WetV@p=Szf~ z!sLq4eya)6b1W2cfEsVR1W$TUIStYtR8}~D#YZlbIzTq6*`bW>%Q*oD5_opS$Jy+h zq3Cz>Zm^{CNN{oJ7X^YD20@L0Ge)ub`B79y$_%;kF=M1f)5iUwlKXnC3)S#k2JTOe zjND?)8Y?*)_}U4}QCOt>&Tnxz^Yii6#*HaO+}0xotFjfsV$qzmN8bBRLr>>y+NSn3 zyJ_s?kG@kV6y|$niW<8I2J8WgYZ;Y8qccc|G{#}?j%mZ+Sx%~d!%S)hAWqgA+uK?$ z&7*6Yg>m@RKd3%Ddh|lSX2I=nD`qKZOy?+?x}>o*YxiKA8TDyi51ljGMW9#iPve;O zp6UX5YRX}G{h)WhSD+D(C;SZOD|HQSb?n>t*KH;M$ok$nEI-SK5Ii2$O-2habGgs` zj~S1F!Z7I{bbcZB;D-wP30>&{W?18&8u(%oV(#sBtA26Ye}2F(4H4nge2sIlgMc;J z7XYXdz<)nV&eo*RooX+?CuOLhUwS`f~$U>nVRH(Cn4+Cp}BkzOf->g&b5iSe_!o~ zjOH4&aZ5J79x=b7UTMLY`M*Sxpx zuOratxq~&7YsWQk$v&?EY?^Jl@!n}#4HY<)+S%o+{SfjJwNZ)ldxe1^=g**<|6h#_ z%JyF*(qQ_3RU%vCMax}7$)t`mU9zJD+F)J@@=F{T^#5^ zEsgtVFQaz4-yrk>F=ftkL|68E3=HX98_yV8ZkKu=++3?vfD97`crel5*)&IDJ2KZ& zY-Khm+^t%`oiH_HD`A$w{?c;%T@ zFylRhO5rZ$zC(lwfj_LwH~;H+pttk?q>0yl%eKFlOktXm|BOTZP-g$6%%6F&>F}5- z@wstH>^LVA_%WDm@0*9gL;Y*vyCE!(>+h>NuYsNuIsy<0>JU#O-u2UEgMtG@6qJw2 z0ajLDCz=L)7GL4CY=X4kv_`rP`CDxjlcUqRW)+IhiKvrjuINlISLKn1t(R><8(FBj zBigm?6m;YH85}GaLuD9kSt43T6Xi39ZPhW|kBDoUmA{F(QLAq4)2nf&+bRxHXi#;; zf{uv}R(*xvJ8k_ppM( z-_*7scm)1k+|H~E5C5@0{)^7fJ>bdjgYKA5mA)`RR!wxRn^6hcdhN5RSkr{>V%-;R z?T&k<)Ewf;TGkyDZ!)R9(U1W3B(}{7ovEiY9}=~M__-0OJy}$eG=C1OaP6Z*`hNx? zA-nokUsg{c({rhiadiaDpgdBs^W;d8z}Z*%q02$_YWw*)0YMghv>cNRcIjKB(!;y% zbiP-aD=5F(6Vedb-5YfKkb8$yTf}%;Q~vj!ObOv|+NC4?(Zlw2 zzv?*I7sVzdyrQEJ2Z8xbaS78U%26MD2%ekR+xx%_ViZgRRj|gAl5GZG{XQXg`du37dvRUN{l7?AV z@`GMD{oPeD==>X@U&A*41@Q?8xi1i(S3wAFQ!yH5nt4kl=3FPeS3beKIgCnA}8iOtzHl7yTZHsCJ|koqXFXvc;4-pDZY zVW4W`u~B!=7t;KtFXa-Hbc7lTqqjdP>ojY(GBSpA404G-qvY-$g%0(P&Tv2_^t2Ju z(-6&ZkbC<%BUZZy{@JjmNfX|e^d>UG4N-0HGDojNA0H_b>BkWj-XGaGGNBGz^wm(i z0F`XK3})pEkqO*RW=BQD_D;l^vK{V%vk$&z%LyfN{o=H3U%0ct|BNXyqNB|DBL8`gft+&qRq?eDZ79=VCY~Kfe*-@nu*cv9A zzBJ<=I%);6HaSv+mpUuLGzVdoH@o1e?fGz8=O{|96I$py8ASDy5jCqGOj}yTSySn$ z+(WLCjCzIu83)YF3ua3GQ*|)oC@>V!!&T8hwKSaREBEAVTR?&0P6R5)Q4u|obqjZ-m-4Wf zUdsAUgSf}2p? zDYIZ3OGd87tHWzzUtdw9cN@;}2Q8RFxa3Z$d{;iIKqaMT!
                            zDm0!82*_^INsd?9 zHqY(G2RkDwI#<$6)Mpl6lJ&}&WA)|HT``@Mj0#b&ms(bLZ zHh+pN3ijOP4#el6hl^3w_)N8RAPwY_5rUIy(xA)ao>`cB1StBEG`=to$o#Rn``S@0 ztD+vb;Kfti_1(j*f~!@z)xHxE*kAUT7<*sWNa)*eMI+|9t}&l9$)wzG;ZDB(4hxU{ zyeTAP>gsmAwhmUr%)yMzp@!j8xR&MGYF zxZ`y1ZI60x8p?9Za3p_qT(-GUYCz>-1_wJrR6aXj?%na)2f#2Oih38a6P z%^6bux1?e0{2$97e|26;G4B7*DYwXDmqk@#(nc^GcuKYSl!miIOb8x%>@>7LabrF_ z(_DMr16^>GkvgzNsNKsnUJw`xX&oI4w?23V;A&@Eq{z*t_LGgcbr`5gGq%BbIN=zB zkaY6Zr*XA$KJ<)HLH$*{O*ymbi$gcDKx#GSsFma8JWA{8$85Emp#_)R@gbA-SZHdS zHZND$q7ws=QoUf65XQ2j1m{puFA<>em=+_WK$+gPbDEK0y!+3Aw7SZ#i0vegvyuM! zbG=AI)z39X;mHQL5xTLph-g_+rEcC&^5I!I3vqNcPhW=Iwg_hnr(oSs7OnqQsE+

                            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 WOp*)Y2>3r9ziF!*s1Xnj5&r`gecU?$ literal 0 HcmV?d00001 From eb803011ed088a4fdd7bbbd3a1f7af2d4408c9fa Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 10:30:58 -0400 Subject: [PATCH 088/102] Added GitHub repository link icon tooltip --- src/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.html b/src/index.html index c817d641..1541994a 100644 --- a/src/index.html +++ b/src/index.html @@ -24,6 +24,9 @@

                            +
                            + GitHub repository +
                            From 2641c16829fb957cfd5eba21ebfded99a6a57daf Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 10:32:34 -0400 Subject: [PATCH 089/102] Added filter kernel exporting #19 --- src/index.html | 40 ++++++++++++++++++++++++++++++++++++++++ src/js/script.js | 23 ++++++++++++++++++++--- 2 files changed, 60 insertions(+), 3 deletions(-) diff --git a/src/index.html b/src/index.html index 1541994a..2f116e22 100644 --- a/src/index.html +++ b/src/index.html @@ -113,6 +113,16 @@

                            Update convolutional filter whenever a setting is changed.
                            + + + + +
                            + Export filter kernel +
                            +

                            @@ -195,6 +205,36 @@

                            Load Image From URL

                            + +

                            Export Filter Kernel

                            +
                            +

                            + Copy and paste the code below, or press the download button to save a text file with the filter kernel information. +

                            + +
                            + + +
                            + +
                            + + + + +
                            + Download filter kernel data +
                            +
                            +
                            + +
                            +
                            + diff --git a/src/js/script.js b/src/js/script.js index 766bc07f..27a9b8f5 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -390,12 +390,29 @@ const load_image = function(config) { console.log("Image loaded", image_url); } -var dialog = $("dialog#load-image-url")[0]; +var load_image_url_dialog = $("dialog#load-image-url")[0]; $("button#load-image-url").click(() => { $("dialog#load-image-url input")[0].value = ""; - dialog.showModal(); + load_image_url_dialog.showModal(); }); -$("dialog#load-image-url button").click(() => dialog.close()); +$("dialog#load-image-url button").click(() => load_image_url_dialog.close()); + +var export_kernel_dialog = $("#export-kernel-dialog")[0]; +$("#export-kernel-button").click(() => { + $("#export-kernel-field").val(JSON.stringify(kernels[filter])); + $("#export-kernel-field-container").addClass("is-dirty"); + export_kernel_dialog.showModal(); +}); +$("#export-kernel-dialog .close").click(() => export_kernel_dialog.close()); +$("#export-kernel-download-button").click( + () => { + download( + JSON.stringify(kernels[filter]), + (kernels[filter].name + " Kernel.txt"), + "text/plain" + ); + } +); // Spread 1D image vector to a 3D array given width, height, and number of color channels const spread = function(image_data, width, height, channels) { From a8f29193b6d66ac9cfedf2f59a00e302ff46de47 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 10:33:17 -0400 Subject: [PATCH 090/102] Removed form element from image URL loading text field --- src/index.html | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 2f116e22..505818af 100644 --- a/src/index.html +++ b/src/index.html @@ -188,12 +188,10 @@

                            Load Image From URL

                            Enter an image URL below to load an image. Note that not all websites will allow this. Try Imgur.

                            -
                            -
                            - - -
                            -
                            +
                            + + +
                            + + + +
                            + Import filter kernel +

                            @@ -212,7 +220,9 @@

                            Export Filter Kernel

                            - +

                            @@ -233,6 +243,29 @@

                            Export Filter Kernel

                            + +

                            Import Filter Kernel

                            +
                            +

                            + Paste your filter kernel code here. +

                            +
                            + + +
                            +
                            +
                            + + +
                            +
                            + diff --git a/src/js/script.js b/src/js/script.js index 27a9b8f5..164fbafc 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -244,17 +244,22 @@ kernels.forEach( } ); -// Loop through each kernel and add it to the dropdown menu -for (var j = 0; j < kernels.length; j++) { - // Create new list item element - var item = $("
                          • "); - // Set name of list item to match kernel - item.text(kernels[j].name); - // Set onclick function for list item - item.attr("onclick", "set_filter(" + j + ")"); - // Add list item to dropdown - $("ul#kernels").append(item); +const update_filters = function() { + $("ul#kernels").empty(); + // Loop through each kernel and add it to the dropdown menu + for (var j = 0; j < kernels.length; j++) { + // Create new list item element + var item = $("
                          • "); + // Set name of list item to match kernel + item.text(kernels[j].name); + // Set onclick function for list item + item.attr("onclick", "set_filter(" + j + ")"); + // Add list item to dropdown + $("ul#kernels").append(item); + } } +update_filters(); + // Apply a filter kernel to the currently loadked image and display the result on the canvas const set_filter = function(kernel_id) { var iterations_field = $("input#repeat-filter")[0]; @@ -414,6 +419,21 @@ $("#export-kernel-download-button").click( } ); +var import_kernel_dialog = $("#import-kernel-dialog")[0]; +$("#import-kernel-button").click(() => { + $("#import-kernel-field").val(""); + import_kernel_dialog.showModal(); +}); +$("#import-kernel-dialog .confirm").click( + () => { + kernels.push(JSON.parse($("#import-kernel-field").val())); + set_filter(kernels.length - 1); + update_filters(); + display_snackbar("Filter kernel imported.", 5000); + } +); +$("#import-kernel-dialog .close").click(() => import_kernel_dialog.close()); + // Spread 1D image vector to a 3D array given width, height, and number of color channels const spread = function(image_data, width, height, channels) { // Create variable to store processed image data in From da025b1c21a223652b2d855493cd5f506cff406c Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 11:03:08 -0400 Subject: [PATCH 092/102] Added libraries to README.md #27 --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index ca9a6648..a893aca8 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,14 @@ Sources of convolutional filter kernels used in this demo. - 5 by 5 - Unsharp masking +#### Libraries + +The libraries used for the demo. + + - [jQuery](https://jquery.com/) + - [Material Design Lite](https://getmdl.io/) + - [download.js by dandavis](http://danml.com/download.html) + ## Other Notes - Image used for early testing of program: From 352fc0a5c6ffdb2dd8a6b12c21051305785ba205 Mon Sep 17 00:00:00 2001 From: generic-github-user <40661852+generic-github-user@users.noreply.github.com> Date: Sun, 14 Oct 2018 11:14:41 -0400 Subject: [PATCH 093/102] Added HTML dialog element polyfill https://github.com/GoogleChrome/dialog-polyfill See issue #26 --- README.md | 8 +- src/dialog-polyfill/dialog-polyfill.css | 37 ++ src/dialog-polyfill/dialog-polyfill.js | 742 ++++++++++++++++++++++++ src/index.html | 2 + src/js/script.js | 5 + 5 files changed, 793 insertions(+), 1 deletion(-) create mode 100644 src/dialog-polyfill/dialog-polyfill.css create mode 100644 src/dialog-polyfill/dialog-polyfill.js diff --git a/README.md b/README.md index a893aca8..3aab7ad0 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,9 @@ Sources of convolutional filter kernels used in this demo. - 5 by 5 - Unsharp masking -#### Libraries +#### Code + +##### Libraries The libraries used for the demo. @@ -134,6 +136,10 @@ The libraries used for the demo. - [Material Design Lite](https://getmdl.io/) - [download.js by dandavis](http://danml.com/download.html) +##### Polyfills + + - [Dialog Polyfill](https://github.com/GoogleChrome/dialog-polyfill) + ## Other Notes - Image used for early testing of program: diff --git a/src/dialog-polyfill/dialog-polyfill.css b/src/dialog-polyfill/dialog-polyfill.css new file mode 100644 index 00000000..6b38bf08 --- /dev/null +++ b/src/dialog-polyfill/dialog-polyfill.css @@ -0,0 +1,37 @@ +dialog { + position: absolute; + left: 0; right: 0; + width: -moz-fit-content; + width: -webkit-fit-content; + width: fit-content; + height: -moz-fit-content; + height: -webkit-fit-content; + height: fit-content; + margin: auto; + border: solid; + padding: 1em; + background: white; + color: black; + display: block; +} + +dialog:not([open]) { + display: none; +} + +dialog + .backdrop { + position: fixed; + top: 0; right: 0; bottom: 0; left: 0; + background: rgba(0,0,0,0.1); +} + +._dialog_overlay { + position: fixed; + top: 0; right: 0; bottom: 0; left: 0; +} + +dialog.fixed { + position: fixed; + top: 50%; + transform: translate(0, -50%); +} \ No newline at end of file diff --git a/src/dialog-polyfill/dialog-polyfill.js b/src/dialog-polyfill/dialog-polyfill.js new file mode 100644 index 00000000..d75ecd07 --- /dev/null +++ b/src/dialog-polyfill/dialog-polyfill.js @@ -0,0 +1,742 @@ +(function() { + + // nb. This is for IE10 and lower _only_. + var supportCustomEvent = window.CustomEvent; + if (!supportCustomEvent || typeof supportCustomEvent === 'object') { + supportCustomEvent = function CustomEvent(event, x) { + x = x || {}; + var ev = document.createEvent('CustomEvent'); + ev.initCustomEvent(event, !!x.bubbles, !!x.cancelable, x.detail || null); + return ev; + }; + supportCustomEvent.prototype = window.Event.prototype; + } + + /** + * @param {Element} el to check for stacking context + * @return {boolean} whether this el or its parents creates a stacking context + */ + function createsStackingContext(el) { + while (el && el !== document.body) { + var s = window.getComputedStyle(el); + var invalid = function(k, ok) { + return !(s[k] === undefined || s[k] === ok); + } + if (s.opacity < 1 || + invalid('zIndex', 'auto') || + invalid('transform', 'none') || + invalid('mixBlendMode', 'normal') || + invalid('filter', 'none') || + invalid('perspective', 'none') || + s['isolation'] === 'isolate' || + s.position === 'fixed' || + s.webkitOverflowScrolling === 'touch') { + return true; + } + el = el.parentElement; + } + return false; + } + + /** + * Finds the nearest from the passed element. + * + * @param {Element} el to search from + * @return {HTMLDialogElement} dialog found + */ + function findNearestDialog(el) { + while (el) { + if (el.localName === 'dialog') { + return /** @type {HTMLDialogElement} */ (el); + } + el = el.parentElement; + } + return null; + } + + /** + * Blur the specified element, as long as it's not the HTML body element. + * This works around an IE9/10 bug - blurring the body causes Windows to + * blur the whole application. + * + * @param {Element} el to blur + */ + function safeBlur(el) { + if (el && el.blur && el !== document.body) { + el.blur(); + } + } + + /** + * @param {!NodeList} nodeList to search + * @param {Node} node to find + * @return {boolean} whether node is inside nodeList + */ + function inNodeList(nodeList, node) { + for (var i = 0; i < nodeList.length; ++i) { + if (nodeList[i] === node) { + return true; + } + } + return false; + } + + /** + * @param {HTMLFormElement} el to check + * @return {boolean} whether this form has method="dialog" + */ + function isFormMethodDialog(el) { + if (!el || !el.hasAttribute('method')) { + return false; + } + return el.getAttribute('method').toLowerCase() === 'dialog'; + } + + /** + * @param {!HTMLDialogElement} dialog to upgrade + * @constructor + */ + function dialogPolyfillInfo(dialog) { + this.dialog_ = dialog; + this.replacedStyleTop_ = false; + this.openAsModal_ = false; + + // Set a11y role. Browsers that support dialog implicitly know this already. + if (!dialog.hasAttribute('role')) { + dialog.setAttribute('role', 'dialog'); + } + + dialog.show = this.show.bind(this); + dialog.showModal = this.showModal.bind(this); + dialog.close = this.close.bind(this); + + if (!('returnValue' in dialog)) { + dialog.returnValue = ''; + } + + if ('MutationObserver' in window) { + var mo = new MutationObserver(this.maybeHideModal.bind(this)); + mo.observe(dialog, {attributes: true, attributeFilter: ['open']}); + } else { + // IE10 and below support. Note that DOMNodeRemoved etc fire _before_ removal. They also + // seem to fire even if the element was removed as part of a parent removal. Use the removed + // events to force downgrade (useful if removed/immediately added). + var removed = false; + var cb = function() { + removed ? this.downgradeModal() : this.maybeHideModal(); + removed = false; + }.bind(this); + var timeout; + var delayModel = function(ev) { + if (ev.target !== dialog) { return; } // not for a child element + var cand = 'DOMNodeRemoved'; + removed |= (ev.type.substr(0, cand.length) === cand); + window.clearTimeout(timeout); + timeout = window.setTimeout(cb, 0); + }; + ['DOMAttrModified', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument'].forEach(function(name) { + dialog.addEventListener(name, delayModel); + }); + } + // Note that the DOM is observed inside DialogManager while any dialog + // is being displayed as a modal, to catch modal removal from the DOM. + + Object.defineProperty(dialog, 'open', { + set: this.setOpen.bind(this), + get: dialog.hasAttribute.bind(dialog, 'open') + }); + + this.backdrop_ = document.createElement('div'); + this.backdrop_.className = 'backdrop'; + this.backdrop_.addEventListener('click', this.backdropClick_.bind(this)); + } + + dialogPolyfillInfo.prototype = { + + get dialog() { + return this.dialog_; + }, + + /** + * Maybe remove this dialog from the modal top layer. This is called when + * a modal dialog may no longer be tenable, e.g., when the dialog is no + * longer open or is no longer part of the DOM. + */ + maybeHideModal: function() { + if (this.dialog_.hasAttribute('open') && document.body.contains(this.dialog_)) { return; } + this.downgradeModal(); + }, + + /** + * Remove this dialog from the modal top layer, leaving it as a non-modal. + */ + downgradeModal: function() { + if (!this.openAsModal_) { return; } + this.openAsModal_ = false; + this.dialog_.style.zIndex = ''; + + // This won't match the native exactly because if the user set top on a centered + // polyfill dialog, that top gets thrown away when the dialog is closed. Not sure it's + // possible to polyfill this perfectly. + if (this.replacedStyleTop_) { + this.dialog_.style.top = ''; + this.replacedStyleTop_ = false; + } + + // Clear the backdrop and remove from the manager. + this.backdrop_.parentNode && this.backdrop_.parentNode.removeChild(this.backdrop_); + dialogPolyfill.dm.removeDialog(this); + }, + + /** + * @param {boolean} value whether to open or close this dialog + */ + setOpen: function(value) { + if (value) { + this.dialog_.hasAttribute('open') || this.dialog_.setAttribute('open', ''); + } else { + this.dialog_.removeAttribute('open'); + this.maybeHideModal(); // nb. redundant with MutationObserver + } + }, + + /** + * Handles clicks on the fake .backdrop element, redirecting them as if + * they were on the dialog itself. + * + * @param {!Event} e to redirect + */ + backdropClick_: function(e) { + if (!this.dialog_.hasAttribute('tabindex')) { + // Clicking on the backdrop should move the implicit cursor, even if dialog cannot be + // focused. Create a fake thing to focus on. If the backdrop was _before_ the dialog, this + // would not be needed - clicks would move the implicit cursor there. + var fake = document.createElement('div'); + this.dialog_.insertBefore(fake, this.dialog_.firstChild); + fake.tabIndex = -1; + fake.focus(); + this.dialog_.removeChild(fake); + } else { + this.dialog_.focus(); + } + + var redirectedEvent = document.createEvent('MouseEvents'); + redirectedEvent.initMouseEvent(e.type, e.bubbles, e.cancelable, window, + e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, + e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget); + this.dialog_.dispatchEvent(redirectedEvent); + e.stopPropagation(); + }, + + /** + * Focuses on the first focusable element within the dialog. This will always blur the current + * focus, even if nothing within the dialog is found. + */ + focus_: function() { + // Find element with `autofocus` attribute, or fall back to the first form/tabindex control. + var target = this.dialog_.querySelector('[autofocus]:not([disabled])'); + if (!target && this.dialog_.tabIndex >= 0) { + target = this.dialog_; + } + if (!target) { + // Note that this is 'any focusable area'. This list is probably not exhaustive, but the + // alternative involves stepping through and trying to focus everything. + var opts = ['button', 'input', 'keygen', 'select', 'textarea']; + var query = opts.map(function(el) { + return el + ':not([disabled])'; + }); + // TODO(samthor): tabindex values that are not numeric are not focusable. + query.push('[tabindex]:not([disabled]):not([tabindex=""])'); // tabindex != "", not disabled + target = this.dialog_.querySelector(query.join(', ')); + } + safeBlur(document.activeElement); + target && target.focus(); + }, + + /** + * Sets the zIndex for the backdrop and dialog. + * + * @param {number} dialogZ + * @param {number} backdropZ + */ + updateZIndex: function(dialogZ, backdropZ) { + if (dialogZ < backdropZ) { + throw new Error('dialogZ should never be < backdropZ'); + } + this.dialog_.style.zIndex = dialogZ; + this.backdrop_.style.zIndex = backdropZ; + }, + + /** + * Shows the dialog. If the dialog is already open, this does nothing. + */ + show: function() { + if (!this.dialog_.open) { + this.setOpen(true); + this.focus_(); + } + }, + + /** + * Show this dialog modally. + */ + showModal: function() { + if (this.dialog_.hasAttribute('open')) { + throw new Error('Failed to execute \'showModal\' on dialog: The element is already open, and therefore cannot be opened modally.'); + } + if (!document.body.contains(this.dialog_)) { + throw new Error('Failed to execute \'showModal\' on dialog: The element is not in a Document.'); + } + if (!dialogPolyfill.dm.pushDialog(this)) { + throw new Error('Failed to execute \'showModal\' on dialog: There are too many open modal dialogs.'); + } + + if (createsStackingContext(this.dialog_.parentElement)) { + console.warn('A dialog is being shown inside a stacking context. ' + + 'This may cause it to be unusable. For more information, see this link: ' + + 'https://github.com/GoogleChrome/dialog-polyfill/#stacking-context'); + } + + this.setOpen(true); + this.openAsModal_ = true; + + // Optionally center vertically, relative to the current viewport. + if (dialogPolyfill.needsCentering(this.dialog_)) { + dialogPolyfill.reposition(this.dialog_); + this.replacedStyleTop_ = true; + } else { + this.replacedStyleTop_ = false; + } + + // Insert backdrop. + this.dialog_.parentNode.insertBefore(this.backdrop_, this.dialog_.nextSibling); + + // Focus on whatever inside the dialog. + this.focus_(); + }, + + /** + * Closes this HTMLDialogElement. This is optional vs clearing the open + * attribute, however this fires a 'close' event. + * + * @param {string=} opt_returnValue to use as the returnValue + */ + close: function(opt_returnValue) { + if (!this.dialog_.hasAttribute('open')) { + throw new Error('Failed to execute \'close\' on dialog: The element does not have an \'open\' attribute, and therefore cannot be closed.'); + } + this.setOpen(false); + + // Leave returnValue untouched in case it was set directly on the element + if (opt_returnValue !== undefined) { + this.dialog_.returnValue = opt_returnValue; + } + + // Triggering "close" event for any attached listeners on the . + var closeEvent = new supportCustomEvent('close', { + bubbles: false, + cancelable: false + }); + this.dialog_.dispatchEvent(closeEvent); + } + + }; + + var dialogPolyfill = {}; + + dialogPolyfill.reposition = function(element) { + var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; + var topValue = scrollTop + (window.innerHeight - element.offsetHeight) / 2; + element.style.top = Math.max(scrollTop, topValue) + 'px'; + }; + + dialogPolyfill.isInlinePositionSetByStylesheet = function(element) { + for (var i = 0; i < document.styleSheets.length; ++i) { + var styleSheet = document.styleSheets[i]; + var cssRules = null; + // Some browsers throw on cssRules. + try { + cssRules = styleSheet.cssRules; + } catch (e) {} + if (!cssRules) { continue; } + for (var j = 0; j < cssRules.length; ++j) { + var rule = cssRules[j]; + var selectedNodes = null; + // Ignore errors on invalid selector texts. + try { + selectedNodes = document.querySelectorAll(rule.selectorText); + } catch(e) {} + if (!selectedNodes || !inNodeList(selectedNodes, element)) { + continue; + } + var cssTop = rule.style.getPropertyValue('top'); + var cssBottom = rule.style.getPropertyValue('bottom'); + if ((cssTop && cssTop !== 'auto') || (cssBottom && cssBottom !== 'auto')) { + return true; + } + } + } + return false; + }; + + dialogPolyfill.needsCentering = function(dialog) { + var computedStyle = window.getComputedStyle(dialog); + if (computedStyle.position !== 'absolute') { + return false; + } + + // We must determine whether the top/bottom specified value is non-auto. In + // WebKit/Blink, checking computedStyle.top == 'auto' is sufficient, but + // Firefox returns the used value. So we do this crazy thing instead: check + // the inline style and then go through CSS rules. + if ((dialog.style.top !== 'auto' && dialog.style.top !== '') || + (dialog.style.bottom !== 'auto' && dialog.style.bottom !== '')) { + return false; + } + return !dialogPolyfill.isInlinePositionSetByStylesheet(dialog); + }; + + /** + * @param {!Element} element to force upgrade + */ + dialogPolyfill.forceRegisterDialog = function(element) { + if (window.HTMLDialogElement || element.showModal) { + console.warn('This browser already supports , the polyfill ' + + 'may not work correctly', element); + } + if (element.localName !== 'dialog') { + throw new Error('Failed to register dialog: The element is not a dialog.'); + } + new dialogPolyfillInfo(/** @type {!HTMLDialogElement} */ (element)); + }; + + /** + * @param {!Element} element to upgrade, if necessary + */ + dialogPolyfill.registerDialog = function(element) { + if (!element.showModal) { + dialogPolyfill.forceRegisterDialog(element); + } + }; + + /** + * @constructor + */ + dialogPolyfill.DialogManager = function() { + /** @type {!Array} */ + this.pendingDialogStack = []; + + var checkDOM = this.checkDOM_.bind(this); + + // The overlay is used to simulate how a modal dialog blocks the document. + // The blocking dialog is positioned on top of the overlay, and the rest of + // the dialogs on the pending dialog stack are positioned below it. In the + // actual implementation, the modal dialog stacking is controlled by the + // top layer, where z-index has no effect. + this.overlay = document.createElement('div'); + this.overlay.className = '_dialog_overlay'; + this.overlay.addEventListener('click', function(e) { + this.forwardTab_ = undefined; + e.stopPropagation(); + checkDOM([]); // sanity-check DOM + }.bind(this)); + + this.handleKey_ = this.handleKey_.bind(this); + this.handleFocus_ = this.handleFocus_.bind(this); + + this.zIndexLow_ = 100000; + this.zIndexHigh_ = 100000 + 150; + + this.forwardTab_ = undefined; + + if ('MutationObserver' in window) { + this.mo_ = new MutationObserver(function(records) { + var removed = []; + records.forEach(function(rec) { + for (var i = 0, c; c = rec.removedNodes[i]; ++i) { + if (!(c instanceof Element)) { + continue; + } else if (c.localName === 'dialog') { + removed.push(c); + } + removed = removed.concat(c.querySelectorAll('dialog')); + } + }); + removed.length && checkDOM(removed); + }); + } + }; + + /** + * Called on the first modal dialog being shown. Adds the overlay and related + * handlers. + */ + dialogPolyfill.DialogManager.prototype.blockDocument = function() { + document.documentElement.addEventListener('focus', this.handleFocus_, true); + document.addEventListener('keydown', this.handleKey_); + this.mo_ && this.mo_.observe(document, {childList: true, subtree: true}); + }; + + /** + * Called on the first modal dialog being removed, i.e., when no more modal + * dialogs are visible. + */ + dialogPolyfill.DialogManager.prototype.unblockDocument = function() { + document.documentElement.removeEventListener('focus', this.handleFocus_, true); + document.removeEventListener('keydown', this.handleKey_); + this.mo_ && this.mo_.disconnect(); + }; + + /** + * Updates the stacking of all known dialogs. + */ + dialogPolyfill.DialogManager.prototype.updateStacking = function() { + var zIndex = this.zIndexHigh_; + + for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) { + dpi.updateZIndex(--zIndex, --zIndex); + if (i === 0) { + this.overlay.style.zIndex = --zIndex; + } + } + + // Make the overlay a sibling of the dialog itself. + var last = this.pendingDialogStack[0]; + if (last) { + var p = last.dialog.parentNode || document.body; + p.appendChild(this.overlay); + } else if (this.overlay.parentNode) { + this.overlay.parentNode.removeChild(this.overlay); + } + }; + + /** + * @param {Element} candidate to check if contained or is the top-most modal dialog + * @return {boolean} whether candidate is contained in top dialog + */ + dialogPolyfill.DialogManager.prototype.containedByTopDialog_ = function(candidate) { + while (candidate = findNearestDialog(candidate)) { + for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) { + if (dpi.dialog === candidate) { + return i === 0; // only valid if top-most + } + } + candidate = candidate.parentElement; + } + return false; + }; + + dialogPolyfill.DialogManager.prototype.handleFocus_ = function(event) { + if (this.containedByTopDialog_(event.target)) { return; } + + if (document.activeElement === document.documentElement) { return; } + + event.preventDefault(); + event.stopPropagation(); + safeBlur(/** @type {Element} */ (event.target)); + + if (this.forwardTab_ === undefined) { return; } // move focus only from a tab key + + var dpi = this.pendingDialogStack[0]; + var dialog = dpi.dialog; + var position = dialog.compareDocumentPosition(event.target); + if (position & Node.DOCUMENT_POSITION_PRECEDING) { + if (this.forwardTab_) { + // forward + dpi.focus_(); + } else if (event.target !== document.documentElement) { + // backwards if we're not already focused on + document.documentElement.focus(); + } + } else { + // TODO: Focus after the dialog, is ignored. + } + + return false; + }; + + dialogPolyfill.DialogManager.prototype.handleKey_ = function(event) { + this.forwardTab_ = undefined; + if (event.keyCode === 27) { + event.preventDefault(); + event.stopPropagation(); + var cancelEvent = new supportCustomEvent('cancel', { + bubbles: false, + cancelable: true + }); + var dpi = this.pendingDialogStack[0]; + if (dpi && dpi.dialog.dispatchEvent(cancelEvent)) { + dpi.dialog.close(); + } + } else if (event.keyCode === 9) { + this.forwardTab_ = !event.shiftKey; + } + }; + + /** + * Finds and downgrades any known modal dialogs that are no longer displayed. Dialogs that are + * removed and immediately readded don't stay modal, they become normal. + * + * @param {!Array} removed that have definitely been removed + */ + dialogPolyfill.DialogManager.prototype.checkDOM_ = function(removed) { + // This operates on a clone because it may cause it to change. Each change also calls + // updateStacking, which only actually needs to happen once. But who removes many modal dialogs + // at a time?! + var clone = this.pendingDialogStack.slice(); + clone.forEach(function(dpi) { + if (removed.indexOf(dpi.dialog) !== -1) { + dpi.downgradeModal(); + } else { + dpi.maybeHideModal(); + } + }); + }; + + /** + * @param {!dialogPolyfillInfo} dpi + * @return {boolean} whether the dialog was allowed + */ + dialogPolyfill.DialogManager.prototype.pushDialog = function(dpi) { + var allowed = (this.zIndexHigh_ - this.zIndexLow_) / 2 - 1; + if (this.pendingDialogStack.length >= allowed) { + return false; + } + if (this.pendingDialogStack.unshift(dpi) === 1) { + this.blockDocument(); + } + this.updateStacking(); + return true; + }; + + /** + * @param {!dialogPolyfillInfo} dpi + */ + dialogPolyfill.DialogManager.prototype.removeDialog = function(dpi) { + var index = this.pendingDialogStack.indexOf(dpi); + if (index === -1) { return; } + + this.pendingDialogStack.splice(index, 1); + if (this.pendingDialogStack.length === 0) { + this.unblockDocument(); + } + this.updateStacking(); + }; + + dialogPolyfill.dm = new dialogPolyfill.DialogManager(); + dialogPolyfill.formSubmitter = null; + dialogPolyfill.useValue = null; + + /** + * Installs global handlers, such as click listers and native method overrides. These are needed + * even if a no dialog is registered, as they deal with
                            . + */ + if (window.HTMLDialogElement === undefined) { + + /** + * If HTMLFormElement translates method="DIALOG" into 'get', then replace the descriptor with + * one that returns the correct value. + */ + var testForm = document.createElement('form'); + testForm.setAttribute('method', 'dialog'); + if (testForm.method !== 'dialog') { + var methodDescriptor = Object.getOwnPropertyDescriptor(HTMLFormElement.prototype, 'method'); + if (methodDescriptor) { + // nb. Some older iOS and older PhantomJS fail to return the descriptor. Don't do anything + // and don't bother to update the element. + var realGet = methodDescriptor.get; + methodDescriptor.get = function() { + if (isFormMethodDialog(this)) { + return 'dialog'; + } + return realGet.call(this); + }; + var realSet = methodDescriptor.set; + methodDescriptor.set = function(v) { + if (typeof v === 'string' && v.toLowerCase() === 'dialog') { + return this.setAttribute('method', v); + } + return realSet.call(this, v); + }; + Object.defineProperty(HTMLFormElement.prototype, 'method', methodDescriptor); + } + } + + /** + * Global 'click' handler, to capture the or