diff --git a/.gitmodules b/.gitmodules index 07f1b7c968..f30fbaaa53 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,10 +1,3 @@ -[submodule "buildbot"] - path = buildbot - url = https://github.com/Polymer/buildbot.git [submodule "tools"] path = tools url = https://github.com/Polymer/tools.git -[submodule "platform"] - path = platform - url = https://github.com/Polymer/platform.git - branch = master diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9a37da351a..fc269eab67 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ We are more than happy to accept external contributions to the project in the fo Before we can accept patches, there's a quick web form you need to fill out. -- If you're contributing as and individual (e.g. you own the intellectual property), fill out [this form](http://code.google.com/legal/individual-cla-v1.0.html). +- If you're contributing as an individual (e.g. you own the intellectual property), fill out [this form](http://code.google.com/legal/individual-cla-v1.0.html). - If you're contributing under a company, fill out [this form](http://code.google.com/legal/corporate-cla-v1.0.html) instead. This CLA asserts that contributions are owned by you and that we can license all work under our [license](LICENSE). diff --git a/build.log b/build.log new file mode 100644 index 0000000000..f0ae67d66b --- /dev/null +++ b/build.log @@ -0,0 +1,41 @@ +BUILD LOG +--------- +Build Time: 2013-06-17T12:21:13 + +NODEJS INFORMATION +================== +nodejs: v0.10.4 +chai: 1.6.1 +grunt: 0.4.1 +grunt-audit: 0.0.0 +grunt-contrib-uglify: 0.2.2 +grunt-contrib-yuidoc: 0.4.0 +grunt-karma-0.9.1: 0.4.3 +karma: 0.9.2 +karma-chrome-launcher: 0.0.1 +karma-coffee-preprocessor: 0.0.1 +karma-crbot-reporter: 0.0.3 +karma-firefox-launcher: 0.0.2 +karma-jasmine: 0.0.1 +karma-mocha: 0.0.1 +karma-phantomjs-launcher: 0.0.2 +karma-requirejs: 0.0.1 +karma-script-launcher: 0.0.1 +mocha: 1.10.0 + +REPO REVISIONS +============== +polymer: 24689e70b7ebb122909d4ed17b53a2b2a455a2e5 +platform: 569a80ae565a0ecbe01d3a79128021fdf1caaff7 +ShadowDOM: 7a50b20542a559a0ffccb9e3a9330246a1f9fb5f +HTMLImports: 7960a892cd4461333809605c3806ba4da699b1f0 +CustomElements: 76bfa07e8bfd5ed75c0c14682a66c40600e6baa0 +PointerEvents: 9bab6b80e74fcbbdb4145286aae264ae54175419 +PointerGestures: d6328b1e65daf111720f76b70f6d469a91a96335 +mdv: aaa18dc0069764ec9f25654c949e4a1071f551f2 + +BUILD HASHES +============ +polymer.min.js: 434cd0b3e8d81699760c75043ab6f7c5676db006 +polymer.native.min.js: 4f966c0f59a909dd3ac28068f1164016551ec179 +polymer.sandbox.min.js: 7444aba9341f62aeb0d89538ee033c77c16cd0e0 \ No newline at end of file diff --git a/buildbot b/buildbot deleted file mode 160000 index 3a4761157a..0000000000 --- a/buildbot +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3a4761157af4459ccab0bc831dd651bc48f0fdca diff --git a/conf/karma.conf.js b/conf/karma.conf.js index dcaaad0e6d..6f16f1783b 100644 --- a/conf/karma.conf.js +++ b/conf/karma.conf.js @@ -7,21 +7,21 @@ // base path, that will be used to resolve files and exclude -basePath = '../'; +basePath = '../../'; // list of files / patterns to load in the browser files = [ - 'tools/test/mocha-htmltest.js', - 'conf/mocha.conf.js', - 'node_modules/chai/chai.js', - 'polymer.js', - 'test/js/*.js', - {pattern: 'tools/**/*.js', included: false}, - {pattern: 'platform/**/*', included: false}, - {pattern: 'src/*.js', included: false}, - {pattern: 'test/**/*.html', included: false}, - {pattern: 'test/**/*.css', included: false}, - {pattern: 'test/**/*.js', included: false} + 'polymer/tools/test/mocha-htmltest.js', + 'polymer/conf/mocha.conf.js', + 'polymer/node_modules/chai/chai.js', + 'polymer/polymer.js', + 'polymer/test/js/*.js', + {pattern: 'platform/*.js', included: false}, + {pattern: 'polymer/tools/**/*.js', included: false}, + {pattern: 'polymer/src/*.js', included: false}, + {pattern: 'polymer/test/**/*.html', included: false}, + {pattern: 'polymer/test/**/*.css', included: false}, + {pattern: 'polymer/test/**/*.js', included: false} ]; // list of files to exclude diff --git a/conf/mocha.conf.js b/conf/mocha.conf.js index 1d34e5f2fd..f2d67e8c6c 100644 --- a/conf/mocha.conf.js +++ b/conf/mocha.conf.js @@ -2,5 +2,5 @@ mocha.setup({ ui:'tdd', slow: 1000, timeout: 30000, - htmlbase: '/base/test/' + htmlbase: '/base/polymer/test/' }); diff --git a/gruntfile.js b/gruntfile.js index bf6c4c34fe..609e61ec5e 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -5,18 +5,19 @@ */ module.exports = function(grunt) { Platform = [ - 'platform/platform.min.js' + '../platform/platform.min.js' ]; PlatformNative = [ - 'platform/platform.native.min.js' + '../platform/platform.native.min.js' ]; PlatformSandbox = [ - 'platform/platform.sandbox.min.js' + '../platform/platform.sandbox.min.js' ]; Polymer = [ + 'src/build.js', 'src/lang.js', 'src/oop.js', 'src/register.js', @@ -24,7 +25,6 @@ module.exports = function(grunt) { 'src/trackObservers.js', 'src/bindProperties.js', 'src/bindMDV.js', - 'src/polymerSyntaxMDV.js', 'src/attrs.js', 'src/marshal.js', 'src/events.js', @@ -77,7 +77,8 @@ module.exports = function(grunt) { }, uglify: { options: { - banner: '/* Copyright 2013 The Polymer Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. */\n' + banner: grunt.file.read('LICENSE'), + nonull: true }, Polymer: { options: { @@ -124,6 +125,28 @@ module.exports = function(grunt) { } } }, + audit: { + polymer: { + options: { + repos: [ + '.', + '../platform', + '../ShadowDOM', + '../HTMLImports', + '../CustomElements', + '../PointerEvents', + '../PointerGestures', + '../mdv' + ] + }, + dest: 'build.log', + src: [ + 'polymer.min.js', + 'polymer.native.min.js', + 'polymer.sandbox.min.js' + ] + } + }, pkg: grunt.file.readJSON('package.json') }); @@ -131,9 +154,10 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-yuidoc'); grunt.loadNpmTasks('grunt-karma-0.9.1'); + grunt.loadNpmTasks('grunt-audit'); // tasks - grunt.registerTask('default', ['uglify']); + grunt.registerTask('default', ['uglify', 'audit']); grunt.registerTask('minify', ['uglify']); grunt.registerTask('docs', ['yuidoc']); grunt.registerTask('test', ['karma:polymer']); diff --git a/package.json b/package.json index 4a6a5e51a2..4bdb502fd1 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "grunt-karma-0.9.1": "~0.4.3", "karma-mocha": "*", "karma-script-launcher": "*", - "karma-crbot-reporter": "*" + "karma-crbot-reporter": "*", + "grunt-audit": "~0.0.1" } } diff --git a/platform b/platform deleted file mode 160000 index 704bceda73..0000000000 --- a/platform +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 704bceda739a583140832385460ec45dcabfb389 diff --git a/polymer.js b/polymer.js index 0c8d1b677b..6bfd596799 100644 --- a/polymer.js +++ b/polymer.js @@ -9,7 +9,7 @@ var thisFile = 'polymer.js'; var scopeName = 'Polymer'; var modules = [ - 'platform/platform.js', + '../platform/platform.js', 'src/lang.js', 'src/oop.js', 'src/register.js', @@ -17,7 +17,6 @@ var modules = [ 'src/trackObservers.js', 'src/bindProperties.js', 'src/bindMDV.js', - 'src/polymerSyntaxMDV.js', 'src/attrs.js', 'src/marshal.js', 'src/events.js', diff --git a/polymer.min.js b/polymer.min.js index 25703793ab..93dc0d2a6a 100644 --- a/polymer.min.js +++ b/polymer.min.js @@ -1,9 +1,35 @@ -/* Copyright 2013 The Polymer Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. */ -function PointerGestureEvent(a,b){var c=b||{},d=document.createEvent("Event"),e={bubbles:!0,cancelable:!0};return Object.keys(e).forEach(function(a){a in c&&(e[a]=c[a])}),d.initEvent(a,e.bubbles,e.cancelable),Object.keys(c).forEach(function(a){d[a]=b[a]}),d.preventTap=this.preventTap,d}if(window.Platform=window.Platform||{},window.logFlags=window.logFlags||{},function(a){var b=a.flags||{};location.search.slice(1).split("&").forEach(function(a){a=a.split("="),a[0]&&(b[a[0]]=a[1]||!0)}),b.shadow=(b.shadowdom||b.shadow||b.polyfill||!HTMLElement.prototype.webkitCreateShadowRoot)&&"polyfill",a.flags=b}(Platform),"polyfill"===Platform.flags.shadow){var SideTable;"undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0?SideTable=WeakMap:function(){var a=Object.defineProperty,b=Object.hasOwnProperty,c=(new Date).getTime()%1e9;SideTable=function(){this.name="__st"+(1e9*Math.random()>>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}();var ShadowDOMPolyfill={};!function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function d(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){switch(c){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":return}Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function e(a){var b=a.__proto__||Object.getPrototypeOf(a),c=y.get(b);if(c)return c;var d=e(b),f=m(d);return j(b,f,a),f}function f(a,b){h(a,b,!0)}function g(a,b){h(b,a,!1)}function h(a,b,c){Object.getOwnPropertyNames(a).forEach(function(d){if(!(d in b)){A&&a.__lookupGetter__(d);var e;try{e=Object.getOwnPropertyDescriptor(a,d)}catch(f){e=B}var g,h;if(c&&"function"==typeof e.value)return b[d]=function(){return this.impl[d].apply(this.impl,arguments)},void 0;g=function(){return this.impl[d]},(e.writable||e.set)&&(h=function(a){this.impl[d]=a}),Object.defineProperty(b,d,{get:g,set:h,configurable:e.configurable,enumerable:e.enumerable})}})}function i(a,b,c){var e=a.prototype;j(e,b,c),d(b,a)}function j(a,c,d){var e=c.prototype;b(void 0===y.get(a)),y.set(a,c),f(a,e),d&&g(e,d)}function k(a,b){return y.get(b.prototype)===a}function l(a){var b=Object.getPrototypeOf(a),c=e(b),d=m(c);return j(b,d,a),d}function m(a){function b(b){a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b}function n(a){return a instanceof z.EventTarget||a instanceof z.Event||a instanceof z.DOMImplementation}function o(a){return a instanceof E||a instanceof D||a instanceof F||a instanceof C}function p(a){if(null===a)return null;b(o(a));var c=x.get(a);if(!c){var d=e(a);c=new d(a),x.set(a,c)}return c}function q(a){return null===a?null:(b(n(a)),a.impl)}function r(a){return a&&n(a)?q(a):a}function s(a){return a&&!n(a)?p(a):a}function t(a,c){null!==c&&(b(o(a)),b(void 0===c||n(c)),x.set(a,c))}function u(a,b,c){Object.defineProperty(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function v(a,b){u(a,b,function(){return p(this.impl[b])})}function w(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=p(this);return a[b].apply(a,arguments)}})})}var x=new SideTable,y=new SideTable,z=Object.create(null);Object.getOwnPropertyNames(window);var A=/Firefox/.test(navigator.userAgent),B={get:function(){},set:function(){},configurable:!0,enumerable:!0},C=DOMImplementation,D=Event,E=Node,F=Window;a.assert=b,a.defineGetter=u,a.defineWrapGetter=v,a.forwardMethodsToWrapper=w,a.isWrapperFor=k,a.mixin=c,a.registerObject=l,a.registerWrapper=i,a.rewrap=t,a.unwrap=q,a.unwrapIfNeeded=r,a.wrap=p,a.wrapIfNeeded=s,a.wrappers=z}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof J.ShadowRoot}function c(a){var b=a.localName;return"content"===b||"shadow"===b}function d(a){return!!a.shadowRoot}function e(a){var b;return a.parentNode||(b=a.defaultView)&&I(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return f.insertionParent||a.getHostForShadowRoot(f);var i=a.eventParentsTable.get(f);if(i){for(var j=1;j=0;b--)if(!c(a[b]))return a[b];return null}function i(d,e){for(var g=[];d;){for(var i=[],k=e,m=void 0;k;){var n=null;if(i.length){if(c(k)&&(n=h(i),j(m))){var o=i[i.length-1];i.push(o)}}else i.push(k);if(l(k,d))return i[i.length-1];b(k)&&i.pop(),m=k,k=f(k,n,g)}d=b(d)?a.getHostForShadowRoot(d):d.parentNode}}function j(a){return a.insertionParent}function k(a){for(var b;b=a.parentNode;)a=b;return a}function l(a,b){return k(a)===k(b)}function m(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function n(b){if(!L.get(b)){L.set(b,!0),m(b.type)||a.renderAllPending();var c=I(b.target),d=I(b);return o(d,c)}}function o(a,b){var c=g(b);return"load"===a.type&&2===c.length&&c[0].target instanceof J.Document&&c.shift(),p(a,c)&&q(a,c)&&r(a,c),P.set(a,u.NONE),N.set(a,null),a.defaultPrevented}function p(a,b){for(var c,d=b.length-1;d>0;d--){var e=b[d].target,f=b[d].currentTarget;if(e!==f&&(c=u.CAPTURING_PHASE,!s(b[d],a,c)))return!1}return!0}function q(a,b){var c=u.AT_TARGET;return s(b[0],a,c)}function r(a,b){for(var c,d=a.bubbles,e=1;ed;d++)b[d]=f(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(this.impl[b].apply(this.impl,arguments))}}var f=a.wrap;c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){j(a instanceof f)}function c(a,b,c,d){if(a.nodeType!==f.DOCUMENT_FRAGMENT_NODE)return a.parentNode&&a.parentNode.removeChild(a),a.parentNode_=b,a.previousSibling_=c,a.nextSibling_=d,c&&(c.nextSibling_=a),d&&(d.previousSibling_=a),[a];for(var e,g=[];e=a.firstChild;)a.removeChild(e),g.push(e),e.parentNode_=b;for(var h=0;h";case Node.TEXT_NODE:return c(a.nodeValue);case Node.COMMENT_NODE:return"";default:throw console.error(a),new Error("not implemented")}}function e(a){for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=d(c);return b}function f(a,b,c){var d=c||"div";a.textContent="";var e=n(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(o(f))}function g(a){j.call(this,a)}function h(b){k(g,b,function(){return a.renderAllPending(),this.impl[b]})}function i(b){Object.defineProperty(g.prototype,b,{value:function(){return a.renderAllPending(),this.impl[b].apply(this.impl,arguments)},configurable:!0,enumerable:!0})}var j=a.wrappers.Element,k=a.defineGetter,l=a.mixin,m=a.registerWrapper,n=a.unwrap,o=a.wrap,p=/&|<|"/g,q={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},r=window.HTMLElement;g.prototype=Object.create(j.prototype),l(g.prototype,{get innerHTML(){return e(this)},set innerHTML(a){f(this,a,this.tagName)},get outerHTML(){return d(this)},set outerHTML(a){if(this.invalidateShadowRenderer())throw new Error("not implemented");this.impl.outerHTML=a}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollLeft","scrollTop","scrollWidth"].forEach(h),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(i),m(r,g,document.createElement("b")),a.wrappers.HTMLElement=g,a.getInnerHTML=e,a.setInnerHTML=f}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a),this.olderShadowRoot_=null}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get olderShadowRoot(){return this.olderShadowRoot_},invalidateShadowRenderer:function(){c.prototype.invalidateShadowRenderer.call(this,!0)}}),f&&e(f,b),a.wrappers.HTMLShadowElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=l.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);l.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=d.createDocumentFragment();c=a.firstChild;)e.appendChild(c);return e}function d(a){e.call(this,a)}var e=a.wrappers.HTMLElement,f=a.getInnerHTML,g=a.mixin,h=a.registerWrapper,i=a.setInnerHTML,j=a.wrap,k=new SideTable,l=new SideTable,m=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),g(d.prototype,{get content(){if(m)return j(this.impl.content);var a=k.get(this);return a||(a=c(this),k.set(this,a)),a},get innerHTML(){return f(this.content)},set innerHTML(a){i(this.content,a),this.invalidateShadowRenderer()}}),m&&h(m,d),a.wrappers.HTMLTemplateElement=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement;a.mixin;var g=a.registerWrapper,h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";var b=a.GetElementsByInterface,c=a.ParentNodeInterface,d=a.SelectorsInterface,e=a.mixin,f=a.registerObject,g=f(document.createDocumentFragment());e(g.prototype,c),e(g.prototype,d),e(g.prototype,b);var h=f(document.createTextNode("")),i=f(document.createComment(""));a.wrappers.Comment=i,a.wrappers.DocumentFragment=g,a.wrappers.Text=h}(this.ShadowDOMPolyfill),function(a){"use strict";function b(b){var d=i(b.impl.ownerDocument.createDocumentFragment());c.call(this,d),g(d,this);var e=b.shadowRoot;a.nextOlderShadowTreeTable.set(this,e),j.set(this,b)}var c=a.wrappers.DocumentFragment,d=a.elementFromPoint,e=a.getInnerHTML,f=a.mixin,g=a.rewrap,h=a.setInnerHTML,i=a.unwrap,j=new SideTable;b.prototype=Object.create(c.prototype),f(b.prototype,{get innerHTML(){return e(this)},set innerHTML(a){h(this,a),this.invalidateShadowRenderer()},invalidateShadowRenderer:function(){return j.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return d(this,this.ownerDocument,a,b)},getElementById:function(a){return this.querySelector("#"+a)}}),a.wrappers.ShadowRoot=b,a.getHostForShadowRoot=function(a){return j.get(a)}}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(a){a.firstChild_=a.firstChild,a.lastChild_=a.lastChild}function d(a){F(a instanceof E);for(var d=a.firstChild;d;d=d.nextSibling)b(d);c(a)}function e(a){var b=H(a);d(a),b.textContent=""}function f(a,c){var e=H(a),f=H(c);f.nodeType===E.DOCUMENT_FRAGMENT_NODE?d(c):(h(c),b(c)),a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var g=I(e.lastChild);g&&(g.nextSibling_=g.nextSibling),e.appendChild(f)}function g(a,c){var d=H(a),e=H(c);b(c),c.previousSibling&&(c.previousSibling.nextSibling_=c),c.nextSibling&&(c.nextSibling.previousSibling_=c),a.lastChild===c&&(a.lastChild_=c),a.firstChild===c&&(a.firstChild_=c),d.removeChild(e)}function h(a){var b=H(a),c=b.parentNode;c&&g(I(c),a)}function i(a,b){k(b).push(a),L.set(a,b);var c=K.get(a);c||K.set(a,c=[]),c.push(b)}function j(a){J.set(a,[])}function k(a){return J.get(a)}function l(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function m(a,b,c){for(var d=l(a),e=0;e>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}()}if(function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=window.mixin}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;if(DOMTokenList.prototype.add=function(){for(var a=0;a",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];ob[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?qb||(tb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",yb))}function N(a){var b=a.ref;return b?b.content:a.content}function O(a,b){this.type=a,this.value=b}function P(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new O(Ab,a.slice(e)));break}if(d>0&&d>e&&b.push(new O(Ab,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==Ab?g.value+=f:b.push(new O(Ab,f));break}var h=a.slice(e,d).trim();b.push(new O(Bb,h)),e=d+2}return b}function Q(a,b,c,d,e){var f,g=e&&e[mb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function R(a,b,c,d,e){var f=P(c);if(f.length&&(1!=f.length||f[0].type!=Ab)){if(1==f.length&&f[0].type==Bb)return Q(a,b,d,f[0].value,e),void 0;for(var g=new Y,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},cb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var db=new cb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var eb=new cb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var fb,gb=new cb("valueBinding"),hb=new cb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),fb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=hb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=bb({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?sb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;sb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var ib="bind",jb="repeat",kb="if",lb="syntax",mb="getBinding",nb="getInstanceModel",ob={template:!0,repeat:!0,bind:!0,ref:!0},pb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},qb="undefined"!=typeof HTMLTemplateElement,rb="template, "+Object.keys(pb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),sb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a){for(var b=a||{},c=1;c-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0; -else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=mixin(c,g)),b[i]=mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}();var ShadowDOMPolyfill={};!function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function d(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){switch(c){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":return}Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function e(a){var b=a.__proto__||Object.getPrototypeOf(a),c=z.get(b);if(c)return c;var d=e(b),f=n(d);return k(b,f,a),f}function f(a,b){i(a,b,!0)}function g(a,b){i(b,a,!1)}function h(a){return/^on[a-z]+$/.test(a)}function i(b,c,d){Object.getOwnPropertyNames(b).forEach(function(e){if(!(e in c)){B&&b.__lookupGetter__(e);var f;try{f=Object.getOwnPropertyDescriptor(b,e)}catch(g){f=C}var i,j;if(d&&"function"==typeof f.value)return c[e]=function(){return this.impl[e].apply(this.impl,arguments)},void 0;var k=h(e);i=k?a.getEventHandlerGetter(e):function(){return this.impl[e]},(f.writable||f.set)&&(j=k?a.getEventHandlerSetter(e):function(a){this.impl[e]=a}),Object.defineProperty(c,e,{get:i,set:j,configurable:f.configurable,enumerable:f.enumerable})}})}function j(a,b,c){var e=a.prototype;k(e,b,c),d(b,a)}function k(a,c,d){var e=c.prototype;b(void 0===z.get(a)),z.set(a,c),f(a,e),d&&g(e,d)}function l(a,b){return z.get(b.prototype)===a}function m(a){var b=Object.getPrototypeOf(a),c=e(b),d=n(c);return k(b,d,a),d}function n(a){function b(b){a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b}function o(a){return a instanceof A.EventTarget||a instanceof A.Event||a instanceof A.DOMImplementation}function p(a){return a instanceof F||a instanceof E||a instanceof G||a instanceof D}function q(a){if(null===a)return null;b(p(a));var c=y.get(a);if(!c){var d=e(a);c=new d(a),y.set(a,c)}return c}function r(a){return null===a?null:(b(o(a)),a.impl)}function s(a){return a&&o(a)?r(a):a}function t(a){return a&&!o(a)?q(a):a}function u(a,c){null!==c&&(b(p(a)),b(void 0===c||o(c)),y.set(a,c))}function v(a,b,c){Object.defineProperty(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function w(a,b){v(a,b,function(){return q(this.impl[b])})}function x(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=q(this);return a[b].apply(a,arguments)}})})}var y=new SideTable,z=new SideTable,A=Object.create(null);Object.getOwnPropertyNames(window);var B=/Firefox/.test(navigator.userAgent),C={get:function(){},set:function(){},configurable:!0,enumerable:!0},D=DOMImplementation,E=Event,F=Node,G=Window;a.assert=b,a.defineGetter=v,a.defineWrapGetter=w,a.forwardMethodsToWrapper=x,a.isWrapperFor=l,a.mixin=c,a.registerObject=m,a.registerWrapper=j,a.rewrap=u,a.unwrap=r,a.unwrapIfNeeded=s,a.wrap=q,a.wrapIfNeeded=t,a.wrappers=A}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof M.ShadowRoot}function c(a){var b=a.localName;return"content"===b||"shadow"===b}function d(a){return!!a.shadowRoot}function e(a){var b;return a.parentNode||(b=a.defaultView)&&L(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return j(f)||a.getHostForShadowRoot(f);var i=a.eventParentsTable.get(f);if(i){for(var k=1;k=0;b--)if(!c(a[b]))return a[b];return null}function i(d,e){for(var g=[];d;){for(var i=[],j=e,l=void 0;j;){var n=null;if(i.length){if(c(j)&&(n=h(i),k(l))){var o=i[i.length-1];i.push(o)}}else i.push(j);if(m(j,d))return i[i.length-1];b(j)&&i.pop(),l=j,j=f(j,n,g)}d=b(d)?a.getHostForShadowRoot(d):d.parentNode}}function j(b){return a.insertionParentTable.get(b)}function k(a){return j(a)}function l(a){for(var b;b=a.parentNode;)a=b;return a}function m(a,b){return l(a)===l(b)}function n(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function o(b){if(!O.get(b)){O.set(b,!0),n(b.type)||a.renderAllPending();var c=L(b.target),d=L(b);return p(d,c)}}function p(a,b){var c=g(b);return"load"===a.type&&2===c.length&&c[0].target instanceof M.Document&&c.shift(),W.set(a,c),q(a,c)&&r(a,c)&&s(a,c),S.set(a,v.NONE),Q.set(a,null),a.defaultPrevented}function q(a,b){for(var c,d=b.length-1;d>0;d--){var e=b[d].target,f=b[d].currentTarget;if(e!==f&&(c=v.CAPTURING_PHASE,!t(b[d],a,c)))return!1}return!0}function r(a,b){var c=v.AT_TARGET;return t(b[0],a,c)}function s(a,b){for(var c,d=a.bubbles,e=1;e=g;g++)if(d||(d=b[g].currentTarget===e),d){var h=b[g].currentTarget;(g!==f||h instanceof M.Node)&&(a[c++]=h)}a.length=c}return a},stopPropagation:function(){T.set(this,!0)},stopImmediatePropagation:function(){T.set(this,!0),U.set(this,!0)}},J(X,v,document.createEvent("Event"));var Y=x("UIEvent",v),Z=x("CustomEvent",v),$={get relatedTarget(){return R.get(this)||L(K(this).relatedTarget)}},_=I({initMouseEvent:y("initMouseEvent",14)},$),ab=I({initFocusEvent:y("initFocusEvent",5)},$),bb=x("MouseEvent",Y,_),cb=x("FocusEvent",Y,ab),db=x("MutationEvent",v,{initMutationEvent:y("initMutationEvent",3),get relatedNode(){return L(this.impl.relatedNode)}}),eb=Object.create(null),fb=function(){try{new window.MouseEvent("click")}catch(a){return!1}return!0}();if(!fb){var gb=function(a,b,c){if(c){var d=eb[c];b=I(I({},d),b)}eb[a]=b};gb("Event",{bubbles:!1,cancelable:!1}),gb("CustomEvent",{detail:null},"Event"),gb("UIEvent",{view:null,detail:0},"Event"),gb("MouseEvent",{screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null},"UIEvent"),gb("FocusEvent",{relatedTarget:null},"UIEvent")}var hb=window.EventTarget,ib=["addEventListener","removeEventListener","dispatchEvent"];[Element,Window,Document].forEach(function(a){var b=a.prototype;ib.forEach(function(a){Object.defineProperty(b,a+"_",{value:b[a]})})}),B.prototype={addEventListener:function(a,b,c){if(A(b)){var d=new u(a,b,c),e=N.get(this);if(e){for(var f=0;fd;d++)b[d]=f(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(this.impl[b].apply(this.impl,arguments))}}var f=a.wrap;c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){j(a instanceof f)}function c(a,b,c,d){if(a.nodeType!==f.DOCUMENT_FRAGMENT_NODE)return a.parentNode&&a.parentNode.removeChild(a),a.parentNode_=b,a.previousSibling_=c,a.nextSibling_=d,c&&(c.nextSibling_=a),d&&(d.previousSibling_=a),[a];for(var e,g=[];e=a.firstChild;)a.removeChild(e),g.push(e),e.parentNode_=b;for(var h=0;he;e++)d.appendChild(m(b[e]));return d}function e(a){for(var b=a.firstChild;b;){j(b.parentNode===a);var c=b.nextSibling,d=m(b),e=d.parentNode;e&&s.call(e,d),b.previousSibling_=b.nextSibling_=b.parentNode_=null,b=c}a.firstChild_=a.lastChild_=null}function f(a){j(a instanceof o),g.call(this,a),this.parentNode_=void 0,this.firstChild_=void 0,this.lastChild_=void 0,this.nextSibling_=void 0,this.previousSibling_=void 0}var g=a.wrappers.EventTarget,h=a.wrappers.NodeList,i=a.defineWrapGetter,j=a.assert,k=a.mixin,l=a.registerWrapper,m=a.unwrap,n=a.wrap,o=window.Node,p=o.prototype.appendChild,q=o.prototype.insertBefore,r=o.prototype.replaceChild,s=o.prototype.removeChild,t=o.prototype.compareDocumentPosition;f.prototype=Object.create(g.prototype),k(f.prototype,{appendChild:function(a){b(a),this.invalidateShadowRenderer();var e=this.lastChild,f=null,g=c(a,this,e,f);return this.lastChild_=g[g.length-1],e||(this.firstChild_=g[0]),p.call(this.impl,d(this,g)),a},insertBefore:function(a,e){if(!e)return this.appendChild(a);b(a),b(e),j(e.parentNode===this),this.invalidateShadowRenderer();var f=e.previousSibling,g=e,h=c(a,this,f,g);this.firstChild===e&&(this.firstChild_=h[0]);var i=m(e),k=i.parentNode;return k&&q.call(k,d(this,h),i),a},removeChild:function(a){if(b(a),a.parentNode!==this)throw new Error("NotFoundError");this.invalidateShadowRenderer();var c=this.firstChild,d=this.lastChild,e=a.nextSibling,f=a.previousSibling,g=m(a),h=g.parentNode;return h&&s.call(h,g),c===a&&(this.firstChild_=e),d===a&&(this.lastChild_=f),f&&(f.nextSibling_=e),e&&(e.previousSibling_=f),a.previousSibling_=a.nextSibling_=a.parentNode_=null,a},replaceChild:function(a,e){if(b(a),b(e),e.parentNode!==this)throw new Error("NotFoundError");this.invalidateShadowRenderer();var f=e.previousSibling,g=e.nextSibling;g===a&&(g=a.nextSibling);var h=c(a,this,f,g);this.firstChild===e&&(this.firstChild_=h[0]),this.lastChild===e&&(this.lastChild_=h[h.length-1]),e.previousSibling_=null,e.nextSibling_=null,e.parentNode_=null;var i=m(e);return i.parentNode&&r.call(i.parentNode,d(this,h),i),e},hasChildNodes:function(){return null===this.firstChild},get parentNode(){return void 0!==this.parentNode_?this.parentNode_:n(this.impl.parentNode)},get firstChild(){return void 0!==this.firstChild_?this.firstChild_:n(this.impl.firstChild)},get lastChild(){return void 0!==this.lastChild_?this.lastChild_:n(this.impl.lastChild)},get nextSibling(){return void 0!==this.nextSibling_?this.nextSibling_:n(this.impl.nextSibling)},get previousSibling(){return void 0!==this.previousSibling_?this.previousSibling_:n(this.impl.previousSibling)},get parentElement(){for(var a=this.parentNode;a&&a.nodeType!==f.ELEMENT_NODE;)a=a.parentNode;return a},get textContent(){for(var a="",b=this.firstChild;b;b=b.nextSibling)a+=b.textContent;return a},set textContent(a){if(e(this),this.invalidateShadowRenderer(),""!==a){var b=this.impl.ownerDocument.createTextNode(a);this.appendChild(b)}},get childNodes(){for(var a=new h,b=0,c=this.firstChild;c;c=c.nextSibling)a[b++]=c;return a.length=b,a},cloneNode:function(a){if(!this.invalidateShadowRenderer())return n(this.impl.cloneNode(a));var b=n(this.impl.cloneNode(!1));if(a)for(var c=this.firstChild;c;c=c.nextSibling)b.appendChild(c.cloneNode(!0));return b},contains:function(a){if(!a)return!1;if(a===this)return!0;var b=a.parentNode;return b?this.contains(b):!1},compareDocumentPosition:function(a){return t.call(this.impl,m(a))}}),i(f,"ownerDocument"),l(o,f,document.createDocumentFragment()),delete f.prototype.querySelector,delete f.prototype.querySelectorAll,f.prototype=k(Object.create(g.prototype),f.prototype),a.wrappers.Node=f}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a,c){for(var d,e=a.firstElementChild;e;){if(e.matches(c))return e;if(d=b(e,c))return d;e=e.nextElementSibling}return null}function c(a,b,d){for(var e=a.firstElementChild;e;)e.matches(b)&&(d[d.length++]=e),c(e,b,d),e=e.nextElementSibling;return d}var d={querySelector:function(a){return b(this,a)},querySelectorAll:function(a){return c(this,a,new NodeList)}},e={getElementsByTagName:function(a){return this.querySelectorAll(a)},getElementsByClassName:function(a){return this.querySelectorAll("."+a)},getElementsByTagNameNS:function(a,b){if("*"===a)return this.getElementsByTagName(b);for(var c=new NodeList,d=this.getElementsByTagName(b),e=0,f=0;e";case Node.TEXT_NODE:return c(a.nodeValue);case Node.COMMENT_NODE:return"";default:throw console.error(a),new Error("not implemented")}}function e(a){for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=d(c);return b}function f(a,b,c){var d=c||"div";a.textContent="";var e=n(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(o(f))}function g(a){j.call(this,a)}function h(b){k(g,b,function(){return a.renderAllPending(),this.impl[b]})}function i(b){Object.defineProperty(g.prototype,b,{value:function(){return a.renderAllPending(),this.impl[b].apply(this.impl,arguments)},configurable:!0,enumerable:!0})}var j=a.wrappers.Element,k=a.defineGetter,l=a.mixin,m=a.registerWrapper,n=a.unwrap,o=a.wrap,p=/&|<|"/g,q={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},r=window.HTMLElement;g.prototype=Object.create(j.prototype),l(g.prototype,{get innerHTML(){return e(this)},set innerHTML(a){f(this,a,this.tagName)},get outerHTML(){return d(this)},set outerHTML(a){if(this.invalidateShadowRenderer())throw new Error("not implemented");this.impl.outerHTML=a}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollLeft","scrollTop","scrollWidth"].forEach(h),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(i),m(r,g,document.createElement("b")),a.wrappers.HTMLElement=g,a.getInnerHTML=e,a.setInnerHTML=f}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a),this.olderShadowRoot_=null}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get olderShadowRoot(){return this.olderShadowRoot_},invalidateShadowRenderer:function(){c.prototype.invalidateShadowRenderer.call(this,!0)}}),f&&e(f,b),a.wrappers.HTMLShadowElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=l.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);l.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=d.createDocumentFragment();c=a.firstChild;)e.appendChild(c);return e}function d(a){e.call(this,a)}var e=a.wrappers.HTMLElement,f=a.getInnerHTML,g=a.mixin,h=a.registerWrapper,i=a.setInnerHTML,j=a.wrap,k=new SideTable,l=new SideTable,m=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),g(d.prototype,{get content(){if(m)return j(this.impl.content);var a=k.get(this);return a||(a=c(this),k.set(this,a)),a},get innerHTML(){return f(this.content)},set innerHTML(a){i(this.content,a),this.invalidateShadowRenderer()}}),m&&h(m,d),a.wrappers.HTMLTemplateElement=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement;a.mixin;var g=a.registerWrapper,h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";var b=a.GetElementsByInterface,c=a.ParentNodeInterface,d=a.SelectorsInterface,e=a.mixin,f=a.registerObject,g=f(document.createDocumentFragment());e(g.prototype,c),e(g.prototype,d),e(g.prototype,b);var h=f(document.createTextNode("")),i=f(document.createComment(""));a.wrappers.Comment=i,a.wrappers.DocumentFragment=g,a.wrappers.Text=h}(this.ShadowDOMPolyfill),function(a){"use strict";function b(b){var d=i(b.impl.ownerDocument.createDocumentFragment());c.call(this,d),g(d,this);var e=b.shadowRoot;a.nextOlderShadowTreeTable.set(this,e),j.set(this,b)}var c=a.wrappers.DocumentFragment,d=a.elementFromPoint,e=a.getInnerHTML,f=a.mixin,g=a.rewrap,h=a.setInnerHTML,i=a.unwrap,j=new SideTable;b.prototype=Object.create(c.prototype),f(b.prototype,{get innerHTML(){return e(this)},set innerHTML(a){h(this,a),this.invalidateShadowRenderer()},invalidateShadowRenderer:function(){return j.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return d(this,this.ownerDocument,a,b)},getElementById:function(a){return this.querySelector("#"+a)}}),a.wrappers.ShadowRoot=b,a.getHostForShadowRoot=function(a){return j.get(a)}}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(a){a.firstChild_=a.firstChild,a.lastChild_=a.lastChild}function d(a){E(a instanceof D);for(var d=a.firstChild;d;d=d.nextSibling)b(d);c(a)}function e(a){var b=G(a);d(a),b.textContent=""}function f(a,c){var e=G(a),f=G(c);f.nodeType===D.DOCUMENT_FRAGMENT_NODE?d(c):(h(c),b(c)),a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var g=H(e.lastChild);g&&(g.nextSibling_=g.nextSibling),e.appendChild(f)}function g(a,c){var d=G(a),e=G(c);b(c),c.previousSibling&&(c.previousSibling.nextSibling_=c),c.nextSibling&&(c.nextSibling.previousSibling_=c),a.lastChild===c&&(a.lastChild_=c),a.firstChild===c&&(a.firstChild_=c),d.removeChild(e)}function h(a){var b=G(a),c=b.parentNode;c&&g(H(c),a)}function i(a,b){k(b).push(a),A(a,b);var c=J.get(a);c||J.set(a,c=[]),c.push(b)}function j(a){I.set(a,[])}function k(a){return I.get(a)}function l(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function m(a,b,c){for(var d=l(a),e=0;e>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},Object.defineProperties(HTMLElement.prototype,{shadowRoot:{get:function(){return this.webkitShadowRoot}},createShadowRoot:{value:function(){return this.webkitCreateShadowRoot()}}}),window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}()}if(function(a){function b(a){for(var b=a||{},d=1;d",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(){function a(a){"splice"===a[0].type&&"splice"===a[1].type&&(b=!0)}if("function"!=typeof Object.observe&&"function"!=typeof Array.observe)return!1;var b=!1,c=[0];return Array.observe(c,a),c[1]=1,c.length=0,Object.deliverChangeRecords(a),b}function c(a){return+a===a>>>0}function d(a){return+a}function e(a){return a===Object(a)}function f(a,b){return a===b?0!==a||1/a===1/b:O(a)&&O(b)?!0:a!==a&&b!==b}function g(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:W.test(a))}function h(a){return""==a.trim()?this:c(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function i(a){for(var b=0;X>b&&a.check();)a.report(),b++}function j(a){for(var b in a)return!1;return!0}function k(a){return j(a.added)&&j(a.removed)&&j(a.changed)}function l(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function m(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function n(a){this.callback=a,this.reporting=!0,K&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,o(this),this.connect(),this.sync(!0)}function o(a){Z&&(Y.push(a),n._allObserversCount++)}function p(a){if(Z)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function v(a,b){var c=b.toString();return _[c]||(_[c]=u(b)),_[c](a)}function w(b,c,d,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=d[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function B(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(bb):(e.push(cb),d=g),b--,c--):f==h?(e.push(eb),b--,d=h):(e.push(db),c--,d=i)}else e.push(eb),b--;else e.push(db),c--;return e.reverse(),e}function C(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function D(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function E(a,b,c){return{index:a,removed:b,addedCount:c}}function F(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=C(a,d,i)),c==a.length&&f==d.length&&(h=D(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,0==c-b&&0==f-e)return[];if(b==c){for(var j=E(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[E(b,[],c-b)];for(var k=B(A(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;ob||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function H(a,b,c,d){for(var e=E(b,c,d),f=!1,g=0,h=0;h=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.indexi.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.indexh)continue;H(e,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return e}function J(a,b){var c=[];return I(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?(b.removed[0]!==a[b.index]&&c.push(b),void 0):(c=c.concat(F(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)),void 0)}),c}var K=b(),L=!1;try{var M=new Function("","return true;");L=M()}catch(N){}var O=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},P="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},Q="[$_a-zA-Z]",R="[$_a-zA-Z0-9]",S=Q+"+"+R+"*",T="(?:[0-9]|[1-9]+[0-9]+)",U="(?:"+S+"|"+T+")",V="(?:"+U+")(?:\\."+U+")*",W=new RegExp("^"+V+"$");h.prototype=P({__proto__:[],toString:function(){return this.join(".")},walkPropertiesFrom:function(a,b,c){for(var d,e=0;ea&&b.anyChanged);n._allObserversCount=Y.length,$=!1}},Z&&(a.Platform.clearObservers=function(){Y=[]}),q.prototype=P({__proto__:n.prototype,connect:function(){K&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=m(this.object))},check:function(a){var b,c;if(K){if(!a)return!1;c={},b=z(this.object,a,c)}else c=this.oldObject,b=l(this.object,this.oldObject);return k(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){K?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),r.prototype=P({__proto__:q.prototype,connect:function(){K&&Array.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=this.object.slice())},check:function(a){var b;if(K){if(!a)return!1;b=J(this.object,a)}else b=F(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),r.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];kb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function I(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function J(a){"TEMPLATE"===a.tagName?mb||(pb?a.__proto__=HTMLTemplateElement.prototype:F(a,HTMLTemplateElement.prototype)):(F(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",ub))}function K(a){var b=xb.get(a);b||(b=function(){Q(a,a.model,a.bindingDelegate)},xb.set(a,b)),ob(b)}function L(a,b){this.type=a,this.value=b}function M(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new L(yb,a.slice(e)));break}if(d>0&&d>e&&b.push(new L(yb,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==yb?g.value+=f:b.push(new L(yb,f));break}var h=a.slice(e,d).trim();b.push(new L(zb,h)),e=d+2}return b}function N(a,b,c,d,e){var f,g=e&&e[ib];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function O(a,b,c,d,e){var f=M(c);if(f.length&&(1!=f.length||f[0].type!=yb)){if(1==f.length&&f[0].type==zb)return N(a,b,d,f[0].value,e),void 0;for(var g=new V,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},_.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var ab=new _;h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var bb=new _;n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var cb,db=new _,eb=new _;!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),cb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=$({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=$({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=eb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=$({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?ob(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;ob(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=w,HTMLSelectElement.prototype.unbind=x,HTMLSelectElement.prototype.unbindAll=y,HTMLTextAreaElement.prototype.bind=w,HTMLTextAreaElement.prototype.unbind=x,HTMLTextAreaElement.prototype.unbindAll=y;var fb="bind",gb="repeat",hb="if",ib="getBinding",jb="getInstanceModel",kb={template:!0,repeat:!0,bind:!0,ref:!0},lb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},mb="undefined"!=typeof HTMLTemplateElement,nb="template, "+Object.keys(lb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),ob=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;g=48&&57>=a}function d(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&" ᠎              ".indexOf(String.fromCharCode(a))>0}function e(a){return 10===a||13===a||8232===a||8233===a}function f(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a}function g(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a}function h(a){return"this"===a}function i(){for(;bb>ab&&d(_.charCodeAt(ab));)++ab}function j(){var a,b;for(a=ab++;bb>ab&&(b=_.charCodeAt(ab),g(b));)++ab;return _.slice(a,ab)}function k(){var a,b,c;return a=ab,b=j(),c=1===b.length?X.Identifier:h(b)?X.Keyword:"null"===b?X.NullLiteral:"true"===b||"false"===b?X.BooleanLiteral:X.Identifier,{type:c,value:b,range:[a,ab]}}function l(){var a,b,c,d,e=ab,f=_.charCodeAt(ab),g=_[ab];switch(f){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++ab,{type:X.Punctuator,value:String.fromCharCode(f),range:[e,ab]};default:if(a=_.charCodeAt(ab+1),61===a)switch(f){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 94:case 124:return ab+=2,{type:X.Punctuator,value:String.fromCharCode(f)+String.fromCharCode(a),range:[e,ab]};case 33:case 61:return ab+=2,61===_.charCodeAt(ab)&&++ab,{type:X.Punctuator,value:_.slice(e,ab),range:[e,ab]}}}return b=_[ab+1],c=_[ab+2],d=_[ab+3],">"===g&&">"===b&&">"===c&&"="===d?(ab+=4,{type:X.Punctuator,value:">>>=",range:[e,ab]}):">"===g&&">"===b&&">"===c?(ab+=3,{type:X.Punctuator,value:">>>",range:[e,ab]}):"<"===g&&"<"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:"<<=",range:[e,ab]}):">"===g&&">"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:">>=",range:[e,ab]}):g===b&&"+-<>&|".indexOf(g)>=0?(ab+=2,{type:X.Punctuator,value:g+b,range:[e,ab]}):"<>=!+-*%&|^/".indexOf(g)>=0?(++ab,{type:X.Punctuator,value:g,range:[e,ab]}):(s({},$.UnexpectedToken,"ILLEGAL"),void 0)}function m(){var a,d,e;if(e=_[ab],b(c(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),d=ab,a="","."!==e){for(a=_[ab++],e=_[ab],"0"===a&&e&&c(e.charCodeAt(0))&&s({},$.UnexpectedToken,"ILLEGAL");c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("."===e){for(a+=_[ab++];c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("e"===e||"E"===e)if(a+=_[ab++],e=_[ab],("+"===e||"-"===e)&&(a+=_[ab++]),c(_.charCodeAt(ab)))for(;c(_.charCodeAt(ab));)a+=_[ab++];else s({},$.UnexpectedToken,"ILLEGAL");return f(_.charCodeAt(ab))&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.NumericLiteral,value:parseFloat(a),range:[d,ab]}}function n(){var a,c,d,f="",g=!1;for(a=_[ab],b("'"===a||'"'===a,"String literal must starts with a quote"),c=ab,++ab;bb>ab;){if(d=_[ab++],d===a){a="";break}if("\\"===d)if(d=_[ab++],d&&e(d.charCodeAt(0)))"\r"===d&&"\n"===_[ab]&&++ab;else switch(d){case"n":f+="\n";break;case"r":f+="\r";break;case"t":f+=" ";break;case"b":f+="\b";break;case"f":f+="\f";break;case"v":f+=" ";break;default:f+=d}else{if(e(d.charCodeAt(0)))break;f+=d}}return""!==a&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.StringLiteral,value:f,octal:g,range:[c,ab]}}function o(a){return a.type===X.Identifier||a.type===X.Keyword||a.type===X.BooleanLiteral||a.type===X.NullLiteral}function p(){var a;return i(),ab>=bb?{type:X.EOF,range:[ab,ab]}:(a=_.charCodeAt(ab),40===a||41===a||58===a?l():39===a||34===a?n():f(a)?k():46===a?c(_.charCodeAt(ab+1))?m():l():c(a)?m():l())}function q(){var a;return a=db,ab=a.range[1],db=p(),ab=a.range[1],a}function r(){var a;a=ab,db=p(),ab=a}function s(a,c){var d,e=Array.prototype.slice.call(arguments,2),f=c.replace(/%(\d)/g,function(a,c){return b(cab&&(a.push(O()),!v(")"));)u(",");return u(")"),a}function F(){var a;return a=q(),o(a)||t(a),cb.createIdentifier(a.value)}function G(){return u("."),F()}function H(){var a;return u("["),a=P(),u("]"),a}function I(){var a,b,c;for(a=D();v(".")||v("[")||v("(");)v("(")?(b=E(),a=cb.createCallExpression(a,b)):v("[")?(c=H(),a=cb.createMemberExpression("[",a,c)):(c=G(),a=cb.createMemberExpression(".",a,c));return a}function J(){var a;return a=I(),db.type===X.Punctuator&&(v("++")||v("--"))&&s({},$.UnexpectedToken),a}function K(){var a,b;return db.type!==X.Punctuator&&db.type!==X.Keyword?b=J():v("++")||v("--")?s({},$.UnexpectedToken):v("+")||v("-")||v("~")||v("!")?(a=q(),b=K(),b=cb.createUnaryExpression(a.value,b)):w("delete")||w("void")||w("typeof")?s({},$.UnexpectedToken):b=J(),b}function L(a,b){var c=0;if(a.type!==X.Punctuator&&a.type!==X.Keyword)return 0;switch(a.value){case"||":c=1;break;case"&&":c=2;break;case"|":c=3;break;case"^":c=4;break;case"&":c=5;break;case"==":case"!=":case"===":case"!==":c=6;break;case"<":case">":case"<=":case">=":case"instanceof":c=7;break;case"in":c=b?7:0;break;case"<<":case">>":case">>>":c=8;break;case"+":case"-":c=9;break;case"*":case"/":case"%":c=11}return c}function M(){var a,b,c,d,e,f,g,h,i;if(d=eb.allowIn,eb.allowIn=!0,h=K(),b=db,c=L(b,d),0===c)return h;for(b.prec=c,q(),f=K(),e=[h,b,f];(c=L(db,d))>0;){for(;e.length>2&&c<=e[e.length-2].prec;)f=e.pop(),g=e.pop().value,h=e.pop(),a=cb.createBinaryExpression(g,h,f),e.push(a);b=q(),b.prec=c,e.push(b),a=K(),e.push(a)}for(eb.allowIn=d,i=e.length-1,a=e[i];i>1;)a=cb.createBinaryExpression(e[i-1].value,e[i-2],a),i-=2;return a}function N(){var a,b,c,d;return a=M(),v("?")&&(q(),b=eb.allowIn,eb.allowIn=!0,c=O(),eb.allowIn=b,u(":"),d=O(),a=cb.createConditionalExpression(a,c,d)),a}function O(){var a,b,c;return a=db,c=b=N()}function P(){var a;return a=O()}function Q(){return u(";"),cb.createEmptyStatement()}function R(){var a=P();return x(),cb.createExpressionStatement(a)}function S(){var a,b,c,d=db.type;if(d===X.EOF&&t(db),i(),d===X.Punctuator)switch(db.value){case";":return Q();case"(":return R()}return a=P(),a.type===Z.Identifier&&v(":")?(q(),c="$"+a.name,Object.prototype.hasOwnProperty.call(eb.labelSet,c)&&s({},$.Redeclaration,"Label",a.name),eb.labelSet[c]=!0,b=S(),delete eb.labelSet[c],cb.createLabeledStatement(a,b)):(x(),cb.createExpressionStatement(a))}function T(){return db.type===X.Keyword?S():db.type!==X.EOF?S():void 0}function U(){for(var a,b=[];bb>ab&&(a=T(),"undefined"!=typeof a);)b.push(a);return b}function V(){var a;return i(),r(),a=U(),cb.createProgram(a)}function W(a,b){var c;return c=String,"string"==typeof a||a instanceof String||(a=c(a)),cb=b,_=a,ab=0,bb=_.length,db=null,eb={allowIn:!0,labelSet:{}},bb>0&&"undefined"==typeof _[0]&&a instanceof String&&(_=a.valueOf()),V()}var X,Y,Z,$,_,ab,bb,cb,db,eb;X={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},Y={},Y[X.BooleanLiteral]="Boolean",Y[X.EOF]="",Y[X.Identifier]="Identifier",Y[X.Keyword]="Keyword",Y[X.NullLiteral]="Null",Y[X.NumericLiteral]="Numeric",Y[X.Punctuator]="Punctuator",Y[X.StringLiteral]="String",Z={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"},$={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"},a.parse=W}),function(a){"use strict";function b(a,b,d,e){if(e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.tagName&&("bind"===d||"repeat"===d)){var f,g,h=b.match(r);if(h?(f=h[1],g=h[2]):(h=b.match(s),h&&(f=h[2],g=h[1])),h){var i;if(g=g.trim(),g.match(q))i=new CompoundBinding(function(a){return a.path}),i.bind("path",a,g);else try{i=c(a,g)}catch(j){console.error("Invalid expression syntax: "+g,j)}if(i)return t.set(e,f),i}}}function c(a,b){try{var c=new f;if(esprima.parse(b,c),!c.statements.length&&!c.labeledStatements.length)return;if(!c.labeledStatements.length&&c.statements.length>1)throw Error("Multiple unlabelled statements are not allowed.");var e=c.labeledStatements.length?d(c.labeledStatements):e=c.statements[0],g=[];for(var h in c.deps)g.push(h);if(!g.length)return{value:e({})};for(var i=new CompoundBinding(e),j=0;j>>0)+(c++ +"__")},i.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}();var j="[$_a-zA-Z]",k="[$_a-zA-Z0-9]",l=j+"+"+k+"*",m="("+l+")",n="(?:[0-9]|[1-9]+[0-9]+)",o="(?:"+l+"|"+n+")",p="(?:"+o+")(?:\\."+o+")*",q=new RegExp("^"+p+"$"),r=new RegExp("^"+m+"\\s* in (.*)$"),s=new RegExp("^(.*) as \\s*"+m+"$"),t=new i;e.prototype={getPath:function(){return this.last?this.last.getPath()+"."+this.name:this.name},valueFn:function(){var a=this.getPath();return this.deps[a]=!0,function(b){return b[a]}}};var u={"+":function(a){return+a},"-":function(a){return-a},"!":function(a){return!a}},v={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"*":function(a,b){return a*b},"/":function(a,b){return a/b},"%":function(a,b){return a%b},"<":function(a,b){return b>a},">":function(a,b){return a>b},"<=":function(a,b){return b>=a},">=":function(a,b){return a>=b},"==":function(a,b){return a==b},"!=":function(a,b){return a!=b},"===":function(a,b){return a===b},"!==":function(a,b){return a!==b},"&&":function(a,b){return a&&b},"||":function(a,b){return a||b}};f.prototype={getFn:function(a){return a instanceof e?a.valueFn():a},createProgram:function(){},createExpressionStatement:function(a){return this.statements.push(a),a},createLabeledStatement:function(a,b){return this.labeledStatements.push({label:a.getPath(),body:b instanceof e?b.valueFn():b}),b},createUnaryExpression:function(a,b){if(!u[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),function(c){return u[a](b(c))}},createBinaryExpression:function(a,b,c){if(!v[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),c=this.getFn(c),function(d){return v[a](b(d),c(d))}},createConditionalExpression:function(a,b,c){return a=this.getFn(a),b=this.getFn(b),c=this.getFn(c),function(d){return a(d)?b(d):c(d)}},createIdentifier:function(a){var b=new e(this.deps,a);return b.type="Identifier",b},createMemberExpression:function(a,b,c){return new e(this.deps,c.name,b)},createLiteral:function(a){return function(){return a.value}},createArrayExpression:function(a){for(var b=0;be;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a,b){b=b||p.documentUrlFromNode(a),p.resolveAttributes(a,b),p.resolveStyleElts(a,b);var c=a.querySelectorAll("template");c&&q(c,function(a){a.content&&p.resolvePathsInHTML(a.content,b)})},resolvePathsInStylesheet:function(a){var b=p.nodeUrl(a);a.__resource=p.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&q(c,function(a){a.textContent=p.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=p.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(n);c&&q(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){m.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(o)<0){var e=p.resolveUrl(b,d.value,!0);d.value=e}})}};h=h||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,h.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!h.ok(e)&&e,e.response,b)}),e.send()}};var q=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=h,a.importer=k,a.getDocumentUrl=p.getDocumentUrl,a.IMPORT_LINK_TYPE=i}(window.HTMLImports),function(a){function b(a){return"link"===a.localName&&a.getAttribute("rel")===f}function c(a){return a.parentNode&&!d(a)&&!e(a)}function d(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function e(a){return a.parentNode&&"element"===a.parentNode.localName}var f="import",g={selectors:["link[rel="+f+"]","link[rel=stylesheet]","style","script"],map:{link:"parseLink",script:"parseScript",style:"parseGeneric"},parse:function(a){if(!a.__importParsed){a.__importParsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)})}},parseLink:function(a){b(a)?a.content&&g.parse(a.content):this.parseGeneric(a)},parseGeneric:function(a){c(a)&&document.head.appendChild(a)},parseScript:function(a){if(c(a)){var b=a.__resource||a.textContent;b&&(b+="\n//# sourceURL="+(a.__nodeUrl||"inline["+Math.floor(1e3*(Math.random()+1))+"]")+"\n",eval.call(window,b))}}},h=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=g}(HTMLImports),function(){function a(){HTMLImports.importer.load(document,function(){HTMLImports.parser.parse(document),HTMLImports.readyTime=(new Date).getTime(),document.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||"interactive"===document.readyState?a():window.addEventListener("DOMContentLoaded",a)}(),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//# sourceURL="+url+"\n";eval(code)}function mixin(a,b){a=a||{};try{Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)})}catch(c){}return a}var HTMLElementElement=function(a){return a.register=HTMLElementElement.prototype.register,parseElementElement(a),a};HTMLElementElement.prototype={register:function(a){a&&(this.options.lifecycle=a.lifecycle,a.prototype&&mixin(this.options.prototype,a.prototype))}};var context;window.__componentScript=function(a,b){b.call(context)},window.HTMLElementElement=HTMLElementElement}(),function(){function a(a){return"link"===a.localName&&a.getAttribute("rel")===b}var b=window.HTMLImports?HTMLImports.IMPORT_LINK_TYPE:"none",c={selectors:["link[rel="+b+"]","element"],map:{link:"parseLink",element:"parseElement"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(c.selectors);d(b,function(a){c[c.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){a(b)&&this.parseImport(b)},parseImport:function(a){a.content&&c.parse(a.content)},parseElement:function(a){new HTMLElementElement(a)}},d=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=c}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.upgradeDocument(document),CustomElements.ready=!0,CustomElements.readyTime=(new Date).getTime(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.body.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))},0)}if("function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState)a();else{var b=window.HTMLImports?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(b,a)}}(),function(){function a(){}var b=document.createElement("style");b.textContent="element {display: none;} /* injected by platform.js */";var c=document.querySelector("head");if(c.insertBefore(b,c.firstChild),window.ShadowDOMPolyfill){CustomElements.watchShadow=a,CustomElements.watchAllShadows=a;var d=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],e={};d.forEach(function(a){e[a]=CustomElements[a]}),d.forEach(function(a){CustomElements[a]=function(b){return e[a](wrap(b))}})}}(),function(a){a=a||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},searchRoot:function(a,b,c){if(a){var d,e,f,g=a.elementFromPoint(b,c);for(e=this.targetingShadow(g);e;){if(d=e.elementFromPoint(b,c)){var h=this.targetingShadow(d);return this.searchRoot(h,b,c)||d}f=e.querySelector("shadow"),e=f&&f.olderShadowRoot}return g}},findTarget:function(a){var b=a.clientX,c=a.clientY;return this.searchRoot(document,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return'[touch-action="'+a+'"]'}function b(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}var c=["none","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["scroll","pan-x pan-y","pan-y pan-x"]}],d="";c.forEach(function(c){d+=String(c)===c?a(c)+b(c):c.selectors.map(a)+b(c.rule)});var e=document.createElement("style");e.textContent=d;var f=document.querySelector("head");f.insertBefore(e,f.firstChild)}(),function(a){function b(a,b){var b=b||{},e=b.buttons;if(void 0===e)switch(b.which){case 1:e=1;break;case 2:e=4;break;case 3:e=2;break;default:e=0}var f;if(c)f=new MouseEvent(a,b);else{f=document.createEvent("MouseEvent");var g={bubbles:!1,cancelable:!1,view:null,detail:null,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null};Object.keys(g).forEach(function(a){a in b&&(g[a]=b[a])}),f.initMouseEvent(a,g.bubbles,g.cancelable,g.view,g.detail,g.screenX,g.screenY,g.clientX,g.clientY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,g.relatedTarget)}d||Object.defineProperty(f,"buttons",{get:function(){return e},enumerable:!0});var h=0;return h=b.pressure?b.pressure:e?.5:0,Object.defineProperties(f,{pointerId:{value:b.pointerId||0,enumerable:!0},width:{value:b.width||0,enumerable:!0},height:{value:b.height||0,enumerable:!0},pressure:{value:h,enumerable:!0},tiltX:{value:b.tiltX||0,enumerable:!0},tiltY:{value:b.tiltY||0,enumerable:!0},pointerType:{value:b.pointerType||"",enumerable:!0},hwTimestamp:{value:b.hwTimestamp||0,enumerable:!0},isPrimary:{value:b.isPrimary||!1,enumerable:!0}}),f}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons}catch(f){}a.PointerEvent=b}(window),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d=25,e={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,e=a.clientX,f=a.clientY,g=0,h=c.length;h>g&&(b=c[g]);g++){var i=Math.abs(e-b.x),j=Math.abs(f-b.y);if(d>=i&&d>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.has(this.POINTER_ID);if(d&&(this.cancel(a),d=!1),!d){var e=this.prepareEvent(a);c.set(this.POINTER_ID,a),b.down(e),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.get(this.POINTER_ID);if(d&&d.button===a.button){var e=this.prepareEvent(a);b.up(e),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){c.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}};b.listen(["mousemove"],document,b.boundHandler),a.mouseEvents=e}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.findTarget,d=b.pointermap,e=b.scrollType,f=Array.prototype.map.call.bind(Array.prototype.map),g=2500,h={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var d=b.cloneEvent(a);return d.pointerId=a.identifier+2,d.target=c(d),d.bubbles=!0,d.cancelable=!0,d.button=0,d.buttons=1,d.width=a.webkitRadiusX||a.radiusX,d.height=a.webkitRadiusY||a.radiusY,d.pressure=a.webkitForce||a.force,d.isPrimary=this.isPrimaryTouch(a),d.pointerType=this.POINTER_TYPE,d},processTouches:function(a,b){var c=a.changedTouches,d=f(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=e.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],f=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+f]-this.firstXY[f]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(d.size>=b.length){var c=[];d.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var e=d.get(a).out;c.push(this.touchToPointer(e))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){d.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,e=d.get(c.pointerId);if(e){var f=e.out,g=e.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,c.target?(b.leaveOut(f),b.enterOver(c)):(c.target=g,c.relatedTarget=null,this.cancelOut(c))),e.out=c,e.outTarget=c.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){d.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(b){var c=a.mouseEvents.lastTouches,d=b.changedTouches[0];if(this.isPrimaryTouch(d)){var e={x:d.clientX,y:d.clientY};c.push(e);var f=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,c,e);setTimeout(f,g)}}};a.touchEvents=h}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){c.delete(a)},MSPointerDown:function(a){c.set(a.pointerId,a);var d=this.prepareEvent(a);b.down(d)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};a.msEvents=d}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer;if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var d=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:d,enumerable:!0}),b.registerSource("ms",a.msEvents),b.registerTarget(document)}else b.registerSource("mouse",a.mouseEvents),void 0!==window.ontouchstart&&b.registerSource("touch",a.touchEvents),c.enableOnSubtree(document);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),window.Polymer||(window.Polymer={}),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(a){function b(a){var c=b.caller,f=c.nom;f||(f=e.call(this,c)),f||console.warn("called super() on a method not installed declaratively (has no .nom property)"),"_super"in c||d(c,f,Object.getPrototypeOf(this));var g=c._super;if(g){var h=g[f];return"_super"in h||d(h,f,g),h.apply(this,a||[])}}function c(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function d(a,b,d){a._super=c(d,b,a),a._super&&(a._super[b]._nom=b)}function e(a){console.group("nameInThis");for(var b=this;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){console.log(c);var g=Object.getOwnPropertyDescriptor(b,c);if(g.value==a)return c}b=Object.getPrototypeOf(b)}console.groupEnd("nameInThis")}a.$super=b}(Polymer),function(a){function b(b,e){if(b!=window){if(!(b&&b instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var f=Platform.mixin({},a.base,e);f.elementElement=b,a.addResolvePath(f,b),f.installTemplate=function(){this.super(),d.call(this,b)},f.installTemplate.nom="installTemplate",f.readyCallback=c,f.insertedCallback=g,f.removedCallback=h,f.attributeChangedCallback=i,j(f),a.parseHostEvents(b.attributes,f),a.publishAttributes(b,f),a.installSheets(b),a.shimStyling(b),b.register({prototype:f}),logFlags.comps&&console.log("Polymer: element registered"+b.options.name) +}}function c(){this.installTemplate(),f.call(this)}function d(a){var b=a.querySelector("template");if(b){var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,Polymer.expressionSyntax)),e.call(this,c),c}}function e(b){CustomElements.takeRecords(),a.marshalNodeReferences.call(this,b);var c=a.accumulateEvents(b);a.bindAccumulatedLocalEvents.call(this,b,c),PointerGestures.register(b),PointerEventsPolyfill.setTouchAction(b,this.getAttribute("touch-action"))}function f(){a.observeProperties.call(this),a.installInstanceAttributes.call(this),a.takeAttributes.call(this);var b=a.accumulateHostEvents.call(this);a.bindAccumulatedHostEvents.call(this,b),this.asyncUnbindAll(),this.ready&&this.ready()}function g(){this.cancelUnbindAll(!0),this.inserted&&this.inserted()}function h(){this.asyncUnbindAll(),this.removed&&this.removed()}function i(){this.attributeChanged&&this.attributeChanged.apply(this,arguments)}function j(a){Object.getOwnPropertyNames(a).forEach(function(b){var c=Object.getOwnPropertyDescriptor(a,b);"function"==typeof c.value&&(c.value.nom=b)})}function k(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},a.register=b,a.findDistributedTarget=k,a.instanceReady=f}(Polymer),function(a){var b=window.logFlags||{},c={"super":Polymer.$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},cancelUnbindAll:function(){Polymer.cancelUnbindAll.apply(this,arguments)},asyncUnbindAll:function(){Polymer.asyncUnbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){Platform.flush();var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=r.get(a);d||r.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=r.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&r.get(a)||s}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function h(){l(this)||(Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments),i(this.webkitShadowRoot,!0),k(this))}function i(a,b){j(a,b,function(a){a.unbindAll&&a.unbindAll()})}function j(a,b,c){if(a){c(a),b&&a.olderShadowRoot&&j(a.olderShadowRoot,b,c);for(var d=a.firstChild;d;d=d.nextSibling)j(d,b,c)}}function k(a){t.set(a,!0)}function l(a){return t.get(a)}function m(){l(this)||(p.bind&&console.log("asyncUnbindAll",this.localName),u.set(this,this.job(u.get(this),this.unbindAll)))}function n(a){if(l(this))return p.bind&&console.warn(this.localName,"is unbound, cannot cancel unbindAll"),void 0;p.bind&&console.log("cancelUnbindAll",this.localName);var b=u.get(this);b&&(b.stop(),u.set(this,null)),a||j(this.webkitShadowRoot,!0,function(a){a.cancelUnbindAll&&a.cancelUnbindAll()})}function o(a,b){var c=document.createElement("template");return c.innerHTML=a,c.createInstance(b,q)}var p=window.logFlags||{},q=new ExpressionSyntax,r=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var s={},t=new SideTable,u=new SideTable,v=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=g,Polymer.unbindAll=h,Polymer.getBinding=e,Polymer.asyncUnbindAll=m,Polymer.cancelUnbindAll=n,Polymer.isElementUnbound=l,Polymer.unbindNodeTree=i,Polymer.parseAndBindHTML=o,Polymer.bindPattern=v,Polymer.expressionSyntax=q}(),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=Platform.mixin(c,g)),b[i]=Platform.mixin({},f[i],c)}function c(a,b){for(var d,e=a.options.prototype,f=a.attributes,g=b.instanceAttributes=Object.create(e.instanceAttributes||null),h=0,i=f.length;i>h&&(d=f[h]);h++)c.blackList[d.name]||"on-"!==d.name.slice(0,3)&&(g[d.name]=d.value)}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;return b instanceof Date&&(c="date"),m[c](a,b)}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish";c.blackList={name:1,"extends":1,constructor:1},c.blackList[j]=1;var l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase),m={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return String(b)===a?b:a},object:function(a,b){if(!b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}}};Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){if(a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on),!a.path||window.ShadowDOMPolyfill)e(a);else{var b=null;Array.prototype.some.call(a.path,function(c){return c===this?!0:(b=b===this?b:v(c),b&&h.call(b,c,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=h(a,t,function(a){return!a.hasAttribute(x)}),c=n(a);if(c){var d="";b.forEach(function(a){a.parentNode.removeChild(a),d+=k(a)+"\n"}),d&&c.insertBefore(j(d),c.firstChild)}}function c(a){l(g(a,v),p.head)}function d(a,b){b.controllerStyle||(b.controllerStyle=g(b,w));var c=b.controllerStyle,d=i(a);d&&!e(d,a,w)&&(Polymer.shimPolyfillDirectives([c],a.localName),l(c,d))}function e(a,b,c){return a.querySelector("style["+u+"="+b.localName+"-"+c+"]")}function f(a,b){var c="",d="["+x+"="+b+"]",e=function(a){return m(a,d)},f=h(a,t,e);f.forEach(function(a){a.parentNode.removeChild(a),c+=k(a)+"\n\n"});var g=h(a,s,e);return g.forEach(function(a){a.parentNode.removeChild(a),c+=a.textContent+"\n\n"}),c}function g(a,b){var c=f(a,b);if(c){var d=j(c);return d.setAttribute(u,a.options.name+"-"+b),d}}function h(a,b,c){var d=o(a.querySelectorAll(b)),e=n(a);if(e){var f=o(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function i(a){for(var b=a;b.parentNode;)b=b.parentNode;return b==p?p.head:b}function j(a){var b=document.createElement("style");return b.textContent=a,b}function k(a){return a&&a.__resource||""}function l(a,b){if(a){var c=a.cloneNode(!0);c.textContent=a.textContent,b.appendChild(c)}}function m(a,b){return r?r.call(a,b):void 0}function n(a){var b=a.querySelector("template");return b&&templateContent(b)}function o(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var p=wrap(document),q=HTMLElement.prototype,r=q.matches||q.matchesSelector||q.webkitMatchesSelector||q.mozMatchesSelector,s="style",t="[rel=stylesheet]",u="element",v="global",w="controller",x="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostElementRe:/(.*)((?:\*)|(?:\:scope))(.*)/,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,cssPseudoRe:/::(x-[^\s{,(]*)/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),Polymer.strictPolyfillStyling&&d.applyScopeToContent(a.templateContent,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){var c=this.shimAtHost(a,b);c+=this.shimScoping(a,b),this.addCssToDocument(c)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},applyScopeToContent:function(b,c){b&&(a(b.querySelectorAll("*"),function(a){a.setAttribute(c,"")}),a(b.querySelectorAll("template"),function(a){this.applyScopeToContent(templateContent(a),c)},this))},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){return a?this.convertAtHostStyles(a,b):void 0},shimScoping:function(a,b){return a?this.convertScopedStyles(a,b):void 0},convertPolyfillDirectives:function(a,b){for(var c,d,e="",f=0;c=this.cssPolyfillCommentRe.exec(a);)e+=a.substring(f,c.index),d=c[1].slice(0,-2).replace(this.hostRe,b),e+=this.scopeSelector(d,b)+"{",f=this.cssPolyfillCommentRe.lastIndex;return e+=a.substring(f,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(","),e="[is="+b+"]";return d.forEach(function(a){a=a.trim(),a.match(this.hostElementRe)?a=a.replace(this.hostElementRe,b+"$1$3, "+e+"$1$3"):a.match(this.hostFixableRe)&&(a=b+a+", "+e+a),c.push(a)},this),c.join(", ")},convertScopedStyles:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,"");d=this.convertPseudos(d);var e=this.cssToRules(d);return d=this.scopeRules(e,c)},convertPseudos:function(a){return a.replace(this.cssPseudoRe," [pseudo=$1]")},scopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.scopeSelector(a.selectorText,c,Polymer.strictPolyfillStyling)+" {\n ",d+=this.propertiesFromRule(a)+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.scopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},propertiesFromRule:function(a){var b=a.style.cssText;return a.style.content&&!a.style.content.match(/['"]+/)&&(b="content: '"+a.style.content+"';\n"+a.style.cssText.replace(/content:[^;]*;/g,"")),b},selectorNeedsScoping:function(a,b){var c="("+b+"|\\[is="+b+"\\])",d=new RegExp("^"+c+this.selectorReSuffix,"m");return!a.match(d)},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c?this.applyStrictSelectorScope(a,b):this.applySimpleSelectorScope(a,b)),d.push(a)},this),d.join(", ")},applySimpleSelectorScope:function(a,b){return b+" "+a+", "+"[is="+b+"] "+a},applyStrictSelectorScope:function(a,b){var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim();return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b","<=",">=","==","!=","===","!==","&&","||","getFn","key","getBinding","ExpressionSyntax","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","_URL","baseURI","HTMLImports","xhr","documents","cache","preloadSelectors","loader","loaded","load","preload","filterMainDocumentNodes","extractTemplateNodes","addNodes","resolvePathsInHTML","import","ownerNode","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","receive","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","debug","bust","readyState","response","send","importer","IMPORT_LINK_TYPE","selectors","__importParsed","parseLink","parseGeneric","parseScript","floor","eval","parser","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","postMessage","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","url","code","HTMLElementElement","__componentScript","__parsed","parseImport","parseElement","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_ID","POINTER_TYPE","global","lastTouches","mouseHandler","isEventSimulatedFromTouch","abs","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","mouseEvents","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","touchEvents","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","msEvents","pointerEnabled","msPointerEnabled","msMaxTouchPoints","ontouchstart","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","Polymer","scope","$super","inArgs","caller","nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","_nom","inValue","n$","inElement","inPrototype","elementElement","addResolvePath","installTemplate","super","staticInstallTemplate","hintSuper","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","expressionSyntax","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","asyncUnbindAll","cancelUnbindAll","inserted","attributeChanged","findDistributedTarget","inNodes","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","b$","trackingTable","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","getBindings","emptyBindings","property","propertyForAttribute","isElementUnbound","unbindNodeTree","markElementUnbound","olderShadows","forNodeTree","child","unboundTable","unbindAllJobTable","preventCascade","unbindJob","stop","parseAndBindHTML","mustachePattern","bindPattern","publishAttributesAttributes","publishInstanceAttributes","published","attributes$","names","inherited","imperative","attrProps$","published$","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","inferredType","typeHandlers","string","date","boolean","number","floatVal","nodes","bindAccumulatedEvents","inNode","inEvents","inListener","listenHost","listenLocal","inEvent","cancelBubble","on","prefix","listenLocalNoEventPath","some","findController","handleHostEvent","getHandledListForEvent","handledList","eventHandledTable","findHostHandler","inAttributes","eventDelegates","parseEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","inHandlerName","inEventName","observeProperty","isObservable","inNew","inOld","propertyChanged","OBSERVE_SUFFIX","inOldValue","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","cssText","sheet","cssTextFromSheet","createStyleElement","applyStyleToScope","styleFromElement","STYLE_GLOBAL_SCOPE","doc","installControllerStyles","controllerStyle","STYLE_CONTROLLER_SCOPE","styleElement","findStyleController","scopeHasElementStyle","shimPolyfillDirectives","descriptor","STYLE_SCOPE_ATTRIBUTE","cssTextFromElement","selector","matcher","matchesSelector","styles","STYLE_SELECTOR","arrayFromNodeList","templateNodes","clone","inSelector","nodeList","eltProto","stylizer","hostRuleRe","selectorRe","hostElementRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","cssPseudoRe","selectorReSuffix","hostRe","cacheDefinition","strictPolyfillStyling","applyScopeToContent","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","addCssToDocument","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","convertAtHostStyles","convertScopedStyles","substring","scopeSelector","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","convertPseudos","rules","scopeRules","propertiesFromRule","media","mediaText","selectorNeedsScoping","matchScope","strict","applyStrictSelectorScope","applySimpleSelectorScope","splits","scoped","sep","preserveComments","stripCssComments","css","getSheet","addSheetToDocument","calcElementPath","resolvePath","inUrl","inJob","inCallback","inWait","Job","go","handle","complete","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/polymer.native.min.js b/polymer.native.min.js index 9259a199df..d7dc8cde7d 100644 --- a/polymer.native.min.js +++ b/polymer.native.min.js @@ -1,7 +1,34 @@ -/* Copyright 2013 The Polymer Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. */ -function PointerGestureEvent(a,b){var c=b||{},d=document.createEvent("Event"),e={bubbles:!0,cancelable:!0};return Object.keys(e).forEach(function(a){a in c&&(e[a]=c[a])}),d.initEvent(a,e.bubbles,e.cancelable),Object.keys(c).forEach(function(a){d[a]=b[a]}),d.preventTap=this.preventTap,d}var SideTable;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0?SideTable=WeakMap:function(){var a=Object.defineProperty,b=Object.hasOwnProperty,c=(new Date).getTime()%1e9;SideTable=function(){this.name="__st"+(1e9*Math.random()>>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=window.mixin}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;if(DOMTokenList.prototype.add=function(){for(var a=0;a",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];ob[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?qb||(tb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",yb))}function N(a){var b=a.ref;return b?b.content:a.content}function O(a,b){this.type=a,this.value=b}function P(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new O(Ab,a.slice(e)));break}if(d>0&&d>e&&b.push(new O(Ab,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==Ab?g.value+=f:b.push(new O(Ab,f));break}var h=a.slice(e,d).trim();b.push(new O(Bb,h)),e=d+2}return b}function Q(a,b,c,d,e){var f,g=e&&e[mb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function R(a,b,c,d,e){var f=P(c);if(f.length&&(1!=f.length||f[0].type!=Ab)){if(1==f.length&&f[0].type==Bb)return Q(a,b,d,f[0].value,e),void 0;for(var g=new Y,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},cb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var db=new cb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var eb=new cb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var fb,gb=new cb("valueBinding"),hb=new cb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),fb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=hb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=bb({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?sb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;sb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var ib="bind",jb="repeat",kb="if",lb="syntax",mb="getBinding",nb="getInstanceModel",ob={template:!0,repeat:!0,bind:!0,ref:!0},pb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},qb="undefined"!=typeof HTMLTemplateElement,rb="template, "+Object.keys(pb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),sb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a){for(var b=a||{},c=1;c-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a); -b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=mixin(c,g)),b[i]=mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},Object.defineProperties(HTMLElement.prototype,{shadowRoot:{get:function(){return this.webkitShadowRoot}},createShadowRoot:{value:function(){return this.webkitCreateShadowRoot()}}}),window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){function b(a){for(var b=a||{},d=1;d",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(){function a(a){"splice"===a[0].type&&"splice"===a[1].type&&(b=!0)}if("function"!=typeof Object.observe&&"function"!=typeof Array.observe)return!1;var b=!1,c=[0];return Array.observe(c,a),c[1]=1,c.length=0,Object.deliverChangeRecords(a),b}function c(a){return+a===a>>>0}function d(a){return+a}function e(a){return a===Object(a)}function f(a,b){return a===b?0!==a||1/a===1/b:O(a)&&O(b)?!0:a!==a&&b!==b}function g(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:W.test(a))}function h(a){return""==a.trim()?this:c(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function i(a){for(var b=0;X>b&&a.check();)a.report(),b++}function j(a){for(var b in a)return!1;return!0}function k(a){return j(a.added)&&j(a.removed)&&j(a.changed)}function l(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function m(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function n(a){this.callback=a,this.reporting=!0,K&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,o(this),this.connect(),this.sync(!0)}function o(a){Z&&(Y.push(a),n._allObserversCount++)}function p(a){if(Z)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function v(a,b){var c=b.toString();return _[c]||(_[c]=u(b)),_[c](a)}function w(b,c,d,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=d[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function B(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(bb):(e.push(cb),d=g),b--,c--):f==h?(e.push(eb),b--,d=h):(e.push(db),c--,d=i)}else e.push(eb),b--;else e.push(db),c--;return e.reverse(),e}function C(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function D(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function E(a,b,c){return{index:a,removed:b,addedCount:c}}function F(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=C(a,d,i)),c==a.length&&f==d.length&&(h=D(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,0==c-b&&0==f-e)return[];if(b==c){for(var j=E(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[E(b,[],c-b)];for(var k=B(A(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;ob||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function H(a,b,c,d){for(var e=E(b,c,d),f=!1,g=0,h=0;h=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.indexi.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.indexh)continue;H(e,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return e}function J(a,b){var c=[];return I(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?(b.removed[0]!==a[b.index]&&c.push(b),void 0):(c=c.concat(F(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)),void 0)}),c}var K=b(),L=!1;try{var M=new Function("","return true;");L=M()}catch(N){}var O=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},P="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},Q="[$_a-zA-Z]",R="[$_a-zA-Z0-9]",S=Q+"+"+R+"*",T="(?:[0-9]|[1-9]+[0-9]+)",U="(?:"+S+"|"+T+")",V="(?:"+U+")(?:\\."+U+")*",W=new RegExp("^"+V+"$");h.prototype=P({__proto__:[],toString:function(){return this.join(".")},walkPropertiesFrom:function(a,b,c){for(var d,e=0;ea&&b.anyChanged);n._allObserversCount=Y.length,$=!1}},Z&&(a.Platform.clearObservers=function(){Y=[]}),q.prototype=P({__proto__:n.prototype,connect:function(){K&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=m(this.object))},check:function(a){var b,c;if(K){if(!a)return!1;c={},b=z(this.object,a,c)}else c=this.oldObject,b=l(this.object,this.oldObject);return k(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){K?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),r.prototype=P({__proto__:q.prototype,connect:function(){K&&Array.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=this.object.slice())},check:function(a){var b;if(K){if(!a)return!1;b=J(this.object,a)}else b=F(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),r.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];kb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function I(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function J(a){"TEMPLATE"===a.tagName?mb||(pb?a.__proto__=HTMLTemplateElement.prototype:F(a,HTMLTemplateElement.prototype)):(F(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",ub))}function K(a){var b=xb.get(a);b||(b=function(){Q(a,a.model,a.bindingDelegate)},xb.set(a,b)),ob(b)}function L(a,b){this.type=a,this.value=b}function M(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new L(yb,a.slice(e)));break}if(d>0&&d>e&&b.push(new L(yb,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==yb?g.value+=f:b.push(new L(yb,f));break}var h=a.slice(e,d).trim();b.push(new L(zb,h)),e=d+2}return b}function N(a,b,c,d,e){var f,g=e&&e[ib];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function O(a,b,c,d,e){var f=M(c);if(f.length&&(1!=f.length||f[0].type!=yb)){if(1==f.length&&f[0].type==zb)return N(a,b,d,f[0].value,e),void 0;for(var g=new V,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},_.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var ab=new _;h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var bb=new _;n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var cb,db=new _,eb=new _;!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),cb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=$({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=$({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=eb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=$({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?ob(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;ob(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=w,HTMLSelectElement.prototype.unbind=x,HTMLSelectElement.prototype.unbindAll=y,HTMLTextAreaElement.prototype.bind=w,HTMLTextAreaElement.prototype.unbind=x,HTMLTextAreaElement.prototype.unbindAll=y;var fb="bind",gb="repeat",hb="if",ib="getBinding",jb="getInstanceModel",kb={template:!0,repeat:!0,bind:!0,ref:!0},lb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},mb="undefined"!=typeof HTMLTemplateElement,nb="template, "+Object.keys(lb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),ob=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;g=48&&57>=a}function d(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&" ᠎              ".indexOf(String.fromCharCode(a))>0}function e(a){return 10===a||13===a||8232===a||8233===a}function f(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a}function g(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a}function h(a){return"this"===a}function i(){for(;bb>ab&&d(_.charCodeAt(ab));)++ab}function j(){var a,b;for(a=ab++;bb>ab&&(b=_.charCodeAt(ab),g(b));)++ab;return _.slice(a,ab)}function k(){var a,b,c;return a=ab,b=j(),c=1===b.length?X.Identifier:h(b)?X.Keyword:"null"===b?X.NullLiteral:"true"===b||"false"===b?X.BooleanLiteral:X.Identifier,{type:c,value:b,range:[a,ab]}}function l(){var a,b,c,d,e=ab,f=_.charCodeAt(ab),g=_[ab];switch(f){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++ab,{type:X.Punctuator,value:String.fromCharCode(f),range:[e,ab]};default:if(a=_.charCodeAt(ab+1),61===a)switch(f){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 94:case 124:return ab+=2,{type:X.Punctuator,value:String.fromCharCode(f)+String.fromCharCode(a),range:[e,ab]};case 33:case 61:return ab+=2,61===_.charCodeAt(ab)&&++ab,{type:X.Punctuator,value:_.slice(e,ab),range:[e,ab]}}}return b=_[ab+1],c=_[ab+2],d=_[ab+3],">"===g&&">"===b&&">"===c&&"="===d?(ab+=4,{type:X.Punctuator,value:">>>=",range:[e,ab]}):">"===g&&">"===b&&">"===c?(ab+=3,{type:X.Punctuator,value:">>>",range:[e,ab]}):"<"===g&&"<"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:"<<=",range:[e,ab]}):">"===g&&">"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:">>=",range:[e,ab]}):g===b&&"+-<>&|".indexOf(g)>=0?(ab+=2,{type:X.Punctuator,value:g+b,range:[e,ab]}):"<>=!+-*%&|^/".indexOf(g)>=0?(++ab,{type:X.Punctuator,value:g,range:[e,ab]}):(s({},$.UnexpectedToken,"ILLEGAL"),void 0)}function m(){var a,d,e;if(e=_[ab],b(c(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),d=ab,a="","."!==e){for(a=_[ab++],e=_[ab],"0"===a&&e&&c(e.charCodeAt(0))&&s({},$.UnexpectedToken,"ILLEGAL");c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("."===e){for(a+=_[ab++];c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("e"===e||"E"===e)if(a+=_[ab++],e=_[ab],("+"===e||"-"===e)&&(a+=_[ab++]),c(_.charCodeAt(ab)))for(;c(_.charCodeAt(ab));)a+=_[ab++];else s({},$.UnexpectedToken,"ILLEGAL");return f(_.charCodeAt(ab))&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.NumericLiteral,value:parseFloat(a),range:[d,ab]}}function n(){var a,c,d,f="",g=!1;for(a=_[ab],b("'"===a||'"'===a,"String literal must starts with a quote"),c=ab,++ab;bb>ab;){if(d=_[ab++],d===a){a="";break}if("\\"===d)if(d=_[ab++],d&&e(d.charCodeAt(0)))"\r"===d&&"\n"===_[ab]&&++ab;else switch(d){case"n":f+="\n";break;case"r":f+="\r";break;case"t":f+=" ";break;case"b":f+="\b";break;case"f":f+="\f";break;case"v":f+=" ";break;default:f+=d}else{if(e(d.charCodeAt(0)))break;f+=d}}return""!==a&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.StringLiteral,value:f,octal:g,range:[c,ab]}}function o(a){return a.type===X.Identifier||a.type===X.Keyword||a.type===X.BooleanLiteral||a.type===X.NullLiteral}function p(){var a;return i(),ab>=bb?{type:X.EOF,range:[ab,ab]}:(a=_.charCodeAt(ab),40===a||41===a||58===a?l():39===a||34===a?n():f(a)?k():46===a?c(_.charCodeAt(ab+1))?m():l():c(a)?m():l())}function q(){var a;return a=db,ab=a.range[1],db=p(),ab=a.range[1],a}function r(){var a;a=ab,db=p(),ab=a}function s(a,c){var d,e=Array.prototype.slice.call(arguments,2),f=c.replace(/%(\d)/g,function(a,c){return b(cab&&(a.push(O()),!v(")"));)u(",");return u(")"),a}function F(){var a;return a=q(),o(a)||t(a),cb.createIdentifier(a.value)}function G(){return u("."),F()}function H(){var a;return u("["),a=P(),u("]"),a}function I(){var a,b,c;for(a=D();v(".")||v("[")||v("(");)v("(")?(b=E(),a=cb.createCallExpression(a,b)):v("[")?(c=H(),a=cb.createMemberExpression("[",a,c)):(c=G(),a=cb.createMemberExpression(".",a,c));return a}function J(){var a;return a=I(),db.type===X.Punctuator&&(v("++")||v("--"))&&s({},$.UnexpectedToken),a}function K(){var a,b;return db.type!==X.Punctuator&&db.type!==X.Keyword?b=J():v("++")||v("--")?s({},$.UnexpectedToken):v("+")||v("-")||v("~")||v("!")?(a=q(),b=K(),b=cb.createUnaryExpression(a.value,b)):w("delete")||w("void")||w("typeof")?s({},$.UnexpectedToken):b=J(),b}function L(a,b){var c=0;if(a.type!==X.Punctuator&&a.type!==X.Keyword)return 0;switch(a.value){case"||":c=1;break;case"&&":c=2;break;case"|":c=3;break;case"^":c=4;break;case"&":c=5;break;case"==":case"!=":case"===":case"!==":c=6;break;case"<":case">":case"<=":case">=":case"instanceof":c=7;break;case"in":c=b?7:0;break;case"<<":case">>":case">>>":c=8;break;case"+":case"-":c=9;break;case"*":case"/":case"%":c=11}return c}function M(){var a,b,c,d,e,f,g,h,i;if(d=eb.allowIn,eb.allowIn=!0,h=K(),b=db,c=L(b,d),0===c)return h;for(b.prec=c,q(),f=K(),e=[h,b,f];(c=L(db,d))>0;){for(;e.length>2&&c<=e[e.length-2].prec;)f=e.pop(),g=e.pop().value,h=e.pop(),a=cb.createBinaryExpression(g,h,f),e.push(a);b=q(),b.prec=c,e.push(b),a=K(),e.push(a)}for(eb.allowIn=d,i=e.length-1,a=e[i];i>1;)a=cb.createBinaryExpression(e[i-1].value,e[i-2],a),i-=2;return a}function N(){var a,b,c,d;return a=M(),v("?")&&(q(),b=eb.allowIn,eb.allowIn=!0,c=O(),eb.allowIn=b,u(":"),d=O(),a=cb.createConditionalExpression(a,c,d)),a}function O(){var a,b,c;return a=db,c=b=N()}function P(){var a;return a=O()}function Q(){return u(";"),cb.createEmptyStatement()}function R(){var a=P();return x(),cb.createExpressionStatement(a)}function S(){var a,b,c,d=db.type;if(d===X.EOF&&t(db),i(),d===X.Punctuator)switch(db.value){case";":return Q();case"(":return R()}return a=P(),a.type===Z.Identifier&&v(":")?(q(),c="$"+a.name,Object.prototype.hasOwnProperty.call(eb.labelSet,c)&&s({},$.Redeclaration,"Label",a.name),eb.labelSet[c]=!0,b=S(),delete eb.labelSet[c],cb.createLabeledStatement(a,b)):(x(),cb.createExpressionStatement(a))}function T(){return db.type===X.Keyword?S():db.type!==X.EOF?S():void 0}function U(){for(var a,b=[];bb>ab&&(a=T(),"undefined"!=typeof a);)b.push(a);return b}function V(){var a;return i(),r(),a=U(),cb.createProgram(a)}function W(a,b){var c;return c=String,"string"==typeof a||a instanceof String||(a=c(a)),cb=b,_=a,ab=0,bb=_.length,db=null,eb={allowIn:!0,labelSet:{}},bb>0&&"undefined"==typeof _[0]&&a instanceof String&&(_=a.valueOf()),V()}var X,Y,Z,$,_,ab,bb,cb,db,eb;X={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},Y={},Y[X.BooleanLiteral]="Boolean",Y[X.EOF]="",Y[X.Identifier]="Identifier",Y[X.Keyword]="Keyword",Y[X.NullLiteral]="Null",Y[X.NumericLiteral]="Numeric",Y[X.Punctuator]="Punctuator",Y[X.StringLiteral]="String",Z={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"},$={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"},a.parse=W}),function(a){"use strict";function b(a,b,d,e){if(e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.tagName&&("bind"===d||"repeat"===d)){var f,g,h=b.match(r);if(h?(f=h[1],g=h[2]):(h=b.match(s),h&&(f=h[2],g=h[1])),h){var i;if(g=g.trim(),g.match(q))i=new CompoundBinding(function(a){return a.path}),i.bind("path",a,g);else try{i=c(a,g)}catch(j){console.error("Invalid expression syntax: "+g,j)}if(i)return t.set(e,f),i}}}function c(a,b){try{var c=new f;if(esprima.parse(b,c),!c.statements.length&&!c.labeledStatements.length)return;if(!c.labeledStatements.length&&c.statements.length>1)throw Error("Multiple unlabelled statements are not allowed.");var e=c.labeledStatements.length?d(c.labeledStatements):e=c.statements[0],g=[];for(var h in c.deps)g.push(h);if(!g.length)return{value:e({})};for(var i=new CompoundBinding(e),j=0;j>>0)+(c++ +"__")},i.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}();var j="[$_a-zA-Z]",k="[$_a-zA-Z0-9]",l=j+"+"+k+"*",m="("+l+")",n="(?:[0-9]|[1-9]+[0-9]+)",o="(?:"+l+"|"+n+")",p="(?:"+o+")(?:\\."+o+")*",q=new RegExp("^"+p+"$"),r=new RegExp("^"+m+"\\s* in (.*)$"),s=new RegExp("^(.*) as \\s*"+m+"$"),t=new i;e.prototype={getPath:function(){return this.last?this.last.getPath()+"."+this.name:this.name},valueFn:function(){var a=this.getPath();return this.deps[a]=!0,function(b){return b[a]}}};var u={"+":function(a){return+a},"-":function(a){return-a},"!":function(a){return!a}},v={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"*":function(a,b){return a*b},"/":function(a,b){return a/b},"%":function(a,b){return a%b},"<":function(a,b){return b>a},">":function(a,b){return a>b},"<=":function(a,b){return b>=a},">=":function(a,b){return a>=b},"==":function(a,b){return a==b},"!=":function(a,b){return a!=b},"===":function(a,b){return a===b},"!==":function(a,b){return a!==b},"&&":function(a,b){return a&&b},"||":function(a,b){return a||b}};f.prototype={getFn:function(a){return a instanceof e?a.valueFn():a},createProgram:function(){},createExpressionStatement:function(a){return this.statements.push(a),a},createLabeledStatement:function(a,b){return this.labeledStatements.push({label:a.getPath(),body:b instanceof e?b.valueFn():b}),b},createUnaryExpression:function(a,b){if(!u[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),function(c){return u[a](b(c))}},createBinaryExpression:function(a,b,c){if(!v[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),c=this.getFn(c),function(d){return v[a](b(d),c(d))}},createConditionalExpression:function(a,b,c){return a=this.getFn(a),b=this.getFn(b),c=this.getFn(c),function(d){return a(d)?b(d):c(d)}},createIdentifier:function(a){var b=new e(this.deps,a);return b.type="Identifier",b},createMemberExpression:function(a,b,c){return new e(this.deps,c.name,b)},createLiteral:function(a){return function(){return a.value}},createArrayExpression:function(a){for(var b=0;be;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a,b){b=b||p.documentUrlFromNode(a),p.resolveAttributes(a,b),p.resolveStyleElts(a,b);var c=a.querySelectorAll("template");c&&q(c,function(a){a.content&&p.resolvePathsInHTML(a.content,b)})},resolvePathsInStylesheet:function(a){var b=p.nodeUrl(a);a.__resource=p.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&q(c,function(a){a.textContent=p.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=p.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(n);c&&q(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){m.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(o)<0){var e=p.resolveUrl(b,d.value,!0);d.value=e}})}};h=h||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,h.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!h.ok(e)&&e,e.response,b)}),e.send()}};var q=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=h,a.importer=k,a.getDocumentUrl=p.getDocumentUrl,a.IMPORT_LINK_TYPE=i}(window.HTMLImports),function(a){function b(a){return"link"===a.localName&&a.getAttribute("rel")===f}function c(a){return a.parentNode&&!d(a)&&!e(a)}function d(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function e(a){return a.parentNode&&"element"===a.parentNode.localName}var f="import",g={selectors:["link[rel="+f+"]","link[rel=stylesheet]","style","script"],map:{link:"parseLink",script:"parseScript",style:"parseGeneric"},parse:function(a){if(!a.__importParsed){a.__importParsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)})}},parseLink:function(a){b(a)?a.content&&g.parse(a.content):this.parseGeneric(a)},parseGeneric:function(a){c(a)&&document.head.appendChild(a)},parseScript:function(a){if(c(a)){var b=a.__resource||a.textContent;b&&(b+="\n//# sourceURL="+(a.__nodeUrl||"inline["+Math.floor(1e3*(Math.random()+1))+"]")+"\n",eval.call(window,b))}}},h=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=g}(HTMLImports),function(){function a(){HTMLImports.importer.load(document,function(){HTMLImports.parser.parse(document),HTMLImports.readyTime=(new Date).getTime(),document.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||"interactive"===document.readyState?a():window.addEventListener("DOMContentLoaded",a)}(),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends); +c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//# sourceURL="+url+"\n";eval(code)}function mixin(a,b){a=a||{};try{Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)})}catch(c){}return a}var HTMLElementElement=function(a){return a.register=HTMLElementElement.prototype.register,parseElementElement(a),a};HTMLElementElement.prototype={register:function(a){a&&(this.options.lifecycle=a.lifecycle,a.prototype&&mixin(this.options.prototype,a.prototype))}};var context;window.__componentScript=function(a,b){b.call(context)},window.HTMLElementElement=HTMLElementElement}(),function(){function a(a){return"link"===a.localName&&a.getAttribute("rel")===b}var b=window.HTMLImports?HTMLImports.IMPORT_LINK_TYPE:"none",c={selectors:["link[rel="+b+"]","element"],map:{link:"parseLink",element:"parseElement"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(c.selectors);d(b,function(a){c[c.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){a(b)&&this.parseImport(b)},parseImport:function(a){a.content&&c.parse(a.content)},parseElement:function(a){new HTMLElementElement(a)}},d=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=c}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.upgradeDocument(document),CustomElements.ready=!0,CustomElements.readyTime=(new Date).getTime(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.body.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))},0)}if("function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState)a();else{var b=window.HTMLImports?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(b,a)}}(),function(){function a(){}var b=document.createElement("style");b.textContent="element {display: none;} /* injected by platform.js */";var c=document.querySelector("head");if(c.insertBefore(b,c.firstChild),window.ShadowDOMPolyfill){CustomElements.watchShadow=a,CustomElements.watchAllShadows=a;var d=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],e={};d.forEach(function(a){e[a]=CustomElements[a]}),d.forEach(function(a){CustomElements[a]=function(b){return e[a](wrap(b))}})}}(),function(a){a=a||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},searchRoot:function(a,b,c){if(a){var d,e,f,g=a.elementFromPoint(b,c);for(e=this.targetingShadow(g);e;){if(d=e.elementFromPoint(b,c)){var h=this.targetingShadow(d);return this.searchRoot(h,b,c)||d}f=e.querySelector("shadow"),e=f&&f.olderShadowRoot}return g}},findTarget:function(a){var b=a.clientX,c=a.clientY;return this.searchRoot(document,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return'[touch-action="'+a+'"]'}function b(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}var c=["none","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["scroll","pan-x pan-y","pan-y pan-x"]}],d="";c.forEach(function(c){d+=String(c)===c?a(c)+b(c):c.selectors.map(a)+b(c.rule)});var e=document.createElement("style");e.textContent=d;var f=document.querySelector("head");f.insertBefore(e,f.firstChild)}(),function(a){function b(a,b){var b=b||{},e=b.buttons;if(void 0===e)switch(b.which){case 1:e=1;break;case 2:e=4;break;case 3:e=2;break;default:e=0}var f;if(c)f=new MouseEvent(a,b);else{f=document.createEvent("MouseEvent");var g={bubbles:!1,cancelable:!1,view:null,detail:null,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null};Object.keys(g).forEach(function(a){a in b&&(g[a]=b[a])}),f.initMouseEvent(a,g.bubbles,g.cancelable,g.view,g.detail,g.screenX,g.screenY,g.clientX,g.clientY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,g.relatedTarget)}d||Object.defineProperty(f,"buttons",{get:function(){return e},enumerable:!0});var h=0;return h=b.pressure?b.pressure:e?.5:0,Object.defineProperties(f,{pointerId:{value:b.pointerId||0,enumerable:!0},width:{value:b.width||0,enumerable:!0},height:{value:b.height||0,enumerable:!0},pressure:{value:h,enumerable:!0},tiltX:{value:b.tiltX||0,enumerable:!0},tiltY:{value:b.tiltY||0,enumerable:!0},pointerType:{value:b.pointerType||"",enumerable:!0},hwTimestamp:{value:b.hwTimestamp||0,enumerable:!0},isPrimary:{value:b.isPrimary||!1,enumerable:!0}}),f}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons}catch(f){}a.PointerEvent=b}(window),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d=25,e={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,e=a.clientX,f=a.clientY,g=0,h=c.length;h>g&&(b=c[g]);g++){var i=Math.abs(e-b.x),j=Math.abs(f-b.y);if(d>=i&&d>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.has(this.POINTER_ID);if(d&&(this.cancel(a),d=!1),!d){var e=this.prepareEvent(a);c.set(this.POINTER_ID,a),b.down(e),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.get(this.POINTER_ID);if(d&&d.button===a.button){var e=this.prepareEvent(a);b.up(e),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){c.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}};b.listen(["mousemove"],document,b.boundHandler),a.mouseEvents=e}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.findTarget,d=b.pointermap,e=b.scrollType,f=Array.prototype.map.call.bind(Array.prototype.map),g=2500,h={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var d=b.cloneEvent(a);return d.pointerId=a.identifier+2,d.target=c(d),d.bubbles=!0,d.cancelable=!0,d.button=0,d.buttons=1,d.width=a.webkitRadiusX||a.radiusX,d.height=a.webkitRadiusY||a.radiusY,d.pressure=a.webkitForce||a.force,d.isPrimary=this.isPrimaryTouch(a),d.pointerType=this.POINTER_TYPE,d},processTouches:function(a,b){var c=a.changedTouches,d=f(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=e.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],f=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+f]-this.firstXY[f]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(d.size>=b.length){var c=[];d.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var e=d.get(a).out;c.push(this.touchToPointer(e))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){d.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,e=d.get(c.pointerId);if(e){var f=e.out,g=e.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,c.target?(b.leaveOut(f),b.enterOver(c)):(c.target=g,c.relatedTarget=null,this.cancelOut(c))),e.out=c,e.outTarget=c.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){d.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(b){var c=a.mouseEvents.lastTouches,d=b.changedTouches[0];if(this.isPrimaryTouch(d)){var e={x:d.clientX,y:d.clientY};c.push(e);var f=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,c,e);setTimeout(f,g)}}};a.touchEvents=h}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){c.delete(a)},MSPointerDown:function(a){c.set(a.pointerId,a);var d=this.prepareEvent(a);b.down(d)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};a.msEvents=d}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer;if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var d=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:d,enumerable:!0}),b.registerSource("ms",a.msEvents),b.registerTarget(document)}else b.registerSource("mouse",a.mouseEvents),void 0!==window.ontouchstart&&b.registerSource("touch",a.touchEvents),c.enableOnSubtree(document);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),window.Polymer||(window.Polymer={}),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(a){function b(a){var c=b.caller,f=c.nom;f||(f=e.call(this,c)),f||console.warn("called super() on a method not installed declaratively (has no .nom property)"),"_super"in c||d(c,f,Object.getPrototypeOf(this));var g=c._super;if(g){var h=g[f];return"_super"in h||d(h,f,g),h.apply(this,a||[])}}function c(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function d(a,b,d){a._super=c(d,b,a),a._super&&(a._super[b]._nom=b)}function e(a){console.group("nameInThis");for(var b=this;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){console.log(c);var g=Object.getOwnPropertyDescriptor(b,c);if(g.value==a)return c}b=Object.getPrototypeOf(b)}console.groupEnd("nameInThis")}a.$super=b}(Polymer),function(a){function b(b,e){if(b!=window){if(!(b&&b instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var f=Platform.mixin({},a.base,e);f.elementElement=b,a.addResolvePath(f,b),f.installTemplate=function(){this.super(),d.call(this,b)},f.installTemplate.nom="installTemplate",f.readyCallback=c,f.insertedCallback=g,f.removedCallback=h,f.attributeChangedCallback=i,j(f),a.parseHostEvents(b.attributes,f),a.publishAttributes(b,f),a.installSheets(b),a.shimStyling(b),b.register({prototype:f}),logFlags.comps&&console.log("Polymer: element registered"+b.options.name)}}function c(){this.installTemplate(),f.call(this)}function d(a){var b=a.querySelector("template");if(b){var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,Polymer.expressionSyntax)),e.call(this,c),c}}function e(b){CustomElements.takeRecords(),a.marshalNodeReferences.call(this,b);var c=a.accumulateEvents(b);a.bindAccumulatedLocalEvents.call(this,b,c),PointerGestures.register(b),PointerEventsPolyfill.setTouchAction(b,this.getAttribute("touch-action"))}function f(){a.observeProperties.call(this),a.installInstanceAttributes.call(this),a.takeAttributes.call(this);var b=a.accumulateHostEvents.call(this);a.bindAccumulatedHostEvents.call(this,b),this.asyncUnbindAll(),this.ready&&this.ready()}function g(){this.cancelUnbindAll(!0),this.inserted&&this.inserted()}function h(){this.asyncUnbindAll(),this.removed&&this.removed()}function i(){this.attributeChanged&&this.attributeChanged.apply(this,arguments)}function j(a){Object.getOwnPropertyNames(a).forEach(function(b){var c=Object.getOwnPropertyDescriptor(a,b);"function"==typeof c.value&&(c.value.nom=b)})}function k(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},a.register=b,a.findDistributedTarget=k,a.instanceReady=f}(Polymer),function(a){var b=window.logFlags||{},c={"super":Polymer.$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},cancelUnbindAll:function(){Polymer.cancelUnbindAll.apply(this,arguments)},asyncUnbindAll:function(){Polymer.asyncUnbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){Platform.flush();var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=r.get(a);d||r.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=r.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&r.get(a)||s +}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function h(){l(this)||(Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments),i(this.webkitShadowRoot,!0),k(this))}function i(a,b){j(a,b,function(a){a.unbindAll&&a.unbindAll()})}function j(a,b,c){if(a){c(a),b&&a.olderShadowRoot&&j(a.olderShadowRoot,b,c);for(var d=a.firstChild;d;d=d.nextSibling)j(d,b,c)}}function k(a){t.set(a,!0)}function l(a){return t.get(a)}function m(){l(this)||(p.bind&&console.log("asyncUnbindAll",this.localName),u.set(this,this.job(u.get(this),this.unbindAll)))}function n(a){if(l(this))return p.bind&&console.warn(this.localName,"is unbound, cannot cancel unbindAll"),void 0;p.bind&&console.log("cancelUnbindAll",this.localName);var b=u.get(this);b&&(b.stop(),u.set(this,null)),a||j(this.webkitShadowRoot,!0,function(a){a.cancelUnbindAll&&a.cancelUnbindAll()})}function o(a,b){var c=document.createElement("template");return c.innerHTML=a,c.createInstance(b,q)}var p=window.logFlags||{},q=new ExpressionSyntax,r=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var s={},t=new SideTable,u=new SideTable,v=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=g,Polymer.unbindAll=h,Polymer.getBinding=e,Polymer.asyncUnbindAll=m,Polymer.cancelUnbindAll=n,Polymer.isElementUnbound=l,Polymer.unbindNodeTree=i,Polymer.parseAndBindHTML=o,Polymer.bindPattern=v,Polymer.expressionSyntax=q}(),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=Platform.mixin(c,g)),b[i]=Platform.mixin({},f[i],c)}function c(a,b){for(var d,e=a.options.prototype,f=a.attributes,g=b.instanceAttributes=Object.create(e.instanceAttributes||null),h=0,i=f.length;i>h&&(d=f[h]);h++)c.blackList[d.name]||"on-"!==d.name.slice(0,3)&&(g[d.name]=d.value)}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;return b instanceof Date&&(c="date"),m[c](a,b)}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish";c.blackList={name:1,"extends":1,constructor:1},c.blackList[j]=1;var l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase),m={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return String(b)===a?b:a},object:function(a,b){if(!b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}}};Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){if(a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on),!a.path||window.ShadowDOMPolyfill)e(a);else{var b=null;Array.prototype.some.call(a.path,function(c){return c===this?!0:(b=b===this?b:v(c),b&&h.call(b,c,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=h(a,t,function(a){return!a.hasAttribute(x)}),c=n(a);if(c){var d="";b.forEach(function(a){a.parentNode.removeChild(a),d+=k(a)+"\n"}),d&&c.insertBefore(j(d),c.firstChild)}}function c(a){l(g(a,v),p.head)}function d(a,b){b.controllerStyle||(b.controllerStyle=g(b,w));var c=b.controllerStyle,d=i(a);d&&!e(d,a,w)&&(Polymer.shimPolyfillDirectives([c],a.localName),l(c,d))}function e(a,b,c){return a.querySelector("style["+u+"="+b.localName+"-"+c+"]")}function f(a,b){var c="",d="["+x+"="+b+"]",e=function(a){return m(a,d)},f=h(a,t,e);f.forEach(function(a){a.parentNode.removeChild(a),c+=k(a)+"\n\n"});var g=h(a,s,e);return g.forEach(function(a){a.parentNode.removeChild(a),c+=a.textContent+"\n\n"}),c}function g(a,b){var c=f(a,b);if(c){var d=j(c);return d.setAttribute(u,a.options.name+"-"+b),d}}function h(a,b,c){var d=o(a.querySelectorAll(b)),e=n(a);if(e){var f=o(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function i(a){for(var b=a;b.parentNode;)b=b.parentNode;return b==p?p.head:b}function j(a){var b=document.createElement("style");return b.textContent=a,b}function k(a){return a&&a.__resource||""}function l(a,b){if(a){var c=a.cloneNode(!0);c.textContent=a.textContent,b.appendChild(c)}}function m(a,b){return r?r.call(a,b):void 0}function n(a){var b=a.querySelector("template");return b&&templateContent(b)}function o(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var p=wrap(document),q=HTMLElement.prototype,r=q.matches||q.matchesSelector||q.webkitMatchesSelector||q.mozMatchesSelector,s="style",t="[rel=stylesheet]",u="element",v="global",w="controller",x="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostElementRe:/(.*)((?:\*)|(?:\:scope))(.*)/,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,cssPseudoRe:/::(x-[^\s{,(]*)/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),Polymer.strictPolyfillStyling&&d.applyScopeToContent(a.templateContent,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){var c=this.shimAtHost(a,b);c+=this.shimScoping(a,b),this.addCssToDocument(c)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},applyScopeToContent:function(b,c){b&&(a(b.querySelectorAll("*"),function(a){a.setAttribute(c,"")}),a(b.querySelectorAll("template"),function(a){this.applyScopeToContent(templateContent(a),c)},this))},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){return a?this.convertAtHostStyles(a,b):void 0},shimScoping:function(a,b){return a?this.convertScopedStyles(a,b):void 0},convertPolyfillDirectives:function(a,b){for(var c,d,e="",f=0;c=this.cssPolyfillCommentRe.exec(a);)e+=a.substring(f,c.index),d=c[1].slice(0,-2).replace(this.hostRe,b),e+=this.scopeSelector(d,b)+"{",f=this.cssPolyfillCommentRe.lastIndex;return e+=a.substring(f,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(","),e="[is="+b+"]";return d.forEach(function(a){a=a.trim(),a.match(this.hostElementRe)?a=a.replace(this.hostElementRe,b+"$1$3, "+e+"$1$3"):a.match(this.hostFixableRe)&&(a=b+a+", "+e+a),c.push(a)},this),c.join(", ")},convertScopedStyles:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,"");d=this.convertPseudos(d);var e=this.cssToRules(d);return d=this.scopeRules(e,c)},convertPseudos:function(a){return a.replace(this.cssPseudoRe," [pseudo=$1]")},scopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.scopeSelector(a.selectorText,c,Polymer.strictPolyfillStyling)+" {\n ",d+=this.propertiesFromRule(a)+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.scopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},propertiesFromRule:function(a){var b=a.style.cssText;return a.style.content&&!a.style.content.match(/['"]+/)&&(b="content: '"+a.style.content+"';\n"+a.style.cssText.replace(/content:[^;]*;/g,"")),b},selectorNeedsScoping:function(a,b){var c="("+b+"|\\[is="+b+"\\])",d=new RegExp("^"+c+this.selectorReSuffix,"m");return!a.match(d)},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c?this.applyStrictSelectorScope(a,b):this.applySimpleSelectorScope(a,b)),d.push(a)},this),d.join(", ")},applySimpleSelectorScope:function(a,b){return b+" "+a+", "+"[is="+b+"] "+a},applyStrictSelectorScope:function(a,b){var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim();return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b","<=",">=","==","!=","===","!==","&&","||","getFn","key","getBinding","ExpressionSyntax","logFlags","group","groupEnd","adoptNode","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","_URL","baseURI","head","HTMLImports","flags","xhr","documents","cache","preloadSelectors","loader","loaded","load","preload","filterMainDocumentNodes","extractTemplateNodes","addNodes","resolvePathsInHTML","import","ownerNode","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","receive","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","impl","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","shift","unshift","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","search","async","ok","status","XMLHttpRequest","debug","bust","readyState","response","send","importer","IMPORT_LINK_TYPE","selectors","link","script","style","__importParsed","parseLink","parseGeneric","parseScript","floor","eval","parser","readyTime","CustomEvent","ShadowDOMPolyfill","wrapIfNeeded","sort","uid_","takeRecords","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","target","addedNodes","removedNodes","previousSibling","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","postMessage","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","handleEvent","stopImmediatePropagation","attrName","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","JsMutationObserver","MutationObserver","WebKitMutationObserver","lifecycle","ancestry","extends","ctor","constructor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","firstElementChild","nextElementSibling","dom","insertedCallback","__inserted","warn","removedCallback","host","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","url","code","HTMLElementElement","__componentScript","__parsed","parseImport","parseElement","elapsed","canTarget","elementFromPoint","targetingShadow","searchRoot","olderShadowRoot","findTarget","clientX","clientY","targetFinding","PointerEventsPolyfill","rule","buttons","which","MouseEvent","view","detail","screenX","screenY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_ID","POINTER_TYPE","global","lastTouches","mouseHandler","isEventSimulatedFromTouch","abs","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","mouseEvents","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","currentTarget","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","touchEvents","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","msEvents","pointerEnabled","msPointerEnabled","msMaxTouchPoints","ontouchstart","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","Polymer","scope","$super","inArgs","caller","nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","_nom","inValue","n$","inElement","inPrototype","base","elementElement","addResolvePath","installTemplate","super","staticInstallTemplate","hintSuper","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","expressionSyntax","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","asyncUnbindAll","cancelUnbindAll","inserted","attributeChanged","findDistributedTarget","inNodes","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","b$","trackingTable","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","getBindings","emptyBindings","property","propertyForAttribute","isElementUnbound","unbindNodeTree","markElementUnbound","olderShadows","forNodeTree","child","unboundTable","unbindAllJobTable","preventCascade","unbindJob","stop","parseAndBindHTML","html","mustachePattern","bindPattern","publishAttributesAttributes","publishInstanceAttributes","published","attributes$","names","inherited","imperative","attrProps$","published$","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","inferredType","typeHandlers","string","date","boolean","number","floatVal","nodes","bindAccumulatedEvents","inNode","inEvents","inListener","listenHost","listenLocal","inEvent","cancelBubble","on","prefix","listenLocalNoEventPath","some","findController","handleHostEvent","getHandledListForEvent","handledList","eventHandledTable","findHostHandler","inAttributes","eventDelegates","parseEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","inHandlerName","inEventName","observeProperty","isObservable","inNew","inOld","propertyChanged","OBSERVE_SUFFIX","inOldValue","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","cssText","sheet","cssTextFromSheet","createStyleElement","applyStyleToScope","styleFromElement","STYLE_GLOBAL_SCOPE","doc","installControllerStyles","controllerStyle","STYLE_CONTROLLER_SCOPE","styleElement","findStyleController","scopeHasElementStyle","shimPolyfillDirectives","descriptor","STYLE_SCOPE_ATTRIBUTE","cssTextFromElement","selector","matcher","matchesSelector","styles","STYLE_SELECTOR","arrayFromNodeList","templateNodes","clone","inSelector","matches","nodeList","eltProto","webkitMatchesSelector","mozMatchesSelector","stylizer","hostRuleRe","selectorRe","hostElementRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","cssPseudoRe","selectorReSuffix","hostRe","cacheDefinition","strictPolyfillStyling","applyScopeToContent","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","addCssToDocument","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","convertAtHostStyles","convertScopedStyles","substring","scopeSelector","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","convertPseudos","rules","scopeRules","propertiesFromRule","media","mediaText","selectorNeedsScoping","matchScope","strict","applyStrictSelectorScope","applySimpleSelectorScope","splits","scoped","sep","preserveComments","stripCssComments","css","getSheet","createTextNode","addSheetToDocument","calcElementPath","resolvePath","inUrl","inJob","inCallback","inWait","Job","go","handle","complete","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/polymer.sandbox.min.js b/polymer.sandbox.min.js index 2637d3ead1..0d0ecea964 100644 --- a/polymer.sandbox.min.js +++ b/polymer.sandbox.min.js @@ -1,4 +1,30 @@ -/* Copyright 2013 The Polymer Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. */ +// Copyright (c) 2012 The Polymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. function PointerGestureEvent(a, b) { var c = b || {}, d = document.createEvent("Event"), e = { bubbles: !0, @@ -65,130 +91,134 @@ function(a) { }), a; } function e(a) { - var b = a.__proto__ || Object.getPrototypeOf(a), c = y.get(b); + var b = a.__proto__ || Object.getPrototypeOf(a), c = z.get(b); if (c) return c; - var d = e(b), f = m(d); - return j(b, f, a), f; + var d = e(b), f = n(d); + return k(b, f, a), f; } function f(a, b) { - h(a, b, !0); + i(a, b, !0); } function g(a, b) { - h(b, a, !1); + i(b, a, !1); } - function h(a, b, c) { - Object.getOwnPropertyNames(a).forEach(function(d) { - if (!(d in b)) { - A && a.__lookupGetter__(d); - var e; + function h(a) { + return /^on[a-z]+$/.test(a); + } + function i(b, c, d) { + Object.getOwnPropertyNames(b).forEach(function(e) { + if (!(e in c)) { + B && b.__lookupGetter__(e); + var f; try { - e = Object.getOwnPropertyDescriptor(a, d); - } catch (f) { - e = B; + f = Object.getOwnPropertyDescriptor(b, e); + } catch (g) { + f = C; } - var g, h; - if (c && "function" == typeof e.value) return b[d] = function() { - return this.impl[d].apply(this.impl, arguments); + var i, j; + if (d && "function" == typeof f.value) return c[e] = function() { + return this.impl[e].apply(this.impl, arguments); }, void 0; - g = function() { - return this.impl[d]; - }, (e.writable || e.set) && (h = function(a) { - this.impl[d] = a; - }), Object.defineProperty(b, d, { - get: g, - set: h, - configurable: e.configurable, - enumerable: e.enumerable + var k = h(e); + i = k ? a.getEventHandlerGetter(e) : function() { + return this.impl[e]; + }, (f.writable || f.set) && (j = k ? a.getEventHandlerSetter(e) : function(a) { + this.impl[e] = a; + }), Object.defineProperty(c, e, { + get: i, + set: j, + configurable: f.configurable, + enumerable: f.enumerable }); } }); } - function i(a, b, c) { + function j(a, b, c) { var e = a.prototype; - j(e, b, c), d(b, a); + k(e, b, c), d(b, a); } - function j(a, c, d) { + function k(a, c, d) { var e = c.prototype; - b(void 0 === y.get(a)), y.set(a, c), f(a, e), d && g(e, d); + b(void 0 === z.get(a)), z.set(a, c), f(a, e), d && g(e, d); } - function k(a, b) { - return y.get(b.prototype) === a; - } - function l(a) { - var b = Object.getPrototypeOf(a), c = e(b), d = m(c); - return j(b, d, a), d; + function l(a, b) { + return z.get(b.prototype) === a; } function m(a) { + var b = Object.getPrototypeOf(a), c = e(b), d = n(c); + return k(b, d, a), d; + } + function n(a) { function b(b) { a.call(this, b); } return b.prototype = Object.create(a.prototype), b.prototype.constructor = b, b; } - function n(a) { - return a instanceof z.EventTarget || a instanceof z.Event || a instanceof z.DOMImplementation; - } function o(a) { - return a instanceof E || a instanceof D || a instanceof F || a instanceof C; + return a instanceof A.EventTarget || a instanceof A.Event || a instanceof A.DOMImplementation; } function p(a) { + return a instanceof F || a instanceof E || a instanceof G || a instanceof D; + } + function q(a) { if (null === a) return null; - b(o(a)); - var c = x.get(a); + b(p(a)); + var c = y.get(a); if (!c) { var d = e(a); - c = new d(a), x.set(a, c); + c = new d(a), y.set(a, c); } return c; } - function q(a) { - return null === a ? null : (b(n(a)), a.impl); - } function r(a) { - return a && n(a) ? q(a) : a; + return null === a ? null : (b(o(a)), a.impl); } function s(a) { - return a && !n(a) ? p(a) : a; + return a && o(a) ? r(a) : a; + } + function t(a) { + return a && !o(a) ? q(a) : a; } - function t(a, c) { - null !== c && (b(o(a)), b(void 0 === c || n(c)), x.set(a, c)); + function u(a, c) { + null !== c && (b(p(a)), b(void 0 === c || o(c)), y.set(a, c)); } - function u(a, b, c) { + function v(a, b, c) { Object.defineProperty(a.prototype, b, { get: c, configurable: !0, enumerable: !0 }); } - function v(a, b) { - u(a, b, function() { - return p(this.impl[b]); + function w(a, b) { + v(a, b, function() { + return q(this.impl[b]); }); } - function w(a, b) { + function x(a, b) { a.forEach(function(a) { b.forEach(function(b) { a.prototype[b] = function() { - var a = p(this); + var a = q(this); return a[b].apply(a, arguments); }; }); }); } - var x = new SideTable(), y = new SideTable(), z = Object.create(null); + var y = new SideTable(), z = new SideTable(), A = Object.create(null); Object.getOwnPropertyNames(window); - var A = /Firefox/.test(navigator.userAgent), B = { + var B = /Firefox/.test(navigator.userAgent), C = { get: function() {}, set: function() {}, configurable: !0, enumerable: !0 - }, C = DOMImplementation, D = Event, E = Node, F = Window; - a.assert = b, a.defineGetter = u, a.defineWrapGetter = v, a.forwardMethodsToWrapper = w, - a.isWrapperFor = k, a.mixin = c, a.registerObject = l, a.registerWrapper = i, a.rewrap = t, - a.unwrap = q, a.unwrapIfNeeded = r, a.wrap = p, a.wrapIfNeeded = s, a.wrappers = z; + }, D = DOMImplementation, E = Event, F = Node, G = Window; + a.assert = b, a.defineGetter = v, a.defineWrapGetter = w, a.forwardMethodsToWrapper = x, + a.isWrapperFor = l, a.mixin = c, a.registerObject = m, a.registerWrapper = j, a.rewrap = u, + a.unwrap = r, a.unwrapIfNeeded = s, a.wrap = q, a.wrapIfNeeded = t, a.wrappers = A; }(this.ShadowDOMPolyfill), function(a) { "use strict"; function b(a) { - return a instanceof J.ShadowRoot; + return a instanceof M.ShadowRoot; } function c(a) { var b = a.localName; @@ -199,19 +229,19 @@ function(a) { } function e(a) { var b; - return a.parentNode || (b = a.defaultView) && I(b) || null; + return a.parentNode || (b = a.defaultView) && L(b) || null; } function f(f, g, h) { if (h.length) return h.shift(); - if (b(f)) return f.insertionParent || a.getHostForShadowRoot(f); + if (b(f)) return j(f) || a.getHostForShadowRoot(f); var i = a.eventParentsTable.get(f); if (i) { - for (var j = 1; j < i.length; j++) h[j - 1] = i[j]; + for (var k = 1; k < i.length; k++) h[k - 1] = i[k]; return i[0]; } if (g && c(f)) { - var k = f.parentNode; - if (k && d(k)) for (var l = a.getShadowTrees(k), m = g.insertionParent, j = 0; j < l.length; j++) if (l[j].contains(m)) return m; + var l = f.parentNode; + if (l && d(l)) for (var m = a.getShadowTrees(l), n = j(g), k = 0; k < m.length; k++) if (m[k].contains(n)) return n; } return e(f); } @@ -237,31 +267,34 @@ function(a) { } function i(d, e) { for (var g = []; d; ) { - for (var i = [], k = e, m = void 0; k; ) { + for (var i = [], j = e, l = void 0; j; ) { var n = null; if (i.length) { - if (c(k) && (n = h(i), j(m))) { + if (c(j) && (n = h(i), k(l))) { var o = i[i.length - 1]; i.push(o); } - } else i.push(k); - if (l(k, d)) return i[i.length - 1]; - b(k) && i.pop(), m = k, k = f(k, n, g); + } else i.push(j); + if (m(j, d)) return i[i.length - 1]; + b(j) && i.pop(), l = j, j = f(j, n, g); } d = b(d) ? a.getHostForShadowRoot(d) : d.parentNode; } } - function j(a) { - return a.insertionParent; + function j(b) { + return a.insertionParentTable.get(b); } function k(a) { + return j(a); + } + function l(a) { for (var b; b = a.parentNode; ) a = b; return a; } - function l(a, b) { - return k(a) === k(b); + function m(a, b) { + return l(a) === l(b); } - function m(a) { + function n(a) { switch (a) { case "DOMAttrModified": case "DOMAttributeNameChanged": @@ -276,55 +309,55 @@ function(a) { } return !1; } - function n(b) { - if (!L.get(b)) { - L.set(b, !0), m(b.type) || a.renderAllPending(); - var c = I(b.target), d = I(b); - return o(d, c); + function o(b) { + if (!O.get(b)) { + O.set(b, !0), n(b.type) || a.renderAllPending(); + var c = L(b.target), d = L(b); + return p(d, c); } } - function o(a, b) { + function p(a, b) { var c = g(b); - return "load" === a.type && 2 === c.length && c[0].target instanceof J.Document && c.shift(), - p(a, c) && q(a, c) && r(a, c), P.set(a, u.NONE), N.set(a, null), a.defaultPrevented; + return "load" === a.type && 2 === c.length && c[0].target instanceof M.Document && c.shift(), + W.set(a, c), q(a, c) && r(a, c) && s(a, c), S.set(a, v.NONE), Q.set(a, null), a.defaultPrevented; } - function p(a, b) { + function q(a, b) { for (var c, d = b.length - 1; d > 0; d--) { var e = b[d].target, f = b[d].currentTarget; - if (e !== f && (c = u.CAPTURING_PHASE, !s(b[d], a, c))) return !1; + if (e !== f && (c = v.CAPTURING_PHASE, !t(b[d], a, c))) return !1; } return !0; } - function q(a, b) { - var c = u.AT_TARGET; - return s(b[0], a, c); - } function r(a, b) { + var c = v.AT_TARGET; + return t(b[0], a, c); + } + function s(a, b) { for (var c, d = a.bubbles, e = 1; e < b.length; e++) { var f = b[e].target, g = b[e].currentTarget; - if (f === g) c = u.AT_TARGET; else { - if (!d || R.get(a)) continue; - c = u.BUBBLING_PHASE; + if (f === g) c = v.AT_TARGET; else { + if (!d || U.get(a)) continue; + c = v.BUBBLING_PHASE; } - if (!s(b[e], a, c)) return; + if (!t(b[e], a, c)) return; } } - function s(a, b, c) { - var d = a.target, e = a.currentTarget, f = K.get(e); + function t(a, b, c) { + var d = a.target, e = a.currentTarget, f = N.get(e); if (!f) return !0; if ("relatedTarget" in b) { - var g = H(b), h = I(g.relatedTarget), j = i(e, h); + var g = K(b), h = L(g.relatedTarget), j = i(e, h); if (j === d) return !0; - O.set(b, j); + R.set(b, j); } - P.set(b, c); + S.set(b, c); var k = b.type, l = !1; - M.set(b, d), N.set(b, e); + P.set(b, d), Q.set(b, e); for (var m = 0; m < f.length; m++) { var n = f[m]; - if (n.removed) l = !0; else if (!(n.type !== k || !n.capture && c === u.CAPTURING_PHASE || n.capture && c === u.BUBBLING_PHASE)) try { + if (n.removed) l = !0; else if (!(n.type !== k || !n.capture && c === v.CAPTURING_PHASE || n.capture && c === v.BUBBLING_PHASE)) try { if ("function" == typeof n.handler ? n.handler.call(e, b) : n.handler.handleEvent(b), - R.get(b)) return !1; + U.get(b)) return !1; } catch (o) { window.onerror ? window.onerror(o.message) : console.error(o); } @@ -334,67 +367,91 @@ function(a) { f.length = 0; for (var m = 0; m < p.length; m++) p[m].removed || f.push(p[m]); } - return !Q.get(b); + return !T.get(b); } - function t(a, b, c) { + function u(a, b, c) { this.type = a, this.handler = b, this.capture = Boolean(c); } - function u(a, b) { - return a instanceof S ? (this.impl = a, void 0) : I(y(S, "Event", a, b)); + function v(a, b) { + return a instanceof X ? (this.impl = a, void 0) : L(z(X, "Event", a, b)); } - function v(a) { + function w(a) { return a && a.relatedTarget ? Object.create(a, { relatedTarget: { - value: H(a.relatedTarget) + value: K(a.relatedTarget) } }) : a; } - function w(a, b, c) { + function x(a, b, c) { var d = window[a], e = function(b, c) { - return b instanceof d ? (this.impl = b, void 0) : I(y(d, a, b, c)); + return b instanceof d ? (this.impl = b, void 0) : L(z(d, a, b, c)); }; - return e.prototype = Object.create(b.prototype), c && F(e.prototype, c), d && G(d, e, document.createEvent(a)), + return e.prototype = Object.create(b.prototype), c && I(e.prototype, c), d && J(d, e, document.createEvent(a)), e; } - function x(a, b) { + function y(a, b) { return function() { - arguments[b] = H(arguments[b]); - var c = H(this); + arguments[b] = K(arguments[b]); + var c = K(this); c[a].apply(c, arguments); }; } - function y(a, b, c, d) { - if (ab) return new a(c, v(d)); - var e = H(document.createEvent(b)), f = _[b], g = [ c ]; + function z(a, b, c, d) { + if (fb) return new a(c, w(d)); + var e = K(document.createEvent(b)), f = eb[b], g = [ c ]; return Object.keys(f).forEach(function(a) { var b = null != d && a in d ? d[a] : f[a]; - "relatedTarget" === a && (b = H(b)), g.push(b); + "relatedTarget" === a && (b = K(b)), g.push(b); }), e["init" + b].apply(e, g), e; } - function z(a) { + function A(a) { return "function" == typeof a ? !0 : a && a.handleEvent; } - function A(a) { + function B(a) { this.impl = a; } - function B(b) { - return b instanceof J.ShadowRoot && (b = a.getHostForShadowRoot(b)), H(b); + function C(b) { + return b instanceof M.ShadowRoot && (b = a.getHostForShadowRoot(b)), K(b); } - function C(a) { - E(a, db); + function D(a) { + H(a, ib); } - function D(b, c, d, e) { + function E(b, c, d, e) { a.renderAllPending(); - for (var f = I(eb.call(c.impl, d, e)), h = g(f, this), i = 0; i < h.length; i++) { + for (var f = L(jb.call(c.impl, d, e)), h = g(f, this), i = 0; i < h.length; i++) { var j = h[i]; if (j.currentTarget === b) return j.target; } return null; } - var E = a.forwardMethodsToWrapper, F = a.mixin, G = a.registerWrapper, H = a.unwrap, I = a.wrap, J = a.wrappers; + function F(a) { + return function() { + var b = V.get(this); + return b && b[a] && b[a].value || null; + }; + } + function G(a) { + var b = a.slice(2); + return function(c) { + var d = V.get(this); + d || (d = Object.create(null), V.set(this, d)); + var e = d[a]; + if (e && this.removeEventListener(b, e.wrapped, !1), "function" == typeof c) { + var f = function(b) { + var d = c.call(this, b); + d === !1 ? b.preventDefault() : "onbeforeunload" === a && "string" == typeof d && (b.returnValue = d); + }; + this.addEventListener(b, f, !1), d[a] = { + value: c, + wrapped: f + }; + } + }; + } + var H = a.forwardMethodsToWrapper, I = a.mixin, J = a.registerWrapper, K = a.unwrap, L = a.wrap, M = a.wrappers; new SideTable(); - var K = new SideTable(), L = new SideTable(), M = new SideTable(), N = new SideTable(), O = new SideTable(), P = new SideTable(), Q = new SideTable(), R = new SideTable(); - t.prototype = { + var N = new SideTable(), O = new SideTable(), P = new SideTable(), Q = new SideTable(), R = new SideTable(), S = new SideTable(), T = new SideTable(), U = new SideTable(), V = new SideTable(), W = new SideTable(); + u.prototype = { equals: function(a) { return this.handler === a.handler && this.type === a.type && this.capture === a.capture; }, @@ -405,38 +462,50 @@ function(a) { this.handler = null; } }; - var S = window.Event; - u.prototype = { + var X = window.Event; + v.prototype = { get target() { - return M.get(this); + return P.get(this); }, get currentTarget() { - return N.get(this); + return Q.get(this); }, get eventPhase() { - return P.get(this); + return S.get(this); + }, + get path() { + var a = new M.NodeList(), b = W.get(this); + if (b) { + for (var c = 0, d = !1, e = Q.get(this), f = b.length - 1, g = 0; f >= g; g++) if (d || (d = b[g].currentTarget === e), + d) { + var h = b[g].currentTarget; + (g !== f || h instanceof M.Node) && (a[c++] = h); + } + a.length = c; + } + return a; }, stopPropagation: function() { - Q.set(this, !0); + T.set(this, !0); }, stopImmediatePropagation: function() { - Q.set(this, !0), R.set(this, !0); + T.set(this, !0), U.set(this, !0); } - }, G(S, u, document.createEvent("Event")); - var T = w("UIEvent", u), U = w("CustomEvent", u), V = { + }, J(X, v, document.createEvent("Event")); + var Y = x("UIEvent", v), Z = x("CustomEvent", v), $ = { get relatedTarget() { - return O.get(this) || I(H(this).relatedTarget); - } - }, W = F({ - initMouseEvent: x("initMouseEvent", 14) - }, V), X = F({ - initFocusEvent: x("initFocusEvent", 5) - }, V), Y = w("MouseEvent", T, W), Z = w("FocusEvent", T, X), $ = w("MutationEvent", u, { - initMutationEvent: x("initMutationEvent", 3), + return R.get(this) || L(K(this).relatedTarget); + } + }, _ = I({ + initMouseEvent: y("initMouseEvent", 14) + }, $), ab = I({ + initFocusEvent: y("initFocusEvent", 5) + }, $), bb = x("MouseEvent", Y, _), cb = x("FocusEvent", Y, ab), db = x("MutationEvent", v, { + initMutationEvent: y("initMutationEvent", 3), get relatedNode() { - return I(this.impl.relatedNode); + return L(this.impl.relatedNode); } - }), _ = Object.create(null), ab = function() { + }), eb = Object.create(null), fb = function() { try { new window.MouseEvent("click"); } catch (a) { @@ -444,23 +513,23 @@ function(a) { } return !0; }(); - if (!ab) { - var bb = function(a, b, c) { + if (!fb) { + var gb = function(a, b, c) { if (c) { - var d = _[c]; - b = F(F({}, d), b); + var d = eb[c]; + b = I(I({}, d), b); } - _[a] = b; + eb[a] = b; }; - bb("Event", { + gb("Event", { bubbles: !1, cancelable: !1 - }), bb("CustomEvent", { + }), gb("CustomEvent", { detail: null - }, "Event"), bb("UIEvent", { + }, "Event"), gb("UIEvent", { view: null, detail: 0 - }, "Event"), bb("MouseEvent", { + }, "Event"), gb("MouseEvent", { screenX: 0, screenY: 0, clientX: 0, @@ -471,51 +540,52 @@ function(a) { metaKey: !1, button: 0, relatedTarget: null - }, "UIEvent"), bb("FocusEvent", { + }, "UIEvent"), gb("FocusEvent", { relatedTarget: null }, "UIEvent"); } - var cb = window.EventTarget, db = [ "addEventListener", "removeEventListener", "dispatchEvent" ]; + var hb = window.EventTarget, ib = [ "addEventListener", "removeEventListener", "dispatchEvent" ]; [ Element, Window, Document ].forEach(function(a) { var b = a.prototype; - db.forEach(function(a) { + ib.forEach(function(a) { Object.defineProperty(b, a + "_", { value: b[a] }); }); - }), A.prototype = { + }), B.prototype = { addEventListener: function(a, b, c) { - if (z(b)) { - var d = new t(a, b, c), e = K.get(this); + if (A(b)) { + var d = new u(a, b, c), e = N.get(this); if (e) { for (var f = 0; f < e.length; f++) if (d.equals(e[f])) return; - } else e = [], K.set(this, e); + } else e = [], N.set(this, e); e.push(d); - var g = B(this); - g.addEventListener_(a, n, !0); + var g = C(this); + g.addEventListener_(a, o, !0); } }, removeEventListener: function(a, b, c) { c = Boolean(c); - var d = K.get(this); + var d = N.get(this); if (d) { for (var e = 0, f = !1, g = 0; g < d.length; g++) d[g].type === a && d[g].capture === c && (e++, d[g].handler === b && (f = !0, d[g].remove())); if (f && 1 === e) { - var h = B(this); - h.removeEventListener_(a, n, !0); + var h = C(this); + h.removeEventListener_(a, o, !0); } } }, dispatchEvent: function(a) { - var b = B(this); - return b.dispatchEvent_(H(a)); - } - }, cb && G(cb, A); - var eb = document.elementFromPoint; - a.adjustRelatedTarget = i, a.elementFromPoint = D, a.wrapEventTargetMethods = C, - a.wrappers.CustomEvent = U, a.wrappers.Event = u, a.wrappers.EventTarget = A, a.wrappers.FocusEvent = Z, - a.wrappers.MouseEvent = Y, a.wrappers.MutationEvent = $, a.wrappers.UIEvent = T; + var b = C(this); + return b.dispatchEvent_(K(a)); + } + }, hb && J(hb, B); + var jb = document.elementFromPoint; + a.adjustRelatedTarget = i, a.elementFromPoint = E, a.getEventHandlerGetter = F, + a.getEventHandlerSetter = G, a.wrapEventTargetMethods = D, a.wrappers.CustomEvent = Z, + a.wrappers.Event = v, a.wrappers.EventTarget = B, a.wrappers.FocusEvent = cb, a.wrappers.MouseEvent = bb, + a.wrappers.MutationEvent = db, a.wrappers.UIEvent = Y; }(this.ShadowDOMPolyfill), function(a) { "use strict"; function b(a, b) { @@ -557,10 +627,11 @@ function(a) { return c && (c.nextSibling_ = g[0]), d && (d.previousSibling_ = g[g.length - 1]), g; } - function d(a) { - if (1 === a.length) return m(a[0]); - for (var b = m(document.createDocumentFragment()), c = 0; c < a.length; c++) b.appendChild(m(a[c])); - return b; + function d(a, b) { + var c = b.length; + if (1 === c) return m(b[0]); + for (var d = m(a.ownerDocument.createDocumentFragment()), e = 0; c > e; e++) d.appendChild(m(b[e])); + return d; } function e(a) { for (var b = a.firstChild; b; ) { @@ -579,7 +650,7 @@ function(a) { appendChild: function(a) { b(a), this.invalidateShadowRenderer(); var e = this.lastChild, f = null, g = c(a, this, e, f); - return this.lastChild_ = g[g.length - 1], e || (this.firstChild_ = g[0]), p.call(this.impl, d(g)), + return this.lastChild_ = g[g.length - 1], e || (this.firstChild_ = g[0]), p.call(this.impl, d(this, g)), a; }, insertBefore: function(a, e) { @@ -588,7 +659,7 @@ function(a) { var f = e.previousSibling, g = e, h = c(a, this, f, g); this.firstChild === e && (this.firstChild_ = h[0]); var i = m(e), k = i.parentNode; - return k && q.call(k, d(h), i), a; + return k && q.call(k, d(this, h), i), a; }, removeChild: function(a) { if (b(a), a.parentNode !== this) throw new Error("NotFoundError"); @@ -607,7 +678,7 @@ function(a) { this.firstChild === e && (this.firstChild_ = h[0]), this.lastChild === e && (this.lastChild_ = h[h.length - 1]), e.previousSibling_ = null, e.nextSibling_ = null, e.parentNode_ = null; var i = m(e); - return i.parentNode && r.call(i.parentNode, d(h), i), e; + return i.parentNode && r.call(i.parentNode, d(this, h), i), e; }, hasChildNodes: function() { return null === this.firstChild; @@ -770,8 +841,9 @@ function(a) { matches: function(a) { return m.call(this.impl, a); } - }), h(b.prototype, c), h(b.prototype, d), h(b.prototype, f), h(b.prototype, g), - i(l, b), a.wrappers.Element = b; + }), l.prototype.webkitCreateShadowRoot && (b.prototype.webkitCreateShadowRoot = b.prototype.createShadowRoot), + h(b.prototype, c), h(b.prototype, d), h(b.prototype, f), h(b.prototype, g), i(l, b), + a.wrappers.Element = b; }(this.ShadowDOMPolyfill), function(a) { "use strict"; function b(a) { @@ -993,41 +1065,41 @@ function(a) { a.firstChild_ = a.firstChild, a.lastChild_ = a.lastChild; } function d(a) { - F(a instanceof E); + E(a instanceof D); for (var d = a.firstChild; d; d = d.nextSibling) b(d); c(a); } function e(a) { - var b = H(a); + var b = G(a); d(a), b.textContent = ""; } function f(a, c) { - var e = H(a), f = H(c); - f.nodeType === E.DOCUMENT_FRAGMENT_NODE ? d(c) : (h(c), b(c)), a.lastChild_ = a.lastChild, + var e = G(a), f = G(c); + f.nodeType === D.DOCUMENT_FRAGMENT_NODE ? d(c) : (h(c), b(c)), a.lastChild_ = a.lastChild, a.lastChild === a.firstChild && (a.firstChild_ = a.firstChild); - var g = I(e.lastChild); + var g = H(e.lastChild); g && (g.nextSibling_ = g.nextSibling), e.appendChild(f); } function g(a, c) { - var d = H(a), e = H(c); + var d = G(a), e = G(c); b(c), c.previousSibling && (c.previousSibling.nextSibling_ = c), c.nextSibling && (c.nextSibling.previousSibling_ = c), a.lastChild === c && (a.lastChild_ = c), a.firstChild === c && (a.firstChild_ = c), d.removeChild(e); } function h(a) { - var b = H(a), c = b.parentNode; - c && g(I(c), a); + var b = G(a), c = b.parentNode; + c && g(H(c), a); } function i(a, b) { - k(b).push(a), L.set(a, b); - var c = K.get(a); - c || K.set(a, c = []), c.push(b); + k(b).push(a), A(a, b); + var c = J.get(a); + c || J.set(a, c = []), c.push(b); } function j(a) { - J.set(a, []); + I.set(a, []); } function k(a) { - return J.get(a); + return I.get(a); } function l(a) { for (var b = [], c = 0, d = a.firstChild; d; d = d.nextSibling) b[c++] = d; @@ -1060,9 +1132,9 @@ function(a) { var c = b.getAttribute("select"); if (!c) return !0; if (c = c.trim(), !c) return !0; - if (a.nodeType !== E.ELEMENT_NODE) return !1; - if (!P.test(c)) return !1; - if (":" === c[0] && !Q.test(c)) return !1; + if (a.nodeType !== D.ELEMENT_NODE) return !1; + if (!O.test(c)) return !1; + if (":" === c[0] && !P.test(c)) return !1; try { return a.matches(c); } catch (d) { @@ -1070,16 +1142,16 @@ function(a) { } } function q() { - C = null, S.forEach(function(a) { + F = null, R.forEach(function(a) { a.render(); - }), S = []; + }), R = []; } function r(a) { this.host = a, this.dirty = !1, this.associateNode(a); } function s(a) { - var b = N.get(a); - return b || (b = new r(a), N.set(a, b)), b; + var b = M.get(a); + return b || (b = new r(a), M.set(a, b)), b; } function t(a) { return "content" === a.localName; @@ -1097,19 +1169,21 @@ function(a) { return !!a.shadowRoot; } function y(a) { - return M.get(a); + return L.get(a); } function z(a) { - for (var b = [], c = a.shadowRoot; c; c = M.get(c)) b.push(c); + for (var b = [], c = a.shadowRoot; c; c = L.get(c)) b.push(c); return b; } function A(a, b) { - L.set(a, b); + K.set(a, b); } function B(a) { new r(a).render(); } - var C, D = a.wrappers.HTMLContentElement, E = a.wrappers.Node, F = a.assert, G = a.mixin, H = a.unwrap, I = a.wrap, J = new SideTable(), K = new SideTable(), L = new SideTable(), M = new SideTable(), N = new SideTable(), O = new SideTable(), P = /^[*.:#[a-zA-Z_|]/, Q = new RegExp("^:(" + [ "link", "visited", "target", "enabled", "disabled", "checked", "indeterminate", "nth-child", "nth-last-child", "nth-of-type", "nth-last-of-type", "first-child", "last-child", "first-of-type", "last-of-type", "only-of-type" ].join("|") + ")"), R = o(window, [ "requestAnimationFrame", "mozRequestAnimationFrame", "webkitRequestAnimationFrame", "setTimeout" ]), S = []; + var C = a.wrappers.HTMLContentElement, D = a.wrappers.Node, E = a.assert; + a.mixin; + var F, G = a.unwrap, H = a.wrap, I = new SideTable(), J = new SideTable(), K = new SideTable(), L = new SideTable(), M = new SideTable(), N = new SideTable(), O = /^[*.:#[a-zA-Z_|]/, P = new RegExp("^:(" + [ "link", "visited", "target", "enabled", "disabled", "checked", "indeterminate", "nth-child", "nth-last-child", "nth-of-type", "nth-last-of-type", "first-child", "last-child", "first-of-type", "last-of-type", "only-of-type" ].join("|") + ")"), Q = o(window, [ "requestAnimationFrame", "mozRequestAnimationFrame", "webkitRequestAnimationFrame", "setTimeout" ]), R = []; r.prototype = { render: function() { if (this.dirty) { @@ -1127,8 +1201,8 @@ function(a) { }, invalidate: function() { if (!this.dirty) { - if (this.dirty = !0, S.push(this), C) return; - C = window[R](q, 0); + if (this.dirty = !0, R.push(this), F) return; + F = window[Q](q, 0); } }, renderNode: function(a, b, c, d) { @@ -1155,7 +1229,7 @@ function(a) { renderShadowInsertionPoint: function(a, b, c) { var d = y(b); if (d) { - L.set(d, c), c.olderShadowRoot_ = d, this.remove(c); + A(d, c), c.olderShadowRoot_ = d, this.remove(c); var e = l(d); e.forEach(function(b) { this.renderNode(a, d, b, !0); @@ -1200,22 +1274,18 @@ function(a) { e(a); }, associateNode: function(a) { - O.set(a, this); + N.set(a, this); } - }, E.prototype.invalidateShadowRenderer = function(a) { - var b = O.get(this); + }, D.prototype.invalidateShadowRenderer = function(a) { + var b = N.get(this); if (!b) return !1; var c; return (a || this.shadowRoot || (c = this.parentNode) && (c.shadowRoot || c instanceof ShadowRoot)) && b.invalidate(), !0; - }, D.prototype.getDistributedNodes = function() { + }, C.prototype.getDistributedNodes = function() { return q(), k(this); - }, G(E.prototype, { - get insertionParent() { - return L.get(this) || null; - } - }), a.eventParentsTable = K, a.getRendererForHost = s, a.getShadowTrees = z, a.nextOlderShadowTreeTable = M, - a.renderAllPending = q, a.visual = { + }, a.eventParentsTable = J, a.getRendererForHost = s, a.getShadowTrees = z, a.nextOlderShadowTreeTable = L, + a.renderAllPending = q, a.insertionParentTable = K, a.visual = { removeAllChildNodes: e, appendChild: f, removeChild: g @@ -1223,59 +1293,68 @@ function(a) { }(this.ShadowDOMPolyfill), function(a) { "use strict"; function b(a) { - h.call(this, a); + j.call(this, a); } function c(a) { var c = document[a]; b.prototype[a] = function() { - return q(c.apply(this.impl, arguments)); + return t(c.apply(this.impl, arguments)); }; } - function d(a) { + function d(a, b) { + a.shadowRoot && b.adoptNode(a.shadowRoot), a instanceof m && e(a, b); + for (var c = a.firstChild; c; c = c.nextSibling) d(c, b); + } + function e(b, c) { + var d = a.nextOlderShadowTreeTable.get(b); + d && c.adoptNode(d); + } + function f(a) { this.impl = a; } - function e(a, b) { + function g(a, b) { var c = document.implementation[b]; a.prototype[b] = function() { - return q(c.apply(this.impl, arguments)); + return t(c.apply(this.impl, arguments)); }; } - function f(a, b) { + function h(a, b) { var c = document.implementation[b]; a.prototype[b] = function() { return c.apply(this.impl, arguments); }; } - var g = a.GetElementsByInterface, h = a.wrappers.Node, i = a.ParentNodeInterface, j = a.SelectorsInterface, k = a.defineWrapGetter, l = a.elementFromPoint, m = a.forwardMethodsToWrapper, n = a.mixin, o = a.registerWrapper, p = a.unwrap, q = a.wrap, r = a.wrapEventTargetMethods; + var i = a.GetElementsByInterface, j = a.wrappers.Node, k = a.ParentNodeInterface, l = a.SelectorsInterface, m = a.wrappers.ShadowRoot, n = a.defineWrapGetter, o = a.elementFromPoint, p = a.forwardMethodsToWrapper, q = a.mixin, r = a.registerWrapper, s = a.unwrap, t = a.wrap, u = a.wrapEventTargetMethods; a.wrapNodeList; - var s = new SideTable(); - b.prototype = Object.create(h.prototype), k(b, "documentElement"), k(b, "body"), - k(b, "head"), [ "getElementById", "createElement", "createElementNS", "createTextNode", "createDocumentFragment", "createEvent", "createEventNS" ].forEach(c); - var t = document.adoptNode, u = document.write; - n(b.prototype, { + var v = new SideTable(); + b.prototype = Object.create(j.prototype), n(b, "documentElement"), n(b, "body"), + n(b, "head"), [ "getElementById", "createElement", "createElementNS", "createTextNode", "createDocumentFragment", "createEvent", "createEventNS" ].forEach(c); + var w = document.adoptNode, x = document.write; + q(b.prototype, { adoptNode: function(a) { - return t.call(this.impl, p(a)), a; + return a.parentNode && a.parentNode.removeChild(a), w.call(this.impl, s(a)), d(a, this), + a; }, elementFromPoint: function(a, b) { - return l(this, this, a, b); + return o(this, this, a, b); }, write: function(a) { for (var b = this.querySelectorAll("*"), c = b[b.length - 1]; c.nextSibling; ) c = c.nextSibling; var d = c.parentNode; - d.lastChild_ = void 0, c.nextSibling_ = void 0, u.call(this.impl, a); + d.lastChild_ = void 0, c.nextSibling_ = void 0, x.call(this.impl, a); } - }), m([ window.HTMLBodyElement, window.HTMLDocument || window.Document, window.HTMLHeadElement ], [ "appendChild", "compareDocumentPosition", "getElementsByClassName", "getElementsByTagName", "getElementsByTagNameNS", "insertBefore", "querySelector", "querySelectorAll", "removeChild", "replaceChild" ]), - m([ window.HTMLDocument || window.Document ], [ "adoptNode", "createDocumentFragment", "createElement", "createElementNS", "createEvent", "createEventNS", "createTextNode", "elementFromPoint", "getElementById", "write" ]), - n(b.prototype, g), n(b.prototype, i), n(b.prototype, j), n(b.prototype, { + }), p([ window.HTMLBodyElement, window.HTMLDocument || window.Document, window.HTMLHeadElement ], [ "appendChild", "compareDocumentPosition", "getElementsByClassName", "getElementsByTagName", "getElementsByTagNameNS", "insertBefore", "querySelector", "querySelectorAll", "removeChild", "replaceChild" ]), + p([ window.HTMLDocument || window.Document ], [ "adoptNode", "createDocumentFragment", "createElement", "createElementNS", "createEvent", "createEventNS", "createTextNode", "elementFromPoint", "getElementById", "write" ]), + q(b.prototype, i), q(b.prototype, k), q(b.prototype, l), q(b.prototype, { get implementation() { - var a = s.get(this); - return a ? a : (a = new d(p(this).implementation), s.set(this, a), a); - } - }), o(window.Document, b, document.implementation.createHTMLDocument("")), window.HTMLDocument && o(window.HTMLDocument, b), - r([ window.HTMLBodyElement, window.HTMLDocument || window.Document, window.HTMLHeadElement ]), - e(d, "createDocumentType"), e(d, "createDocument"), e(d, "createHTMLDocument"), - f(d, "hasFeature"), o(window.DOMImplementation, d), m([ window.DOMImplementation ], [ "createDocumentType", "createDocument", "createHTMLDocument", "hasFeature" ]), - a.wrappers.Document = b, a.wrappers.DOMImplementation = d; + var a = v.get(this); + return a ? a : (a = new f(s(this).implementation), v.set(this, a), a); + } + }), r(window.Document, b, document.implementation.createHTMLDocument("")), window.HTMLDocument && r(window.HTMLDocument, b), + u([ window.HTMLBodyElement, window.HTMLDocument || window.Document, window.HTMLHeadElement ]), + g(f, "createDocumentType"), g(f, "createDocument"), g(f, "createHTMLDocument"), + h(f, "hasFeature"), r(window.DOMImplementation, f), p([ window.DOMImplementation ], [ "createDocumentType", "createDocument", "createHTMLDocument", "hasFeature" ]), + a.wrappers.Document = b, a.wrappers.DOMImplementation = f; }(this.ShadowDOMPolyfill), function(a) { "use strict"; function b(a) { @@ -1460,9 +1539,18 @@ function(a) { return a.content; }, window.wrap = window.unwrap = function(a) { return a; - }, window.createShadowRoot = function(a) { - return a.webkitCreateShadowRoot(); - }, window.templateContent = function(a) { + }, Object.defineProperties(HTMLElement.prototype, { + shadowRoot: { + get: function() { + return this.webkitShadowRoot; + } + }, + createShadowRoot: { + value: function() { + return this.webkitCreateShadowRoot(); + } + } + }), window.templateContent = function(a) { if (window.HTMLTemplateElement && HTMLTemplateElement.bootstrap && HTMLTemplateElement.bootstrap(a), !a.content && !a._content) { for (var b = document.createDocumentFragment(); a.firstChild; ) b.appendChild(a.firstChild); @@ -1474,13 +1562,32 @@ function(a) { } if (function(a) { + function b(a) { + for (var b = a || {}, d = 1; d < arguments.length; d++) { + var e = arguments[d]; + try { + for (var f in e) c(f, e, b); + } catch (g) {} + } + return b; + } + function c(a, b, c) { + var e = d(b, a); + Object.defineProperty(c, a, e); + } + function d(a, b) { + if (a) { + var c = Object.getOwnPropertyDescriptor(a, b); + return c || d(Object.getPrototypeOf(a), b); + } + } Function.prototype.bind || (Function.prototype.bind = function(a) { var b = this, c = Array.prototype.slice.call(arguments, 1); return function() { var d = c.slice(); return d.push.apply(d, arguments), b.apply(a, d); }; - }), a.mixin = window.mixin; + }), a.mixin = b; }(window.Platform), function(a) { "use strict"; function b(a, b, c) { @@ -1587,39 +1694,48 @@ if (function(a) { }, a.output = j; }(window.Inspector), function(a) { "use strict"; - function b(a) { - return +a === a >>> 0; + function b() { + function a(a) { + "splice" === a[0].type && "splice" === a[1].type && (b = !0); + } + if ("function" != typeof Object.observe && "function" != typeof Array.observe) return !1; + var b = !1, c = [ 0 ]; + return Array.observe(c, a), c[1] = 1, c.length = 0, Object.deliverChangeRecords(a), + b; } function c(a) { - return +a; + return +a === a >>> 0; } function d(a) { - return a === Object(a); + return +a; } - function e(a, b) { - return a === b ? 0 !== a || 1 / a === 1 / b : K(a) && K(b) ? !0 : a !== a && b !== b; + function e(a) { + return a === Object(a); } - function f(a) { - return "string" != typeof a ? !1 : (a = a.replace(/\s/g, ""), "" == a ? !0 : "." == a[0] ? !1 : N.test(a)); + function f(a, b) { + return a === b ? 0 !== a || 1 / a === 1 / b : O(a) && O(b) ? !0 : a !== a && b !== b; } function g(a) { - return "" == a.trim() ? this : b(a) ? (this.push(String(a)), this) : (a.split(/\./).filter(function(a) { + return "string" != typeof a ? !1 : (a = a.replace(/\s/g, ""), "" == a ? !0 : "." == a[0] ? !1 : W.test(a)); + } + function h(a) { + return "" == a.trim() ? this : c(a) ? (this.push(String(a)), this) : (a.split(/\./).filter(function(a) { return a; }).forEach(function(a) { this.push(a); }, this), void 0); } - function h(a) { - for (var b = 0; O > b && a.check(); ) a.report(), b++; - } function i(a) { + for (var b = 0; X > b && a.check(); ) a.report(), b++; + } + function j(a) { for (var b in a) return !1; return !0; } - function j(a) { - return i(a.added) && i(a.removed) && i(a.changed); + function k(a) { + return j(a.added) && j(a.removed) && j(a.changed); } - function k(a, b) { + function l(a, b) { var c = {}, d = {}, e = {}; for (var f in b) { var g = a[f]; @@ -1632,49 +1748,49 @@ if (function(a) { changed: e }; } - function l(a, b) { + function m(a, b) { var c = b || (Array.isArray(a) ? [] : {}); for (var d in a) c[d] = a[d]; return Array.isArray(a) && (c.length = a.length), c; } - function m(a) { - this.callback = a, this.reporting = !0, G && (this.boundInternalCallback = this.internalCallback.bind(this)), - this.valid = !0, n(this), this.connect(), this.sync(!0); - } function n(a) { - Q && (P.push(a), m._allObserversCount++); + this.callback = a, this.reporting = !0, K && (this.boundInternalCallback = this.internalCallback.bind(this)), + this.valid = !0, o(this), this.connect(), this.sync(!0); } function o(a) { - if (Q) for (var b = 0; b < P.length; b++) if (P[b] === a) { - P[b] = void 0, m._allObserversCount--; + Z && (Y.push(a), n._allObserversCount++); + } + function p(a) { + if (Z) for (var b = 0; b < Y.length; b++) if (Y[b] === a) { + Y[b] = void 0, n._allObserversCount--; break; } } - function p(a, b) { - this.object = a, m.call(this, b); - } function q(a, b) { - if (!Array.isArray(a)) throw Error("Provided object is not an Array"); - this.object = a, m.call(this, b); + this.object = a, n.call(this, b); } function r(a, b) { + if (!Array.isArray(a)) throw Error("Provided object is not an Array"); + this.object = a, n.call(this, b); + } + function s(a, b) { if (!b.length) return a; - if (d(a)) { - if (H) return u(a, b); + if (e(a)) { + if (L) return v(a, b); var c; return b.walkPropertiesFrom(a, function(a, d, e) { e === b.length && (c = d); }), c; } } - function s(a, b, c) { - if (!b.length || !d(a)) return !1; - var e = !1; + function t(a, b, c) { + if (!b.length || !e(a)) return !1; + var d = !1; return b.walkPropertiesFrom(a, function(a, f, g) { - d(f) && g == b.length - 1 && (e = !0, f[a] = c); - }), e; + e(f) && g == b.length - 1 && (d = !0, f[a] = c); + }), d; } - function t(a) { + function u(a) { var b = "", c = "obj", d = a.length; b += "if (obj"; for (var e = 0; d - 1 > e; e++) { @@ -1684,40 +1800,40 @@ if (function(a) { return b += ") ", c += '["' + a[d - 1] + '"]', b += "return " + c + "; else return undefined;", new Function("obj", b); } - function u(a, b) { + function v(a, b) { var c = b.toString(); - return S[c] || (S[c] = t(b)), S[c](a); + return _[c] || (_[c] = u(b)), _[c](a); } - function v(b, c, e, f, g) { + function w(b, c, d, f, g) { var h = void 0; return c.walkPropertiesFrom(b, function(b, i, j) { if (j === c.length) return h = i, void 0; - var k = e[j]; + var k = d[j]; if (!k || i !== k[0]) { if (k) for (var l = 0; l < k.length; l++) { var m = k[l], n = f.get(m); 1 == n ? (f.delete(m), a.unobserveCount++, Object.unobserve(m, g)) : f.set(m, n - 1); } - if (k = i, d(k)) { - for (var k = []; d(i); ) { + if (k = i, e(k)) { + for (var k = []; e(i); ) { k.push(i); var n = f.get(i); n ? f.set(i, n + 1) : (f.set(i, 1), a.observeCount++, Object.observe(i, g)), i = Object.getPrototypeOf(i); } - e[j] = k; + d[j] = k; } } }, this), h; } - function w(a, b, c) { - if (this.value = void 0, f(b)) { - var e = new g(b); - return e.length ? (d(a) && (this.object = a, this.path = e, G ? (this.observed = new Array(e.length), - this.observedMap = new Map(), this.getPathValue = v) : this.getPathValue = r, m.call(this, c)), + function x(a, b, c) { + if (this.value = void 0, g(b)) { + var d = new h(b); + return d.length ? (e(a) && (this.object = a, this.path = d, K ? (this.observed = new Array(d.length), + this.observedMap = new Map(), this.getPathValue = w) : this.getPathValue = s, n.call(this, c)), void 0) : (this.value = a, void 0); } } - function x(a, b) { + function y(a, b) { if ("function" == typeof Object.observe) { var c = Object.getNotifier(a); return function(d, e) { @@ -1730,10 +1846,10 @@ if (function(a) { }; } } - function y(a, b, c) { + function z(a, b, c) { for (var d = {}, e = {}, f = 0; f < b.length; f++) { var g = b[f]; - T[g.type] ? (g.name in c || (c[g.name] = g.oldValue), "updated" != g.type && ("new" != g.type ? g.name in d ? (delete d[g.name], + ab[g.type] ? (g.name in c || (c[g.name] = g.oldValue), "updated" != g.type && ("new" != g.type ? g.name in d ? (delete d[g.name], delete c[g.name]) : e[g.name] = !0 : g.name in e ? delete e[g.name] : d[g.name] = !0)) : (console.error("Unknown changeRecord type: " + g.type), console.error(g)); } @@ -1750,7 +1866,7 @@ if (function(a) { changed: i }; } - function z(a, b, c, d, e, f) { + function A(a, b, c, d, e, f) { for (var g = f - e + 1, h = c - b + 1, i = new Array(g), j = 0; g > j; j++) i[j] = new Array(h), i[j][0] = j; for (var k = 0; h > k; k++) i[0][k] = k; @@ -1760,112 +1876,127 @@ if (function(a) { } return i; } - function A(a) { + function B(a) { for (var b = a.length - 1, c = a[0].length - 1, d = a[b][c], e = []; b > 0 || c > 0; ) if (0 != b) if (0 != c) { var f, g = a[b - 1][c - 1], h = a[b - 1][c], i = a[b][c - 1]; - f = i > h ? g > h ? h : g : g > i ? i : g, f == g ? (g == d ? e.push(U) : (e.push(V), - d = g), b--, c--) : f == h ? (e.push(X), b--, d = h) : (e.push(W), c--, d = i); - } else e.push(X), b--; else e.push(W), c--; + f = i > h ? g > h ? h : g : g > i ? i : g, f == g ? (g == d ? e.push(bb) : (e.push(cb), + d = g), b--, c--) : f == h ? (e.push(eb), b--, d = h) : (e.push(db), c--, d = i); + } else e.push(eb), b--; else e.push(db), c--; return e.reverse(), e; } - function B(a, b, c) { + function C(a, b, c) { for (var d = 0; c > d; d++) if (a[d] !== b[d]) return d; return c; } - function C(a, b, c) { + function D(a, b, c) { for (var d = a.length, e = b.length, f = 0; c > f && a[--d] === b[--e]; ) f++; return f; } - function D(a, b, c, d, e, f) { - function g(a, b, c) { - return { - index: a, - removed: b, - addedCount: c - }; - } - var h = 0, i = 0, j = Math.min(c - b, f - e); - if (0 == b && 0 == e && (h = B(a, d, j)), c == a.length && f == d.length && (i = C(a, d, j - h)), - b += h, e += h, c -= i, f -= i, 0 == c - b && 0 == f - e) return []; + function E(a, b, c) { + return { + index: a, + removed: b, + addedCount: c + }; + } + function F(a, b, c, d, e, f) { + var g = 0, h = 0, i = Math.min(c - b, f - e); + if (0 == b && 0 == e && (g = C(a, d, i)), c == a.length && f == d.length && (h = D(a, d, i - g)), + b += g, e += g, c -= h, f -= h, 0 == c - b && 0 == f - e) return []; if (b == c) { - for (var k = g(b, [], 0); f > e; ) k.removed.push(d[e++]); - return [ k ]; + for (var j = E(b, [], 0); f > e; ) j.removed.push(d[e++]); + return [ j ]; } - if (e == f) return [ g(b, [], c - b) ]; - for (var l = A(z(a, b, c, d, e, f)), k = void 0, m = [], n = b, o = e, p = 0; p < l.length; p++) switch (l[p]) { - case U: - k && (m.push(k), k = void 0), n++, o++; + if (e == f) return [ E(b, [], c - b) ]; + for (var k = B(A(a, b, c, d, e, f)), j = void 0, l = [], m = b, n = e, o = 0; o < k.length; o++) switch (k[o]) { + case bb: + j && (l.push(j), j = void 0), m++, n++; break; - case V: - k || (k = g(n, [], 0)), k.addedCount++, n++, k.removed.push(d[o]), o++; + case cb: + j || (j = E(m, [], 0)), j.addedCount++, m++, j.removed.push(d[n]), n++; break; - case W: - k || (k = g(n, [], 0)), k.addedCount++, n++; + case db: + j || (j = E(m, [], 0)), j.addedCount++, m++; break; - case X: - k || (k = g(n, [], 0)), k.removed.push(d[o]), o++; - } - return k && m.push(k), m; - } - function E(a, b, d) { - function e(b, d) { - Object.keys(b).forEach(function(b) { - var e = c(b); - if (!(isNaN(e) || 0 > e || e >= g)) { - var i = d[e]; - e < a.length ? h[e] = i : f.removed[e - a.length] = d[e]; + case eb: + j || (j = E(m, [], 0)), j.removed.push(d[n]), n++; + } + return j && l.push(j), l; + } + function G(a, b, c, d) { + return c > b || a > d ? -1 : b == c || d == a ? 0 : c > a ? d > b ? b - c : d - c : b > d ? d - a : b - a; + } + function H(a, b, c, d) { + for (var e = E(b, c, d), f = !1, g = 0, h = 0; h < a.length; h++) { + var i = a[h]; + if (i.index += g, !f) { + var j = G(e.index, e.index + e.removed.length, i.index, i.index + i.addedCount); + if (j >= 0) { + a.splice(h, 1), h--, g -= i.addedCount - i.removed.length, e.addedCount += i.addedCount - j; + var k = e.removed.length + i.removed.length - j; + if (e.addedCount || k) { + var c = i.removed; + if (e.index < i.index) { + var l = e.removed.slice(0, i.index - e.index); + Array.prototype.push.apply(l, c), c = l; + } + if (e.index + e.removed.length > i.index + i.addedCount) { + var m = e.removed.slice(i.index + i.addedCount - e.index); + Array.prototype.push.apply(c, m); + } + e.removed = c, i.index < e.index && (e.index = i.index); + } else f = !0; + } else if (e.index < i.index) { + f = !0, a.splice(h, 0, e), h++; + var n = e.addedCount - e.removed.length; + i.index += n, g += n; } - }); + } } - var f, g = "length" in d ? c(d.length) : a.length; - a.length > g ? f = { - index: g, - removed: [], - addedCount: a.length - g - } : a.length < g && (f = { - index: a.length, - removed: new Array(g - a.length), - addedCount: 0 - }); - var h = []; - e(b.added, d), e(b.removed, d), e(b.changed, d); - var i, j = []; - for (var k in h) { - if (k = c(k), i) { - if (i.index + i.removed.length == k) { - i.removed.push(h[k]); - continue; - } - i.addedCount = Math.min(a.length, i.index + i.removed.length) - i.index, j.push(i), - i = void 0; + f || a.push(e); + } + function I(a, b) { + for (var e = [], f = 0; f < b.length; f++) { + var g = b[f]; + switch (g.type) { + case "splice": + H(e, g.index, g.removed.slice(), g.addedCount); + break; + + case "new": + case "updated": + case "deleted": + if (!c(g.name)) continue; + var h = d(g.name); + if (0 > h) continue; + H(e, h, [ g.oldValue ], 1); + break; + + default: + console.error("Unexpected record type: " + JSON.stringify(g)); } - i = { - index: k, - removed: [ h[k] ] - }; } - return i ? (i.addedCount = Math.min(a.length, i.index + i.removed.length) - i.index, - f ? i.index + i.removed.length == f.index ? (i.addedCount = i.addedCount + f.addedCount, - i.removed = i.removed.concat(f.removed), j.push(i)) : (j.push(i), j.push(f)) : j.push(i)) : f && j.push(f), - j; + return e; } - function F(a, b, c) { - var d = []; - return E(a, b, c).forEach(function(b) { - d = d.concat(D(a, b.index, b.index + b.addedCount, b.removed, 0, b.removed.length)); - }), d; + function J(a, b) { + var c = []; + return I(a, b).forEach(function(b) { + return 1 == b.addedCount && 1 == b.removed.length ? (b.removed[0] !== a[b.index] && c.push(b), + void 0) : (c = c.concat(F(a, b.index, b.index + b.addedCount, b.removed, 0, b.removed.length)), + void 0); + }), c; } - var G = "function" == typeof Object.observe, H = !1; + var K = b(), L = !1; try { - var I = new Function("", "return true;"); - H = I(); - } catch (J) {} - var K = a.Number.isNaN || function(b) { + var M = new Function("", "return true;"); + L = M(); + } catch (N) {} + var O = a.Number.isNaN || function(b) { return "number" == typeof b && a.isNaN(b); - }, L = "__proto__" in {} ? function(a) { + }, P = "__proto__" in {} ? function(a) { return a; } : function(a) { var b = a.__proto__; @@ -1874,8 +2005,8 @@ if (function(a) { return Object.getOwnPropertyNames(a).forEach(function(b) { Object.defineProperty(c, b, Object.getOwnPropertyDescriptor(a, b)); }), c; - }, M = "[$a-z0-9_]+[$a-z0-9_\\d]*", N = new RegExp("^(?:#?" + M + ")?" + "(?:" + "(?:\\." + M + ")" + ")*" + "$", "i"); - g.prototype = L({ + }, Q = "[$_a-zA-Z]", R = "[$_a-zA-Z0-9]", S = Q + "+" + R + "*", T = "(?:[0-9]|[1-9]+[0-9]+)", U = "(?:" + S + "|" + T + ")", V = "(?:" + U + ")(?:\\." + U + ")*", W = new RegExp("^" + V + "$"); + h.prototype = P({ __proto__: [], toString: function() { return this.join("."); @@ -1884,18 +2015,18 @@ if (function(a) { for (var d, e = 0; e < this.length + 1; e++) d = this[e], b.call(c, d, a, e), a = e == this.length || null === a || void 0 === a ? void 0 : a[d]; } }); - var O = 1e3; - m.prototype = { + var X = 1e3; + n.prototype = { valid: !1, internalCallback: function(a) { this.valid && this.reporting && this.check(a) && (this.report(), this.testingResults && (this.testingResults.anyChanged = !0)); }, close: function() { - this.valid && (this.disconnect(), this.valid = !1, o(this)); + this.valid && (this.disconnect(), this.valid = !1, p(this)); }, deliver: function(a) { - this.valid && (G ? (this.testingResults = a, Object.deliverChangeRecords(this.boundInternalCallback), - this.testingResults = void 0) : h(this)); + this.valid && (K ? (this.testingResults = a, Object.deliverChangeRecords(this.boundInternalCallback), + this.testingResults = void 0) : i(this)); }, report: function() { if (this.reporting) { @@ -1903,132 +2034,136 @@ if (function(a) { try { this.callback.apply(void 0, this.reportArgs); } catch (a) { - m._errorThrownDuringCallback = !0, console.error("Exception caught during observer callback: " + a); + n._errorThrownDuringCallback = !0, console.error("Exception caught during observer callback: " + a); } this.reportArgs = void 0; } }, reset: function() { - this.valid && (G && (this.reporting = !1, Object.deliverChangeRecords(this.boundInternalCallback), + this.valid && (K && (this.reporting = !1, Object.deliverChangeRecords(this.boundInternalCallback), this.reporting = !0), this.sync(!0)); } }; - var P, Q = !G || a.forceCollectObservers; - Q && (P = [], m._allObserversCount = 0); - var R = !1; + var Y, Z = !K || a.forceCollectObservers; + Z && (Y = [], n._allObserversCount = 0); + var $ = !1; a.Platform = a.Platform || {}, a.Platform.performMicrotaskCheckpoint = function() { - if (Q && !R) { - R = !0; + if (Z && !$) { + $ = !0; var a = 0, b = {}; do { a++; - var c = P; - P = [], b.anyChanged = !1; + var c = Y; + Y = [], b.anyChanged = !1; for (var d = 0; d < c.length; d++) { var e = c[d]; - e && e.valid && (G ? e.deliver(b) : e.check() && (b.anyChanged = !0, e.report()), - P.push(e)); + e && e.valid && (K ? e.deliver(b) : e.check() && (b.anyChanged = !0, e.report()), + Y.push(e)); } - } while (O > a && b.anyChanged); - m._allObserversCount = P.length, R = !1; + } while (X > a && b.anyChanged); + n._allObserversCount = Y.length, $ = !1; } - }, Q && (a.Platform.clearObservers = function() { - P = []; - }), p.prototype = L({ - __proto__: m.prototype, + }, Z && (a.Platform.clearObservers = function() { + Y = []; + }), q.prototype = P({ + __proto__: n.prototype, connect: function() { - G && Object.observe(this.object, this.boundInternalCallback); + K && Object.observe(this.object, this.boundInternalCallback); }, sync: function() { - G || (this.oldObject = l(this.object)); + K || (this.oldObject = m(this.object)); }, check: function(a) { var b, c; - if (G) { + if (K) { if (!a) return !1; - c = {}, b = y(this.object, a, c); - } else c = this.oldObject, b = k(this.object, this.oldObject); - return j(b) ? !1 : (this.reportArgs = [ b.added || {}, b.removed || {}, b.changed || {} ], + c = {}, b = z(this.object, a, c); + } else c = this.oldObject, b = l(this.object, this.oldObject); + return k(b) ? !1 : (this.reportArgs = [ b.added || {}, b.removed || {}, b.changed || {} ], this.reportArgs.push(function(a) { return c[a]; }), !0); }, disconnect: function() { - G ? this.object && Object.unobserve(this.object, this.boundInternalCallback) : this.oldObject = void 0, + K ? this.object && Object.unobserve(this.object, this.boundInternalCallback) : this.oldObject = void 0, this.object = void 0; } - }), q.prototype = L({ - __proto__: p.prototype, + }), r.prototype = P({ + __proto__: q.prototype, + connect: function() { + K && Array.observe(this.object, this.boundInternalCallback); + }, sync: function() { - G || (this.oldObject = this.object.slice()); + K || (this.oldObject = this.object.slice()); }, check: function(a) { var b; - if (G) { + if (K) { if (!a) return !1; - var c = {}, d = y(this.object, a, c); - b = F(this.object, d, c); - } else b = D(this.object, 0, this.object.length, this.oldObject, 0, this.oldObject.length); + b = J(this.object, a); + } else b = F(this.object, 0, this.object.length, this.oldObject, 0, this.oldObject.length); return b && b.length ? (this.reportArgs = [ b ], !0) : !1; } - }), q.applySplices = function(a, b, c) { + }), r.applySplices = function(a, b, c) { c.forEach(function(c) { for (var d = [ c.index, c.removed.length ], e = c.index; e < c.index + c.addedCount; ) d.push(b[e]), e++; Array.prototype.splice.apply(a, d); }); }; - var S = {}; - w.prototype = L({ - __proto__: m.prototype, + var _ = {}; + x.prototype = P({ + __proto__: n.prototype, connect: function() {}, disconnect: function() { this.object = void 0, this.value = void 0, this.sync(!0); }, check: function() { return this.value = this.getPathValue(this.object, this.path, this.observed, this.observedMap, this.boundInternalCallback), - e(this.value, this.oldValue) ? !1 : (this.reportArgs = [ this.value, this.oldValue ], + f(this.value, this.oldValue) ? !1 : (this.reportArgs = [ this.value, this.oldValue ], !0); }, sync: function(a) { a && (this.value = this.getPathValue(this.object, this.path, this.observed, this.observedMap, this.boundInternalCallback)), this.oldValue = this.value; } - }), w.getValueAtPath = function(a, b) { - if (!f(b)) return void 0; - var c = new g(b); - return r(a, c); - }, w.setValueAtPath = function(a, b, c) { - if (f(b)) { - var d = new g(b); - s(a, d, c); + }), x.getValueAtPath = function(a, b) { + if (!g(b)) return void 0; + var c = new h(b); + return s(a, c); + }, x.setValueAtPath = function(a, b, c) { + if (g(b)) { + var d = new h(b); + t(a, d, c); } }; - var T = { + var ab = { "new": !0, updated: !0, deleted: !0 }; - w.defineProperty = function(a, b, c) { - var d = c.object, e = new g(c.path), f = x(a, b), h = new w(d, c.path, function(a, b) { + x.defineProperty = function(a, b, c) { + var d = c.object, e = new h(c.path), f = y(a, b), g = new x(d, c.path, function(a, b) { f && f("updated", b); }); return Object.defineProperty(a, b, { get: function() { - return r(d, e); + return s(d, e); }, set: function(a) { - s(d, e, a); + t(d, e, a); }, configurable: !0 }), { close: function() { - f && h.deliver(), h.close(), delete a[b]; + f && g.deliver(), g.close(), delete a[b]; } }; }; - var U = 0, V = 1, W = 2, X = 3; - a.Observer = m, a.ArrayObserver = q, a.ObjectObserver = p, a.PathObserver = w; + var bb = 0, cb = 1, db = 2, eb = 3; + a.Observer = n, a.Observer.hasObjectObserve = K, a.ArrayObserver = r, a.ArrayObserver.calculateSplices = function(a, b) { + return F(a, 0, a.length, b, 0, b.length); + }, a.ObjectObserver = q, a.PathObserver = x; }(this), function(a) { "use strict"; function b(a) { @@ -2059,12 +2194,12 @@ if (function(a) { if ("textContent" !== a) return Node.prototype.bind.call(this, a, b, c); this.unbind("textContent"); var d = new h(b, c, i(this)); - db.set(this, d); + ab.set(this, d); } function k(a) { if ("textContent" != a) return Node.prototype.unbind.call(this, a); - var b = db.get(this); - b && (b.dispose(), db.delete(this)); + var b = ab.get(this); + b && (b.dispose(), ab.delete(this)); } function l() { this.unbind("textContent"), Node.prototype.unbindAll.call(this); @@ -2080,21 +2215,21 @@ if (function(a) { this.bindingMap = Object.create(null); } function o(a, b, c) { - var d = eb.get(this); - d || (d = new n(), eb.set(this, d)), d.add(this, a, b, c); + var d = bb.get(this); + d || (d = new n(), bb.set(this, d)), d.add(this, a, b, c); } function p(a) { - var b = eb.get(this); + var b = bb.get(this); b && b.remove(a); } function q() { - var a = eb.get(this); - a && (eb.delete(this), a.removeAll(), Node.prototype.unbindAll.call(this)); + var a = bb.get(this); + a && (bb.delete(this), a.removeAll(), Node.prototype.unbindAll.call(this)); } function r(a) { switch (a.type) { case "checkbox": - return fb; + return cb; case "radio": case "select-multiple": @@ -2115,11 +2250,11 @@ if (function(a) { } function u(a) { if (!d(a)) return []; - if (a.form) return ab(a.form.elements, function(b) { + if (a.form) return Z(a.form.elements, function(b) { return b != a && "INPUT" == b.tagName && "radio" == b.type && b.name == a.name; }); var b = a.ownerDocument.querySelectorAll('input[type="radio"][name="' + a.name + '"]'); - return ab(b, function(b) { + return Z(b, function(b) { return b != a && !b.form; }); } @@ -2127,13 +2262,18 @@ if (function(a) { s.call(this, a, "checked", b, c); } function w(a, b, c) { - switch (a) { - case "value": - this.unbind("value"), this.removeAttribute("value"), gb.set(this, new t(this, b, c)); + switch (this.tagName + "." + a.toLowerCase()) { + case "INPUT.value": + case "TEXTAREA.value": + this.unbind("value"), this.removeAttribute("value"), db.set(this, new t(this, b, c)); break; - case "checked": - this.unbind("checked"), this.removeAttribute("checked"), hb.set(this, new v(this, b, c)); + case "INPUT.checked": + this.unbind("checked"), this.removeAttribute("checked"), eb.set(this, new v(this, b, c)); + break; + + case "SELECT.selectedindex": + this.unbind("selectedindex"), this.removeAttribute("selectedindex"), db.set(this, new z(this, b, c)); break; default: @@ -2141,15 +2281,21 @@ if (function(a) { } } function x(a) { - switch (a) { - case "value": - var b = gb.get(this); - b && (b.unbind(), gb.delete(this)); + switch (this.tagName + "." + a.toLowerCase()) { + case "INPUT.value": + case "TEXTAREA.value": + var b = db.get(this); + b && (b.unbind(), db.delete(this)); + break; + + case "INPUT.checked": + var c = eb.get(this); + c && (c.unbind(), eb.delete(this)); break; - case "checked": - var c = hb.get(this); - c && (c.unbind(), hb.delete(this)); + case "SELECT.selectedindex": + var b = db.get(this); + b && (b.unbind(), db.delete(this)); break; default: @@ -2157,126 +2303,115 @@ if (function(a) { } } function y() { - this.unbind("value"), this.unbind("checked"), Element.prototype.unbindAll.call(this); - } - function z(a, b, c) { - s.call(this, a, "selectedIndex", b, c); - } - function A(a, b, c) { - switch (a.toLowerCase()) { - case "selectedindex": - this.unbind("selectedindex"), this.removeAttribute("selectedindex"), gb.set(this, new z(this, b, c)); - break; + switch (this.tagName) { + case "INPUT": + this.unbind("checked"); - default: - return Element.prototype.bind.call(this, a, b, c); - } - } - function B(a) { - switch (a.toLowerCase()) { - case "selectedindex": - var b = gb.get(this); - b && (b.unbind(), gb.delete(this)); + case "TEXTAREA": + this.unbind("value"); break; - default: - return Element.prototype.unbind.call(this, a); + case "SELECT": + this.unbind("selectedindex"); } + Element.prototype.unbindAll.call(this); } - function C() { - this.unbind("selectedindex"), Element.prototype.unbindAll.call(this); + function z(a, b, c) { + s.call(this, a, "selectedIndex", b, c); } - function D(a) { - return pb[a.tagName] && a.hasAttribute("template"); + function A(a) { + return lb[a.tagName] && a.hasAttribute("template"); } - function E(a) { - return "TEMPLATE" == a.tagName || D(a); + function B(a) { + return "TEMPLATE" == a.tagName || A(a); } - function F(a) { - return qb && "TEMPLATE" == a.tagName; + function C(a) { + return mb && "TEMPLATE" == a.tagName; } - function G(a, b) { - var c = a.querySelectorAll(rb); - E(a) && b(a), _(c, b); + function D(a, b) { + var c = a.querySelectorAll(nb); + B(a) && b(a), Y(c, b); } - function H(a) { + function E(a) { function b(a) { - HTMLTemplateElement.decorate(a) || H(a.content); + HTMLTemplateElement.decorate(a) || E(a.content); } - G(a, b); + D(a, b); } - function I(a, b) { + function F(a, b) { Object.getOwnPropertyNames(b).forEach(function(c) { Object.defineProperty(a, c, Object.getOwnPropertyDescriptor(b, c)); }); } - function J(a) { + function G(a) { if (!a.defaultView) return a; - var b = vb.get(a); + var b = rb.get(a); if (!b) { for (b = a.implementation.createHTMLDocument(""); b.lastChild; ) b.removeChild(b.lastChild); - vb.set(a, b); + rb.set(a, b); } return b; } - function K(a) { + function H(a) { var b = a.ownerDocument.createElement("template"); a.parentNode.insertBefore(b, a); for (var c = a.attributes, d = c.length; d-- > 0; ) { var e = c[d]; - ob[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); + kb[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); } return b; } - function L(a, b, c) { + function I(a, b, c) { var d = a.content; if (c) return d.appendChild(b), void 0; for (var e; e = b.firstChild; ) d.appendChild(e); } - function M(a) { - "TEMPLATE" === a.tagName ? qb || (tb ? a.__proto__ = HTMLTemplateElement.prototype : I(a, HTMLTemplateElement.prototype)) : (I(a, HTMLTemplateElement.prototype), - Object.defineProperty(a, "content", yb)); + function J(a) { + "TEMPLATE" === a.tagName ? mb || (pb ? a.__proto__ = HTMLTemplateElement.prototype : F(a, HTMLTemplateElement.prototype)) : (F(a, HTMLTemplateElement.prototype), + Object.defineProperty(a, "content", ub)); } - function N(a) { - var b = a.ref; - return b ? b.content : a.content; + function K(a) { + var b = xb.get(a); + b || (b = function() { + Q(a, a.model, a.bindingDelegate); + }, xb.set(a, b)), ob(b); } - function O(a, b) { + function L(a, b) { this.type = a, this.value = b; } - function P(a) { + function M(a) { for (var b = [], c = a.length, d = 0, e = 0; c > e; ) { if (d = a.indexOf("{{", e), 0 > d) { - b.push(new O(Ab, a.slice(e))); + b.push(new L(yb, a.slice(e))); break; } - if (d > 0 && d > e && b.push(new O(Ab, a.slice(e, d))), e = d + 2, d = a.indexOf("}}", e), + if (d > 0 && d > e && b.push(new L(yb, a.slice(e, d))), e = d + 2, d = a.indexOf("}}", e), 0 > d) { var f = a.slice(e - 2), g = b[b.length - 1]; - g && g.type == Ab ? g.value += f : b.push(new O(Ab, f)); + g && g.type == yb ? g.value += f : b.push(new L(yb, f)); break; } var h = a.slice(e, d).trim(); - b.push(new O(Bb, h)), e = d + 2; + b.push(new L(zb, h)), e = d + 2; } return b; } - function Q(a, b, c, d, e) { - var f, g = e && e[mb]; + function N(a, b, c, d, e) { + var f, g = e && e[ib]; g && "function" == typeof g && (f = g(c, d, b, a), f && (c = f, d = "value")), a.bind(b, c, d); } - function R(a, b, c, d, e) { - var f = P(c); - if (f.length && (1 != f.length || f[0].type != Ab)) { - if (1 == f.length && f[0].type == Bb) return Q(a, b, d, f[0].value, e), void 0; - for (var g = new Y(), h = 0; h < f.length; h++) { + function O(a, b, c, d, e) { + var f = M(c); + if (f.length && (1 != f.length || f[0].type != yb)) { + if (1 == f.length && f[0].type == zb) return N(a, b, d, f[0].value, e), void 0; + for (var g = new V(), h = 0; h < f.length; h++) { var i = f[h]; - i.type == Bb && Q(g, h, d, i.value, e); + i.type == zb && N(g, h, d, i.value, e); } g.combinator = function(a) { for (var b = "", c = 0; c < f.length; c++) { var d = f[c]; - if (d.type === Ab) b += d.value; else { + if (d.type === yb) b += d.value; else { var e = a[c]; void 0 !== e && (b += e); } @@ -2285,58 +2420,54 @@ if (function(a) { }, a.bind(b, g, "value"); } } - function S(a, c, d) { + function P(a, c, d) { b(a); for (var e = {}, f = 0; f < a.attributes.length; f++) { var g = a.attributes[f]; e[g.name] = g.value; } - E(a) && ("" === e[ib] && (e[ib] = "{{}}"), "" === e[jb] && (e[jb] = "{{}}")), Object.keys(e).forEach(function(b) { - R(a, b, e[b], c, d); + B(a) && ("" === e[fb] && (e[fb] = "{{}}"), "" === e[gb] && (e[gb] = "{{}}"), void 0 !== e[hb] && void 0 === e[fb] && void 0 === e[gb] && (e[fb] = "{{}}")), + Object.keys(e).forEach(function(b) { + O(a, b, e[b], c, d); }); } - function T(a, c, d) { - b(a), a.nodeType === Node.ELEMENT_NODE ? S(a, c, d) : a.nodeType === Node.TEXT_NODE && R(a, "textContent", a.data, c, d); - for (var e = a.firstChild; e; e = e.nextSibling) T(e, c, d); + function Q(a, c, d) { + b(a), a.nodeType === Node.ELEMENT_NODE ? P(a, c, d) : a.nodeType === Node.TEXT_NODE && O(a, "textContent", a.data, c, d); + for (var e = a.firstChild; e; e = e.nextSibling) Q(e, c, d); } - function U(a) { - if (Cb.delete(a), E(a)) { - var b = Db.get(a); - b && (b.abandon(), Db.delete(a)); + function R(a) { + if (Ab.delete(a), B(a)) { + var b = Bb.get(a); + b && (b.abandon(), Bb.delete(a)); } a.unbindAll(); - for (var c = a.firstChild; c; c = c.nextSibling) U(c); + for (var c = a.firstChild; c; c = c.nextSibling) R(c); } - function V(a, b) { + function S(a, b) { var c = a.cloneNode(!1); - E(c) && (HTMLTemplateElement.decorate(c, a), b && !c.hasAttribute(lb) && c.setAttribute(lb, b)); - for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(V(d, b)); + B(c) && (HTMLTemplateElement.decorate(c, a), b && wb.set(c, b)); + for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(S(d, b)); return c; } - function W(a, b, c) { + function T(a, b, c) { this.firstNode = a, this.lastNode = b, this.model = c; } - function X(a, b) { - if (a.firstChild) for (var c = new W(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) Cb.set(d, c), + function U(a, b) { + if (a.firstChild) for (var c = new T(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) Ab.set(d, c), d = d.nextSibling; } - function Y(a) { + function V(a) { this.bindings = {}, this.values = {}, this.value = void 0, this.size = 0, this.combinator_ = a, this.boundResolve = this.resolve.bind(this), this.disposed = !1; } - function Z(a) { + function W(a) { this.templateElement_ = a, this.terminators = [], this.iteratedValue = void 0, this.arrayObserver = void 0, - this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new Y(this.resolveInputs.bind(this)); - var b = this.valueChanged.bind(this); - Object.defineProperty(this.inputs, "value", { - configurable: !0, - set: b - }); + this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new V(this.resolveInputs.bind(this)); } - var $, _ = Array.prototype.forEach.call.bind(Array.prototype.forEach), ab = Array.prototype.filter.call.bind(Array.prototype.filter); - a.Map && "function" == typeof a.Map.prototype.forEach ? $ = a.Map : ($ = function() { + var X, Y = Array.prototype.forEach.call.bind(Array.prototype.forEach), Z = Array.prototype.filter.call.bind(Array.prototype.filter); + a.Map && "function" == typeof a.Map.prototype.forEach ? X = a.Map : (X = function() { this.keys = [], this.values = []; - }, $.prototype = { + }, X.prototype = { set: function(a, b) { var c = this.keys.indexOf(a); 0 > c ? (this.keys.push(a), this.values.push(b)) : this.values[c] = b; @@ -2353,7 +2484,7 @@ if (function(a) { for (var c = 0; c < this.keys.length; c++) a.call(b || this, this.values[c], this.keys[c], this); } }); - var bb = "__proto__" in {} ? function(a) { + var $ = "__proto__" in {} ? function(a) { return a; } : function(a) { var b = a.__proto__; @@ -2366,12 +2497,12 @@ if (function(a) { "function" != typeof document.contains && (Document.prototype.contains = function(a) { return a === this || a.parentNode === this ? !0 : this.documentElement.contains(a); }); - var cb; - "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? cb = WeakMap : function() { + var _; + "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? _ = WeakMap : function() { var a = Object.defineProperty, b = Object.hasOwnProperty, c = new Date().getTime() % 1e9; - cb = function() { + _ = function() { this.name = "__st" + (1e9 * Math.random() >>> 0) + (c++ + "__"); - }, cb.prototype = { + }, _.prototype = { set: function(b, c) { a(b, this.name, { value: c, @@ -2386,7 +2517,7 @@ if (function(a) { } }; }(), Node.prototype.bind = e, Node.prototype.unbind = f, Node.prototype.unbindAll = g; - var db = new cb("textContentBinding"); + var ab = new _(); h.prototype = { dispose: function() { this.model && "function" == typeof this.model.dispose && this.model.dispose(), this.observer.close(); @@ -2398,7 +2529,7 @@ if (function(a) { this.observer.reset(); } }, Text.prototype.bind = j, Text.prototype.unbind = k, Text.prototype.unbindAll = l; - var eb = new cb("attributeBindings"); + var bb = new _(); n.prototype = { add: function(a, b, c, d) { a.removeAttribute(b); @@ -2417,7 +2548,7 @@ if (function(a) { }, this); } }, Element.prototype.bind = o, Element.prototype.unbind = p, Element.prototype.unbindAll = q; - var fb, gb = new cb("valueBinding"), hb = new cb("checkedBinding"); + var cb, db = new _(), eb = new _(); !function() { var a = document.createElement("div"), b = a.appendChild(document.createElement("input")); b.setAttribute("type", "checkbox"); @@ -2429,7 +2560,7 @@ if (function(a) { }); var e = document.createEvent("MouseEvent"); e.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), - b.dispatchEvent(e), fb = 1 == d ? "change" : c; + b.dispatchEvent(e), cb = 1 == d ? "change" : c; }(), s.prototype = { valueChanged: function(a) { this.element[this.valueProperty] = this.produceElementValue(a); @@ -2441,45 +2572,46 @@ if (function(a) { unbind: function() { this.binding.dispose(), this.element.removeEventListener(r(this.element), this.boundUpdateBinding, !0); } - }, t.prototype = bb({ + }, t.prototype = $({ __proto__: s.prototype, produceElementValue: function(a) { return String(null == a ? "" : a); } - }), v.prototype = bb({ + }), v.prototype = $({ __proto__: s.prototype, produceElementValue: function(a) { return Boolean(a); }, postUpdateBinding: function() { "INPUT" === this.element.tagName && "radio" === this.element.type && u(this.element).forEach(function(a) { - var b = hb.get(a); + var b = eb.get(a); b && (b.binding.value = !1); }); } }), HTMLInputElement.prototype.bind = w, HTMLInputElement.prototype.unbind = x, - HTMLInputElement.prototype.unbindAll = y, z.prototype = bb({ + HTMLInputElement.prototype.unbindAll = y, z.prototype = $({ __proto__: s.prototype, valueChanged: function(a) { function b() { - a > d.element.length && c-- ? sb(b) : d.element[d.valueProperty] = a; + a > d.element.length && c-- ? ob(b) : d.element[d.valueProperty] = a; } var a = this.produceElementValue(a); if (a <= this.element.length) return this.element[this.valueProperty] = a, void 0; var c = 2, d = this; - sb(b); + ob(b); }, produceElementValue: function(a) { return Number(a); } - }), HTMLSelectElement.prototype.bind = A, HTMLSelectElement.prototype.unbind = B, - HTMLSelectElement.prototype.unbindAll = C; - var ib = "bind", jb = "repeat", kb = "if", lb = "syntax", mb = "getBinding", nb = "getInstanceModel", ob = { + }), HTMLSelectElement.prototype.bind = w, HTMLSelectElement.prototype.unbind = x, + HTMLSelectElement.prototype.unbindAll = y, HTMLTextAreaElement.prototype.bind = w, + HTMLTextAreaElement.prototype.unbind = x, HTMLTextAreaElement.prototype.unbindAll = y; + var fb = "bind", gb = "repeat", hb = "if", ib = "getBinding", jb = "getInstanceModel", kb = { template: !0, repeat: !0, bind: !0, ref: !0 - }, pb = { + }, lb = { THEAD: !0, TBODY: !0, TFOOT: !0, @@ -2491,9 +2623,9 @@ if (function(a) { CAPTION: !0, OPTION: !0, OPTGROUP: !0 - }, qb = "undefined" != typeof HTMLTemplateElement, rb = "template, " + Object.keys(pb).map(function(a) { + }, mb = "undefined" != typeof HTMLTemplateElement, nb = "template, " + Object.keys(lb).map(function(a) { return a.toLowerCase() + "[template]"; - }).join(", "), sb = function() { + }).join(", "), ob = function() { function a() { var a = this; this.value = !1; @@ -2517,39 +2649,39 @@ if (function(a) { return c = new a(), d = new a(), b; }(); document.addEventListener("DOMContentLoaded", function() { - H(document), Platform.performMicrotaskCheckpoint(); - }, !1), qb || (a.HTMLTemplateElement = function() { + E(document), Platform.performMicrotaskCheckpoint(); + }, !1), mb || (a.HTMLTemplateElement = function() { throw TypeError("Illegal constructor"); }); - var tb = "__proto__" in {}, ub = new cb("templateContents"), vb = new cb("templateContentsOwner"), wb = new cb("templateInstanceRef"); + var pb = "__proto__" in {}, qb = new _(), rb = new _(), sb = new _(); HTMLTemplateElement.decorate = function(a, c) { if (a.templateIsDecorated_) return !1; - var d = a, e = F(d), f = e, g = !e, h = !1; - if (!e && D(d) && (b(!c), d = K(a), e = F(d), h = !0), d.templateIsDecorated_ = !0, + var d = a, e = C(d), f = e, g = !e, h = !1; + if (!e && A(d) && (b(!c), d = H(a), e = C(d), h = !0), d.templateIsDecorated_ = !0, !e) { - M(d); - var i = J(d.ownerDocument); - ub.set(d, i.createDocumentFragment()); + J(d); + var i = G(d.ownerDocument); + qb.set(d, i.createDocumentFragment()); } - return c ? wb.set(d, c) : g ? L(d, a, h) : f && H(d.content), !0; - }, HTMLTemplateElement.bootstrap = H; - var xb = a.HTMLUnknownElement || HTMLElement, yb = { + return c ? sb.set(d, c) : g ? I(d, a, h) : f && E(d.content), !0; + }, HTMLTemplateElement.bootstrap = E; + var tb = a.HTMLUnknownElement || HTMLElement, ub = { get: function() { - return ub.get(this); + return qb.get(this); }, enumerable: !0, configurable: !0 }; - qb || (HTMLTemplateElement.prototype = Object.create(xb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", yb)); - var zb = new cb("templateModel"); - I(HTMLTemplateElement.prototype, { + mb || (HTMLTemplateElement.prototype = Object.create(tb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", ub)); + var vb = new _(), wb = new _(), xb = new _(); + F(HTMLTemplateElement.prototype, { bind: function(a, b, c) { switch (a) { - case ib: - case jb: - case kb: - var d = Db.get(this); - d || (d = new Z(this), Db.set(this, d)), d.inputs.bind(a, b, c || ""); + case fb: + case gb: + case hb: + var d = Bb.get(this); + d || (d = new W(this), Bb.set(this, d)), d.inputs.bind(a, b, c || ""); break; default: @@ -2558,10 +2690,10 @@ if (function(a) { }, unbind: function(a, b, c) { switch (a) { - case ib: - case jb: - case kb: - var d = Db.get(this); + case fb: + case gb: + case hb: + var d = Bb.get(this); if (!d) break; d.inputs.unbind(a); break; @@ -2571,19 +2703,24 @@ if (function(a) { } }, unbindAll: function() { - this.unbind(ib), this.unbind(jb), this.unbind(kb), Element.prototype.unbindAll.call(this); + this.unbind(fb), this.unbind(gb), this.unbind(hb), Element.prototype.unbindAll.call(this); }, createInstance: function(a, b) { - var c = N(this), d = V(c, b); - return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(d), - T(d, a, HTMLTemplateElement.syntax[b]), X(d, a), d; + var c = S(this.ref.content, b); + return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(c), + Q(c, a, b), U(c, a), c; }, get model() { - return zb.get(this); + return vb.get(this); }, set model(a) { - var b = HTMLTemplateElement.syntax[this.getAttribute(lb)]; - zb.set(this, a), T(this, a, b); + vb.set(this, a), K(this); + }, + get bindingDelegate() { + return wb.get(this); + }, + set bindingDelegate(a) { + wb.set(this, a), K(this); }, get ref() { var a, b = this.getAttribute("ref"); @@ -2591,16 +2728,18 @@ if (function(a) { var d = c(this); d && (a = d.getElementById(b)); } - return a || (a = wb.get(this)), a || null; + if (a || (a = sb.get(this)), !a) return this; + var e = a.ref; + return e ? e : a; } }); - var Ab = 0, Bb = 1, Cb = new cb("templateInstance"); + var yb = 0, zb = 1, Ab = new _(); Object.defineProperty(Node.prototype, "templateInstance", { get: function() { - var a = Cb.get(this); + var a = Ab.get(this); return a ? a : this.parentNode ? this.parentNode.templateInstance : void 0; } - }), Y.prototype = { + }), V.prototype = { set combinator(a) { this.combinator_ = a, this.scheduleResolve(); }, @@ -2614,7 +2753,7 @@ if (function(a) { delete this.values[a], b || this.scheduleResolve()); }, scheduleResolve: function() { - sb(this.boundResolve); + ob(this.boundResolve); }, resolve: function() { if (!this.disposed) { @@ -2627,26 +2766,22 @@ if (function(a) { this.unbind(a, !0); }, this), this.disposed = !0, this.value = void 0; } - }, Z.prototype = { + }, W.prototype = { resolveInputs: function(a) { - return kb in a && !a[kb] ? void 0 : jb in a ? a[jb] : ib in a ? [ a[ib] ] : void 0; + hb in a && !a[hb] ? this.valueChanged(void 0) : gb in a ? this.valueChanged(a[gb]) : fb in a || hb in a ? this.valueChanged([ a[fb] ]) : this.valueChanged(void 0); }, valueChanged: function(a) { + Array.isArray(a) || (a = void 0); var b = this.iteratedValue; - Array.isArray(a) || (a = []), this.unobserve(), this.iteratedValue = a, this.arrayObserver = new ArrayObserver(this.iteratedValue, this.boundHandleSplices); - var c = { - index: 0, - addedCount: this.iteratedValue.length, - removed: Array.isArray(b) ? b : [] - }; - (c.addedCount || c.removed.length) && this.handleSplices([ c ]), this.inputs.size || (Db.delete(this), - this.abandon()); + this.unobserve(), this.iteratedValue = a, this.iteratedValue && (this.arrayObserver = new ArrayObserver(this.iteratedValue, this.boundHandleSplices)); + var c = ArrayObserver.calculateSplices(this.iteratedValue || [], b || []); + c.length && this.handleSplices(c), this.inputs.size || (Bb.delete(this), this.abandon()); }, getTerminatorAt: function(a) { if (-1 == a) return this.templateElement_; var b = this.terminators[a]; - if (b.nodeType !== Node.ELEMENT_NODE) return b; - var c = Db.get(b); + if (b.nodeType !== Node.ELEMENT_NODE || this.templateElement_ === b) return b; + var c = Bb.get(b); return c ? c.getTerminatorAt(c.terminators.length - 1) : b; }, insertInstanceAt: function(a, b) { @@ -2658,14 +2793,14 @@ if (function(a) { var b = [], c = this.getTerminatorAt(a - 1), d = this.getTerminatorAt(a); this.terminators.splice(a, 1); for (var e = this.templateElement_.parentNode; d !== c; ) { - var f = d; - d = f.previousSibling, e.removeChild(f), b.push(f); + var f = c.nextSibling; + f == d && (d = c), e.removeChild(f), b.push(f); } return b; }, getInstanceModel: function(a, b, c) { - var d = HTMLTemplateElement.syntax[c], e = d && d[nb]; - return e && "function" == typeof e ? e(a, b) : b; + var d = c && c[jb]; + return d && "function" == typeof d ? d(a, b) : b; }, getInstanceNodes: function(a, b, c) { var d = c.get(a); @@ -2676,9 +2811,9 @@ if (function(a) { }, handleSplices: function(a) { var b = this.templateElement_; - if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), Db.delete(this), + if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), Bb.delete(this), void 0; - var c = b.getAttribute(lb), d = new $(), e = 0; + var c = b.bindingDelegate, d = new X(), e = 0; a.forEach(function(a) { a.removed.forEach(function(b) { var c = this.extractInstanceAt(a.index + e, c); @@ -2690,7 +2825,7 @@ if (function(a) { this.insertInstanceAt(e, g); } }, this), d.forEach(function(a) { - for (var b = 0; b < a.length; b++) U(a[b]); + for (var b = 0; b < a.length; b++) R(a[b]); }); }, unobserve: function() { @@ -2704,118 +2839,809 @@ if (function(a) { }), this.inputs.dispose(); } }; - var Db = new cb("templateIterator"); - a.CompoundBinding = Y, Object.defineProperty(HTMLTemplateElement, lb, { - value: {}, - enumerable: !0 - }), HTMLTemplateElement.forAllTemplatesFrom_ = G, HTMLTemplateElement.bindAllMustachesFrom_ = T, - HTMLTemplateElement.parseAndBind_ = R; -}(this), function(a) { - function b() { - logFlags.data && console.group("Model.dirtyCheck()"), c(), logFlags.data && console.groupEnd(); + var Bb = new _(); + a.CompoundBinding = V, HTMLTemplateElement.forAllTemplatesFrom_ = D, HTMLTemplateElement.bindAllMustachesFrom_ = Q, + HTMLTemplateElement.parseAndBind_ = O; +}(this), function(a, b) { + "use strict"; + "function" == typeof define && define.amd ? define([ "exports" ], b) : "undefined" != typeof exports ? b(exports) : b(a.esprima = {}); +}(this, function(a) { + "use strict"; + function b(a, b) { + if (!a) throw new Error("ASSERT: " + b); } - function c() { - Platform.performMicrotaskCheckpoint(); + function c(a) { + return a >= 48 && 57 >= a; } - var d = document.createElement("style"); - d.textContent = "template {display: none;} /* injected by platform.js */"; - var e = document.querySelector("head"); - e.insertBefore(d, e.firstChild), HTMLTemplateElement.__instanceCreated = function(a) { - document.adoptNode(a), CustomElements.upgradeAll(a); - }; - var f = 125; - window.addEventListener("WebComponentsReady", function() { - b(), setInterval(c, f); - }), a.flush = b, window.dirtyCheck = b; -}(window.Platform), function(a) { - a || (a = window.HTMLImports = { - flags: {} - }); - var b = { - callbacks: {}, - load: function(c, d, e) { - b.callbacks[c] = { - next: d, - nextContext: e - }, parent.postMessage({ - url: c, - bust: a.flags.debug || a.flags.bust - }, "*"); - }, - receive: function(a, c, d) { - var e = b.callbacks[a]; - if (e) { - var f = e.next, g = e.nextContext; - f.call(g, c, d, a); - } - } - }; - window.addEventListener("message", function(a) { - b.receive(a.data.url, a.data.err, a.data.resource); - }), a.xhr = b; -}(window.HTMLImports), function(a) { - function b(a) { - return d(a, g); + function d(a) { + return 32 === a || 9 === a || 11 === a || 12 === a || 160 === a || a >= 5760 && " ᠎              ".indexOf(String.fromCharCode(a)) > 0; } - function c(a) { - return d(a, "stylesheet"); + function e(a) { + return 10 === a || 13 === a || 8232 === a || 8233 === a; } - function d(a, b) { - return "link" === a.localName && a.getAttribute("rel") === b; + function f(a) { + return 36 === a || 95 === a || a >= 65 && 90 >= a || a >= 97 && 122 >= a; } - function e(a, b) { - var c = document.implementation.createHTMLDocument(g); - c._URL = b; - var d = c.createElement("base"); - return d.setAttribute("href", document.baseURI), c.head.appendChild(d), c.body.innerHTML = a, - c; + function g(a) { + return 36 === a || 95 === a || a >= 65 && 90 >= a || a >= 97 && 122 >= a || a >= 48 && 57 >= a; } - a || (a = window.HTMLImports = { - flags: {} + function h(a) { + return "this" === a; + } + function i() { + for (;bb > ab && d(_.charCodeAt(ab)); ) ++ab; + } + function j() { + var a, b; + for (a = ab++; bb > ab && (b = _.charCodeAt(ab), g(b)); ) ++ab; + return _.slice(a, ab); + } + function k() { + var a, b, c; + return a = ab, b = j(), c = 1 === b.length ? X.Identifier : h(b) ? X.Keyword : "null" === b ? X.NullLiteral : "true" === b || "false" === b ? X.BooleanLiteral : X.Identifier, + { + type: c, + value: b, + range: [ a, ab ] + }; + } + function l() { + var a, b, c, d, e = ab, f = _.charCodeAt(ab), g = _[ab]; + switch (f) { + case 46: + case 40: + case 41: + case 59: + case 44: + case 123: + case 125: + case 91: + case 93: + case 58: + case 63: + case 126: + return ++ab, { + type: X.Punctuator, + value: String.fromCharCode(f), + range: [ e, ab ] + }; + + default: + if (a = _.charCodeAt(ab + 1), 61 === a) switch (f) { + case 37: + case 38: + case 42: + case 43: + case 45: + case 47: + case 60: + case 62: + case 94: + case 124: + return ab += 2, { + type: X.Punctuator, + value: String.fromCharCode(f) + String.fromCharCode(a), + range: [ e, ab ] + }; + + case 33: + case 61: + return ab += 2, 61 === _.charCodeAt(ab) && ++ab, { + type: X.Punctuator, + value: _.slice(e, ab), + range: [ e, ab ] + }; + } + } + return b = _[ab + 1], c = _[ab + 2], d = _[ab + 3], ">" === g && ">" === b && ">" === c && "=" === d ? (ab += 4, + { + type: X.Punctuator, + value: ">>>=", + range: [ e, ab ] + }) : ">" === g && ">" === b && ">" === c ? (ab += 3, { + type: X.Punctuator, + value: ">>>", + range: [ e, ab ] + }) : "<" === g && "<" === b && "=" === c ? (ab += 3, { + type: X.Punctuator, + value: "<<=", + range: [ e, ab ] + }) : ">" === g && ">" === b && "=" === c ? (ab += 3, { + type: X.Punctuator, + value: ">>=", + range: [ e, ab ] + }) : g === b && "+-<>&|".indexOf(g) >= 0 ? (ab += 2, { + type: X.Punctuator, + value: g + b, + range: [ e, ab ] + }) : "<>=!+-*%&|^/".indexOf(g) >= 0 ? (++ab, { + type: X.Punctuator, + value: g, + range: [ e, ab ] + }) : (s({}, $.UnexpectedToken, "ILLEGAL"), void 0); + } + function m() { + var a, d, e; + if (e = _[ab], b(c(e.charCodeAt(0)) || "." === e, "Numeric literal must start with a decimal digit or a decimal point"), + d = ab, a = "", "." !== e) { + for (a = _[ab++], e = _[ab], "0" === a && e && c(e.charCodeAt(0)) && s({}, $.UnexpectedToken, "ILLEGAL"); c(_.charCodeAt(ab)); ) a += _[ab++]; + e = _[ab]; + } + if ("." === e) { + for (a += _[ab++]; c(_.charCodeAt(ab)); ) a += _[ab++]; + e = _[ab]; + } + if ("e" === e || "E" === e) if (a += _[ab++], e = _[ab], ("+" === e || "-" === e) && (a += _[ab++]), + c(_.charCodeAt(ab))) for (;c(_.charCodeAt(ab)); ) a += _[ab++]; else s({}, $.UnexpectedToken, "ILLEGAL"); + return f(_.charCodeAt(ab)) && s({}, $.UnexpectedToken, "ILLEGAL"), { + type: X.NumericLiteral, + value: parseFloat(a), + range: [ d, ab ] + }; + } + function n() { + var a, c, d, f = "", g = !1; + for (a = _[ab], b("'" === a || '"' === a, "String literal must starts with a quote"), + c = ab, ++ab; bb > ab; ) { + if (d = _[ab++], d === a) { + a = ""; + break; + } + if ("\\" === d) if (d = _[ab++], d && e(d.charCodeAt(0))) "\r" === d && "\n" === _[ab] && ++ab; else switch (d) { + case "n": + f += "\n"; + break; + + case "r": + f += "\r"; + break; + + case "t": + f += " "; + break; + + case "b": + f += "\b"; + break; + + case "f": + f += "\f"; + break; + + case "v": + f += " "; + break; + + default: + f += d; + } else { + if (e(d.charCodeAt(0))) break; + f += d; + } + } + return "" !== a && s({}, $.UnexpectedToken, "ILLEGAL"), { + type: X.StringLiteral, + value: f, + octal: g, + range: [ c, ab ] + }; + } + function o(a) { + return a.type === X.Identifier || a.type === X.Keyword || a.type === X.BooleanLiteral || a.type === X.NullLiteral; + } + function p() { + var a; + return i(), ab >= bb ? { + type: X.EOF, + range: [ ab, ab ] + } : (a = _.charCodeAt(ab), 40 === a || 41 === a || 58 === a ? l() : 39 === a || 34 === a ? n() : f(a) ? k() : 46 === a ? c(_.charCodeAt(ab + 1)) ? m() : l() : c(a) ? m() : l()); + } + function q() { + var a; + return a = db, ab = a.range[1], db = p(), ab = a.range[1], a; + } + function r() { + var a; + a = ab, db = p(), ab = a; + } + function s(a, c) { + var d, e = Array.prototype.slice.call(arguments, 2), f = c.replace(/%(\d)/g, function(a, c) { + return b(c < e.length, "Message reference must be in range"), e[c]; + }); + throw d = new Error(f), d.index = ab, d.description = f, d; + } + function t(a) { + s(a, $.UnexpectedToken, a.value); + } + function u(a) { + var b = q(); + (b.type !== X.Punctuator || b.value !== a) && t(b); + } + function v(a) { + return db.type === X.Punctuator && db.value === a; + } + function w(a) { + return db.type === X.Keyword && db.value === a; + } + function x() { + return 59 === _.charCodeAt(ab) ? (q(), void 0) : (i(), v(";") ? (q(), void 0) : (db.type === X.EOF || v("}") || t(db), + void 0)); + } + function y() { + var a = []; + for (u("["); !v("]"); ) v(",") ? (q(), a.push(null)) : (a.push(O()), v("]") || u(",")); + return u("]"), cb.createArrayExpression(a); + } + function z() { + var a; + return i(), a = q(), a.type === X.StringLiteral || a.type === X.NumericLiteral ? cb.createLiteral(a) : cb.createIdentifier(a.value); + } + function A() { + var a, b; + return a = db, i(), (a.type === X.EOF || a.type === X.Punctuator) && t(a), b = z(), + u(":"), cb.createProperty("init", b, O()); + } + function B() { + var a = []; + for (u("{"); !v("}"); ) a.push(A()), v("}") || u(","); + return u("}"), cb.createObjectExpression(a); + } + function C() { + var a; + return u("("), a = P(), u(")"), a; + } + function D() { + var a, b, c; + return v("(") ? C() : (a = db.type, a === X.Identifier ? c = cb.createIdentifier(q().value) : a === X.StringLiteral || a === X.NumericLiteral ? c = cb.createLiteral(q()) : a === X.Keyword ? w("this") && (q(), + c = cb.createThisExpression()) : a === X.BooleanLiteral ? (b = q(), b.value = "true" === b.value, + c = cb.createLiteral(b)) : a === X.NullLiteral ? (b = q(), b.value = null, c = cb.createLiteral(b)) : v("[") ? c = y() : v("{") && (c = B()), + c ? c : (t(q()), void 0)); + } + function E() { + var a = []; + if (u("("), !v(")")) for (;bb > ab && (a.push(O()), !v(")")); ) u(","); + return u(")"), a; + } + function F() { + var a; + return a = q(), o(a) || t(a), cb.createIdentifier(a.value); + } + function G() { + return u("."), F(); + } + function H() { + var a; + return u("["), a = P(), u("]"), a; + } + function I() { + var a, b, c; + for (a = D(); v(".") || v("[") || v("("); ) v("(") ? (b = E(), a = cb.createCallExpression(a, b)) : v("[") ? (c = H(), + a = cb.createMemberExpression("[", a, c)) : (c = G(), a = cb.createMemberExpression(".", a, c)); + return a; + } + function J() { + var a; + return a = I(), db.type === X.Punctuator && (v("++") || v("--")) && s({}, $.UnexpectedToken), + a; + } + function K() { + var a, b; + return db.type !== X.Punctuator && db.type !== X.Keyword ? b = J() : v("++") || v("--") ? s({}, $.UnexpectedToken) : v("+") || v("-") || v("~") || v("!") ? (a = q(), + b = K(), b = cb.createUnaryExpression(a.value, b)) : w("delete") || w("void") || w("typeof") ? s({}, $.UnexpectedToken) : b = J(), + b; + } + function L(a, b) { + var c = 0; + if (a.type !== X.Punctuator && a.type !== X.Keyword) return 0; + switch (a.value) { + case "||": + c = 1; + break; + + case "&&": + c = 2; + break; + + case "|": + c = 3; + break; + + case "^": + c = 4; + break; + + case "&": + c = 5; + break; + + case "==": + case "!=": + case "===": + case "!==": + c = 6; + break; + + case "<": + case ">": + case "<=": + case ">=": + case "instanceof": + c = 7; + break; + + case "in": + c = b ? 7 : 0; + break; + + case "<<": + case ">>": + case ">>>": + c = 8; + break; + + case "+": + case "-": + c = 9; + break; + + case "*": + case "/": + case "%": + c = 11; + } + return c; + } + function M() { + var a, b, c, d, e, f, g, h, i; + if (d = eb.allowIn, eb.allowIn = !0, h = K(), b = db, c = L(b, d), 0 === c) return h; + for (b.prec = c, q(), f = K(), e = [ h, b, f ]; (c = L(db, d)) > 0; ) { + for (;e.length > 2 && c <= e[e.length - 2].prec; ) f = e.pop(), g = e.pop().value, + h = e.pop(), a = cb.createBinaryExpression(g, h, f), e.push(a); + b = q(), b.prec = c, e.push(b), a = K(), e.push(a); + } + for (eb.allowIn = d, i = e.length - 1, a = e[i]; i > 1; ) a = cb.createBinaryExpression(e[i - 1].value, e[i - 2], a), + i -= 2; + return a; + } + function N() { + var a, b, c, d; + return a = M(), v("?") && (q(), b = eb.allowIn, eb.allowIn = !0, c = O(), eb.allowIn = b, + u(":"), d = O(), a = cb.createConditionalExpression(a, c, d)), a; + } + function O() { + var a, b, c; + return a = db, c = b = N(); + } + function P() { + var a; + return a = O(); + } + function Q() { + return u(";"), cb.createEmptyStatement(); + } + function R() { + var a = P(); + return x(), cb.createExpressionStatement(a); + } + function S() { + var a, b, c, d = db.type; + if (d === X.EOF && t(db), i(), d === X.Punctuator) switch (db.value) { + case ";": + return Q(); + + case "(": + return R(); + } + return a = P(), a.type === Z.Identifier && v(":") ? (q(), c = "$" + a.name, Object.prototype.hasOwnProperty.call(eb.labelSet, c) && s({}, $.Redeclaration, "Label", a.name), + eb.labelSet[c] = !0, b = S(), delete eb.labelSet[c], cb.createLabeledStatement(a, b)) : (x(), + cb.createExpressionStatement(a)); + } + function T() { + return db.type === X.Keyword ? S() : db.type !== X.EOF ? S() : void 0; + } + function U() { + for (var a, b = []; bb > ab && (a = T(), "undefined" != typeof a); ) b.push(a); + return b; + } + function V() { + var a; + return i(), r(), a = U(), cb.createProgram(a); + } + function W(a, b) { + var c; + return c = String, "string" == typeof a || a instanceof String || (a = c(a)), cb = b, + _ = a, ab = 0, bb = _.length, db = null, eb = { + allowIn: !0, + labelSet: {} + }, bb > 0 && "undefined" == typeof _[0] && a instanceof String && (_ = a.valueOf()), + V(); + } + var X, Y, Z, $, _, ab, bb, cb, db, eb; + X = { + BooleanLiteral: 1, + EOF: 2, + Identifier: 3, + Keyword: 4, + NullLiteral: 5, + NumericLiteral: 6, + Punctuator: 7, + StringLiteral: 8 + }, Y = {}, Y[X.BooleanLiteral] = "Boolean", Y[X.EOF] = "", Y[X.Identifier] = "Identifier", + Y[X.Keyword] = "Keyword", Y[X.NullLiteral] = "Null", Y[X.NumericLiteral] = "Numeric", + Y[X.Punctuator] = "Punctuator", Y[X.StringLiteral] = "String", Z = { + ArrayExpression: "ArrayExpression", + BinaryExpression: "BinaryExpression", + CallExpression: "CallExpression", + ConditionalExpression: "ConditionalExpression", + EmptyStatement: "EmptyStatement", + ExpressionStatement: "ExpressionStatement", + Identifier: "Identifier", + Literal: "Literal", + LabeledStatement: "LabeledStatement", + LogicalExpression: "LogicalExpression", + MemberExpression: "MemberExpression", + ObjectExpression: "ObjectExpression", + Program: "Program", + Property: "Property", + ThisExpression: "ThisExpression", + UnaryExpression: "UnaryExpression" + }, $ = { + UnexpectedToken: "Unexpected token %0", + UnknownLabel: "Undefined label '%0'", + Redeclaration: "%0 '%1' has already been declared" + }, a.parse = W; +}), function(a) { + "use strict"; + function b(a, b, d, e) { + if (e.nodeType === Node.ELEMENT_NODE && "TEMPLATE" === e.tagName && ("bind" === d || "repeat" === d)) { + var f, g, h = b.match(r); + if (h ? (f = h[1], g = h[2]) : (h = b.match(s), h && (f = h[2], g = h[1])), h) { + var i; + if (g = g.trim(), g.match(q)) i = new CompoundBinding(function(a) { + return a.path; + }), i.bind("path", a, g); else try { + i = c(a, g); + } catch (j) { + console.error("Invalid expression syntax: " + g, j); + } + if (i) return t.set(e, f), i; + } + } + } + function c(a, b) { + try { + var c = new f(); + if (esprima.parse(b, c), !c.statements.length && !c.labeledStatements.length) return; + if (!c.labeledStatements.length && c.statements.length > 1) throw Error("Multiple unlabelled statements are not allowed."); + var e = c.labeledStatements.length ? d(c.labeledStatements) : e = c.statements[0], g = []; + for (var h in c.deps) g.push(h); + if (!g.length) return { + value: e({}) + }; + for (var i = new CompoundBinding(e), j = 0; j < g.length; j++) i.bind(g[j], a, g[j]); + return i; + } catch (k) { + console.error("Invalid expression syntax: " + b, k); + } + } + function d(a) { + return function(b) { + for (var c = [], d = 0; d < a.length; d++) a[d].body(b) && c.push(a[d].label); + return c.join(" "); + }; + } + function e(a, b, c) { + this.deps = a, this.name = b, this.last = c; + } + function f() { + this.statements = [], this.labeledStatements = [], this.deps = {}, this.currentPath = void 0; + } + function g() { + throw Error("Not Implemented"); + } + function h() {} + var i; + "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? i = WeakMap : function() { + var a = Object.defineProperty, b = Object.hasOwnProperty, c = new Date().getTime() % 1e9; + i = function() { + this.name = "__st" + (1e9 * Math.random() >>> 0) + (c++ + "__"); + }, i.prototype = { + set: function(b, c) { + a(b, this.name, { + value: c, + writable: !0 + }); + }, + get: function(a) { + return b.call(a, this.name) ? a[this.name] : void 0; + }, + "delete": function(a) { + this.set(a, void 0); + } + }; + }(); + var j = "[$_a-zA-Z]", k = "[$_a-zA-Z0-9]", l = j + "+" + k + "*", m = "(" + l + ")", n = "(?:[0-9]|[1-9]+[0-9]+)", o = "(?:" + l + "|" + n + ")", p = "(?:" + o + ")(?:\\." + o + ")*", q = new RegExp("^" + p + "$"), r = new RegExp("^" + m + "\\s* in (.*)$"), s = new RegExp("^(.*) as \\s*" + m + "$"), t = new i(); + e.prototype = { + getPath: function() { + return this.last ? this.last.getPath() + "." + this.name : this.name; + }, + valueFn: function() { + var a = this.getPath(); + return this.deps[a] = !0, function(b) { + return b[a]; + }; + } + }; + var u = { + "+": function(a) { + return +a; + }, + "-": function(a) { + return -a; + }, + "!": function(a) { + return !a; + } + }, v = { + "+": function(a, b) { + return a + b; + }, + "-": function(a, b) { + return a - b; + }, + "*": function(a, b) { + return a * b; + }, + "/": function(a, b) { + return a / b; + }, + "%": function(a, b) { + return a % b; + }, + "<": function(a, b) { + return b > a; + }, + ">": function(a, b) { + return a > b; + }, + "<=": function(a, b) { + return b >= a; + }, + ">=": function(a, b) { + return a >= b; + }, + "==": function(a, b) { + return a == b; + }, + "!=": function(a, b) { + return a != b; + }, + "===": function(a, b) { + return a === b; + }, + "!==": function(a, b) { + return a !== b; + }, + "&&": function(a, b) { + return a && b; + }, + "||": function(a, b) { + return a || b; + } + }; + f.prototype = { + getFn: function(a) { + return a instanceof e ? a.valueFn() : a; + }, + createProgram: function() {}, + createExpressionStatement: function(a) { + return this.statements.push(a), a; + }, + createLabeledStatement: function(a, b) { + return this.labeledStatements.push({ + label: a.getPath(), + body: b instanceof e ? b.valueFn() : b + }), b; + }, + createUnaryExpression: function(a, b) { + if (!u[a]) throw Error("Disallowed operator: " + a); + return b = this.getFn(b), function(c) { + return u[a](b(c)); + }; + }, + createBinaryExpression: function(a, b, c) { + if (!v[a]) throw Error("Disallowed operator: " + a); + return b = this.getFn(b), c = this.getFn(c), function(d) { + return v[a](b(d), c(d)); + }; + }, + createConditionalExpression: function(a, b, c) { + return a = this.getFn(a), b = this.getFn(b), c = this.getFn(c), function(d) { + return a(d) ? b(d) : c(d); + }; + }, + createIdentifier: function(a) { + var b = new e(this.deps, a); + return b.type = "Identifier", b; + }, + createMemberExpression: function(a, b, c) { + return new e(this.deps, c.name, b); + }, + createLiteral: function(a) { + return function() { + return a.value; + }; + }, + createArrayExpression: function(a) { + for (var b = 0; b < a.length; b++) a[b] = this.getFn(a[b]); + return function(b) { + for (var c = [], d = 0; d < a.length; d++) c.push(a[d](b)); + return c; + }; + }, + createProperty: function(a, b, c) { + return { + key: b instanceof e ? b.getPath() : b(), + value: c + }; + }, + createObjectExpression: function(a) { + for (var b = 0; b < a.length; b++) a[b].value = this.getFn(a[b].value); + return function(b) { + for (var c = {}, d = 0; d < a.length; d++) c[a[d].key] = a[d].value(b); + return c; + }; + }, + createCallExpression: g, + createEmptyStatement: g, + createThisExpression: g + }, h.prototype = { + getBinding: function(a, d, e, f) { + return d = d.trim(), d && !d.match(q) ? b(a, d, e, f) || c(a, d, e, f) : void 0; + }, + getInstanceModel: function(a, b) { + var c = t.get(a); + if (!c) return b; + var d = a.templateInstance ? a.templateInstance.model : a.model, e = Object.create(d); + return e[c] = b, e; + } + }, a.ExpressionSyntax = h; +}(this), function(a) { + function b() { + logFlags.data && console.group("Model.dirtyCheck()"), c(), logFlags.data && console.groupEnd(); + } + function c() { + Platform.performMicrotaskCheckpoint(); + } + var d = document.createElement("style"); + d.textContent = "template {display: none;} /* injected by platform.js */"; + var e = document.querySelector("head"); + e.insertBefore(d, e.firstChild), HTMLTemplateElement.__instanceCreated = function(a) { + document.adoptNode(a), CustomElements.upgradeAll(a); + }; + var f = 125; + window.addEventListener("WebComponentsReady", function() { + b(), Observer.hasObjectObserve || setInterval(c, f); + }), a.flush = b, window.dirtyCheck = b; +}(window.Platform), function(a) { + a || (a = window.HTMLImports = { + flags: {} + }); + var b = { + callbacks: {}, + load: function(c, d, e) { + b.callbacks[c] = { + next: d, + nextContext: e + }, parent.postMessage({ + url: c, + bust: a.flags.debug || a.flags.bust + }, "*"); + }, + receive: function(a, c, d) { + var e = b.callbacks[a]; + if (e) { + var f = e.next, g = e.nextContext; + f.call(g, c, d, a); + } + } + }; + window.addEventListener("message", function(a) { + b.receive(a.data.url, a.data.err, a.data.resource); + }), a.xhr = b; +}(window.HTMLImports), function(a) { + function b(a) { + return d(a, i); + } + function c(a) { + return d(a, j); + } + function d(a, b) { + return "link" === a.localName && a.getAttribute("rel") === b; + } + function e(a) { + return "script" === a.localName; + } + function f(a, b) { + var c = document.implementation.createHTMLDocument(i); + c._URL = b; + var d = c.createElement("base"); + return d.setAttribute("href", document.baseURI), c.head.appendChild(d), c.body.innerHTML = a, + window.HTMLTemplateElement && HTMLTemplateElement.bootstrap && HTMLTemplateElement.bootstrap(c), + c; + } + a || (a = window.HTMLImports = { + flags: {} }); - var f, g = "import", h = { + var g, h = a.xhr, i = "import", j = "stylesheet", k = { documents: {}, cache: {}, - preloadSelectors: [ "link[rel=" + g + "]", "script[src]", "link[rel=stylesheet]" ].join(","), + preloadSelectors: [ "link[rel=" + i + "]", "element link[rel=" + j + "]", "template", "script[src]" ].join(","), + loader: function(a) { + return g = new l(k.loaded, a), g.cache = k.cache, g; + }, load: function(a, b) { - f = new i(h.loaded, b), f.cache = h.cache, h.preload(a); + g = k.loader(b), k.preload(a); }, preload: function(a) { - var c = a.querySelectorAll(h.preloadSelectors); - a === document && (c = Array.prototype.filter.call(c, function(a) { - return b(a); - })), f.addNodes(c); + var b = a.querySelectorAll(k.preloadSelectors); + b = this.filterMainDocumentNodes(a, b), b = this.extractTemplateNodes(b), g.addNodes(b); + }, + filterMainDocumentNodes: function(a, b) { + return a === document && (b = Array.prototype.filter.call(b, function(a) { + return !e(a); + })), b; + }, + extractTemplateNodes: function(a) { + var b = []; + return a = Array.prototype.filter.call(a, function(a) { + if ("template" === a.localName) { + if (a.content) { + var c = a.content.querySelectorAll("link[rel=" + j + "]"); + c.length && (b = b.concat(Array.prototype.slice.call(c, 0))); + } + return !1; + } + return !0; + }), b.length && (a = a.concat(b)), a; }, - loaded: function(a, d, f) { + loaded: function(a, d, e) { if (b(d)) { - var g = h.documents[a]; - g || (g = e(f, a), j.resolvePathsInHTML(g), h.documents[a] = g, h.preload(g)), d.content = d.__resource = g; - } else d.__resource = f, c(d) && j.resolvePathsInStylesheet(d); + var g = k.documents[a]; + g || (g = f(e, a), p.resolvePathsInHTML(g.body), k.documents[a] = g, k.preload(g)), + d.import = { + href: a, + ownerNode: d, + content: g + }, d.content = e = g; + } + d.__resource = e, c(d) && p.resolvePathsInStylesheet(d); } - }, i = function(a, b) { + }, l = function(a, b) { this.onload = a, this.oncomplete = b, this.inflight = 0, this.pending = {}, this.cache = {}; }; - i.prototype = { + l.prototype = { addNodes: function(a) { - this.inflight += a.length, o(a, this.require, this), this.checkDone(); + this.inflight += a.length, q(a, this.require, this), this.checkDone(); }, require: function(a) { - var b = j.nodeUrl(a); + var b = p.nodeUrl(a); a.__nodeUrl = b, this.dedupe(b, a) || this.fetch(b, a); }, dedupe: function(a, b) { - return this.pending[a] ? (this.pending[a].push(b), !0) : this.cache[a] ? (this.onload(a, b, f.cache[a]), + return this.pending[a] ? (this.pending[a].push(b), !0) : this.cache[a] ? (this.onload(a, b, g.cache[a]), this.tail(), !0) : (this.pending[a] = [ b ], !1); }, fetch: function(a, b) { - n.load(a, function(c, d) { + var c = function(c, d) { this.receive(a, b, c, d); - }.bind(this)); + }.bind(this); + h.load(a, c); }, receive: function(a, b, c, d) { - c || (f.cache[a] = d), f.pending[a].forEach(function(b) { + c || (g.cache[a] = d), g.pending[a].forEach(function(b) { c || this.onload(a, b, d), this.tail(); - }, this), f.pending[a] = null; + }, this), g.pending[a] = null; }, tail: function() { --this.inflight, this.checkDone(); @@ -2824,15 +3650,15 @@ if (function(a) { this.inflight || this.oncomplete(); } }; - var j = { + var m = [ "href", "src", "action" ], n = "[" + m.join("],[") + "]", o = "{{.*}}", p = { nodeUrl: function(a) { - return j.resolveUrl(j.getDocumentUrl(document), j.hrefOrSrc(a)); + return p.resolveUrl(p.getDocumentUrl(document), p.hrefOrSrc(a)); }, hrefOrSrc: function(a) { return a.getAttribute("href") || a.getAttribute("src"); }, documentUrlFromNode: function(a) { - return j.getDocumentUrl(a.ownerDocument); + return p.getDocumentUrl(a.ownerDocument); }, getDocumentUrl: function(a) { var b = a && (a._URL || a.impl && a.impl._URL || a.baseURI || a.URL) || ""; @@ -2841,7 +3667,7 @@ if (function(a) { resolveUrl: function(a, b, c) { if (this.isAbsUrl(b)) return b; var d = this.compressUrl(this.urlToPath(a) + b); - return c && (d = j.makeRelPath(j.getDocumentUrl(document), d)), d; + return c && (d = p.makeRelPath(p.getDocumentUrl(document), d)), d; }, isAbsUrl: function(a) { return /(^data:)|(^http[s]?:)|(^\/)/.test(a); @@ -2863,76 +3689,118 @@ if (function(a) { var g = d.join("/"); return g; }, - resolvePathsInHTML: function(a) { - var b = j.documentUrlFromNode(a.body); - window.HTMLTemplateElement && HTMLTemplateElement.bootstrap && HTMLTemplateElement.bootstrap(a); - var c = a.body; - j._resolvePathsInHTML(c, b); - }, - _resolvePathsInHTML: function(a, b) { - if (j.resolveAttributes(a, b), j.resolveStyleElts(a, b), window.templateContent) { - var c = a.querySelectorAll("template"); - c && o(c, function(a) { - j._resolvePathsInHTML(templateContent(a), b); - }); - } + resolvePathsInHTML: function(a, b) { + b = b || p.documentUrlFromNode(a), p.resolveAttributes(a, b), p.resolveStyleElts(a, b); + var c = a.querySelectorAll("template"); + c && q(c, function(a) { + a.content && p.resolvePathsInHTML(a.content, b); + }); }, resolvePathsInStylesheet: function(a) { - var b = j.nodeUrl(a); - a.__resource = j.resolveCssText(a.__resource, b); + var b = p.nodeUrl(a); + a.__resource = p.resolveCssText(a.__resource, b); }, resolveStyleElts: function(a, b) { var c = a.querySelectorAll("style"); - c && o(c, function(a) { - a.textContent = j.resolveCssText(a.textContent, b); + c && q(c, function(a) { + a.textContent = p.resolveCssText(a.textContent, b); }); }, resolveCssText: function(a, b) { return a.replace(/url\([^)]*\)/g, function(a) { var c = a.replace(/["']/g, "").slice(4, -1); - return c = j.resolveUrl(b, c, !0), "url(" + c + ")"; + return c = p.resolveUrl(b, c, !0), "url(" + c + ")"; }); }, resolveAttributes: function(a, b) { - var c = a && a.querySelectorAll(l); - c && o(c, function(a) { + var c = a && a.querySelectorAll(n); + c && q(c, function(a) { this.resolveNodeAttributes(a, b); }, this); }, resolveNodeAttributes: function(a, b) { - k.forEach(function(c) { + m.forEach(function(c) { var d = a.attributes[c]; - if (d && d.value && d.value.search(m) < 0) { - var e = j.resolveUrl(b, d.value, !0); + if (d && d.value && d.value.search(o) < 0) { + var e = p.resolveUrl(b, d.value, !0); d.value = e; } }); } - }, k = [ "href", "src", "action" ], l = "[" + k.join("],[") + "]", m = "{{.*}}", n = a.xhr || { + }; + h = h || { async: !0, ok: function(a) { return a.status >= 200 && a.status < 300 || 304 === a.status || 0 === a.status; }, load: function(b, c, d) { var e = new XMLHttpRequest(); - (a.flags.debug || a.flags.bust) && (b += "?" + Math.random()), e.open("GET", b, n.async), + (a.flags.debug || a.flags.bust) && (b += "?" + Math.random()), e.open("GET", b, h.async), e.addEventListener("readystatechange", function() { - 4 === e.readyState && c.call(d, !n.ok(e) && e, e.response, b); + 4 === e.readyState && c.call(d, !h.ok(e) && e, e.response, b); }), e.send(); } - }, o = Array.prototype.forEach.call.bind(Array.prototype.forEach); - a.xhr = n, a.importer = h, a.getDocumentUrl = j.getDocumentUrl, "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { - var b = document.createEvent("HTMLEvents"); - return b.initEvent(a, !0, !0), b; - }), document.addEventListener("DOMContentLoaded", function() { - h.load(document, function() { - var a = window.ShadowDOMPolyfill ? ShadowDOMPolyfill.wrap(document) : document; - HTMLImports.readyTime = new Date().getTime(), a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded", { + }; + var q = Array.prototype.forEach.call.bind(Array.prototype.forEach); + a.xhr = h, a.importer = k, a.getDocumentUrl = p.getDocumentUrl, a.IMPORT_LINK_TYPE = i; +}(window.HTMLImports), function(a) { + function b(a) { + return "link" === a.localName && a.getAttribute("rel") === f; + } + function c(a) { + return a.parentNode && !d(a) && !e(a); + } + function d(a) { + return a.ownerDocument === document || a.ownerDocument.impl === document; + } + function e(a) { + return a.parentNode && "element" === a.parentNode.localName; + } + var f = "import", g = { + selectors: [ "link[rel=" + f + "]", "link[rel=stylesheet]", "style", "script" ], + map: { + link: "parseLink", + script: "parseScript", + style: "parseGeneric" + }, + parse: function(a) { + if (!a.__importParsed) { + a.__importParsed = !0; + var b = a.querySelectorAll(g.selectors); + h(b, function(a) { + g[g.map[a.localName]](a); + }); + } + }, + parseLink: function(a) { + b(a) ? a.content && g.parse(a.content) : this.parseGeneric(a); + }, + parseGeneric: function(a) { + c(a) && document.head.appendChild(a); + }, + parseScript: function(a) { + if (c(a)) { + var b = a.__resource || a.textContent; + b && (b += "\n//# sourceURL=" + (a.__nodeUrl || "inline[" + Math.floor(1e3 * (Math.random() + 1)) + "]") + "\n", + eval.call(window, b)); + } + } + }, h = Array.prototype.forEach.call.bind(Array.prototype.forEach); + a.parser = g; +}(HTMLImports), function() { + function a() { + HTMLImports.importer.load(document, function() { + HTMLImports.parser.parse(document), HTMLImports.readyTime = new Date().getTime(), + document.dispatchEvent(new CustomEvent("HTMLImportsLoaded", { bubbles: !0 })); }); - }); -}(window.HTMLImports), function(a) { + } + "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { + var b = document.createEvent("HTMLEvents"); + return b.initEvent(a, !0, !0), b; + }), "complete" === document.readyState || "interactive" === document.readyState ? a() : window.addEventListener("DOMContentLoaded", a); +}(), function(a) { function b(a) { u.push(a), t || (t = !0, q(d)); } @@ -3129,12 +3997,12 @@ if (function(a) { var g = f || {}; if (!b) throw new Error("Name argument must not be empty"); if (g.name = b, !g.prototype) throw new Error("Options missing required prototype property"); - return g.lifecycle = g.lifecycle || {}, g.ancestry = c(g.extends), d(g), e(g), g.prototype.setAttribute = k, - g.prototype.removeAttribute = l, n(b, g), g.ctor = o(g), g.ctor.prototype = g.prototype, + return g.lifecycle = g.lifecycle || {}, g.ancestry = c(g.extends), d(g), e(g), k(g.prototype), + m(b, g), g.ctor = n(g), g.ctor.prototype = g.prototype, g.prototype.constructor = g.ctor, a.ready && a.upgradeAll(document), g.ctor; } function c(a) { - var b = v[a]; + var b = s[a]; return b ? c(b.extends).concat([ b ]) : []; } function d(a) { @@ -3142,11 +4010,17 @@ if (function(a) { a.tag = c || a.name, c && (a.is = a.name); } function e(a) { - if (!Object.__proto__) if (a.is) var b = document.createElement(a.tag), c = Object.getPrototypeOf(b); else c = HTMLElement.prototype; - a.native = c; + if (!Object.__proto__) { + var b = HTMLElement.prototype; + if (a.is) { + var c = document.createElement(a.tag); + b = Object.getPrototypeOf(c); + } + } + a.native = b; } function f(a) { - return g(w(a.tag), a); + return g(t(a.tag), a); } function g(b, c) { return c.is && b.setAttribute("is", c.is), h(b, c), b.__upgraded__ = !0, a.upgradeSubtree(b), @@ -3165,36 +4039,40 @@ if (function(a) { function j(a) { a.readyCallback && a.readyCallback(); } - function k(a, b) { - m.call(this, a, b, t); - } - function l(a, b) { - m.call(this, a, b, u); + function k(a) { + var b = a.setAttribute; + a.setAttribute = function(a, c) { + l.call(this, a, c, b); + }; + var c = a.removeAttribute; + a.removeAttribute = function(a, b) { + l.call(this, a, b, c); + }; } - function m(a, b, c) { + function l(a, b, c) { var d = this.getAttribute(a); c.apply(this, arguments), this.attributeChangedCallback && this.getAttribute(a) !== d && this.attributeChangedCallback(a, d); } - function n(a, b) { - v[a] = b; + function m(a, b) { + s[a] = b; } - function o(a) { + function n(a) { return function() { return f(a); }; } - function p(a) { - var b = v[a]; - return b ? new b.ctor() : w(a); + function o(a) { + var b = s[a]; + return b ? new b.ctor() : t(a); } - function q(a) { + function p(a) { if (!a.__upgraded__ && a.nodeType === Node.ELEMENT_NODE) { - var b = a.getAttribute("is") || a.localName, c = v[b]; + var b = a.getAttribute("is") || a.localName, c = s[b]; return c && g(a, c); } } - function r(b) { - var c = x.call(this, b); + function q(b) { + var c = u.call(this, b); return a.upgradeAll(c), c; } if (a || (a = window.CustomElements = { @@ -3202,12 +4080,12 @@ if (function(a) { }), a.hasNative = (document.webkitRegister || document.register) && "native" === a.flags.register, a.hasNative) { document.register = document.register || document.webkitRegister; - var s = function() {}; - a.registry = {}, a.upgradeElement = s; + var r = function() {}; + a.registry = {}, a.upgradeElement = r; } else { - var t = HTMLElement.prototype.setAttribute, u = HTMLElement.prototype.removeAttribute, v = {}, w = document.createElement.bind(document), x = Node.prototype.cloneNode; - document.register = b, document.createElement = p, Node.prototype.cloneNode = r, - a.registry = v, a.upgrade = q; + var s = {}, t = document.createElement.bind(document), u = Node.prototype.cloneNode; + document.register = b, document.createElement = o, Node.prototype.cloneNode = q, + a.registry = s, a.upgrade = p; } }(window.CustomElements), function(a) { function b(a, c, d) { @@ -3354,27 +4232,18 @@ if (function(a) { var name = match[1]; url += name != inName ? ":" + inName : ""; } - var code = "__componentScript('" + inName + "', function(){" + inScript + "});" + "\n//@ sourceURL=" + url + "\n"; + var code = "__componentScript('" + inName + "', function(){" + inScript + "});" + "\n//# sourceURL=" + url + "\n"; eval(code); } - function mixin(a) { - for (var b = a || {}, c = 1; c < arguments.length; c++) { - var d = arguments[c]; - try { - for (var e in d) copyProperty(e, d, b); - } catch (f) {} - } - return b; - } - function copyProperty(a, b, c) { - var d = getPropertyDescriptor(b, a); - Object.defineProperty(c, a, d); - } - function getPropertyDescriptor(a, b) { - if (a) { - var c = Object.getOwnPropertyDescriptor(a, b); - return c || getPropertyDescriptor(Object.getPrototypeOf(a), b); - } + function mixin(a, b) { + a = a || {}; + try { + Object.getOwnPropertyNames(b).forEach(function(c) { + var d = Object.getOwnPropertyDescriptor(b, c); + d && Object.defineProperty(a, c, d); + }); + } catch (c) {} + return a; } var HTMLElementElement = function(a) { return a.register = HTMLElementElement.prototype.register, parseElementElement(a), @@ -3388,68 +4257,54 @@ if (function(a) { var context; window.__componentScript = function(a, b) { b.call(context); - }, window.HTMLElementElement = HTMLElementElement, window.mixin = mixin; + }, window.HTMLElementElement = HTMLElementElement; }(), function() { function a(a) { - return !b(a) && a.parentNode && !d(a); - } - function b(a) { - return a.ownerDocument === document || a.ownerDocument.impl === document; - } - function c(a) { - return "link" === a.localName && a.getAttribute("rel") === e; - } - function d(a) { - return a.parentNode && "element" === a.parentNode.localName ? !0 : void 0; + return "link" === a.localName && a.getAttribute("rel") === b; } - var e = "import", f = { - selectors: [ "link[rel=" + e + "]", "link[rel=stylesheet]", "script[src]", "script", "style", "element" ], + var b = window.HTMLImports ? HTMLImports.IMPORT_LINK_TYPE : "none", c = { + selectors: [ "link[rel=" + b + "]", "element" ], map: { link: "parseLink", - script: "parseScript", - element: "parseElement", - style: "parseStyle" + element: "parseElement" }, parse: function(a) { if (!a.__parsed) { a.__parsed = !0; - var b = a.querySelectorAll(g.selectors); - h(b, function(a) { - g[g.map[a.localName]](a); + var b = a.querySelectorAll(c.selectors); + d(b, function(a) { + c[c.map[a.localName]](a); }), CustomElements.upgradeDocument(a), CustomElements.observeDocument(a); } }, parseLink: function(b) { - c(b) ? b.content && g.parse(b.content) : a(b) && document.head.appendChild(b); + a(b) && this.parseImport(b); }, - parseScript: function(b) { - if (a(b)) { - var c = b.__resource || b.textContent; - c && (c += "\n//@ sourceURL=" + b.__nodeUrl + "\n", eval.call(window, c)); - } - }, - parseStyle: function(b) { - a(b) && document.head.appendChild(b); + parseImport: function(a) { + a.content && c.parse(a.content); }, parseElement: function(a) { new HTMLElementElement(a); } - }, g = f, h = Array.prototype.forEach.call.bind(Array.prototype.forEach); - CustomElements.parser = f; + }, d = Array.prototype.forEach.call.bind(Array.prototype.forEach); + CustomElements.parser = c; }(), function() { function a() { setTimeout(function() { - CustomElements.parser.parse(document), CustomElements.ready = !0, CustomElements.readyTime = new Date().getTime(), - window.HTMLImports && (CustomElements.elapsed = CustomElements.readyTime - HTMLImports.readyTime), + CustomElements.parser.parse(document), CustomElements.upgradeDocument(document), + CustomElements.ready = !0, CustomElements.readyTime = new Date().getTime(), window.HTMLImports && (CustomElements.elapsed = CustomElements.readyTime - HTMLImports.readyTime), document.body.dispatchEvent(new CustomEvent("WebComponentsReady", { bubbles: !0 })); }, 0); } - "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { + if ("function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { var b = document.createEvent("HTMLEvents"); return b.initEvent(a, !0, !0), b; - }), window.HTMLImports ? document.addEventListener("HTMLImportsLoaded", a) : window.addEventListener("load", a); + }), "complete" === document.readyState) a(); else { + var b = window.HTMLImports ? "HTMLImportsLoaded" : "DOMContentLoaded"; + window.addEventListener(b, a); + } }(), function() { function a() {} var b = document.createElement("style"); @@ -3843,26 +4698,90 @@ if (function(a) { mutationWatcher: function(a) { a.forEach(this.mutationHandler, this); }, - mutationHandler: function(a) { - var b = a; - if ("childList" === b.type) { - var c = this.flattenMutationTree(b.addedNodes); - c.forEach(this.addElement, this); - var d = this.flattenMutationTree(b.removedNodes); - d.forEach(this.removeElement, this); - } else "attributes" === b.type && this.elementChanged(b.target); + mutationHandler: function(a) { + var b = a; + if ("childList" === b.type) { + var c = this.flattenMutationTree(b.addedNodes); + c.forEach(this.addElement, this); + var d = this.flattenMutationTree(b.removedNodes); + d.forEach(this.removeElement, this); + } else "attributes" === b.type && this.elementChanged(b.target); + } + }, f = e.mutationWatcher.bind(e); + a.installer = e, a.register = e.enableOnSubtree.bind(e), a.setTouchAction = function(a, c) { + var d = this.touchActionToScrollType(c); + d ? b.registerTarget(a, d) : b.unregisterTarget(a); + }.bind(e); + var g = window.MutationObserver || window.WebKitMutationObserver; + if (g) var h = new g(f); else e.watchSubtree = function() { + console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected"); + }; +}(window.PointerEventsPolyfill), function(a) { + var b = a.dispatcher, c = b.pointermap, d = 25, e = { + POINTER_ID: 1, + POINTER_TYPE: "mouse", + events: [ "mousedown", "mousemove", "mouseup", "mouseover", "mouseout" ], + global: [ "mousedown", "mouseup", "mouseover", "mouseout" ], + lastTouches: [], + mouseHandler: b.eventHandler.bind(b), + isEventSimulatedFromTouch: function(a) { + for (var b, c = this.lastTouches, e = a.clientX, f = a.clientY, g = 0, h = c.length; h > g && (b = c[g]); g++) { + var i = Math.abs(e - b.x), j = Math.abs(f - b.y); + if (d >= i && d >= j) return !0; + } + }, + prepareEvent: function(a) { + var c = b.cloneEvent(a); + return c.pointerId = this.POINTER_ID, c.isPrimary = !0, c.pointerType = this.POINTER_TYPE, + c; + }, + mousedown: function(a) { + if (!this.isEventSimulatedFromTouch(a)) { + var d = c.has(this.POINTER_ID); + if (d && (this.cancel(a), d = !1), !d) { + var e = this.prepareEvent(a); + c.set(this.POINTER_ID, a), b.down(e), b.listen(this.global, document, this.mouseHandler); + } + } + }, + mousemove: function(a) { + if (!this.isEventSimulatedFromTouch(a)) { + var c = this.prepareEvent(a); + b.move(c); + } + }, + mouseup: function(a) { + if (!this.isEventSimulatedFromTouch(a)) { + var d = c.get(this.POINTER_ID); + if (d && d.button === a.button) { + var e = this.prepareEvent(a); + b.up(e), this.cleanupMouse(); + } + } + }, + mouseover: function(a) { + if (!this.isEventSimulatedFromTouch(a)) { + var c = this.prepareEvent(a); + b.enterOver(c); + } + }, + mouseout: function(a) { + if (!this.isEventSimulatedFromTouch(a)) { + var c = this.prepareEvent(a); + b.leaveOut(c); + } + }, + cancel: function(a) { + var c = this.prepareEvent(a); + b.cancel(c), this.cleanupMouse(); + }, + cleanupMouse: function() { + c.delete(this.POINTER_ID), b.unlisten(this.global, document, this.mouseHandler); } - }, f = e.mutationWatcher.bind(e); - a.installer = e, a.register = e.enableOnSubtree.bind(e), a.setTouchAction = function(a, c) { - var d = this.touchActionToScrollType(c); - d ? b.registerTarget(a, d) : b.unregisterTarget(a); - }.bind(e); - var g = window.MutationObserver || window.WebKitMutationObserver; - if (g) var h = new g(f); else e.watchSubtree = function() { - console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected"); }; + b.listen([ "mousemove" ], document, b.boundHandler), a.mouseEvents = e; }(window.PointerEventsPolyfill), function(a) { - var b = a.dispatcher, c = a.installer, d = a.findTarget, e = b.pointermap, f = b.scrollType, g = Array.prototype.map.call.bind(Array.prototype.map), h = 2500, i = 25, j = { + var b = a.dispatcher, c = a.findTarget, d = b.pointermap, e = b.scrollType, f = Array.prototype.map.call.bind(Array.prototype.map), g = 2500, h = { events: [ "touchstart", "touchmove", "touchend", "touchcancel" ], POINTER_TYPE: "touch", firstTouch: null, @@ -3879,21 +4798,21 @@ if (function(a) { this.isPrimaryTouch(a) && (this.firstTouch = null, this.firstXY = null); }, touchToPointer: function(a) { - var c = b.cloneEvent(a); - return c.pointerId = a.identifier + 2, c.target = d(c), c.bubbles = !0, c.cancelable = !0, - c.button = 0, c.buttons = 1, c.width = a.webkitRadiusX || a.radiusX, c.height = a.webkitRadiusY || a.radiusY, - c.pressure = a.webkitForce || a.force, c.isPrimary = this.isPrimaryTouch(a), c.pointerType = this.POINTER_TYPE, - c; + var d = b.cloneEvent(a); + return d.pointerId = a.identifier + 2, d.target = c(d), d.bubbles = !0, d.cancelable = !0, + d.button = 0, d.buttons = 1, d.width = a.webkitRadiusX || a.radiusX, d.height = a.webkitRadiusY || a.radiusY, + d.pressure = a.webkitForce || a.force, d.isPrimary = this.isPrimaryTouch(a), d.pointerType = this.POINTER_TYPE, + d; }, processTouches: function(a, b) { - var c = a.changedTouches, d = g(c, this.touchToPointer, this); + var c = a.changedTouches, d = f(c, this.touchToPointer, this); d.forEach(b, this); }, shouldScroll: function(a) { if (this.firstXY) { - var b, c = f.get(a.currentTarget); + var b, c = e.get(a.currentTarget); if ("none" === c) b = !1; else if ("XY" === c) b = !0; else { - var d = a.changedTouches[0], e = c, g = "Y" === c ? "X" : "Y", h = Math.abs(d["client" + e] - this.firstXY[e]), i = Math.abs(d["client" + g] - this.firstXY[g]); + var d = a.changedTouches[0], f = c, g = "Y" === c ? "X" : "Y", h = Math.abs(d["client" + f] - this.firstXY[f]), i = Math.abs(d["client" + g] - this.firstXY[g]); b = h >= i; } return this.firstXY = null, b; @@ -3904,12 +4823,12 @@ if (function(a) { }, vacuumTouches: function(a) { var b = a.touches; - if (e.size >= b.length) { + if (d.size >= b.length) { var c = []; - e.ids.forEach(function(a) { + d.ids.forEach(function(a) { if (1 !== a && !this.findTouch(b, a - 2)) { - var d = e.get(a).out; - c.push(this.touchToPointer(d)); + var e = d.get(a).out; + c.push(this.touchToPointer(e)); } }, this), c.forEach(this.cancelOut, this); } @@ -3919,7 +4838,7 @@ if (function(a) { this.scrolling || this.processTouches(a, this.overDown); }, overDown: function(a) { - e.set(a.pointerId, { + d.set(a.pointerId, { target: a.target, out: a, outTarget: a.target @@ -3930,9 +4849,13 @@ if (function(a) { this.processTouches(a, this.moveOverOut))); }, moveOverOut: function(a) { - var c = a, d = e.get(c.pointerId), f = d.out, g = d.outTarget; - b.move(c), f && g !== c.target && (f.relatedTarget = c.target, c.relatedTarget = g, - f.target = g, b.leaveOut(f), b.enterOver(c)), d.out = c, d.outTarget = c.target; + var c = a, e = d.get(c.pointerId); + if (e) { + var f = e.out, g = e.outTarget; + b.move(c), f && g !== c.target && (f.relatedTarget = c.target, c.relatedTarget = g, + f.target = g, c.target ? (b.leaveOut(f), b.enterOver(c)) : (c.target = g, c.relatedTarget = null, + this.cancelOut(c))), e.out = c, e.outTarget = c.target; + } }, touchend: function(a) { this.dedupSynthMouse(a), this.processTouches(a, this.upOut); @@ -3947,85 +4870,27 @@ if (function(a) { b.cancel(a), b.out(a), this.cleanUpPointer(a); }, cleanUpPointer: function(a) { - e.delete(a.pointerId), this.removePrimaryTouch(a); - }, - dedupSynthMouse: function(a) { - var b = k.lastTouches, c = a.changedTouches[0]; - if (this.isPrimaryTouch(c)) { - var d = { - x: c.clientX, - y: c.clientY + d.delete(a.pointerId), this.removePrimaryTouch(a); + }, + dedupSynthMouse: function(b) { + var c = a.mouseEvents.lastTouches, d = b.changedTouches[0]; + if (this.isPrimaryTouch(d)) { + var e = { + x: d.clientX, + y: d.clientY }; - b.push(d); - var e = function(a, b) { + c.push(e); + var f = function(a, b) { var c = a.indexOf(b); c > -1 && a.splice(c, 1); - }.bind(null, b, d); - setTimeout(e, h); - } - } - }, k = { - POINTER_ID: 1, - POINTER_TYPE: "mouse", - events: [ "mousedown", "mousemove", "mouseup", "mouseover", "mouseout" ], - global: [ "mousedown", "mouseup", "mouseover", "mouseout" ], - lastTouches: [], - mouseHandler: b.eventHandler.bind(b), - isEventSimulatedFromTouch: function(a) { - for (var b, c = this.lastTouches, d = a.clientX, e = a.clientY, f = 0, g = c.length; g > f && (b = c[f]); f++) { - var h = Math.abs(d - b.x), j = Math.abs(e - b.y); - if (i >= h && i >= j) return !0; - } - }, - prepareEvent: function(a) { - var c = b.cloneEvent(a); - return c.pointerId = this.POINTER_ID, c.isPrimary = !0, c.pointerType = this.POINTER_TYPE, - c; - }, - mousedown: function(a) { - if (!this.isEventSimulatedFromTouch(a)) { - var c = e.has(this.POINTER_ID); - if (c && (this.cancel(a), c = !1), !c) { - var d = this.prepareEvent(a); - e.set(this.POINTER_ID, a), b.down(d), b.listen(this.global, document, this.mouseHandler); - } - } - }, - mousemove: function(a) { - if (!this.isEventSimulatedFromTouch(a)) { - var c = this.prepareEvent(a); - b.move(c); - } - }, - mouseup: function(a) { - if (!this.isEventSimulatedFromTouch(a)) { - var c = e.get(this.POINTER_ID); - if (c && c.button === a.button) { - var d = this.prepareEvent(a); - b.up(d), this.cleanupMouse(); - } - } - }, - mouseover: function(a) { - if (!this.isEventSimulatedFromTouch(a)) { - var c = this.prepareEvent(a); - b.enterOver(c); - } - }, - mouseout: function(a) { - if (!this.isEventSimulatedFromTouch(a)) { - var c = this.prepareEvent(a); - b.leaveOut(c); + }.bind(null, c, e); + setTimeout(f, g); } - }, - cancel: function(a) { - var c = this.prepareEvent(a); - b.cancel(c), this.cleanupMouse(); - }, - cleanupMouse: function() { - e.delete(this.POINTER_ID), b.unlisten(this.global, document, this.mouseHandler); } - }, l = { + }; + a.touchEvents = h; +}(window.PointerEventsPolyfill), function(a) { + var b = a.dispatcher, c = b.pointermap, d = { events: [ "MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerOut", "MSPointerOver", "MSPointerCancel", "MSGotPointerCapture", "MSLostPointerCapture" ], POINTER_TYPES: [ "", "unavailable", "touch", "pen", "mouse" ], prepareEvent: function(a) { @@ -4033,12 +4898,12 @@ if (function(a) { return c.pointerType = this.POINTER_TYPES[a.pointerType], c; }, cleanup: function(a) { - e.delete(a); + c.delete(a); }, MSPointerDown: function(a) { - e.set(a.pointerId, a); - var c = this.prepareEvent(a); - b.down(c); + c.set(a.pointerId, a); + var d = this.prepareEvent(a); + b.down(d); }, MSPointerMove: function(a) { var c = this.prepareEvent(a); @@ -4069,15 +4934,18 @@ if (function(a) { b.dispatchEvent(c); } }; + a.msEvents = d; +}(window.PointerEventsPolyfill), function(a) { + var b = a.dispatcher, c = a.installer; if (void 0 === window.navigator.pointerEnabled) { if (window.navigator.msPointerEnabled) { - var m = window.navigator.msMaxTouchPoints; + var d = window.navigator.msMaxTouchPoints; Object.defineProperty(window.navigator, "maxTouchPoints", { - value: m, + value: d, enumerable: !0 - }), b.registerSource("ms", l), b.registerTarget(document); - } else b.registerSource("mouse", k), "ontouchstart" in window && b.registerSource("touch", j), - c.enableOnSubtree(document), b.listen([ "mousemove" ], document, b.boundHandler); + }), b.registerSource("ms", a.msEvents), b.registerTarget(document); + } else b.registerSource("mouse", a.mouseEvents), void 0 !== window.ontouchstart && b.registerSource("touch", a.touchEvents), + c.enableOnSubtree(document); Object.defineProperty(window.navigator, "pointerEnabled", { value: !0, enumerable: !0 @@ -4464,52 +5332,24 @@ if (function(a) { b.registerRecognizer("tap", d); }(window.PointerGestures); +if (!window.Polymer) { + window.Polymer = {}; +} + (function() { var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach); window.forEach = forEach; })(); -(function() { - function $class(inExtends, inProperties) { - if (arguments.length == 1) { - inProperties = inExtends; - inExtends = null; - } - if (!inProperties || !inProperties.hasOwnProperty("constructor")) { - inProperties.constructor = function() { - this.super(); - }; - } - var ctor = inProperties.constructor; - var basePrototype = inExtends && inExtends.prototype || Object.prototype; - ctor.prototype = extend(basePrototype, inProperties); - if (!("super" in ctor.prototype)) { - ctor.prototype.super = $super; - } - return ctor; - } - function extend(inBasePrototype, inProperties) { - return Object.create(inBasePrototype, getPropertyDescriptors(inProperties)); - } - function getPropertyDescriptors(inObject) { - var descriptors = {}; - for (var n in inObject) { - descriptors[n] = getPropertyDescriptor(inObject, n); - } - return descriptors; - } - function getPropertyDescriptor(inObject, inName) { - return inObject && Object.getOwnPropertyDescriptor(inObject, inName) || getPropertyDescriptor(Object.getPrototypeOf(inObject), inName); - } +(function(scope) { function $super(inArgs) { var caller = $super.caller; - var nom = caller._nom; + var nom = caller.nom; if (!nom) { - nom = caller._nom = nameInThis.call(this, caller); - if (!nom) { - console.warn('called super() on a method not in "this"'); - return; - } + nom = nameInThis.call(this, caller); + } + if (!nom) { + console.warn("called super() on a method not installed declaratively (has no .nom property)"); } if (!("_super" in caller)) { memoizeSuper(caller, nom, Object.getPrototypeOf(this)); @@ -4537,34 +5377,25 @@ if (function(a) { } } function nameInThis(inValue) { - for (var n in this) { - var d = getPropertyDescriptor(this, n); - if (d.value == inValue) { - return n; - } - } - } - function mixin(inObj) { - var obj = inObj || {}; - for (var i = 1; i < arguments.length; i++) { - var p = arguments[i]; - try { - for (var n in p) { - copyProperty(n, p, obj); + console.group("nameInThis"); + var p = this; + while (p && p !== HTMLElement.prototype) { + var n$ = Object.getOwnPropertyNames(p); + for (var i = 0, l = n$.length, n; i < l && (n = n$[i]); i++) { + console.log(n); + var d = Object.getOwnPropertyDescriptor(p, n); + if (d.value == inValue) { + return n; } - } catch (x) {} + } + p = Object.getPrototypeOf(p); } - return obj; - } - function copyProperty(inName, inSource, inTarget) { - Object.defineProperty(inTarget, inName, getPropertyDescriptor(inSource, inName)); + console.groupEnd("nameInThis"); } - window.$class = $class; - window.extend = extend; - window.$super = $super; -})(); + scope.$super = $super; +})(Polymer); -(function() { +(function(scope) { var log = window.logFlags || {}; function register(inElement, inPrototype) { if (inElement == window) { @@ -4573,18 +5404,23 @@ if (function(a) { if (!inElement || !(inElement instanceof HTMLElement)) { throw "First argument to Polymer.register must be an HTMLElement"; } - var prototype = mixin({}, Polymer.base, inPrototype); + var prototype = Platform.mixin({}, scope.base, inPrototype); prototype.elementElement = inElement; - Polymer.addResolvePath(prototype, inElement); + scope.addResolvePath(prototype, inElement); prototype.installTemplate = function() { this.super(); staticInstallTemplate.call(this, inElement); }; + prototype.installTemplate.nom = "installTemplate"; prototype.readyCallback = readyCallback; - Polymer.parseHostEvents(inElement.attributes, prototype); - Polymer.publishAttributes(inElement, prototype); - Polymer.installSheets(inElement); - Polymer.shimStyling(inElement); + prototype.insertedCallback = insertedCallback; + prototype.removedCallback = removedCallback; + prototype.attributeChangedCallback = attributeChangedCallback; + hintSuper(prototype); + scope.parseHostEvents(inElement.attributes, prototype); + scope.publishAttributes(inElement, prototype); + scope.installSheets(inElement); + scope.shimStyling(inElement); inElement.register({ prototype: prototype }); @@ -4597,34 +5433,59 @@ if (function(a) { function staticInstallTemplate(inElement) { var template = inElement.querySelector("template"); if (template) { - template.setAttribute("syntax", "Polymer"); var root = this.webkitCreateShadowRoot(); root.applyAuthorStyles = this.applyAuthorStyles; CustomElements.watchShadow(this); root.host = this; - root.appendChild(template.createInstance(this, "Polymer")); + root.appendChild(template.createInstance(this, Polymer.expressionSyntax)); rootCreated.call(this, root); return root; } } function rootCreated(inRoot) { CustomElements.takeRecords(); - Polymer.marshalNodeReferences.call(this, inRoot); - var rootEvents = Polymer.accumulateEvents(inRoot); - Polymer.bindAccumulatedLocalEvents.call(this, inRoot, rootEvents); + scope.marshalNodeReferences.call(this, inRoot); + var rootEvents = scope.accumulateEvents(inRoot); + scope.bindAccumulatedLocalEvents.call(this, inRoot, rootEvents); PointerGestures.register(inRoot); PointerEventsPolyfill.setTouchAction(inRoot, this.getAttribute("touch-action")); } function instanceReady(inElement) { - Polymer.observeProperties.call(this); - Polymer.installInstanceAttributes.call(this); - Polymer.takeAttributes.call(this); - var hostEvents = Polymer.accumulateHostEvents.call(this); - Polymer.bindAccumulatedHostEvents.call(this, hostEvents); + scope.observeProperties.call(this); + scope.installInstanceAttributes.call(this); + scope.takeAttributes.call(this); + var hostEvents = scope.accumulateHostEvents.call(this); + scope.bindAccumulatedHostEvents.call(this, hostEvents); + this.asyncUnbindAll(); if (this.ready) { this.ready(); } } + function insertedCallback() { + this.cancelUnbindAll(true); + if (this.inserted) { + this.inserted(); + } + } + function removedCallback() { + this.asyncUnbindAll(); + if (this.removed) { + this.removed(); + } + } + function attributeChangedCallback() { + if (this.attributeChanged) { + this.attributeChanged.apply(this, arguments); + } + } + function hintSuper(prototype) { + Object.getOwnPropertyNames(prototype).forEach(function(n) { + var d = Object.getOwnPropertyDescriptor(prototype, n); + if (typeof d.value == "function") { + d.value.nom = n; + } + }); + } function findDistributedTarget(inTarget, inNodes) { var n = inTarget; while (n && n != this) { @@ -4635,17 +5496,15 @@ if (function(a) { n = n.parentNode; } } - window.Polymer = { - register: register, - findDistributedTarget: findDistributedTarget, - instanceReady: instanceReady - }; -})(); + scope.register = register; + scope.findDistributedTarget = findDistributedTarget; + scope.instanceReady = instanceReady; +})(Polymer); (function(scope) { var log = window.logFlags || {}; var base = { - "super": $super, + "super": Polymer.$super, isPolymerElement: true, bind: function() { Polymer.bind.apply(this, arguments); @@ -4656,10 +5515,17 @@ if (function(a) { unbindAll: function() { Polymer.unbindAll.apply(this, arguments); }, + cancelUnbindAll: function(preventCascade) { + Polymer.cancelUnbindAll.apply(this, arguments); + }, + asyncUnbindAll: function() { + Polymer.asyncUnbindAll.apply(this, arguments); + }, job: function() { return Polymer.job.apply(this, arguments); }, asyncMethod: function(inMethod, inArgs, inTimeout) { + Platform.flush(); var args = inArgs && inArgs.length ? inArgs : [ inArgs ]; var fn = function() { (this[inMethod] || inMethod).apply(this, args); @@ -4754,6 +5620,7 @@ if (function(a) { (function() { var log = window.logFlags || {}; + var expressionSyntax = new ExpressionSyntax(); var bindings = new SideTable(); function registerBinding(element, name, path) { var b$ = bindings.get(element); @@ -4798,91 +5665,90 @@ if (function(a) { HTMLElement.prototype.bind.apply(this, arguments); } } - function unbindModel(node) { - node.unbindAll(); - for (var child = node.firstChild; child; child = child.nextSibling) { - unbindModel(child); - } - } function unbind(name) { if (!Polymer.unregisterObserver(this, "binding", name)) { HTMLElement.prototype.unbind.apply(this, arguments); } } function unbindAll() { - Polymer.unregisterObserversOfType(this, "property"); - HTMLElement.prototype.unbindAll.apply(this, arguments); + if (!isElementUnbound(this)) { + Polymer.unregisterObserversOfType(this, "property"); + HTMLElement.prototype.unbindAll.apply(this, arguments); + unbindNodeTree(this.webkitShadowRoot, true); + markElementUnbound(this); + } + } + function unbindNodeTree(node, olderShadows) { + forNodeTree(node, olderShadows, function(n) { + if (n.unbindAll) { + n.unbindAll(); + } + }); + } + function forNodeTree(node, olderShadows, callback) { + if (!node) { + return; + } + callback(node); + if (olderShadows && node.olderShadowRoot) { + forNodeTree(node.olderShadowRoot, olderShadows, callback); + } + for (var child = node.firstChild; child; child = child.nextSibling) { + forNodeTree(child, olderShadows, callback); + } + } + var unboundTable = new SideTable(); + function markElementUnbound(element) { + unboundTable.set(element, true); + } + function isElementUnbound(element) { + return unboundTable.get(element); + } + var unbindAllJobTable = new SideTable(); + function asyncUnbindAll() { + if (!isElementUnbound(this)) { + log.bind && console.log("asyncUnbindAll", this.localName); + unbindAllJobTable.set(this, this.job(unbindAllJobTable.get(this), this.unbindAll)); + } + } + function cancelUnbindAll(preventCascade) { + if (isElementUnbound(this)) { + log.bind && console.warn(this.localName, "is unbound, cannot cancel unbindAll"); + return; + } + log.bind && console.log("cancelUnbindAll", this.localName); + var unbindJob = unbindAllJobTable.get(this); + if (unbindJob) { + unbindJob.stop(); + unbindAllJobTable.set(this, null); + } + if (!preventCascade) { + forNodeTree(this.webkitShadowRoot, true, function(n) { + if (n.cancelUnbindAll) { + n.cancelUnbindAll(); + } + }); + } + } + function parseAndBindHTML(html, model) { + var template = document.createElement("template"); + template.innerHTML = html; + return template.createInstance(model, expressionSyntax); } var mustachePattern = /\{\{([^{}]*)}}/; Polymer.bind = bind; Polymer.unbind = unbind; Polymer.unbindAll = unbindAll; Polymer.getBinding = getBinding; - Polymer.unbindModel = unbindModel; + Polymer.asyncUnbindAll = asyncUnbindAll; + Polymer.cancelUnbindAll = cancelUnbindAll; + Polymer.isElementUnbound = isElementUnbound; + Polymer.unbindNodeTree = unbindNodeTree; + Polymer.parseAndBindHTML = parseAndBindHTML; Polymer.bindPattern = mustachePattern; + Polymer.expressionSyntax = expressionSyntax; })(); -(function(global) { - "use strict"; - function Scope() {} - var bindPattern = /([\w\.\$]*)[\s]+as[\s]+([\w]*)/; - var repeatPattern = /([\w]*)[\s]+in[\s]+([\w\.\$]*)/; - function createBindRepeatBinding(model, path, name, node) { - var scopeName, scopePath; - var match = path.match(repeatPattern); - if (match) { - scopeName = match[1]; - scopePath = match[2]; - } else { - match = path.match(bindPattern); - if (match) { - scopeName = match[2]; - scopePath = match[1]; - } else { - return; - } - } - var binding = new CompoundBinding(function(values) { - return values["value"]; - }); - binding.bind("value", model, scopePath); - templateScopeTable.set(node, { - model: model, - scope: scopeName - }); - return binding; - } - function createStringIfTruthyBinding(model, className, path) { - var binding = new CompoundBinding(function(values) { - return values["value"] ? className : ""; - }); - binding.bind("value", model, path); - return binding; - } - var templateScopeTable = new SideTable(); - HTMLTemplateElement.syntax["Polymer"] = { - getBinding: function(model, path, name, node) { - if (node.nodeType === Node.ELEMENT_NODE && (name === "bind" || name === "repeat") && node.tagName === "TEMPLATE") { - return createBindRepeatBinding(model, path, name, node); - } - var match = path.match(/([\w]+):[\W]*([\w\.\$]*)/); - if (match) return createStringIfTruthyBinding(model, match[1], match[2]); - }, - getInstanceModel: function(template, model) { - var scopeInfo = templateScopeTable.get(template); - if (!scopeInfo) return model; - var scope; - if (scopeInfo.model) { - scope = Object.create(scopeInfo.model); - } else { - scope = new Scope(); - } - scope[scopeInfo.scope] = model; - return scope; - } - }; -})(this); - (function() { var bindPattern = Polymer.bindPattern; var published$ = "__published"; @@ -4915,27 +5781,28 @@ if (function(a) { Object.keys(imperative).forEach(function(p) { inPrototype[p] = imperative[p]; }); - published = mixin(published, imperative); + published = Platform.mixin(published, imperative); } - inPrototype[published$] = mixin({}, inherited[published$], published); + inPrototype[published$] = Platform.mixin({}, inherited[published$], published); } function publishInstanceAttributes(element, prototype) { - var inherited = element.options.prototype, attributes = element.attributes; + var inherited = element.options.prototype; + var attributes = element.attributes; var a$ = prototype.instanceAttributes = Object.create(inherited.instanceAttributes || null); for (var i = 0, l = attributes.length, a; i < l && (a = attributes[i]); i++) { - switch (a.name) { - case "name": - case "extends": - case attributes$: - break; - - default: + if (!publishInstanceAttributes.blackList[a.name]) { if (a.name.slice(0, 3) !== "on-") { a$[a.name] = a.value; } } } } + publishInstanceAttributes.blackList = { + name: 1, + "extends": 1, + constructor: 1 + }; + publishInstanceAttributes.blackList[attributes$] = 1; function installInstanceAttributes() { var a$ = this.instanceAttributes; Object.keys(a$).forEach(function(name) { @@ -4962,32 +5829,40 @@ if (function(a) { return properties[properties.map(lowerCase).indexOf(name.toLowerCase())]; } var lowerCase = String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase); - function deserializeValue(value, defaultValue) { - var inferredType = typeof defaultValue; - if (defaultValue instanceof Date) { - inferredType = "date"; - } - switch (inferredType) { - case "string": + var typeHandlers = { + string: function(value) { return value; - - case "date": + }, + date: function(value) { return new Date(Date.parse(value) || Date.now()); - - case "boolean": - if (value == "") { + }, + "boolean": function(value) { + if (value === "") { return true; } + return value === "false" ? false : !!value; + }, + number: function(value) { + var floatVal = parseFloat(value); + return String(floatVal) === value ? floatVal : value; + }, + object: function(value, defaultValue) { + if (!defaultValue) { + return value; + } + try { + return JSON.parse(value.replace(/'/g, '"')); + } catch (e) { + return value; + } } - switch (value) { - case "true": - return true; - - case "false": - return false; + }; + function deserializeValue(value, defaultValue) { + var inferredType = typeof defaultValue; + if (defaultValue instanceof Date) { + inferredType = "date"; } - var float = parseFloat(value); - return String(float) === value ? float : value; + return typeHandlers[inferredType](value, defaultValue); } Polymer.takeAttributes = takeAttributes; Polymer.publishAttributes = publishAttributes; @@ -5113,12 +5988,11 @@ Polymer.marshalNodeReferences = function(inRoot) { } inEvent.on = prefix + inEvent.type; log.events && console.group("[%s]: listenLocal [%s]", this.localName, inEvent.on); - var path = inEvent.path && inEvent.path(); - if (!path || window.ShadowDOMPolyfill) { - listenLocalPolyfill(inEvent); + if (!inEvent.path || window.ShadowDOMPolyfill) { + listenLocalNoEventPath(inEvent); } else { var c = null; - Array.prototype.some.call(path, function(t) { + Array.prototype.some.call(inEvent.path, function(t) { if (t === this) { return true; } @@ -5132,7 +6006,7 @@ Polymer.marshalNodeReferences = function(inRoot) { } log.events && console.groupEnd(); } - function listenLocalPolyfill(inEvent) { + function listenLocalNoEventPath(inEvent) { log.events && console.log("event.path() not supported for", inEvent.type); var t = inEvent.target, c = null; while (t && t != this) { @@ -5246,87 +6120,35 @@ Polymer.marshalNodeReferences = function(inRoot) { }); var content = elementTemplateContent(elementElement); if (content) { + var cssText = ""; sheets.forEach(function(sheet) { sheet.parentNode.removeChild(sheet); + cssText += cssTextFromSheet(sheet) + "\n"; }); - var fragment = document.createDocumentFragment(); - sheets.forEach(function(sheet) { - var style = createStyleElementFromSheet(sheet); - if (style) { - fragment.appendChild(style); - } - }); - content.insertBefore(fragment, content.firstChild); + if (cssText) { + content.insertBefore(createStyleElement(cssText), content.firstChild); + } } } function installGlobalStyles(elementElement) { - applyStylesToScope(findStyles(elementElement, "global"), doc.head); + applyStyleToScope(styleFromElement(elementElement, STYLE_GLOBAL_SCOPE), doc.head); } function installControllerStyles(element, elementElement) { - if (!elementElement.controllerStyles) { - elementElement.controllerStyles = findStyles(elementElement, "controller"); - } - var styles = elementElement.controllerStyles; - async.queue(function() { - var scope = findStyleController(element); - if (scope) { - Polymer.shimPolyfillDirectives(styles, element.localName); - applyStylesToScope(styles, scope); - } - }); - } - var async = { - list: [], - queue: function(inFn) { - if (inFn) { - async.list.push(inFn); - } - async.queueFlush(); - }, - queueFlush: function() { - if (!async.flushing) { - async.flushing = true; - requestAnimationFrame(async.flush); - } - }, - flush: function() { - async.list.forEach(function(fn) { - fn(); - }); - async.list = []; - async.flushing = false; - } - }; - function findStyleController(node) { - var n = node; - while (n.parentNode && n.localName != "shadow-root") { - n = n.parentNode; + if (!elementElement.controllerStyle) { + elementElement.controllerStyle = styleFromElement(elementElement, STYLE_CONTROLLER_SCOPE); } - return n == doc ? doc.head : n; - } - function createStyleElementFromSheet(sheet) { - if (sheet.__resource) { - var style = doc.createElement("style"); - style.textContent = sheet.__resource; - return style; - } else { - console.warn("Could not find content for stylesheet", sheet); + var styleElement = elementElement.controllerStyle; + var scope = findStyleController(element); + if (scope && !scopeHasElementStyle(scope, element, STYLE_CONTROLLER_SCOPE)) { + Polymer.shimPolyfillDirectives([ styleElement ], element.localName); + applyStyleToScope(styleElement, scope); } } - function applyStylesToScope(styles, scope) { - styles.forEach(function(style) { - scope.appendChild(style.cloneNode(true)); - }); - } - var eltProto = HTMLElement.prototype; - var matches = eltProto.matches || eltProto.matchesSelector || eltProto.webkitMatchesSelector || eltProto.mozMatchesSelector; - function matchesSelector(node, inSelector) { - if (matches) { - return matches.call(node, inSelector); - } + function scopeHasElementStyle(scope, element, descriptor) { + return scope.querySelector("style[" + STYLE_SCOPE_ATTRIBUTE + "=" + element.localName + "-" + descriptor + "]"); } - function findStyles(elementElement, descriptor) { - var styleList = []; + function cssTextFromElement(elementElement, descriptor) { + var cssText = ""; var selector = "[" + SCOPE_ATTR + "=" + descriptor + "]"; var matcher = function(s) { return matchesSelector(s, selector); @@ -5334,14 +6156,22 @@ Polymer.marshalNodeReferences = function(inRoot) { var sheets = findInElement(elementElement, SHEET_SELECTOR, matcher); sheets.forEach(function(sheet) { sheet.parentNode.removeChild(sheet); - styleList.push(createStyleElementFromSheet(sheet)); + cssText += cssTextFromSheet(sheet) + "\n\n"; }); var styles = findInElement(elementElement, STYLE_SELECTOR, matcher); styles.forEach(function(style) { style.parentNode.removeChild(style); - styleList.push(style); + cssText += style.textContent + "\n\n"; }); - return styleList; + return cssText; + } + function styleFromElement(elementElement, descriptor) { + var cssText = cssTextFromElement(elementElement, descriptor); + if (cssText) { + var style = createStyleElement(cssText); + style.setAttribute(STYLE_SCOPE_ATTRIBUTE, elementElement.options.name + "-" + descriptor); + return style; + } } function findInElement(elementElement, selector, matcher) { var nodes = arrayFromNodeList(elementElement.querySelectorAll(selector)); @@ -5352,12 +6182,44 @@ Polymer.marshalNodeReferences = function(inRoot) { } return nodes.filter(matcher); } + function findStyleController(node) { + var n = node; + while (n.parentNode) { + n = n.parentNode; + } + return n == doc ? doc.head : n; + } + function createStyleElement(cssText) { + var style = document.createElement("style"); + style.textContent = cssText; + return style; + } + function cssTextFromSheet(sheet) { + return sheet && sheet.__resource || ""; + } + function applyStyleToScope(style, scope) { + if (style) { + var clone = style.cloneNode(true); + clone.textContent = style.textContent; + scope.appendChild(clone); + } + } + var eltProto = HTMLElement.prototype; + var matches = eltProto.matches || eltProto.matchesSelector || eltProto.webkitMatchesSelector || eltProto.mozMatchesSelector; + function matchesSelector(node, inSelector) { + if (matches) { + return matches.call(node, inSelector); + } + } function elementTemplateContent(elementElement) { var template = elementElement.querySelector("template"); return template && templateContent(template); } var STYLE_SELECTOR = "style"; var SHEET_SELECTOR = "[rel=stylesheet]"; + var STYLE_SCOPE_ATTRIBUTE = "element"; + var STYLE_GLOBAL_SCOPE = "global"; + var STYLE_CONTROLLER_SCOPE = "controller"; var SCOPE_ATTR = "polymer-scope"; function arrayFromNodeList(nodeList) { return Array.prototype.slice.call(nodeList || [], 0); @@ -5373,9 +6235,11 @@ Polymer.marshalNodeReferences = function(inRoot) { var stylizer = { hostRuleRe: /@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim, selectorRe: /([^{]*)({[\s\S]*?})/gim, + hostElementRe: /(.*)((?:\*)|(?:\:scope))(.*)/, hostFixableRe: /^[.\[:]/, cssCommentRe: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, cssPolyfillCommentRe: /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim, + cssPseudoRe: /::(x-[^\s{,(]*)/gim, selectorReSuffix: "([>\\s~+[.,{:][\\s\\S]*)?$", hostRe: /@host/gim, cache: {}, @@ -5384,6 +6248,9 @@ Polymer.marshalNodeReferences = function(inRoot) { var name = element.options.name; stylizer.cacheDefinition(element); stylizer.shimPolyfillDirectives(element.styles, name); + if (Polymer.strictPolyfillStyling) { + stylizer.applyScopeToContent(element.templateContent, name); + } stylizer.applyShimming(stylizer.stylesForElement(element), name); } }, @@ -5394,8 +6261,9 @@ Polymer.marshalNodeReferences = function(inRoot) { } }, applyShimming: function(styles, name) { - this.shimAtHost(styles, name); - this.shimScoping(styles, name); + var cssText = this.shimAtHost(styles, name); + cssText += this.shimScoping(styles, name); + this.addCssToDocument(cssText); }, cacheDefinition: function(element) { var name = element.options.name; @@ -5406,6 +6274,16 @@ Polymer.marshalNodeReferences = function(inRoot) { element.templateContent = content; stylizer.cache[name] = element; }, + applyScopeToContent: function(root, name) { + if (root) { + forEach(root.querySelectorAll("*"), function(node) { + node.setAttribute(name, ""); + }); + forEach(root.querySelectorAll("template"), function(template) { + this.applyScopeToContent(templateContent(template), name); + }, this); + } + }, stylesForElement: function(element) { var styles = element.styles; var shadow = element.templateContent && element.templateContent.querySelector("shadow"); @@ -5433,20 +6311,20 @@ Polymer.marshalNodeReferences = function(inRoot) { }, shimAtHost: function(styles, name) { if (styles) { - var cssText = this.convertAtHostStyles(styles, name); - this.addCssToDocument(cssText); + return this.convertAtHostStyles(styles, name); } }, shimScoping: function(styles, name) { if (styles) { - this.applyPseudoScoping(styles, name); + return this.convertScopedStyles(styles, name); } }, convertPolyfillDirectives: function(cssText, name) { - var r = "", l = 0, matches; + var r = "", l = 0, matches, selector; while (matches = this.cssPolyfillCommentRe.exec(cssText)) { r += cssText.substring(l, matches.index); - r += matches[1].slice(0, -2) + "{"; + selector = matches[1].slice(0, -2).replace(this.hostRe, name); + r += this.scopeSelector(selector, name) + "{"; l = this.cssPolyfillCommentRe.lastIndex; } r += cssText.substring(l, cssText.length); @@ -5479,38 +6357,42 @@ Polymer.marshalNodeReferences = function(inRoot) { return r; }, scopeHostSelector: function(selector, name) { - var r = [], parts = selector.split(","); + var r = [], parts = selector.split(","), is = "[is=" + name + "]"; parts.forEach(function(p) { p = p.trim(); - if (p.indexOf("*") >= 0) { - p = p.replace("*", name); + if (p.match(this.hostElementRe)) { + p = p.replace(this.hostElementRe, name + "$1$3, " + is + "$1$3"); } else if (p.match(this.hostFixableRe)) { - p = name + p; + p = name + p + ", " + is + p; } r.push(p); }, this); return r.join(", "); }, - applyPseudoScoping: function(styles, name) { + convertScopedStyles: function(styles, name) { forEach(styles, function(s) { if (s.parentNode) { s.parentNode.removeChild(s); } }); var cssText = this.stylesToCssText(styles).replace(this.hostRuleRe, ""); + cssText = this.convertPseudos(cssText); var rules = this.cssToRules(cssText); - var cssText = this.pseudoScopeRules(rules, name); - this.addCssToDocument(cssText); + cssText = this.scopeRules(rules, name); + return cssText; }, - pseudoScopeRules: function(cssRules, name) { + convertPseudos: function(cssText) { + return cssText.replace(this.cssPseudoRe, " [pseudo=$1]"); + }, + scopeRules: function(cssRules, name) { var cssText = ""; forEach(cssRules, function(rule) { if (rule.selectorText && rule.style && rule.style.cssText) { - cssText += this.pseudoScopeSelector(rule.selectorText, name) + " {\n "; - cssText += rule.style.cssText + "\n}\n\n"; + cssText += this.scopeSelector(rule.selectorText, name, Polymer.strictPolyfillStyling) + " {\n "; + cssText += this.propertiesFromRule(rule) + "\n}\n\n"; } else if (rule.media) { cssText += "@media " + rule.media.mediaText + " {\n"; - cssText += this.pseudoScopeRules(rule.cssRules, name); + cssText += this.scopeRules(rule.cssRules, name); cssText += "\n}\n\n"; } else if (rule.cssText) { cssText += rule.cssText + "\n\n"; @@ -5518,13 +6400,46 @@ Polymer.marshalNodeReferences = function(inRoot) { }, this); return cssText; }, - pseudoScopeSelector: function(selector, name) { + propertiesFromRule: function(rule) { + var properties = rule.style.cssText; + if (rule.style.content && !rule.style.content.match(/['"]+/)) { + properties = "content: '" + rule.style.content + "';\n" + rule.style.cssText.replace(/content:[^;]*;/g, ""); + } + return properties; + }, + selectorNeedsScoping: function(selector, name) { + var matchScope = "(" + name + "|\\[is=" + name + "\\])"; + var selectorRe = new RegExp("^" + matchScope + this.selectorReSuffix, "m"); + return !selector.match(selectorRe); + }, + scopeSelector: function(selector, name, strict) { var r = [], parts = selector.split(","); parts.forEach(function(p) { - r.push(name + " " + p.trim()); - }); + p = p.trim(); + if (this.selectorNeedsScoping(p, name)) { + p = strict ? this.applyStrictSelectorScope(p, name) : this.applySimpleSelectorScope(p, name); + } + r.push(p); + }, this); return r.join(", "); }, + applySimpleSelectorScope: function(selector, name) { + return name + " " + selector + ", " + "[is=" + name + "] " + selector; + }, + applyStrictSelectorScope: function(selector, name) { + var splits = [ " ", ">", "+", "~" ], scoped = selector, attrName = "[" + name + "]"; + splits.forEach(function(sep) { + var parts = scoped.split(sep); + scoped = parts.map(function(p) { + var t = p.trim(); + if (t && splits.indexOf(t) < 0 && t.indexOf(attrName) < 0) { + p = t.replace(/([^:]*)(:*)(.*)/, "$1" + attrName + "$2$3"); + } + return p; + }).join(sep); + }); + return scoped; + }, stylesToCssText: function(styles, preserveComments) { var cssText = ""; forEach(styles, function(s) { @@ -5560,20 +6475,23 @@ Polymer.marshalNodeReferences = function(inRoot) { getSheet: function() { if (!this.sheet) { this.sheet = document.createElement("style"); + this.sheet.setAttribute("polymer-polyfill", ""); } return this.sheet; }, - apply: function() { + addSheetToDocument: function() { this.addCssToDocument("style { display: none !important; }\n"); - document.head.appendChild(this.getSheet()); + var head = document.querySelector("head"); + head.insertBefore(this.getSheet(), head.childNodes[0]); } }; - document.addEventListener("WebComponentsReady", function() { - stylizer.apply(); - }); + if (window.ShadowDOMPolyfill) { + stylizer.addSheetToDocument(); + } Polymer.shimStyling = stylizer.shimStyling; Polymer.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; Polymer.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); + Polymer.strictPolyfillStyling = false; })(window); (function() { diff --git a/polymer.sandbox.min.js.map b/polymer.sandbox.min.js.map index c1687a9879..2d7b06c17a 100644 --- a/polymer.sandbox.min.js.map +++ b/polymer.sandbox.min.js.map @@ -1 +1 @@ -{"version":3,"file":"polymer.sandbox.min.js","sources":["platform/platform.sandbox.min.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.js","src/polymerSyntaxMDV.js","src/attrs.js","src/marshal.js","src/events.js","src/observeProperties.js","src/styling.js","src/shimStyling.js","src/path.js","src/job.js","src/boot.js"],"names":["PointerGestureEvent","a","b","c","d","document","createEvent","e","bubbles","cancelable","Object","keys","forEach","initEvent","preventTap","this","window","Platform","logFlags","flags","location","search","slice","split","shadow","shadowdom","polyfill","HTMLElement","prototype","webkitCreateShadowRoot","SideTable","WeakMap","navigator","userAgent","indexOf","defineProperty","hasOwnProperty","Date","getTime","name","Math","random","set","value","writable","get","call","delete","ShadowDOMPolyfill","Error","getOwnPropertyNames","getOwnPropertyDescriptor","__proto__","getPrototypeOf","y","f","m","j","h","g","A","__lookupGetter__","B","impl","apply","arguments","configurable","enumerable","i","k","l","create","constructor","n","z","EventTarget","Event","DOMImplementation","o","E","D","F","C","p","x","q","r","s","t","u","v","w","test","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","J","ShadowRoot","localName","shadowRoot","parentNode","defaultView","I","length","shift","insertionParent","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","L","type","renderAllPending","Document","P","NONE","N","defaultPrevented","CAPTURING_PHASE","AT_TARGET","R","BUBBLING_PHASE","K","H","relatedTarget","O","M","removed","capture","handler","handleEvent","onerror","message","console","error","Q","Boolean","S","G","ab","_","db","eb","equals","remove","eventPhase","stopPropagation","stopImmediatePropagation","T","U","V","W","initMouseEvent","X","initFocusEvent","Y","Z","$","initMutationEvent","relatedNode","MouseEvent","bb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","cb","Element","addEventListener","addEventListener_","removeEventListener","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","NodeList","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","ownerDocument","createTextNode","childNodes","cloneNode","querySelector","querySelectorAll","firstElementChild","matches","nextElementSibling","getElementsByTagName","getElementsByClassName","getElementsByTagNameNS","namespaceURI","GetElementsByInterface","SelectorsInterface","lastElementChild","childElementCount","children","previousElementSibling","ChildNodeInterface","ParentNodeInterface","CharacterData","data","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector","createShadowRoot","getRendererForHost","setAttribute","replace","tagName","toLowerCase","attributes","TEXT_NODE","nodeValue","COMMENT_NODE","createElement","innerHTML","area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","outerHTML","getInnerHTML","setInnerHTML","HTMLContentElement","select","getAttribute","String","olderShadowRoot_","HTMLShadowElement","olderShadowRoot","implementation","createHTMLDocument","HTMLTemplateElement","content","HTMLUnknownElement","createComment","Comment","DocumentFragment","Text","nextOlderShadowTreeTable","getElementById","filter","trim","render","host","dirty","associateNode","RegExp","join","treeComposition","removeAllChildNodes","renderNode","invalidate","renderInsertionPoint","renderShadowInsertionPoint","renderAsAnyDomTree","renderFallbackContent","getDistributedNodes","visual","adoptNode","write","HTMLBodyElement","HTMLDocument","HTMLHeadElement","getComputedStyle","map","MutationObserver","WebKitMutationObserver","MutationRecord","addedNodes","removedNodes","observe","disconnect","takeRecords","applet","audio","body","canvas","dl","datalist","dir","div","fieldset","font","form","frame","frameset","head","h1","html","iframe","li","label","legend","menu","menuitem","meter","del","ol","object","optgroup","option","output","pre","progress","script","span","style","caption","table","tr","thead","tbody","textarea","title","ul","video","knownElements","defineProperties","webkitShadowRoot","templateContent","bootstrap","_content","Function","bind","Array","DOMTokenList","add","toggle","HTMLCollection","performance","now","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","createDOM","Inspector","sinspect","open","api","shadowize","href","idx","onclick","preventDefault","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","path","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","isNaN","concat","testingResults","anyChanged","close","deliver","deliverChangeRecords","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","splice","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","ArrayObserver","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","fb","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","gb","hb","pb","hasAttribute","qb","rb","decorate","vb","ob","tb","yb","ref","Ab","Bb","mb","combinator","ib","jb","Cb","Db","abandon","lb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","sb","HTMLSelectElement","kb","nb","template","repeat","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","ub","wb","templateIsDecorated_","xb","zb","createInstance","__instanceCreated","syntax","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","HTMLImports","callbacks","load","next","nextContext","parent","postMessage","url","bust","debug","receive","err","resource","xhr","_URL","baseURI","documents","cache","preloadSelectors","loaded","preload","addNodes","resolvePathsInHTML","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","_resolvePathsInHTML","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","match","code","eval","copyProperty","getPropertyDescriptor","HTMLElementElement","__componentScript","selectors","parse","__parsed","parseLink","parseScript","parseStyle","parseElement","parser","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_TYPE","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","abs","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","lastTouches","POINTER_ID","global","mouseHandler","isEventSimulatedFromTouch","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","pointerEnabled","msPointerEnabled","msMaxTouchPoints","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","$class","inExtends","inProperties","super","basePrototype","extend","$super","inBasePrototype","getPropertyDescriptors","inObject","descriptors","inArgs","caller","nom","_nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","inValue","inObj","obj","inSource","inElement","inPrototype","Polymer","elementElement","addResolvePath","installTemplate","staticInstallTemplate","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","findDistributedTarget","inNodes","scope","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","trackingTable","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","key","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","getBinding","property","propertyForAttribute","unbindModel","child","mustachePattern","bindPattern","Scope","repeatPattern","createBindRepeatBinding","scopeName","scopePath","templateScopeTable","createStringIfTruthyBinding","scopeInfo","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","defaultValue","deserializeValue","properties","lowerCase","inferredType","float","parseFloat","nodes","prefix","inAttributes","eventDelegates","parseEvents","inNode","inEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","bindAccumulatedEvents","inListener","listenHost","listenLocal","findController","inHandlerName","inEvent","cancelBubble","on","listenLocalPolyfill","some","handleHostEvent","eventHandledTable","getHandledListForEvent","handledList","findHostHandler","inEventName","OBSERVE_SUFFIX","observeProperty","isObservable","inNew","inOld","propertyChanged","inOldValue","doc","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","sheet","fragment","createStyleElementFromSheet","applyStylesToScope","findStyles","installControllerStyles","controllerStyles","styles","queue","findStyleController","shimPolyfillDirectives","list","inFn","queueFlush","flushing","eltProto","matchesSelector","inSelector","descriptor","styleList","selector","matcher","STYLE_SELECTOR","arrayFromNodeList","templateNodes","nodeList","stylizer","hostRuleRe","selectorRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","selectorReSuffix","hostRe","cacheDefinition","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","cssText","convertAtHostStyles","addCssToDocument","applyPseudoScoping","substring","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","rules","pseudoScopeRules","pseudoScopeSelector","media","mediaText","preserveComments","stripCssComments","css","getSheet","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","stop","complete","inJob","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"polymer.sandbox.min.js","sources":["../platform/platform.sandbox.min.js","src/build.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.js","src/attrs.js","src/marshal.js","src/events.js","src/observeProperties.js","src/styling.js","src/shimStyling.js","src/path.js","src/job.js","src/boot.js"],"names":["PointerGestureEvent","a","b","c","d","document","createEvent","e","bubbles","cancelable","Object","keys","forEach","initEvent","preventTap","this","window","Platform","logFlags","flags","location","search","slice","split","shadow","shadowdom","polyfill","HTMLElement","prototype","webkitCreateShadowRoot","SideTable","WeakMap","navigator","userAgent","indexOf","defineProperty","hasOwnProperty","Date","getTime","name","Math","random","set","value","writable","get","call","delete","ShadowDOMPolyfill","Error","getOwnPropertyNames","getOwnPropertyDescriptor","__proto__","getPrototypeOf","z","f","n","k","i","g","h","test","B","__lookupGetter__","C","j","impl","apply","arguments","getEventHandlerGetter","getEventHandlerSetter","configurable","enumerable","l","m","create","constructor","o","A","EventTarget","Event","DOMImplementation","p","F","E","G","D","q","y","r","s","t","u","v","w","x","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","M","ShadowRoot","localName","shadowRoot","parentNode","defaultView","L","length","shift","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","insertionParentTable","O","type","renderAllPending","Document","W","S","NONE","Q","defaultPrevented","CAPTURING_PHASE","AT_TARGET","U","BUBBLING_PHASE","N","K","relatedTarget","R","P","removed","capture","handler","handleEvent","onerror","message","console","error","T","Boolean","X","I","J","fb","eb","H","ib","jb","V","removeEventListener","wrapped","preventDefault","returnValue","addEventListener","equals","remove","eventPhase","path","NodeList","stopPropagation","stopImmediatePropagation","Y","Z","$","_","initMouseEvent","ab","initFocusEvent","bb","cb","db","initMutationEvent","relatedNode","MouseEvent","gb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","hb","Element","addEventListener_","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","ownerDocument","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","createTextNode","childNodes","cloneNode","querySelector","querySelectorAll","firstElementChild","matches","nextElementSibling","getElementsByTagName","getElementsByClassName","getElementsByTagNameNS","namespaceURI","GetElementsByInterface","SelectorsInterface","lastElementChild","childElementCount","children","previousElementSibling","ChildNodeInterface","ParentNodeInterface","CharacterData","data","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector","createShadowRoot","getRendererForHost","setAttribute","replace","tagName","toLowerCase","attributes","TEXT_NODE","nodeValue","COMMENT_NODE","createElement","innerHTML","area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","outerHTML","getInnerHTML","setInnerHTML","HTMLContentElement","select","getAttribute","String","olderShadowRoot_","HTMLShadowElement","olderShadowRoot","implementation","createHTMLDocument","HTMLTemplateElement","content","HTMLUnknownElement","createComment","Comment","DocumentFragment","Text","nextOlderShadowTreeTable","getElementById","filter","trim","render","host","dirty","associateNode","RegExp","join","treeComposition","removeAllChildNodes","renderNode","invalidate","renderInsertionPoint","renderShadowInsertionPoint","renderAsAnyDomTree","renderFallbackContent","getDistributedNodes","visual","adoptNode","write","HTMLBodyElement","HTMLDocument","HTMLHeadElement","getComputedStyle","map","MutationObserver","WebKitMutationObserver","MutationRecord","addedNodes","removedNodes","observe","disconnect","takeRecords","applet","audio","body","canvas","dl","datalist","dir","div","fieldset","font","form","frame","frameset","head","h1","html","iframe","li","label","legend","menu","menuitem","meter","del","ol","object","optgroup","option","output","pre","progress","script","span","style","caption","table","tr","thead","tbody","textarea","title","ul","video","knownElements","defineProperties","webkitShadowRoot","templateContent","bootstrap","_content","Function","bind","Array","DOMTokenList","add","toggle","HTMLCollection","performance","now","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","createDOM","Inspector","sinspect","open","api","shadowize","href","idx","onclick","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","deliverChangeRecords","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","splice","JSON","stringify","concat","isNaN","testingResults","anyChanged","close","deliver","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","hasObjectObserve","ArrayObserver","calculateSplices","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","lb","hasAttribute","mb","nb","decorate","rb","kb","pb","ub","xb","bindingDelegate","ob","yb","zb","combinator","Ab","Bb","abandon","wb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","template","repeat","ref","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","qb","sb","templateIsDecorated_","tb","vb","createInstance","__instanceCreated","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","define","amd","exports","esprima","fromCharCode","charCodeAt","Identifier","Keyword","NullLiteral","BooleanLiteral","range","Punctuator","UnexpectedToken","NumericLiteral","parseFloat","StringLiteral","octal","EOF","description","createArrayExpression","createLiteral","createIdentifier","createProperty","createObjectExpression","createThisExpression","createCallExpression","createMemberExpression","createUnaryExpression","allowIn","prec","createBinaryExpression","createConditionalExpression","createEmptyStatement","createExpressionStatement","labelSet","Redeclaration","createLabeledStatement","createProgram","valueOf","ArrayExpression","BinaryExpression","CallExpression","ConditionalExpression","EmptyStatement","ExpressionStatement","Literal","LabeledStatement","LogicalExpression","MemberExpression","ObjectExpression","Program","Property","ThisExpression","UnaryExpression","UnknownLabel","parse","match","statements","labeledStatements","deps","last","currentPath","getPath","valueFn","+","-","!","*","/","%","<",">","<=",">=","==","!=","===","!==","&&","||","getFn","key","getBinding","ExpressionSyntax","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","HTMLImports","callbacks","load","next","nextContext","parent","postMessage","url","bust","debug","receive","err","resource","xhr","_URL","baseURI","documents","cache","preloadSelectors","loader","loaded","preload","filterMainDocumentNodes","extractTemplateNodes","addNodes","resolvePathsInHTML","import","ownerNode","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","IMPORT_LINK_TYPE","selectors","__importParsed","parseLink","parseGeneric","parseScript","floor","eval","parser","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","code","HTMLElementElement","__componentScript","__parsed","parseImport","parseElement","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_ID","POINTER_TYPE","global","lastTouches","mouseHandler","isEventSimulatedFromTouch","abs","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","mouseEvents","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","touchEvents","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","msEvents","pointerEnabled","msPointerEnabled","msMaxTouchPoints","ontouchstart","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","Polymer","scope","$super","inArgs","caller","nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","_nom","inValue","n$","inElement","inPrototype","elementElement","addResolvePath","installTemplate","super","staticInstallTemplate","hintSuper","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","expressionSyntax","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","asyncUnbindAll","cancelUnbindAll","inserted","attributeChanged","findDistributedTarget","inNodes","isPolymerElement","preventCascade","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","trackingTable","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","property","propertyForAttribute","isElementUnbound","unbindNodeTree","markElementUnbound","olderShadows","forNodeTree","child","unboundTable","unbindAllJobTable","unbindJob","stop","parseAndBindHTML","mustachePattern","bindPattern","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","typeHandlers","string","date","boolean","number","floatVal","inferredType","nodes","prefix","inAttributes","eventDelegates","parseEvents","inNode","inEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","bindAccumulatedEvents","inListener","listenHost","listenLocal","findController","inHandlerName","inEvent","cancelBubble","on","listenLocalNoEventPath","some","handleHostEvent","eventHandledTable","getHandledListForEvent","handledList","findHostHandler","inEventName","OBSERVE_SUFFIX","observeProperty","isObservable","inNew","inOld","propertyChanged","inOldValue","doc","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","cssText","sheet","cssTextFromSheet","createStyleElement","applyStyleToScope","styleFromElement","STYLE_GLOBAL_SCOPE","installControllerStyles","controllerStyle","STYLE_CONTROLLER_SCOPE","styleElement","findStyleController","scopeHasElementStyle","shimPolyfillDirectives","descriptor","STYLE_SCOPE_ATTRIBUTE","cssTextFromElement","selector","matcher","matchesSelector","styles","STYLE_SELECTOR","arrayFromNodeList","templateNodes","clone","eltProto","inSelector","nodeList","stylizer","hostRuleRe","selectorRe","hostElementRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","cssPseudoRe","selectorReSuffix","hostRe","cacheDefinition","strictPolyfillStyling","applyScopeToContent","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","addCssToDocument","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","convertAtHostStyles","convertScopedStyles","substring","scopeSelector","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","convertPseudos","rules","scopeRules","propertiesFromRule","media","mediaText","selectorNeedsScoping","matchScope","strict","applyStrictSelectorScope","applySimpleSelectorScope","splits","scoped","sep","preserveComments","stripCssComments","css","getSheet","addSheetToDocument","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","complete","inJob","webkitTransition","opacity"],"mappings":"AA2BA,SAASA,oBAAoBC,GAAEC;IAAG,IAAIC,IAAED,SAAME,IAAEC,SAASC,YAAY,UAASC;QAAGC,UAAS;QAAEC,aAAY;;IAAG,OAAOC,OAAOC,KAAKJ,GAAGK,QAAQ,SAASX;QAAGA,KAAKE,MAAII,EAAEN,KAAGE,EAAEF;QAAMG,EAAES,UAAUZ,GAAEM,EAAEC,SAAQD,EAAEE,aAAYC,OAAOC,KAAKR,GAAGS,QAAQ,SAASX;QAAGG,EAAEH,KAAGC,EAAED;QAAKG,EAAEU,aAAWC,KAAKD,YAAWV;;;AAAE,IAAGY,OAAOC,WAASD,OAAOC,gBAAaD,OAAOE,WAASF,OAAOE;AAAa,SAASjB;IAAG,IAAIC,IAAED,EAAEkB;IAAUC,SAASC,OAAOC,MAAM,GAAGC,MAAM,KAAKX,QAAQ,SAASX;QAAGA,IAAEA,EAAEsB,MAAM,MAAKtB,EAAE,OAAKC,EAAED,EAAE,MAAIA,EAAE,OAAK;QAAKC,EAAEsB,UAAQtB,EAAEuB,aAAWvB,EAAEsB,UAAQtB,EAAEwB,aAAWC,YAAYC,UAAUC,2BAAyB;IAAW5B,EAAEkB,QAAMjB;EAAGe,WAAU,eAAaA,SAASE,MAAMK,QAAO;IAAC,IAAIM;IAAU,sBAAoBC,WAASC,UAAUC,UAAUC,QAAQ,cAAY,IAAEJ,YAAUC,UAAQ;QAAW,IAAI9B,IAAES,OAAOyB,gBAAejC,IAAEQ,OAAO0B,gBAAejC,IAAE,IAAKkC,OAAMC,YAAU;QAAIR,YAAU;YAAWf,KAAKwB,OAAK,UAAQ,MAAIC,KAAKC,aAAW,MAAItC,MAAK;WAAO2B,UAAUF;YAAWc,KAAI,SAASxC,GAAEC;gBAAGF,EAAEC,GAAEa,KAAKwB;oBAAMI,OAAMxC;oBAAEyC,WAAU;;;YAAKC,KAAI,SAAS5C;gBAAG,OAAOC,EAAE4C,KAAK7C,GAAEc,KAAKwB,QAAMtC,EAAEc,KAAKwB,aAAW;;YAAGQ,UAAS,SAAS9C;gBAAGc,KAAK2B,IAAIzC,QAAO;;;;IAAQ,IAAI+C;KAAsB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,KAAIA,GAAE,MAAM,IAAIgD,MAAM;;QAAoB,SAAS9C,EAAEF,GAAEC;YAAG,OAAOQ,OAAOwC,oBAAoBhD,GAAGU,QAAQ,SAAST;gBAAGO,OAAOyB,eAAelC,GAAEE,GAAEO,OAAOyC,yBAAyBjD,GAAEC;gBAAMF;;QAAE,SAASG,EAAEH,GAAEC;YAAG,OAAOQ,OAAOwC,oBAAoBhD,GAAGU,QAAQ,SAAST;gBAAG,QAAOA;kBAAG,KAAI;kBAAY,KAAI;kBAAS,KAAI;kBAAS,KAAI;kBAAO,KAAI;kBAAY,KAAI;oBAAW;;gBAAOO,OAAOyB,eAAelC,GAAEE,GAAEO,OAAOyC,yBAAyBjD,GAAEC;gBAAMF;;QAAE,SAASM,EAAEN;YAAG,IAAIC,IAAED,EAAEmD,aAAW1C,OAAO2C,eAAepD,IAAGE,IAAEmD,EAAET,IAAI3C;YAAG,IAAGC,GAAE,OAAOA;YAAE,IAAIC,IAAEG,EAAEL,IAAGqD,IAAEC,EAAEpD;YAAG,OAAOqD,EAAEvD,GAAEqD,GAAEtD,IAAGsD;;QAAE,SAASA,EAAEtD,GAAEC;YAAGwD,EAAEzD,GAAEC,IAAG;;QAAG,SAASyD,EAAE1D,GAAEC;YAAGwD,EAAExD,GAAED,IAAG;;QAAG,SAAS2D,EAAE3D;YAAG,OAAM,aAAa4D,KAAK5D;;QAAG,SAASyD,EAAExD,GAAEC,GAAEC;YAAGM,OAAOwC,oBAAoBhD,GAAGU,QAAQ,SAASL;gBAAG,MAAKA,KAAKJ,IAAG;oBAAC2D,KAAG5D,EAAE6D,iBAAiBxD;oBAAG,IAAIgD;oBAAE;wBAAIA,IAAE7C,OAAOyC,yBAAyBjD,GAAEK;sBAAG,OAAMoD;wBAAGJ,IAAES;;oBAAE,IAAIN,GAAEO;oBAAE,IAAG7D,KAAG,qBAAmBmD,EAAEZ,OAAM,OAAOxC,EAAEI,KAAG;wBAAW,OAAOQ,KAAKmD,KAAK3D,GAAG4D,MAAMpD,KAAKmD,MAAKE;4BAAiB;oBAAE,IAAIX,IAAEG,EAAErD;oBAAGmD,IAAED,IAAExD,EAAEoE,sBAAsB9D,KAAG;wBAAW,OAAOQ,KAAKmD,KAAK3D;wBAAKgD,EAAEX,YAAUW,EAAEb,SAAOuB,IAAER,IAAExD,EAAEqE,sBAAsB/D,KAAG,SAASN;wBAAGc,KAAKmD,KAAK3D,KAAGN;wBAAIS,OAAOyB,eAAehC,GAAEI;wBAAGsC,KAAIa;wBAAEhB,KAAIuB;wBAAEM,cAAahB,EAAEgB;wBAAaC,YAAWjB,EAAEiB;;;;;QAAgB,SAASP,EAAEhE,GAAEC,GAAEC;YAAG,IAAII,IAAEN,EAAE2B;YAAU6B,EAAElD,GAAEL,GAAEC,IAAGC,EAAEF,GAAED;;QAAG,SAASwD,EAAExD,GAAEE,GAAEC;YAAG,IAAIG,IAAEJ,EAAEyB;YAAU1B,OAAO,MAAIoD,EAAET,IAAI5C,KAAIqD,EAAEZ,IAAIzC,GAAEE,IAAGoD,EAAEtD,GAAEM,IAAGH,KAAGuD,EAAEpD,GAAEH;;QAAG,SAASqE,EAAExE,GAAEC;YAAG,OAAOoD,EAAET,IAAI3C,EAAE0B,eAAa3B;;QAAE,SAASyE,EAAEzE;YAAG,IAAIC,IAAEQ,OAAO2C,eAAepD,IAAGE,IAAEI,EAAEL,IAAGE,IAAEoD,EAAErD;YAAG,OAAOsD,EAAEvD,GAAEE,GAAEH,IAAGG;;QAAE,SAASoD,EAAEvD;YAAG,SAASC,EAAEA;gBAAGD,EAAE6C,KAAK/B,MAAKb;;YAAG,OAAOA,EAAE0B,YAAUlB,OAAOiE,OAAO1E,EAAE2B,YAAW1B,EAAE0B,UAAUgD,cAAY1E,GAAEA;;QAAE,SAAS2E,EAAE5E;YAAG,OAAOA,aAAa6E,EAAEC,eAAa9E,aAAa6E,EAAEE,SAAO/E,aAAa6E,EAAEG;;QAAkB,SAASC,EAAEjF;YAAG,OAAOA,aAAakF,KAAGlF,aAAamF,KAAGnF,aAAaoF,KAAGpF,aAAaqF;;QAAE,SAASC,EAAEtF;YAAG,IAAG,SAAOA,GAAE,OAAO;YAAKC,EAAEgF,EAAEjF;YAAI,IAAIE,IAAEqF,EAAE3C,IAAI5C;YAAG,KAAIE,GAAE;gBAAC,IAAIC,IAAEG,EAAEN;gBAAGE,IAAE,IAAIC,EAAEH,IAAGuF,EAAE9C,IAAIzC,GAAEE;;YAAG,OAAOA;;QAAE,SAASsF,EAAExF;YAAG,OAAO,SAAOA,IAAE,QAAMC,EAAE2E,EAAE5E,KAAIA,EAAEiE;;QAAM,SAASwB,EAAEzF;YAAG,OAAOA,KAAG4E,EAAE5E,KAAGwF,EAAExF,KAAGA;;QAAE,SAAS0F,EAAE1F;YAAG,OAAOA,MAAI4E,EAAE5E,KAAGsF,EAAEtF,KAAGA;;QAAE,SAAS2F,EAAE3F,GAAEE;YAAG,SAAOA,MAAID,EAAEgF,EAAEjF,KAAIC,OAAO,MAAIC,KAAG0E,EAAE1E,KAAIqF,EAAE9C,IAAIzC,GAAEE;;QAAI,SAAS0F,EAAE5F,GAAEC,GAAEC;YAAGO,OAAOyB,eAAelC,EAAE2B,WAAU1B;gBAAG2C,KAAI1C;gBAAEoE,eAAc;gBAAEC,aAAY;;;QAAI,SAASsB,EAAE7F,GAAEC;YAAG2F,EAAE5F,GAAEC,GAAE;gBAAW,OAAOqF,EAAExE,KAAKmD,KAAKhE;;;QAAM,SAAS6F,EAAE9F,GAAEC;YAAGD,EAAEW,QAAQ,SAASX;gBAAGC,EAAEU,QAAQ,SAASV;oBAAGD,EAAE2B,UAAU1B,KAAG;wBAAW,IAAID,IAAEsF,EAAExE;wBAAM,OAAOd,EAAEC,GAAGiE,MAAMlE,GAAEmE;;;;;QAAgB,IAAIoB,IAAE,IAAI1D,aAAUwB,IAAE,IAAIxB,aAAUgD,IAAEpE,OAAOiE,OAAO;QAAMjE,OAAOwC,oBAAoBlC;QAAQ,IAAI8C,IAAE,UAAUD,KAAK7B,UAAUC,YAAW+B;YAAGnB,KAAI;YAAaH,KAAI;YAAa6B,eAAc;YAAEC,aAAY;WAAGc,IAAEL,mBAAkBG,IAAEJ,OAAMG,IAAEa,MAAKX,IAAEY;QAAOhG,EAAEiG,SAAOhG,GAAED,EAAEkG,eAAaN,GAAE5F,EAAEmG,mBAAiBN,GAAE7F,EAAEoG,0BAAwBN;QAAE9F,EAAEqG,eAAa7B,GAAExE,EAAEsG,QAAMpG,GAAEF,EAAEuG,iBAAe9B,GAAEzE,EAAEwG,kBAAgBxC,GAAEhE,EAAEyG,SAAOd;QAAE3F,EAAE0G,SAAOlB,GAAExF,EAAE2G,iBAAelB,GAAEzF,EAAE4G,OAAKtB,GAAEtF,EAAE6G,eAAanB,GAAE1F,EAAE8G,WAASjC;MAAG/D,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,OAAOA,aAAa+G,EAAEC;;QAAW,SAAS9G,EAAEF;YAAG,IAAIC,IAAED,EAAEiH;YAAU,OAAM,cAAYhH,KAAG,aAAWA;;QAAE,SAASE,EAAEH;YAAG,SAAQA,EAAEkH;;QAAW,SAAS5G,EAAEN;YAAG,IAAIC;YAAE,OAAOD,EAAEmH,eAAalH,IAAED,EAAEoH,gBAAcC,EAAEpH,MAAI;;QAAK,SAASqD,EAAEA,GAAEI,GAAEC;YAAG,IAAGA,EAAE2D,QAAO,OAAO3D,EAAE4D;YAAQ,IAAGtH,EAAEqD,IAAG,OAAOU,EAAEV,MAAItD,EAAEwH,qBAAqBlE;YAAG,IAAIG,IAAEzD,EAAEyH,kBAAkB7E,IAAIU;YAAG,IAAGG,GAAE;gBAAC,KAAI,IAAID,IAAE,GAAEA,IAAEC,EAAE6D,QAAO9D,KAAIG,EAAEH,IAAE,KAAGC,EAAED;gBAAG,OAAOC,EAAE;;YAAG,IAAGC,KAAGxD,EAAEoD,IAAG;gBAAC,IAAIkB,IAAElB,EAAE6D;gBAAW,IAAG3C,KAAGrE,EAAEqE,IAAG,KAAI,IAAIC,IAAEzE,EAAE0H,eAAelD,IAAGjB,IAAES,EAAEN,IAAGF,IAAE,GAAEA,IAAEiB,EAAE6C,QAAO9D,KAAI,IAAGiB,EAAEjB,GAAGmE,SAASpE,IAAG,OAAOA;;YAAE,OAAOjD,EAAEgD;;QAAG,SAASI,EAAE1D;YAAG,KAAI,IAAIG,QAAKG,IAAEN,GAAE0D,QAAKD,QAAKnD,KAAG;gBAAC,IAAI0D,IAAE;gBAAK,IAAG9D,EAAEI,IAAG;oBAAC0D,IAAEL,EAAExD;oBAAG,IAAIqD,IAAErD,EAAEA,EAAEmH,SAAO,MAAIhH;oBAAEH,EAAEyH,KAAKpE;uBAAQrD,EAAEmH,UAAQnH,EAAEyH,KAAKtH;gBAAG,IAAIkE,IAAErE,EAAEA,EAAEmH,SAAO;gBAAG5D,EAAEkE;oBAAMC,QAAOrD;oBAAEsD,eAAcxH;oBAAIL,EAAEK,MAAIH,EAAE4H,OAAMzH,IAAEgD,EAAEhD,GAAE0D,GAAEP;;YAAG,OAAOC;;QAAE,SAASC,EAAE3D;YAAG,KAAI,IAAIC,IAAED,EAAEsH,SAAO,GAAErH,KAAG,GAAEA,KAAI,KAAIC,EAAEF,EAAEC,KAAI,OAAOD,EAAEC;YAAG,OAAO;;QAAK,SAASwD,EAAEtD,GAAEG;YAAG,KAAI,IAAIoD,QAAKvD,KAAG;gBAAC,KAAI,IAAIsD,QAAKO,IAAE1D,GAAEkE,SAAO,GAAER,KAAG;oBAAC,IAAIT,IAAE;oBAAK,IAAGE,EAAE6D,QAAO;wBAAC,IAAGpH,EAAE8D,OAAKT,IAAEI,EAAEF,IAAGD,EAAEgB,KAAI;4BAAC,IAAII,IAAEnB,EAAEA,EAAE6D,SAAO;4BAAG7D,EAAEmE,KAAKhD;;2BAASnB,EAAEmE,KAAK5D;oBAAG,IAAGS,EAAET,GAAE7D,IAAG,OAAOsD,EAAEA,EAAE6D,SAAO;oBAAGrH,EAAE+D,MAAIP,EAAEsE,OAAMvD,IAAER,GAAEA,IAAEV,EAAEU,GAAET,GAAEG;;gBAAGvD,IAAEF,EAAEE,KAAGH,EAAEwH,qBAAqBrH,KAAGA,EAAEgH;;;QAAY,SAASnD,EAAE/D;YAAG,OAAOD,EAAEgI,qBAAqBpF,IAAI3C;;QAAG,SAASuD,EAAExD;YAAG,OAAOgE,EAAEhE;;QAAG,SAASwE,EAAExE;YAAG,KAAI,IAAIC,GAAEA,IAAED,EAAEmH,cAAYnH,IAAEC;YAAE,OAAOD;;QAAE,SAASyE,EAAEzE,GAAEC;YAAG,OAAOuE,EAAExE,OAAKwE,EAAEvE;;QAAG,SAASsD,EAAEvD;YAAG,QAAOA;cAAG,KAAI;cAAkB,KAAI;cAA0B,KAAI;cAA2B,KAAI;cAAwB,KAAI;cAAkB,KAAI;cAA8B,KAAI;cAAiB,KAAI;cAA6B,KAAI;gBAAqB,QAAO;;YAAE,QAAO;;QAAE,SAAS4E,EAAE3E;YAAG,KAAIgI,EAAErF,IAAI3C,IAAG;gBAACgI,EAAExF,IAAIxC,IAAG,IAAGsD,EAAEtD,EAAEiI,SAAOlI,EAAEmI;gBAAmB,IAAIjI,IAAEmH,EAAEpH,EAAE4H,SAAQ1H,IAAEkH,EAAEpH;gBAAG,OAAOgF,EAAE9E,GAAED;;;QAAI,SAAS+E,EAAEjF,GAAEC;YAAG,IAAIC,IAAEwD,EAAEzD;YAAG,OAAM,WAASD,EAAEkI,QAAM,MAAIhI,EAAEoH,UAAQpH,EAAE,GAAG2H,kBAAkBd,EAAEqB,YAAUlI,EAAEqH;YAAQc,EAAE5F,IAAIzC,GAAEE,IAAGoF,EAAEtF,GAAEE,MAAIsF,EAAExF,GAAEE,MAAIuF,EAAEzF,GAAEE,IAAGoI,EAAE7F,IAAIzC,GAAE4F,EAAE2C,OAAMC,EAAE/F,IAAIzC,GAAE,OAAMA,EAAEyI;;QAAiB,SAASnD,EAAEtF,GAAEC;YAAG,KAAI,IAAIC,GAAEC,IAAEF,EAAEqH,SAAO,GAAEnH,IAAE,GAAEA,KAAI;gBAAC,IAAIG,IAAEL,EAAEE,GAAG0H,QAAOvE,IAAErD,EAAEE,GAAG2H;gBAAc,IAAGxH,MAAIgD,MAAIpD,IAAE0F,EAAE8C,kBAAiBhD,EAAEzF,EAAEE,IAAGH,GAAEE,KAAI,QAAO;;YAAE,QAAO;;QAAE,SAASsF,EAAExF,GAAEC;YAAG,IAAIC,IAAE0F,EAAE+C;YAAU,OAAOjD,EAAEzF,EAAE,IAAGD,GAAEE;;QAAG,SAASuF,EAAEzF,GAAEC;YAAG,KAAI,IAAIC,GAAEC,IAAEH,EAAEO,SAAQD,IAAE,GAAEA,IAAEL,EAAEqH,QAAOhH,KAAI;gBAAC,IAAIgD,IAAErD,EAAEK,GAAGuH,QAAOnE,IAAEzD,EAAEK,GAAGwH;gBAAc,IAAGxE,MAAII,GAAExD,IAAE0F,EAAE+C,gBAAc;oBAAC,KAAIxI,KAAGyI,EAAEhG,IAAI5C,IAAG;oBAASE,IAAE0F,EAAEiD;;gBAAe,KAAInD,EAAEzF,EAAEK,IAAGN,GAAEE,IAAG;;;QAAQ,SAASwF,EAAE1F,GAAEC,GAAEC;YAAG,IAAIC,IAAEH,EAAE6H,QAAOvH,IAAEN,EAAE8H,eAAcxE,IAAEwF,EAAElG,IAAItC;YAAG,KAAIgD,GAAE,QAAO;YAAE,IAAG,mBAAkBrD,GAAE;gBAAC,IAAIyD,IAAEqF,EAAE9I,IAAG0D,IAAE0D,EAAE3D,EAAEsF,gBAAehF,IAAEP,EAAEnD,GAAEqD;gBAAG,IAAGK,MAAI7D,GAAE,QAAO;gBAAE8I,EAAExG,IAAIxC,GAAE+D;;YAAGsE,EAAE7F,IAAIxC,GAAEC;YAAG,IAAIsD,IAAEvD,EAAEiI,MAAK1D,KAAG;YAAE0E,EAAEzG,IAAIxC,GAAEE,IAAGqI,EAAE/F,IAAIxC,GAAEK;YAAG,KAAI,IAAImE,IAAE,GAAEA,IAAEnB,EAAEgE,QAAO7C,KAAI;gBAAC,IAAIlB,IAAED,EAAEmB;gBAAG,IAAGlB,EAAE4F,SAAQ3E,KAAG,QAAO,MAAKjB,EAAE2E,SAAO1E,MAAID,EAAE6F,WAASlJ,MAAI0F,EAAE8C,mBAAiBnF,EAAE6F,WAASlJ,MAAI0F,EAAEiD,iBAAgB;oBAAI,IAAG,qBAAmBtF,EAAE8F,UAAQ9F,EAAE8F,QAAQxG,KAAKvC,GAAEL,KAAGsD,EAAE8F,QAAQC,YAAYrJ;oBAAG2I,EAAEhG,IAAI3C,IAAG,QAAO;kBAAE,OAAM2E;oBAAG7D,OAAOwI,UAAQxI,OAAOwI,QAAQ3E,EAAE4E,WAASC,QAAQC,MAAM9E;;;YAAI,IAAGJ,GAAE;gBAAC,IAAIS,IAAE3B,EAAEjC;gBAAQiC,EAAEgE,SAAO;gBAAE,KAAI,IAAI7C,IAAE,GAAEA,IAAEQ,EAAEqC,QAAO7C,KAAIQ,EAAER,GAAG0E,WAAS7F,EAAEsE,KAAK3C,EAAER;;YAAI,QAAOkF,EAAE/G,IAAI3C;;QAAG,SAAS0F,EAAE3F,GAAEC,GAAEC;YAAGY,KAAKoH,OAAKlI,GAAEc,KAAKuI,UAAQpJ,GAAEa,KAAKsI,UAAQQ,QAAQ1J;;QAAG,SAAS0F,EAAE5F,GAAEC;YAAG,OAAOD,aAAa6J,KAAG/I,KAAKmD,OAAKjE,QAAO,KAAGqH,EAAEhE,EAAEwG,GAAE,SAAQ7J,GAAEC;;QAAI,SAAS4F,EAAE7F;YAAG,OAAOA,KAAGA,EAAEgJ,gBAAcvI,OAAOiE,OAAO1E;gBAAGgJ;oBAAetG,OAAMqG,EAAE/I,EAAEgJ;;iBAAkBhJ;;QAAE,SAAS8F,EAAE9F,GAAEC,GAAEC;YAAG,IAAIC,IAAEY,OAAOf,IAAGM,IAAE,SAASL,GAAEC;gBAAG,OAAOD,aAAaE,KAAGW,KAAKmD,OAAKhE,QAAO,KAAGoH,EAAEhE,EAAElD,GAAEH,GAAEC,GAAEC;;YAAK,OAAOI,EAAEqB,YAAUlB,OAAOiE,OAAOzE,EAAE0B,YAAWzB,KAAG4J,EAAExJ,EAAEqB,WAAUzB,IAAGC,KAAG4J,EAAE5J,GAAEG,GAAEF,SAASC,YAAYL;YAAIM;;QAAE,SAASiF,EAAEvF,GAAEC;YAAG,OAAO;gBAAWkE,UAAUlE,KAAG8I,EAAE5E,UAAUlE;gBAAI,IAAIC,IAAE6I,EAAEjI;gBAAMZ,EAAEF,GAAGkE,MAAMhE,GAAEiE;;;QAAY,SAASd,EAAErD,GAAEC,GAAEC,GAAEC;YAAG,IAAG6J,IAAG,OAAO,IAAIhK,EAAEE,GAAE2F,EAAE1F;YAAI,IAAIG,IAAEyI,EAAE3I,SAASC,YAAYJ,KAAIqD,IAAE2G,GAAGhK,IAAGyD,MAAGxD;YAAG,OAAOO,OAAOC,KAAK4C,GAAG3C,QAAQ,SAASX;gBAAG,IAAIC,IAAE,QAAME,KAAGH,KAAKG,IAAEA,EAAEH,KAAGsD,EAAEtD;gBAAG,oBAAkBA,MAAIC,IAAE8I,EAAE9I,KAAIyD,EAAEkE,KAAK3H;gBAAKK,EAAE,SAAOL,GAAGiE,MAAM5D,GAAEoD,IAAGpD;;QAAE,SAASuE,EAAE7E;YAAG,OAAM,qBAAmBA,KAAG,IAAEA,KAAGA,EAAEsJ;;QAAY,SAASzF,EAAE7D;YAAGc,KAAKmD,OAAKjE;;QAAE,SAAS+D,EAAE9D;YAAG,OAAOA,aAAa8G,EAAEC,eAAa/G,IAAED,EAAEwH,qBAAqBvH,KAAI8I,EAAE9I;;QAAG,SAASoF,EAAErF;YAAGkK,EAAElK,GAAEmK;;QAAI,SAAShF,EAAElF,GAAEC,GAAEC,GAAEG;YAAGN,EAAEmI;YAAmB,KAAI,IAAI7E,IAAE+D,EAAE+C,GAAGvH,KAAK3C,EAAE+D,MAAK9D,GAAEG,KAAIqD,IAAED,EAAEJ,GAAExC,OAAM2C,IAAE,GAAEA,IAAEE,EAAE2D,QAAO7D,KAAI;gBAAC,IAAIO,IAAEL,EAAEF;gBAAG,IAAGO,EAAE8D,kBAAgB7H,GAAE,OAAO+D,EAAE6D;;YAAO,OAAO;;QAAK,SAAS3C,EAAElF;YAAG,OAAO;gBAAW,IAAIC,IAAEoK,EAAEzH,IAAI9B;gBAAM,OAAOb,KAAGA,EAAED,MAAIC,EAAED,GAAG0C,SAAO;;;QAAM,SAAS0C,EAAEpF;YAAG,IAAIC,IAAED,EAAEqB,MAAM;YAAG,OAAO,SAASnB;gBAAG,IAAIC,IAAEkK,EAAEzH,IAAI9B;gBAAMX,MAAIA,IAAEM,OAAOiE,OAAO,OAAM2F,EAAE5H,IAAI3B,MAAKX;gBAAI,IAAIG,IAAEH,EAAEH;gBAAG,IAAGM,KAAGQ,KAAKwJ,oBAAoBrK,GAAEK,EAAEiK,UAAS,IAAG,qBAAmBrK,GAAE;oBAAC,IAAIoD,IAAE,SAASrD;wBAAG,IAAIE,IAAED,EAAE2C,KAAK/B,MAAKb;wBAAGE,OAAK,IAAEF,EAAEuK,mBAAiB,qBAAmBxK,KAAG,mBAAiBG,MAAIF,EAAEwK,cAAYtK;;oBAAIW,KAAK4J,iBAAiBzK,GAAEqD,IAAG,IAAGnD,EAAEH;wBAAI0C,OAAMxC;wBAAEqK,SAAQjH;;;;;QAAK,IAAI4G,IAAElK,EAAEoG,yBAAwB0D,IAAE9J,EAAEsG,OAAMyD,IAAE/J,EAAEwG,iBAAgBuC,IAAE/I,EAAE0G,QAAOW,IAAErH,EAAE4G,MAAKG,IAAE/G,EAAE8G;QAAS,IAAIjF;QAAU,IAAIiH,IAAE,IAAIjH,aAAUoG,IAAE,IAAIpG,aAAUqH,IAAE,IAAIrH,aAAU2G,IAAE,IAAI3G,aAAUoH,IAAE,IAAIpH,aAAUyG,IAAE,IAAIzG,aAAU8H,IAAE,IAAI9H,aAAU+G,IAAE,IAAI/G,aAAUwI,IAAE,IAAIxI,aAAUwG,IAAE,IAAIxG;QAAU8D,EAAEhE;YAAWgJ,QAAO,SAAS3K;gBAAG,OAAOc,KAAKuI,YAAUrJ,EAAEqJ,WAASvI,KAAKoH,SAAOlI,EAAEkI,QAAMpH,KAAKsI,YAAUpJ,EAAEoJ;;YAASxG,IAAIuG;gBAAU,OAAO,SAAOrI,KAAKuI;;YAASuB,QAAO;gBAAW9J,KAAKuI,UAAQ;;;QAAO,IAAIQ,IAAE9I,OAAOgE;QAAMa,EAAEjE;YAAWiB,IAAIiF;gBAAS,OAAOqB,EAAEtG,IAAI9B;;YAAO8B,IAAIkF;gBAAgB,OAAOU,EAAE5F,IAAI9B;;YAAO8B,IAAIiI;gBAAa,OAAOvC,EAAE1F,IAAI9B;;YAAO8B,IAAIkI;gBAAO,IAAI9K,IAAE,IAAI+G,EAAEgE,YAAS9K,IAAEoI,EAAEzF,IAAI9B;gBAAM,IAAGb,GAAE;oBAAC,KAAI,IAAIC,IAAE,GAAEC,KAAG,GAAEG,IAAEkI,EAAE5F,IAAI9B,OAAMwC,IAAErD,EAAEqH,SAAO,GAAE5D,IAAE,GAAEJ,KAAGI,GAAEA,KAAI,IAAGvD,MAAIA,IAAEF,EAAEyD,GAAGoE,kBAAgBxH;oBAAGH,GAAE;wBAAC,IAAIwD,IAAE1D,EAAEyD,GAAGoE;yBAAepE,MAAIJ,KAAGK,aAAaoD,EAAEhB,UAAQ/F,EAAEE,OAAKyD;;oBAAG3D,EAAEsH,SAAOpH;;gBAAE,OAAOF;;YAAGgL,iBAAgB;gBAAWrB,EAAElH,IAAI3B,OAAM;;YAAImK,0BAAyB;gBAAWtB,EAAElH,IAAI3B,OAAM,IAAG8H,EAAEnG,IAAI3B,OAAM;;WAAKiJ,EAAEF,GAAEjE,GAAExF,SAASC,YAAY;QAAU,IAAI6K,IAAEpF,EAAE,WAAUF,IAAGuF,IAAErF,EAAE,eAAcF,IAAGwF;YAAGxI,IAAIoG;gBAAgB,OAAOC,EAAErG,IAAI9B,SAAOuG,EAAE0B,EAAEjI,MAAMkI;;WAAiBqC,IAAEvB;YAAGwB,gBAAe/F,EAAE,kBAAiB;WAAK6F,IAAGG,KAAGzB;YAAG0B,gBAAejG,EAAE,kBAAiB;WAAI6F,IAAGK,KAAG3F,EAAE,cAAaoF,GAAEG,IAAGK,KAAG5F,EAAE,cAAaoF,GAAEK,KAAII,KAAG7F,EAAE,iBAAgBF;YAAGgG,mBAAkBrG,EAAE,qBAAoB;YAAG3C,IAAIiJ;gBAAc,OAAOxE,EAAEvG,KAAKmD,KAAK4H;;YAAgB5B,KAAGxJ,OAAOiE,OAAO,OAAMsF,KAAG;YAAW;gBAAI,IAAIjJ,OAAO+K,WAAW;cAAS,OAAM9L;gBAAG,QAAO;;YAAE,QAAO;;QAAK,KAAIgK,IAAG;YAAC,IAAI+B,KAAG,SAAS/L,GAAEC,GAAEC;gBAAG,IAAGA,GAAE;oBAAC,IAAIC,IAAE8J,GAAG/J;oBAAGD,IAAE6J,EAAEA,MAAK3J,IAAGF;;gBAAGgK,GAAGjK,KAAGC;;YAAG8L,GAAG;gBAASxL,UAAS;gBAAEC,aAAY;gBAAIuL,GAAG;gBAAeC,QAAO;eAAM,UAASD,GAAG;gBAAWE,MAAK;gBAAKD,QAAO;eAAG,UAASD,GAAG;gBAAcG,SAAQ;gBAAEC,SAAQ;gBAAEC,SAAQ;gBAAEC,SAAQ;gBAAEC,UAAS;gBAAEC,SAAQ;gBAAEC,WAAU;gBAAEC,UAAS;gBAAEC,QAAO;gBAAE1D,eAAc;eAAM,YAAW+C,GAAG;gBAAc/C,eAAc;eAAM;;QAAW,IAAI2D,KAAG5L,OAAO+D,aAAYqF,OAAI,oBAAmB,uBAAsB;UAAkByC,SAAQ5G,QAAOoC,WAAUzH,QAAQ,SAASX;YAAG,IAAIC,IAAED,EAAE2B;YAAUwI,GAAGxJ,QAAQ,SAASX;gBAAGS,OAAOyB,eAAejC,GAAED,IAAE;oBAAK0C,OAAMzC,EAAED;;;YAAS6D,EAAElC;YAAW+I,kBAAiB,SAAS1K,GAAEC,GAAEC;gBAAG,IAAG2E,EAAE5E,IAAG;oBAAC,IAAIE,IAAE,IAAIwF,EAAE3F,GAAEC,GAAEC,IAAGI,IAAEwI,EAAElG,IAAI9B;oBAAM,IAAGR,GAAE;wBAAC,KAAI,IAAIgD,IAAE,GAAEA,IAAEhD,EAAEgH,QAAOhE,KAAI,IAAGnD,EAAEwK,OAAOrK,EAAEgD,KAAI;2BAAYhD,QAAKwI,EAAErG,IAAI3B,MAAKR;oBAAGA,EAAEsH,KAAKzH;oBAAG,IAAIuD,IAAEK,EAAEjD;oBAAM4C,EAAEmJ,kBAAkB7M,GAAE4E,IAAG;;;YAAK0F,qBAAoB,SAAStK,GAAEC,GAAEC;gBAAGA,IAAE0J,QAAQ1J;gBAAG,IAAIC,IAAE2I,EAAElG,IAAI9B;gBAAM,IAAGX,GAAE;oBAAC,KAAI,IAAIG,IAAE,GAAEgD,KAAG,GAAEI,IAAE,GAAEA,IAAEvD,EAAEmH,QAAO5D,KAAIvD,EAAEuD,GAAGwE,SAAOlI,KAAGG,EAAEuD,GAAG0F,YAAUlJ,MAAII;oBAAIH,EAAEuD,GAAG2F,YAAUpJ,MAAIqD,KAAG,GAAEnD,EAAEuD,GAAGkH;oBAAW,IAAGtH,KAAG,MAAIhD,GAAE;wBAAC,IAAIqD,IAAEI,EAAEjD;wBAAM6C,EAAEmJ,qBAAqB9M,GAAE4E,IAAG;;;;YAAMmI,eAAc,SAAS/M;gBAAG,IAAIC,IAAE8D,EAAEjD;gBAAM,OAAOb,EAAE+M,eAAejE,EAAE/I;;WAAM2M,MAAI5C,EAAE4C,IAAG9I;QAAG,IAAIuG,KAAGhK,SAAS6M;QAAiBjN,EAAEkN,sBAAoBzJ,GAAEzD,EAAEiN,mBAAiB9H,GAAEnF,EAAEoE,wBAAsBc;QAAElF,EAAEqE,wBAAsBe,GAAEpF,EAAEmN,yBAAuB9H,GAAErF,EAAE8G,SAASsG,cAAYjC;QAAEnL,EAAE8G,SAAS/B,QAAMa,GAAE5F,EAAE8G,SAAShC,cAAYjB,GAAE7D,EAAE8G,SAASuG,aAAW3B,IAAG1L,EAAE8G,SAASgF,aAAWL;QAAGzL,EAAE8G,SAASwG,gBAAc3B,IAAG3L,EAAE8G,SAASyG,UAAQrC;MAAGpK,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED,GAAEC;YAAGQ,OAAOyB,eAAelC,GAAEC;gBAAGsE,aAAY;;;QAAI,SAASrE;YAAIY,KAAKwG,SAAO,GAAErH,EAAEa,MAAK;;QAAU,SAASX,EAAEH;YAAG,IAAG,QAAMA,GAAE,OAAOA;YAAE,KAAI,IAAIC,IAAE,IAAIC,KAAEC,IAAE,GAAEG,IAAEN,EAAEsH,QAAOhH,IAAEH,GAAEA,KAAIF,EAAEE,KAAGmD,EAAEtD,EAAEG;YAAI,OAAOF,EAAEqH,SAAOhH,GAAEL;;QAAE,SAASK,EAAEN,GAAEC;YAAGD,EAAE2B,UAAU1B,KAAG;gBAAW,OAAOE,EAAEW,KAAKmD,KAAKhE,GAAGiE,MAAMpD,KAAKmD,MAAKE;;;QAAa,IAAIb,IAAEtD,EAAE4G;QAAK1G,EAAEyB;YAAW6L,MAAK,SAASxN;gBAAG,OAAOc,KAAKd;;WAAKC,EAAEC,EAAEyB,WAAU,SAAQ3B,EAAE8G,SAASiE,WAAS7K,GAAEF,EAAEyN,wBAAsBnN;QAAEN,EAAE0N,eAAavN;MAAGW,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGgE,EAAEhE,aAAasD;;QAAG,SAASpD,EAAEF,GAAEC,GAAEC,GAAEC;YAAG,IAAGH,EAAE2N,aAAWrK,EAAEsK,wBAAuB,OAAO5N,EAAEmH,cAAYnH,EAAEmH,WAAW0G,YAAY7N;YAAGA,EAAE8N,cAAY7N,GAAED,EAAE+N,mBAAiB7N,GAAEF,EAAEgO,eAAa7N,GAAED,MAAIA,EAAE8N,eAAahO;YAAGG,MAAIA,EAAE4N,mBAAiB/N,MAAIA;YAAG,KAAI,IAAIM,GAAEoD,QAAKpD,IAAEN,EAAEiO,cAAYjO,EAAE6N,YAAYvN,IAAGoD,EAAEkE,KAAKtH,IAAGA,EAAEwN,cAAY7N;YAAE,KAAI,IAAI0D,IAAE,GAAEA,IAAED,EAAE4D,QAAO3D,KAAID,EAAEC,GAAGoK,mBAAiBrK,EAAEC,IAAE,MAAIzD,GAAEwD,EAAEC,GAAGqK,eAAatK,EAAEC,IAAE,MAAIxD;YAAE,OAAOD,MAAIA,EAAE8N,eAAatK,EAAE,KAAIvD,MAAIA,EAAE4N,mBAAiBrK,EAAEA,EAAE4D,SAAO;YAAI5D;;QAAE,SAASvD,EAAEH,GAAEC;YAAG,IAAIC,IAAED,EAAEqH;YAAO,IAAG,MAAIpH,GAAE,OAAOuE,EAAExE,EAAE;YAAI,KAAI,IAAIE,IAAEsE,EAAEzE,EAAEkO,cAAcC,2BAA0B7N,IAAE,GAAEJ,IAAEI,GAAEA,KAAIH,EAAEiO,YAAY3J,EAAExE,EAAEK;YAAK,OAAOH;;QAAE,SAASG,EAAEN;YAAG,KAAI,IAAIC,IAAED,EAAEiO,YAAWhO,KAAG;gBAAC+D,EAAE/D,EAAEkH,eAAanH;gBAAG,IAAIE,IAAED,EAAEoO,aAAYlO,IAAEsE,EAAExE,IAAGK,IAAEH,EAAEgH;gBAAW7G,KAAGmF,EAAE5C,KAAKvC,GAAEH,IAAGF,EAAE8N,mBAAiB9N,EAAE+N,eAAa/N,EAAE6N,cAAY,MAAK7N,IAAEC;;YAAEF,EAAEsO,cAAYtO,EAAEuO,aAAW;;QAAK,SAASjL,EAAEtD;YAAGgE,EAAEhE,aAAa4E,IAAGlB,EAAEb,KAAK/B,MAAKd,IAAGc,KAAKgN,mBAAiB,GAAEhN,KAAKwN,mBAAiB;YAAExN,KAAKyN,kBAAgB,GAAEzN,KAAKkN,oBAAkB,GAAElN,KAAKiN,wBAAsB;;QAAE,IAAIrK,IAAE1D,EAAE8G,SAAShC,aAAYnB,IAAE3D,EAAE8G,SAASiE,UAAStH,IAAEzD,EAAEmG,kBAAiBnC,IAAEhE,EAAEiG,QAAOzC,IAAExD,EAAEsG,OAAM9B,IAAExE,EAAEwG,iBAAgB/B,IAAEzE,EAAE0G,QAAOnD,IAAEvD,EAAE4G,MAAKhC,IAAE7D,OAAOgF,MAAKd,IAAEL,EAAEjD,UAAUyM,aAAY9I,IAAEV,EAAEjD,UAAU6M,cAAahJ,IAAEZ,EAAEjD,UAAU8M,cAAahJ,IAAEb,EAAEjD,UAAUkM,aAAYnI,IAAEd,EAAEjD,UAAU+M;QAAwBpL,EAAE3B,YAAUlB,OAAOiE,OAAOhB,EAAE/B,YAAW6B,EAAEF,EAAE3B;YAAWyM,aAAY,SAASpO;gBAAGC,EAAED,IAAGc,KAAK6N;gBAA2B,IAAIrO,IAAEQ,KAAK8N,WAAUtL,IAAE,MAAKI,IAAExD,EAAEF,GAAEc,MAAKR,GAAEgD;gBAAG,OAAOxC,KAAKyN,aAAW7K,EAAEA,EAAE4D,SAAO,IAAGhH,MAAIQ,KAAKwN,cAAY5K,EAAE,KAAIuB,EAAEpC,KAAK/B,KAAKmD,MAAK9D,EAAEW,MAAK4C;gBAAI1D;;YAAGwO,cAAa,SAASxO,GAAEM;gBAAG,KAAIA,GAAE,OAAOQ,KAAKsN,YAAYpO;gBAAGC,EAAED,IAAGC,EAAEK,IAAG0D,EAAE1D,EAAE6G,eAAarG,OAAMA,KAAK6N;gBAA2B,IAAIrL,IAAEhD,EAAEuO,iBAAgBnL,IAAEpD,GAAEqD,IAAEzD,EAAEF,GAAEc,MAAKwC,GAAEI;gBAAG5C,KAAKmN,eAAa3N,MAAIQ,KAAKwN,cAAY3K,EAAE;gBAAI,IAAIF,IAAEgB,EAAEnE,IAAGkD,IAAEC,EAAE0D;gBAAW,OAAO3D,KAAG8B,EAAEzC,KAAKW,GAAErD,EAAEW,MAAK6C,IAAGF,IAAGzD;;YAAG6N,aAAY,SAAS7N;gBAAG,IAAGC,EAAED,IAAGA,EAAEmH,eAAarG,MAAK,MAAM,IAAIkC,MAAM;gBAAiBlC,KAAK6N;gBAA2B,IAAIzO,IAAEY,KAAKmN,YAAW9N,IAAEW,KAAK8N,WAAUtO,IAAEN,EAAEqO,aAAY/K,IAAEtD,EAAE6O,iBAAgBnL,IAAEe,EAAEzE,IAAG2D,IAAED,EAAEyD;gBAAW,OAAOxD,KAAG8B,EAAE5C,KAAKc,GAAED,IAAGxD,MAAIF,MAAIc,KAAKwN,cAAYhO,IAAGH,MAAIH,MAAIc,KAAKyN,aAAWjL;gBAAGA,MAAIA,EAAE0K,eAAa1N,IAAGA,MAAIA,EAAEyN,mBAAiBzK,IAAGtD,EAAE+N,mBAAiB/N,EAAEgO,eAAahO,EAAE8N,cAAY;gBAAK9N;;YAAGyO,cAAa,SAASzO,GAAEM;gBAAG,IAAGL,EAAED,IAAGC,EAAEK,IAAGA,EAAE6G,eAAarG,MAAK,MAAM,IAAIkC,MAAM;gBAAiBlC,KAAK6N;gBAA2B,IAAIrL,IAAEhD,EAAEuO,iBAAgBnL,IAAEpD,EAAE+N;gBAAY3K,MAAI1D,MAAI0D,IAAE1D,EAAEqO;gBAAa,IAAI1K,IAAEzD,EAAEF,GAAEc,MAAKwC,GAAEI;gBAAG5C,KAAKmN,eAAa3N,MAAIQ,KAAKwN,cAAY3K,EAAE,KAAI7C,KAAK8N,cAAYtO,MAAIQ,KAAKyN,aAAW5K,EAAEA,EAAE2D,SAAO;gBAAIhH,EAAEyN,mBAAiB,MAAKzN,EAAE0N,eAAa,MAAK1N,EAAEwN,cAAY;gBAAK,IAAIrK,IAAEgB,EAAEnE;gBAAG,OAAOmD,EAAE0D,cAAY3B,EAAE3C,KAAKY,EAAE0D,YAAWhH,EAAEW,MAAK6C,IAAGF,IAAGnD;;YAAGwO,eAAc;gBAAW,OAAO,SAAOhO,KAAKmN;;YAAYrL,IAAIuE;gBAAa,YAAY,MAAIrG,KAAKgN,cAAYhN,KAAKgN,cAAYvK,EAAEzC,KAAKmD,KAAKkD;;YAAavE,IAAIqL;gBAAa,YAAY,MAAInN,KAAKwN,cAAYxN,KAAKwN,cAAY/K,EAAEzC,KAAKmD,KAAKgK;;YAAarL,IAAIgM;gBAAY,YAAY,MAAI9N,KAAKyN,aAAWzN,KAAKyN,aAAWhL,EAAEzC,KAAKmD,KAAK2K;;YAAYhM,IAAIyL;gBAAc,YAAY,MAAIvN,KAAKkN,eAAalN,KAAKkN,eAAazK,EAAEzC,KAAKmD,KAAKoK;;YAAczL,IAAIiM;gBAAkB,YAAY,MAAI/N,KAAKiN,mBAAiBjN,KAAKiN,mBAAiBxK,EAAEzC,KAAKmD,KAAK4K;;YAAkBjM,IAAImM;gBAAgB,KAAI,IAAI/O,IAAEc,KAAKqG,YAAWnH,KAAGA,EAAE2N,aAAWrK,EAAE0L,gBAAchP,IAAEA,EAAEmH;gBAAW,OAAOnH;;YAAG4C,IAAIqM;gBAAc,KAAI,IAAIjP,IAAE,IAAGC,IAAEa,KAAKmN,YAAWhO,GAAEA,IAAEA,EAAEoO,aAAYrO,KAAGC,EAAEgP;gBAAY,OAAOjP;;YAAGyC,IAAIwM,YAAYjP;gBAAG,IAAGM,EAAEQ,OAAMA,KAAK6N,4BAA2B,OAAK3O,GAAE;oBAAC,IAAIC,IAAEa,KAAKmD,KAAKiK,cAAcgB,eAAelP;oBAAGc,KAAKsN,YAAYnO;;;YAAK2C,IAAIuM;gBAAa,KAAI,IAAInP,IAAE,IAAI2D,KAAE1D,IAAE,GAAEC,IAAEY,KAAKmN,YAAW/N,GAAEA,IAAEA,EAAEmO,aAAYrO,EAAEC,OAAKC;gBAAE,OAAOF,EAAEsH,SAAOrH,GAAED;;YAAGoP,WAAU,SAASpP;gBAAG,KAAIc,KAAK6N,4BAA2B,OAAOpL,EAAEzC,KAAKmD,KAAKmL,UAAUpP;gBAAI,IAAIC,IAAEsD,EAAEzC,KAAKmD,KAAKmL,WAAW;gBAAI,IAAGpP,GAAE,KAAI,IAAIE,IAAEY,KAAKmN,YAAW/N,GAAEA,IAAEA,EAAEmO,aAAYpO,EAAEmO,YAAYlO,EAAEkP,WAAW;gBAAI,OAAOnP;;YAAG0H,UAAS,SAAS3H;gBAAG,KAAIA,GAAE,QAAO;gBAAE,IAAGA,MAAIc,MAAK,QAAO;gBAAE,IAAIb,IAAED,EAAEmH;gBAAW,OAAOlH,IAAEa,KAAK6G,SAAS1H,MAAI;;YAAGyO,yBAAwB,SAAS1O;gBAAG,OAAO0F,EAAE7C,KAAK/B,KAAKmD,MAAKQ,EAAEzE;;YAAOyD,EAAEH,GAAE,kBAAiBkB,EAAEI,GAAEtB,GAAElD,SAAS+N,kCAAiC7K,EAAE3B,UAAU0N;eAAqB/L,EAAE3B,UAAU2N,kBAAiBhM,EAAE3B,YAAU6B,EAAE/C,OAAOiE,OAAOhB,EAAE/B,YAAW2B,EAAE3B;QAAW3B,EAAE8G,SAASf,OAAKzC;MAAGxC,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED,GAAEE;YAAG,KAAI,IAAIC,GAAEG,IAAEN,EAAEuP,mBAAkBjP,KAAG;gBAAC,IAAGA,EAAEkP,QAAQtP,IAAG,OAAOI;gBAAE,IAAGH,IAAEF,EAAEK,GAAEJ,IAAG,OAAOC;gBAAEG,IAAEA,EAAEmP;;YAAmB,OAAO;;QAAK,SAASvP,EAAEF,GAAEC,GAAEE;YAAG,KAAI,IAAIG,IAAEN,EAAEuP,mBAAkBjP,KAAGA,EAAEkP,QAAQvP,OAAKE,EAAEA,EAAEmH,YAAUhH,IAAGJ,EAAEI,GAAEL,GAAEE;YAAGG,IAAEA,EAAEmP;YAAmB,OAAOtP;;QAAE,IAAIA;YAAGkP,eAAc,SAASrP;gBAAG,OAAOC,EAAEa,MAAKd;;YAAIsP,kBAAiB,SAAStP;gBAAG,OAAOE,EAAEY,MAAKd,GAAE,IAAI+K;;WAAYzK;YAAGoP,sBAAqB,SAAS1P;gBAAG,OAAOc,KAAKwO,iBAAiBtP;;YAAI2P,wBAAuB,SAAS3P;gBAAG,OAAOc,KAAKwO,iBAAiB,MAAItP;;YAAI4P,wBAAuB,SAAS5P,GAAEC;gBAAG,IAAG,QAAMD,GAAE,OAAOc,KAAK4O,qBAAqBzP;gBAAG,KAAI,IAAIC,IAAE,IAAI6K,YAAS5K,IAAEW,KAAK4O,qBAAqBzP,IAAGK,IAAE,GAAEgD,IAAE,GAAEhD,IAAEH,EAAEmH,QAAOhH,KAAIH,EAAEG,GAAGuP,iBAAe7P,MAAIE,EAAEoD,OAAKnD,EAAEG;gBAAI,OAAOJ,EAAEoH,SAAOhE,GAAEpD;;;QAAIF,EAAE8P,yBAAuBxP,GAAEN,EAAE+P,qBAAmB5P;MAAGW,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,MAAKA,KAAGA,EAAE2N,aAAW5H,KAAKiJ,gBAAchP,IAAEA,EAAEqO;YAAY,OAAOrO;;QAAE,SAASE,EAAEF;YAAG,MAAKA,KAAGA,EAAE2N,aAAW5H,KAAKiJ,gBAAchP,IAAEA,EAAE6O;YAAgB,OAAO7O;;QAAE,IAAIG,IAAEH,EAAE8G,SAASiE,UAASzK;YAAGsC,IAAI2M;gBAAoB,OAAOtP,EAAEa,KAAKmN;;YAAarL,IAAIoN;gBAAmB,OAAO9P,EAAEY,KAAK8N;;YAAYhM,IAAIqN;gBAAoB,KAAI,IAAIjQ,IAAE,GAAEC,IAAEa,KAAKyO,mBAAkBtP,GAAEA,IAAEA,EAAEwP,oBAAmBzP;gBAAI,OAAOA;;YAAG4C,IAAIsN;gBAAW,KAAI,IAAIlQ,IAAE,IAAIG,KAAEF,IAAE,GAAEC,IAAEY,KAAKyO,mBAAkBrP,GAAEA,IAAEA,EAAEuP,oBAAmBzP,EAAEC,OAAKC;gBAAE,OAAOF,EAAEsH,SAAOrH,GAAED;;WAAIsD;YAAGV,IAAI6M;gBAAqB,OAAOxP,EAAEa,KAAKuN;;YAAczL,IAAIuN;gBAAyB,OAAOjQ,EAAEY,KAAKuN;;;QAAerO,EAAEoQ,qBAAmB9M,GAAEtD,EAAEqQ,sBAAoB/P;MAAGQ,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGG,EAAE0C,KAAK/B,MAAKd;;QAAG,IAAIE,IAAEF,EAAEoQ,oBAAmBjQ,IAAEH,EAAE8G,SAASf,MAAKzF,IAAEN,EAAEsG,OAAMhD,IAAEtD,EAAEwG,iBAAgB9C,IAAE3C,OAAOuP;QAAcrQ,EAAE0B,YAAUlB,OAAOiE,OAAOvE,EAAEwB,YAAWrB,EAAEL,EAAE0B;YAAWiB,IAAIqM;gBAAc,OAAOnO,KAAKyP;;YAAM9N,IAAIwM,YAAYjP;gBAAGc,KAAKyP,OAAKvQ;;YAAKM,EAAEL,EAAE0B,WAAUzB,IAAGoD,EAAEI,GAAEzD,GAAEG,SAAS8O,eAAe,MAAKlP,EAAE8G,SAASwJ,gBAAcrQ;MAAGa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGM,EAAEuC,KAAK/B,MAAKd;;QAAG,IAAIE,IAAEF,EAAEoQ,oBAAmBjQ,IAAEH,EAAE8P,wBAAuBxP,IAAEN,EAAE8G,SAASf,MAAKzC,IAAEtD,EAAEqQ,qBAAoB3M,IAAE1D,EAAE+P;QAAmB/P,EAAEyN;QAAsB,IAAI9J,IAAE3D,EAAEsG,OAAM7C,IAAEzD,EAAEwG,iBAAgBxC,IAAEhE,EAAE8G,UAAStD,IAAE,IAAI3B,aAAU2C,IAAEzD,OAAO6L,SAAQnI,IAAED,EAAE7C,UAAU6N,WAAShL,EAAE7C,UAAU6O,sBAAoBhM,EAAE7C,UAAU8O,qBAAmBjM,EAAE7C,UAAU+O;QAAsBzQ,EAAE0B,YAAUlB,OAAOiE,OAAOpE,EAAEqB,YAAWgC,EAAE1D,EAAE0B;YAAWgP,kBAAiB;gBAAW,IAAI1Q,IAAE,IAAI+D,EAAEgD,WAAWlG;gBAAM,OAAO0C,EAAEf,IAAI3B,MAAKb,IAAGD,EAAE4Q,mBAAmB9P,OAAMA,KAAK6N,0BAA0B;gBAAG1O;;YAAG2C,IAAIsE;gBAAa,OAAO1D,EAAEZ,IAAI9B,SAAO;;YAAM+P,cAAa,SAAS7Q,GAAEC;gBAAGa,KAAKmD,KAAK4M,aAAa7Q,GAAEC,IAAGa,KAAK6N;;YAA4Ba,SAAQ,SAASxP;gBAAG,OAAOyE,EAAE5B,KAAK/B,KAAKmD,MAAKjE;;YAAMwE,EAAE7C,UAAUC,2BAAyB3B,EAAE0B,UAAUC,yBAAuB3B,EAAE0B,UAAUgP;QAAkBhN,EAAE1D,EAAE0B,WAAUzB,IAAGyD,EAAE1D,EAAE0B,WAAUxB,IAAGwD,EAAE1D,EAAE0B,WAAU2B,IAAGK,EAAE1D,EAAE0B,WAAU+B,IAAGD,EAAEe,GAAEvE;QAAGD,EAAE8G,SAAS8F,UAAQ3M;MAAGa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,QAAOA;cAAG,KAAI;gBAAI,OAAM;;cAAQ,KAAI;gBAAI,OAAM;;cAAO,KAAI;gBAAI,OAAM;;;QAAU,SAASE,EAAEF;YAAG,OAAOA,EAAE8Q,QAAQ7L,GAAEhF;;QAAG,SAASE,EAAEH;YAAG,QAAOA,EAAE2N;cAAU,KAAK5H,KAAKiJ;gBAAa,KAAI,IAAI/O,GAAEE,IAAEH,EAAE+Q,QAAQC,eAAc1N,IAAE,MAAInD,GAAEuD,IAAE1D,EAAEiR,YAAWtN,IAAE,GAAE1D,IAAEyD,EAAEC,IAAGA,KAAIL,KAAG,MAAIrD,EAAEqC,OAAK,OAAKpC,EAAED,EAAEyC,SAAO;gBAAI,OAAOY,KAAG,KAAIgC,EAAEnF,KAAGmD,IAAEA,IAAEhD,EAAEN,KAAG,OAAKG,IAAE;;cAAI,KAAK4F,KAAKmL;gBAAU,OAAOhR,EAAEF,EAAEmR;;cAAW,KAAKpL,KAAKqL;gBAAa,OAAM,SAAOlR,EAAEF,EAAEmR,aAAW;;cAAM;gBAAQ,MAAM1H,QAAQC,MAAM1J,IAAG,IAAIgD,MAAM;;;QAAoB,SAAS1C,EAAEN;YAAG,KAAI,IAAIC,IAAE,IAAGC,IAAEF,EAAEiO,YAAW/N,GAAEA,IAAEA,EAAEmO,aAAYpO,KAAGE,EAAED;YAAG,OAAOD;;QAAE,SAASqD,EAAEtD,GAAEC,GAAEC;YAAG,IAAIC,IAAED,KAAG;YAAMF,EAAEiP,cAAY;YAAG,IAAI3O,IAAEiD,EAAEvD,EAAEkO,cAAcmD,cAAclR;YAAIG,EAAEgR,YAAUrR;YAAE,KAAI,IAAIqD,GAAEA,IAAEhD,EAAE2N,cAAYjO,EAAEoO,YAAYxJ,EAAEtB;;QAAI,SAASI,EAAE1D;YAAGgE,EAAEnB,KAAK/B,MAAKd;;QAAG,SAAS2D,EAAE1D;YAAGuD,EAAEE,GAAEzD,GAAE;gBAAW,OAAOD,EAAEmI,oBAAmBrH,KAAKmD,KAAKhE;;;QAAK,SAASwD,EAAExD;YAAGQ,OAAOyB,eAAewB,EAAE/B,WAAU1B;gBAAGyC,OAAM;oBAAW,OAAO1C,EAAEmI,oBAAmBrH,KAAKmD,KAAKhE,GAAGiE,MAAMpD,KAAKmD,MAAKE;;gBAAYG,eAAc;gBAAEC,aAAY;;;QAAI,IAAIP,IAAEhE,EAAE8G,SAAS8F,SAAQpJ,IAAExD,EAAEkG,cAAa1B,IAAExE,EAAEsG,OAAM7B,IAAEzE,EAAEwG,iBAAgBjD,IAAEvD,EAAE0G,QAAO9B,IAAE5E,EAAE4G,MAAK3B,IAAE,UAASK;YAAGiM,OAAM;YAAEC,OAAM;YAAEC,KAAI;YAAEC,MAAK;YAAEC,UAAS;YAAEC,QAAO;YAAEC,KAAI;YAAEC,MAAK;YAAEC,QAAO;YAAEC,SAAQ;YAAEC,OAAM;YAAEC,OAAM;YAAEC,QAAO;YAAEC,SAAQ;YAAEC,QAAO;YAAEC,MAAK;WAAG9M,IAAEzE,OAAOW;QAAYgC,EAAE/B,YAAUlB,OAAOiE,OAAOV,EAAErC,YAAW6C,EAAEd,EAAE/B;YAAWiB,IAAI0O;gBAAY,OAAOhR,EAAEQ;;YAAO2B,IAAI6O,UAAUtR;gBAAGsD,EAAExC,MAAKd,GAAEc,KAAKiQ;;YAAUnO,IAAI2P;gBAAY,OAAOpS,EAAEW;;YAAO2B,IAAI8P,UAAUvS;gBAAG,IAAGc,KAAK6N,4BAA2B,MAAM,IAAI3L,MAAM;gBAAmBlC,KAAKmD,KAAKsO,YAAUvS;;cAAM,gBAAe,cAAa,aAAY,eAAc,gBAAe,cAAa,aAAY,eAAc,gBAAe,cAAa,aAAY,gBAAeW,QAAQgD;UAAI,yBAAwB,kBAAiB,mBAAkBhD,QAAQ8C,IAAGgB,EAAEe,GAAE9B,GAAEtD,SAASiR,cAAc;QAAMrR,EAAE8G,SAASpF,cAAYgC,GAAE1D,EAAEwS,eAAalS,GAAEN,EAAEyS,eAAanP;MAAGxC,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGE,EAAE2C,KAAK/B,MAAKd;;QAAG,IAAIE,IAAEF,EAAE8G,SAASpF,aAAYvB,IAAEH,EAAEsG,OAAMhG,IAAEN,EAAEwG,iBAAgBlD,IAAEvC,OAAO2R;QAAmBzS,EAAE0B,YAAUlB,OAAOiE,OAAOxE,EAAEyB,YAAWxB,EAAEF,EAAE0B;YAAWiB,IAAI+P;gBAAS,OAAO7R,KAAK8R,aAAa;;YAAWnQ,IAAIkQ,OAAO3S;gBAAGc,KAAK+P,aAAa,UAAS7Q;;YAAI6Q,cAAa,SAAS7Q,GAAEC;gBAAGC,EAAEyB,UAAUkP,aAAahO,KAAK/B,MAAKd,GAAEC,IAAG,aAAW4S,OAAO7S,GAAGgR,iBAAelQ,KAAK6N,0BAA0B;;YAAMrL,KAAGhD,EAAEgD,GAAErD,IAAGD,EAAE8G,SAAS4L,qBAAmBzS;MAAGa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGE,EAAE2C,KAAK/B,MAAKd,IAAGc,KAAKgS,mBAAiB;;QAAK,IAAI5S,IAAEF,EAAE8G,SAASpF,aAAYvB,IAAEH,EAAEsG,OAAMhG,IAAEN,EAAEwG,iBAAgBlD,IAAEvC,OAAOgS;QAAkB9S,EAAE0B,YAAUlB,OAAOiE,OAAOxE,EAAEyB,YAAWxB,EAAEF,EAAE0B;YAAWiB,IAAIoQ;gBAAkB,OAAOlS,KAAKgS;;YAAkBnE,0BAAyB;gBAAWzO,EAAEyB,UAAUgN,yBAAyB9L,KAAK/B,OAAM;;YAAMwC,KAAGhD,EAAEgD,GAAErD,IAAGD,EAAE8G,SAASiM,oBAAkB9S;MAAGa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,KAAIA,EAAEoH,aAAY,OAAOpH;YAAE,IAAIC,IAAEuE,EAAE5B,IAAI5C;YAAG,KAAIC,GAAE;gBAAC,KAAIA,IAAED,EAAEiT,eAAeC,mBAAmB,KAAIjT,EAAE2O,aAAW3O,EAAE4N,YAAY5N,EAAE2O;gBAAWpK,EAAE/B,IAAIzC,GAAEC;;YAAG,OAAOA;;QAAE,SAASC,EAAEF;YAAG,KAAI,IAAIE,GAAEC,IAAEF,EAAED,EAAEkO,gBAAe5N,IAAEH,EAAEgO,0BAAyBjO,IAAEF,EAAEiO,cAAY3N,EAAE8N,YAAYlO;YAAG,OAAOI;;QAAE,SAASH,EAAEH;YAAGM,EAAEuC,KAAK/B,MAAKd;;QAAG,IAAIM,IAAEN,EAAE8G,SAASpF,aAAY4B,IAAEtD,EAAEwS,cAAa9O,IAAE1D,EAAEsG,OAAM3C,IAAE3D,EAAEwG,iBAAgB/C,IAAEzD,EAAEyS,cAAazO,IAAEhE,EAAE4G,MAAKpD,IAAE,IAAI3B,aAAU2C,IAAE,IAAI3C,aAAU4C,IAAE1D,OAAOoS;QAAoBhT,EAAEwB,YAAUlB,OAAOiE,OAAOpE,EAAEqB,YAAW+B,EAAEvD,EAAEwB;YAAWiB,IAAIwQ;gBAAU,IAAG3O,GAAE,OAAOT,EAAElD,KAAKmD,KAAKmP;gBAAS,IAAIpT,IAAEwD,EAAEZ,IAAI9B;gBAAM,OAAOd,MAAIA,IAAEE,EAAEY,OAAM0C,EAAEf,IAAI3B,MAAKd,KAAIA;;YAAG4C,IAAI0O;gBAAY,OAAOhO,EAAExC,KAAKsS;;YAAU3Q,IAAI6O,UAAUtR;gBAAGyD,EAAE3C,KAAKsS,SAAQpT,IAAGc,KAAK6N;;YAA8BlK,KAAGd,EAAEc,GAAEtE,IAAGH,EAAE8G,SAASqM,sBAAoBhT;MAAGW,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,QAAOA,EAAEiH;cAAW,KAAI;gBAAU,OAAO,IAAI/G,EAAEF;;cAAG,KAAI;gBAAS,OAAO,IAAIM,EAAEN;;cAAG,KAAI;gBAAW,OAAO,IAAIsD,EAAEtD;;YAAGG,EAAE0C,KAAK/B,MAAKd;;QAAG,IAAIE,IAAEF,EAAE8G,SAAS4L,oBAAmBvS,IAAEH,EAAE8G,SAASpF,aAAYpB,IAAEN,EAAE8G,SAASiM,mBAAkBzP,IAAEtD,EAAE8G,SAASqM;QAAoBnT,EAAEsG;QAAM,IAAI5C,IAAE1D,EAAEwG,iBAAgB7C,IAAE5C,OAAOsS;QAAmBpT,EAAE0B,YAAUlB,OAAOiE,OAAOvE,EAAEwB,YAAW+B,EAAEC,GAAE1D,IAAGD,EAAE8G,SAASuM,qBAAmBpT;MAAGa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,IAAIC,IAAED,EAAE8P,wBAAuB5P,IAAEF,EAAEqQ,qBAAoBlQ,IAAEH,EAAE+P,oBAAmBzP,IAAEN,EAAEsG,OAAMhD,IAAEtD,EAAEuG,gBAAe7C,IAAEJ,EAAElD,SAAS+N;QAA0B7N,EAAEoD,EAAE/B,WAAUzB,IAAGI,EAAEoD,EAAE/B,WAAUxB,IAAGG,EAAEoD,EAAE/B,WAAU1B;QAAG,IAAI0D,IAAEL,EAAElD,SAAS8O,eAAe,MAAKzL,IAAEH,EAAElD,SAASkT,cAAc;QAAKtT,EAAE8G,SAASyM,UAAQ9P,GAAEzD,EAAE8G,SAAS0M,mBAAiB9P,GAAE1D,EAAE8G,SAAS2M,OAAK9P;MAAG7C,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAEA;YAAG,IAAIE,IAAEsD,EAAExD,EAAEgE,KAAKiK,cAAcC;YAA0BjO,EAAE2C,KAAK/B,MAAKX,IAAGuD,EAAEvD,GAAEW;YAAM,IAAIR,IAAEL,EAAEiH;YAAWlH,EAAE0T,yBAAyBjR,IAAI3B,MAAKR,IAAG0D,EAAEvB,IAAI3B,MAAKb;;QAAG,IAAIC,IAAEF,EAAE8G,SAAS0M,kBAAiBrT,IAAEH,EAAEiN,kBAAiB3M,IAAEN,EAAEwS,cAAalP,IAAEtD,EAAEsG,OAAM5C,IAAE1D,EAAEyG,QAAO9C,IAAE3D,EAAEyS,cAAahP,IAAEzD,EAAE0G,QAAO1C,IAAE,IAAInC;QAAU5B,EAAE0B,YAAUlB,OAAOiE,OAAOxE,EAAEyB,YAAW2B,EAAErD,EAAE0B;YAAWiB,IAAI0O;gBAAY,OAAOhR,EAAEQ;;YAAO2B,IAAI6O,UAAUtR;gBAAG2D,EAAE7C,MAAKd,IAAGc,KAAK6N;;YAA4BA,0BAAyB;gBAAW,OAAO3K,EAAEpB,IAAI9B,MAAM6N;;YAA4B1B,kBAAiB,SAASjN,GAAEC;gBAAG,OAAOE,EAAEW,MAAKA,KAAKoN,eAAclO,GAAEC;;YAAI0T,gBAAe,SAAS3T;gBAAG,OAAOc,KAAKuO,cAAc,MAAIrP;;YAAMA,EAAE8G,SAASE,aAAW/G,GAAED,EAAEwH,uBAAqB,SAASxH;YAAG,OAAOgE,EAAEpB,IAAI5C;;MAAKc,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGA,EAAE+N,mBAAiB/N,EAAE6O,iBAAgB7O,EAAEgO,eAAahO,EAAEqO,aAAYrO,EAAE8N,cAAY9N,EAAEmH;;QAAW,SAASjH,EAAEF;YAAGA,EAAEsO,cAAYtO,EAAEiO,YAAWjO,EAAEuO,aAAWvO,EAAE4O;;QAAU,SAASzO,EAAEH;YAAGmF,EAAEnF,aAAaqF;YAAG,KAAI,IAAIlF,IAAEH,EAAEiO,YAAW9N,GAAEA,IAAEA,EAAEkO,aAAYpO,EAAEE;YAAGD,EAAEF;;QAAG,SAASM,EAAEN;YAAG,IAAIC,IAAEmF,EAAEpF;YAAGG,EAAEH,IAAGC,EAAEgP,cAAY;;QAAG,SAAS3L,EAAEtD,GAAEE;YAAG,IAAII,IAAE8E,EAAEpF,IAAGsD,IAAE8B,EAAElF;YAAGoD,EAAEqK,aAAWtI,EAAEuI,yBAAuBzN,EAAED,MAAIyD,EAAEzD,IAAGD,EAAEC,KAAIF,EAAEuO,aAAWvO,EAAE4O;YAAU5O,EAAE4O,cAAY5O,EAAEiO,eAAajO,EAAEsO,cAAYtO,EAAEiO;YAAY,IAAIvK,IAAEwG,EAAE5J,EAAEsO;YAAWlL,MAAIA,EAAEsK,eAAatK,EAAE2K,cAAa/N,EAAE8N,YAAY9K;;QAAG,SAASI,EAAE1D,GAAEE;YAAG,IAAIC,IAAEiF,EAAEpF,IAAGM,IAAE8E,EAAElF;YAAGD,EAAEC,IAAGA,EAAE2O,oBAAkB3O,EAAE2O,gBAAgBb,eAAa9N,IAAGA,EAAEmO,gBAAcnO,EAAEmO,YAAYN,mBAAiB7N;YAAGF,EAAE4O,cAAY1O,MAAIF,EAAEuO,aAAWrO,IAAGF,EAAEiO,eAAa/N,MAAIF,EAAEsO,cAAYpO;YAAGC,EAAE0N,YAAYvN;;QAAG,SAASqD,EAAE3D;YAAG,IAAIC,IAAEmF,EAAEpF,IAAGE,IAAED,EAAEkH;YAAWjH,KAAGwD,EAAEwG,EAAEhK,IAAGF;;QAAG,SAASyD,EAAEzD,GAAEC;YAAGuD,EAAEvD,GAAG2H,KAAK5H,IAAG6E,EAAE7E,GAAEC;YAAG,IAAIC,IAAE6J,EAAEnH,IAAI5C;YAAGE,KAAG6J,EAAEtH,IAAIzC,GAAEE,SAAMA,EAAE0H,KAAK3H;;QAAG,SAAS+D,EAAEhE;YAAG8J,EAAErH,IAAIzC;;QAAM,SAASwD,EAAExD;YAAG,OAAO8J,EAAElH,IAAI5C;;QAAG,SAASwE,EAAExE;YAAG,KAAI,IAAIC,QAAKC,IAAE,GAAEC,IAAEH,EAAEiO,YAAW9N,GAAEA,IAAEA,EAAEkO,aAAYpO,EAAEC,OAAKC;YAAE,OAAOF;;QAAE,SAASwE,EAAEzE,GAAEC,GAAEC;YAAG,KAAI,IAAIC,IAAEqE,EAAExE,IAAGM,IAAE,GAAEA,IAAEH,EAAEmH,QAAOhH,KAAI;gBAAC,IAAIgD,IAAEnD,EAAEG;gBAAG,IAAGL,EAAEqD,IAAG;oBAAC,IAAGpD,EAAEoD,QAAM,GAAE;uBAAYmB,EAAEnB,GAAErD,GAAEC;;;QAAI,SAASqD,EAAEvD,GAAEC;YAAG,IAAIC,KAAG;YAAE,OAAOuE,EAAEzE,GAAE2F,GAAE,SAAS3F;gBAAGgE,EAAEhE;gBAAG,KAAI,IAAIG,IAAE,GAAEA,IAAEF,EAAEqH,QAAOnH,KAAI;oBAAC,IAAIG,IAAEL,EAAEE;yBAAQ,MAAIG,KAAG2E,EAAE3E,GAAEN,OAAKyD,EAAEnD,GAAEN,IAAGC,EAAEE,UAAQ,GAAED,KAAG;;gBAAMA,IAAED,EAAE2T,OAAO,SAAS5T;gBAAG,YAAY,MAAIA;iBAAIC;;QAAE,SAAS2E,EAAE5E,GAAEC;YAAG,KAAI,IAAIC,IAAE,GAAEA,IAAED,EAAEqH,QAAOpH,KAAI,IAAGD,EAAEC,MAAKF,GAAE,OAAOC,EAAEC;;QAAG,SAAS+E,EAAEjF,GAAEC;YAAG,IAAIC,IAAED,EAAE2S,aAAa;YAAU,KAAI1S,GAAE,QAAO;YAAE,IAAGA,IAAEA,EAAE2T,SAAQ3T,GAAE,QAAO;YAAE,IAAGF,EAAE2N,aAAWtI,EAAE2J,cAAa,QAAO;YAAE,KAAI/G,EAAErE,KAAK1D,IAAG,QAAO;YAAE,IAAG,QAAMA,EAAE,OAAKgJ,EAAEtF,KAAK1D,IAAG,QAAO;YAAE;gBAAI,OAAOF,EAAEwP,QAAQtP;cAAG,OAAMC;gBAAG,QAAO;;;QAAG,SAASmF;YAAIJ,IAAE,MAAK+D,EAAEtI,QAAQ,SAASX;gBAAGA,EAAE8T;gBAAW7K;;QAAK,SAASzD,EAAExF;YAAGc,KAAKiT,OAAK/T,GAAEc,KAAKkT,SAAO,GAAElT,KAAKmT,cAAcjU;;QAAG,SAASyF,EAAEzF;YAAG,IAAIC,IAAE8G,EAAEnE,IAAI5C;YAAG,OAAOC,MAAIA,IAAE,IAAIuF,EAAExF,IAAG+G,EAAEtE,IAAIzC,GAAEC,KAAIA;;QAAE,SAASyF,EAAE1F;YAAG,OAAM,cAAYA,EAAEiH;;QAAU,SAAStB,EAAE3F;YAAG,OAAM,cAAYA,EAAEiH;;QAAU,SAASrB,EAAE5F;YAAG,OAAM,aAAWA,EAAEiH;;QAAU,SAASpB,EAAE7F;YAAG,OAAM,aAAWA,EAAEiH;;QAAU,SAASnB,EAAE9F;YAAG,SAAQA,EAAEkH;;QAAW,SAAS3B,EAAEvF;YAAG,OAAOqH,EAAEzE,IAAI5C;;QAAG,SAASqD,EAAErD;YAAG,KAAI,IAAIC,QAAKC,IAAEF,EAAEkH,YAAWhH,GAAEA,IAAEmH,EAAEzE,IAAI1C,IAAGD,EAAE2H,KAAK1H;YAAG,OAAOD;;QAAE,SAAS4E,EAAE7E,GAAEC;YAAG8I,EAAEtG,IAAIzC,GAAEC;;QAAG,SAAS4D,EAAE7D;YAAG,IAAIwF,EAAExF,GAAG8T;;QAAS,IAAI/P,IAAE/D,EAAE8G,SAAS4L,oBAAmBrN,IAAErF,EAAE8G,SAASf,MAAKZ,IAAEnF,EAAEiG;QAAOjG,EAAEsG;QAAM,IAAIpB,GAAEE,IAAEpF,EAAE0G,QAAOwD,IAAElK,EAAE4G,MAAKkD,IAAE,IAAIjI,aAAUkI,IAAE,IAAIlI,aAAUkH,IAAE,IAAIlH,aAAUwF,IAAE,IAAIxF,aAAUkF,IAAE,IAAIlF,aAAUiH,IAAE,IAAIjH,aAAUoG,IAAE,oBAAmBiB,IAAE,IAAIgL,OAAO,UAAO,QAAO,WAAU,UAAS,WAAU,YAAW,WAAU,iBAAgB,aAAY,kBAAiB,eAAc,oBAAmB,eAAc,cAAa,iBAAgB,gBAAe,iBAAgBC,KAAK,OAAK,MAAK3L,IAAE5D,EAAE7D,UAAQ,yBAAwB,4BAA2B,+BAA8B,iBAAekI;QAAKzD,EAAE7D;YAAWmS,QAAO;gBAAW,IAAGhT,KAAKkT,OAAM;oBAAC,IAAIhU,IAAEc,KAAKiT;oBAAKjT,KAAKsT;oBAAkB,IAAInU,IAAED,EAAEkH;oBAAW,IAAGjH,GAAE;wBAACa,KAAKuT,oBAAoBvT,KAAKiT;wBAAM,IAAI7T,IAAEsE,EAAEvE;wBAAGC,EAAES,QAAQ,SAAST;4BAAGY,KAAKwT,WAAWtU,GAAEC,GAAEC,IAAG;2BAAIY,OAAMA,KAAKkT,SAAO;;;;YAAKO,YAAW;gBAAW,KAAIzT,KAAKkT,OAAM;oBAAC,IAAGlT,KAAKkT,SAAO,GAAE/K,EAAErB,KAAK9G,OAAMoE,GAAE;oBAAOA,IAAEnE,OAAOyH,GAAGlD,GAAE;;;YAAKgP,YAAW,SAAStU,GAAEC,GAAEC,GAAEC;gBAAG,IAAG2F,EAAE5F,IAAG;oBAACY,KAAKsN,YAAYpO,GAAEE;oBAAG,IAAII,IAAEmF,EAAEvF;oBAAGI,EAAE0T,SAAO,GAAE1T,EAAEwT;uBAAcpO,EAAExF,KAAGY,KAAK0T,qBAAqBxU,GAAEC,GAAEC,GAAEC,KAAGyF,EAAE1F,KAAGY,KAAK2T,2BAA2BzU,GAAEC,GAAEC,KAAGY,KAAK4T,mBAAmB1U,GAAEC,GAAEC,GAAEC;;YAAIuU,oBAAmB,SAAS1U,GAAEC,GAAEC,GAAEC;gBAAG,IAAGW,KAAKsN,YAAYpO,GAAEE,IAAG4F,EAAE5F,IAAG2D,EAAE3D,SAAO;oBAAC,IAAII,IAAEJ,GAAEoD,IAAEkB,EAAElE;oBAAGgD,EAAE3C,QAAQ,SAASX;wBAAGc,KAAKwT,WAAWhU,GAAEL,GAAED,GAAEG;uBAAIW;;;YAAQ0T,sBAAqB,SAASxU,GAAEC,GAAEC,GAAEC;gBAAG,IAAIG,IAAEkD,EAAEtD;gBAAGI,EAAEgH,UAAQxG,KAAKuT,oBAAoBnU,IAAGI,EAAEK,QAAQ,SAAST;oBAAGwF,EAAExF,MAAIC,IAAEW,KAAK0T,qBAAqBxU,GAAEC,GAAEC,GAAEC,KAAGW,KAAK4T,mBAAmB1U,GAAEC,GAAEC,GAAEC;mBAAIW,SAAOA,KAAK6T,sBAAsB3U,GAAEE,IAAGY,KAAK8J,OAAO1K;;YAAIuU,4BAA2B,SAASzU,GAAEC,GAAEC;gBAAG,IAAIC,IAAEoF,EAAEtF;gBAAG,IAAGE,GAAE;oBAAC0E,EAAE1E,GAAED,IAAGA,EAAE4S,mBAAiB3S,GAAEW,KAAK8J,OAAO1K;oBAAG,IAAII,IAAEkE,EAAErE;oBAAGG,EAAEK,QAAQ,SAASV;wBAAGa,KAAKwT,WAAWtU,GAAEG,GAAEF,IAAG;uBAAIa;uBAAWA,KAAK6T,sBAAsB3U,GAAEE;;YAAIyU,uBAAsB,SAAS3U,GAAEC;gBAAG,IAAIC,IAAEsE,EAAEvE;gBAAGC,EAAES,QAAQ,SAASV;oBAAGa,KAAKsN,YAAYpO,GAAEC;mBAAIa;;YAAOsT,iBAAgB;gBAAW,IAAIpU,IAAEc,KAAKiT,MAAK9T,IAAED,EAAEkH,YAAWhH,QAAKC,IAAEqE,EAAExE;gBAAGG,EAAEQ,QAAQ,SAASX;oBAAG,IAAG0F,EAAE1F,IAAG;wBAAC,IAAIC,IAAEuD,EAAExD;wBAAGC,KAAGA,EAAEqH,WAASrH,IAAEuE,EAAExE,KAAIE,EAAE0H,KAAK1D,MAAMhE,GAAED;2BAAQC,EAAE0H,KAAK5H;;gBAAK,KAAI,IAAIM,GAAEgD,GAAErD,KAAG;oBAAC,IAAGK,SAAO,GAAEmE,EAAExE,GAAE4F,GAAE,SAAS7F;wBAAG,OAAOM,IAAEN,IAAG;wBAAIsD,IAAEhD,GAAEJ,IAAEqD,EAAEtD,GAAEC,IAAGoD,GAAE;wBAAC,IAAII,IAAE6B,EAAEtF;wBAAG,IAAGyD,GAAE;4BAACzD,IAAEyD,GAAEmB,EAAE5E,GAAEqD;4BAAG;;wBAAS;;oBAAM;;;YAAQ8K,aAAY,SAASpO,GAAEC;gBAAGqD,EAAEtD,GAAEC,IAAGa,KAAKmT,cAAchU;;YAAI2K,QAAO,SAAS5K;gBAAG2D,EAAE3D,IAAGc,KAAKmT,cAAcjU;;YAAIqU,qBAAoB,SAASrU;gBAAGM,EAAEN;;YAAIiU,eAAc,SAASjU;gBAAG8I,EAAErG,IAAIzC,GAAEc;;WAAQuE,EAAE1D,UAAUgN,2BAAyB,SAAS3O;YAAG,IAAIC,IAAE6I,EAAElG,IAAI9B;YAAM,KAAIb,GAAE,QAAO;YAAE,IAAIC;YAAE,QAAOF,KAAGc,KAAKoG,eAAahH,IAAEY,KAAKqG,gBAAcjH,EAAEgH,cAAYhH,aAAa8G,gBAAc/G,EAAEsU;aAAc;WAAGxQ,EAAEpC,UAAUiT,sBAAoB;YAAW,OAAOtP,KAAI9B,EAAE1C;WAAOd,EAAEyH,oBAAkBsC,GAAE/J,EAAE4Q,qBAAmBnL,GAAEzF,EAAE0H,iBAAerE,GAAErD,EAAE0T,2BAAyBrM;QAAErH,EAAEmI,mBAAiB7C,GAAEtF,EAAEgI,uBAAqBe,GAAE/I,EAAE6U;YAAQR,qBAAoB/T;YAAE8N,aAAY9K;YAAEuK,aAAYnK;;MAAI5C,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGgE,EAAEnB,KAAK/B,MAAKd;;QAAG,SAASE,EAAEF;YAAG,IAAIE,IAAEE,SAASJ;YAAGC,EAAE0B,UAAU3B,KAAG;gBAAW,OAAO0F,EAAExF,EAAEgE,MAAMpD,KAAKmD,MAAKE;;;QAAa,SAAShE,EAAEH,GAAEC;YAAGD,EAAEkH,cAAYjH,EAAE6U,UAAU9U,EAAEkH,aAAYlH,aAAayE,KAAGnE,EAAEN,GAAEC;YAAG,KAAI,IAAIC,IAAEF,EAAEiO,YAAW/N,GAAEA,IAAEA,EAAEmO,aAAYlO,EAAED,GAAED;;QAAG,SAASK,EAAEL,GAAEC;YAAG,IAAIC,IAAEH,EAAE0T,yBAAyB9Q,IAAI3C;YAAGE,KAAGD,EAAE4U,UAAU3U;;QAAG,SAASmD,EAAEtD;YAAGc,KAAKmD,OAAKjE;;QAAE,SAAS0D,EAAE1D,GAAEC;YAAG,IAAIC,IAAEE,SAAS6S,eAAehT;YAAGD,EAAE2B,UAAU1B,KAAG;gBAAW,OAAOyF,EAAExF,EAAEgE,MAAMpD,KAAKmD,MAAKE;;;QAAa,SAASR,EAAE3D,GAAEC;YAAG,IAAIC,IAAEE,SAAS6S,eAAehT;YAAGD,EAAE2B,UAAU1B,KAAG;gBAAW,OAAOC,EAAEgE,MAAMpD,KAAKmD,MAAKE;;;QAAY,IAAIV,IAAEzD,EAAE8P,wBAAuB9L,IAAEhE,EAAE8G,SAASf,MAAKvC,IAAExD,EAAEqQ,qBAAoB7L,IAAExE,EAAE+P,oBAAmBtL,IAAEzE,EAAE8G,SAASE,YAAWzD,IAAEvD,EAAEmG,kBAAiBvB,IAAE5E,EAAEiN,kBAAiBhI,IAAEjF,EAAEoG,yBAAwBd,IAAEtF,EAAEsG,OAAMd,IAAExF,EAAEwG,iBAAgBf,IAAEzF,EAAE0G,QAAOhB,IAAE1F,EAAE4G,MAAKjB,IAAE3F,EAAEmN;QAAuBnN,EAAE0N;QAAa,IAAI9H,IAAE,IAAI/D;QAAU5B,EAAE0B,YAAUlB,OAAOiE,OAAOV,EAAErC,YAAW4B,EAAEtD,GAAE,oBAAmBsD,EAAEtD,GAAE;QAAQsD,EAAEtD,GAAE,WAAS,kBAAiB,iBAAgB,mBAAkB,kBAAiB,0BAAyB,eAAc,kBAAiBU,QAAQT;QAAG,IAAI2F,IAAEzF,SAAS0U,WAAUhP,IAAE1F,SAAS2U;QAAMzP,EAAErF,EAAE0B;YAAWmT,WAAU,SAAS9U;gBAAG,OAAOA,EAAEmH,cAAYnH,EAAEmH,WAAW0G,YAAY7N,IAAG6F,EAAEhD,KAAK/B,KAAKmD,MAAKwB,EAAEzF,KAAIG,EAAEH,GAAEc;gBAAMd;;YAAGiN,kBAAiB,SAASjN,GAAEC;gBAAG,OAAO2E,EAAE9D,MAAKA,MAAKd,GAAEC;;YAAI8U,OAAM,SAAS/U;gBAAG,KAAI,IAAIC,IAAEa,KAAKwO,iBAAiB,MAAKpP,IAAED,EAAEA,EAAEqH,SAAO,IAAGpH,EAAEmO,eAAanO,IAAEA,EAAEmO;gBAAY,IAAIlO,IAAED,EAAEiH;gBAAWhH,EAAEoO,kBAAgB,GAAErO,EAAE8N,oBAAkB,GAAElI,EAAEjD,KAAK/B,KAAKmD,MAAKjE;;YAAMiF,IAAGlE,OAAOiU,iBAAgBjU,OAAOkU,gBAAclU,OAAOqH,UAASrH,OAAOmU,qBAAkB,eAAc,2BAA0B,0BAAyB,wBAAuB,0BAAyB,gBAAe,iBAAgB,oBAAmB,eAAc;QAAiBjQ,IAAGlE,OAAOkU,gBAAclU,OAAOqH,cAAW,aAAY,0BAAyB,iBAAgB,mBAAkB,eAAc,iBAAgB,kBAAiB,oBAAmB,kBAAiB;QAAU9C,EAAErF,EAAE0B,WAAU8B,IAAG6B,EAAErF,EAAE0B,WAAU6B,IAAG8B,EAAErF,EAAE0B,WAAU6C,IAAGc,EAAErF,EAAE0B;YAAWiB,IAAIqQ;gBAAiB,IAAIjT,IAAE4F,EAAEhD,IAAI9B;gBAAM,OAAOd,IAAEA,KAAGA,IAAE,IAAIsD,EAAEmC,EAAE3E,MAAMmS,iBAAgBrN,EAAEnD,IAAI3B,MAAKd,IAAGA;;YAAMwF,EAAEzE,OAAOqH,UAASnI,GAAEG,SAAS6S,eAAeC,mBAAmB,MAAKnS,OAAOkU,gBAAczP,EAAEzE,OAAOkU,cAAahV;QAAG0F,IAAG5E,OAAOiU,iBAAgBjU,OAAOkU,gBAAclU,OAAOqH,UAASrH,OAAOmU;QAAkBxR,EAAEJ,GAAE,uBAAsBI,EAAEJ,GAAE,mBAAkBI,EAAEJ,GAAE;QAAsBK,EAAEL,GAAE,eAAckC,EAAEzE,OAAOiE,mBAAkB1B,IAAG2B,IAAGlE,OAAOiE,uBAAoB,sBAAqB,kBAAiB,sBAAqB;QAAehF,EAAE8G,SAASsB,WAASnI,GAAED,EAAE8G,SAAS9B,oBAAkB1B;MACv7+BxC,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGE,EAAE2C,KAAK/B,MAAKd;;QAAG,IAAIE,IAAEF,EAAE8G,SAAShC,aAAY3E,IAAEH,EAAEsG,OAAMhG,IAAEN,EAAEwG,iBAAgBlD,IAAEtD,EAAE0G,QAAOhD,IAAE1D,EAAE2G,gBAAehD,IAAE3D,EAAE4G,MAAKnD,IAAE1C,OAAOiF;QAAO/F,EAAE0B,YAAUlB,OAAOiE,OAAOxE,EAAEyB;QAAW,IAAIqC,IAAEjD,OAAOoU;QAAiB1R,EAAE9B,UAAUwT,mBAAiB,SAASnV,GAAEC;YAAG,OAAO+D,EAAEnB,KAAK/B,QAAMC,QAAO2C,EAAE1D,IAAGC;aAAK,oBAAmB,uBAAsB,kBAAiBU,QAAQ,SAASX;YAAGyD,EAAE9B,UAAU3B,KAAG;gBAAW,IAAIC,IAAE0D,EAAE7C,QAAMC;gBAAQ,OAAOd,EAAED,GAAGkE,MAAMjE,GAAEkE;;YAAchE,EAAEF,EAAE0B;YAAWwT,kBAAiB,SAASnV,GAAEC;gBAAG,OAAO+D,EAAEnB,KAAKS,EAAExC,OAAM4C,EAAE1D,IAAGC;;YAAMK,EAAEmD,GAAExD,IAAGD,EAAE8G,SAASd,SAAO/F;MAAGa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAGc,KAAKmD,OAAKjE;;QAAE,SAASE,EAAEF;YAAG,OAAO,IAAIC,EAAED;;QAAG,SAASG,EAAEH;YAAG,OAAOA,EAAEoV,IAAIlV;;QAAG,SAASI,EAAEN;YAAG,IAAIC,IAAEa;YAAKA,KAAKmD,OAAK,IAAIT,EAAE,SAAStD;gBAAGF,EAAE6C,KAAK5C,GAAEE,EAAED,IAAGD;;;QAAK,IAAIqD,IAAEtD,EAAEkG,cAAaxC,IAAE1D,EAAEmG,kBAAiBxC,IAAE3D,EAAEwG,iBAAgB/C,IAAEzD,EAAE2G,gBAAe3C,IAAEhE,EAAE0N;QAAa1N,EAAE8G;QAAS,IAAItD,IAAEzC,OAAOsU,oBAAkBtU,OAAOuU;QAAuB,IAAG9R,GAAE;YAAC,IAAIgB,IAAEzD,OAAOwU;YAAetV,EAAE0B;gBAAWiB,IAAI4S;oBAAa,OAAOxR,EAAElD,KAAKmD,KAAKuR;;gBAAa5S,IAAI6S;oBAAe,OAAOzR,EAAElD,KAAKmD,KAAKwR;;iBAAiB,UAAS,mBAAkB,gBAAe9U,QAAQ,SAASX;gBAAG0D,EAAEzD,GAAED;kBAAM,QAAO,iBAAgB,sBAAqB,aAAYW,QAAQ,SAASX;gBAAGsD,EAAErD,GAAED,GAAE;oBAAW,OAAOc,KAAKmD,KAAKjE;;gBAAOwE,KAAGb,EAAEa,GAAEvE,IAAGc,OAAOgF,MAAKzF,EAAEqB;gBAAW+T,SAAQ,SAAS1V,GAAEC;oBAAGa,KAAKmD,KAAKyR,QAAQjS,EAAEzD,IAAGC;;gBAAI0V,YAAW;oBAAW7U,KAAKmD,KAAK0R;;gBAAcC,aAAY;oBAAW,OAAOzV,EAAEW,KAAKmD,KAAK2R;;eAAiB5V,EAAE8G,SAASuO,mBAAiB/U,GAAEN,EAAE8G,SAASyO,iBAAetV;;MAAIa,KAAKiC,oBAAmB,SAAS/C;QAAG;QAAa,SAASC,EAAED;YAAG,IAAIC,IAAEC,EAAEF,IAAGG,IAAEY,OAAOd;YAAG,IAAGE,GAAE;gBAAC,IAAIG,IAAEF,SAASiR,cAAcrR,IAAGsD,IAAEhD,EAAEqE;gBAAY5D,OAAOd,KAAGqD;;;QAAGtD,EAAEqG;QAAa,IAAInG;YAAGF,GAAE;YAAoB6V,QAAO;YAAoBtE,MAAK;YAAkBuE,OAAM;YAAmBrE,IAAG;YAAgBD,MAAK;YAAkBuE,MAAK;YAAkBrJ,QAAO;YAAoBsJ,QAAO;YAAoBC,IAAG;YAAmBC,UAAS;YAAsBC,KAAI;YAAuBC,KAAI;YAAiBxE,OAAM;YAAmByE,UAAS;YAAsBC,MAAK;YAAkBC,MAAK;YAAkBC,OAAM;YAAmBC,UAAS;YAAsB5E,IAAG;YAAgB6E,MAAK;YAAkBC,IAAG;YAAqBC,MAAK;YAAkBC,QAAO;YAAoB9E,OAAM;YAAmB+E,IAAG;YAAgBC,OAAM;YAAmBC,QAAO;YAAoB/E,MAAK;YAAkBmD,KAAI;YAAiB6B,MAAK;YAAkBC,UAAS;YAAsBhF,MAAK;YAAkBiF,OAAM;YAAmBC,KAAI;YAAiBC,IAAG;YAAmBC,QAAO;YAAoBC,UAAS;YAAsBC,QAAO;YAAoBC,QAAO;YAAoBxS,GAAE;YAAuBkN,OAAM;YAAmBuF,KAAI;YAAiBC,UAAS;YAAsBrS,GAAE;YAAmBsS,QAAO;YAAoBjF,QAAO;YAAoBP,QAAO;YAAoByF,MAAK;YAAkBC,OAAM;YAAmBC,SAAQ;YAA0BrG,KAAI;YAAsBsG,OAAM;YAAmBC,IAAG;YAAsBC,OAAM;YAA0BC,OAAM;YAA0BC,UAAS;YAAsBC,OAAM;YAAmBC,IAAG;YAAmBC,OAAM;;QAAoB9X,OAAOC,KAAKR,GAAGS,QAAQV,IAAGQ,OAAOwC,oBAAoBjD,EAAE8G,UAAUnG,QAAQ,SAASV;YAAGc,OAAOd,KAAGD,EAAE8G,SAAS7G;YAAKD,EAAEwY,gBAActY;MAAGY,KAAKiC,oBAAmB;QAAWhC,OAAO6F,OAAK,SAAS5G;YAAG,OAAOA,EAAEiE,OAAKjE,IAAE+C,kBAAkB6D,KAAK5G;WAAIe,OAAO2F,SAAO,SAAS1G;YAAG,OAAOA,EAAEiE,OAAKlB,kBAAkB2D,OAAO1G,KAAGA;;QAAG,IAAIA,IAAEe,OAAOoU;QAAiBpU,OAAOoU,mBAAiB,SAASlV,GAAEC;YAAG,OAAOF,EAAE6C,KAAK9B,QAAO6F,KAAK3G,IAAGC;WAAIO,OAAOgY,iBAAiB/W,YAAYC;YAAW+W;gBAAkB9V,KAAI;oBAAW,OAAO9B,KAAKoG;;;YAAexF,YAAYC,UAAUC,yBAAuBF,YAAYC,UAAUgP;;OAAwB;IAAC,IAAI9O;IAAU,sBAAoBC,WAASC,UAAUC,UAAUC,QAAQ,cAAY,IAAEJ,YAAUC,UAAQ;QAAW,IAAI9B,IAAES,OAAOyB,gBAAejC,IAAEQ,OAAO0B,gBAAejC,IAAE,IAAKkC,OAAMC,YAAU;QAAIR,YAAU;YAAWf,KAAKwB,OAAK,UAAQ,MAAIC,KAAKC,aAAW,MAAItC,MAAK;WAAO2B,UAAUF;YAAWc,KAAI,SAASxC,GAAEC;gBAAGF,EAAEC,GAAEa,KAAKwB;oBAAMI,OAAMxC;oBAAEyC,WAAU;;;YAAKC,KAAI,SAAS5C;gBAAG,OAAOC,EAAE4C,KAAK7C,GAAEc,KAAKwB,QAAMtC,EAAEc,KAAKwB,aAAW;;YAAGQ,UAAS,SAAS9C;gBAAGc,KAAK2B,IAAIzC,QAAO;;;SAAQ;QAAWe,OAAO4X,kBAAgB5X,OAAO4X,mBAAiB,SAAS3Y;YAAG,OAAOA,EAAEoT;WAASrS,OAAO6F,OAAK7F,OAAO2F,SAAO,SAAS1G;YAAG,OAAOA;WAAGS,OAAOgY,iBAAiB/W,YAAYC;YAAWuF;gBAAYtE,KAAI;oBAAW,OAAO9B,KAAK4X;;;YAAmB/H;gBAAkBjO,OAAM;oBAAW,OAAO5B,KAAKc;;;YAA6Bb,OAAO4X,kBAAgB,SAAS3Y;YAAG,IAAGe,OAAOoS,uBAAqBA,oBAAoByF,aAAWzF,oBAAoByF,UAAU5Y;aAAIA,EAAEoT,YAAUpT,EAAE6Y,UAAS;gBAAC,KAAI,IAAI5Y,IAAEG,SAAS+N,0BAAyBnO,EAAEiO,cAAYhO,EAAEmO,YAAYpO,EAAEiO;gBAAYjO,EAAE6Y,WAAS5Y;;YAAE,OAAOD,EAAEoT,WAASpT,EAAE6Y;;;;;AAAa,IAAG,SAAS7Y;IAAG,SAASC,EAAED;QAAG,KAAI,IAAIC,IAAED,SAAMG,IAAE,GAAEA,IAAEgE,UAAUmD,QAAOnH,KAAI;YAAC,IAAIG,IAAE6D,UAAUhE;YAAG;gBAAI,KAAI,IAAImD,KAAKhD,GAAEJ,EAAEoD,GAAEhD,GAAEL;cAAG,OAAMyD;;QAAK,OAAOzD;;IAAE,SAASC,EAAEF,GAAEC,GAAEC;QAAG,IAAII,IAAEH,EAAEF,GAAED;QAAGS,OAAOyB,eAAehC,GAAEF,GAAEM;;IAAG,SAASH,EAAEH,GAAEC;QAAG,IAAGD,GAAE;YAAC,IAAIE,IAAEO,OAAOyC,yBAAyBlD,GAAEC;YAAG,OAAOC,KAAGC,EAAEM,OAAO2C,eAAepD,IAAGC;;;IAAI6Y,SAASnX,UAAUoX,SAAOD,SAASnX,UAAUoX,OAAK,SAAS/Y;QAAG,IAAIC,IAAEa,MAAKZ,IAAE8Y,MAAMrX,UAAUN,MAAMwB,KAAKsB,WAAU;QAAG,OAAO;YAAW,IAAIhE,IAAED,EAAEmB;YAAQ,OAAOlB,EAAEyH,KAAK1D,MAAM/D,GAAEgE,YAAWlE,EAAEiE,MAAMlE,GAAEG;;QAAMH,EAAEsG,QAAMrG;EAAGc,OAAOC,WAAU,SAAShB;IAAG;IAAa,SAASC,EAAED,GAAEC,GAAEC;QAAG,IAAIC,IAAE,mBAAiBH,IAAEI,SAASiR,cAAcrR,KAAGA,EAAEoP,WAAW;QAAG,IAAGjP,EAAEmR,YAAUrR,GAAEC,GAAE,KAAI,IAAII,KAAKJ,GAAEC,EAAE0Q,aAAavQ,GAAEJ,EAAEI;QAAI,OAAOH;;IAAE,IAAID,IAAE+Y,aAAatX,UAAUuX,KAAI/Y,IAAE8Y,aAAatX,UAAUiJ;IAAO,IAAGqO,aAAatX,UAAUuX,MAAI;QAAW,KAAI,IAAIlZ,IAAE,GAAEA,IAAEmE,UAAUmD,QAAOtH,KAAIE,EAAE2C,KAAK/B,MAAKqD,UAAUnE;OAAKiZ,aAAatX,UAAUiJ,SAAO;QAAW,KAAI,IAAI5K,IAAE,GAAEA,IAAEmE,UAAUmD,QAAOtH,KAAIG,EAAE0C,KAAK/B,MAAKqD,UAAUnE;OAAKiZ,aAAatX,UAAUwX,SAAO,SAASnZ,GAAEC;QAAG,KAAGkE,UAAUmD,WAASrH,KAAGa,KAAK6G,SAAS3H,KAAIC,IAAEa,KAAKoY,IAAIlZ,KAAGc,KAAK8J,OAAO5K;OAAIiZ,aAAatX,UAAU,SAAO,SAAS3B,GAAEC;QAAGD,KAAGc,KAAK8J,OAAO5K,IAAGC,KAAGa,KAAKoY,IAAIjZ;OAAI8K,SAASpJ,UAAUhB,UAAQ,SAASX,GAAEC;QAAG+Y,MAAMrX,UAAUN,MAAMwB,KAAK/B,MAAMH,QAAQX,GAAEC;OAAImZ,eAAezX,UAAUhB,UAAQ,SAASX,GAAEC;QAAG+Y,MAAMrX,UAAUN,MAAMwB,KAAK/B,MAAMH,QAAQX,GAAEC;QAAKc,OAAOsY,aAAY;QAAC,IAAI/Y,IAAE8B,KAAKkX;QAAMvY,OAAOsY;YAAaC,KAAI;gBAAW,OAAOlX,KAAKkX,QAAMhZ;;;;IAAIS,OAAOwY,0BAAwBxY,OAAOwY,wBAAsB;QAAW,IAAIvZ,IAAEe,OAAOyY,+BAA6BzY,OAAO0Y;QAAyB,OAAOzZ,IAAE,SAASC;YAAG,OAAOD,EAAE;gBAAWC,EAAEoZ,YAAYC;;YAAU,SAAStZ;YAAG,OAAOe,OAAO2Y,WAAW1Z,GAAE,MAAI;;UAASe,OAAO4Y,yBAAuB5Y,OAAO4Y,uBAAqB;QAAW,OAAO5Y,OAAO6Y,8BAA4B7Y,OAAO8Y,2BAAyB,SAAS7Z;YAAG8Z,aAAa9Z;;UAAQA,EAAE+Z,YAAU9Z;EAAGc,OAAOC,WAAUD,OAAO4X,kBAAgB5X,OAAO4X,mBAAiB,SAAS3Y;IAAG,OAAOA,EAAEoT;GAAS,SAASpT;IAAGA,IAAEA,MAAIe,OAAOiZ;IAAc,IAAI/Z;IAAEc,OAAOkZ,WAAS,SAASja,GAAEG;QAAGF,MAAIA,IAAEc,OAAOmZ,KAAK,IAAG,uBAAsB,OAAM,IAAGja,EAAEG,SAAS2U,MAAM7U;QAAGD,EAAEka;YAAKC,WAAUA;YAAY9W,EAAEtD,KAAG4G,KAAKxG,SAAS2V,OAAM5V;;IAAI,IAAID,MAAG,mBAAkB,UAAS,YAAW,0CAAyC,eAAc,gBAAe,WAAU,eAAc,+CAA8C,+BAA8B,WAAU,eAAc,0BAAyB,WAAU,cAAa,uBAAsB,wBAAuB,8BAA6B,WAAU,cAAa,mCAAkC,uCAAsC,8BAA6B,gCAA+B,+BAA8B,WAAU,gBAAe,aAAY,YAAW,wBAAuB,aAAY,6BAA4B,aAAY,YAAWiU,KAAK,OAAMhU,QAAKG,IAAE;QAAW,IAAIN,IAAEC,EAAEG,UAASF,IAAEF,EAAEqP,cAAc;QAAWnP,EAAE+O,cAAY;QAAG,KAAI,IAAI3O,GAAEoD,IAAE,GAAEpD,IAAEH,EAAEuD,IAAGA,KAAI;YAAC,IAAIC,IAAE3D,EAAEqR,cAAc;YAAK1N,EAAE0W,OAAK,KAAI1W,EAAEsL,cAAY3O,EAAE2G,WAAUtD,EAAE2W,MAAI5W,GAAEC,EAAE4W,UAAQ,SAASva;gBAAG,KAAI,IAAIC,GAAEE,EAAEmH,SAAOxG,KAAKwZ,OAAKra,IAAEE,EAAE4H;gBAAMzE,EAAErD,EAAEsB,UAAQtB,GAAEA,IAAGD,EAAEwK;eAAkBtK,EAAEkO,YAAYpO,EAAEqR,cAAc,OAAOjD,YAAYzK;;OAAKL,IAAE,SAAStD,GAAEE;QAAG,IAAIoD,IAAErD,EAAEG;QAASoD;QAAK,IAAIE,IAAExD,KAAGF;QAAEG,EAAEyH,KAAKlE,IAAGpD,KAAIgD,EAAEyS,KAAK1G,cAAc,SAASiC,YAAU,UAAQtN,EAAEhE,GAAEA,EAAEmP,cAAY;OAAUzL,IAAEsV,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB,UAASgD;QAAG6W,OAAM;QAAEC,QAAO;QAAEC,YAAW;QAAEC,UAAS;OAAGlX,IAAE,SAASzD;QAAG,OAAO2D,EAAE3D,EAAE4a;OAAW5W,IAAE,SAAShE,GAAEC,GAAEC;QAAG,IAAGuD,EAAEzD,IAAG,OAAM;QAAG,IAAIG,IAAED,KAAG;QAAG,IAAGF,EAAEiH,aAAW,MAAIjH,EAAE2N,UAAS;YAAC,IAAIrN,IAAEN,EAAEiH,aAAW,eAAc3D,IAAEnD,IAAEqE,EAAExE;YAAG,aAAWM,MAAIL,IAAED,EAAE4U,wBAAuBtR,KAAG;YAAQ,IAAIK,IAAExD,IAAE;YAAeuD,EAAEzD,GAAE,SAASD;gBAAGsD,KAAGU,EAAEhE,GAAEA,EAAEmP,YAAWxL;gBAAKL,KAAGnD;gBAAGsR,IAAG;cAAGnR,OAAKgD,KAAG,eAAahD,IAAE,cAAagD,KAAG;eAAa;YAAC,IAAIE,IAAExD,EAAEiP,YAAY4E;YAAOvQ,IAAEE,IAAErD,IAAE,MAAIqD,IAAE,MAAI,UAAQ;;QAAG,OAAOF;OAAGE,QAAKgB,IAAE,SAASxE;QAAG,IAAIC,IAAE,aAAYC,IAAEF,EAAEiH,aAAW;QAAc,OAAOjH,EAAE0Y,oBAAkB1Y,EAAEkH,cAAYjH,KAAG,mBAAiBuD,EAAE8D,SAAO,0CAAwCpH,IAAE;QAAYsD,EAAEoE,KAAK5H,MAAIC,KAAGC,KAAG,eAAcF,EAAEiR,cAAYvN,EAAE1D,EAAEiR,YAAW,SAASjR;YAAGC,KAAG,MAAID,EAAEsC,QAAMtC,EAAE0C,QAAM,OAAK1C,EAAE0C,QAAM,MAAI;YAAMzC,KAAG;;IAAcma,YAAU;QAAW,IAAIpa,IAAE6a,OAAO/Z,KAAKmQ,WAAWqJ,IAAI5X,QAAOzC,IAAEuD,EAAExD;QAAGC,IAAEqD,EAAErD,EAAEyY,oBAAkBzY,EAAEiH,YAAWjH,MAAIwJ,QAAQqR,IAAI;QAAsBrR,QAAQ0M,IAAIrV;OAAQd,EAAEyX,SAAOzT;EAAGjD,OAAOiZ,YAAW,SAASha;IAAG;IAAa,SAASC;QAAI,SAASD,EAAEA;YAAG,aAAWA,EAAE,GAAGkI,QAAM,aAAWlI,EAAE,GAAGkI,SAAOjI,KAAG;;QAAG,IAAG,qBAAmBQ,OAAOiV,WAAS,qBAAmBsD,MAAMtD,SAAQ,QAAO;QAAE,IAAIzV,KAAG,GAAEC,MAAG;QAAG,OAAO8Y,MAAMtD,QAAQxV,GAAEF,IAAGE,EAAE,KAAG,GAAEA,EAAEoH,SAAO,GAAE7G,OAAOsa,qBAAqB/a;QAAGC;;IAAE,SAASC,EAAEF;QAAG,QAAOA,MAAIA,MAAI;;IAAE,SAASG,EAAEH;QAAG,QAAOA;;IAAE,SAASM,EAAEN;QAAG,OAAOA,MAAIS,OAAOT;;IAAG,SAASsD,EAAEtD,GAAEC;QAAG,OAAOD,MAAIC,IAAE,MAAID,KAAG,IAAEA,MAAI,IAAEC,IAAEgI,EAAEjI,MAAIiI,EAAEhI,MAAI,IAAED,MAAIA,KAAGC,MAAIA;;IAAE,SAASyD,EAAE1D;QAAG,OAAM,mBAAiBA,KAAG,KAAGA,IAAEA,EAAE8Q,QAAQ,OAAM,KAAI,MAAI9Q,KAAG,IAAE,OAAKA,EAAE,MAAI,IAAEqI,EAAEzE,KAAK5D;;IAAI,SAAS2D,EAAE3D;QAAG,OAAM,MAAIA,EAAE6T,SAAO/S,OAAKZ,EAAEF,MAAIc,KAAK8G,KAAKiL,OAAO7S,KAAIc,SAAOd,EAAEsB,MAAM,MAAMsS,OAAO,SAAS5T;YAAG,OAAOA;WAAIW,QAAQ,SAASX;YAAGc,KAAK8G,KAAK5H;WAAIc,YAAW;;IAAG,SAAS2C,EAAEzD;QAAG,KAAI,IAAIC,IAAE,GAAE4J,IAAE5J,KAAGD,EAAEgb,WAAShb,EAAEib,UAAShb;;IAAI,SAAS+D,EAAEhE;QAAG,KAAI,IAAIC,KAAKD,GAAE,QAAO;QAAE,QAAO;;IAAE,SAASwD,EAAExD;QAAG,OAAOgE,EAAEhE,EAAEkb,UAAQlX,EAAEhE,EAAEmJ,YAAUnF,EAAEhE,EAAEmb;;IAAS,SAAS3W,EAAExE,GAAEC;QAAG,IAAIC,QAAKC,QAAKG;QAAK,KAAI,IAAIgD,KAAKrD,GAAE;YAAC,IAAIyD,IAAE1D,EAAEsD;kBAAS,MAAII,KAAGA,MAAIzD,EAAEqD,QAAMA,KAAKtD,IAAE0D,MAAIzD,EAAEqD,OAAKhD,EAAEgD,KAAGI,KAAGvD,EAAEmD,UAAQ;;QAAG,KAAI,IAAIA,KAAKtD,GAAEsD,KAAKrD,MAAIC,EAAEoD,KAAGtD,EAAEsD;QAAI,OAAO0V,MAAMoC,QAAQpb,MAAIA,EAAEsH,WAASrH,EAAEqH,WAAShH,EAAEgH,SAAOtH,EAAEsH;YAAS4T,OAAMhb;YAAEiJ,SAAQhJ;YAAEgb,SAAQ7a;;;IAAG,SAASmE,EAAEzE,GAAEC;QAAG,IAAIC,IAAED,MAAI+Y,MAAMoC,QAAQpb;QAAU,KAAI,IAAIG,KAAKH,GAAEE,EAAEC,KAAGH,EAAEG;QAAG,OAAO6Y,MAAMoC,QAAQpb,OAAKE,EAAEoH,SAAOtH,EAAEsH,SAAQpH;;IAAE,SAASqD,EAAEvD;QAAGc,KAAKua,WAASrb,GAAEc,KAAKwa,aAAW,GAAEvS,MAAIjI,KAAKya,wBAAsBza,KAAK0a,iBAAiBzC,KAAKjY;QAAOA,KAAK2a,SAAO,GAAE7W,EAAE9D,OAAMA,KAAK4a,WAAU5a,KAAK6a,MAAM;;IAAG,SAAS/W,EAAE5E;QAAGmL,MAAID,EAAEtD,KAAK5H,IAAGuD,EAAEqY;;IAAsB,SAAS3W,EAAEjF;QAAG,IAAGmL,GAAE,KAAI,IAAIlL,IAAE,GAAEA,IAAEiL,EAAE5D,QAAOrH,KAAI,IAAGiL,EAAEjL,OAAKD,GAAE;YAACkL,EAAEjL,UAAQ,GAAEsD,EAAEqY;YAAqB;;;IAAO,SAAStW,EAAEtF,GAAEC;QAAGa,KAAKwW,SAAOtX,GAAEuD,EAAEV,KAAK/B,MAAKb;;IAAG,SAASuF,EAAExF,GAAEC;QAAG,KAAI+Y,MAAMoC,QAAQpb,IAAG,MAAMgD,MAAM;QAAmClC,KAAKwW,SAAOtX,GAAEuD,EAAEV,KAAK/B,MAAKb;;IAAG,SAASwF,EAAEzF,GAAEC;QAAG,KAAIA,EAAEqH,QAAO,OAAOtH;QAAE,IAAGM,EAAEN,IAAG;YAAC,IAAGqH,GAAE,OAAOzB,EAAE5F,GAAEC;YAAG,IAAIC;YAAE,OAAOD,EAAE4b,mBAAmB7b,GAAE,SAASA,GAAEG,GAAEG;gBAAGA,MAAIL,EAAEqH,WAASpH,IAAEC;gBAAKD;;;IAAG,SAASwF,EAAE1F,GAAEC,GAAEC;QAAG,KAAID,EAAEqH,WAAShH,EAAEN,IAAG,QAAO;QAAE,IAAIG,KAAG;QAAE,OAAOF,EAAE4b,mBAAmB7b,GAAE,SAASA,GAAEsD,GAAEI;YAAGpD,EAAEgD,MAAII,KAAGzD,EAAEqH,SAAO,MAAInH,KAAG,GAAEmD,EAAEtD,KAAGE;YAAKC;;IAAE,SAASwF,EAAE3F;QAAG,IAAIC,IAAE,IAAGC,IAAE,OAAMC,IAAEH,EAAEsH;QAAOrH,KAAG;QAAU,KAAI,IAAIK,IAAE,GAAEH,IAAE,IAAEG,GAAEA,KAAI;YAAC,IAAIgD,IAAE,OAAKtD,EAAEM,KAAG;YAAKJ,KAAGoD,GAAErD,KAAG,SAAOC;;QAAE,OAAOD,KAAG,MAAKC,KAAG,OAAKF,EAAEG,IAAE,KAAG,MAAKF,KAAG,YAAUC,IAAE;QAA2B,IAAI4Y,SAAS,OAAM7Y;;IAAG,SAAS2F,EAAE5F,GAAEC;QAAG,IAAIC,IAAED,EAAE6b;QAAW,OAAOzQ,EAAEnL,OAAKmL,EAAEnL,KAAGyF,EAAE1F,KAAIoL,EAAEnL,GAAGF;;IAAG,SAAS6F,EAAE5F,GAAEC,GAAEC,GAAEmD,GAAEI;QAAG,IAAIC,SAAO;QAAE,OAAOzD,EAAE2b,mBAAmB5b,GAAE,SAASA,GAAEwD,GAAEO;YAAG,IAAGA,MAAI9D,EAAEoH,QAAO,OAAO3D,IAAEF,QAAO;YAAE,IAAID,IAAErD,EAAE6D;YAAG,KAAIR,KAAGC,MAAID,EAAE,IAAG;gBAAC,IAAGA,GAAE,KAAI,IAAIgB,IAAE,GAAEA,IAAEhB,EAAE8D,QAAO9C,KAAI;oBAAC,IAAIC,IAAEjB,EAAEgB,IAAGjB,IAAED,EAAEV,IAAI6B;oBAAG,KAAGlB,KAAGD,EAAE,OAAOmB,IAAGzE,EAAE+b,kBAAiBtb,OAAOub,UAAUvX,GAAEf,MAAIJ,EAAEb,IAAIgC,GAAElB,IAAE;;gBAAG,IAAGC,IAAEC,GAAEnD,EAAEkD,IAAG;oBAAC,KAAI,IAAIA,QAAKlD,EAAEmD,MAAI;wBAACD,EAAEoE,KAAKnE;wBAAG,IAAIF,IAAED,EAAEV,IAAIa;wBAAGF,IAAED,EAAEb,IAAIgB,GAAEF,IAAE,MAAID,EAAEb,IAAIgB,GAAE,IAAGzD,EAAEic,gBAAexb,OAAOiV,QAAQjS,GAAEC,KAAID,IAAEhD,OAAO2C,eAAeK;;oBAAGtD,EAAE6D,KAAGR;;;WAAK1C,OAAM6C;;IAAE,SAASmC,EAAE9F,GAAEC,GAAEC;QAAG,IAAGY,KAAK4B,aAAW,GAAEgB,EAAEzD,IAAG;YAAC,IAAIE,IAAE,IAAIwD,EAAE1D;YAAG,OAAOE,EAAEmH,UAAQhH,EAAEN,OAAKc,KAAKwW,SAAOtX,GAAEc,KAAKgK,OAAK3K,GAAE4I,KAAGjI,KAAKob,WAAS,IAAIlD,MAAM7Y,EAAEmH;YAAQxG,KAAKqb,cAAY,IAAIC,OAAItb,KAAKub,eAAaxW,KAAG/E,KAAKub,eAAa5W,GAAElC,EAAEV,KAAK/B,MAAKZ;iBAAS,MAAIY,KAAK4B,QAAM1C,QAAO;;;IAAI,SAASuF,EAAEvF,GAAEC;QAAG,IAAG,qBAAmBQ,OAAOiV,SAAQ;YAAC,IAAIxV,IAAEO,OAAO6b,YAAYtc;YAAG,OAAO,SAASG,GAAEG;gBAAG,IAAIgD;oBAAGgU,QAAOtX;oBAAEkI,MAAK/H;oBAAEmC,MAAKrC;;gBAAG,MAAIkE,UAAUmD,WAAShE,EAAEiZ,WAASjc,IAAGJ,EAAEsc,OAAOlZ;;;;IAAK,SAASD,EAAErD,GAAEC,GAAEC;QAAG,KAAI,IAAIC,QAAKG,QAAKgD,IAAE,GAAEA,IAAErD,EAAEqH,QAAOhE,KAAI;YAAC,IAAII,IAAEzD,EAAEqD;YAAGiI,GAAG7H,EAAEwE,SAAOxE,EAAEpB,QAAQpC,MAAIA,EAAEwD,EAAEpB,QAAMoB,EAAE6Y,WAAU,aAAW7Y,EAAEwE,SAAO,SAAOxE,EAAEwE,OAAKxE,EAAEpB,QAAQnC,YAAUA,EAAEuD,EAAEpB;mBAAapC,EAAEwD,EAAEpB,SAAOhC,EAAEoD,EAAEpB,SAAO,IAAEoB,EAAEpB,QAAQhC,WAASA,EAAEoD,EAAEpB,QAAMnC,EAAEuD,EAAEpB,SAAO,OAAKmH,QAAQC,MAAM,gCAA8BhG,EAAEwE;YAAMuB,QAAQC,MAAMhG;;QAAI,KAAI,IAAIC,KAAKxD,GAAEA,EAAEwD,KAAG3D,EAAE2D;QAAG,KAAI,IAAIA,KAAKrD,GAAEA,EAAEqD,UAAQ;QAAE,IAAIF;QAAK,KAAI,IAAIE,KAAKzD,GAAE,MAAKyD,KAAKxD,KAAGwD,KAAKrD,IAAG;YAAC,IAAI0D,IAAEhE,EAAE2D;YAAGzD,EAAEyD,OAAKK,MAAIP,EAAEE,KAAGK;;QAAG;YAAOkX,OAAM/a;YAAEgJ,SAAQ7I;YAAE6a,SAAQ1X;;;IAAG,SAASoB,EAAE7E,GAAEC,GAAEC,GAAEC,GAAEG,GAAEgD;QAAG,KAAI,IAAII,IAAEJ,IAAEhD,IAAE,GAAEqD,IAAEzD,IAAED,IAAE,GAAEwD,IAAE,IAAIuV,MAAMtV,IAAGM,IAAE,GAAEN,IAAEM,GAAEA,KAAIP,EAAEO,KAAG,IAAIgV,MAAMrV;QAAGF,EAAEO,GAAG,KAAGA;QAAE,KAAI,IAAIR,IAAE,GAAEG,IAAEH,GAAEA,KAAIC,EAAE,GAAGD,KAAGA;QAAE,KAAI,IAAIQ,IAAE,GAAEN,IAAEM,GAAEA,KAAI,KAAI,IAAIR,IAAE,GAAEG,IAAEH,GAAEA,KAAI,IAAGrD,EAAEG,IAAE0D,IAAE,OAAKhE,EAAEC,IAAEuD,IAAE,IAAGC,EAAEO,GAAGR,KAAGC,EAAEO,IAAE,GAAGR,IAAE,SAAO;YAAC,IAAIgB,IAAEf,EAAEO,IAAE,GAAGR,KAAG,GAAEiB,IAAEhB,EAAEO,GAAGR,IAAE,KAAG;YAAEC,EAAEO,GAAGR,KAAGiB,IAAED,IAAEA,IAAEC;;QAAE,OAAOhB;;IAAE,SAASI,EAAE7D;QAAG,KAAI,IAAIC,IAAED,EAAEsH,SAAO,GAAEpH,IAAEF,EAAE,GAAGsH,SAAO,GAAEnH,IAAEH,EAAEC,GAAGC,IAAGI,QAAKL,IAAE,KAAGC,IAAE,KAAG,IAAG,KAAGD,GAAE,IAAG,KAAGC,GAAE;YAAC,IAAIoD,GAAEI,IAAE1D,EAAEC,IAAE,GAAGC,IAAE,IAAGyD,IAAE3D,EAAEC,IAAE,GAAGC,IAAGuD,IAAEzD,EAAEC,GAAGC,IAAE;YAAGoD,IAAEG,IAAEE,IAAED,IAAEC,IAAEA,IAAED,IAAEA,IAAED,IAAEA,IAAEC,GAAEJ,KAAGI,KAAGA,KAAGvD,IAAEG,EAAEsH,KAAK6D,OAAKnL,EAAEsH,KAAK8D;YAAIvL,IAAEuD,IAAGzD,KAAIC,OAAKoD,KAAGK,KAAGrD,EAAEsH,KAAKqC,KAAIhK,KAAIE,IAAEwD,MAAIrD,EAAEsH,KAAK+D,KAAIzL,KAAIC,IAAEsD;eAAQnD,EAAEsH,KAAKqC,KAAIhK,UAASK,EAAEsH,KAAK+D,KAAIzL;QAAI,OAAOI,EAAEmc,WAAUnc;;IAAE,SAASyD,EAAE/D,GAAEC,GAAEC;QAAG,KAAI,IAAIC,IAAE,GAAED,IAAEC,GAAEA,KAAI,IAAGH,EAAEG,OAAKF,EAAEE,IAAG,OAAOA;QAAE,OAAOD;;IAAE,SAASmF,EAAErF,GAAEC,GAAEC;QAAG,KAAI,IAAIC,IAAEH,EAAEsH,QAAOhH,IAAEL,EAAEqH,QAAOhE,IAAE,GAAEpD,IAAEoD,KAAGtD,IAAIG,OAAKF,IAAIK,MAAIgD;QAAI,OAAOA;;IAAE,SAAS6B,EAAEnF,GAAEC,GAAEC;QAAG;YAAOwc,OAAM1c;YAAEmJ,SAAQlJ;YAAE0c,YAAWzc;;;IAAG,SAASgF,EAAElF,GAAEC,GAAEC,GAAEC,GAAEG,GAAEgD;QAAG,IAAII,IAAE,GAAEC,IAAE,GAAEF,IAAElB,KAAKqa,IAAI1c,IAAED,GAAEqD,IAAEhD;QAAG,IAAG,KAAGL,KAAG,KAAGK,MAAIoD,IAAEK,EAAE/D,GAAEG,GAAEsD,KAAIvD,KAAGF,EAAEsH,UAAQhE,KAAGnD,EAAEmH,WAAS3D,IAAE0B,EAAErF,GAAEG,GAAEsD,IAAEC;QAAIzD,KAAGyD,GAAEpD,KAAGoD,GAAExD,KAAGyD,GAAEL,KAAGK,GAAE,KAAGzD,IAAED,KAAG,KAAGqD,IAAEhD,GAAE;QAAS,IAAGL,KAAGC,GAAE;YAAC,KAAI,IAAI8D,IAAEmB,EAAElF,OAAK,IAAGqD,IAAEhD,KAAG0D,EAAEmF,QAAQvB,KAAKzH,EAAEG;YAAM,SAAO0D;;QAAG,IAAG1D,KAAGgD,GAAE,SAAO6B,EAAElF,OAAKC,IAAED;QAAI,KAAI,IAAIuD,IAAEK,EAAEgB,EAAE7E,GAAEC,GAAEC,GAAEC,GAAEG,GAAEgD,KAAIU,SAAO,GAAEQ,QAAKC,IAAExE,GAAEsD,IAAEjD,GAAEsE,IAAE,GAAEA,IAAEpB,EAAE8D,QAAO1C,KAAI,QAAOpB,EAAEoB;UAAI,KAAK6G;YAAGzH,MAAIQ,EAAEoD,KAAK5D,IAAGA,SAAO,IAAGS,KAAIlB;YAAI;;UAAM,KAAKmI;YAAG1H,MAAIA,IAAEmB,EAAEV,OAAK,KAAIT,EAAE2Y,cAAalY,KAAIT,EAAEmF,QAAQvB,KAAKzH,EAAEoD,KAAIA;YAAI;;UAAM,KAAKoI;YAAG3H,MAAIA,IAAEmB,EAAEV,OAAK,KAAIT,EAAE2Y,cAAalY;YAAI;;UAAM,KAAKwF;YAAGjG,MAAIA,IAAEmB,EAAEV,OAAK,KAAIT,EAAEmF,QAAQvB,KAAKzH,EAAEoD,KAAIA;;QAAI,OAAOS,KAAGQ,EAAEoD,KAAK5D,IAAGQ;;IAAE,SAASY,EAAEpF,GAAEC,GAAEC,GAAEC;QAAG,OAAOD,IAAED,KAAGD,IAAEG,KAAG,IAAEF,KAAGC,KAAGC,KAAGH,IAAE,IAAEE,IAAEF,IAAEG,IAAEF,IAAEA,IAAEC,IAAEC,IAAED,IAAED,IAAEE,IAAEA,IAAEH,IAAEC,IAAED;;IAAE,SAASkK,EAAElK,GAAEC,GAAEC,GAAEC;QAAG,KAAI,IAAIG,IAAE6E,EAAElF,GAAEC,GAAEC,IAAGmD,KAAG,GAAEI,IAAE,GAAEC,IAAE,GAAEA,IAAE3D,EAAEsH,QAAO3D,KAAI;YAAC,IAAIF,IAAEzD,EAAE2D;YAAG,IAAGF,EAAEiZ,SAAOhZ,IAAGJ,GAAE;gBAAC,IAAIU,IAAEoB,EAAE9E,EAAEoc,OAAMpc,EAAEoc,QAAMpc,EAAE6I,QAAQ7B,QAAO7D,EAAEiZ,OAAMjZ,EAAEiZ,QAAMjZ,EAAEkZ;gBAAY,IAAG3Y,KAAG,GAAE;oBAAChE,EAAE6c,OAAOlZ,GAAE,IAAGA,KAAID,KAAGD,EAAEkZ,aAAWlZ,EAAE0F,QAAQ7B,QAAOhH,EAAEqc,cAAYlZ,EAAEkZ,aAAW3Y;oBAAE,IAAIR,IAAElD,EAAE6I,QAAQ7B,SAAO7D,EAAE0F,QAAQ7B,SAAOtD;oBAAE,IAAG1D,EAAEqc,cAAYnZ,GAAE;wBAAC,IAAItD,IAAEuD,EAAE0F;wBAAQ,IAAG7I,EAAEoc,QAAMjZ,EAAEiZ,OAAM;4BAAC,IAAIlY,IAAElE,EAAE6I,QAAQ9H,MAAM,GAAEoC,EAAEiZ,QAAMpc,EAAEoc;4BAAO1D,MAAMrX,UAAUiG,KAAK1D,MAAMM,GAAEtE,IAAGA,IAAEsE;;wBAAE,IAAGlE,EAAEoc,QAAMpc,EAAE6I,QAAQ7B,SAAO7D,EAAEiZ,QAAMjZ,EAAEkZ,YAAW;4BAAC,IAAIlY,IAAEnE,EAAE6I,QAAQ9H,MAAMoC,EAAEiZ,QAAMjZ,EAAEkZ,aAAWrc,EAAEoc;4BAAO1D,MAAMrX,UAAUiG,KAAK1D,MAAMhE,GAAEuE;;wBAAGnE,EAAE6I,UAAQjJ,GAAEuD,EAAEiZ,QAAMpc,EAAEoc,UAAQpc,EAAEoc,QAAMjZ,EAAEiZ;2BAAYpZ,KAAG;uBAAO,IAAGhD,EAAEoc,QAAMjZ,EAAEiZ,OAAM;oBAACpZ,KAAG,GAAEtD,EAAE6c,OAAOlZ,GAAE,GAAErD,IAAGqD;oBAAI,IAAIJ,IAAEjD,EAAEqc,aAAWrc,EAAE6I,QAAQ7B;oBAAO7D,EAAEiZ,SAAOnZ,GAAEG,KAAGH;;;;QAAID,KAAGtD,EAAE4H,KAAKtH;;IAAG,SAASwJ,EAAE9J,GAAEC;QAAG,KAAI,IAAIK,QAAKgD,IAAE,GAAEA,IAAErD,EAAEqH,QAAOhE,KAAI;YAAC,IAAII,IAAEzD,EAAEqD;YAAG,QAAOI,EAAEwE;cAAM,KAAI;gBAASgC,EAAE5J,GAAEoD,EAAEgZ,OAAMhZ,EAAEyF,QAAQ9H,SAAQqC,EAAEiZ;gBAAY;;cAAM,KAAI;cAAM,KAAI;cAAU,KAAI;gBAAU,KAAIzc,EAAEwD,EAAEpB,OAAM;gBAAS,IAAIqB,IAAExD,EAAEuD,EAAEpB;gBAAM,IAAG,IAAEqB,GAAE;gBAASuG,EAAE5J,GAAEqD,KAAGD,EAAE6Y,YAAU;gBAAG;;cAAM;gBAAQ9S,QAAQC,MAAM,6BAA2BoT,KAAKC,UAAUrZ;;;QAAK,OAAOpD;;IAAE,SAASyJ,EAAE/J,GAAEC;QAAG,IAAIC;QAAK,OAAO4J,EAAE9J,GAAEC,GAAGU,QAAQ,SAASV;YAAG,OAAO,KAAGA,EAAE0c,cAAY,KAAG1c,EAAEkJ,QAAQ7B,UAAQrH,EAAEkJ,QAAQ,OAAKnJ,EAAEC,EAAEyc,UAAQxc,EAAE0H,KAAK3H;iBAAQ,MAAIC,IAAEA,EAAE8c,OAAO9X,EAAElF,GAAEC,EAAEyc,OAAMzc,EAAEyc,QAAMzc,EAAE0c,YAAW1c,EAAEkJ,SAAQ,GAAElJ,EAAEkJ,QAAQ7B;iBAAc;YAAKpH;;IAAE,IAAI6I,IAAE9I,KAAIoH,KAAG;IAAE;QAAI,IAAIN,IAAE,IAAI+R,SAAS,IAAG;QAAgBzR,IAAEN;MAAI,OAAM+B;IAAI,IAAIb,IAAEjI,EAAE6a,OAAOoC,SAAO,SAAShd;QAAG,OAAM,mBAAiBA,KAAGD,EAAEid,MAAMhd;OAAIiJ,IAAE,oBAAgB,SAASlJ;QAAG,OAAOA;QAAG,SAASA;QAAG,IAAIC,IAAED,EAAEmD;QAAU,KAAIlD,GAAE,OAAOD;QAAE,IAAIE,IAAEO,OAAOiE,OAAOzE;QAAG,OAAOQ,OAAOwC,oBAAoBjD,GAAGW,QAAQ,SAASV;YAAGQ,OAAOyB,eAAehC,GAAED,GAAEQ,OAAOyC,yBAAyBlD,GAAEC;YAAMC;OAAGsI,IAAE,cAAaS,IAAE,iBAAgBX,IAAEE,IAAE,MAAIS,IAAE,KAAIU,IAAE,0BAAyBf,IAAE,QAAMN,IAAE,MAAIqB,IAAE,KAAIU,IAAE,QAAMzB,IAAE,YAAUA,IAAE,MAAKP,IAAE,IAAI6L,OAAO,MAAI7J,IAAE;IAAK1G,EAAEhC,YAAUuH;QAAG/F;QAAa2Y,UAAS;YAAW,OAAOhb,KAAKqT,KAAK;;QAAM0H,oBAAmB,SAAS7b,GAAEC,GAAEC;YAAG,KAAI,IAAIC,GAAEG,IAAE,GAAEA,IAAEQ,KAAKwG,SAAO,GAAEhH,KAAIH,IAAEW,KAAKR,IAAGL,EAAE4C,KAAK3C,GAAEC,GAAEH,GAAEM,IAAGN,IAAEM,KAAGQ,KAAKwG,UAAQ,SAAOtH,UAAQ,MAAIA,SAAO,IAAEA,EAAEG;;;IAAM,IAAI0J,IAAE;IAAItG,EAAE5B;QAAW8Z,QAAO;QAAED,kBAAiB,SAASxb;YAAGc,KAAK2a,SAAO3a,KAAKwa,aAAWxa,KAAKka,MAAMhb,OAAKc,KAAKma,UAASna,KAAKoc,mBAAiBpc,KAAKoc,eAAeC,cAAY;;QAAKC,OAAM;YAAWtc,KAAK2a,UAAQ3a,KAAK6U,cAAa7U,KAAK2a,SAAO,GAAExW,EAAEnE;;QAAQuc,SAAQ,SAASrd;YAAGc,KAAK2a,UAAQ1S,KAAGjI,KAAKoc,iBAAeld,GAAES,OAAOsa,qBAAqBja,KAAKya;YAAuBza,KAAKoc,sBAAoB,KAAGzZ,EAAE3C;;QAAQma,QAAO;YAAW,IAAGna,KAAKwa,WAAU;gBAACxa,KAAK6a,MAAM;gBAAG;oBAAI7a,KAAKua,SAASnX,WAAW,GAAEpD,KAAKwc;kBAAY,OAAMtd;oBAAGuD,EAAEga,8BAA4B,GAAE9T,QAAQC,MAAM,gDAA8C1J;;gBAAGc,KAAKwc,kBAAgB;;;QAAIE,OAAM;YAAW1c,KAAK2a,UAAQ1S,MAAIjI,KAAKwa,aAAW,GAAE7a,OAAOsa,qBAAqBja,KAAKya;YAAuBza,KAAKwa,aAAW,IAAGxa,KAAK6a,MAAM;;;IAAM,IAAIzQ,GAAEC,KAAGpC,KAAG/I,EAAEyd;IAAsBtS,MAAID,QAAK3H,EAAEqY,qBAAmB;IAAG,IAAIxQ,KAAG;IAAEpL,EAAEgB,WAAShB,EAAEgB,gBAAahB,EAAEgB,SAAS0c,6BAA2B;QAAW,IAAGvS,MAAIC,GAAE;YAACA,KAAG;YAAE,IAAIpL,IAAE,GAAEC;YAAK,GAAE;gBAACD;gBAAI,IAAIE,IAAEgL;gBAAEA,QAAKjL,EAAEkd,cAAY;gBAAE,KAAI,IAAIhd,IAAE,GAAEA,IAAED,EAAEoH,QAAOnH,KAAI;oBAAC,IAAIG,IAAEJ,EAAEC;oBAAGG,KAAGA,EAAEmb,UAAQ1S,IAAEzI,EAAE+c,QAAQpd,KAAGK,EAAE0a,YAAU/a,EAAEkd,cAAY,GAAE7c,EAAE2a;oBAAU/P,EAAEtD,KAAKtH;;qBAAWuJ,IAAE7J,KAAGC,EAAEkd;YAAY5Z,EAAEqY,qBAAmB1Q,EAAE5D,QAAO8D,KAAG;;OAAID,MAAInL,EAAEgB,SAAS2c,iBAAe;QAAWzS;QAAO5F,EAAE3D,YAAUuH;QAAG/F,WAAUI,EAAE5B;QAAU+Z,SAAQ;YAAW3S,KAAGtI,OAAOiV,QAAQ5U,KAAKwW,QAAOxW,KAAKya;;QAAwBI,MAAK;YAAW5S,MAAIjI,KAAK8c,YAAUnZ,EAAE3D,KAAKwW;;QAAU0D,OAAM,SAAShb;YAAG,IAAIC,GAAEC;YAAE,IAAG6I,GAAE;gBAAC,KAAI/I,GAAE,QAAO;gBAAEE,QAAKD,IAAEoD,EAAEvC,KAAKwW,QAAOtX,GAAEE;mBAAQA,IAAEY,KAAK8c,WAAU3d,IAAEuE,EAAE1D,KAAKwW,QAAOxW,KAAK8c;YAAW,OAAOpa,EAAEvD,MAAI,KAAGa,KAAKwc,eAAYrd,EAAEib,aAAUjb,EAAEkJ,eAAYlJ,EAAEkb;YAAara,KAAKwc,WAAW1V,KAAK,SAAS5H;gBAAG,OAAOE,EAAEF;iBAAM;;QAAI2V,YAAW;YAAW5M,IAAEjI,KAAKwW,UAAQ7W,OAAOub,UAAUlb,KAAKwW,QAAOxW,KAAKya,yBAAuBza,KAAK8c,iBAAe;YAAE9c,KAAKwW,cAAY;;QAAK9R,EAAE7D,YAAUuH;QAAG/F,WAAUmC,EAAE3D;QAAU+Z,SAAQ;YAAW3S,KAAGiQ,MAAMtD,QAAQ5U,KAAKwW,QAAOxW,KAAKya;;QAAwBI,MAAK;YAAW5S,MAAIjI,KAAK8c,YAAU9c,KAAKwW,OAAOjW;;QAAU2Z,OAAM,SAAShb;YAAG,IAAIC;YAAE,IAAG8I,GAAE;gBAAC,KAAI/I,GAAE,QAAO;gBAAEC,IAAE8J,EAAEjJ,KAAKwW,QAAOtX;mBAAQC,IAAEiF,EAAEpE,KAAKwW,QAAO,GAAExW,KAAKwW,OAAOhQ,QAAOxG,KAAK8c,WAAU,GAAE9c,KAAK8c,UAAUtW;YAAQ,OAAOrH,KAAGA,EAAEqH,UAAQxG,KAAKwc,eAAYrd,MAAI,MAAI;;QAAKuF,EAAEqY,eAAa,SAAS7d,GAAEC,GAAEC;QAAGA,EAAES,QAAQ,SAAST;YAAG,KAAI,IAAIC,MAAGD,EAAEwc,OAAMxc,EAAEiJ,QAAQ7B,UAAQhH,IAAEJ,EAAEwc,OAAMpc,IAAEJ,EAAEwc,QAAMxc,EAAEyc,cAAYxc,EAAEyH,KAAK3H,EAAEK;YAAIA;YAAI0Y,MAAMrX,UAAUkb,OAAO3Y,MAAMlE,GAAEG;;;IAAM,IAAIkL;IAAKvF,EAAEnE,YAAUuH;QAAG/F,WAAUI,EAAE5B;QAAU+Z,SAAQ;QAAa/F,YAAW;YAAW7U,KAAKwW,cAAY,GAAExW,KAAK4B,aAAW,GAAE5B,KAAK6a,MAAM;;QAAIX,OAAM;YAAW,OAAOla,KAAK4B,QAAM5B,KAAKub,aAAavb,KAAKwW,QAAOxW,KAAKgK,MAAKhK,KAAKob,UAASpb,KAAKqb,aAAYrb,KAAKya;YAAuBjY,EAAExC,KAAK4B,OAAM5B,KAAKyb,aAAW,KAAGzb,KAAKwc,eAAYxc,KAAK4B,OAAM5B,KAAKyb;aAAW;;QAAIZ,MAAK,SAAS3b;YAAGA,MAAIc,KAAK4B,QAAM5B,KAAKub,aAAavb,KAAKwW,QAAOxW,KAAKgK,MAAKhK,KAAKob,UAASpb,KAAKqb,aAAYrb,KAAKya;YAAwBza,KAAKyb,WAASzb,KAAK4B;;QAASoD,EAAEgY,iBAAe,SAAS9d,GAAEC;QAAG,KAAIyD,EAAEzD,IAAG,YAAY;QAAE,IAAIC,IAAE,IAAIyD,EAAE1D;QAAG,OAAOwF,EAAEzF,GAAEE;OAAI4F,EAAEiY,iBAAe,SAAS/d,GAAEC,GAAEC;QAAG,IAAGwD,EAAEzD,IAAG;YAAC,IAAIE,IAAE,IAAIwD,EAAE1D;YAAGyF,EAAE1F,GAAEG,GAAED;;;IAAK,IAAIqL;QAAIyS,QAAO;QAAEC,UAAS;QAAEC,UAAS;;IAAGpY,EAAE5D,iBAAe,SAASlC,GAAEC,GAAEC;QAAG,IAAIC,IAAED,EAAEoX,QAAOhX,IAAE,IAAIqD,EAAEzD,EAAE4K,OAAMxH,IAAEiC,EAAEvF,GAAEC,IAAGyD,IAAE,IAAIoC,EAAE3F,GAAED,EAAE4K,MAAK,SAAS9K,GAAEC;YAAGqD,KAAGA,EAAE,WAAUrD;;QAAK,OAAOQ,OAAOyB,eAAelC,GAAEC;YAAG2C,KAAI;gBAAW,OAAO6C,EAAEtF,GAAEG;;YAAImC,KAAI,SAASzC;gBAAG0F,EAAEvF,GAAEG,GAAEN;;YAAIsE,eAAc;;YAAK8Y,OAAM;gBAAW9Z,KAAGI,EAAE2Z,WAAU3Z,EAAE0Z,gBAAepd,EAAEC;;;;IAAM,IAAIwL,KAAG,GAAEC,KAAG,GAAEC,KAAG,GAAE1B,KAAG;IAAEjK,EAAEme,WAAS5a,GAAEvD,EAAEme,SAASC,mBAAiBrV,GAAE/I,EAAEqe,gBAAc7Y,GAAExF,EAAEqe,cAAcC,mBAAiB,SAASte,GAAEC;QAAG,OAAOiF,EAAElF,GAAE,GAAEA,EAAEsH,QAAOrH,GAAE,GAAEA,EAAEqH;OAAStH,EAAEue,iBAAejZ,GAAEtF,EAAEwe,eAAa1Y;EAAGhF,OAAM,SAASd;IAAG;IAAa,SAASC,EAAED;QAAG,KAAIA,GAAE,MAAM,IAAIgD,MAAM;;IAAoB,SAAS9C,EAAEF;QAAG,MAAKA,EAAEmH,cAAYnH,IAAEA,EAAEmH;QAAW,OAAM,qBAAmBnH,EAAE2T,iBAAe3T,IAAE;;IAAK,SAASG,EAAEH;QAAG,OAAOA,EAAEkO,cAAcvG,SAAS3H;;IAAG,SAASM,EAAEN,GAAEC,GAAEC;QAAGuJ,QAAQC,MAAM,+BAA8B5I,MAAKd,GAAEC,GAAEC;;IAAG,SAASoD;IAAK,SAASI;IAAK,SAASC,EAAE3D,GAAEC,GAAEC;QAAGY,KAAK2d,QAAMze,GAAEc,KAAKgK,OAAK7K,GAAEa,KAAKqa,UAAQjb,GAAEY,KAAK4d,WAAS,IAAIF,aAAa1d,KAAK2d,OAAM3d,KAAKgK,MAAKhK,KAAKqa;QAASra,KAAKqa,QAAQra,KAAK4d,SAAShc;;IAAO,SAASe,EAAEzD;QAAG,OAAO,SAASC;YAAGD,EAAEuQ,YAAU,KAAGtQ,IAAE,KAAG4S,OAAO5S;;;IAAI,SAAS+D,EAAEhE,GAAEC,GAAEC;QAAG,IAAG,kBAAgBF,GAAE,OAAO+F,KAAKpE,UAAUoX,KAAKlW,KAAK/B,MAAKd,GAAEC,GAAEC;QAAGY,KAAK6d,OAAO;QAAe,IAAIxe,IAAE,IAAIwD,EAAE1D,GAAEC,GAAEuD,EAAE3C;QAAOyK,GAAG9I,IAAI3B,MAAKX;;IAAG,SAASqD,EAAExD;QAAG,IAAG,iBAAeA,GAAE,OAAO+F,KAAKpE,UAAUgd,OAAO9b,KAAK/B,MAAKd;QAAG,IAAIC,IAAEsL,GAAG3I,IAAI9B;QAAMb,MAAIA,EAAE2e,WAAUrT,GAAG,OAAOzK;;IAAO,SAAS0D;QAAI1D,KAAK6d,OAAO,gBAAe5Y,KAAKpE,UAAUkd,UAAUhc,KAAK/B;;IAAM,SAAS2D,EAAEzE,GAAEC,GAAEC;QAAG,OAAOA,IAAE,SAASA;YAAGA,IAAEF,EAAE6Q,aAAa5Q,GAAE,MAAID,EAAE8e,gBAAgB7e;YAAI,SAASC;YAAGF,EAAE6Q,aAAa5Q,GAAE4S,YAAY,MAAI3S,IAAE,KAAGA;;;IAAK,SAASqD;QAAIzC,KAAKie,aAAWte,OAAOiE,OAAO;;IAAM,SAASE,EAAE5E,GAAEC,GAAEC;QAAG,IAAIC,IAAEsL,GAAG7I,IAAI9B;QAAMX,MAAIA,IAAE,IAAIoD,KAAEkI,GAAGhJ,IAAI3B,MAAKX,KAAIA,EAAE+Y,IAAIpY,MAAKd,GAAEC,GAAEC;;IAAG,SAAS+E,EAAEjF;QAAG,IAAIC,IAAEwL,GAAG7I,IAAI9B;QAAMb,KAAGA,EAAE2K,OAAO5K;;IAAG,SAASsF;QAAI,IAAItF,IAAEyL,GAAG7I,IAAI9B;QAAMd,MAAIyL,GAAG,OAAO3K,OAAMd,EAAEgf,aAAYjZ,KAAKpE,UAAUkd,UAAUhc,KAAK/B;;IAAO,SAAS0E,EAAExF;QAAG,QAAOA,EAAEkI;UAAM,KAAI;YAAW,OAAOwD;;UAAG,KAAI;UAAQ,KAAI;UAAkB,KAAI;YAAa,OAAM;;UAAS;YAAQ,OAAM;;;IAAS,SAASjG,EAAEzF,GAAEC,GAAEC,GAAEC;QAAGW,KAAKme,UAAQjf,GAAEc,KAAKoe,gBAAcjf,GAAEa,KAAKqe,oBAAkBre,KAAKse,aAAarG,KAAKjY;QAAMA,KAAKue,qBAAmBve,KAAKwe,cAAcvG,KAAKjY,OAAMA,KAAKye,UAAQ,IAAI5b,EAAEzD,GAAEC,GAAEW,KAAKqe;QAAmBre,KAAKme,QAAQvU,iBAAiBlF,EAAE1E,KAAKme,UAASne,KAAKue,qBAAoB;;IAAG,SAAS3Z,EAAE1F,GAAEC,GAAEC;QAAGuF,EAAE5C,KAAK/B,MAAKd,GAAE,SAAQC,GAAEC;;IAAG,SAASyF,EAAE3F;QAAG,KAAIG,EAAEH,IAAG;QAAS,IAAGA,EAAEuW,MAAK,OAAOpL,EAAEnL,EAAEuW,KAAKiJ,UAAS,SAASvf;YAAG,OAAOA,KAAGD,KAAG,WAASC,EAAE8Q,WAAS,WAAS9Q,EAAEiI,QAAMjI,EAAEqC,QAAMtC,EAAEsC;;QAAO,IAAIrC,IAAED,EAAEkO,cAAcoB,iBAAiB,+BAA6BtP,EAAEsC,OAAK;QAAM,OAAO6I,EAAElL,GAAE,SAASA;YAAG,OAAOA,KAAGD,MAAIC,EAAEsW;;;IAAO,SAAS3Q,EAAE5F,GAAEC,GAAEC;QAAGuF,EAAE5C,KAAK/B,MAAKd,GAAE,WAAUC,GAAEC;;IAAG,SAAS2F,EAAE7F,GAAEC,GAAEC;QAAG,QAAOY,KAAKiQ,UAAQ,MAAI/Q,EAAEgR;UAAe,KAAI;UAAc,KAAI;YAAiBlQ,KAAK6d,OAAO,UAAS7d,KAAKge,gBAAgB,UAASnT,GAAGlJ,IAAI3B,MAAK,IAAI4E,EAAE5E,MAAKb,GAAEC;YAAI;;UAAM,KAAI;YAAgBY,KAAK6d,OAAO,YAAW7d,KAAKge,gBAAgB,YAAW7U,GAAGxH,IAAI3B,MAAK,IAAI8E,EAAE9E,MAAKb,GAAEC;YAAI;;UAAM,KAAI;YAAuBY,KAAK6d,OAAO,kBAAiB7d,KAAKge,gBAAgB,kBAAiBnT,GAAGlJ,IAAI3B,MAAK,IAAIuC,EAAEvC,MAAKb,GAAEC;YAAI;;UAAM;YAAQ,OAAO0M,QAAQjL,UAAUoX,KAAKlW,KAAK/B,MAAKd,GAAEC,GAAEC;;;IAAI,SAAS4F,EAAE9F;QAAG,QAAOc,KAAKiQ,UAAQ,MAAI/Q,EAAEgR;UAAe,KAAI;UAAc,KAAI;YAAiB,IAAI/Q,IAAE0L,GAAG/I,IAAI9B;YAAMb,MAAIA,EAAE0e,UAAShT,GAAG,OAAO7K;YAAO;;UAAM,KAAI;YAAgB,IAAIZ,IAAE+J,GAAGrH,IAAI9B;YAAMZ,MAAIA,EAAEye,UAAS1U,GAAG,OAAOnJ;YAAO;;UAAM,KAAI;YAAuB,IAAIb,IAAE0L,GAAG/I,IAAI9B;YAAMb,MAAIA,EAAE0e,UAAShT,GAAG,OAAO7K;YAAO;;UAAM;YAAQ,OAAO8L,QAAQjL,UAAUgd,OAAO9b,KAAK/B,MAAKd;;;IAAI,SAASuF;QAAI,QAAOzE,KAAKiQ;UAAS,KAAI;YAAQjQ,KAAK6d,OAAO;;UAAW,KAAI;YAAW7d,KAAK6d,OAAO;YAAS;;UAAM,KAAI;YAAS7d,KAAK6d,OAAO;;QAAiB/R,QAAQjL,UAAUkd,UAAUhc,KAAK/B;;IAAM,SAASuC,EAAErD,GAAEC,GAAEC;QAAGuF,EAAE5C,KAAK/B,MAAKd,GAAE,iBAAgBC,GAAEC;;IAAG,SAAS2E,EAAE7E;QAAG,OAAOyf,GAAGzf,EAAE+Q,YAAU/Q,EAAE0f,aAAa;;IAAY,SAAS7b,EAAE7D;QAAG,OAAM,cAAYA,EAAE+Q,WAASlM,EAAE7E;;IAAG,SAAS+D,EAAE/D;QAAG,OAAO2f,MAAI,cAAY3f,EAAE+Q;;IAAQ,SAAS1L,EAAErF,GAAEC;QAAG,IAAIC,IAAEF,EAAEsP,iBAAiBsQ;QAAI/b,EAAE7D,MAAIC,EAAED,IAAGkL,EAAEhL,GAAED;;IAAG,SAASkF,EAAEnF;QAAG,SAASC,EAAED;YAAGmT,oBAAoB0M,SAAS7f,MAAImF,EAAEnF,EAAEoT;;QAAS/N,EAAErF,GAAEC;;IAAG,SAASiF,EAAElF,GAAEC;QAAGQ,OAAOwC,oBAAoBhD,GAAGU,QAAQ,SAAST;YAAGO,OAAOyB,eAAelC,GAAEE,GAAEO,OAAOyC,yBAAyBjD,GAAEC;;;IAAM,SAASkF,EAAEpF;QAAG,KAAIA,EAAEoH,aAAY,OAAOpH;QAAE,IAAIC,IAAE6f,GAAGld,IAAI5C;QAAG,KAAIC,GAAE;YAAC,KAAIA,IAAED,EAAEiT,eAAeC,mBAAmB,KAAIjT,EAAE2O,aAAW3O,EAAE4N,YAAY5N,EAAE2O;YAAWkR,GAAGrd,IAAIzC,GAAEC;;QAAG,OAAOA;;IAAE,SAASiK,EAAElK;QAAG,IAAIC,IAAED,EAAEkO,cAAcmD,cAAc;QAAYrR,EAAEmH,WAAWqH,aAAavO,GAAED;QAAG,KAAI,IAAIE,IAAEF,EAAEiR,YAAW9Q,IAAED,EAAEoH,QAAOnH,MAAI,KAAG;YAAC,IAAIG,IAAEJ,EAAEC;YAAG4f,GAAGzf,EAAEgC,UAAQ,eAAahC,EAAEgC,QAAMrC,EAAE4Q,aAAavQ,EAAEgC,MAAKhC,EAAEoC,QAAO1C,EAAE8e,gBAAgBxe,EAAEgC;;QAAO,OAAOrC;;IAAE,SAAS6J,EAAE9J,GAAEC,GAAEC;QAAG,IAAIC,IAAEH,EAAEoT;QAAQ,IAAGlT,GAAE,OAAOC,EAAEiO,YAAYnO,SAAQ;QAAE,KAAI,IAAIK,GAAEA,IAAEL,EAAEgO,cAAY9N,EAAEiO,YAAY9N;;IAAG,SAASyJ,EAAE/J;QAAG,eAAaA,EAAE+Q,UAAQ4O,OAAKK,KAAGhgB,EAAEmD,YAAUgQ,oBAAoBxR,YAAUuD,EAAElF,GAAEmT,oBAAoBxR,eAAauD,EAAElF,GAAEmT,oBAAoBxR;QAAWlB,OAAOyB,eAAelC,GAAE,WAAUigB;;IAAK,SAASlX,EAAE/I;QAAG,IAAIC,IAAEigB,GAAGtd,IAAI5C;QAAGC,MAAIA,IAAE;YAAWuI,EAAExI,GAAEA,EAAEye,OAAMze,EAAEmgB;WAAkBD,GAAGzd,IAAIzC,GAAEC,KAAImgB,GAAGngB;;IAAG,SAASoH,EAAErH,GAAEC;QAAGa,KAAKoH,OAAKlI,GAAEc,KAAK4B,QAAMzC;;IAAE,SAAS8G,EAAE/G;QAAG,KAAI,IAAIC,QAAKC,IAAEF,EAAEsH,QAAOnH,IAAE,GAAEG,IAAE,GAAEJ,IAAEI,KAAG;YAAC,IAAGH,IAAEH,EAAEiC,QAAQ,MAAK3B,IAAG,IAAEH,GAAE;gBAACF,EAAE2H,KAAK,IAAIP,EAAEgZ,IAAGrgB,EAAEqB,MAAMf;gBAAK;;YAAM,IAAGH,IAAE,KAAGA,IAAEG,KAAGL,EAAE2H,KAAK,IAAIP,EAAEgZ,IAAGrgB,EAAEqB,MAAMf,GAAEH,MAAKG,IAAEH,IAAE,GAAEA,IAAEH,EAAEiC,QAAQ,MAAK3B;YAAG,IAAEH,GAAE;gBAAC,IAAImD,IAAEtD,EAAEqB,MAAMf,IAAE,IAAGoD,IAAEzD,EAAEA,EAAEqH,SAAO;gBAAG5D,KAAGA,EAAEwE,QAAMmY,KAAG3c,EAAEhB,SAAOY,IAAErD,EAAE2H,KAAK,IAAIP,EAAEgZ,IAAG/c;gBAAI;;YAAM,IAAIK,IAAE3D,EAAEqB,MAAMf,GAAEH,GAAG0T;YAAO5T,EAAE2H,KAAK,IAAIP,EAAEiZ,IAAG3c,KAAIrD,IAAEH,IAAE;;QAAE,OAAOF;;IAAE,SAAS6I,EAAE9I,GAAEC,GAAEC,GAAEC,GAAEG;QAAG,IAAIgD,GAAEI,IAAEpD,KAAGA,EAAE6J;QAAIzG,KAAG,qBAAmBA,MAAIJ,IAAEI,EAAExD,GAAEC,GAAEF,GAAED,IAAGsD,MAAIpD,IAAEoD,GAAEnD,IAAE,WAAUH,EAAE+Y,KAAK9Y,GAAEC,GAAEC;;IAAG,SAAS8H,EAAEjI,GAAEC,GAAEC,GAAEC,GAAEG;QAAG,IAAIgD,IAAEyD,EAAE7G;QAAG,IAAGoD,EAAEgE,WAAS,KAAGhE,EAAEgE,UAAQhE,EAAE,GAAG4E,QAAMmY,KAAI;YAAC,IAAG,KAAG/c,EAAEgE,UAAQhE,EAAE,GAAG4E,QAAMoY,IAAG,OAAOxX,EAAE9I,GAAEC,GAAEE,GAAEmD,EAAE,GAAGZ,OAAMpC,SAAQ;YAAE,KAAI,IAAIoD,IAAE,IAAI2G,KAAE1G,IAAE,GAAEA,IAAEL,EAAEgE,QAAO3D,KAAI;gBAAC,IAAIF,IAAEH,EAAEK;gBAAGF,EAAEyE,QAAMoY,MAAIxX,EAAEpF,GAAEC,GAAExD,GAAEsD,EAAEf,OAAMpC;;YAAGoD,EAAE6c,aAAW,SAASvgB;gBAAG,KAAI,IAAIC,IAAE,IAAGC,IAAE,GAAEA,IAAEoD,EAAEgE,QAAOpH,KAAI;oBAAC,IAAIC,IAAEmD,EAAEpD;oBAAG,IAAGC,EAAE+H,SAAOmY,IAAGpgB,KAAGE,EAAEuC,YAAU;wBAAC,IAAIpC,IAAEN,EAAEE;6BAAQ,MAAII,MAAIL,KAAGK;;;gBAAI,OAAOL;eAAGD,EAAE+Y,KAAK9Y,GAAEyD,GAAE;;;IAAU,SAASwF,EAAElJ,GAAEE,GAAEC;QAAGF,EAAED;QAAG,KAAI,IAAIM,QAAKgD,IAAE,GAAEA,IAAEtD,EAAEiR,WAAW3J,QAAOhE,KAAI;YAAC,IAAII,IAAE1D,EAAEiR,WAAW3N;YAAGhD,EAAEoD,EAAEpB,QAAMoB,EAAEhB;;QAAMmB,EAAE7D,OAAK,OAAKM,EAAE0J,QAAM1J,EAAE0J,MAAI,SAAQ,OAAK1J,EAAEyL,QAAMzL,EAAEyL,MAAI,cAAa,MAAIzL,EAAEqM,YAAU,MAAIrM,EAAE0J,YAAU,MAAI1J,EAAEyL,QAAMzL,EAAE0J,MAAI;QAASvJ,OAAOC,KAAKJ,GAAGK,QAAQ,SAASV;YAAGgI,EAAEjI,GAAEC,GAAEK,EAAEL,IAAGC,GAAEC;;;IAAK,SAASqI,EAAExI,GAAEE,GAAEC;QAAGF,EAAED,IAAGA,EAAE2N,aAAW5H,KAAKiJ,eAAa9F,EAAElJ,GAAEE,GAAEC,KAAGH,EAAE2N,aAAW5H,KAAKmL,aAAWjJ,EAAEjI,GAAE,eAAcA,EAAEuQ,MAAKrQ,GAAEC;QAAG,KAAI,IAAIG,IAAEN,EAAEiO,YAAW3N,GAAEA,IAAEA,EAAE+N,aAAY7F,EAAElI,GAAEJ,GAAEC;;IAAG,SAAS8I,EAAEjJ;QAAG,IAAGwgB,GAAG,OAAOxgB,IAAG6D,EAAE7D,IAAG;YAAC,IAAIC,IAAEwgB,GAAG7d,IAAI5C;YAAGC,MAAIA,EAAEygB,WAAUD,GAAG,OAAOzgB;;QAAIA,EAAE6e;QAAY,KAAI,IAAI3e,IAAEF,EAAEiO,YAAW/N,GAAEA,IAAEA,EAAEmO,aAAYpF,EAAE/I;;IAAG,SAASoI,EAAEtI,GAAEC;QAAG,IAAIC,IAAEF,EAAEoP,WAAW;QAAGvL,EAAE3D,OAAKiT,oBAAoB0M,SAAS3f,GAAEF,IAAGC,KAAG0gB,GAAGle,IAAIvC,GAAED;QAAI,KAAI,IAAIE,IAAEH,EAAEiO,YAAW9N,GAAEA,IAAEA,EAAEkO,aAAYnO,EAAEkO,YAAY9F,EAAEnI,GAAEF;QAAI,OAAOC;;IAAE,SAASyJ,EAAE3J,GAAEC,GAAEC;QAAGY,KAAK8f,YAAU5gB,GAAEc,KAAK+f,WAAS5gB,GAAEa,KAAK2d,QAAMve;;IAAE,SAAS0I,EAAE5I,GAAEC;QAAG,IAAGD,EAAEiO,YAAW,KAAI,IAAI/N,IAAE,IAAIyJ,EAAE3J,EAAEiO,YAAWjO,EAAE4O,WAAU3O,IAAGE,IAAED,EAAE0gB,WAAUzgB,KAAGqgB,GAAG/d,IAAItC,GAAED;QAAGC,IAAEA,EAAEkO;;IAAY,SAAShE,EAAErK;QAAGc,KAAKggB,eAAYhgB,KAAKigB,aAAUjgB,KAAK4B,aAAW,GAAE5B,KAAKkgB,OAAK,GAAElgB,KAAKmgB,cAAYjhB;QAAEc,KAAKogB,eAAapgB,KAAKqgB,QAAQpI,KAAKjY,OAAMA,KAAKsgB,YAAU;;IAAE,SAAS/Y,EAAErI;QAAGc,KAAKugB,mBAAiBrhB,GAAEc,KAAKwgB,kBAAexgB,KAAKygB,qBAAmB,GAAEzgB,KAAK0gB,qBAAmB;QAAE1gB,KAAK2gB,qBAAmB3gB,KAAK4gB,cAAc3I,KAAKjY,OAAMA,KAAK6gB,SAAO,IAAItX,EAAEvJ,KAAK8gB,cAAc7I,KAAKjY;;IAAO,IAAI+I,GAAEqB,IAAE8N,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB,UAASwK,IAAE6N,MAAMrX,UAAUiS,OAAO/Q,KAAKkW,KAAKC,MAAMrX,UAAUiS;IAAQ5T,EAAEoc,OAAK,qBAAmBpc,EAAEoc,IAAIza,UAAUhB,UAAQkJ,IAAE7J,EAAEoc,OAAKvS,IAAE;QAAW/I,KAAKJ,WAAQI,KAAKigB;OAAWlX,EAAElI;QAAWc,KAAI,SAASzC,GAAEC;YAAG,IAAIC,IAAEY,KAAKJ,KAAKuB,QAAQjC;YAAG,IAAEE,KAAGY,KAAKJ,KAAKkH,KAAK5H,IAAGc,KAAKigB,OAAOnZ,KAAK3H,MAAIa,KAAKigB,OAAO7gB,KAAGD;;QAAG2C,KAAI,SAAS5C;YAAG,IAAIC,IAAEa,KAAKJ,KAAKuB,QAAQjC;YAAG,MAAK,IAAEC,IAAG,OAAOa,KAAKigB,OAAO9gB;;QAAI6C,UAAS,SAAS9C;YAAG,IAAIC,IAAEa,KAAKJ,KAAKuB,QAAQjC;YAAG,OAAO,IAAEC,KAAG,KAAGa,KAAKJ,KAAKmc,OAAO5c,GAAE,IAAGa,KAAKigB,OAAOlE,OAAO5c,GAAE,KAAI;;QAAIU,SAAQ,SAASX,GAAEC;YAAG,KAAI,IAAIC,IAAE,GAAEA,IAAEY,KAAKJ,KAAK4G,QAAOpH,KAAIF,EAAE6C,KAAK5C,KAAGa,MAAKA,KAAKigB,OAAO7gB,IAAGY,KAAKJ,KAAKR,IAAGY;;;IAAS,IAAIsK,IAAE,oBAAgB,SAASpL;QAAG,OAAOA;QAAG,SAASA;QAAG,IAAIC,IAAED,EAAEmD;QAAU,KAAIlD,GAAE,OAAOD;QAAE,IAAIE,IAAEO,OAAOiE,OAAOzE;QAAG,OAAOQ,OAAOwC,oBAAoBjD,GAAGW,QAAQ,SAASV;YAAGQ,OAAOyB,eAAehC,GAAED,GAAEQ,OAAOyC,yBAAyBlD,GAAEC;YAAMC;;IAAG,qBAAmBE,SAASuH,aAAWS,SAASzG,UAAUgG,WAAS,SAAS3H;QAAG,OAAOA,MAAIc,QAAMd,EAAEmH,eAAarG,QAAM,IAAEA,KAAK+gB,gBAAgBla,SAAS3H;;IAAK,IAAIqL;IAAE,sBAAoBvJ,WAASC,UAAUC,UAAUC,QAAQ,cAAY,IAAEoJ,IAAEvJ,UAAQ;QAAW,IAAI9B,IAAES,OAAOyB,gBAAejC,IAAEQ,OAAO0B,gBAAejC,IAAE,IAAKkC,OAAMC,YAAU;QAAIgJ,IAAE;YAAWvK,KAAKwB,OAAK,UAAQ,MAAIC,KAAKC,aAAW,MAAItC,MAAK;WAAOmL,EAAE1J;YAAWc,KAAI,SAASxC,GAAEC;gBAAGF,EAAEC,GAAEa,KAAKwB;oBAAMI,OAAMxC;oBAAEyC,WAAU;;;YAAKC,KAAI,SAAS5C;gBAAG,OAAOC,EAAE4C,KAAK7C,GAAEc,KAAKwB,QAAMtC,EAAEc,KAAKwB,aAAW;;YAAGQ,UAAS,SAAS9C;gBAAGc,KAAK2B,IAAIzC,QAAO;;;SAAQ+F,KAAKpE,UAAUoX,OAAKzY,GAAEyF,KAAKpE,UAAUgd,SAAOrb,GAAEyC,KAAKpE,UAAUkd,YAAUnb;IAAE,IAAI6H,KAAG,IAAIF;IAAE1H,EAAEhC;QAAWid,SAAQ;YAAW9d,KAAK2d,SAAO,qBAAmB3d,KAAK2d,MAAMG,WAAS9d,KAAK2d,MAAMG,WAAU9d,KAAK4d,SAAStB;;QAAS3a,IAAIC,MAAM1C;YAAGwe,aAAaT,eAAejd,KAAK2d,OAAM3d,KAAKgK,MAAK9K;;QAAIwd,OAAM;YAAW1c,KAAK4d,SAASlB;;OAAU/J,KAAK9R,UAAUoX,OAAK/U,GAAEyP,KAAK9R,UAAUgd,SAAOnb,GAAEiQ,KAAK9R,UAAUkd,YAAUra;IAAE,IAAIiH,KAAG,IAAIJ;IAAE9H,EAAE5B;QAAWuX,KAAI,SAASlZ,GAAEC,GAAEC,GAAEC;YAAGH,EAAE8e,gBAAgB7e;YAAG,IAAIK,IAAE,OAAKL,EAAEA,EAAEqH,SAAO;YAAGhH,MAAIL,IAAEA,EAAEoB,MAAM,IAAG,KAAIP,KAAK8J,OAAO3K;YAAG,IAAIqD,IAAE,IAAIK,EAAEzD,GAAEC,GAAEsE,EAAEzE,GAAEC,GAAEK;YAAIQ,KAAKie,WAAW9e,KAAGqD;;QAAGsH,QAAO,SAAS5K;YAAG,IAAIC,IAAEa,KAAKie,WAAW/e;YAAGC,MAAIA,EAAE2e,kBAAiB9d,KAAKie,WAAW/e;;QAAKgf,WAAU;YAAWve,OAAOC,KAAKI,KAAKie,YAAYpe,QAAQ,SAASX;gBAAGc,KAAK8J,OAAO5K;eAAIc;;OAAQ8L,QAAQjL,UAAUoX,OAAKnU,GAAEgI,QAAQjL,UAAUgd,SAAO1Z,GAAE2H,QAAQjL,UAAUkd,YAAUvZ;IAAE,IAAIoG,IAAGC,KAAG,IAAIN,KAAEpB,KAAG,IAAIoB;KAAG;QAAW,IAAIrL,IAAEI,SAASiR,cAAc,QAAOpR,IAAED,EAAEoO,YAAYhO,SAASiR,cAAc;QAAUpR,EAAE4Q,aAAa,QAAO;QAAY,IAAI3Q,GAAEC,IAAE;QAAEF,EAAEyK,iBAAiB,SAAQ;YAAWvK,KAAID,IAAEA,KAAG;YAAUD,EAAEyK,iBAAiB,UAAS;YAAWvK,KAAID,IAAEA,KAAG;;QAAW,IAAII,IAAEF,SAASC,YAAY;QAAcC,EAAEgL,eAAe,UAAS,IAAG,GAAEvK,QAAO,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE;QAAMd,EAAE8M,cAAczM,IAAGoL,KAAG,KAAGvL,IAAE,WAASD;SAAKuF,EAAE9D;QAAWyd,cAAa,SAASpf;YAAGc,KAAKme,QAAQne,KAAKoe,iBAAepe,KAAKghB,oBAAoB9hB;;QAAIsf,eAAc;YAAWxe,KAAKye,QAAQ7c,QAAM5B,KAAKme,QAAQne,KAAKoe,gBAAepe,KAAKye,QAAQ/B,SAAQ1c,KAAKihB,qBAAmBjhB,KAAKihB;YAAoB/gB,SAAS0c;;QAA8BiB,QAAO;YAAW7d,KAAKye,QAAQX,WAAU9d,KAAKme,QAAQ3U,oBAAoB9E,EAAE1E,KAAKme,UAASne,KAAKue,qBAAoB;;OAAK3Z,EAAE/D,YAAUyJ;QAAGjI,WAAUsC,EAAE9D;QAAUmgB,qBAAoB,SAAS9hB;YAAG,OAAO6S,OAAO,QAAM7S,IAAE,KAAGA;;QAAM4F,EAAEjE,YAAUyJ;QAAGjI,WAAUsC,EAAE9D;QAAUmgB,qBAAoB,SAAS9hB;YAAG,OAAO4J,QAAQ5J;;QAAI+hB,mBAAkB;YAAW,YAAUjhB,KAAKme,QAAQlO,WAAS,YAAUjQ,KAAKme,QAAQ/W,QAAMvC,EAAE7E,KAAKme,SAASte,QAAQ,SAASX;gBAAG,IAAIC,IAAEgK,GAAGrH,IAAI5C;gBAAGC,MAAIA,EAAEsf,QAAQ7c,SAAO;;;QAAQsf,iBAAiBrgB,UAAUoX,OAAKlT,GAAEmc,iBAAiBrgB,UAAUgd,SAAO7Y;IAAEkc,iBAAiBrgB,UAAUkd,YAAUtZ,GAAElC,EAAE1B,YAAUyJ;QAAGjI,WAAUsC,EAAE9D;QAAUyd,cAAa,SAASpf;YAAG,SAASC;gBAAID,IAAEG,EAAE8e,QAAQ3X,UAAQpH,MAAIkgB,GAAGngB,KAAGE,EAAE8e,QAAQ9e,EAAE+e,iBAAelf;;YAAE,IAAIA,IAAEc,KAAKghB,oBAAoB9hB;YAAG,IAAGA,KAAGc,KAAKme,QAAQ3X,QAAO,OAAOxG,KAAKme,QAAQne,KAAKoe,iBAAelf,QAAO;YAAE,IAAIE,IAAE,GAAEC,IAAEW;YAAKsf,GAAGngB;;QAAI6hB,qBAAoB,SAAS9hB;YAAG,OAAO6a,OAAO7a;;QAAMiiB,kBAAkBtgB,UAAUoX,OAAKlT,GAAEoc,kBAAkBtgB,UAAUgd,SAAO7Y;IAAEmc,kBAAkBtgB,UAAUkd,YAAUtZ,GAAE2c,oBAAoBvgB,UAAUoX,OAAKlT;IAAEqc,oBAAoBvgB,UAAUgd,SAAO7Y,GAAEoc,oBAAoBvgB,UAAUkd,YAAUtZ;IAAE,IAAIyE,KAAG,QAAO+B,KAAG,UAASY,KAAG,MAAKxC,KAAG,cAAaC,KAAG,oBAAmB2V;QAAIoC,WAAU;QAAEC,SAAQ;QAAErJ,OAAM;QAAEsJ,MAAK;OAAG5C;QAAI6C,QAAO;QAAEC,QAAO;QAAEC,QAAO;QAAEC,KAAI;QAAEC,KAAI;QAAEC,KAAI;QAAEC,WAAU;QAAEC,MAAK;QAAEC,UAAS;QAAEC,SAAQ;QAAEC,WAAU;OAAGrD,KAAG,sBAAoBxM,qBAAoByM,KAAG,eAAanf,OAAOC,KAAK+e,IAAIrK,IAAI,SAASpV;QAAG,OAAOA,EAAEgR,gBAAc;OAAemD,KAAK,OAAMiM,KAAG;QAAW,SAASpgB;YAAI,IAAIA,IAAEc;YAAKA,KAAK4B,SAAO;YAAE,IAAIzC,IAAEa,KAAK4B,OAAMpC,QAAKgD,KAAG;YAAExC,KAAKmiB,WAAS,SAAS/iB;gBAAG,OAAOI,EAAE2B,QAAQ/B,MAAI,KAAG,IAAEoD,KAAG,KAAGhD,EAAEsH,KAAK1H,IAAGD,MAAID,EAAE0C,UAAQ1C,EAAE0C,SAAO1C,EAAE0C;iBAAQ;eAAI,IAAI8b,aAAa1d,MAAK,SAAQ;gBAAWwC,KAAG;gBAAE,KAAI,IAAII,IAAE,GAAEA,IAAEpD,EAAEgH,QAAO5D,KAAI;oBAAC,IAAIC,IAAErD,EAAEoD;oBAAGpD,EAAEoD,UAAQ,GAAEC;;gBAAIrD,QAAKL,IAAED,EAAE0C,OAAMxC,IAAEC,GAAEA,IAAEH,GAAEsD,KAAG;;;QAAI,SAASrD,EAAED;YAAGE,EAAE+iB,SAASjjB,MAAIG,EAAE8iB,SAASjjB;;QAAG,IAAIE,GAAEC;QAAE,OAAOD,IAAE,IAAIF,KAAEG,IAAE,IAAIH,KAAEC;;IAAKG,SAASsK,iBAAiB,oBAAmB;QAAWvF,EAAE/E,WAAUY,SAAS0c;QAA+B,IAAGiC,OAAK3f,EAAEmT,sBAAoB;QAAW,MAAM+P,UAAU;;IAAyB,IAAIlD,KAAG,mBAAgBmD,KAAG,IAAI9X,KAAEyU,KAAG,IAAIzU,KAAE+X,KAAG,IAAI/X;IAAE8H,oBAAoB0M,WAAS,SAAS7f,GAAEE;QAAG,IAAGF,EAAEqjB,sBAAqB,QAAO;QAAE,IAAIljB,IAAEH,GAAEM,IAAEyD,EAAE5D,IAAGmD,IAAEhD,GAAEoD,KAAGpD,GAAEqD,KAAG;QAAE,KAAIrD,KAAGuE,EAAE1E,OAAKF,GAAGC,IAAGC,IAAE+J,EAAElK,IAAGM,IAAEyD,EAAE5D,IAAGwD,KAAG,IAAGxD,EAAEkjB,wBAAsB;SAAG/iB,GAAE;YAACyJ,EAAE5J;YACrx+B,IAAIsD,IAAE2B,EAAEjF,EAAE+N;YAAeiV,GAAG1gB,IAAItC,GAAEsD,EAAE0K;;QAA0B,OAAOjO,IAAEkjB,GAAG3gB,IAAItC,GAAED,KAAGwD,IAAEoG,EAAE3J,GAAEH,GAAE2D,KAAGL,KAAG6B,EAAEhF,EAAEiT,WAAU;OAAGD,oBAAoByF,YAAUzT;IAAE,IAAIme,KAAGtjB,EAAEqT,sBAAoB3R,aAAYue;QAAIrd,KAAI;YAAW,OAAOugB,GAAGvgB,IAAI9B;;QAAOyD,aAAY;QAAED,eAAc;;IAAGqb,OAAKxM,oBAAoBxR,YAAUlB,OAAOiE,OAAO4e,GAAG3hB,YAAWlB,OAAOyB,eAAeiR,oBAAoBxR,WAAU,WAAUse;IAAK,IAAIsD,KAAG,IAAIlY,KAAEsV,KAAG,IAAItV,KAAE6U,KAAG,IAAI7U;IAAEnG,EAAEiO,oBAAoBxR;QAAWoX,MAAK,SAAS/Y,GAAEC,GAAEC;YAAG,QAAOF;cAAG,KAAKgK;cAAG,KAAK+B;cAAG,KAAKY;gBAAG,IAAIxM,IAAEsgB,GAAG7d,IAAI9B;gBAAMX,MAAIA,IAAE,IAAIkI,EAAEvH,OAAM2f,GAAGhe,IAAI3B,MAAKX,KAAIA,EAAEwhB,OAAO5I,KAAK/Y,GAAEC,GAAEC,KAAG;gBAAI;;cAAM;gBAAQ,OAAO0M,QAAQjL,UAAUoX,KAAKlW,KAAK/B,MAAKd,GAAEC,GAAEC;;;QAAKye,QAAO,SAAS3e,GAAEC,GAAEC;YAAG,QAAOF;cAAG,KAAKgK;cAAG,KAAK+B;cAAG,KAAKY;gBAAG,IAAIxM,IAAEsgB,GAAG7d,IAAI9B;gBAAM,KAAIX,GAAE;gBAAMA,EAAEwhB,OAAOhD,OAAO3e;gBAAG;;cAAM;gBAAQ,OAAO4M,QAAQjL,UAAUgd,OAAO9b,KAAK/B,MAAKd,GAAEC,GAAEC;;;QAAK2e,WAAU;YAAW/d,KAAK6d,OAAO3U,KAAIlJ,KAAK6d,OAAO5S,KAAIjL,KAAK6d,OAAOhS,KAAIC,QAAQjL,UAAUkd,UAAUhc,KAAK/B;;QAAO0iB,gBAAe,SAASxjB,GAAEC;YAAG,IAAIC,IAAEoI,EAAExH,KAAKuhB,IAAIjP,SAAQnT;YAAG,OAAM,qBAAmBkT,oBAAoBsQ,qBAAmBtQ,oBAAoBsQ,kBAAkBvjB;YAAGsI,EAAEtI,GAAEF,GAAEC,IAAG2I,EAAE1I,GAAEF,IAAGE;;QAAG0C,IAAI6b;YAAQ,OAAO8E,GAAG3gB,IAAI9B;;QAAO2B,IAAIgc,MAAMze;YAAGujB,GAAG9gB,IAAI3B,MAAKd,IAAG+I,EAAEjI;;QAAO8B,IAAIud;YAAkB,OAAOQ,GAAG/d,IAAI9B;;QAAO2B,IAAI0d,gBAAgBngB;YAAG2gB,GAAGle,IAAI3B,MAAKd,IAAG+I,EAAEjI;;QAAO8B,IAAIyf;YAAM,IAAIriB,GAAEC,IAAEa,KAAK8R,aAAa;YAAO,IAAG3S,GAAE;gBAAC,IAAIE,IAAED,EAAEY;gBAAMX,MAAIH,IAAEG,EAAEwT,eAAe1T;;YAAI,IAAGD,MAAIA,IAAEojB,GAAGxgB,IAAI9B,SAAQd,GAAE,OAAOc;YAAK,IAAIR,IAAEN,EAAEqiB;YAAI,OAAO/hB,IAAEA,IAAEN;;;IAAK,IAAIqgB,KAAG,GAAEC,KAAG,GAAEE,KAAG,IAAInV;IAAE5K,OAAOyB,eAAe6D,KAAKpE,WAAU;QAAoBiB,KAAI;YAAW,IAAI5C,IAAEwgB,GAAG5d,IAAI9B;YAAM,OAAOd,IAAEA,IAAEc,KAAKqG,aAAWrG,KAAKqG,WAAWuc,wBAAsB;;QAAKrZ,EAAE1I;QAAWc,IAAI8d,WAAWvgB;YAAGc,KAAKmgB,cAAYjhB,GAAEc,KAAK6iB;;QAAmB5K,MAAK,SAAS/Y,GAAEC,GAAEC;YAAGY,KAAK6d,OAAO3e,IAAGc,KAAKkgB,QAAOlgB,KAAKggB,SAAS9gB,KAAG,IAAI2D,EAAE1D,GAAEC,GAAE,SAASD;gBAAGa,KAAKigB,OAAO/gB,KAAGC,GAAEa,KAAK6iB;cAAmB5K,KAAKjY;;QAAQ6d,QAAO,SAAS3e,GAAEC;YAAGa,KAAKggB,SAAS9gB,OAAKc,KAAKkgB,QAAOlgB,KAAKggB,SAAS9gB,GAAG4e,kBAAiB9d,KAAKggB,SAAS9gB;mBAAUc,KAAKigB,OAAO/gB,IAAGC,KAAGa,KAAK6iB;;QAAoBA,iBAAgB;YAAWvD,GAAGtf,KAAKogB;;QAAeC,SAAQ;YAAW,KAAIrgB,KAAKsgB,UAAS;gBAAC,KAAItgB,KAAKmgB,aAAY,MAAMje,MAAM;gBAA6DlC,KAAK4B,QAAM5B,KAAKmgB,YAAYngB,KAAKigB;;;QAAUnC,SAAQ;YAAWne,OAAOC,KAAKI,KAAKggB,UAAUngB,QAAQ,SAASX;gBAAGc,KAAK6d,OAAO3e,IAAG;eAAIc,OAAMA,KAAKsgB,YAAU,GAAEtgB,KAAK4B,aAAW;;OAAI2F,EAAE1G;QAAWigB,eAAc,SAAS5hB;YAAG2M,MAAM3M,MAAIA,EAAE2M,MAAI7L,KAAKse,kBAAkB,KAAGrT,MAAM/L,IAAEc,KAAKse,aAAapf,EAAE+L,OAAK/B,MAAMhK,KAAG2M,MAAM3M,IAAEc,KAAKse,eAAcpf,EAAEgK,SAAMlJ,KAAKse,kBAAkB;;QAAIA,cAAa,SAASpf;YAAGgZ,MAAMoC,QAAQpb,OAAKA,SAAO;YAAG,IAAIC,IAAEa,KAAKygB;YAAczgB,KAAKkb,aAAYlb,KAAKygB,gBAAcvhB,GAAEc,KAAKygB,kBAAgBzgB,KAAK0gB,gBAAc,IAAInD,cAAcvd,KAAKygB,eAAczgB,KAAK2gB;YAAqB,IAAIvhB,IAAEme,cAAcC,iBAAiBxd,KAAKygB,qBAAkBthB;YAAOC,EAAEoH,UAAQxG,KAAK4gB,cAAcxhB,IAAGY,KAAK6gB,OAAOX,SAAOP,GAAG,OAAO3f,OAAMA,KAAK4f;;QAAYkD,iBAAgB,SAAS5jB;YAAG,KAAI,KAAGA,GAAE,OAAOc,KAAKugB;YAAiB,IAAIphB,IAAEa,KAAKwgB,YAAYthB;YAAG,IAAGC,EAAE0N,aAAW5H,KAAKiJ,gBAAclO,KAAKugB,qBAAmBphB,GAAE,OAAOA;YAAE,IAAIC,IAAEugB,GAAG7d,IAAI3C;YAAG,OAAOC,IAAEA,EAAE0jB,gBAAgB1jB,EAAEohB,YAAYha,SAAO,KAAGrH;;QAAG4jB,kBAAiB,SAAS7jB,GAAEC;YAAG,IAAIC,IAAEY,KAAK8iB,gBAAgB5jB,IAAE,IAAGG,IAAEF,EAAEA,EAAEqH,SAAO,MAAIpH;YAAEY,KAAKwgB,YAAYzE,OAAO7c,GAAE,GAAEG;YAAG,KAAI,IAAIG,IAAEQ,KAAKugB,iBAAiBla,YAAW7D,IAAEpD,EAAEmO,aAAY3K,IAAE,GAAEA,IAAEzD,EAAEqH,QAAO5D,KAAIpD,EAAEkO,aAAavO,EAAEyD,IAAGJ;;QAAIwgB,mBAAkB,SAAS9jB;YAAG,IAAIC,QAAKC,IAAEY,KAAK8iB,gBAAgB5jB,IAAE,IAAGG,IAAEW,KAAK8iB,gBAAgB5jB;YAAGc,KAAKwgB,YAAYzE,OAAO7c,GAAE;YAAG,KAAI,IAAIM,IAAEQ,KAAKugB,iBAAiBla,YAAWhH,MAAID,KAAG;gBAAC,IAAIoD,IAAEpD,EAAEmO;gBAAY/K,KAAGnD,MAAIA,IAAED,IAAGI,EAAEuN,YAAYvK,IAAGrD,EAAE2H,KAAKtE;;YAAG,OAAOrD;;QAAG8jB,kBAAiB,SAAS/jB,GAAEC,GAAEC;YAAG,IAAIC,IAAED,KAAGA,EAAEkK;YAAI,OAAOjK,KAAG,qBAAmBA,IAAEA,EAAEH,GAAEC,KAAGA;;QAAG+jB,kBAAiB,SAAShkB,GAAEC,GAAEC;YAAG,IAAIC,IAAED,EAAE0C,IAAI5C;YAAG,IAAGG,GAAE,OAAOD,EAAE,OAAOF,IAAGG;YAAEA;YAAK,KAAI,IAAIG,IAAEQ,KAAKugB,iBAAiBmC,eAAexjB,GAAEC,IAAGK,EAAE2N,cAAY9N,EAAEyH,KAAKtH,EAAEuN,YAAYvN,EAAE2N;YAAa,OAAO9N;;QAAGuhB,eAAc,SAAS1hB;YAAG,IAAIC,IAAEa,KAAKugB;YAAiB,KAAIphB,EAAEkH,eAAalH,EAAEiO,cAAc9G,aAAY,OAAOtG,KAAK4f,WAAUD,GAAG,OAAO3f;iBAAW;YAAE,IAAIZ,IAAED,EAAEkgB,iBAAgBhgB,IAAE,IAAI0J,KAAEvJ,IAAE;YAAEN,EAAEW,QAAQ,SAASX;gBAAGA,EAAEmJ,QAAQxI,QAAQ,SAASV;oBAAG,IAAIC,IAAEY,KAAKgjB,kBAAkB9jB,EAAE0c,QAAMpc,GAAEJ;oBAAGC,EAAEsC,IAAIxC,GAAEC;mBAAIY,OAAMR,KAAGN,EAAE2c;eAAY7b,OAAMd,EAAEW,QAAQ,SAASX;gBAAG,KAAI,IAAIM,IAAEN,EAAE0c,OAAMpc,IAAEN,EAAE0c,QAAM1c,EAAE2c,YAAWrc,KAAI;oBAAC,IAAIgD,IAAExC,KAAKijB,iBAAiB9jB,GAAEa,KAAKygB,cAAcjhB,IAAGJ,IAAGwD,IAAE5C,KAAKkjB,iBAAiB1gB,GAAEpD,GAAEC;oBAAGW,KAAK+iB,iBAAiBvjB,GAAEoD;;eAAK5C,OAAMX,EAAEQ,QAAQ,SAASX;gBAAG,KAAI,IAAIC,IAAE,GAAEA,IAAED,EAAEsH,QAAOrH,KAAIgJ,EAAEjJ,EAAEC;;;QAAO+b,WAAU;YAAWlb,KAAK0gB,kBAAgB1gB,KAAK0gB,cAAcpE,SAAQtc,KAAK0gB,qBAAmB;;QAAId,SAAQ;YAAW5f,KAAKkb,aAAYlb,KAAKwgB,YAAYha,SAAO,GAAE7G,OAAOyB,eAAepB,KAAK6gB,QAAO;gBAASrd,eAAc;gBAAE3B,WAAU;gBAAED,YAAW;gBAAI5B,KAAK6gB,OAAO/C;;;IAAY,IAAI6B,KAAG,IAAIpV;IAAErL,EAAEikB,kBAAgB5Z,GAAE8I,oBAAoB+Q,uBAAqB7e,GAAE8N,oBAAoBgR,wBAAsB3b;IAAE2K,oBAAoBiR,gBAAcnc;EAAGnH,OAAM,SAASd,GAAEC;IAAG;IAAa,qBAAmBokB,UAAQA,OAAOC,MAAID,SAAQ,aAAWpkB,KAAG,sBAAoBskB,UAAQtkB,EAAEskB,WAAStkB,EAAED,EAAEwkB;EAAa1jB,MAAK,SAASd;IAAG;IAAa,SAASC,EAAED,GAAEC;QAAG,KAAID,GAAE,MAAM,IAAIgD,MAAM,aAAW/C;;IAAG,SAASC,EAAEF;QAAG,OAAOA,KAAG,MAAI,MAAIA;;IAAE,SAASG,EAAEH;QAAG,OAAO,OAAKA,KAAG,MAAIA,KAAG,OAAKA,KAAG,OAAKA,KAAG,QAAMA,KAAGA,KAAG,QAAM,mBAAmBiC,QAAQ4Q,OAAO4R,aAAazkB,MAAI;;IAAE,SAASM,EAAEN;QAAG,OAAO,OAAKA,KAAG,OAAKA,KAAG,SAAOA,KAAG,SAAOA;;IAAE,SAASsD,EAAEtD;QAAG,OAAO,OAAKA,KAAG,OAAKA,KAAGA,KAAG,MAAI,MAAIA,KAAGA,KAAG,MAAI,OAAKA;;IAAE,SAAS0D,EAAE1D;QAAG,OAAO,OAAKA,KAAG,OAAKA,KAAGA,KAAG,MAAI,MAAIA,KAAGA,KAAG,MAAI,OAAKA,KAAGA,KAAG,MAAI,MAAIA;;IAAE,SAAS2D,EAAE3D;QAAG,OAAM,WAASA;;IAAE,SAASyD;QAAI,MAAKgI,KAAGF,MAAIpL,EAAEkL,EAAEqZ,WAAWnZ,UAAQA;;IAAG,SAASvH;QAAI,IAAIhE,GAAEC;QAAE,KAAID,IAAEuL,MAAKE,KAAGF,OAAKtL,IAAEoL,EAAEqZ,WAAWnZ,KAAI7H,EAAEzD,SAAOsL;QAAG,OAAOF,EAAEhK,MAAMrB,GAAEuL;;IAAI,SAAS/H;QAAI,IAAIxD,GAAEC,GAAEC;QAAE,OAAOF,IAAEuL,IAAGtL,IAAE+D,KAAI9D,IAAE,MAAID,EAAEqH,SAAOuC,EAAE8a,aAAWhhB,EAAE1D,KAAG4J,EAAE+a,UAAQ,WAAS3kB,IAAE4J,EAAEgb,cAAY,WAAS5kB,KAAG,YAAUA,IAAE4J,EAAEib,iBAAejb,EAAE8a;;YAAYzc,MAAKhI;YAAEwC,OAAMzC;YAAE8kB,SAAO/kB,GAAEuL;;;IAAK,SAAS/G;QAAI,IAAIxE,GAAEC,GAAEC,GAAEC,GAAEG,IAAEiL,IAAGjI,IAAE+H,EAAEqZ,WAAWnZ,KAAI7H,IAAE2H,EAAEE;QAAI,QAAOjI;UAAG,KAAK;UAAG,KAAK;UAAG,KAAK;UAAG,KAAK;UAAG,KAAK;UAAG,KAAK;UAAI,KAAK;UAAI,KAAK;UAAG,KAAK;UAAG,KAAK;UAAG,KAAK;UAAG,KAAK;YAAI,SAAQiI;gBAAIrD,MAAK2B,EAAEmb;gBAAWtiB,OAAMmQ,OAAO4R,aAAanhB;gBAAGyhB,SAAOzkB,GAAEiL;;;UAAK;YAAQ,IAAGvL,IAAEqL,EAAEqZ,WAAWnZ,KAAG,IAAG,OAAKvL,GAAE,QAAOsD;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;cAAG,KAAK;gBAAI,OAAOiI,MAAI;oBAAGrD,MAAK2B,EAAEmb;oBAAWtiB,OAAMmQ,OAAO4R,aAAanhB,KAAGuP,OAAO4R,aAAazkB;oBAAG+kB,SAAOzkB,GAAEiL;;;cAAK,KAAK;cAAG,KAAK;gBAAG,OAAOA,MAAI,GAAE,OAAKF,EAAEqZ,WAAWnZ,SAAOA;oBAAIrD,MAAK2B,EAAEmb;oBAAWtiB,OAAM2I,EAAEhK,MAAMf,GAAEiL;oBAAIwZ,SAAOzkB,GAAEiL;;;;QAAM,OAAOtL,IAAEoL,EAAEE,KAAG,IAAGrL,IAAEmL,EAAEE,KAAG,IAAGpL,IAAEkL,EAAEE,KAAG,IAAG,QAAM7H,KAAG,QAAMzD,KAAG,QAAMC,KAAG,QAAMC,KAAGoL,MAAI;;YAAGrD,MAAK2B,EAAEmb;YAAWtiB,OAAM;YAAOqiB,SAAOzkB,GAAEiL;aAAM,QAAM7H,KAAG,QAAMzD,KAAG,QAAMC,KAAGqL,MAAI;YAAGrD,MAAK2B,EAAEmb;YAAWtiB,OAAM;YAAMqiB,SAAOzkB,GAAEiL;aAAM,QAAM7H,KAAG,QAAMzD,KAAG,QAAMC,KAAGqL,MAAI;YAAGrD,MAAK2B,EAAEmb;YAAWtiB,OAAM;YAAMqiB,SAAOzkB,GAAEiL;aAAM,QAAM7H,KAAG,QAAMzD,KAAG,QAAMC,KAAGqL,MAAI;YAAGrD,MAAK2B,EAAEmb;YAAWtiB,OAAM;YAAMqiB,SAAOzkB,GAAEiL;aAAM7H,MAAIzD,KAAG,SAASgC,QAAQyB,MAAI,KAAG6H,MAAI;YAAGrD,MAAK2B,EAAEmb;YAAWtiB,OAAMgB,IAAEzD;YAAE8kB,SAAOzkB,GAAEiL;aAAM,eAAetJ,QAAQyB,MAAI,OAAK6H;YAAIrD,MAAK2B,EAAEmb;YAAWtiB,OAAMgB;YAAEqhB,SAAOzkB,GAAEiL;cAAO9F,MAAK2F,EAAE6Z,iBAAgB,iBAAgB;;IAAG,SAASxgB;QAAI,IAAIzE,GAAEG,GAAEG;QAAE,IAAGA,IAAE+K,EAAEE,KAAItL,EAAEC,EAAEI,EAAEokB,WAAW,OAAK,QAAMpkB,GAAE;QAAsEH,IAAEoL,IAAGvL,IAAE,IAAG,QAAMM,GAAE;YAAC,KAAIN,IAAEqL,EAAEE,OAAMjL,IAAE+K,EAAEE,KAAI,QAAMvL,KAAGM,KAAGJ,EAAEI,EAAEokB,WAAW,OAAKjf,MAAK2F,EAAE6Z,iBAAgB,YAAW/kB,EAAEmL,EAAEqZ,WAAWnZ,QAAMvL,KAAGqL,EAAEE;YAAMjL,IAAE+K,EAAEE;;QAAI,IAAG,QAAMjL,GAAE;YAAC,KAAIN,KAAGqL,EAAEE,OAAMrL,EAAEmL,EAAEqZ,WAAWnZ,QAAMvL,KAAGqL,EAAEE;YAAMjL,IAAE+K,EAAEE;;QAAI,IAAG,QAAMjL,KAAG,QAAMA,GAAE,IAAGN,KAAGqL,EAAEE,OAAMjL,IAAE+K,EAAEE,MAAK,QAAMjL,KAAG,QAAMA,OAAKN,KAAGqL,EAAEE;QAAOrL,EAAEmL,EAAEqZ,WAAWnZ,MAAK,MAAKrL,EAAEmL,EAAEqZ,WAAWnZ,QAAMvL,KAAGqL,EAAEE,YAAW9F,MAAK2F,EAAE6Z,iBAAgB;QAAW,OAAO3hB,EAAE+H,EAAEqZ,WAAWnZ,QAAM9F,MAAK2F,EAAE6Z,iBAAgB;YAAY/c,MAAK2B,EAAEqb;YAAexiB,OAAMyiB,WAAWnlB;YAAG+kB,SAAO5kB,GAAEoL;;;IAAK,SAAShI;QAAI,IAAIvD,GAAEE,GAAEC,GAAEmD,IAAE,IAAGI,KAAG;QAAE,KAAI1D,IAAEqL,EAAEE,KAAItL,EAAE,QAAMD,KAAG,QAAMA,GAAE;QAA2CE,IAAEqL,MAAKA,IAAGE,KAAGF,MAAI;YAAC,IAAGpL,IAAEkL,EAAEE,OAAMpL,MAAIH,GAAE;gBAACA,IAAE;gBAAG;;YAAM,IAAG,SAAOG,GAAE,IAAGA,IAAEkL,EAAEE,OAAMpL,KAAGG,EAAEH,EAAEukB,WAAW,KAAI,SAAOvkB,KAAG,SAAOkL,EAAEE,SAAOA,SAAQ,QAAOpL;cAAG,KAAI;gBAAImD,KAAG;gBAAK;;cAAM,KAAI;gBAAIA,KAAG;gBAAK;;cAAM,KAAI;gBAAIA,KAAG;gBAAI;;cAAM,KAAI;gBAAIA,KAAG;gBAAK;;cAAM,KAAI;gBAAIA,KAAG;gBAAK;;cAAM,KAAI;gBAAIA,KAAG;gBAAI;;cAAM;gBAAQA,KAAGnD;mBAAM;gBAAC,IAAGG,EAAEH,EAAEukB,WAAW,KAAI;gBAAMphB,KAAGnD;;;QAAG,OAAM,OAAKH,KAAGyF,MAAK2F,EAAE6Z,iBAAgB;YAAY/c,MAAK2B,EAAEub;YAAc1iB,OAAMY;YAAE+hB,OAAM3hB;YAAEqhB,SAAO7kB,GAAEqL;;;IAAK,SAAS3G,EAAE5E;QAAG,OAAOA,EAAEkI,SAAO2B,EAAE8a,cAAY3kB,EAAEkI,SAAO2B,EAAE+a,WAAS5kB,EAAEkI,SAAO2B,EAAEib,kBAAgB9kB,EAAEkI,SAAO2B,EAAEgb;;IAAY,SAAS5f;QAAI,IAAIjF;QAAE,OAAOyD,KAAI8H,MAAIE;YAAIvD,MAAK2B,EAAEyb;YAAIP,SAAOxZ,IAAGA;aAAMvL,IAAEqL,EAAEqZ,WAAWnZ,KAAI,OAAKvL,KAAG,OAAKA,KAAG,OAAKA,IAAEwE,MAAI,OAAKxE,KAAG,OAAKA,IAAEuD,MAAID,EAAEtD,KAAGwD,MAAI,OAAKxD,IAAEE,EAAEmL,EAAEqZ,WAAWnZ,KAAG,MAAI9G,MAAID,MAAItE,EAAEF,KAAGyE,MAAID;;IAAK,SAASc;QAAI,IAAItF;QAAE,OAAOA,IAAE2L,IAAGJ,KAAGvL,EAAE+kB,MAAM,IAAGpZ,KAAG1G,KAAIsG,KAAGvL,EAAE+kB,MAAM,IAAG/kB;;IAAE,SAASwF;QAAI,IAAIxF;QAAEA,IAAEuL,IAAGI,KAAG1G,KAAIsG,KAAGvL;;IAAE,SAASyF,EAAEzF,GAAEE;QAAG,IAAIC,GAAEG,IAAE0Y,MAAMrX,UAAUN,MAAMwB,KAAKsB,WAAU,IAAGb,IAAEpD,EAAE4Q,QAAQ,UAAS,SAAS9Q,GAAEE;YAAG,OAAOD,EAAEC,IAAEI,EAAEgH,QAAO,uCAAsChH,EAAEJ;;QAAK,MAAMC,IAAE,IAAI6C,MAAMM,IAAGnD,EAAEuc,QAAMnR,IAAGpL,EAAEolB,cAAYjiB,GAAEnD;;IAAE,SAASuF,EAAE1F;QAAGyF,EAAEzF,GAAEoL,EAAE6Z,iBAAgBjlB,EAAE0C;;IAAO,SAASiD,EAAE3F;QAAG,IAAIC,IAAEqF;SAAKrF,EAAEiI,SAAO2B,EAAEmb,cAAY/kB,EAAEyC,UAAQ1C,MAAI0F,EAAEzF;;IAAG,SAAS2F,EAAE5F;QAAG,OAAO2L,GAAGzD,SAAO2B,EAAEmb,cAAYrZ,GAAGjJ,UAAQ1C;;IAAE,SAAS6F,EAAE7F;QAAG,OAAO2L,GAAGzD,SAAO2B,EAAE+a,WAASjZ,GAAGjJ,UAAQ1C;;IAAE,SAAS8F;QAAI,OAAO,OAAKuF,EAAEqZ,WAAWnZ,OAAKjG,UAAS,MAAI7B,KAAImC,EAAE,QAAMN,UAAS,MAAIqG,GAAGzD,SAAO2B,EAAEyb,OAAK1f,EAAE,QAAMF,EAAEiG;aAAS;;IAAI,SAASpG;QAAI,IAAIvF;QAAK,KAAI2F,EAAE,OAAMC,EAAE,QAAMA,EAAE,QAAMN,KAAItF,EAAE4H,KAAK,UAAQ5H,EAAE4H,KAAKK,MAAKrC,EAAE,QAAMD,EAAE;QAAM,OAAOA,EAAE,MAAK+F,GAAG8Z,sBAAsBxlB;;IAAG,SAASqD;QAAI,IAAIrD;QAAE,OAAOyD,KAAIzD,IAAEsF,KAAItF,EAAEkI,SAAO2B,EAAEub,iBAAeplB,EAAEkI,SAAO2B,EAAEqb,iBAAexZ,GAAG+Z,cAAczlB,KAAG0L,GAAGga,iBAAiB1lB,EAAE0C;;IAAO,SAASmC;QAAI,IAAI7E,GAAEC;QAAE,OAAOD,IAAE2L,IAAGlI,MAAKzD,EAAEkI,SAAO2B,EAAEyb,OAAKtlB,EAAEkI,SAAO2B,EAAEmb,eAAatf,EAAE1F,IAAGC,IAAEoD;QAAIsC,EAAE,MAAK+F,GAAGia,eAAe,QAAO1lB,GAAEgI;;IAAK,SAASpE;QAAI,IAAI7D;QAAK,KAAI2F,EAAE,OAAMC,EAAE,QAAM5F,EAAE4H,KAAK/C,MAAKe,EAAE,QAAMD,EAAE;QAAK,OAAOA,EAAE,MAAK+F,GAAGka,uBAAuB5lB;;IAAG,SAAS+D;QAAI,IAAI/D;QAAE,OAAO2F,EAAE,MAAK3F,IAAEkJ,KAAIvD,EAAE,MAAK3F;;IAAE,SAASqF;QAAI,IAAIrF,GAAEC,GAAEC;QAAE,OAAO0F,EAAE,OAAK7B,OAAK/D,IAAE2L,GAAGzD,MAAKlI,MAAI6J,EAAE8a,aAAWzkB,IAAEwL,GAAGga,iBAAiBpgB,IAAI5C,SAAO1C,MAAI6J,EAAEub,iBAAeplB,MAAI6J,EAAEqb,iBAAehlB,IAAEwL,GAAG+Z,cAAcngB,OAAKtF,MAAI6J,EAAE+a,UAAQ/e,EAAE,YAAUP;QAAIpF,IAAEwL,GAAGma,0BAAwB7lB,MAAI6J,EAAEib,kBAAgB7kB,IAAEqF,KAAIrF,EAAEyC,QAAM,WAASzC,EAAEyC;QAAMxC,IAAEwL,GAAG+Z,cAAcxlB,MAAID,MAAI6J,EAAEgb,eAAa5kB,IAAEqF,KAAIrF,EAAEyC,QAAM,MAAKxC,IAAEwL,GAAG+Z,cAAcxlB,MAAI2F,EAAE,OAAK1F,IAAEqF,MAAIK,EAAE,SAAO1F,IAAE2D;QAAK3D,IAAEA,KAAGwF,EAAEJ,WAAU;;IAAI,SAASH;QAAI,IAAInF;QAAK,IAAG2F,EAAE,OAAMC,EAAE,MAAK,MAAK6F,KAAGF,OAAKvL,EAAE4H,KAAKK,OAAMrC,EAAE,SAAOD,EAAE;QAAK,OAAOA,EAAE,MAAK3F;;IAAE,SAASkF;QAAI,IAAIlF;QAAE,OAAOA,IAAEsF,KAAIV,EAAE5E,MAAI0F,EAAE1F,IAAG0L,GAAGga,iBAAiB1lB,EAAE0C;;IAAO,SAAS0C;QAAI,OAAOO,EAAE,MAAKT;;IAAI,SAASgF;QAAI,IAAIlK;QAAE,OAAO2F,EAAE,MAAK3F,IAAEkJ,KAAIvD,EAAE,MAAK3F;;IAAE,SAAS8J;QAAI,IAAI9J,GAAEC,GAAEC;QAAE,KAAIF,IAAEqF,KAAIO,EAAE,QAAMA,EAAE,QAAMA,EAAE,QAAMA,EAAE,QAAM3F,IAAEkF,KAAInF,IAAE0L,GAAGoa,qBAAqB9lB,GAAEC,MAAI2F,EAAE,QAAM1F,IAAEgK;QAAIlK,IAAE0L,GAAGqa,uBAAuB,KAAI/lB,GAAEE,OAAKA,IAAEkF,KAAIpF,IAAE0L,GAAGqa,uBAAuB,KAAI/lB,GAAEE;QAAI,OAAOF;;IAAE,SAAS+J;QAAI,IAAI/J;QAAE,OAAOA,IAAE8J,KAAI6B,GAAGzD,SAAO2B,EAAEmb,eAAapf,EAAE,SAAOA,EAAE,UAAQH,MAAK2F,EAAE6Z;QAAiBjlB;;IAAE,SAAS+I;QAAI,IAAI/I,GAAEC;QAAE,OAAO0L,GAAGzD,SAAO2B,EAAEmb,cAAYrZ,GAAGzD,SAAO2B,EAAE+a,UAAQ3kB,IAAE8J,MAAInE,EAAE,SAAOA,EAAE,QAAMH,MAAK2F,EAAE6Z,mBAAiBrf,EAAE,QAAMA,EAAE,QAAMA,EAAE,QAAMA,EAAE,QAAM5F,IAAEsF;QAAIrF,IAAE8I,KAAI9I,IAAEyL,GAAGsa,sBAAsBhmB,EAAE0C,OAAMzC,MAAI4F,EAAE,aAAWA,EAAE,WAASA,EAAE,YAAUJ,MAAK2F,EAAE6Z,mBAAiBhlB,IAAE8J;QAAI9J;;IAAE,SAASoH,EAAErH,GAAEC;QAAG,IAAIC,IAAE;QAAE,IAAGF,EAAEkI,SAAO2B,EAAEmb,cAAYhlB,EAAEkI,SAAO2B,EAAE+a,SAAQ,OAAO;QAAE,QAAO5kB,EAAE0C;UAAO,KAAI;YAAKxC,IAAE;YAAE;;UAAM,KAAI;YAAKA,IAAE;YAAE;;UAAM,KAAI;YAAIA,IAAE;YAAE;;UAAM,KAAI;YAAIA,IAAE;YAAE;;UAAM,KAAI;YAAIA,IAAE;YAAE;;UAAM,KAAI;UAAK,KAAI;UAAK,KAAI;UAAM,KAAI;YAAMA,IAAE;YAAE;;UAAM,KAAI;UAAI,KAAI;UAAI,KAAI;UAAK,KAAI;UAAK,KAAI;YAAaA,IAAE;YAAE;;UAAM,KAAI;YAAKA,IAAED,IAAE,IAAE;YAAE;;UAAM,KAAI;UAAK,KAAI;UAAK,KAAI;YAAMC,IAAE;YAAE;;UAAM,KAAI;UAAI,KAAI;YAAIA,IAAE;YAAE;;UAAM,KAAI;UAAI,KAAI;UAAI,KAAI;YAAIA,IAAE;;QAAG,OAAOA;;IAAE,SAAS6G;QAAI,IAAI/G,GAAEC,GAAEC,GAAEC,GAAEG,GAAEgD,GAAEI,GAAEC,GAAEF;QAAE,IAAGtD,IAAE8J,GAAGgc,SAAQhc,GAAGgc,WAAS,GAAEtiB,IAAEoF,KAAI9I,IAAE0L,IAAGzL,IAAEmH,EAAEpH,GAAEE,IAAG,MAAID,GAAE,OAAOyD;QAAE,KAAI1D,EAAEimB,OAAKhmB,GAAEoF,KAAIhC,IAAEyF,KAAIzI,MAAGqD,GAAE1D,GAAEqD,MAAIpD,IAAEmH,EAAEsE,IAAGxL,MAAI,KAAG;YAAC,MAAKG,EAAEgH,SAAO,KAAGpH,KAAGI,EAAEA,EAAEgH,SAAO,GAAG4e,QAAM5iB,IAAEhD,EAAEyH,OAAMrE,IAAEpD,EAAEyH,MAAMrF;YAAMiB,IAAErD,EAAEyH,OAAM/H,IAAE0L,GAAGya,uBAAuBziB,GAAEC,GAAEL,IAAGhD,EAAEsH,KAAK5H;YAAGC,IAAEqF,KAAIrF,EAAEimB,OAAKhmB,GAAEI,EAAEsH,KAAK3H,IAAGD,IAAE+I,KAAIzI,EAAEsH,KAAK5H;;QAAG,KAAIiK,GAAGgc,UAAQ9lB,GAAEsD,IAAEnD,EAAEgH,SAAO,GAAEtH,IAAEM,EAAEmD,IAAGA,IAAE,KAAGzD,IAAE0L,GAAGya,uBAAuB7lB,EAAEmD,IAAE,GAAGf,OAAMpC,EAAEmD,IAAE,IAAGzD;QAAGyD,KAAG;QAAE,OAAOzD;;IAAE,SAAS8I;QAAI,IAAI9I,GAAEC,GAAEC,GAAEC;QAAE,OAAOH,IAAE+G,KAAInB,EAAE,SAAON,KAAIrF,IAAEgK,GAAGgc,SAAQhc,GAAGgc,WAAS,GAAE/lB,IAAE+H,KAAIgC,GAAGgc,UAAQhmB;QAAE0F,EAAE,MAAKxF,IAAE8H,KAAIjI,IAAE0L,GAAG0a,4BAA4BpmB,GAAEE,GAAEC,KAAIH;;IAAE,SAASiI;QAAI,IAAIjI,GAAEC,GAAEC;QAAE,OAAOF,IAAE2L,IAAGzL,IAAED,IAAE6I;;IAAI,SAASI;QAAI,IAAIlJ;QAAE,OAAOA,IAAEiI;;IAAI,SAASO;QAAI,OAAO7C,EAAE,MAAK+F,GAAG2a;;IAAuB,SAASpd;QAAI,IAAIjJ,IAAEkJ;QAAI,OAAOpD,KAAI4F,GAAG4a,0BAA0BtmB;;IAAG,SAASsI;QAAI,IAAItI,GAAEC,GAAEC,GAAEC,IAAEwL,GAAGzD;QAAK,IAAG/H,MAAI0J,EAAEyb,OAAK5f,EAAEiG,KAAIlI,KAAItD,MAAI0J,EAAEmb,YAAW,QAAOrZ,GAAGjJ;UAAO,KAAI;YAAI,OAAO8F;;UAAI,KAAI;YAAI,OAAOS;;QAAI,OAAOjJ,IAAEkJ,KAAIlJ,EAAEkI,SAAOiD,EAAEwZ,cAAY/e,EAAE,QAAMN,KAAIpF,IAAE,MAAIF,EAAEsC,MAAK7B,OAAOkB,UAAUQ,eAAeU,KAAKoH,GAAGsc,UAASrmB,MAAIuF,MAAK2F,EAAEob,eAAc,SAAQxmB,EAAEsC;QAAM2H,GAAGsc,SAASrmB,MAAI,GAAED,IAAEqI,YAAW2B,GAAGsc,SAASrmB,IAAGwL,GAAG+a,uBAAuBzmB,GAAEC,OAAK6F;QAAI4F,GAAG4a,0BAA0BtmB;;IAAI,SAAS2J;QAAI,OAAOgC,GAAGzD,SAAO2B,EAAE+a,UAAQtc,MAAIqD,GAAGzD,SAAO2B,EAAEyb,MAAIhd,WAAS;;IAAE,SAASM;QAAI,KAAI,IAAI5I,GAAEC,QAAKwL,KAAGF,OAAKvL,IAAE2J,KAAI,sBAAoB3J,MAAIC,EAAE2H,KAAK5H;QAAG,OAAOC;;IAAE,SAASoK;QAAI,IAAIrK;QAAE,OAAOyD,KAAI+B,KAAIxF,IAAE4I,KAAI8C,GAAGgb,cAAc1mB;;IAAG,SAASqI,EAAErI,GAAEC;QAAG,IAAIC;QAAE,OAAOA,IAAE2S,QAAO,mBAAiB7S,KAAGA,aAAa6S,WAAS7S,IAAEE,EAAEF,KAAI0L,KAAGzL;QAAEoL,IAAErL,GAAEuL,KAAG,GAAEE,KAAGJ,EAAE/D,QAAOqE,KAAG,MAAK1B;YAAIgc,UAAS;YAAEM;WAAa9a,KAAG,KAAG,sBAAoBJ,EAAE,MAAIrL,aAAa6S,WAASxH,IAAErL,EAAE2mB;QAAWtc;;IAAI,IAAIR,GAAEqB,GAAEC,GAAEC,GAAEC,GAAEE,IAAGE,IAAGC,IAAGC,IAAG1B;IAAGJ;QAAGib,gBAAe;QAAEQ,KAAI;QAAEX,YAAW;QAAEC,SAAQ;QAAEC,aAAY;QAAEK,gBAAe;QAAEF,YAAW;QAAEI,eAAc;OAAGla,QAAKA,EAAErB,EAAEib,kBAAgB,WAAU5Z,EAAErB,EAAEyb,OAAK,SAAQpa,EAAErB,EAAE8a,cAAY;IAAazZ,EAAErB,EAAE+a,WAAS,WAAU1Z,EAAErB,EAAEgb,eAAa,QAAO3Z,EAAErB,EAAEqb,kBAAgB;IAAUha,EAAErB,EAAEmb,cAAY,cAAa9Z,EAAErB,EAAEub,iBAAe,UAASja;QAAGyb,iBAAgB;QAAkBC,kBAAiB;QAAmBC,gBAAe;QAAiBC,uBAAsB;QAAwBC,gBAAe;QAAiBC,qBAAoB;QAAsBtC,YAAW;QAAauC,SAAQ;QAAUC,kBAAiB;QAAmBC,mBAAkB;QAAoBC,kBAAiB;QAAmBC,kBAAiB;QAAmBC,SAAQ;QAAUC,UAAS;QAAWC,gBAAe;QAAiBC,iBAAgB;OAAmBtc;QAAG6Z,iBAAgB;QAAsB0C,cAAa;QAAuBnB,eAAc;OAAqCxmB,EAAE4nB,QAAMvf;IAAI,SAASrI;IAAG;IAAa,SAASC,EAAED,GAAEC,GAAEE,GAAEG;QAAG,IAAGA,EAAEqN,aAAW5H,KAAKiJ,gBAAc,eAAa1O,EAAEyQ,YAAU,WAAS5Q,KAAG,aAAWA,IAAG;YAAC,IAAImD,GAAEI,GAAEC,IAAE1D,EAAE4nB,MAAMriB;YAAG,IAAG7B,KAAGL,IAAEK,EAAE,IAAGD,IAAEC,EAAE,OAAKA,IAAE1D,EAAE4nB,MAAMpiB,IAAG9B,MAAIL,IAAEK,EAAE,IAAGD,IAAEC,EAAE,MAAKA,GAAE;gBAAC,IAAIF;gBAAE,IAAGC,IAAEA,EAAEmQ,QAAOnQ,EAAEmkB,MAAMviB,IAAG7B,IAAE,IAAIwgB,gBAAgB,SAASjkB;oBAAG,OAAOA,EAAE8K;oBAAOrH,EAAEsV,KAAK,QAAO/Y,GAAE0D,SAAQ;oBAAID,IAAEvD,EAAEF,GAAE0D;kBAAG,OAAMM;oBAAGyF,QAAQC,MAAM,gCAA8BhG,GAAEM;;gBAAG,IAAGP,GAAE,OAAOiC,EAAEjD,IAAInC,GAAEgD,IAAGG;;;;IAAI,SAASvD,EAAEF,GAAEC;QAAG;YAAI,IAAIC,IAAE,IAAIoD;YAAE,IAAGkhB,QAAQoD,MAAM3nB,GAAEC,KAAIA,EAAE4nB,WAAWxgB,WAASpH,EAAE6nB,kBAAkBzgB,QAAO;YAAO,KAAIpH,EAAE6nB,kBAAkBzgB,UAAQpH,EAAE4nB,WAAWxgB,SAAO,GAAE,MAAMtE,MAAM;YAAmD,IAAI1C,IAAEJ,EAAE6nB,kBAAkBzgB,SAAOnH,EAAED,EAAE6nB,qBAAmBznB,IAAEJ,EAAE4nB,WAAW,IAAGpkB;YAAK,KAAI,IAAIC,KAAKzD,EAAE8nB,MAAKtkB,EAAEkE,KAAKjE;YAAG,KAAID,EAAE4D,QAAO;gBAAO5E,OAAMpC;;YAAO,KAAI,IAAImD,IAAE,IAAIwgB,gBAAgB3jB,IAAG0D,IAAE,GAAEA,IAAEN,EAAE4D,QAAOtD,KAAIP,EAAEsV,KAAKrV,EAAEM,IAAGhE,GAAE0D,EAAEM;YAAI,OAAOP;UAAE,OAAMD;YAAGiG,QAAQC,MAAM,gCAA8BzJ,GAAEuD;;;IAAI,SAASrD,EAAEH;QAAG,OAAO,SAASC;YAAG,KAAI,IAAIC,QAAKC,IAAE,GAAEA,IAAEH,EAAEsH,QAAOnH,KAAIH,EAAEG,GAAG4V,KAAK9V,MAAIC,EAAE0H,KAAK5H,EAAEG,GAAG4W;YAAO,OAAO7W,EAAEiU,KAAK;;;IAAM,SAAS7T,EAAEN,GAAEC,GAAEC;QAAGY,KAAKknB,OAAKhoB,GAAEc,KAAKwB,OAAKrC,GAAEa,KAAKmnB,OAAK/nB;;IAAE,SAASoD;QAAIxC,KAAKgnB,iBAAchnB,KAAKinB,wBAAqBjnB,KAAKknB,WAAQlnB,KAAKonB,mBAAiB;;IAAE,SAASxkB;QAAI,MAAMV,MAAM;;IAAmB,SAASW;IAAK,IAAIF;IAAE,sBAAoB3B,WAASC,UAAUC,UAAUC,QAAQ,cAAY,IAAEwB,IAAE3B,UAAQ;QAAW,IAAI9B,IAAES,OAAOyB,gBAAejC,IAAEQ,OAAO0B,gBAAejC,IAAE,IAAKkC,OAAMC,YAAU;QAAIoB,IAAE;YAAW3C,KAAKwB,OAAK,UAAQ,MAAIC,KAAKC,aAAW,MAAItC,MAAK;WAAOuD,EAAE9B;YAAWc,KAAI,SAASxC,GAAEC;gBAAGF,EAAEC,GAAEa,KAAKwB;oBAAMI,OAAMxC;oBAAEyC,WAAU;;;YAAKC,KAAI,SAAS5C;gBAAG,OAAOC,EAAE4C,KAAK7C,GAAEc,KAAKwB,QAAMtC,EAAEc,KAAKwB,aAAW;;YAAGQ,UAAS,SAAS9C;gBAAGc,KAAK2B,IAAIzC,QAAO;;;;IAAQ,IAAIgE,IAAE,cAAaR,IAAE,iBAAgBgB,IAAER,IAAE,MAAIR,IAAE,KAAIiB,IAAE,MAAID,IAAE,KAAIjB,IAAE,0BAAyBqB,IAAE,QAAMJ,IAAE,MAAIjB,IAAE,KAAI0B,IAAE,QAAML,IAAE,YAAUA,IAAE,MAAKU,IAAE,IAAI4O,OAAO,MAAIjP,IAAE,MAAKO,IAAE,IAAI0O,OAAO,MAAIzP,IAAE,kBAAiBgB,IAAE,IAAIyO,OAAO,kBAAgBzP,IAAE,MAAKiB,IAAE,IAAIjC;IAAEnD,EAAEqB;QAAWwmB,SAAQ;YAAW,OAAOrnB,KAAKmnB,OAAKnnB,KAAKmnB,KAAKE,YAAU,MAAIrnB,KAAKwB,OAAKxB,KAAKwB;;QAAM8lB,SAAQ;YAAW,IAAIpoB,IAAEc,KAAKqnB;YAAU,OAAOrnB,KAAKknB,KAAKhoB,MAAI,GAAE,SAASC;gBAAG,OAAOA,EAAED;;;;IAAM,IAAI2F;QAAG0iB,KAAI,SAASroB;YAAG,QAAOA;;QAAGsoB,KAAI,SAAStoB;YAAG,QAAOA;;QAAGuoB,KAAI,SAASvoB;YAAG,QAAOA;;OAAI4F;QAAGyiB,KAAI,SAASroB,GAAEC;YAAG,OAAOD,IAAEC;;QAAGqoB,KAAI,SAAStoB,GAAEC;YAAG,OAAOD,IAAEC;;QAAGuoB,KAAI,SAASxoB,GAAEC;YAAG,OAAOD,IAAEC;;QAAGwoB,KAAI,SAASzoB,GAAEC;YAAG,OAAOD,IAAEC;;QAAGyoB,KAAI,SAAS1oB,GAAEC;YAAG,OAAOD,IAAEC;;QAAG0oB,KAAI,SAAS3oB,GAAEC;YAAG,OAAOA,IAAED;;QAAG4oB,KAAI,SAAS5oB,GAAEC;YAAG,OAAOD,IAAEC;;QAAG4oB,MAAK,SAAS7oB,GAAEC;YAAG,OAAOA,KAAGD;;QAAG8oB,MAAK,SAAS9oB,GAAEC;YAAG,OAAOD,KAAGC;;QAAG8oB,MAAK,SAAS/oB,GAAEC;YAAG,OAAOD,KAAGC;;QAAG+oB,MAAK,SAAShpB,GAAEC;YAAG,OAAOD,KAAGC;;QAAGgpB,OAAM,SAASjpB,GAAEC;YAAG,OAAOD,MAAIC;;QAAGipB,OAAM,SAASlpB,GAAEC;YAAG,OAAOD,MAAIC;;QAAGkpB,MAAK,SAASnpB,GAAEC;YAAG,OAAOD,KAAGC;;QAAGmpB,MAAK,SAASppB,GAAEC;YAAG,OAAOD,KAAGC;;;IAAIqD,EAAE3B;QAAW0nB,OAAM,SAASrpB;YAAG,OAAOA,aAAaM,IAAEN,EAAEooB,YAAUpoB;;QAAG0mB,eAAc;QAAaJ,2BAA0B,SAAStmB;YAAG,OAAOc,KAAKgnB,WAAWlgB,KAAK5H,IAAGA;;QAAGymB,wBAAuB,SAASzmB,GAAEC;YAAG,OAAOa,KAAKinB,kBAAkBngB;gBAAMmP,OAAM/W,EAAEmoB;gBAAUpS,MAAK9V,aAAaK,IAAEL,EAAEmoB,YAAUnoB;gBAAIA;;QAAG+lB,uBAAsB,SAAShmB,GAAEC;YAAG,KAAI0F,EAAE3F,IAAG,MAAMgD,MAAM,0BAAwBhD;YAAG,OAAOC,IAAEa,KAAKuoB,MAAMppB,IAAG,SAASC;gBAAG,OAAOyF,EAAE3F,GAAGC,EAAEC;;;QAAMimB,wBAAuB,SAASnmB,GAAEC,GAAEC;YAAG,KAAI0F,EAAE5F,IAAG,MAAMgD,MAAM,0BAAwBhD;YAAG,OAAOC,IAAEa,KAAKuoB,MAAMppB,IAAGC,IAAEY,KAAKuoB,MAAMnpB,IAAG,SAASC;gBAAG,OAAOyF,EAAE5F,GAAGC,EAAEE,IAAGD,EAAEC;;;QAAMimB,6BAA4B,SAASpmB,GAAEC,GAAEC;YAAG,OAAOF,IAAEc,KAAKuoB,MAAMrpB,IAAGC,IAAEa,KAAKuoB,MAAMppB,IAAGC,IAAEY,KAAKuoB,MAAMnpB,IAAG,SAASC;gBAAG,OAAOH,EAAEG,KAAGF,EAAEE,KAAGD,EAAEC;;;QAAKulB,kBAAiB,SAAS1lB;YAAG,IAAIC,IAAE,IAAIK,EAAEQ,KAAKknB,MAAKhoB;YAAG,OAAOC,EAAEiI,OAAK,cAAajI;;QAAG8lB,wBAAuB,SAAS/lB,GAAEC,GAAEC;YAAG,OAAO,IAAII,EAAEQ,KAAKknB,MAAK9nB,EAAEoC,MAAKrC;;QAAIwlB,eAAc,SAASzlB;YAAG,OAAO;gBAAW,OAAOA,EAAE0C;;;QAAQ8iB,uBAAsB,SAASxlB;YAAG,KAAI,IAAIC,IAAE,GAAEA,IAAED,EAAEsH,QAAOrH,KAAID,EAAEC,KAAGa,KAAKuoB,MAAMrpB,EAAEC;YAAI,OAAO,SAASA;gBAAG,KAAI,IAAIC,QAAKC,IAAE,GAAEA,IAAEH,EAAEsH,QAAOnH,KAAID,EAAE0H,KAAK5H,EAAEG,GAAGF;gBAAI,OAAOC;;;QAAIylB,gBAAe,SAAS3lB,GAAEC,GAAEC;YAAG;gBAAOopB,KAAIrpB,aAAaK,IAAEL,EAAEkoB,YAAUloB;gBAAIyC,OAAMxC;;;QAAI0lB,wBAAuB,SAAS5lB;YAAG,KAAI,IAAIC,IAAE,GAAEA,IAAED,EAAEsH,QAAOrH,KAAID,EAAEC,GAAGyC,QAAM5B,KAAKuoB,MAAMrpB,EAAEC,GAAGyC;YAAO,OAAO,SAASzC;gBAAG,KAAI,IAAIC,QAAKC,IAAE,GAAEA,IAAEH,EAAEsH,QAAOnH,KAAID,EAAEF,EAAEG,GAAGmpB,OAAKtpB,EAAEG,GAAGuC,MAAMzC;gBAAG,OAAOC;;;QAAI4lB,sBAAqBpiB;QAAE2iB,sBAAqB3iB;QAAEmiB,sBAAqBniB;OAAGC,EAAEhC;QAAW4nB,YAAW,SAASvpB,GAAEG,GAAEG,GAAEgD;YAAG,OAAOnD,IAAEA,EAAE0T,QAAO1T,MAAIA,EAAE0nB,MAAMviB,KAAGrF,EAAED,GAAEG,GAAEG,GAAEgD,MAAIpD,EAAEF,GAAEG,GAAEG,GAAEgD,UAAQ;;QAAGygB,kBAAiB,SAAS/jB,GAAEC;YAAG,IAAIC,IAAEwF,EAAE9C,IAAI5C;YAAG,KAAIE,GAAE,OAAOD;YAAE,IAAIE,IAAEH,EAAE0jB,mBAAiB1jB,EAAE0jB,iBAAiBjF,QAAMze,EAAEye,OAAMne,IAAEG,OAAOiE,OAAOvE;YAAG,OAAOG,EAAEJ,KAAGD,GAAEK;;OAAIN,EAAEwpB,mBAAiB7lB;EAAG7C,OAAM,SAASd;IAAG,SAASC;QAAIgB,SAASsP,QAAM9G,QAAQggB,MAAM,uBAAsBvpB,KAAIe,SAASsP,QAAM9G,QAAQigB;;IAAW,SAASxpB;QAAIc,SAAS0c;;IAA6B,IAAIvd,IAAEC,SAASiR,cAAc;IAASlR,EAAE8O,cAAY;IAA0D,IAAI3O,IAAEF,SAASiP,cAAc;IAAQ/O,EAAEkO,aAAarO,GAAEG,EAAE2N,aAAYkF,oBAAoBsQ,oBAAkB,SAASzjB;QAAGI,SAAS0U,UAAU9U,IAAG2pB,eAAeC,WAAW5pB;;IAAI,IAAIsD,IAAE;IAAIvC,OAAO2J,iBAAiB,sBAAqB;QAAWzK,KAAIke,SAASC,oBAAkByL,YAAY3pB,GAAEoD;QAAKtD,EAAE8pB,QAAM7pB,GAAEc,OAAOgpB,aAAW9pB;EAAGc,OAAOC,WAAU,SAAShB;IAAGA,MAAIA,IAAEe,OAAOipB;QAAa9oB;;IAAW,IAAIjB;QAAGgqB;QAAaC,MAAK,SAAShqB,GAAEC,GAAEG;YAAGL,EAAEgqB,UAAU/pB;gBAAIiqB,MAAKhqB;gBAAEiqB,aAAY9pB;eAAG+pB,OAAOC;gBAAaC,KAAIrqB;gBAAEsqB,MAAKxqB,EAAEkB,MAAMupB,SAAOzqB,EAAEkB,MAAMspB;eAAM;;QAAME,SAAQ,SAAS1qB,GAAEE,GAAEC;YAAG,IAAIG,IAAEL,EAAEgqB,UAAUjqB;YAAG,IAAGM,GAAE;gBAAC,IAAIgD,IAAEhD,EAAE6pB,MAAKzmB,IAAEpD,EAAE8pB;gBAAY9mB,EAAET,KAAKa,GAAExD,GAAEC,GAAEH;;;;IAAMe,OAAO2J,iBAAiB,WAAU,SAAS1K;QAAGC,EAAEyqB,QAAQ1qB,EAAEuQ,KAAKga,KAAIvqB,EAAEuQ,KAAKoa,KAAI3qB,EAAEuQ,KAAKqa;QAAY5qB,EAAE6qB,MAAI5qB;EAAGc,OAAOipB,cAAa,SAAShqB;IAAG,SAASC,EAAED;QAAG,OAAOG,EAAEH,GAAEyD;;IAAG,SAASvD,EAAEF;QAAG,OAAOG,EAAEH,GAAEgE;;IAAG,SAAS7D,EAAEH,GAAEC;QAAG,OAAM,WAASD,EAAEiH,aAAWjH,EAAE4S,aAAa,WAAS3S;;IAAE,SAASK,EAAEN;QAAG,OAAM,aAAWA,EAAEiH;;IAAU,SAAS3D,EAAEtD,GAAEC;QAAG,IAAIC,IAAEE,SAAS6S,eAAeC,mBAAmBzP;QAAGvD,EAAE4qB,OAAK7qB;QAAE,IAAIE,IAAED,EAAEmR,cAAc;QAAQ,OAAOlR,EAAE0Q,aAAa,QAAOzQ,SAAS2qB,UAAS7qB,EAAEwW,KAAKtI,YAAYjO,IAAGD,EAAE6V,KAAKzE,YAAUtR;QAAEe,OAAOoS,uBAAqBA,oBAAoByF,aAAWzF,oBAAoByF,UAAU1Y;QAAGA;;IAAEF,MAAIA,IAAEe,OAAOipB;QAAa9oB;;IAAW,IAAIwC,GAAEC,IAAE3D,EAAE6qB,KAAIpnB,IAAE,UAASO,IAAE,cAAaR;QAAGwnB;QAAaC;QAASC,oBAAkB,cAAYznB,IAAE,KAAI,sBAAoBO,IAAE,KAAI,YAAW,gBAAemQ,KAAK;QAAKgX,QAAO,SAASnrB;YAAG,OAAO0D,IAAE,IAAIc,EAAEhB,EAAE4nB,QAAOprB,IAAG0D,EAAEunB,QAAMznB,EAAEynB,OAAMvnB;;QAAGwmB,MAAK,SAASlqB,GAAEC;YAAGyD,IAAEF,EAAE2nB,OAAOlrB,IAAGuD,EAAE6nB,QAAQrrB;;QAAIqrB,SAAQ,SAASrrB;YAAG,IAAIC,IAAED,EAAEsP,iBAAiB9L,EAAE0nB;YAAkBjrB,IAAEa,KAAKwqB,wBAAwBtrB,GAAEC,IAAGA,IAAEa,KAAKyqB,qBAAqBtrB,IAAGyD,EAAE8nB,SAASvrB;;QAAIqrB,yBAAwB,SAAStrB,GAAEC;YAAG,OAAOD,MAAII,aAAWH,IAAE+Y,MAAMrX,UAAUiS,OAAO/Q,KAAK5C,GAAE,SAASD;gBAAG,QAAOM,EAAEN;iBAAMC;;QAAGsrB,sBAAqB,SAASvrB;YAAG,IAAIC;YAAK,OAAOD,IAAEgZ,MAAMrX,UAAUiS,OAAO/Q,KAAK7C,GAAE,SAASA;gBAAG,IAAG,eAAaA,EAAEiH,WAAU;oBAAC,IAAGjH,EAAEoT,SAAQ;wBAAC,IAAIlT,IAAEF,EAAEoT,QAAQ9D,iBAAiB,cAAYtL,IAAE;wBAAK9D,EAAEoH,WAASrH,IAAEA,EAAE+c,OAAOhE,MAAMrX,UAAUN,MAAMwB,KAAK3C,GAAE;;oBAAK,QAAO;;gBAAE,QAAO;gBAAID,EAAEqH,WAAStH,IAAEA,EAAEgd,OAAO/c,KAAID;;QAAGorB,QAAO,SAASprB,GAAEG,GAAEG;YAAG,IAAGL,EAAEE,IAAG;gBAAC,IAAIuD,IAAEF,EAAEwnB,UAAUhrB;gBAAG0D,MAAIA,IAAEJ,EAAEhD,GAAEN,IAAGiF,EAAEwmB,mBAAmB/nB,EAAEqS,OAAMvS,EAAEwnB,UAAUhrB,KAAG0D,GAAEF,EAAE6nB,QAAQ3nB;gBAAIvD,EAAEurB;oBAAQrR,MAAKra;oBAAE2rB,WAAUxrB;oBAAEiT,SAAQ1P;mBAAGvD,EAAEiT,UAAQ9S,IAAEoD;;YAAEvD,EAAEyrB,aAAWtrB,GAAEJ,EAAEC,MAAI8E,EAAE4mB,yBAAyB1rB;;OAAKqE,IAAE,SAASxE,GAAEC;QAAGa,KAAKgrB,SAAO9rB,GAAEc,KAAKirB,aAAW9rB,GAAEa,KAAKkrB,WAAS,GAAElrB,KAAKmrB,cAAWnrB,KAAKmqB;;IAAUzmB,EAAE7C;QAAW6pB,UAAS,SAASxrB;YAAGc,KAAKkrB,YAAUhsB,EAAEsH,QAAOhC,EAAEtF,GAAEc,KAAKorB,SAAQprB,OAAMA,KAAKqrB;;QAAaD,SAAQ,SAASlsB;YAAG,IAAIC,IAAEgF,EAAEmnB,QAAQpsB;YAAGA,EAAEqsB,YAAUpsB,GAAEa,KAAKwrB,OAAOrsB,GAAED,MAAIc,KAAKyrB,MAAMtsB,GAAED;;QAAIssB,QAAO,SAAStsB,GAAEC;YAAG,OAAOa,KAAKmrB,QAAQjsB,MAAIc,KAAKmrB,QAAQjsB,GAAG4H,KAAK3H,KAAI,KAAGa,KAAKmqB,MAAMjrB,MAAIc,KAAKgrB,OAAO9rB,GAAEC,GAAEyD,EAAEunB,MAAMjrB;YAAIc,KAAK0rB,SAAQ,MAAI1rB,KAAKmrB,QAAQjsB,OAAIC,MAAI;;QAAIssB,OAAM,SAASvsB,GAAEC;YAAG,IAAIC,IAAE,SAASA,GAAEC;gBAAGW,KAAK4pB,QAAQ1qB,GAAEC,GAAEC,GAAEC;cAAI4Y,KAAKjY;YAAM6C,EAAEumB,KAAKlqB,GAAEE;;QAAIwqB,SAAQ,SAAS1qB,GAAEC,GAAEC,GAAEC;YAAGD,MAAIwD,EAAEunB,MAAMjrB,KAAGG,IAAGuD,EAAEuoB,QAAQjsB,GAAGW,QAAQ,SAASV;gBAAGC,KAAGY,KAAKgrB,OAAO9rB,GAAEC,GAAEE,IAAGW,KAAK0rB;eAAQ1rB,OAAM4C,EAAEuoB,QAAQjsB,KAAG;;QAAMwsB,MAAK;cAAa1rB,KAAKkrB,UAASlrB,KAAKqrB;;QAAaA,WAAU;YAAWrrB,KAAKkrB,YAAUlrB,KAAKirB;;;IAAe,IAAItnB,MAAG,QAAO,OAAM,YAAUlB,IAAE,MAAIkB,EAAE0P,KAAK,SAAO,KAAIvP,IAAE,UAASK;QAAGmnB,SAAQ,SAASpsB;YAAG,OAAOiF,EAAEwnB,WAAWxnB,EAAEynB,eAAetsB,WAAU6E,EAAE0nB,UAAU3sB;;QAAK2sB,WAAU,SAAS3sB;YAAG,OAAOA,EAAE4S,aAAa,WAAS5S,EAAE4S,aAAa;;QAAQga,qBAAoB,SAAS5sB;YAAG,OAAOiF,EAAEynB,eAAe1sB,EAAEkO;;QAAgBwe,gBAAe,SAAS1sB;YAAG,IAAIC,IAAED,MAAIA,EAAE8qB,QAAM9qB,EAAEiE,QAAMjE,EAAEiE,KAAK6mB,QAAM9qB,EAAE+qB,WAAS/qB,EAAE6sB,QAAM;YAAG,OAAO5sB,EAAEqB,MAAM,KAAK;;QAAImrB,YAAW,SAASzsB,GAAEC,GAAEC;YAAG,IAAGY,KAAKgsB,SAAS7sB,IAAG,OAAOA;YAAE,IAAIE,IAAEW,KAAKisB,YAAYjsB,KAAKksB,UAAUhtB,KAAGC;YAAG,OAAOC,MAAIC,IAAE8E,EAAEgoB,YAAYhoB,EAAEynB,eAAetsB,WAAUD,KAAIA;;QAAG2sB,UAAS,SAAS9sB;YAAG,OAAM,8BAA8B4D,KAAK5D;;QAAIgtB,WAAU,SAAShtB;YAAG,IAAIC,IAAED,EAAEsB,MAAM;YAAK,OAAOrB,EAAE8H,OAAM9H,EAAE2H,KAAK,KAAI3H,EAAEkU,KAAK;;QAAM4Y,aAAY,SAAS/sB;YAAG,KAAI,IAAIC,GAAEC,IAAEF,EAAEsB,MAAM,MAAKnB,IAAE,GAAEA,IAAED,EAAEoH,QAAOnH,KAAIF,IAAEC,EAAEC,IAAG,SAAOF,MAAIC,EAAE2c,OAAO1c,IAAE,GAAE;YAAGA,KAAG;YAAG,OAAOD,EAAEiU,KAAK;;QAAM8Y,aAAY,SAASjtB,GAAEC;YAAG,IAAIC,GAAEC;YAAE,KAAID,IAAEY,KAAKisB,YAAY/sB,GAAGsB,MAAM,MAAKnB,IAAEW,KAAKisB,YAAY9sB,GAAGqB,MAAM,MAAKpB,EAAEoH,UAAQpH,EAAE,OAAKC,EAAE,MAAID,EAAEqH;YAAQpH,EAAEoH;YAAQ,KAAI,IAAIjH,IAAE,GAAEgD,IAAEpD,EAAEoH,SAAO,GAAEhE,IAAEhD,GAAEA,KAAIH,EAAE+sB,QAAQ;YAAM,IAAIxpB,IAAEvD,EAAEgU,KAAK;YAAK,OAAOzQ;;QAAG+nB,oBAAmB,SAASzrB,GAAEC;YAAGA,IAAEA,KAAGgF,EAAE2nB,oBAAoB5sB,IAAGiF,EAAEkoB,kBAAkBntB,GAAEC,IAAGgF,EAAEmoB,iBAAiBptB,GAAEC;YAAG,IAAIC,IAAEF,EAAEsP,iBAAiB;YAAYpP,KAAGoF,EAAEpF,GAAE,SAASF;gBAAGA,EAAEoT,WAASnO,EAAEwmB,mBAAmBzrB,EAAEoT,SAAQnT;;;QAAM4rB,0BAAyB,SAAS7rB;YAAG,IAAIC,IAAEgF,EAAEmnB,QAAQpsB;YAAGA,EAAE4rB,aAAW3mB,EAAEooB,eAAertB,EAAE4rB,YAAW3rB;;QAAImtB,kBAAiB,SAASptB,GAAEC;YAAG,IAAIC,IAAEF,EAAEsP,iBAAiB;YAASpP,KAAGoF,EAAEpF,GAAE,SAASF;gBAAGA,EAAEiP,cAAYhK,EAAEooB,eAAertB,EAAEiP,aAAYhP;;;QAAMotB,gBAAe,SAASrtB,GAAEC;YAAG,OAAOD,EAAE8Q,QAAQ,iBAAgB,SAAS9Q;gBAAG,IAAIE,IAAEF,EAAE8Q,QAAQ,SAAQ,IAAIzP,MAAM,IAAG;gBAAG,OAAOnB,IAAE+E,EAAEwnB,WAAWxsB,GAAEC,IAAG,IAAG,SAAOA,IAAE;;;QAAOitB,mBAAkB,SAASntB,GAAEC;YAAG,IAAIC,IAAEF,KAAGA,EAAEsP,iBAAiB/L;YAAGrD,KAAGoF,EAAEpF,GAAE,SAASF;gBAAGc,KAAKwsB,sBAAsBttB,GAAEC;eAAIa;;QAAOwsB,uBAAsB,SAASttB,GAAEC;YAAGwE,EAAE9D,QAAQ,SAAST;gBAAG,IAAIC,IAAEH,EAAEiR,WAAW/Q;gBAAG,IAAGC,KAAGA,EAAEuC,SAAOvC,EAAEuC,MAAMtB,OAAOwD,KAAG,GAAE;oBAAC,IAAItE,IAAE2E,EAAEwnB,WAAWxsB,GAAEE,EAAEuC,QAAO;oBAAGvC,EAAEuC,QAAMpC;;;;;IAAOqD,IAAEA;QAAI4pB,QAAO;QAAEC,IAAG,SAASxtB;YAAG,OAAOA,EAAEytB,UAAQ,OAAKztB,EAAEytB,SAAO,OAAK,QAAMztB,EAAEytB,UAAQ,MAAIztB,EAAEytB;;QAAQvD,MAAK,SAASjqB,GAAEC,GAAEC;YAAG,IAAIG,IAAE,IAAIotB;aAAgB1tB,EAAEkB,MAAMupB,SAAOzqB,EAAEkB,MAAMspB,UAAQvqB,KAAG,MAAIsC,KAAKC,WAAUlC,EAAE4Z,KAAK,OAAMja,GAAE0D,EAAE4pB;YAAOjtB,EAAEoK,iBAAiB,oBAAmB;gBAAW,MAAIpK,EAAEqtB,cAAYztB,EAAE2C,KAAK1C,IAAGwD,EAAE6pB,GAAGltB,MAAIA,GAAEA,EAAEstB,UAAS3tB;gBAAKK,EAAEutB;;;IAAS,IAAIvoB,IAAE0T,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB;IAASX,EAAE6qB,MAAIlnB,GAAE3D,EAAE8tB,WAAStqB,GAAExD,EAAE0sB,iBAAeznB,EAAEynB,gBAAe1sB,EAAE+tB,mBAAiBtqB;EAAG1C,OAAOipB,cAAa,SAAShqB;IAAG,SAASC,EAAED;QAAG,OAAM,WAASA,EAAEiH,aAAWjH,EAAE4S,aAAa,WAAStP;;IAAE,SAASpD,EAAEF;QAAG,OAAOA,EAAEmH,eAAahH,EAAEH,OAAKM,EAAEN;;IAAG,SAASG,EAAEH;QAAG,OAAOA,EAAEkO,kBAAgB9N,YAAUJ,EAAEkO,cAAcjK,SAAO7D;;IAAS,SAASE,EAAEN;QAAG,OAAOA,EAAEmH,cAAY,cAAYnH,EAAEmH,WAAWF;;IAAU,IAAI3D,IAAE,UAASI;QAAGsqB,aAAW,cAAY1qB,IAAE,KAAI,wBAAuB,SAAQ;QAAU8R;YAAKnD,MAAK;YAAY2F,QAAO;YAAcE,OAAM;;QAAgB8P,OAAM,SAAS5nB;YAAG,KAAIA,EAAEiuB,gBAAe;gBAACjuB,EAAEiuB,kBAAgB;gBAAE,IAAIhuB,IAAED,EAAEsP,iBAAiB5L,EAAEsqB;gBAAWrqB,EAAE1D,GAAE,SAASD;oBAAG0D,EAAEA,EAAE0R,IAAIpV,EAAEiH,YAAYjH;;;;QAAOkuB,WAAU,SAASluB;YAAGC,EAAED,KAAGA,EAAEoT,WAAS1P,EAAEkkB,MAAM5nB,EAAEoT,WAAStS,KAAKqtB,aAAanuB;;QAAImuB,cAAa,SAASnuB;YAAGE,EAAEF,MAAII,SAASsW,KAAKtI,YAAYpO;;QAAIouB,aAAY,SAASpuB;YAAG,IAAGE,EAAEF,IAAG;gBAAC,IAAIC,IAAED,EAAE4rB,cAAY5rB,EAAEiP;gBAAYhP,MAAIA,KAAG,sBAAoBD,EAAEqsB,aAAW,YAAU9pB,KAAK8rB,MAAM,OAAK9rB,KAAKC,WAAS,MAAI,OAAK;gBAAK8rB,KAAKzrB,KAAK9B,QAAOd;;;OAAO0D,IAAEqV,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB;IAASX,EAAEuuB,SAAO7qB;EAAGsmB,cAAa;IAAW,SAAShqB;QAAIgqB,YAAY8D,SAAS5D,KAAK9pB,UAAS;YAAW4pB,YAAYuE,OAAO3G,MAAMxnB,WAAU4pB,YAAYwE,YAAU,IAAKpsB,OAAMC;YAAUjC,SAAS2M,cAAc,IAAIK,YAAY;gBAAqB7M,UAAS;;;;IAAO,qBAAmBQ,OAAOqM,gBAAcrM,OAAOqM,cAAY,SAASpN;QAAG,IAAIC,IAAEG,SAASC,YAAY;QAAc,OAAOJ,EAAEW,UAAUZ,IAAG,IAAG,IAAGC;QAAI,eAAaG,SAASutB,cAAY,kBAAgBvtB,SAASutB,aAAW3tB,MAAIe,OAAO2J,iBAAiB,oBAAmB1K;KAAM,SAASA;IAAG,SAASC,EAAED;QAAG2F,EAAEiC,KAAK5H,IAAG0F,MAAIA,KAAG,GAAEJ,EAAEnF;;IAAI,SAASD,EAAEF;QAAG,OAAOe,OAAOgC,qBAAmBhC,OAAOgC,kBAAkB8D,aAAa7G,MAAIA;;IAAE,SAASG;QAAIuF,KAAG;QAAE,IAAI1F,IAAE2F;QAAEA,QAAK3F,EAAEyuB,KAAK,SAASzuB,GAAEC;YAAG,OAAOD,EAAE0uB,OAAKzuB,EAAEyuB;;QAAO,IAAIzuB,KAAG;QAAED,EAAEW,QAAQ,SAASX;YAAG,IAAIE,IAAEF,EAAE4V;YAActV,EAAEN,IAAGE,EAAEoH,WAAStH,EAAE2uB,UAAUzuB,GAAEF,IAAGC,KAAG;YAAKA,KAAGE;;IAAI,SAASG,EAAEN;QAAGA,EAAE4uB,OAAOjuB,QAAQ,SAASV;YAAG,IAAIC,IAAE+E,EAAErC,IAAI3C;YAAGC,KAAGA,EAAES,QAAQ,SAASV;gBAAGA,EAAEye,aAAW1e,KAAGC,EAAE4uB;;;;IAA+B,SAASvrB,EAAEtD,GAAEC;QAAG,KAAI,IAAIC,IAAEF,GAAEE,GAAEA,IAAEA,EAAEiH,YAAW;YAAC,IAAIhH,IAAE8E,EAAErC,IAAI1C;YAAG,IAAGC,GAAE,KAAI,IAAIG,IAAE,GAAEA,IAAEH,EAAEmH,QAAOhH,KAAI;gBAAC,IAAIgD,IAAEnD,EAAEG,IAAGoD,IAAEJ,EAAEwrB;gBAAQ,IAAG5uB,MAAIF,KAAG0D,EAAEqrB,SAAQ;oBAAC,IAAIprB,IAAE1D,EAAEyD;oBAAGC,KAAGL,EAAE0rB,QAAQrrB;;;;;IAAM,SAASD,EAAE1D;QAAGc,KAAK6tB,YAAU3uB,GAAEc,KAAK8tB,aAAU9tB,KAAKmuB,eAAYnuB,KAAK4tB,SAAO9oB;;IAAE,SAASjC,EAAE3D,GAAEC;QAAGa,KAAKoH,OAAKlI,GAAEc,KAAK+G,SAAO5H,GAAEa,KAAK0U,iBAAc1U,KAAK2U,mBAAgB3U,KAAK+N,kBAAgB;QAAK/N,KAAKuN,cAAY,MAAKvN,KAAKouB,gBAAc,MAAKpuB,KAAKquB,qBAAmB;QAAKruB,KAAKyb,WAAS;;IAAK,SAAS9Y,EAAEzD;QAAG,IAAIC,IAAE,IAAI0D,EAAE3D,EAAEkI,MAAKlI,EAAE6H;QAAQ,OAAO5H,EAAEuV,aAAWxV,EAAEwV,WAAWnU,SAAQpB,EAAEwV,eAAazV,EAAEyV,aAAapU;QAAQpB,EAAE4O,kBAAgB7O,EAAE6O,iBAAgB5O,EAAEoO,cAAYrO,EAAEqO,aAAYpO,EAAEivB,gBAAclvB,EAAEkvB;QAAcjvB,EAAEkvB,qBAAmBnvB,EAAEmvB,oBAAmBlvB,EAAEsc,WAASvc,EAAEuc,UAAStc;;IAAE,SAAS+D,EAAEhE,GAAEC;QAAG,OAAO4F,IAAE,IAAIlC,EAAE3D,GAAEC;;IAAG,SAASuD,EAAExD;QAAG,OAAO8F,IAAEA,KAAGA,IAAErC,EAAEoC,IAAGC,EAAEyW,WAASvc,GAAE8F;;IAAG,SAAStB;QAAIqB,IAAEC,SAAO;;IAAE,SAASrB,EAAEzE;QAAG,OAAOA,MAAI8F,KAAG9F,MAAI6F;;IAAE,SAAStC,EAAEvD,GAAEC;QAAG,OAAOD,MAAIC,IAAED,IAAE8F,KAAGrB,EAAEzE,KAAG8F,IAAE;;IAAK,SAASlB,EAAE5E,GAAEC,GAAEC;QAAGY,KAAK4d,WAAS1e,GAAEc,KAAK+G,SAAO5H,GAAEa,KAAKguB,UAAQ5uB,GAAEY,KAAKsuB;;IAA0B,IAAInqB,IAAE,IAAIpD,aAAUyD,IAAEvE,OAAOsuB;IAAe,KAAI/pB,GAAE;QAAC,IAAIE,QAAKC,IAAEoN,OAAOtQ,KAAKC;QAAUzB,OAAO2J,iBAAiB,WAAU,SAAS1K;YAAG,IAAGA,EAAEuQ,SAAO9K,GAAE;gBAAC,IAAIxF,IAAEuF;gBAAEA,QAAKvF,EAAEU,QAAQ,SAASX;oBAAGA;;;YAASsF,IAAE,SAAStF;YAAGwF,EAAEoC,KAAK5H,IAAGe,OAAOupB,YAAY7kB,GAAE;;;IAAM,IAAIC,KAAG,GAAEC,QAAKC,IAAE;IAAElC,EAAE/B;QAAW+T,SAAQ,SAAS1V,GAAEC;YAAG,IAAGD,IAAEE,EAAEF,KAAIC,EAAEqvB,cAAYrvB,EAAEgR,eAAahR,EAAEsvB,iBAAetvB,EAAEuvB,sBAAoBvvB,EAAEgR,cAAYhR,EAAEwvB,mBAAiBxvB,EAAEwvB,gBAAgBnoB,WAASrH,EAAEgR,cAAYhR,EAAEyvB,0BAAwBzvB,EAAEsvB,eAAc,MAAM,IAAII;YAAY,IAAIxvB,IAAE8E,EAAErC,IAAI5C;YAAGG,KAAG8E,EAAExC,IAAIzC,GAAEG;YAAM,KAAI,IAAIG,GAAEgD,IAAE,GAAEA,IAAEnD,EAAEmH,QAAOhE,KAAI,IAAGnD,EAAEmD,GAAGob,aAAW5d,MAAK;gBAACR,IAAEH,EAAEmD,IAAGhD,EAAEsvB,mBAAkBtvB,EAAEwuB,UAAQ7uB;gBAAE;;YAAMK,MAAIA,IAAE,IAAIsE,EAAE9D,MAAKd,GAAEC,IAAGE,EAAEyH,KAAKtH,IAAGQ,KAAK8tB,OAAOhnB,KAAK5H,KAAIM,EAAEuvB;;QAAgBla,YAAW;YAAW7U,KAAK8tB,OAAOjuB,QAAQ,SAASX;gBAAG,KAAI,IAAIC,IAAEgF,EAAErC,IAAI5C,IAAGE,IAAE,GAAEA,IAAED,EAAEqH,QAAOpH,KAAI;oBAAC,IAAIC,IAAEF,EAAEC;oBAAG,IAAGC,EAAEue,aAAW5d,MAAK;wBAACX,EAAEyvB,mBAAkB3vB,EAAE4c,OAAO3c,GAAE;wBAAG;;;eAASY,OAAMA,KAAKmuB;;QAAarZ,aAAY;YAAW,IAAI5V,IAAEc,KAAKmuB;YAAS,OAAOnuB,KAAKmuB,eAAYjvB;;;IAAI,IAAI6F,GAAEC;IAAElB,EAAEjD;QAAWqtB,SAAQ,SAAShvB;YAAG,IAAIE,IAAEY,KAAK4d,SAASuQ,UAAS9uB,IAAED,EAAEoH;YAAO,IAAGpH,EAAEoH,SAAO,GAAE;gBAAC,IAAIhH,IAAEJ,EAAEC,IAAE,IAAGmD,IAAEC,EAAEjD,GAAEN;gBAAG,IAAGsD,GAAE,OAAOpD,EAAEC,IAAE,KAAGmD,QAAO;mBAAOrD,EAAEa,KAAK4d;YAAUxe,EAAEC,KAAGH;;QAAG6vB,cAAa;YAAW/uB,KAAKgvB,cAAchvB,KAAK+G;;QAASioB,eAAc,SAAS9vB;YAAG,IAAIC,IAAEa,KAAKguB;YAAQ7uB,EAAEgR,cAAYjR,EAAE0K,iBAAiB,mBAAkB5J,OAAM,IAAGb,EAAEsvB,iBAAevvB,EAAE0K,iBAAiB,4BAA2B5J,OAAM;YAAGb,EAAEqvB,aAAWtvB,EAAE0K,iBAAiB,mBAAkB5J,OAAM,KAAIb,EAAEqvB,aAAWrvB,EAAE8uB,YAAU/uB,EAAE0K,iBAAiB,kBAAiB5J,OAAM;;QAAI8uB,iBAAgB;YAAW9uB,KAAKivB,iBAAiBjvB,KAAK+G;;QAASkoB,kBAAiB,SAAS/vB;YAAG,IAAIC,IAAEa,KAAKguB;YAAQ7uB,EAAEgR,cAAYjR,EAAEsK,oBAAoB,mBAAkBxJ,OAAM,IAAGb,EAAEsvB,iBAAevvB,EAAEsK,oBAAoB,4BAA2BxJ,OAAM;YAAGb,EAAEqvB,aAAWtvB,EAAEsK,oBAAoB,mBAAkBxJ,OAAM,KAAIb,EAAEqvB,aAAWrvB,EAAE8uB,YAAU/uB,EAAEsK,oBAAoB,kBAAiBxJ,OAAM;;QAAIkvB,sBAAqB,SAAShwB;YAAG,IAAGA,MAAIc,KAAK+G,QAAO;gBAAC/G,KAAKgvB,cAAc9vB,IAAGc,KAAKsuB,uBAAuBxnB,KAAK5H;gBAAG,IAAIC,IAAEgF,EAAErC,IAAI5C;gBAAGC,KAAGgF,EAAExC,IAAIzC,GAAEC,SAAMA,EAAE2H,KAAK9G;;;QAAQ+tB,0BAAyB;YAAW,IAAI7uB,IAAEc,KAAKsuB;YAAuBtuB,KAAKsuB,6BAA0BpvB,EAAEW,QAAQ,SAASX;gBAAGc,KAAKivB,iBAAiB/vB;gBAAG,KAAI,IAAIC,IAAEgF,EAAErC,IAAI5C,IAAGE,IAAE,GAAEA,IAAED,EAAEqH,QAAOpH,KAAI,IAAGD,EAAEC,OAAKY,MAAK;oBAACb,EAAE4c,OAAO3c,GAAE;oBAAG;;eAAQY;;QAAOwI,aAAY,SAAStJ;YAAG,QAAOA,EAAEiL,4BAA2BjL,EAAEkI;cAAM,KAAI;gBAAkB,IAAIjI,IAAED,EAAEiwB,UAAS/vB,IAAEF,EAAE6L,YAAYgE,cAAa1P,IAAEH,EAAE6H,QAAOvH,IAAE,IAAI0D,EAAE,cAAa7D;gBAAGG,EAAE4uB,gBAAcjvB,GAAEK,EAAE6uB,qBAAmBjvB;gBAAE,IAAIwD,IAAE1D,EAAEkwB,eAAa5iB,cAAc6iB,WAAS,OAAKnwB,EAAEowB;gBAAU9sB,EAAEnD,GAAE,SAASH;oBAAG,QAAOA,EAAEiR,cAAYjR,EAAEyvB,mBAAiBzvB,EAAEyvB,gBAAgBnoB,WAAS,MAAItH,EAAEyvB,gBAAgBxtB,QAAQhC,OAAK,MAAID,EAAEyvB,gBAAgBxtB,QAAQ/B,UAAQ,IAAEF,EAAEwvB,oBAAkBhsB,EAAEE,KAAGpD;;gBAAI;;cAAM,KAAI;gBAA2B,IAAIH,IAAEH,EAAE6H,QAAOvH,IAAE0D,EAAE,iBAAgB7D,IAAGuD,IAAE1D,EAAEowB;gBAAU9sB,EAAEnD,GAAE,SAASH;oBAAG,OAAOA,EAAEuvB,gBAAcvvB,EAAE0vB,wBAAsBlsB,EAAEE,KAAGpD,SAAO;;gBAAI;;cAAM,KAAI;gBAAiBQ,KAAKkvB,qBAAqBhwB,EAAE6H;;cAAQ,KAAI;gBAAkB,IAAIlE,GAAEF,GAAEtD,IAAEH,EAAE6L,aAAYpH,IAAEzE,EAAE6H;gBAAO,sBAAoB7H,EAAEkI,QAAMvE,MAAGc,KAAGhB,WAAOE,QAAKF,MAAGgB;gBAAI,IAAIlB,IAAEkB,EAAEoK,iBAAgBjK,IAAEH,EAAE4J,aAAY/N,IAAE0D,EAAE,aAAY7D;gBAAGG,EAAEkV,aAAW7R,GAAErD,EAAEmV,eAAahS,GAAEnD,EAAEuO,kBAAgBtL,GAAEjD,EAAE+N,cAAYzJ;gBAAEtB,EAAEnD,GAAE,SAASH;oBAAG,OAAOA,EAAEsvB,YAAUhvB,SAAO;;;YAAIkE;;OAAMxE,EAAEqwB,qBAAmB3sB;EAAG5C,QAAOC,OAAOsU,qBAAmBtU,OAAOsU,mBAAiBtU,OAAOuU,0BAAwBvU,OAAOsvB;CAAoBhb,mBAAkB,MAAM,IAAIrS,MAAM;;CAAiC,SAAShD;IAAG,SAASC,EAAEA,GAAEqD;QAAG,IAAII,IAAEJ;QAAM,KAAIrD,GAAE,MAAM,IAAI+C,MAAM;QAAmC,IAAGU,EAAEpB,OAAKrC,IAAGyD,EAAE/B,WAAU,MAAM,IAAIqB,MAAM;QAA+C,OAAOU,EAAE4sB,YAAU5sB,EAAE4sB,iBAAc5sB,EAAE6sB,WAASrwB,EAAEwD,EAAE8sB,UAASrwB,EAAEuD,IAAGpD,EAAEoD,IAAGF,EAAEE,EAAE/B;QAAW8C,EAAExE,GAAEyD,IAAGA,EAAE+sB,OAAKltB,EAAEG,IAAGA,EAAE+sB,KAAK9uB,YAAU+B,EAAE/B,WAAU+B,EAAE/B,UAAUgD,cAAYjB,EAAE+sB;QAAKzwB,EAAE0wB,SAAO1wB,EAAE4pB,WAAWxpB,WAAUsD,EAAE+sB;;IAAK,SAASvwB,EAAEF;QAAG,IAAIC,IAAEwF,EAAEzF;QAAG,OAAOC,IAAEC,EAAED,EAAEuwB,SAASxT,SAAQ/c;;IAAO,SAASE,EAAEH;QAAG,KAAI,IAAIC,GAAEC,IAAEF,EAAEwwB,SAAQrwB,IAAE,GAAEF,IAAED,EAAEuwB,SAASpwB,IAAGA,KAAID,IAAED,EAAE0wB,MAAI1wB,EAAE2wB;QAAI5wB,EAAE4wB,MAAI1wB,KAAGF,EAAEsC,MAAKpC,MAAIF,EAAE2wB,KAAG3wB,EAAEsC;;IAAM,SAAShC,EAAEN;QAAG,KAAIS,OAAO0C,WAAU;YAAC,IAAIlD,IAAEyB,YAAYC;YAAU,IAAG3B,EAAE2wB,IAAG;gBAAC,IAAIzwB,IAAEE,SAASiR,cAAcrR,EAAE4wB;gBAAK3wB,IAAEQ,OAAO2C,eAAelD;;;QAAIF,EAAE6wB,SAAO5wB;;IAAE,SAASqD,EAAEtD;QAAG,OAAO0D,EAAEgC,EAAE1F,EAAE4wB,MAAK5wB;;IAAG,SAAS0D,EAAEzD,GAAEC;QAAG,OAAOA,EAAEywB,MAAI1wB,EAAE4Q,aAAa,MAAK3Q,EAAEywB,KAAIhtB,EAAE1D,GAAEC,IAAGD,EAAE6wB,gBAAc,GAAE9wB,EAAE+wB,eAAe9wB;QAAG+D,EAAE/D,IAAGA;;IAAE,SAAS0D,EAAE3D,GAAEC;QAAGQ,OAAO0C,YAAUnD,EAAEmD,YAAUlD,EAAE0B,aAAW8B,EAAEzD,GAAEC,EAAE0B,WAAU1B,EAAE4wB,SAAQ7wB,EAAEmD,YAAUlD,EAAE0B;;IAAW,SAAS8B,EAAEzD,GAAEC,GAAEC;QAAG,KAAI,IAAIC,QAAKG,IAAEL,GAAEK,MAAIJ,KAAGI,MAAI+S,mBAAmB1R,aAAW;YAAC,KAAI,IAAI2B,GAAEI,IAAEjD,OAAOwC,oBAAoB3C,IAAGqD,IAAE,GAAEL,IAAEI,EAAEC,IAAGA,KAAIxD,EAAEmD,OAAK7C,OAAOyB,eAAelC,GAAEsD,GAAE7C,OAAOyC,yBAAyB5C,GAAEgD;YAAInD,EAAEmD,KAAG;YAAGhD,IAAEG,OAAO2C,eAAe9C;;;IAAI,SAAS0D,EAAEhE;QAAGA,EAAEgxB,iBAAehxB,EAAEgxB;;IAAgB,SAASxtB,EAAExD;QAAG,IAAIC,IAAED,EAAE6Q;QAAa7Q,EAAE6Q,eAAa,SAAS7Q,GAAEE;YAAGsE,EAAE3B,KAAK/B,MAAKd,GAAEE,GAAED;;QAAI,IAAIC,IAAEF,EAAE8e;QAAgB9e,EAAE8e,kBAAgB,SAAS9e,GAAEC;YAAGuE,EAAE3B,KAAK/B,MAAKd,GAAEC,GAAEC;;;IAAI,SAASsE,EAAExE,GAAEC,GAAEC;QAAG,IAAIC,IAAEW,KAAK8R,aAAa5S;QAC3x+BE,EAAEgE,MAAMpD,MAAKqD,YAAWrD,KAAKmwB,4BAA0BnwB,KAAK8R,aAAa5S,OAAKG,KAAGW,KAAKmwB,yBAAyBjxB,GAAEG;;IAAG,SAASsE,EAAEzE,GAAEC;QAAGwF,EAAEzF,KAAGC;;IAAE,SAASsD,EAAEvD;QAAG,OAAO;YAAW,OAAOsD,EAAEtD;;;IAAI,SAAS4E,EAAE5E;QAAG,IAAIC,IAAEwF,EAAEzF;QAAG,OAAOC,IAAE,IAAIA,EAAEwwB,SAAK/qB,EAAE1F;;IAAG,SAASiF,EAAEjF;QAAG,KAAIA,EAAE8wB,gBAAc9wB,EAAE2N,aAAW5H,KAAKiJ,cAAa;YAAC,IAAI/O,IAAED,EAAE4S,aAAa,SAAO5S,EAAEiH,WAAU/G,IAAEuF,EAAExF;YAAG,OAAOC,KAAGwD,EAAE1D,GAAEE;;;IAAI,SAASoF,EAAErF;QAAG,IAAIC,IAAEyF,EAAE9C,KAAK/B,MAAKb;QAAG,OAAOD,EAAE4pB,WAAW1pB,IAAGA;;IAAE,IAAGF,MAAIA,IAAEe,OAAO4oB;QAAgBzoB;QAAWlB,EAAEkxB,aAAW9wB,SAAS+wB,kBAAgB/wB,SAASgxB,aAAW,aAAWpxB,EAAEkB,MAAMkwB;IAASpxB,EAAEkxB,WAAU;QAAC9wB,SAASgxB,WAAShxB,SAASgxB,YAAUhxB,SAAS+wB;QAAe,IAAI3rB,IAAE;QAAaxF,EAAEqxB,eAAYrxB,EAAEsxB,iBAAe9rB;WAAM;QAAC,IAAIC,QAAKC,IAAEtF,SAASiR,cAAc0H,KAAK3Y,WAAUuF,IAAEI,KAAKpE,UAAUyN;QAAUhP,SAASgxB,WAASnxB,GAAEG,SAASiR,gBAAczM,GAAEmB,KAAKpE,UAAUyN,YAAU9J;QAAEtF,EAAEqxB,WAAS5rB,GAAEzF,EAAEuxB,UAAQtsB;;EAAIlE,OAAO4oB,iBAAgB,SAAS3pB;IAAG,SAASC,EAAED,GAAEE,GAAEC;QAAG,IAAIG,IAAEN,EAAEuP;QAAkB,KAAIjP,GAAE,KAAIA,IAAEN,EAAEiO,YAAW3N,KAAGA,EAAEqN,aAAW5H,KAAKiJ,gBAAc1O,IAAEA,EAAE+N;QAAY,MAAK/N,KAAGJ,EAAEI,GAAEH,QAAM,KAAGF,EAAEK,GAAEJ,GAAEC,IAAGG,IAAEA,EAAEmP;QAAmB,OAAO;;IAAK,SAASvP,EAAEF,GAAEG;QAAGF,EAAED,GAAE,SAASA;YAAG,OAAOG,EAAEH,MAAI,KAAGA,EAAE0Y,oBAAkBxY,EAAEF,EAAE0Y,kBAAiBvY,SAAQ;YAAKH,EAAE0Y,oBAAkBxY,EAAEF,EAAE0Y,kBAAiBvY;;IAAG,SAASA,EAAEH;QAAG,OAAO0D,EAAE1D,MAAI2D,EAAE3D,KAAI,MAAIyD,EAAEzD,SAAQ;;IAAG,SAASM,EAAEN;QAAGE,EAAEF,GAAE,SAASA;YAAG,OAAOG,EAAEH,MAAI,SAAO;;;IAAI,SAASsD,EAAEtD;QAAG,OAAOG,EAAEH,MAAIM,EAAEN;;IAAG,SAAS0D,EAAEzD;QAAG,KAAIA,EAAE6wB,gBAAc7wB,EAAE0N,aAAW5H,KAAKiJ,cAAa;YAAC,IAAI9O,IAAED,EAAE2S,aAAa,SAAO3S,EAAEgH,WAAU9G,IAAEH,EAAEqxB,SAASnxB;YAAG,IAAGC,GAAE,OAAOc,SAASuwB,OAAK/nB,QAAQggB,MAAM,YAAWxpB,EAAEgH,YAAWjH,EAAEuxB,QAAQtxB;YAAGgB,SAASuwB,OAAK/nB,QAAQigB,aAAY;;;IAAG,SAAS/lB,EAAE3D;QAAGyD,EAAEzD,IAAGwE,EAAExE,MAAIE,EAAEF,GAAE,SAASA;YAAGyD,EAAEzD;;;IAAK,SAASyD,EAAEzD;SAAIA,EAAEyxB,oBAAkBzxB,EAAE8wB,gBAAc7vB,SAASuwB,SAAOvwB,SAASuwB,OAAK/nB,QAAQggB,MAAM,aAAYzpB,EAAEiH;QAAWzC,EAAExE,OAAKA,EAAE0xB,cAAY1xB,EAAE0xB,cAAY,KAAG,GAAE1xB,EAAE0xB,aAAW,MAAI1xB,EAAE0xB,aAAW;QAAG1xB,EAAE0xB,aAAW,IAAEzwB,SAASuwB,OAAK/nB,QAAQkoB,KAAK,aAAY3xB,EAAEiH,WAAU,wBAAuBjH,EAAE0xB,cAAY1xB,EAAEyxB,qBAAmBxwB,SAASuwB,OAAK/nB,QAAQqR,IAAI,aAAY9a,EAAEiH;QAAWjH,EAAEyxB,sBAAqBxwB,SAASuwB,OAAK/nB,QAAQigB;;IAAY,SAAS1lB,EAAEhE;QAAGwD,EAAExD,IAAGE,EAAEF,GAAE,SAASA;YAAGwD,EAAExD;;;IAAK,SAASwD,EAAExD;SAAIA,EAAE4xB,mBAAiB5xB,EAAE8wB,gBAAc7vB,SAASuwB,SAAOvwB,SAASuwB,OAAK/nB,QAAQqR,IAAI,YAAW9a,EAAEiH;QAAWzC,EAAExE,OAAKA,EAAE0xB,cAAY1xB,EAAE0xB,cAAY,KAAG,GAAE1xB,EAAE0xB,aAAW,MAAI1xB,EAAE0xB,aAAW;QAAG1xB,EAAE0xB,aAAW,IAAEzwB,SAASuwB,OAAK/nB,QAAQkoB,KAAK,YAAW3xB,EAAEiH,WAAU,wBAAuBjH,EAAE0xB,cAAY1xB,EAAE4xB,mBAAiB5xB,EAAE4xB;;IAAoB,SAASptB,EAAExE;QAAG,KAAI,IAAIC,IAAED,GAAEC,KAAG;YAAC,IAAGA,KAAGD,EAAEkO,eAAc,QAAO;YAAEjO,IAAEA,EAAEkH,cAAYlH,EAAE8T;;;IAAM,SAAStP,EAAEzE;QAAGA,EAAE0Y,qBAAmB1Y,EAAE0Y,iBAAiBmZ,cAAY5wB,SAASuwB,OAAK/nB,QAAQqR,IAAI,8BAA6B9a,EAAEiH;QAAWzB,EAAExF,EAAE0Y,mBAAkB1Y,EAAE0Y,iBAAiBmZ,aAAW;;IAAG,SAAStuB,EAAEvD;QAAGyE,EAAEzE,IAAGE,EAAEF,GAAE;YAAWyE,EAAEzE;;;IAAK,SAAS4E,EAAE5E;QAAG,QAAOA,EAAEiH;UAAW,KAAI;UAAQ,KAAI;UAAS,KAAI;UAAW,UAAU;YAAE,QAAO;;;IAAG,SAAShC,EAAEjF;QAAG,IAAGiB,SAASuwB,KAAI;YAAC,IAAIvxB,IAAED,EAAE;YAAG,IAAGC,KAAG,gBAAcA,EAAEiI,QAAMjI,EAAEuV,cAAYvV,EAAEuV,YAAW;gBAAC,KAAI,IAAItV,IAAED,EAAEuV,WAAW,IAAGtV,KAAGA,MAAIE,aAAWF,EAAE6T,QAAM7T,IAAEA,EAAEiH;gBAAW,IAAIhH,IAAED,MAAIA,EAAE2sB,OAAK3sB,EAAE4qB,QAAM5qB,EAAE6T,QAAM7T,EAAE6T,KAAK9M,cAAY;gBAAG9G,IAAEA,EAAEmB,MAAM,MAAMiG,QAAQjG,MAAM,KAAKyG;;YAAM0B,QAAQggB,MAAM,uBAAsBzpB,EAAEsH,QAAOnH,KAAG;;QAAIH,EAAEW,QAAQ,SAASX;YAAG,gBAAcA,EAAEkI,SAAOtC,EAAE5F,EAAEwV,YAAW,SAASxV;gBAAG4E,EAAE5E,MAAIsD,EAAEtD;gBAAK4F,EAAE5F,EAAEyV,cAAa,SAASzV;gBAAG4E,EAAE5E,MAAIgE,EAAEhE;;YAAQiB,SAASuwB,OAAK/nB,QAAQigB;;IAAW,SAASpkB;QAAIL,EAAEU,EAAEiQ;;IAAe,SAASpQ,EAAExF;QAAG2F,EAAE+P,QAAQ1V;YAAGsvB,YAAW;YAAEP,UAAS;;;IAAI,SAAStpB,EAAEzF;QAAGwF,EAAExF;;IAAG,SAAS0F,EAAE1F;QAAGiB,SAASuwB,OAAK/nB,QAAQggB,MAAM,sBAAqBzpB,EAAE6sB,OAAK7sB,EAAE8qB,QAAM,IAAIxpB,MAAM,KAAKyG;QAAOzE,EAAEtD,IAAGiB,SAASuwB,OAAK/nB,QAAQigB;;IAAW,IAAI/jB,IAAE,IAAI0P,iBAAiBpQ,IAAGW,IAAEoT,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB;IAASX,EAAE8xB,cAAYrtB,GAAEzE,EAAE+xB,kBAAgBxuB,GAAEvD,EAAE4pB,aAAWtmB,GAAEtD,EAAE+wB,iBAAezwB;IAAEN,EAAEgyB,kBAAgBvsB,GAAEzF,EAAEiyB,kBAAgBvsB,GAAE1F,EAAE4V,cAAYtQ;EAAGvE,OAAO4oB,iBAAgB;IAAW,SAASuI,oBAAoBlyB;QAAG,IAAIC;YAAGqC,MAAK;YAAGkuB,WAAU;;QAAM2B,eAAenyB,GAAEC;QAAG,IAAIC,IAAEwB,YAAYC;QAAU,IAAG1B,EAAEuwB,SAAQ;YAAC,IAAIrwB,IAAEC,SAASiR,cAAcpR,EAAEuwB;YAAStwB,IAAEC,EAAEgD,aAAW1C,OAAO2C,eAAejD;;QAAGF,EAAE0B,YAAUlB,OAAOiE,OAAOxE,IAAGF,EAAE8uB,UAAQ7uB;QAAE,IAAIK,IAAEN,EAAEqP,cAAc;QAAkB/O,KAAG8xB,uBAAuB9xB,EAAE2O,aAAYjP,GAAEC,EAAEqC;QAAM,IAAIgB,IAAElD,SAASgxB,SAASnxB,EAAEqC,MAAKrC;QAAGD,EAAEywB,OAAKntB;QAAE,IAAII,IAAE1D,EAAE4S,aAAa;QAAelP,MAAI3C,OAAO2C,KAAGJ;;IAAG,SAAS6uB,eAAenyB,GAAEC;QAAG,KAAI,IAAIC,KAAKD,GAAE;YAAC,IAAIE,IAAEH,EAAEiR,WAAW/Q;YAAGC,MAAIF,EAAEC,KAAGC,EAAEuC;;;IAAQ,SAAS0vB,uBAAuBC,UAASC,WAAUC;QAAQC,UAAQF;QAAU,IAAIG,QAAMD,QAAQtkB,eAAcqc,MAAIkI,MAAM3H,QAAM2H,MAAM5F,OAAK4F,MAAMxuB,SAAOwuB,MAAMxuB,KAAK6mB,QAAM2H,MAAMxuB,KAAK4oB,MAAKhF,QAAM0C,IAAI1C,MAAM;QAAsB,IAAGA,OAAM;YAAC,IAAIvlB,OAAKulB,MAAM;YAAG0C,OAAKjoB,QAAMiwB,SAAO,MAAIA,SAAO;;QAAG,IAAIG,OAAK,wBAAsBH,SAAO,mBAAiBF,WAAS,QAAM,qBAAmB9H,MAAI;QAAK+D,KAAKoE;;IAAM,SAASpsB,MAAMtG,GAAEC;QAAGD,IAAEA;QAAM;YAAIS,OAAOwC,oBAAoBhD,GAAGU,QAAQ,SAAST;gBAAG,IAAIC,IAAEM,OAAOyC,yBAAyBjD,GAAEC;gBAAGC,KAAGM,OAAOyB,eAAelC,GAAEE,GAAEC;;UAAK,OAAMD;QAAI,OAAOF;;IAAE,IAAI2yB,qBAAmB,SAAS3yB;QAAG,OAAOA,EAAEoxB,WAASuB,mBAAmBhxB,UAAUyvB,UAASc,oBAAoBlyB;QAAGA;;IAAG2yB,mBAAmBhxB;QAAWyvB,UAAS,SAASpxB;YAAGA,MAAIc,KAAKguB,QAAQwB,YAAUtwB,EAAEswB,WAAUtwB,EAAE2B,aAAW2E,MAAMxF,KAAKguB,QAAQntB,WAAU3B,EAAE2B;;;IAAc,IAAI6wB;IAAQzxB,OAAO6xB,oBAAkB,SAAS5yB,GAAEC;QAAGA,EAAE4C,KAAK2vB;OAAUzxB,OAAO4xB,qBAAmBA;KAAsB;IAAW,SAAS3yB,EAAEA;QAAG,OAAM,WAASA,EAAEiH,aAAWjH,EAAE4S,aAAa,WAAS3S;;IAAE,IAAIA,IAAEc,OAAOipB,cAAYA,YAAY+D,mBAAiB,QAAO7tB;QAAG8tB,aAAW,cAAY/tB,IAAE,KAAI;QAAWmV;YAAKnD,MAAK;YAAYgN,SAAQ;;QAAgB2I,OAAM,SAAS5nB;YAAG,KAAIA,EAAE6yB,UAAS;gBAAC7yB,EAAE6yB,YAAU;gBAAE,IAAI5yB,IAAED,EAAEsP,iBAAiBpP,EAAE8tB;gBAAW7tB,EAAEF,GAAE,SAASD;oBAAGE,EAAEA,EAAEkV,IAAIpV,EAAEiH,YAAYjH;oBAAK2pB,eAAesI,gBAAgBjyB,IAAG2pB,eAAeqI,gBAAgBhyB;;;QAAKkuB,WAAU,SAASjuB;YAAGD,EAAEC,MAAIa,KAAKgyB,YAAY7yB;;QAAI6yB,aAAY,SAAS9yB;YAAGA,EAAEoT,WAASlT,EAAE0nB,MAAM5nB,EAAEoT;;QAAU2f,cAAa,SAAS/yB;YAAG,IAAI2yB,mBAAmB3yB;;OAAKG,IAAE6Y,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB;IAASgpB,eAAe4E,SAAOruB;KAAK;IAAW,SAASF;QAAI0Z,WAAW;YAAWiQ,eAAe4E,OAAO3G,MAAMxnB,WAAUupB,eAAesI,gBAAgB7xB;YAAUupB,eAAe+G,SAAO,GAAE/G,eAAe6E,YAAU,IAAKpsB,OAAMC,WAAUtB,OAAOipB,gBAAcL,eAAeqJ,UAAQrJ,eAAe6E,YAAUxE,YAAYwE;YAAWpuB,SAAS2V,KAAKhJ,cAAc,IAAIK,YAAY;gBAAsB7M,UAAS;;WAAM;;IAAG,IAAG,qBAAmBQ,OAAOqM,gBAAcrM,OAAOqM,cAAY,SAASpN;QAAG,IAAIC,IAAEG,SAASC,YAAY;QAAc,OAAOJ,EAAEW,UAAUZ,IAAG,IAAG,IAAGC;QAAI,eAAaG,SAASutB,YAAW3tB,UAAQ;QAAC,IAAIC,IAAEc,OAAOipB,cAAY,sBAAoB;QAAmBjpB,OAAO2J,iBAAiBzK,GAAED;;KAAO;IAAW,SAASA;IAAK,IAAIC,IAAEG,SAASiR,cAAc;IAASpR,EAAEgP,cAAY;IAAyD,IAAI/O,IAAEE,SAASiP,cAAc;IAAQ,IAAGnP,EAAEsO,aAAavO,GAAEC,EAAE+N,aAAYlN,OAAOgC,mBAAkB;QAAC4mB,eAAemI,cAAY9xB,GAAE2pB,eAAeoI,kBAAgB/xB;QAAE,IAAIG,MAAG,cAAa,kBAAiB,mBAAkB,qBAAmBG;QAAKH,EAAEQ,QAAQ,SAASX;YAAGM,EAAEN,KAAG2pB,eAAe3pB;YAAKG,EAAEQ,QAAQ,SAASX;YAAG2pB,eAAe3pB,KAAG,SAASC;gBAAG,OAAOK,EAAEN,GAAG4G,KAAK3G;;;;KAAW,SAASD;IAAGA,IAAEA;IAAM,IAAIC;QAAGsB,QAAO,SAASvB;YAAG,OAAOA,IAAEA,EAAEkH,cAAYlH,EAAE0Y,wBAAsB;;QAAGua,WAAU,SAASjzB;YAAG,OAAOA,KAAG4J,QAAQ5J,EAAEiN;;QAAmBimB,iBAAgB,SAASlzB;YAAG,IAAIC,IAAEa,KAAKS,OAAOvB;YAAG,OAAOc,KAAKmyB,UAAUhzB,KAAGA,SAAO;;QAAGkzB,YAAW,SAASnzB,GAAEC,GAAEC;YAAG,IAAGF,GAAE;gBAAC,IAAIG,GAAEG,GAAEgD,GAAEI,IAAE1D,EAAEiN,iBAAiBhN,GAAEC;gBAAG,KAAII,IAAEQ,KAAKoyB,gBAAgBxvB,IAAGpD,KAAG;oBAAC,IAAGH,IAAEG,EAAE2M,iBAAiBhN,GAAEC,IAAG;wBAAC,IAAIyD,IAAE7C,KAAKoyB,gBAAgB/yB;wBAAG,OAAOW,KAAKqyB,WAAWxvB,GAAE1D,GAAEC,MAAIC;;oBAAEmD,IAAEhD,EAAE+O,cAAc,WAAU/O,IAAEgD,KAAGA,EAAE0P;;gBAAgB,OAAOtP;;;QAAI0vB,YAAW,SAASpzB;YAAG,IAAIC,IAAED,EAAEoM,SAAQlM,IAAEF,EAAEqM;YAAQ,OAAOvL,KAAKqyB,WAAW/yB,UAASH,GAAEC;;;IAAKF,EAAEqzB,gBAAcpzB,GAAED,EAAEozB,aAAWnzB,EAAEmzB,WAAWra,KAAK9Y,IAAGc,OAAOuyB,wBAAsBtzB;EAAGe,OAAOuyB,wBAAuB;IAAW,SAAStzB,EAAEA;QAAG,OAAM,oBAAkBA,IAAE;;IAAK,SAASC,EAAED;QAAG,OAAM,yBAAuBA,IAAE,qBAAmBA,IAAE;;IAAM,IAAIE,MAAG,QAAO,SAAQ;QAASqzB,MAAK;QAAcvF,aAAW,UAAS,eAAc;SAAiB7tB,IAAE;IAAGD,EAAES,QAAQ,SAAST;QAAGC,KAAG0S,OAAO3S,OAAKA,IAAEF,EAAEE,KAAGD,EAAEC,KAAGA,EAAE8tB,UAAU5Y,IAAIpV,KAAGC,EAAEC,EAAEqzB;;IAAQ,IAAIjzB,IAAEF,SAASiR,cAAc;IAAS/Q,EAAE2O,cAAY9O;IAAE,IAAImD,IAAElD,SAASiP,cAAc;IAAQ/L,EAAEkL,aAAalO,GAAEgD,EAAE2K;KAAe,SAASjO;IAAG,SAASC,EAAED,GAAEC;QAAG,IAAIA,IAAEA,SAAMK,IAAEL,EAAEuzB;QAAQ,SAAQ,MAAIlzB,GAAE,QAAOL,EAAEwzB;UAAO,KAAK;YAAEnzB,IAAE;YAAE;;UAAM,KAAK;YAAEA,IAAE;YAAE;;UAAM,KAAK;YAAEA,IAAE;YAAE;;UAAM;YAAQA,IAAE;;QAAE,IAAIgD;QAAE,IAAGpD,GAAEoD,IAAE,IAAIwI,WAAW9L,GAAEC,SAAO;YAACqD,IAAElD,SAASC,YAAY;YAAc,IAAIqD;gBAAGnD,UAAS;gBAAEC,aAAY;gBAAEyL,MAAK;gBAAKD,QAAO;gBAAKE,SAAQ;gBAAEC,SAAQ;gBAAEC,SAAQ;gBAAEC,SAAQ;gBAAEC,UAAS;gBAAEC,SAAQ;gBAAEC,WAAU;gBAAEC,UAAS;gBAAEC,QAAO;gBAAE1D,eAAc;;YAAMvI,OAAOC,KAAKgD,GAAG/C,QAAQ,SAASX;gBAAGA,KAAKC,MAAIyD,EAAE1D,KAAGC,EAAED;gBAAMsD,EAAEgI,eAAetL,GAAE0D,EAAEnD,SAAQmD,EAAElD,YAAWkD,EAAEuI,MAAKvI,EAAEsI,QAAOtI,EAAEwI,SAAQxI,EAAEyI,SAAQzI,EAAE0I,SAAQ1I,EAAE2I,SAAQ3I,EAAE4I,SAAQ5I,EAAE6I,QAAO7I,EAAE8I,UAAS9I,EAAE+I,SAAQ/I,EAAEgJ,QAAOhJ,EAAEsF;;QAAe7I,KAAGM,OAAOyB,eAAeoB,GAAE;YAAWV,KAAI;gBAAW,OAAOtC;;YAAGiE,aAAY;;QAAI,IAAIZ,IAAE;QAAE,OAAOA,IAAE1D,EAAEyzB,WAASzzB,EAAEyzB,WAASpzB,IAAE,KAAG,GAAEG,OAAOgY,iBAAiBnV;YAAGqwB;gBAAWjxB,OAAMzC,EAAE0zB,aAAW;gBAAEpvB,aAAY;;YAAGqvB;gBAAOlxB,OAAMzC,EAAE2zB,SAAO;gBAAErvB,aAAY;;YAAGsvB;gBAAQnxB,OAAMzC,EAAE4zB,UAAQ;gBAAEtvB,aAAY;;YAAGmvB;gBAAUhxB,OAAMiB;gBAAEY,aAAY;;YAAGuvB;gBAAOpxB,OAAMzC,EAAE6zB,SAAO;gBAAEvvB,aAAY;;YAAGwvB;gBAAOrxB,OAAMzC,EAAE8zB,SAAO;gBAAExvB,aAAY;;YAAGyvB;gBAAatxB,OAAMzC,EAAE+zB,eAAa;gBAAGzvB,aAAY;;YAAG0vB;gBAAavxB,OAAMzC,EAAEg0B,eAAa;gBAAE1vB,aAAY;;YAAG2vB;gBAAWxxB,OAAMzC,EAAEi0B,cAAY;gBAAE3vB,aAAY;;YAAKjB;;IAAE,IAAIpD,KAAG,GAAEC,KAAG;IAAE;QAAI,IAAIG,IAAE,IAAIwL,WAAW;YAAS0nB,SAAQ;;QAAItzB,KAAG,GAAEC,IAAE,MAAIG,EAAEkzB;MAAQ,OAAMlwB;IAAItD,EAAEm0B,eAAal0B;EAAGc,SAAQ,SAASf;IAAG,SAASC;QAAIa,KAAKszB,UAAOtzB,KAAKuzB;;IAAYp0B,EAAE0B;QAAWc,KAAI,SAASzC,GAAEC;YAAG,IAAIC,IAAEY,KAAKszB,IAAInyB,QAAQjC;YAAGE,KAAG,IAAEY,KAAKuzB,SAASn0B,KAAGD,KAAGa,KAAKszB,IAAIxsB,KAAK5H,IAAGc,KAAKuzB,SAASzsB,KAAK3H;;QAAKq0B,KAAI,SAASt0B;YAAG,OAAOc,KAAKszB,IAAInyB,QAAQjC,MAAI;;QAAG8C,UAAS,SAAS9C;YAAG,IAAIC,IAAEa,KAAKszB,IAAInyB,QAAQjC;YAAGC,KAAG,MAAIa,KAAKszB,IAAIvX,OAAO5c,GAAE,IAAGa,KAAKuzB,SAASxX,OAAO5c,GAAE;;QAAK2C,KAAI,SAAS5C;YAAG,IAAIC,IAAEa,KAAKszB,IAAInyB,QAAQjC;YAAG,OAAOc,KAAKuzB,SAASp0B;;QAAI2C,IAAIoe;YAAO,OAAOlgB,KAAKuzB,SAAS/sB;;QAAQitB,OAAM;YAAWzzB,KAAKszB,IAAI9sB,SAAO,GAAExG,KAAKuzB,SAAS/sB,SAAO;;OAAItH,EAAEw0B,aAAWv0B;EAAGc,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC;IAAE,IAAG,sBAAoB6B,WAASC,UAAUC,UAAUC,QAAQ,cAAY,GAAEhC,IAAE6B,cAAY;QAAC,IAAI5B,IAAEO,OAAOyB,gBAAe/B,IAAEM,OAAO0B,gBAAe7B,IAAE,IAAK8B,OAAMC,YAAU;QAAIpC,IAAE;YAAWa,KAAKwB,OAAK,UAAQ,MAAIC,KAAKC,aAAW,MAAIlC,MAAK;WAAOL,EAAE0B;YAAWc,KAAI,SAASzC,GAAEC;gBAAGC,EAAEF,GAAEc,KAAKwB;oBAAMI,OAAMzC;oBAAE0C,WAAU;;;YAAKC,KAAI,SAAS5C;gBAAG,OAAOG,EAAE0C,KAAK7C,GAAEc,KAAKwB,QAAMtC,EAAEc,KAAKwB,aAAW;;YAAGQ,UAAS,SAAS9C;gBAAGc,KAAK2B,IAAIzC,QAAO;;;;IAAKA,EAAE6B,YAAU5B;EAAGc,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC;QAAGw0B,SAAQ,IAAIz0B,EAAE6B;QAAU6yB,eAAc,IAAI10B,EAAE6B;QAAU8yB,YAAW,IAAI30B,EAAE6B;QAAU+yB,YAAW,IAAI50B,EAAEw0B;QAAWK;QAAUC;QAAYC;QAAgBC,gBAAe,SAASh1B,GAAEC;YAAG,IAAIC,IAAED,GAAEE,IAAED,EAAE20B;YAAO10B,MAAIW,KAAK+zB,SAAO/zB,KAAK+zB,OAAO7X,OAAO7c,IAAGA,EAAEQ,QAAQ,SAASX;gBAAGE,EAAEF,OAAKc,KAAKg0B,SAAS90B,KAAGE,EAAEF,GAAG+Y,KAAK7Y;eAAKY,OAAMA,KAAKi0B,aAAa/0B,KAAGE;;QAAI+0B,gBAAe,SAASj1B,GAAEC;YAAGa,KAAK6zB,WAAWlyB,IAAIzC,GAAEC,KAAG,SAAQa,KAAKo0B,OAAOp0B,KAAK+zB,QAAO70B,GAAEc,KAAKq0B;;QAAeC,kBAAiB,SAASp1B;YAAGc,KAAK6zB,WAAWlyB,IAAIzC,GAAE,OAAMc,KAAKu0B,SAASv0B,KAAK+zB,QAAO70B,GAAEc,KAAKq0B;;QAAeG,MAAK,SAASt1B;YAAGc,KAAKy0B,UAAU,eAAcv1B;;QAAIw1B,MAAK,SAASx1B;YAAGc,KAAKy0B,UAAU,eAAcv1B;;QAAIy1B,IAAG,SAASz1B;YAAGc,KAAKy0B,UAAU,aAAYv1B;;QAAI01B,OAAM,SAAS11B;YAAGA,EAAEO,WAAS,GAAEO,KAAKy0B,UAAU,gBAAev1B;;QAAI21B,OAAM,SAAS31B;YAAGA,EAAEO,WAAS,GAAEO,KAAKy0B,UAAU,gBAAev1B;;QAAI41B,MAAK,SAAS51B;YAAGA,EAAEO,WAAS,GAAEO,KAAKy0B,UAAU,eAAcv1B;;QAAI61B,KAAI,SAAS71B;YAAGA,EAAEO,WAAS,GAAEO,KAAKy0B,UAAU,cAAav1B;;QAAI81B,QAAO,SAAS91B;YAAGc,KAAKy0B,UAAU,iBAAgBv1B;;QAAI+1B,UAAS,SAAS/1B;YAAGA,EAAE6H,OAAOF,SAAS3H,EAAEgJ,kBAAgBlI,KAAK60B,MAAM31B,IAAGc,KAAK+0B,IAAI71B;;QAAIg2B,WAAU,SAASh2B;YAAGA,EAAE6H,OAAOF,SAAS3H,EAAEgJ,kBAAgBlI,KAAK40B,MAAM11B,IAAGc,KAAK80B,KAAK51B;;QAAIi2B,cAAa,SAASj2B;YAAG,KAAIc,KAAK4zB,cAAc9xB,IAAI5C,IAAG;gBAAC,IAAIC,IAAED,EAAEkI,MAAKhI,IAAEY,KAAKg0B,YAAUh0B,KAAKg0B,SAAS70B;gBAAGC,KAAGA,EAAEF,IAAGc,KAAK4zB,cAAcjyB,IAAIzC,IAAG;;;QAAKk1B,QAAO,SAASl1B,GAAEC,GAAEC;YAAGF,EAAEW,QAAQ,SAASX;gBAAGc,KAAKo1B,SAASl2B,GAAEE,IAAG,GAAED;eAAIa;;QAAOu0B,UAAS,SAASr1B,GAAEC,GAAEC;YAAGF,EAAEW,QAAQ,SAASX;gBAAGc,KAAKq1B,YAAYn2B,GAAEE,IAAG,GAAED;eAAIa;;QAAOo1B,UAAS,SAASl2B,GAAEC,GAAEC,GAAEC;YAAGA,EAAEuK,iBAAiB1K,GAAEC,GAAEC;;QAAIi2B,aAAY,SAASn2B,GAAEC,GAAEC,GAAEC;YAAGA,EAAEmK,oBAAoBtK,GAAEC,GAAEC;;QAAIk2B,WAAU,SAASp2B,GAAEC;YAAG,IAAIC,IAAE,IAAIi0B,aAAan0B,GAAEC;YAAG,OAAOa,KAAK2zB,QAAQhyB,IAAIvC,GAAEY,KAAK2zB,QAAQ7xB,IAAI3C,MAAIA,EAAE4H,SAAQ3H;;QAAGq1B,WAAU,SAASv1B,GAAEC;YAAG,IAAIC,IAAEY,KAAKs1B,UAAUp2B,GAAEC;YAAG,OAAOa,KAAKiM,cAAc7M;;QAAIm2B,YAAW,SAASr2B;YAAG,IAAIC;YAAK,KAAI,IAAIC,KAAKF,GAAEC,EAAEC,KAAGF,EAAEE;YAAG,OAAOD;;QAAGq2B,WAAU,SAASt2B;YAAG,OAAOc,KAAKy1B,eAAaz1B,KAAKy1B,YAAYC,OAAKx2B,EAAE2zB,YAAU7yB,KAAKy1B,YAAY1uB,SAAO/G,KAAK2zB,QAAQ7xB,IAAI5C;;QAAIy2B,YAAW,SAASz2B,GAAEC;YAAGa,KAAKy1B,eAAaz1B,KAAK41B,eAAe51B,KAAKy1B,YAAYC,KAAI11B,KAAKy1B;gBAAaC,IAAGx2B;gBAAE6H,QAAO5H;;YAAG,IAAIC,IAAE,IAAIi0B,aAAa;gBAAqB5zB,UAAS;;YAAIO,KAAK61B,kBAAgB71B,KAAK41B,eAAe3d,KAAKjY,MAAKd,IAAGI,SAASsK,iBAAiB,aAAY5J,KAAK61B;YAAiBv2B,SAASsK,iBAAiB,iBAAgB5J,KAAK61B,kBAAiB71B,KAAK2zB,QAAQhyB,IAAIvC,GAAED;YAAGa,KAAK81B,mBAAmB12B;;QAAIw2B,gBAAe,SAAS12B;YAAG,IAAGc,KAAKy1B,eAAaz1B,KAAKy1B,YAAYC,OAAKx2B,GAAE;gBAAC,IAAIC,IAAE,IAAIk0B,aAAa;oBAAsB5zB,UAAS;oBAAIL,IAAEY,KAAKy1B,YAAY1uB;gBAAO/G,KAAKy1B,cAAY,MAAKn2B,SAASkK,oBAAoB,aAAYxJ,KAAK61B;gBAAiBv2B,SAASkK,oBAAoB,iBAAgBxJ,KAAK61B,kBAAiB71B,KAAK2zB,QAAQhyB,IAAIxC,GAAEC;gBAAGY,KAAK81B,mBAAmB32B;;;QAAK8M,eAAc,SAAS/M;YAAG,IAAIC,IAAEa,KAAKw1B,UAAUt2B;YAAG,OAAOC,IAAEA,EAAE8M,cAAc/M,UAAQ;;QAAG42B,oBAAmB,SAAS52B;YAAG0Z,WAAW5Y,KAAKiM,cAAcgM,KAAKjY,MAAKd,IAAG;;;IAAKC,EAAEk1B,eAAal1B,EAAEg2B,aAAald,KAAK9Y,IAAGD,EAAE62B,aAAW52B;EAAGc,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAE8Y,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB,UAASR,IAAE6Y,MAAMrX,UAAUyT,IAAIvS,KAAKkW,KAAKC,MAAMrX,UAAUyT,MAAK9U;QAAGw2B,QAAO;QAAeC,UAAS;QAAiBC,SAAQ;QAAOC,WAAU;QAAQC,WAAU;QAAQC,UAAS;QAA2CC;YAAerI,UAAS;YAAEO,YAAW;YAAEre,aAAY;YAAEwe,mBAAiB;;QAAiB4H,cAAa,SAASp3B;YAAGD,EAAEqzB,cAAcJ,UAAUhzB,MAAI0D,EAAE+R,QAAQzV,GAAEa,KAAKs2B;;QAAgBE,iBAAgB,SAASt3B;YAAG,IAAIC,IAAED,KAAGI;YAASU,KAAKu2B,aAAar3B,IAAGC,MAAIG,YAAU,eAAaA,SAASutB,aAAW7sB,KAAKy2B,kBAAgBz2B,KAAK02B,kBAAkBv3B;;QAAIu3B,mBAAkB,SAASx3B;YAAGE,EAAEY,KAAK22B,aAAaz3B,IAAGc,KAAK42B,YAAW52B;;QAAO22B,cAAa,SAASz3B;YAAG,IAAIC,IAAED,KAAGI;YAAS,OAAOH,EAAEqP,mBAAiBrP,EAAEqP,iBAAiBxO,KAAKi2B;;QAAcY,yBAAwB,SAAS33B;YAAG,IAAIC,IAAED;YAAE,OAAOC,MAAIa,KAAKk2B,UAAQ,SAAO/2B,MAAIa,KAAKm2B,YAAU,MAAIh3B,MAAIa,KAAKo2B,YAAU,MAAIp2B,KAAKq2B,SAASS,KAAK33B,KAAG,YAAU;;QAAG43B,eAAc,SAAS33B;YAAGD,EAAEm1B,iBAAiBl1B;YAAG,IAAIC,IAAEH,EAAEqzB,cAAc9xB,OAAOrB;YAAGC,KAAGF,EAAEm1B,iBAAiBj1B;;QAAIu3B,YAAW,SAASx3B;YAAG,IAAIC,IAAED,EAAE0S,gBAAc1S,EAAE0S,aAAa9R,KAAKg2B,SAAQx2B,IAAEQ,KAAK62B,wBAAwBx3B;YAAG,IAAGG,GAAE;gBAACL,EAAEg1B,eAAe/0B,GAAEI;gBAAG,IAAIgD,IAAEtD,EAAEqzB,cAAc9xB,OAAOrB;gBAAGoD,KAAGrD,EAAEg1B,eAAe3xB,GAAEhD;;;QAAKw3B,gBAAe,SAAS93B;YAAGc,KAAK+2B,cAAc73B,IAAGc,KAAK42B,WAAW13B;;QAAI+3B,aAAY,SAAS/3B,GAAEC;YAAG,KAAI,IAAIC,GAAEC,IAAE,GAAEG,IAAEL,EAAEqH,QAAOhH,IAAEH,MAAID,IAAED,EAAEE,KAAIA,KAAIH,EAAE4H,KAAK1H;YAAG,OAAOF;;QAAGu3B,eAAc;YAAWn3B,SAASsK,iBAAiB,oBAAmB5J,KAAK02B,kBAAkBze,KAAKjY,MAAKV;;QAAY43B,qBAAoB,SAASh4B;YAAG,IAAIC,IAAEE,EAAEH,GAAEc,KAAK22B,cAAa32B;YAAM,OAAOb,EAAE2H,KAAK5H,IAAGC,EAAEg4B,OAAOn3B,KAAKi3B;;QAAiBG,iBAAgB,SAASl4B;YAAGA,EAAEW,QAAQG,KAAKq3B,iBAAgBr3B;;QAAOq3B,iBAAgB,SAASn4B;YAAG,IAAIC,IAAED;YAAE,IAAG,gBAAcC,EAAEiI,MAAK;gBAAC,IAAIhI,IAAEY,KAAKk3B,oBAAoB/3B,EAAEuV;gBAAYtV,EAAES,QAAQG,KAAK42B,YAAW52B;gBAAM,IAAIX,IAAEW,KAAKk3B,oBAAoB/3B,EAAEwV;gBAActV,EAAEQ,QAAQG,KAAK+2B,eAAc/2B;mBAAU,iBAAeb,EAAEiI,QAAMpH,KAAKg3B,eAAe73B,EAAE4H;;OAAUvE,IAAEhD,EAAE43B,gBAAgBnf,KAAKzY;IAAGN,EAAEo4B,YAAU93B,GAAEN,EAAEoxB,WAAS9wB,EAAEg3B,gBAAgBve,KAAKzY,IAAGN,EAAEq4B,iBAAe,SAASr4B,GAAEE;QAAG,IAAIC,IAAEW,KAAK62B,wBAAwBz3B;QAAGC,IAAEF,EAAEg1B,eAAej1B,GAAEG,KAAGF,EAAEm1B,iBAAiBp1B;MAAI+Y,KAAKzY;IAAG,IAAIoD,IAAE3C,OAAOsU,oBAAkBtU,OAAOuU;IAAuB,IAAG5R,GAAE,IAAIC,IAAE,IAAID,EAAEJ,SAAQhD,EAAE+2B,eAAa;QAAW5tB,QAAQkoB,KAAK;;EAAuG5wB,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAED,EAAE20B,YAAWz0B,IAAE,IAAGG;QAAGg4B,YAAW;QAAEC,cAAa;QAAQ1D,UAAQ,aAAY,aAAY,WAAU,aAAY;QAAY2D,UAAQ,aAAY,WAAU,aAAY;QAAYC;QAAeC,cAAaz4B,EAAEg2B,aAAald,KAAK9Y;QAAG04B,2BAA0B,SAAS34B;YAAG,KAAI,IAAIC,GAAEC,IAAEY,KAAK23B,aAAYn4B,IAAEN,EAAEoM,SAAQ9I,IAAEtD,EAAEqM,SAAQ3I,IAAE,GAAEC,IAAEzD,EAAEoH,QAAO3D,IAAED,MAAIzD,IAAEC,EAAEwD,KAAIA,KAAI;gBAAC,IAAID,IAAElB,KAAKq2B,IAAIt4B,IAAEL,EAAE6F,IAAG9B,IAAEzB,KAAKq2B,IAAIt1B,IAAErD,EAAEsF;gBAAG,IAAGpF,KAAGsD,KAAGtD,KAAG6D,GAAE,QAAO;;;QAAI60B,cAAa,SAAS74B;YAAG,IAAIE,IAAED,EAAEo2B,WAAWr2B;YAAG,OAAOE,EAAEyzB,YAAU7yB,KAAKw3B,YAAWp4B,EAAEg0B,aAAW,GAAEh0B,EAAE8zB,cAAYlzB,KAAKy3B;YAAar4B;;QAAG44B,WAAU,SAAS94B;YAAG,KAAIc,KAAK63B,0BAA0B34B,IAAG;gBAAC,IAAIG,IAAED,EAAEo0B,IAAIxzB,KAAKw3B;gBAAY,IAAGn4B,MAAIW,KAAKg1B,OAAO91B,IAAGG,KAAG,KAAIA,GAAE;oBAAC,IAAIG,IAAEQ,KAAK+3B,aAAa74B;oBAAGE,EAAEuC,IAAI3B,KAAKw3B,YAAWt4B,IAAGC,EAAEq1B,KAAKh1B,IAAGL,EAAEi1B,OAAOp0B,KAAK03B,QAAOp4B,UAASU,KAAK43B;;;;QAAiBK,WAAU,SAAS/4B;YAAG,KAAIc,KAAK63B,0BAA0B34B,IAAG;gBAAC,IAAIE,IAAEY,KAAK+3B,aAAa74B;gBAAGC,EAAEu1B,KAAKt1B;;;QAAK84B,SAAQ,SAASh5B;YAAG,KAAIc,KAAK63B,0BAA0B34B,IAAG;gBAAC,IAAIG,IAAED,EAAE0C,IAAI9B,KAAKw3B;gBAAY,IAAGn4B,KAAGA,EAAEuM,WAAS1M,EAAE0M,QAAO;oBAAC,IAAIpM,IAAEQ,KAAK+3B,aAAa74B;oBAAGC,EAAEw1B,GAAGn1B,IAAGQ,KAAKm4B;;;;QAAkBC,WAAU,SAASl5B;YAAG,KAAIc,KAAK63B,0BAA0B34B,IAAG;gBAAC,IAAIE,IAAEY,KAAK+3B,aAAa74B;gBAAGC,EAAE+1B,UAAU91B;;;QAAKi5B,UAAS,SAASn5B;YAAG,KAAIc,KAAK63B,0BAA0B34B,IAAG;gBAAC,IAAIE,IAAEY,KAAK+3B,aAAa74B;gBAAGC,EAAE81B,SAAS71B;;;QAAK41B,QAAO,SAAS91B;YAAG,IAAIE,IAAEY,KAAK+3B,aAAa74B;YAAGC,EAAE61B,OAAO51B,IAAGY,KAAKm4B;;QAAgBA,cAAa;YAAW/4B,EAAE,OAAOY,KAAKw3B,aAAYr4B,EAAEo1B,SAASv0B,KAAK03B,QAAOp4B,UAASU,KAAK43B;;;IAAgBz4B,EAAEi1B,SAAQ,eAAa90B,UAASH,EAAEk1B,eAAcn1B,EAAEo5B,cAAY94B;EAAGS,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAEF,EAAEozB,YAAWjzB,IAAEF,EAAE20B,YAAWt0B,IAAEL,EAAE00B,YAAWrxB,IAAE0V,MAAMrX,UAAUyT,IAAIvS,KAAKkW,KAAKC,MAAMrX,UAAUyT,MAAK1R,IAAE,MAAKC;QAAGkxB,UAAQ,cAAa,aAAY,YAAW;QAAe0D,cAAa;QAAQc,YAAW;QAAKC,gBAAe,SAASt5B;YAAG,OAAOc,KAAKu4B,eAAar5B,EAAEu5B;;QAAYC,iBAAgB,SAASx5B;YAAG,SAAOc,KAAKu4B,eAAav4B,KAAKu4B,aAAWr5B,EAAEu5B,YAAWz4B,KAAK24B;gBAAS5vB,GAAE7J,EAAEoM;gBAAQlB,GAAElL,EAAEqM;eAASvL,KAAK44B,aAAW;;QAAIC,oBAAmB,SAAS35B;YAAGc,KAAKw4B,eAAet5B,OAAKc,KAAKu4B,aAAW,MAAKv4B,KAAK24B,UAAQ;;QAAOG,gBAAe,SAAS55B;YAAG,IAAIG,IAAEF,EAAEo2B,WAAWr2B;YAAG,OAAOG,EAAEwzB,YAAU3zB,EAAEu5B,aAAW,GAAEp5B,EAAE0H,SAAO3H,EAAEC,IAAGA,EAAEI,WAAS,GAAEJ,EAAEK,cAAY;YAAEL,EAAEuM,SAAO,GAAEvM,EAAEqzB,UAAQ,GAAErzB,EAAEyzB,QAAM5zB,EAAE65B,iBAAe75B,EAAE85B,SAAQ35B,EAAE0zB,SAAO7zB,EAAE+5B,iBAAe/5B,EAAEg6B;YAAQ75B,EAAEuzB,WAAS1zB,EAAEi6B,eAAaj6B,EAAEk6B,OAAM/5B,EAAE+zB,YAAUpzB,KAAKw4B,eAAet5B,IAAGG,EAAE6zB,cAAYlzB,KAAKy3B;YAAap4B;;QAAGg6B,gBAAe,SAASn6B,GAAEC;YAAG,IAAIC,IAAEF,EAAEo6B,gBAAej6B,IAAEmD,EAAEpD,GAAEY,KAAK84B,gBAAe94B;YAAMX,EAAEQ,QAAQV,GAAEa;;QAAOu5B,cAAa,SAASr6B;YAAG,IAAGc,KAAK24B,SAAQ;gBAAC,IAAIx5B,GAAEC,IAAEI,EAAEsC,IAAI5C,EAAE8H;gBAAe,IAAG,WAAS5H,GAAED,KAAG,QAAO,IAAG,SAAOC,GAAED,KAAG,QAAM;oBAAC,IAAIE,IAAEH,EAAEo6B,eAAe,IAAG92B,IAAEpD,GAAEwD,IAAE,QAAMxD,IAAE,MAAI,KAAIyD,IAAEpB,KAAKq2B,IAAIz4B,EAAE,WAASmD,KAAGxC,KAAK24B,QAAQn2B,KAAIG,IAAElB,KAAKq2B,IAAIz4B,EAAE,WAASuD,KAAG5C,KAAK24B,QAAQ/1B;oBAAIzD,IAAE0D,KAAGF;;gBAAE,OAAO3C,KAAK24B,UAAQ,MAAKx5B;;;QAAIq6B,WAAU,SAASt6B,GAAEC;YAAG,KAAI,IAAIC,GAAEC,IAAE,GAAEG,IAAEN,EAAEsH,QAAOhH,IAAEH,MAAID,IAAEF,EAAEG,KAAIA,KAAI,IAAGD,EAAEq5B,eAAat5B,GAAE,QAAO;;QAAGs6B,eAAc,SAASv6B;YAAG,IAAIC,IAAED,EAAEw6B;YAAQ,IAAGr6B,EAAE6gB,QAAM/gB,EAAEqH,QAAO;gBAAC,IAAIpH;gBAAKC,EAAEi0B,IAAIzzB,QAAQ,SAASX;oBAAG,IAAG,MAAIA,MAAIc,KAAKw5B,UAAUr6B,GAAED,IAAE,IAAG;wBAAC,IAAIM,IAAEH,EAAEyC,IAAI5C,GAAG61B;wBAAI31B,EAAE0H,KAAK9G,KAAK84B,eAAet5B;;mBAAMQ,OAAMZ,EAAES,QAAQG,KAAK25B,WAAU35B;;;QAAQ45B,YAAW,SAAS16B;YAAGc,KAAKy5B,cAAcv6B,IAAGc,KAAK04B,gBAAgBx5B,EAAEo6B,eAAe,KAAIt5B,KAAK65B,gBAAgB36B;YAAGc,KAAK44B,aAAW54B,KAAKq5B,eAAen6B,GAAEc,KAAK85B;;QAAWA,UAAS,SAAS56B;YAAGG,EAAEsC,IAAIzC,EAAE2zB;gBAAW9rB,QAAO7H,EAAE6H;gBAAOguB,KAAI71B;gBAAE66B,WAAU76B,EAAE6H;gBAAS5H,EAAE21B,KAAK51B,IAAGC,EAAEq1B,KAAKt1B;;QAAI86B,WAAU,SAAS96B;YAAGc,KAAK44B,cAAY54B,KAAKu5B,aAAar6B,MAAIc,KAAK44B,aAAW,GAAE54B,KAAKi6B,YAAY/6B,OAAKA,EAAEwK;YAAiB1J,KAAKq5B,eAAen6B,GAAEc,KAAKk6B;;QAAgBA,aAAY,SAASh7B;YAAG,IAAIE,IAAEF,GAAEM,IAAEH,EAAEyC,IAAI1C,EAAEyzB;YAAW,IAAGrzB,GAAE;gBAAC,IAAIgD,IAAEhD,EAAEu1B,KAAInyB,IAAEpD,EAAEu6B;gBAAU56B,EAAEu1B,KAAKt1B,IAAGoD,KAAGI,MAAIxD,EAAE2H,WAASvE,EAAE0F,gBAAc9I,EAAE2H,QAAO3H,EAAE8I,gBAActF;gBAAEJ,EAAEuE,SAAOnE,GAAExD,EAAE2H,UAAQ5H,EAAE81B,SAASzyB,IAAGrD,EAAE+1B,UAAU91B,OAAKA,EAAE2H,SAAOnE,GAAExD,EAAE8I,gBAAc;gBAAKlI,KAAK25B,UAAUv6B,MAAKI,EAAEu1B,MAAI31B,GAAEI,EAAEu6B,YAAU36B,EAAE2H;;;QAASozB,UAAS,SAASj7B;YAAGc,KAAK65B,gBAAgB36B,IAAGc,KAAKq5B,eAAen6B,GAAEc,KAAKo6B;;QAAQA,OAAM,SAASl7B;YAAGc,KAAK44B,cAAYz5B,EAAEw1B,GAAGz1B,IAAGC,EAAE41B,IAAI71B,KAAIc,KAAKq6B,eAAen7B;;QAAI+6B,aAAY,SAAS/6B;YAAGc,KAAKq5B,eAAen6B,GAAEc,KAAK25B;;QAAYA,WAAU,SAASz6B;YAAGC,EAAE61B,OAAO91B,IAAGC,EAAE41B,IAAI71B,IAAGc,KAAKq6B,eAAen7B;;QAAIm7B,gBAAe,SAASn7B;YAAGG,EAAE,OAAOH,EAAE2zB,YAAW7yB,KAAK64B,mBAAmB35B;;QAAI26B,iBAAgB,SAAS16B;YAAG,IAAIC,IAAEF,EAAEo5B,YAAYX,aAAYt4B,IAAEF,EAAEm6B,eAAe;YAAG,IAAGt5B,KAAKw4B,eAAen5B,IAAG;gBAAC,IAAIG;oBAAGwF,GAAE3F,EAAEiM;oBAAQ7G,GAAEpF,EAAEkM;;gBAASnM,EAAE0H,KAAKtH;gBAAG,IAAIgD,IAAE,SAAStD,GAAEC;oBAAG,IAAIC,IAAEF,EAAEiC,QAAQhC;oBAAGC,KAAG,KAAGF,EAAE6c,OAAO3c,GAAE;kBAAI6Y,KAAK,MAAK7Y,GAAEI;gBAAGoZ,WAAWpW,GAAEI;;;;IAAM1D,EAAEo7B,cAAYz3B;EAAG5C,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAED,EAAE20B,YAAWz0B;QAAG00B,UAAQ,iBAAgB,iBAAgB,eAAc,gBAAe,iBAAgB,mBAAkB,uBAAsB;QAAwBwG,iBAAe,IAAG,eAAc,SAAQ,OAAM;QAASxC,cAAa,SAAS74B;YAAG,IAAIE,IAAED,EAAEo2B,WAAWr2B;YAAG,OAAOE,EAAE8zB,cAAYlzB,KAAKu6B,cAAcr7B,EAAEg0B,cAAa9zB;;QAAGo7B,SAAQ,SAASt7B;YAAGE,EAAE,OAAOF;;QAAIu7B,eAAc,SAASv7B;YAAGE,EAAEuC,IAAIzC,EAAE2zB,WAAU3zB;YAAG,IAAIG,IAAEW,KAAK+3B,aAAa74B;YAAGC,EAAEq1B,KAAKn1B;;QAAIq7B,eAAc,SAASx7B;YAAG,IAAIE,IAAEY,KAAK+3B,aAAa74B;YAAGC,EAAEu1B,KAAKt1B;;QAAIu7B,aAAY,SAASz7B;YAAG,IAAIE,IAAEY,KAAK+3B,aAAa74B;YAAGC,EAAEw1B,GAAGv1B,IAAGY,KAAKw6B,QAAQt7B,EAAE2zB;;QAAY+H,cAAa,SAAS17B;YAAG,IAAIE,IAAEY,KAAK+3B,aAAa74B;YAAGC,EAAE81B,SAAS71B;;QAAIy7B,eAAc,SAAS37B;YAAG,IAAIE,IAAEY,KAAK+3B,aAAa74B;YAAGC,EAAE+1B,UAAU91B;;QAAI07B,iBAAgB,SAAS57B;YAAG,IAAIE,IAAEY,KAAK+3B,aAAa74B;YAAGC,EAAE61B,OAAO51B,IAAGY,KAAKw6B,QAAQt7B,EAAE2zB;;QAAYkI,sBAAqB,SAAS77B;YAAG,IAAIE,IAAED,EAAEm2B,UAAU,sBAAqBp2B;YAAGC,EAAE8M,cAAc7M;;QAAI47B,qBAAoB,SAAS97B;YAAG,IAAIE,IAAED,EAAEm2B,UAAU,qBAAoBp2B;YAAGC,EAAE8M,cAAc7M;;;IAAKF,EAAE+7B,WAAS57B;EAAGY,OAAOuyB,wBAAuB,SAAStzB;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAEF,EAAEo4B;IAAU,SAAQ,MAAIr3B,OAAOgB,UAAUi6B,gBAAe;QAAC,IAAGj7B,OAAOgB,UAAUk6B,kBAAiB;YAAC,IAAI97B,IAAEY,OAAOgB,UAAUm6B;YAAiBz7B,OAAOyB,eAAenB,OAAOgB,WAAU;gBAAkBW,OAAMvC;gBAAEoE,aAAY;gBAAItE,EAAE+0B,eAAe,MAAKh1B,EAAE+7B,WAAU97B,EAAEg1B,eAAe70B;eAAeH,EAAE+0B,eAAe,SAAQh1B,EAAEo5B,mBAAkB,MAAIr4B,OAAOo7B,gBAAcl8B,EAAE+0B,eAAe,SAAQh1B,EAAEo7B;QAAal7B,EAAEo3B,gBAAgBl3B;QAAUK,OAAOyB,eAAenB,OAAOgB,WAAU;YAAkBW,QAAO;YAAE6B,aAAY;;;EAAMxD,OAAOuyB,wBAAuB,SAAStzB;IAAG,SAASC,EAAED;QAAG,KAAIM,EAAEs0B,WAAWN,IAAIt0B,IAAG,MAAM,IAAIgD,MAAM;;IAAoB,IAAI9C,GAAEC,GAAEG,IAAEN,EAAE62B,YAAWvzB,IAAEvC,OAAOgB;IAAUuB,EAAE24B,oBAAkB/7B,IAAE,SAASF;QAAGC,EAAED,IAAGc,KAAKs7B,oBAAoBp8B;OAAIG,IAAE,SAASH;QAAGC,EAAED,IAAGc,KAAKu7B,wBAAwBr8B;UAAME,IAAE,SAASF;QAAGC,EAAED,IAAGM,EAAEm2B,WAAWz2B,GAAEc;OAAOX,IAAE,SAASH;QAAGC,EAAED,IAAGM,EAAEo2B,eAAe12B,GAAEc;QAAQ8L,QAAQjL,UAAU26B,qBAAmB77B,OAAOgY,iBAAiB7L,QAAQjL;QAAW26B;YAAmB55B,OAAMxC;;QAAGq8B;YAAuB75B,OAAMvC;;;EAAMY,OAAOuyB,wBAAuBvzB,oBAAoB4B,UAAUd,aAAW;IAAWC,KAAK07B,gBAAc;GAAG,SAASx8B;IAAGA,IAAEA,SAAMA,EAAEy8B;QAAOC;YAAKC,MAAK,SAAS38B,GAAEC;gBAAG,IAAGD,MAAIC,GAAE,OAAOD;gBAAE,IAAGA,EAAE2H,UAAS;oBAAC,IAAG3H,EAAE2H,SAAS1H,IAAG,OAAOD;oBAAE,IAAGC,EAAE0H,SAAS3H,IAAG,OAAOC;;gBAAE,IAAIC,IAAEY,KAAK87B,MAAM58B,IAAGG,IAAEW,KAAK87B,MAAM38B,IAAGK,IAAEJ,IAAEC;gBAAE,KAAIG,IAAE,IAAEN,IAAEc,KAAK+7B,KAAK78B,GAAEM,KAAGL,IAAEa,KAAK+7B,KAAK58B,IAAGK,IAAGN,KAAGC,KAAGD,MAAIC,KAAGD,IAAEc,KAAK+7B,KAAK78B,GAAE;gBAAGC,IAAEa,KAAK+7B,KAAK58B,GAAE;gBAAG,OAAOD;;YAAG68B,MAAK,SAAS78B,GAAEC;gBAAG,KAAI,IAAIC,IAAE,GAAED,IAAEC,GAAEA,KAAIF,IAAEA,EAAEmH;gBAAW,OAAOnH;;YAAG48B,OAAM,SAAS58B;gBAAG,KAAI,IAAIC,IAAE,GAAED,KAAGC,KAAID,IAAEA,EAAEmH;gBAAW,OAAOlH;;;OAAKD,EAAE88B,UAAQ,SAAS78B,GAAEC;QAAG,OAAOF,EAAEy8B,MAAMC,IAAIC,KAAK18B,GAAEC;OAAIa,OAAOg8B,kBAAgB/8B;EAAGe,OAAOg8B,kBAAiB,SAAS/8B;IAAG,IAAIC;IAAE,IAAG,sBAAoB6B,WAASC,UAAUC,UAAUC,QAAQ,cAAY,GAAEhC,IAAE6B,cAAY;QAAC,IAAI5B,IAAEO,OAAOyB,gBAAe/B,IAAEM,OAAO0B,gBAAe7B,IAAE,IAAK8B,OAAMC,YAAU;QAAIpC,IAAE;YAAWa,KAAKwB,OAAK,UAAQ,MAAIC,KAAKC,aAAW,MAAIlC,MAAK;WAAOL,EAAE0B;YAAWc,KAAI,SAASzC,GAAEC;gBAAGC,EAAEF,GAAEc,KAAKwB;oBAAMI,OAAMzC;oBAAE0C,WAAU;;;YAAKC,KAAI,SAAS5C;gBAAG,OAAOG,EAAE0C,KAAK7C,GAAEc,KAAKwB,QAAMtC,EAAEc,KAAKwB,aAAW;;YAAGQ,UAAS,SAAS9C;gBAAGc,KAAK2B,IAAIzC,QAAO;;;;IAAKA,EAAE6B,YAAU5B;EAAGc,OAAOg8B,kBAAiB,SAAS/8B;IAAG,SAASC;QAAIa,KAAKszB,UAAOtzB,KAAKuzB;;IAAYp0B,EAAE0B;QAAWc,KAAI,SAASzC,GAAEC;YAAG,IAAIC,IAAEY,KAAKszB,IAAInyB,QAAQjC;YAAGE,KAAG,IAAEY,KAAKuzB,SAASn0B,KAAGD,KAAGa,KAAKszB,IAAIxsB,KAAK5H,IAAGc,KAAKuzB,SAASzsB,KAAK3H;;QAAKq0B,KAAI,SAASt0B;YAAG,OAAOc,KAAKszB,IAAInyB,QAAQjC,MAAI;;QAAG8C,UAAS,SAAS9C;YAAG,IAAIC,IAAEa,KAAKszB,IAAInyB,QAAQjC;YAAGC,KAAG,MAAIa,KAAKszB,IAAIvX,OAAO5c,GAAE,IAAGa,KAAKuzB,SAASxX,OAAO5c,GAAE;;QAAK2C,KAAI,SAAS5C;YAAG,IAAIC,IAAEa,KAAKszB,IAAInyB,QAAQjC;YAAG,OAAOc,KAAKuzB,SAASp0B;;QAAI2C,IAAIoe;YAAO,OAAOlgB,KAAKuzB,SAAS/sB;;QAAQitB,OAAM;YAAWzzB,KAAKszB,IAAI9sB,SAAO,GAAExG,KAAKuzB,SAAS/sB,SAAO;;OAAIvG,OAAOqb,QAAMnc,IAAEc,OAAOqb,MAAKpc,EAAEw0B,aAAWv0B;EAAGc,OAAOg8B,kBAAiB,SAAS/8B;IAAG,IAAIC;QAAGy0B,eAAc,IAAI10B,EAAE6B;QAAU4yB,SAAQ,IAAIz0B,EAAE6B;QAAUm7B;QAAYC;QAAepI,UAAQ,eAAc,eAAc,aAAY,eAAc,cAAa;QAAiBqI,oBAAmB,SAASl9B,GAAEC;YAAG,IAAIC,IAAED;YAAEa,KAAKm8B,YAAYj9B,KAAGE,GAAEY,KAAK+zB,OAAOl0B,QAAQ,SAASX;gBAAG,IAAGE,EAAEF,IAAG;oBAAC,IAAIC,IAAEC,EAAEF,GAAG+Y,KAAK7Y;oBAAGY,KAAKq8B,WAAWn9B,GAAEC;;eAAKa;;QAAOq8B,YAAW,SAASn9B,GAAEC;YAAG,IAAIC,IAAEF;YAAEc,KAAKk8B,SAAS98B,OAAKY,KAAKk8B,SAAS98B,UAAOY,KAAKk8B,SAAS98B,GAAG0H,KAAK3H;;QAAIg1B,gBAAe,SAASj1B;YAAGc,KAAKo0B,OAAOp0B,KAAK+zB,QAAO70B;;QAAIo1B,kBAAiB,SAASp1B;YAAGc,KAAKu0B,SAASv0B,KAAK+zB,QAAO70B;;QAAIi2B,cAAa,SAASj2B;YAAG,KAAIc,KAAK4zB,cAAc9xB,IAAI5C,IAAG;gBAAC,IAAIC,GAAEC,IAAEF,EAAEkI;iBAAMjI,IAAEa,KAAKk8B,SAAS98B,OAAKY,KAAKs8B,UAAUn9B,GAAED,IAAGc,KAAK4zB,cAAcjyB,IAAIzC,IAAG;;;QAAKo9B,WAAU,SAASp9B,GAAEC;YAAG,IAAIC,IAAEY,KAAKu1B,WAAWp2B;YAAGyZ,WAAW5Y,KAAKu8B,SAAStkB,KAAKjY,MAAKd,GAAEE,IAAG;;QAAIm9B,UAAS,SAASr9B,GAAEC;YAAGa,KAAKw8B,mBAAiBr9B,EAAE0zB;YAAU,KAAI,IAAIzzB,GAAEC,IAAE,GAAEG,IAAEN,EAAEsH,QAAOhH,IAAEH,MAAID,IAAEF,EAAEG,KAAIA,KAAID,EAAED;YAAGa,KAAKw8B,mBAAiB;;QAAGpI,QAAO,SAASl1B,GAAEC;YAAGD,EAAEW,QAAQ,SAASX;gBAAGc,KAAKo1B,SAASl2B,GAAEc,KAAKq0B,eAAc,GAAEl1B;eAAIa;;QAAOu0B,UAAS,SAASr1B;YAAGA,EAAEW,QAAQ,SAASX;gBAAGc,KAAKq1B,YAAYn2B,GAAEc,KAAKq0B,eAAc,GAAEoI;eAAWz8B;;QAAOo1B,UAAS,SAASl2B,GAAEC,GAAEC,GAAEC;YAAGA,EAAEuK,iBAAiB1K,GAAEC,GAAEC;;QAAIi2B,aAAY,SAASn2B,GAAEC,GAAEC,GAAEC;YAAGA,EAAEmK,oBAAoBtK,GAAEC,GAAEC;;QAAIk2B,WAAU,SAASp2B,GAAEC;YAAG,OAAO,IAAIF,oBAAoBC,GAAEC;;QAAIo2B,YAAW,SAASr2B;YAAG,IAAIC;YAAK,KAAI,IAAIC,KAAKF,GAAEC,EAAEC,KAAGF,EAAEE;YAAG,OAAOD;;QAAG8M,eAAc,SAAS/M,GAAEC;YAAG,IAAIC,IAAED,KAAGa,KAAK2zB,QAAQ7xB,IAAI5C;YAAGE,MAAIA,EAAE6M,cAAc/M,IAAGA,EAAEw8B,gBAAc17B,KAAKD,WAAWC,KAAKw8B;;QAAoB1G,oBAAmB,SAAS52B,GAAEC;YAAG,IAAIC,IAAE;gBAAWY,KAAKiM,cAAc/M,GAAEC;cAAI8Y,KAAKjY;YAAM4Y,WAAWxZ,GAAE;;QAAIW,YAAW,SAASb;YAAG,IAAIC,IAAEa,KAAKm8B,YAAYO;YAAIv9B,KAAGA,EAAEY,WAAWb;;;IAAKC,EAAEk1B,eAAal1B,EAAEg2B,aAAald,KAAK9Y,IAAGD,EAAE62B,aAAW52B,GAAED,EAAEoxB,WAAS,SAASnxB;QAAG,IAAIC,IAAEa,OAAOuyB;QAAsBpzB,KAAGA,EAAEkxB,SAASnxB,IAAGD,EAAE62B,WAAW5B,eAAeh1B;OAAIA,EAAEg1B,eAAe70B;EAAWW,OAAOg8B,kBAAiB,SAAS/8B;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B;QAAGu9B,YAAW;QAAIC,kBAAiB;QAAG7I,UAAQ,eAAc,eAAc,aAAY;QAAiB8I,aAAY;QAAKC,SAAQ;QAAKC,OAAM;YAAW,IAAI79B,IAAEoC,KAAKkX,QAAMxY,KAAK68B,YAAYG,WAAU79B,IAAEa,KAAKi9B,OAAK,cAAY;YAAOj9B,KAAKk9B,SAAS/9B,GAAED,IAAGc,KAAKi9B,QAAM;;QAAGjI,QAAO;YAAWmI,cAAcn9B,KAAK88B,UAAS98B,KAAKi9B,QAAMj9B,KAAKk9B,SAAS,YAAWl9B,KAAKi9B,QAAM;YAAEj9B,KAAK68B,cAAY,MAAK78B,KAAK+G,SAAO,MAAK/G,KAAK88B,UAAQ;;QAAMM,aAAY,SAASl+B;YAAGA,EAAEk0B,cAAYpzB,KAAK68B,gBAAc78B,KAAK68B,cAAY39B,GAAEc,KAAK+G,SAAO7H,EAAE6H;YAAO/G,KAAK88B,UAAQ/T,YAAY/oB,KAAK+8B,MAAM9kB,KAAKjY,OAAMA,KAAK28B;;QAAcU,WAAU,SAASn+B;YAAGc,KAAK68B,eAAa78B,KAAK68B,YAAYhK,cAAY3zB,EAAE2zB,aAAW7yB,KAAKg1B;;QAAUsI,eAAc;YAAWt9B,KAAKg1B;;QAAUuI,aAAY,SAASr+B;YAAG,IAAGc,KAAK68B,eAAa78B,KAAK68B,YAAYhK,cAAY3zB,EAAE2zB,WAAU;gBAAC,IAAI1zB,IAAED,EAAEoM,UAAQtL,KAAK68B,YAAYvxB,SAAQlM,IAAEF,EAAEqM,UAAQvL,KAAK68B,YAAYtxB;gBAAQpM,IAAEA,IAAEC,IAAEA,IAAEY,KAAK48B,oBAAkB58B,KAAKg1B;;;QAAWkI,UAAS,SAASh+B,GAAEE;YAAG,IAAIC;gBAAG6zB,aAAYlzB,KAAK68B,YAAY3J;;YAAa9zB,MAAIC,EAAEm+B,WAASp+B;YAAG,IAAII,IAAEL,EAAEm2B,UAAUp2B,GAAEG;YAAGF,EAAE8M,cAAczM,GAAEQ,KAAK+G,SAAQvH,EAAEk8B,gBAAcv8B,EAAEY,WAAWC,KAAK68B,YAAYhK;;;IAAa1zB,EAAEi9B,mBAAmB,QAAOh9B;EAAIa,OAAOg8B,kBAAiB,SAAS/8B;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAE,IAAIF,EAAEw0B,cAAWr0B;QAAG00B,UAAQ,eAAc,eAAc,aAAY;QAAiB6I,kBAAiB;QAAEa,UAAS,SAASv+B;YAAG,OAAOA,IAAE,IAAE,KAAG;;QAAGw+B,mBAAkB,SAASx+B,GAAEC;YAAG,IAAIC,IAAE,GAAEC,IAAE;YAAE,OAAOH,KAAGC,MAAIC,IAAED,EAAEw+B,QAAMz+B,EAAEy+B,OAAMt+B,IAAEF,EAAEy+B,QAAM1+B,EAAE0+B;gBAAQ54B,GAAE5F;gBAAEqF,GAAEpF;;;QAAIw+B,WAAU,SAAS3+B,GAAEE,GAAEC;YAAG,IAAIG,IAAEH,GAAEmD,IAAExC,KAAK09B,kBAAkBl+B,EAAEs+B,WAAU1+B,IAAGwD,IAAE5C,KAAK09B,kBAAkBl+B,EAAEu+B,eAAc3+B;YAAGwD,EAAEoC,MAAIxF,EAAEw+B,aAAWh+B,KAAKy9B,SAAS76B,EAAEoC,KAAIpC,EAAE6B,MAAIjF,EAAEy+B,aAAWj+B,KAAKy9B,SAAS76B,EAAE6B;YAAI,IAAI5B;gBAAGq7B,IAAG17B,EAAEwC;gBAAEm5B,IAAG37B,EAAEiC;gBAAE25B,KAAIx7B,EAAEoC;gBAAEq5B,KAAIz7B,EAAE6B;gBAAE6G,SAAQlM,EAAEkM;gBAAQC,SAAQnM,EAAEmM;gBAAQoyB,OAAMv+B,EAAEu+B;gBAAMC,OAAMx+B,EAAEw+B;gBAAMxyB,SAAQhM,EAAEgM;gBAAQC,SAAQjM,EAAEiM;gBAAQ2yB,YAAWx+B,EAAEw+B;gBAAWC,YAAWz+B,EAAEy+B;gBAAWK,WAAU9+B,EAAE8+B;gBAAUpL,aAAY9zB,EAAE8zB;;YAAa,eAAah0B,MAAI2D,EAAE07B,iBAAen/B,EAAE2H;YAAQ,IAAIpE,IAAExD,EAAEm2B,UAAUp2B,GAAE2D;YAAGrD,EAAEu+B,gBAAc3+B,GAAED,EAAE8M,cAActJ,GAAEnD,EAAEg/B;;QAAapB,aAAY,SAASl+B;YAAG,IAAGA,EAAEk0B,cAAY,YAAUl0B,EAAEg0B,cAAY,MAAIh0B,EAAEwzB,WAAS,IAAG;gBAAC,IAAIvzB;oBAAG2+B,WAAU5+B;oBAAEs/B,YAAWt/B,EAAE6H;oBAAOu3B;oBAAaP,eAAc;oBAAKC,YAAW;oBAAEC,YAAW;oBAAEQ,WAAU;;gBAAGr/B,EAAEuC,IAAIzC,EAAE2zB,WAAU1zB;;;QAAKo+B,aAAY,SAASr+B;YAAG,IAAIC,IAAEC,EAAE0C,IAAI5C,EAAE2zB;YAAW,IAAG1zB,GAAE,IAAGA,EAAEs/B,UAASz+B,KAAK69B,UAAU,SAAQ3+B,GAAEC,SAAO;gBAAC,IAAIE,IAAEW,KAAK09B,kBAAkBv+B,EAAE2+B,WAAU5+B,IAAGM,IAAEH,EAAE2F,IAAE3F,EAAE2F,IAAE3F,EAAEoF,IAAEpF,EAAEoF;gBAAEjF,IAAEQ,KAAK48B,qBAAmBz9B,EAAEs/B,YAAU,GAAEz+B,KAAK69B,UAAU,cAAa1+B,EAAE2+B,WAAU3+B;gBAAGa,KAAK69B,UAAU,SAAQ3+B,GAAEC;;;QAAMk+B,WAAU,SAASn+B;YAAG,IAAIC,IAAEC,EAAE0C,IAAI5C,EAAE2zB;YAAW1zB,MAAIA,EAAEs/B,YAAUz+B,KAAK69B,UAAU,YAAW3+B,GAAEC,IAAGC,EAAE,OAAOF,EAAE2zB;;QAAayK,eAAc,SAASp+B;YAAGc,KAAKq9B,UAAUn+B;;;IAAKC,EAAEi9B,mBAAmB,SAAQ/8B;EAAIY,OAAOg8B,kBAAiB,SAAS/8B;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B;QAAGs/B,cAAa;QAAGC,WAAU;QAAEC;QAAa73B,QAAO;QAAK8rB,WAAU;QAAKkB,UAAQ,eAAc,eAAc,aAAY;QAAiBqJ,aAAY,SAASl+B;YAAGA,EAAEk0B,cAAYpzB,KAAK6yB,cAAY7yB,KAAK6yB,YAAU3zB,EAAE2zB,WAAU7yB,KAAK+G,SAAO7H,EAAE6H;YAAO/G,KAAK6+B,QAAQ3/B;;QAAKq+B,aAAY,SAASr+B;YAAGA,EAAE2zB,cAAY7yB,KAAK6yB,aAAW7yB,KAAK6+B,QAAQ3/B;;QAAIm+B,WAAU,SAASn+B;YAAGA,EAAE2zB,cAAY7yB,KAAK6yB,aAAW7yB,KAAK8+B,UAAU5/B,IAAGc,KAAKw6B;;QAAW8C,eAAc;YAAWt9B,KAAKw6B;;QAAWA,SAAQ;YAAWx6B,KAAK4+B,gBAAa5+B,KAAK+G,SAAO,MAAK/G,KAAK6yB,YAAU;;QAAMgM,SAAQ,SAAS3/B;YAAGc,KAAK4+B,UAAUp4B,UAAQxG,KAAK2+B,aAAW3+B,KAAK4+B,UAAUn4B,SAAQzG,KAAK4+B,UAAU93B,KAAK5H;;QAAI4/B,WAAU,SAAS5/B;YAAG,KAAI,IAAIE,GAAEC,GAAEG,GAAEgD,GAAEI,GAAEC,GAAEF,GAAEO,IAAEhE,GAAEwD,IAAE1C,KAAK4+B,UAAUp4B,QAAO9C,IAAE,GAAEC,IAAE,GAAElB,IAAE,GAAEqB,IAAE,GAAEpB,IAAEoB,MAAInB,IAAE3C,KAAK4+B,UAAU96B,KAAIA,KAAI1E,IAAE8D,EAAE85B,YAAUr6B,EAAEq6B;YAAU39B,IAAE6D,EAAEoI,UAAQ3I,EAAE2I,SAAQ9L,IAAE0D,EAAEqI,UAAQ5I,EAAE4I,SAAQ/I,IAAEnD,IAAED,GAAEwD,IAAEpD,IAAEJ,GAAEyD,IAAEpB,KAAKs9B,KAAKv8B,IAAEA,IAAEI,IAAEA;YAAGC,IAAEJ,MAAIiB,IAAElB,GAAEmB,IAAEf,GAAEH,IAAEI;YAAG,IAAIsB,IAAE1C,KAAKq2B,IAAIp0B,KAAGjC,KAAKq2B,IAAIn0B,KAAG,MAAI,KAAIa,IAAExE,KAAKg/B,UAAUt7B,GAAEC;YAAG,IAAGlC,KAAKq2B,IAAIr1B,MAAIzC,KAAK0+B,cAAa;gBAAC,IAAIh6B,IAAEvF,EAAEm2B,UAAU;oBAAS2J,WAAUv7B;oBAAEw7B,WAAUv7B;oBAAEw7B,UAAS18B;oBAAE28B,OAAM56B;oBAAE66B,WAAUl7B;oBAAE+uB,aAAYh0B,EAAEg0B;;gBAAc/zB,EAAE8M,cAAcvH,GAAE1E,KAAK+G;;;QAAUi4B,WAAU,SAAS9/B,GAAEC;YAAG,OAAO,MAAIsC,KAAK69B,MAAMngC,GAAED,KAAGuC,KAAK89B;;;IAAKpgC,EAAEi9B,mBAAmB,SAAQh9B;EAAIa,OAAOg8B,kBAAiB,SAAS/8B;IAAG,IAAIC,IAAED,EAAE62B,YAAW32B,IAAE,IAAIF,EAAEw0B,cAAWr0B;QAAG00B,UAAQ,eAAc,eAAc,aAAY;QAAiBqJ,aAAY,SAASl+B;YAAGA,EAAEk0B,cAAYl0B,EAAEw8B,gBAAct8B,EAAEuC,IAAIzC,EAAE2zB;gBAAW9rB,QAAO7H,EAAE6H;gBAAO/B,GAAE9F,EAAEoM;gBAAQ7G,GAAEvF,EAAEqM;;;QAAWgyB,aAAY,SAASr+B;YAAG,IAAGA,EAAEk0B,WAAU;gBAAC,IAAIj0B,IAAEC,EAAE0C,IAAI5C,EAAE2zB;gBAAW1zB,KAAGD,EAAEw8B,gBAAct8B,EAAE,OAAOF,EAAE2zB;;;QAAawK,WAAU,SAASh+B;YAAG,IAAIG,IAAEJ,EAAE0C,IAAIzC,EAAEwzB;YAAW,IAAGrzB,MAAIH,EAAEq8B,cAAa;gBAAC,IAAIl5B,IAAEtD,EAAE88B,QAAQx8B,EAAEuH,QAAO1H,EAAE0H;gBAAQ,IAAGvE,GAAE;oBAAC,IAAII,IAAEzD,EAAEm2B,UAAU;wBAAOtwB,GAAE3F,EAAEiM;wBAAQ7G,GAAEpF,EAAEkM;wBAAQ2nB,aAAY7zB,EAAE6zB;;oBAAc/zB,EAAE8M,cAAcrJ,GAAEJ;;;YAAIpD,EAAE,OAAOC,EAAEwzB;;QAAYyK,eAAc,SAASp+B;YAAGE,EAAE,OAAOF,EAAE2zB;;QAAY9yB,YAAW,SAASb;YAAGE,EAAE,OAAOF;;;IAAKC,EAAEi9B,mBAAmB,OAAM/8B;EAAIY,OAAOg8B;;ACzBls8B,KAAKh8B,OAAOu/B,SAAS;IACnBv/B,OAAOu/B;;;CCAV;IAEE,IAAI3/B,UAAUqY,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB;IAIhEI,OAAOJ,UAAUA;;;CCPlB,SAAU4/B;IAaP,SAASC,OAAOC;QAMd,IAAIC,SAASF,OAAOE;QAEpB,IAAIC,MAAMD,OAAOC;QACjB,KAAKA,KAAK;YACRA,MAAMC,WAAW/9B,KAAK/B,MAAM4/B;;QAE9B,KAAKC,KAAK;YACRl3B,QAAQkoB,KAAK;;QAIf,MAAM,YAAY+O,SAAS;YACzBG,aAAaH,QAAQC,KAAKlgC,OAAO2C,eAAetC;;QAGlD,IAAIggC,SAASJ,OAAOI;QACpB,KAAKA,QAAQ,QAGN;YAEL,IAAIC,KAAKD,OAAOH;YAEhB,MAAM,YAAYI,KAAK;gBACrBF,aAAaE,IAAIJ,KAAKG;;YAIxB,OAAOC,GAAG78B,MAAMpD,MAAM2/B;;;IAI1B,SAASO,UAAUC,SAAS1O,QAAQ2O;QAElC,IAAIC,QAAQF;QACZ,OAAOE,WACDA,MAAMh/B,eAAeowB,WAAW4O,MAAM5O,WAAW2O,WAAW;YAChEC,QAAQ1gC,OAAO2C,eAAe+9B;;QAEhC,OAAOA;;IAGT,SAASN,aAAaO,UAAU7O,QAAQ0O;QAItCG,SAASN,SAASE,UAAUC,SAAS1O,QAAQ6O;QAC7C,IAAIA,SAASN,QAAQ;YAGnBM,SAASN,OAAOvO,QAAQ8O,OAAO9O;;;IAInC,SAASqO,WAAWU;QAClB73B,QAAQggB,MAAM;QACd,IAAIxkB,IAAInE;QACR,OAAOmE,KAAKA,MAAMvD,YAAYC,WAAW;YACvC,IAAI4/B,KAAK9gC,OAAOwC,oBAAoBgC;YACpC,KAAK,IAAIxB,IAAE,GAAGe,IAAE+8B,GAAGj6B,QAAQ/D,GAAGE,IAAEe,MAAMjB,IAAEg+B,GAAG99B,KAAKA,KAAK;gBACnDgG,QAAQqR,IAAIvX;gBACZ,IAAIpD,IAAIM,OAAOyC,yBAAyB+B,GAAG1B;gBAC3C,IAAIpD,EAAEuC,SAAS4+B,SAAS;oBACtB,OAAO/9B;;;YAGX0B,IAAIxE,OAAO2C,eAAe6B;;QAE5BwE,QAAQigB,SAAS;;IAKnB6W,MAAMC,SAASA;GAEdF;;CC7FL,SAAUC;IAIR,IAAIzlB,MAAM/Z,OAAOE;IAIjB,SAASmwB,SAASoQ,WAAWC;QAG3B,IAAID,aAAazgC,QAAQ;YACvB;;QAGF,KAAKygC,eAAeA,qBAAqB9/B,cAAc;YACrD,MAAM;;QASR,IAAIC,YAAYX,SAASsF,UAAUi6B,MAAM/uB,MAAMiwB;QAE/C9/B,UAAU+/B,iBAAiBF;QAM3BjB,MAAMoB,eAAehgC,WAAW6/B;QAEhC7/B,UAAUigC,kBAAkB;YAC1B9gC,KAAK+gC;YACLC,sBAAsBj/B,KAAK/B,MAAM0gC;;QAInC7/B,UAAUigC,gBAAgBjB,MAAM;QAEhCh/B,UAAUqvB,gBAAgBA;QAC1BrvB,UAAU8vB,mBAAmBA;QAC7B9vB,UAAUiwB,kBAAkBA;QAC5BjwB,UAAUsvB,2BAA2BA;QAGrC8Q,UAAUpgC;QAEV4+B,MAAMyB,gBAAgBR,UAAUvwB,YAAYtP;QAE5C4+B,MAAM0B,kBAAkBT,WAAW7/B;QAEnC4+B,MAAM2B,cAAcV;QACpBjB,MAAM4B,YAAYX;QAElBA,UAAUpQ;YAAUzvB,WAAWA;;QAE/BV,SAASmhC,SACH34B,QAAQqR,IAAI,gCAAgC0mB,UAAU1S,QAAQxsB;;IAGtE,SAAS0uB;QAEPlwB,KAAK8gC;QAELS,cAAcx/B,KAAK/B;;IAGrB,SAASghC,sBAAsBN;QAC7B,IAAIrf,WAAWqf,UAAUnyB,cAAc;QACvC,IAAI8S,UAAU;YAEZ,IAAImgB,OAAOxhC,KAAKc;YAEhB0gC,KAAKC,oBAAoBzhC,KAAKyhC;YAE9B5Y,eAAemI,YAAYhxB;YAG3BwhC,KAAKvuB,OAAOjT;YAIZwhC,KAAKl0B,YAAY+T,SAASqB,eAAe1iB,MAAMw/B,QAAQkC;YACvDC,YAAY5/B,KAAK/B,MAAMwhC;YACvB,OAAOA;;;IAIX,SAASG,YAAYC;QAGnB/Y,eAAe/T;QAGf2qB,MAAMoC,sBAAsB9/B,KAAK/B,MAAM4hC;QAEvC,IAAIE,aAAarC,MAAMsC,iBAAiBH;QACxCnC,MAAMuC,2BAA2BjgC,KAAK/B,MAAM4hC,QAAQE;QAEpD7F,gBAAgB3L,SAASsR;QACzBpP,sBAAsB+E,eAAeqK,QACjC5hC,KAAK8R,aAAa;;IAGxB,SAASyvB,cAAcb;QAGrBjB,MAAMwC,kBAAkBlgC,KAAK/B;QAE7By/B,MAAMyC,0BAA0BngC,KAAK/B;QAErCy/B,MAAMpO,eAAetvB,KAAK/B;QAE1B,IAAImiC,aAAa1C,MAAM2C,qBAAqBrgC,KAAK/B;QACjDy/B,MAAM4C,0BAA0BtgC,KAAK/B,MAAMmiC;QAE3CniC,KAAKsiC;QAEL,IAAItiC,KAAK4vB,OAAO;YACd5vB,KAAK4vB;;;IAIT,SAASe;QACP3wB,KAAKuiC,gBAAgB;QAErB,IAAIviC,KAAKwiC,UAAU;YACjBxiC,KAAKwiC;;;IAIT,SAAS1R;QACP9wB,KAAKsiC;QAEL,IAAItiC,KAAKqI,SAAS;YAChBrI,KAAKqI;;;IAIT,SAAS8nB;QACP,IAAInwB,KAAKyiC,kBAAkB;YACzBziC,KAAKyiC,iBAAiBr/B,MAAMpD,MAAMqD;;;IAItC,SAAS49B,UAAUpgC;QACjBlB,OAAOwC,oBAAoBtB,WAAWhB,QAAQ,SAAS4C;YACrD,IAAIpD,IAAIM,OAAOyC,yBAAyBvB,WAAW4B;YACnD,WAAWpD,EAAEuC,SAAS,YAAY;gBAChCvC,EAAEuC,MAAMi+B,MAAMp9B;;;;IAOpB,SAASigC,sBAAsBjG,UAAUkG;QAGvC,IAAIlgC,IAAIg6B;QACR,OAAOh6B,KAAKA,KAAKzC,MAAM;YACrB,IAAI2C,IAAIuV,MAAMrX,UAAUM,QAAQY,KAAK4gC,SAASlgC;YAC9C,IAAIE,KAAK,GAAG;gBACV,OAAOA;;YAETF,IAAIA,EAAE4D;;;IAMVo5B,MAAMnP,WAAWA;IACjBmP,MAAMiD,wBAAwBA;IAC9BjD,MAAM8B,gBAAgBA;GAErB/B;;CC1KH,SAAUC;IAIR,IAAIzlB,MAAM/Z,OAAOE;IAEjB,IAAIuQ;QAMFqwB,SAAOvB,QAAQE;QAMfkD,kBAAkB;QAKlB3qB,MAAM;YACJunB,QAAQvnB,KAAK7U,MAAMpD,MAAMqD;;QAM3Bwa,QAAQ;YACN2hB,QAAQ3hB,OAAOza,MAAMpD,MAAMqD;;QAM7B0a,WAAW;YACTyhB,QAAQzhB,UAAU3a,MAAMpD,MAAMqD;;QAsBhCk/B,iBAAiB,SAASM;YACxBrD,QAAQ+C,gBAAgBn/B,MAAMpD,MAAMqD;;QAmBtCi/B,gBAAgB;YACd9C,QAAQ8C,eAAel/B,MAAMpD,MAAMqD;;QAWrCy/B,KAAK;YACH,OAAOtD,QAAQsD,IAAI1/B,MAAMpD,MAAMqD;;QAUjC0/B,aAAa,SAASzC,UAAUX,QAAQqD;YAGtC9iC,SAAS8oB;YACT,IAAIia,OAAQtD,UAAUA,OAAOn5B,SAAUm5B,WAAUA;YACjD,IAAIM,KAAK;iBACNjgC,KAAKsgC,aAAaA,UAAUl9B,MAAMpD,MAAMijC;cACzChrB,KAAKjY;YACP,OAAOgjC,YAAY/iC,OAAO2Y,WAAWqnB,IAAI+C,aACvCvqB,sBAAsBwnB;;QAQ1BiD,UAAU,SAASC,cAAcC;YAC/B,IAAIpjC,KAAKmjC,eAAe;gBACtBnjC,KAAKmjC,cAAc//B,MAAMpD,MAAMojC;;;QAUnCC,MAAM,SAASC,QAAQC,UAAUC;YAC/B,IAAIC,OAAOD,YAAYxjC;YACvBga,IAAI+Z,UAAUprB,QAAQqR,IAAI,sBAAsBypB,KAAKt9B,WAAWm9B;YAChEG,KAAKx3B,cACD,IAAIK,YAAYg3B;gBAAS7jC,SAAS;gBAAMyL,QAAQq4B;;YACpD,OAAOA;;QASTG,WAAW;YACT1jC,KAAK+iC,YAAY,QAAQ1/B;;QAS3BsgC,cAAc,SAASC,MAAMC,KAAKC;YAChC,IAAID,KAAK;gBACPA,IAAIE,UAAUj6B,OAAOg6B;;YAEvB,IAAIF,MAAM;gBACRA,KAAKG,UAAU3rB,IAAI0rB;;;;IAOzBpzB,KAAKqc,OAAOrc,KAAK2yB;IACjB3yB,KAAKszB,QAAQtzB,KAAKgzB;IAIlBjE,MAAM/uB,OAAOA;GAEZzQ,OAAOu/B;;CCxLV;IAGE,IAAIyE,gBAAgB,IAAIljC;IAExB,SAASmjC,iBAAiB/lB,SAAS/W,MAAM5F,MAAMoc;QAC7C,IAAIumB,KAAKC,mBAAmBjmB,SAAS/W,MAAM;QAC3C+8B,GAAG3iC,KAAK0O,iBAAiB0N;;IAG3B,SAASymB,mBAAmBlmB,SAAS/W,MAAM5F;QACzC,IAAI8iC,KAAKF,mBAAmBjmB,SAAS/W,OAAOm9B,SAAS/iC,KAAK0O;QAC1D,IAAIo0B,MAAMA,GAAGC,SAAS;YAEpBD,GAAGC,QAAQjoB;YACXgoB,GAAGC,UAAU;YACb,OAAO;;;IAIX,SAASC,0BAA0BrmB,SAAS/W;QAC1C,IAAIk9B,KAAKF,mBAAmBjmB,SAAS/W;QACrC,IAAIk9B,IAAI;YACN3kC,OAAOC,KAAK0kC,IAAIzkC,QAAQ,SAAS2oB;gBAC/B6b,mBAAmBlmB,SAAS/W,MAAMohB;;;;IAKxC,SAAS4b,mBAAmBjmB,SAAS/W,MAAMgyB;QACzC,IAAIqL,KAAKR,cAAcniC,IAAIqc;QAC3B,IAAIib,OAAO;YACT,KAAKqL,IAAI;gBACPR,cAActiC,IAAIwc,SAASsmB;;YAE7B,KAAKA,GAAGr9B,OAAO;gBACbq9B,GAAGr9B;;;QAGP,OAAOq9B,MAAMA,GAAGr9B;;IAIlBo4B,QAAQ0E,mBAAmBA;IAC3B1E,QAAQ6E,qBAAqBA;IAC7B7E,QAAQgF,4BAA4BA;;;CC9CtC;IAEE,IAAIxqB,MAAM/Z,OAAOE;IAIjB,SAASukC,eAAeC,KAAKC,YAAYC,KAAKC;QAC5C9qB,IAAI/B,QAAQtP,QAAQqR,IAAI,2CACpB6qB,IAAI1+B,aAAa,UAAU2+B,QAAQH,IAAIx+B,WAAWy+B;QAGtD,IAAI9/B,IAAI4Y,aAAaV,eAAe6nB,KAAKC;QACzC,IAAIhgC,MAAM,QAAQA,MAAMigC,WAAW;YACjCrnB,aAAaT,eAAe4nB,KAAKC,QAAQH,IAAIC;;QAE/C,OAAOlnB,aAAatc,eAAeujC,KAAKC;YAAapuB,QAAQquB;YAAK76B,MAAM86B;;;IAI1EtF,QAAQkF,iBAAiBA;;;CClB3B;IAIE,IAAI1qB,MAAM/Z,OAAOE;IAGjB,IAAIuhC,mBAAmB,IAAIhZ;IAG3B,IAAI1I,WAAW,IAAIjf;IAEnB,SAASikC,gBAAgB7mB,SAAS3c,MAAMwI;QACtC,IAAIy6B,KAAKzkB,SAASle,IAAIqc;QACtB,KAAKsmB,IAAI;YACPzkB,SAASre,IAAIwc,SAASsmB;;QAExBA,GAAGjjC,KAAK0O,iBAAiBlG;;IAG3B,SAASi7B,kBAAkB9mB,SAAS3c;QAClC,IAAIijC,KAAKzkB,SAASle,IAAIqc;QACtB,IAAIsmB,IAAI;mBACCA,GAAGjjC,KAAK0O;;;IAInB,SAASg1B,gBAAgBvV;QACvB,IAAI0Q,QAAQ1Q,KAAK9uB;QACjB,IAAIskC,eAAe9E,MAAMpoB;QACzB,IAAImtB,iBAAiB/E,MAAMxiB;QAE3BwiB,MAAMpoB,OAAO,SAASzW,MAAMmc,OAAO3T;YACjCm7B,aAAa/hC,MAAMpD,MAAMqD;YAEzB2hC,gBAAgBhlC,MAAMwB,MAAMwI;;QAG9Bq2B,MAAMxiB,SAAS,SAASrc;YACtB4jC,eAAehiC,MAAMpD,MAAMqD;YAC3B4hC,kBAAkBjlC,MAAMwB;;;MAI3ByD,MAAM6G,SAAS6G,MAAMuO,mBAAkBrhB,QAAQqlC;IAEhD,IAAIG;IAEJ,SAASC,YAAYnnB;QACnB,OAAOA,WAAW6B,SAASle,IAAIqc,YAAYknB;;IAG7C,SAAS5c,WAAWtK,SAAS3c;QAC3B,OAAO8jC,YAAYnnB,SAAS3c,KAAK0O;;IAInC,SAAS+H,KAAKzW,MAAMmc,OAAO3T;QACzB,IAAIu7B,WAAW/F,QAAQgG,qBAAqBzjC,KAAK/B,MAAMwB;QACvD,IAAI+jC,UAAU;YACZP,gBAAgBhlC,MAAMulC,UAAUv7B;YAChCw1B,QAAQ0E,iBAAiBlkC,MAAM,WAAWulC,UACxC/F,QAAQkF,eAAe1kC,MAAMulC,UAAU5nB,OAAO3T;eAE3C;YACLpJ,YAAYC,UAAUoX,KAAK7U,MAAMpD,MAAMqD;;;IAI3C,SAASwa,OAAOrc;QACd,KAAKg+B,QAAQ6E,mBAAmBrkC,MAAM,WAAWwB,OAAO;YACtDZ,YAAYC,UAAUgd,OAAOza,MAAMpD,MAAMqD;;;IAI7C,SAAS0a;QACP,KAAK0nB,iBAAiBzlC,OAAO;YAC3Bw/B,QAAQgF,0BAA0BxkC,MAAM;YACxCY,YAAYC,UAAUkd,UAAU3a,MAAMpD,MAAMqD;YAE5CqiC,eAAe1lC,KAAK4X,kBAAkB;YACtC+tB,mBAAmB3lC;;;IAIvB,SAAS0lC,eAAejC,MAAMmC;QAC5BC,YAAYpC,MAAMmC,cAAc,SAASnjC;YACvC,IAAIA,EAAEsb,WAAW;gBACftb,EAAEsb;;;;IAKR,SAAS8nB,YAAYpC,MAAMmC,cAAcrrB;QACvC,KAAKkpB,MAAM;YACT;;QAEFlpB,SAASkpB;QACT,IAAImC,gBAAgBnC,KAAKvxB,iBAAiB;YACxC2zB,YAAYpC,KAAKvxB,iBAAiB0zB,cAAcrrB;;QAElD,KAAK,IAAIurB,QAAQrC,KAAKt2B,YAAY24B,OAAOA,QAAQA,MAAMv4B,aAAa;YAClEs4B,YAAYC,OAAOF,cAAcrrB;;;IAKrC,IAAIwrB,eAAe,IAAIhlC;IAEvB,SAAS4kC,mBAAmBxnB;QAC1B4nB,aAAapkC,IAAIwc,SAAS;;IAG5B,SAASsnB,iBAAiBtnB;QACxB,OAAO4nB,aAAajkC,IAAIqc;;IAI1B,IAAI6nB,oBAAoB,IAAIjlC;IAE5B,SAASuhC;QACP,KAAKmD,iBAAiBzlC,OAAO;YAC3Bga,IAAI/B,QAAQtP,QAAQqR,IAAI,kBAAkBha,KAAKmG;YAC/C6/B,kBAAkBrkC,IAAI3B,MAAMA,KAAK8iC,IAAIkD,kBAAkBlkC,IAAI9B,OACzDA,KAAK+d;;;IAIX,SAASwkB,gBAAgBM;QACvB,IAAI4C,iBAAiBzlC,OAAO;YAC1Bga,IAAI/B,QAAQtP,QAAQkoB,KAAK7wB,KAAKmG,WAC5B;YACF;;QAEF6T,IAAI/B,QAAQtP,QAAQqR,IAAI,mBAAmBha,KAAKmG;QAChD,IAAI8/B,YAAYD,kBAAkBlkC,IAAI9B;QACtC,IAAIimC,WAAW;YACbA,UAAUC;YACVF,kBAAkBrkC,IAAI3B,MAAM;;QAI9B,KAAK6iC,gBAAgB;YACnBgD,YAAY7lC,KAAK4X,kBAAkB,MAAM,SAASnV;gBAChD,IAAIA,EAAE8/B,iBAAiB;oBACrB9/B,EAAE8/B;;;;;IAOV,SAAS4D,iBAAiBrwB,MAAM6H;QAC9B,IAAI0D,WAAW/hB,SAASiR,cAAc;QACtC8Q,SAAS7Q,YAAYsF;QACrB,OAAOuL,SAASqB,eAAe/E,OAAO+jB;;IAGxC,IAAI0E,kBAAkB;IAItB5G,QAAQvnB,OAAOA;IACfunB,QAAQ3hB,SAASA;IACjB2hB,QAAQzhB,YAAYA;IACpByhB,QAAQ/W,aAAaA;IACrB+W,QAAQ8C,iBAAiBA;IACzB9C,QAAQ+C,kBAAkBA;IAC1B/C,QAAQiG,mBAAmBA;IAC3BjG,QAAQkG,iBAAiBA;IACzBlG,QAAQ2G,mBAAmBA;IAC3B3G,QAAQ6G,cAAcD;IACtB5G,QAAQkC,mBAAmBA;;;CC5K7B;IAIE,IAAI2E,cAAc7G,QAAQ6G;IAI1B,IAAIC,aAAa;IACjB,IAAIC,cAAc;IAClB,IAAIC,aAAa;IAGjB,SAASrF,kBAAkBhjB,SAAStd;QAClC4lC,4BAA4BtoB,SAAStd;QACrC6lC,0BAA0BvoB,SAAStd;;IAGrC,SAAS4lC,4BAA4B/F,WAAWC;QAC9C,IAAIgG;QAEJ,IAAIx2B,aAAauwB,UAAU5uB,aAAay0B;QACxC,IAAIp2B,YAAY;YAEd,IAAIy2B,QAAQz2B,WAAW3P,MAAM2P,WAAWhP,QAAQ,QAAQ,IAAI,MAAM;YAElEylC,MAAM/mC,QAAQ,SAASsE;gBACrBA,IAAIA,EAAE4O;gBACN,IAAI5O,GAAG;oBACLwiC,UAAUxiC,KAAK;;;;QAKrB,IAAI0iC,YAAYnG,UAAU1S,QAAQntB;QAGlClB,OAAOC,KAAK+mC,WAAW9mC,QAAQ,SAASsE;YACtC,MAAMA,KAAKw8B,kBAAkBx8B,KAAK0iC,YAAY;gBAC5ClG,YAAYx8B,KAAKwiC,UAAUxiC;;;QAI/B,IAAI2iC,aAAanG,YAAY6F;QAC7B,IAAIM,YAAY;YAEdnnC,OAAOC,KAAKknC,YAAYjnC,QAAQ,SAASsE;gBACvCw8B,YAAYx8B,KAAK2iC,WAAW3iC;;YAG9BwiC,YAAYzmC,SAASsF,MAAMmhC,WAAWG;;QAGxCnG,YAAY2F,cAAcpmC,SAASsF,UAEjCqhC,UAAUP,aACVK;;IAIJ,SAASD,0BAA0BvoB,SAAStd;QAE1C,IAAIgmC,YAAY1oB,QAAQ6P,QAAQntB;QAChC,IAAIsP,aAAagO,QAAQhO;QACzB,IAAI42B,KAAKlmC,UAAUmmC,qBACfrnC,OAAOiE,OAAOijC,UAAUG,sBAAsB;QAClD,KAAK,IAAIrkC,IAAE,GAAGe,IAAEyM,WAAW3J,QAAQtH,GAAIyD,IAAEe,MAAOxE,IAAEiR,WAAWxN,KAAKA,KAAK;YACrE,KAAK+jC,0BAA0BO,UAAU/nC,EAAEsC,OAAO;gBAChD,IAAItC,EAAEsC,KAAKjB,MAAM,GAAG,OAAO,OAAO;oBAChCwmC,GAAG7nC,EAAEsC,QAAQtC,EAAE0C;;;;;IAMvB8kC,0BAA0BO;QAAazlC,MAAM;QAAGkuB,WAAW;QAAG7rB,aAAa;;IAC3E6iC,0BAA0BO,UAAUV,eAAe;IAEnD,SAASrE;QACP,IAAI6E,KAAK/mC,KAAKgnC;QACdrnC,OAAOC,KAAKmnC,IAAIlnC,QAAQ,SAAS2B;YAC/BxB,KAAK+P,aAAavO,MAAMulC,GAAGvlC;WAC1BxB;;IAGL,SAASqxB;QAEPxxB,QAAQG,KAAKmQ,YAAY,SAASjR;YAGhC,IAAIsC,OAAOgkC,qBAAqBzjC,KAAK/B,MAAMd,EAAEsC;YAC7C,IAAIA,MAAM;gBAIR,IAAItC,EAAE0C,MAAMtB,OAAO+lC,gBAAgB,GAAG;oBACpC;;gBAGF,IAAIa,eAAelnC,KAAKwB;gBAExB,IAAII,QAAQulC,iBAAiBjoC,EAAE0C,OAAOslC;gBAEtC,IAAItlC,UAAUslC,cAAc;oBAE1BlnC,KAAKwB,QAAQI;;;WAGhB5B;;IAIL,SAASwlC,qBAAqBhkC;QAE5B,IAAI4lC,aAAaznC,OAAOC,KAAKI,KAAKsmC;QAElC,OAAOc,WAAWA,WAAW9yB,IAAI+yB,WAAWlmC,QAAQK,KAAK0O;;IAG3D,IAAIm3B,YAAYt1B,OAAOlR,UAAUqP,YAAYnO,KAAKkW,KAChDlG,OAAOlR,UAAUqP;IAEnB,IAAIo3B;QACFC,QAAU,SAAS3lC;YACjB,OAAOA;;QAET4lC,MAAQ,SAAS5lC;YACf,OAAO,IAAIN,KAAKA,KAAKwlB,MAAMllB,UAAUN,KAAKkX;;QAE5CivB,WAAW,SAAS7lC;YAClB,IAAIA,UAAU,IAAI;gBAChB,OAAO;;YAGT,OAAOA,UAAU,UAAU,UAAUA;;QAEvC8lC,QAAU,SAAS9lC;YACjB,IAAI+lC,WAAWtjB,WAAWziB;YAE1B,OAAQmQ,OAAO41B,cAAc/lC,QAAS+lC,WAAW/lC;;QAEnD4U,QAAU,SAAS5U,OAAOslC;YACxB,KAAKA,cAAc;gBACjB,OAAOtlC;;YAGT;gBAIE,OAAOoa,KAAK8K,MAAMllB,MAAMoO,QAAQ,MAAM;cACtC,OAAMxQ;gBAEN,OAAOoC;;;;IAKb,SAASulC,iBAAiBvlC,OAAOslC;QAE/B,IAAIU,sBAAsBV;QAC1B,IAAIA,wBAAwB5lC,MAAM;YAChCsmC,eAAe;;QAGjB,OAAON,aAAaM,cAAchmC,OAAOslC;;IAK3C1H,QAAQnO,iBAAiBA;IACzBmO,QAAQ2B,oBAAoBA;IAC5B3B,QAAQgG,uBAAuBA;IAC/BhG,QAAQ0C,4BAA4BA;;;ACxKtC1C,QAAQqC,wBAAwB,SAASD;IAEvC,IAAIt3B,IAAItK,KAAKsK,IAAItK,KAAKsK;IAEtB,IAAIs3B,QAAQ;QACV,IAAIiG,QAAQjG,OAAOpzB,iBAAiB;QACpC3O,QAAQgoC,OAAO,SAASplC;YACtB6H,EAAE7H,EAAEizB,MAAMjzB;;;;;CCZhB;IAIE,IAAIuX,MAAM/Z,OAAOE;IAMjB,IAAI2nC,SAAS;IAEb,IAAI5G,kBAAkB,SAAS6G,cAAcpH;QAG3CA,YAAYqH,iBAAiBC,YAAYF;;IAG3C,IAAIE,cAAc,SAASF;QACzB,IAAIhU;QACJ,IAAIgU,cAAc;YAChB,KAAK,IAAIplC,IAAE,GAAGzD,GAAGA,IAAE6oC,aAAaplC,IAAIA,KAAK;gBACvC,IAAIzD,EAAEsC,KAAKjB,MAAM,GAAGunC,OAAOthC,WAAWshC,QAAQ;oBAC5C/T,OAAO70B,EAAEsC,KAAKjB,MAAMunC,OAAOthC,WAAWtH,EAAE0C;;;;QAI9C,OAAOmyB;;IAGT,IAAIgO,mBAAmB,SAASmG,QAAQC;QACtC,IAAIpU,SAASoU;QACbC,qBAAqBF,QAAQnU;QAC7BsU,sBAAsBH,QAAQnU;QAC9BuU,0BAA0BJ,QAAQnU;QAClC,OAAOA;;IAGT,IAAIqU,uBAAuB,SAASF,QAAQC;QAC1C,IAAIpB,KAAKmB,OAAO/3B;QAChB,IAAI42B,IAAI;YACN,KAAK,IAAIpkC,IAAE,GAAGzD,GAAIA,IAAE6nC,GAAGpkC,IAAKA,KAAK;gBAC/B,IAAIzD,EAAEsC,KAAKjB,MAAM,GAAGunC,OAAOthC,YAAYshC,QAAQ;oBAC7CS,gBAAgBrpC,EAAEsC,KAAKjB,MAAMunC,OAAOthC,SAAS2hC;;;;;IAMrD,IAAIK;QACFC,sBAAsB;QACtBC,oBAAoB;QACpBC,qBAAqB;QACrBC,aAAa;QACbC,YAAY;;IAGd,IAAIN,kBAAkB,SAAS9W,QAAQ0W;QACrC,IAAI1lC,IAAI+lC,mBAAmB/W,WAAWA;QACtC0W,SAAS1lC,KAAK;;IAGhB,IAAI4lC,wBAAwB,SAASH,QAAQC;QAC3C,IAAIW,MAAMZ,OAAO75B;QACjB,KAAK,IAAI1L,IAAE,GAAGF,GAAIA,IAAEqmC,IAAInmC,IAAKA,KAAK;YAEhCo/B,iBAAiBt/B,GAAG0lC;;;IAOxB,IAAIG,4BAA4B,SAASJ,QAAQC;QAC/C,IAAID,OAAO/hC,aAAa,YAAY;YAClC,IAAImM,UAAUy2B,mBAAmBb;YACjC,IAAI51B,SAAS;gBACX+1B,sBAAsB/1B,SAAS61B;;;;IAUrC,IAAIY,qBAAqB,SAASC;QAChC,OAAOA,WAAWznB,MAAMynB,WAAWznB,IAAIjP,UAAU02B,WAAW12B;;IAG9D,IAAI8vB,uBAAuB,SAAS+F;QAClC,IAAIpU,SAASoU;QAKb,IAAIhkC,IAAInE,KAAKqC;QACb,OAAO8B,KAAKA,MAAMvD,YAAYC,WAAW;YACvC,IAAIsD,EAAE9C,eAAe,mBAAmB;gBACtC,KAAK,IAAIoB,KAAK0B,EAAE6jC,gBAAgB;oBAC9BO,gBAAgB9lC,GAAGsxB;;;YAGvB5vB,IAAIA,EAAE9B;;QAER,OAAO0xB;;IAIT,SAASkV,sBAAsBf,QAAQC,UAAUe;QAC/C,IAAIjJ,KAAKiJ,WAAWjxB,KAAKjY;QACzB,KAAK,IAAIyC,KAAK0lC,UAAU;YACtBnuB,IAAI+Z,UAAUprB,QAAQqR,IAAI,8DAA8DkuB,OAAO/hC,aAAa,QAAQ1D;YACpHylC,OAAOt+B,iBAAiBnH,GAAGw9B;;;IAK/B,SAASoC,0BAA0B8F;QACjCc,sBAAsBlnC,KAAK/B,MAAMA,MAAMmoC,UAAUgB;;IAInD,SAASnH,2BAA2BkG,QAAQC;QAC1Cc,sBAAsBlnC,KAAK/B,MAAMkoC,QAAQC,UAAUiB;;IAUrD,IAAIC,iBAAiB,SAASnB;QAE5B,IAAIzlC,IAAIylC;QACR,OAAOzlC,EAAE4D,cAAc5D,EAAE0D,cAAc,eAAe;YACpD1D,IAAIA,EAAE4D;;QAER,OAAO5D,EAAEwQ;;IAGX,IAAIiwB,WAAW,SAASgF,QAAQoB,eAAelG;QAC7C,IAAI8E,QAAQ;YACVluB,IAAI+Z,UAAUprB,QAAQggB,MAAM,sBAAsBuf,OAAO/hC,WAAWmjC;YACpEpB,OAAOhF,SAASoG,eAAelG;YAC/BppB,IAAI+Z,UAAUprB,QAAQigB;;;IAI1B,SAASwgB,YAAYG;QACnB,IAAIA,QAAQC,cAAc;YACxB;;QAEFD,QAAQE,KAAK3B,SAASyB,QAAQniC;QAC9B4S,IAAI+Z,UAAUprB,QAAQggB,MAAM,0BAA0B3oB,KAAKmG,WACzDojC,QAAQE;QACV,KAAKF,QAAQv/B,QAAQ/J,OAAOgC,mBAAmB;YAC7CynC,uBAAuBH;eAClB;YACL,IAAInqC,IAAI;YACR8Y,MAAMrX,UAAU8oC,KAAK5nC,KAAKwnC,QAAQv/B,MAAM,SAASpF;gBAC/C,IAAIA,MAAM5E,MAAM;oBACd,OAAO;;gBAETZ,IAAIA,MAAMY,OAAOZ,IAAIiqC,eAAezkC;gBACpC,IAAIxF,GAAG;oBACL,IAAIoJ,YAAYzG,KAAK3C,GAAGwF,GAAG2kC,UAAU;wBACnC,OAAO;;;eAGVvpC;;QAELga,IAAI+Z,UAAUprB,QAAQigB;;IAWxB,SAAS8gB,uBAAuBH;QAC9BvvB,IAAI+Z,UAAUprB,QAAQqR,IAAI,kCAAkCuvB,QAAQniC;QACpE,IAAIxC,IAAI2kC,QAAQxiC,QAAQ3H,IAAI;QAC5B,OAAOwF,KAAKA,KAAK5E,MAAM;YACrBZ,IAAIA,MAAMY,OAAOZ,IAAIiqC,eAAezkC;YACpC,IAAIxF,GAAG;gBACL,IAAIoJ,YAAYzG,KAAK3C,GAAGwF,GAAG2kC,UAAU;oBACnC;;;YAGJ3kC,IAAIA,EAAEyB;;;IAIV,SAAS8iC,WAAWI;QAClB,IAAIA,QAAQC,cAAc;YACxB;;QAEFxvB,IAAI+Z,UAAUprB,QAAQggB,MAAM,yBAAyB3oB,KAAKmG,WAAWojC,QAAQniC;QAC7EwiC,gBAAgB7nC,KAAK/B,MAAMA,MAAMupC;QACjCvvB,IAAI+Z,UAAUprB,QAAQigB;;IAGxB,IAAIihB,oBAAoB,IAAI9oC,UAAU;IAEtC,SAAS+oC,uBAAuBP;QAC9B,IAAIQ,cAAcF,kBAAkB/nC,IAAIynC;QACxC,KAAKQ,aAAa;YAChBA;YACAF,kBAAkBloC,IAAI4nC,SAASQ;;QAEjC,OAAOA;;IAGT,SAASvhC,YAAY0/B,QAAQqB;QAC3B,IAAIrB,OAAO/3B,YAAY;YACrB,IAAI45B,cAAcD,uBAAuBP;YACzC,IAAIQ,YAAY5oC,QAAQ+mC,UAAU,GAAG;gBACnC6B,YAAYjjC,KAAKohC;gBACjB,IAAIrlC,IAAIqlC,OAAOp2B,aAAay3B,QAAQE;gBACpC,IAAI5mC,GAAG;oBACLmX,IAAI+Z,UAAUprB,QAAQqR,IAAI,gCAAgCha,KAAKmG,WAAWtD;oBAC1EqgC,SAASljC,MAAM6C,KAAI0mC,SAASA,QAAQr+B,QAAQg9B;;;;QAIlD,OAAOqB,QAAQC;;IAGjB,SAASI,gBAAgB1B,QAAQqB;QAC/B,IAAI1mC,IAAImnC,gBAAgBjoC,KAAKmmC,QAAQqB,QAAQniC;QAC7C,IAAIvE,GAAG;YACLmX,IAAI+Z,UAAUprB,QAAQqR,IAAI,qCAAqCkuB,OAAO/hC,WAAWtD;YACjFqgC,SAASgF,QAAQrlC,KAAI0mC,SAASA,QAAQr+B,QAAQg9B;;QAEhD,OAAOqB,QAAQC;;IAIjB,IAAIQ,kBAAkB,SAASC;QAG7B,IAAI9lC,IAAInE;QACR,OAAOmE,GAAG;YACR,IAAIA,EAAE9C,eAAe,mBAAmB;gBACtC,IAAIwB,IAAIsB,EAAE6jC,eAAeiC,gBAClB9lC,EAAE6jC,eAAeiC,YAAY/5B;gBACpC,IAAIrN,GAAG;oBACL,OAAOA;;;YAGXsB,IAAIA,EAAE9B;;;IAMZm9B,QAAQ0B,kBAAkBA;IAC1B1B,QAAQuC,mBAAmBA;IAC3BvC,QAAQ4C,uBAAuBA;IAC/B5C,QAAQ6C,4BAA4BA;IACpC7C,QAAQwC,6BAA6BA;;;CC3QrC;IAOE,IAAIhoB,MAAM/Z,OAAOE;IAEjB,IAAI+pC,iBAAiB;IAErB,SAASjI;QACP,KAAK,IAAI99B,KAAKnE,MAAM;YAClBmqC,gBAAgBpoC,KAAK/B,MAAMmE;;;IAI/B,SAASgmC,gBAAgB1Y;QACvB,IAAI2Y,aAAaroC,KAAK/B,MAAMyxB,SAAS;YACnCzX,IAAIpF,WAAWjM,QAAQqR,IAAI,MAAMha,KAAKmG,YAAY,iBAAiBsrB,SAAS;YAC5E,IAAI7T,WAAW,IAAIF,aAAa1d,MAAMyxB,QAAQ,SAAS4Y,OAAOC;gBAC5DtwB,IAAIvK,QAAQ9G,QAAQqR,IAAI,yCAAyCha,KAAKmG,WAAWnG,KAAKyjC,KAAK/N,MAAM,IAAIjE,QAAQzxB,KAAKyxB,SAAS6Y;gBAC3HC,gBAAgBxoC,KAAK/B,MAAMyxB,QAAQ6Y;cACnCryB,KAAKjY;YACPw/B,QAAQ0E,iBAAiBlkC,MAAM,YAAYyxB,QAAQ7T;;;IAIvD,SAASwsB,aAAa3Y;QACpB,OAAQA,OAAO,MAAM,SACZA,UAAU9xB,OAAOkB,cACnBiI,QAAQ9I,KAAKyxB,SAASyY;;IAG/B,SAASK,gBAAgB9Y,QAAQ+Y;QAE/B,IAAIvK,KAAKxO,SAASyY;QAClB,IAAIlqC,KAAKigC,KAAK;YACZjgC,KAAKigC,IAAIuK;;;IAKbhL,QAAQyC,oBAAoBA;;;CC3C9B;IAGE,IAAIjoB,MAAM/Z,OAAOE;IAEjB,IAAIsqC,MAAM3kC,KAAKxG;IAOf,SAAS8hC,cAAcR;QACrB8J,mBAAmB9J;QACnB+J,oBAAoB/J;;IAYtB,SAAS8J,mBAAmB9J;QAC1B,IAAIgK,SAASC,cAAcjK,gBAAgBkK,gBAAgB,SAASnmC;YAClE,QAAQA,EAAEia,aAAamsB;;QAEzB,IAAIz4B,UAAU04B,uBAAuBpK;QACrC,IAAItuB,SAAS;YAEX,IAAI24B,UAAU;YACdL,OAAO/qC,QAAQ,SAASqrC;gBACtBA,MAAM7kC,WAAW0G,YAAYm+B;gBAC7BD,WAAWE,iBAAiBD,SAAS;;YAEvC,IAAID,SAAS;gBACX34B,QAAQ5E,aAAa09B,mBAAmBH,UAAU34B,QAAQnF;;;;IAchE,SAASw9B,oBAAoB/J;QAC3ByK,kBAAkBC,iBAAiB1K,gBAAgB2K,qBACjDd,IAAI70B;;IAoBR,SAAS41B,wBAAwBrtB,SAASyiB;QACtC,KAAKA,eAAe6K,iBAAiB;YACnC7K,eAAe6K,kBAAkBH,iBAAiB1K,gBAChD8K;;QAEJ,IAAIC,eAAe/K,eAAe6K;QAClC,IAAIhM,QAAQmM,oBAAoBztB;QAEhC,IAAIshB,UAAUoM,qBAAqBpM,OAAOthB,SACxCutB,yBAAyB;YACzBlM,QAAQsM,yBAAwBH,gBAAextB,QAAQhY;YACvDklC,kBAAkBM,cAAclM;;;IAItC,SAASoM,qBAAqBpM,OAAOthB,SAAS4tB;QAC5C,OAAOtM,MAAMlxB,cAAc,WAAWy9B,wBAAwB,MAC5D7tB,QAAQhY,YAAY,MAAM4lC,aAAa;;IAG3C,SAASE,mBAAmBrL,gBAAgBmL;QAC1C,IAAId,UAAU;QAEd,IAAIiB,WAAW,MAAMnB,aAAa,MAAMgB,aAAa;QACrD,IAAII,UAAU,SAASxnC;YACrB,OAAOynC,gBAAgBznC,GAAGunC;;QAE5B,IAAItB,SAASC,cAAcjK,gBAAgBkK,gBAAgBqB;QAC3DvB,OAAO/qC,QAAQ,SAASqrC;YAEtBA,MAAM7kC,WAAW0G,YAAYm+B;YAC7BD,WAAWE,iBAAiBD,SAAS;;QAGvC,IAAImB,SAASxB,cAAcjK,gBAAgB0L,gBAAgBH;QAC3DE,OAAOxsC,QAAQ,SAASmX;YAEtBA,MAAM3Q,WAAW0G,YAAYiK;YAC7Bi0B,WAAWj0B,MAAM7I,cAAc;;QAEjC,OAAO88B;;IAGT,SAASK,iBAAiB1K,gBAAgBmL;QACxC,IAAId,UAAUgB,mBAAmBrL,gBAAgBmL;QACjD,IAAId,SAAS;YACX,IAAIj0B,QAAQo0B,mBAAmBH;YAC/Bj0B,MAAMjH,aAAai8B,uBAAuBpL,eAAe5S,QAAQxsB,OACjE,MAAMuqC;YACN,OAAO/0B;;;IAIX,SAAS6zB,cAAcjK,gBAAgBsL,UAAUC;QAC/C,IAAItE,QAAQ0E,kBAAkB3L,eAC3BpyB,iBAAiB09B;QACpB,IAAI55B,UAAU04B,uBAAuBpK;QACrC,IAAItuB,SAAS;YACX,IAAIk6B,gBAAgBD,kBAAkBj6B,QACnC9D,iBAAiB09B;YACpBrE,QAAQA,MAAM3rB,OAAOswB;;QAEvB,OAAO3E,MAAM/0B,OAAOq5B;;IAEtB,SAASP,oBAAoBnI;QAE3B,IAAIhhC,IAAIghC;QACR,OAAOhhC,EAAE4D,YAAY;YACnB5D,IAAIA,EAAE4D;;QAER,OAAO5D,KAAKgoC,MAAMA,IAAI70B,OAAOnT;;IAG/B,SAAS2oC,mBAAmBH;QAC1B,IAAIj0B,QAAQ1X,SAASiR,cAAc;QACnCyG,MAAM7I,cAAc88B;QACpB,OAAOj0B;;IAGT,SAASm0B,iBAAiBD;QACxB,OAAQA,SAASA,MAAMpgB,cAAe;;IAGxC,SAASugB,kBAAkBr0B,OAAOyoB;QAChC,IAAIzoB,OAAO;YACT,IAAIy1B,QAAQz1B,MAAM1I,UAAU;YAK5Bm+B,MAAMt+B,cAAc6I,MAAM7I;YAC1BsxB,MAAMnyB,YAAYm/B;;;IAItB,IAAIC,WAAW9rC,YAAYC;IAC3B,IAAI6N,UAAUg+B,SAASh+B,WAAWg+B,SAASN,mBACvCM,SAAS98B,yBAAyB88B,SAASh9B;IAC/C,SAAS08B,gBAAgB3I,MAAMkJ;QAC7B,IAAIj+B,SAAS;YACX,OAAOA,QAAQ3M,KAAK0hC,MAAMkJ;;;IAI9B,SAAS3B,uBAAuBpK;QAC9B,IAAIvf,WAAWuf,eAAeryB,cAAc;QAC5C,OAAO8S,YAAYxJ,gBAAgBwJ;;IAGrC,IAAIirB,iBAAiB;IACrB,IAAIxB,iBAAiB;IACrB,IAAIkB,wBAAwB;IAC5B,IAAIT,qBAAqB;IACzB,IAAIG,yBAAyB;IAC7B,IAAIX,aAAa;IACjB,SAASwB,kBAAkBK;QACzB,OAAO10B,MAAMrX,UAAUN,MAAMwB,KAAK6qC,gBAAgB;;IAIpDpN,QAAQ4B,gBAAgBA;IACxB5B,QAAQgM,0BAA0BA;;;CCnEpC,SAAU/L;IAEV,IAAI5/B,UAAUqY,MAAMrX,UAAUhB,QAAQkC,KAAKkW,KAAKC,MAAMrX,UAAUhB;IAChE,IAAIqc,SAAShE,MAAMrX,UAAUqb,OAAOna,KAAKkW,KAAKC,MAAMrX,UAAUqb;IAC9D,IAAI3b,QAAQ2X,MAAMrX,UAAUN,MAAMwB,KAAKkW,KAAKC,MAAMrX,UAAUN;IAE5D,IAAIssC;QACFC,YAAY;QACZC,YAAY;QACZC,eAAe;QACfC,eAAe;QACfC,cAAc;QACdC,sBAAsB;QACtBC,aAAa;QACbC,kBAAkB;QAClBC,QAAQ;QACRnjB;QACAkX,aAAa,SAASljB;YACpB,IAAIle,OAAOgC,qBAAqBkc,SAAS;gBAGvC,IAAI3c,OAAO2c,QAAQ6P,QAAQxsB;gBAC3BqrC,SAASU,gBAAgBpvB;gBACzB0uB,SAASf,uBAAuB3tB,QAAQkuB,QAAQ7qC;gBAEhD,IAAIg+B,QAAQgO,uBAAuB;oBACjCX,SAASY,oBAAoBtvB,QAAQtG,iBAAiBrW;;gBAExDqrC,SAASa,cAAcb,SAASc,iBAAiBxvB,UAAU3c;;;QAO/DosC,sBAAsB,SAASvB,QAAQ7qC;YACrC,IAAIvB,OAAOgC,mBAAmB;gBAC5B4qC,SAASf,uBAAuBO,QAAQ7qC;gBACxCqrC,SAASa,cAAcrB,QAAQ7qC;;;QAGnCksC,eAAe,SAASrB,QAAQ7qC;YAC9B,IAAIypC,UAAUjrC,KAAK6tC,WAAWxB,QAAQ7qC;YACtCypC,WAAWjrC,KAAK8tC,YAAYzB,QAAQ7qC;YACpCxB,KAAK+tC,iBAAiB9C;;QAExBsC,iBAAiB,SAASpvB;YACxB,IAAI3c,OAAO2c,QAAQ6P,QAAQxsB;YAC3B,IAAI6f,WAAWlD,QAAQ5P,cAAc;YACrC,IAAI+D,UAAU+O,YAAYxJ,gBAAgBwJ;YAC1C,IAAIgrB,SAAS/5B,WAAWA,QAAQ9D,iBAAiB;YACjD2P,QAAQkuB,SAASA,SAAS9rC,MAAM8rC;YAChCluB,QAAQtG,kBAAkBvF;YAC1Bu6B,SAAS1iB,MAAM3oB,QAAQ2c;;QAEzBsvB,qBAAqB,SAASjM,MAAMhgC;YAClC,IAAIggC,MAAM;gBACR3hC,QAAQ2hC,KAAKhzB,iBAAiB,MAAM,SAASi1B;oBAC3CA,KAAK1zB,aAAavO,MAAM;;gBAE1B3B,QAAQ2hC,KAAKhzB,iBAAiB,aAAa,SAAS6S;oBAClDrhB,KAAKytC,oBAAoB51B,gBAAgBwJ,WAAW7f;mBACnDxB;;;QAGP2tC,kBAAkB,SAASxvB;YACzB,IAAIkuB,SAASluB,QAAQkuB;YACrB,IAAI5rC,SAAS0d,QAAQtG,mBACnBsG,QAAQtG,gBAAgBtJ,cAAc;YACxC,IAAI9N,UAAW0d,QAAQtG,oBAAoB,MAAO;gBAChD,IAAIm2B,WAAWhuC,KAAKiuC,aAAa9vB,QAAQ6P,QAAQxsB;gBACjD,IAAIwsC,UAAU;oBACZ,IAAIE,iBAAiBluC,KAAK2tC,iBAAiBK;oBAC3C3B,SAASnwB,OAAO3b,MAAM2tC,iBAAiB3tC,MAAM8rC;;;YAGjD,OAAOA;;QAET4B,cAAc,SAASzsC;YACrB,IAAI2c,UAAUne,KAAKmqB,MAAM3oB;YACzB,OAAO2c,WAAWne,KAAKmqB,MAAMhM,QAAQ6P,QAAQ0B;;QAgB/Coc,wBAAwB,SAASO,QAAQ7qC;YACvC,IAAIvB,OAAOgC,mBAAmB;gBAC5B,IAAIoqC,QAAQ;oBACVxsC,QAAQwsC,QAAQ,SAAS1nC;wBACvBA,EAAEwJ,cAAcnO,KAAKmuC,0BAA0BxpC,EAAEwJ,aAAa3M;uBAC7DxB;;;;QAMT6tC,YAAY,SAASxB,QAAQ7qC;YAC3B,IAAI6qC,QAAQ;gBACV,OAAOrsC,KAAKouC,oBAAoB/B,QAAQ7qC;;;QAW5CssC,aAAa,SAASzB,QAAQ7qC;YAC5B,IAAI6qC,QAAQ;gBACV,OAAOrsC,KAAKquC,oBAAoBhC,QAAQ7qC;;;QAG5C2sC,2BAA2B,SAASlD,SAASzpC;YAC3C,IAAIkD,IAAI,IAAIhB,IAAI,GAAGgL,SAASw9B;YAC5B,OAAOx9B,UAAQ1O,KAAKmtC,qBAAqBrW,KAAKmU,UAAU;gBACtDvmC,KAAKumC,QAAQqD,UAAU5qC,GAAGgL,QAAQkN;gBAElCswB,WAAWx9B,QAAQ,GAAGnO,MAAM,IAAI,GAAGyP,QAAQhQ,KAAKstC,QAAQ9rC;gBACxDkD,KAAK1E,KAAKuuC,cAAcrC,UAAU1qC,QAAQ;gBAC1CkC,IAAI1D,KAAKmtC,qBAAqBqB;;YAEhC9pC,KAAKumC,QAAQqD,UAAU5qC,GAAGunC,QAAQzkC;YAClC,OAAO9B;;QAKT+pC,iBAAiB,SAASC,UAAUvC;YAClC,OAAOj0B,MAAMrX,UAAUiS,OAAO/Q,KAAK2sC,UACjC1uC,KAAK2uC,WAAW12B,KAAKjY,MAAMmsC;;QAE/BwC,YAAY,SAASxC,SAASyC;YAC5B,OAAQA,QAAQC,gBAAgBD,QAAQC,aAAa9nB,MAAMolB,YACxDyC,QAAQF,YAAY1uC,KAAKyuC,gBAAgBG,QAAQF,UAAUvC,SAAS3lC,UACpEooC,QAAQxnC,QAAQ0nC,QAAQC;;QAE7BX,qBAAqB,SAAS/B,QAAQ7qC;YACpC,IAAIypC,UAAUjrC,KAAKgvC,gBAAgB3C;YACnC,IAAI3nC,IAAI,IAAIhB,IAAE,GAAGgL;YACjB,OAAOA,UAAQ1O,KAAK8sC,WAAWhW,KAAKmU,UAAU;gBAC5CvmC,KAAKumC,QAAQqD,UAAU5qC,GAAGgL,QAAQkN;gBAClClX,KAAK1E,KAAKivC,aAAavgC,QAAQ,IAAIlN;gBACnCkC,IAAI1D,KAAK8sC,WAAW0B;;YAEtB9pC,KAAKumC,QAAQqD,UAAU5qC,GAAGunC,QAAQzkC;YAClC,IAAIumC,aAAa,IAAI35B,OAAO,MAAM5R,OAAOxB,KAAKqtC,kBAAkB;YAChE,IAAIpC,UAAUjrC,KAAKkvC,WAAWlvC,KAAKyuC,gBAAgBzuC,KAAKmvC,WAAWzqC,IACjEqoC;YACF,OAAO9B;;QAETgE,cAAc,SAAShE,SAASzpC;YAC9B,IAAIkD,IAAI,IAAIgK;YACZ,OAAOA,UAAU1O,KAAK+sC,WAAWjW,KAAKmU,UAAU;gBAC9CvmC,KAAK1E,KAAKovC,kBAAkB1gC,QAAQ,IAAIlN,QAAO,MAAMkN,QAAQ,KAAK;;YAEpE,OAAOhK;;QAGT0qC,mBAAmB,SAASlD,UAAU1qC;YACpC,IAAIkD,QAAQ2qC,QAAQnD,SAAS1rC,MAAM,MAAMqvB,KAAK,SAASruB,OAAO;YAC9D6tC,MAAMxvC,QAAQ,SAASsE;gBACrBA,IAAIA,EAAE4O;gBAEN,IAAI5O,EAAE4iB,MAAM/mB,KAAKgtC,gBAAgB;oBAC/B7oC,IAAIA,EAAE6L,QAAQhQ,KAAKgtC,eAAexrC,OAAO,WAAWquB,KAAK;uBAEpD,IAAI1rB,EAAE4iB,MAAM/mB,KAAKitC,gBAAgB;oBACtC9oC,IAAI3C,OAAO2C,IAAI,OAAO0rB,KAAK1rB;;gBAE7BO,EAAEoC,KAAK3C;eACNnE;YACH,OAAO0E,EAAE2O,KAAK;;QAEhBg7B,qBAAqB,SAAShC,QAAQ7qC;YACpC3B,QAAQwsC,QAAQ,SAAS1nC;gBACvB,IAAIA,EAAE0B,YAAY;oBAChB1B,EAAE0B,WAAW0G,YAAYpI;;;YAG7B,IAAIsmC,UAAUjrC,KAAKgvC,gBAAgB3C,QAAQr8B,QAAQhQ,KAAK8sC,YAAY;YACpE7B,UAAUjrC,KAAKsvC,eAAerE;YAC9B,IAAIsE,QAAQvvC,KAAKmvC,WAAWlE;YAC5BA,UAAUjrC,KAAKwvC,WAAWD,OAAO/tC;YACjC,OAAOypC;;QAETqE,gBAAgB,SAASrE;YACvB,OAAOA,QAAQj7B,QAAQhQ,KAAKotC,aAAa;;QAG3CoC,YAAY,SAASd,UAAUltC;YAC7B,IAAIypC,UAAU;YACdprC,QAAQ6uC,UAAU,SAASjc;gBACzB,IAAIA,KAAKoc,gBAAiBpc,KAAKzb,SAASyb,KAAKzb,MAAMi0B,SAAU;oBAC3DA,WAAWjrC,KAAKuuC,cAAc9b,KAAKoc,cAAcrtC,MAC/Cg+B,QAAQgO,yBAAyB;oBACnCvC,WAAWjrC,KAAKyvC,mBAAmBhd,QAAQ;uBACtC,IAAIA,KAAKid,OAAO;oBACrBzE,WAAW,YAAYxY,KAAKid,MAAMC,YAAY;oBAC9C1E,WAAWjrC,KAAKwvC,WAAW/c,KAAKic,UAAUltC;oBAC1CypC,WAAW;uBACN,IAAIxY,KAAKwY,SAAS;oBACvBA,WAAWxY,KAAKwY,UAAU;;eAE3BjrC;YACH,OAAOirC;;QAETwE,oBAAoB,SAAShd;YAC3B,IAAI2U,aAAa3U,KAAKzb,MAAMi0B;YAG5B,IAAIxY,KAAKzb,MAAM1E,YAAYmgB,KAAKzb,MAAM1E,QAAQyU,MAAM,UAAU;gBAC5DqgB,aAAa,eAAgB3U,KAAKzb,MAAM1E,UAAU,SAChDmgB,KAAKzb,MAAMi0B,QAAQj7B,QAAQ,mBAAmB;;YAElD,OAAOo3B;;QAETwI,sBAAsB,SAAS1D,UAAU1qC;YACvC,IAAIquC,aAAa,MAAMruC,OAAO,YAAYA,OAAO;YACjD,IAAIurC,aAAa,IAAI35B,OAAO,MAAMy8B,aAAa7vC,KAAKqtC,kBAAkB;YACtE,QAAQnB,SAASnlB,MAAMgmB;;QAEzBwB,eAAe,SAASrC,UAAU1qC,MAAMsuC;YACtC,IAAIprC,QAAQ2qC,QAAQnD,SAAS1rC,MAAM;YACnC6uC,MAAMxvC,QAAQ,SAASsE;gBACrBA,IAAIA,EAAE4O;gBACN,IAAI/S,KAAK4vC,qBAAqBzrC,GAAG3C,OAAO;oBACtC2C,IAAI2rC,SAAS9vC,KAAK+vC,yBAAyB5rC,GAAG3C,QAC5CxB,KAAKgwC,yBAAyB7rC,GAAG3C;;gBAErCkD,EAAEoC,KAAK3C;eACNnE;YACH,OAAO0E,EAAE2O,KAAK;;QAGhB28B,0BAA0B,SAAS9D,UAAU1qC;YAC3C,OAAOA,OAAO,MAAM0qC,WAAW,OAAO,SAAS1qC,OAAO,OAAO0qC;;QAI/D6D,0BAA0B,SAAS7D,UAAU1qC;YAC3C,IAAIyuC,WAAU,KAAK,KAAK,KAAK,OAC3BC,SAAShE,UACT/c,WAAW,MAAM3tB,OAAO;YAC1ByuC,OAAOpwC,QAAQ,SAASswC;gBACtB,IAAId,QAAQa,OAAO1vC,MAAM2vC;gBACzBD,SAASb,MAAM/6B,IAAI,SAASnQ;oBAC1B,IAAIS,IAAIT,EAAE4O;oBACV,IAAInO,KAAMqrC,OAAO9uC,QAAQyD,KAAK,KAAOA,EAAEzD,QAAQguB,YAAY,GAAI;wBAC7DhrB,IAAIS,EAAEoL,QAAQ,mBAAmB,OAAOmf,WAAW;;oBAErD,OAAOhrB;mBACNkP,KAAK88B;;YAEV,OAAOD;;QAETlB,iBAAiB,SAAS3C,QAAQ+D;YAChC,IAAInF,UAAU;YACdprC,QAAQwsC,QAAQ,SAAS1nC;gBACvBsmC,WAAWtmC,EAAEwJ,cAAc;;YAG7B,KAAKiiC,kBAAkB;gBACrBnF,UAAUjrC,KAAKqwC,iBAAiBpF;;YAElC,OAAOA;;QAEToF,kBAAkB,SAASpF;YACzB,OAAOA,QAAQj7B,QAAQhQ,KAAKktC,cAAc;;QAE5CiC,YAAY,SAASlE;YACnB,IAAIj0B,QAAQ1X,SAASiR,cAAc;YACnCyG,MAAM7I,cAAc88B;YACpB3rC,SAASsW,KAAKtI,YAAY0J;YAC1B,IAAIu4B,QAAQv4B,MAAMk0B,MAAMwD;YACxB13B,MAAM3Q,WAAW0G,YAAYiK;YAC7B,OAAOu4B;;QAETL,YAAY,SAASR;YACnB,KAAK,IAAI/rC,IAAE,GAAG2tC,UAAQ3tC,IAAI+rC,SAASloC,QAAQ7D,KAAK;gBAC9C2tC,IAAIxpC,KAAK4nC,SAAS/rC,GAAGsoC;;YAEvB,OAAOqF,IAAIj9B,KAAK;;QAElB06B,kBAAkB,SAAS9C;YACzB,IAAIA,SAAS;gBACXjrC,KAAKuwC,WAAWjjC,YAAYhO,SAAS8O,eAAe68B;;;QAIxDsF,UAAU;YACR,KAAKvwC,KAAKkrC,OAAO;gBACflrC,KAAKkrC,QAAQ5rC,SAASiR,cAAc;gBACpCvQ,KAAKkrC,MAAMn7B,aAAa,oBAAoB;;YAE9C,OAAO/P,KAAKkrC;;QAEdsF,oBAAoB;YAClBxwC,KAAK+tC,iBAAiB;YACtB,IAAIn4B,OAAOtW,SAASiP,cAAc;YAClCqH,KAAKlI,aAAa1N,KAAKuwC,YAAY36B,KAAKvH,WAAW;;;IAKvD,IAAIpO,OAAOgC,mBAAmB;QAC5B4qC,SAAS2D;;IAIXhR,QAAQ6B,cAAcwL,SAASxL;IAC/B7B,QAAQoO,uBAAuBf,SAASe;IACxCpO,QAAQsM,yBAAyBe,SAASf,uBAAuB7zB,KAAK40B;IACtErN,QAAQgO,wBAAwB;GAE7BvtC;;CCxcH;IAEE,SAAS4gC,eAAeF,aAAaD;QACnC,IAAIc,OAAOiP,gBAAgB/P;QAC3BC,YAAY+P,cAAc,SAAS5L;YACjC,OAAOtD,OAAOsD;;;IAIlB,SAAS5Y,UAAUykB;QACjB,IAAIA,OAAO;YACT,IAAItB,QAAQsB,MAAMnwC,MAAM;YACxB6uC,MAAMpoC;YACNooC,MAAMvoC,KAAK;YACX,OAAOuoC,MAAMh8B,KAAK;eACb;YACL,OAAO;;;IAIX,SAASo9B,gBAAgB/P;QACvB,OAAOxU,UAAUhD,YAAY0C,eAAe8U,UAAUtzB;;IAIxDoyB,QAAQqB,iBAAiBA;;;CCzB3B;IAWE,IAAI+P,MAAM,SAASpf;QACjBxxB,KAAK0xB,UAAUF;;IAEjBof,IAAI/vC;QACFgwC,IAAI,SAASC,YAAYC;YACvB/wC,KAAKua,WAAWu2B;YAChB9wC,KAAKgxC,SAASp4B,WAAW;gBACvB5Y,KAAKgxC,SAAS;gBACdF,WAAW/uC,KAAK/B,KAAK0xB;cACrBzZ,KAAKjY,OAAO+wC;;QAEhB7K,MAAM;YACJ,IAAIlmC,KAAKgxC,QAAQ;gBACfh4B,aAAahZ,KAAKgxC;gBAClBhxC,KAAKgxC,SAAS;;;QAGlBC,UAAU;YACR,IAAIjxC,KAAKgxC,QAAQ;gBACfhxC,KAAKkmC;gBACLlmC,KAAKua,SAASxY,KAAK/B,KAAK0xB;;;;IAK9B,SAASoR,IAAIoO,OAAOJ,YAAYC;QAC9B,IAAIjO,MAAMoO,SAAS,IAAIN,IAAI5wC;QAC3B8iC,IAAIoD;QACJpD,IAAI+N,GAAGC,YAAYC;QACnB,OAAOjO;;IAGTtD,QAAQsD,MAAMA;;;CC3ChB,SAAUrD;IAGV,IAAIzoB,QAAQ1X,SAASiR,cAAc;IACnCyG,MAAM7I,cAAc;IACpB,IAAIyH,OAAOtW,SAASiP,cAAc;IAClCqH,KAAKlI,aAAasJ,OAAOpB,KAAKzI;IAE9BlN,OAAO2J,iBAAiB,sBAAsB;QAC5CtK,SAAS2V,KAAK+B,MAAMm6B,mBAAmB;QACvC7xC,SAAS2V,KAAK+B,MAAMo6B,UAAU"} \ No newline at end of file diff --git a/src/attrs.js b/src/attrs.js index ac6a325425..7616a6a21b 100644 --- a/src/attrs.js +++ b/src/attrs.js @@ -5,16 +5,16 @@ */ (function() { - + // imports - + var bindPattern = Polymer.bindPattern; - + // constants - + var published$ = '__published'; var attributes$ = 'attributes'; - var attrProps$ = 'publish'; + var attrProps$ = 'publish'; //var attrProps$ = 'attributeDefaults'; function publishAttributes(element, prototype) { @@ -39,8 +39,8 @@ } // our suffix prototype chain (inPrototype is 'own') var inherited = inElement.options.prototype; - // install 'attributes' properties on the prototype, unless they - // are already defaulted + // install 'attributes' as properties on the prototype, but don't + // override Object.keys(published).forEach(function(p) { if (!(p in inPrototype) && !(p in inherited)) { inPrototype[p] = published[p]; @@ -54,10 +54,10 @@ inPrototype[p] = imperative[p]; }); // combine declaratively and imperatively published properties - published = mixin(published, imperative); + published = Platform.mixin(published, imperative); } // combine with inherited published properties - inPrototype[published$] = mixin( + inPrototype[published$] = Platform.mixin( {}, inherited[published$], published @@ -66,22 +66,22 @@ function publishInstanceAttributes(element, prototype) { // our suffix prototype chain (prototype is 'own') - var inherited = element.options.prototype, attributes = element.attributes; - var a$ = prototype.instanceAttributes = Object.create(inherited.instanceAttributes || null); + var inherited = element.options.prototype; + var attributes = element.attributes; + var a$ = prototype.instanceAttributes = + Object.create(inherited.instanceAttributes || null); for (var i=0, l=attributes.length, a; (i from generating a 404. - root.appendChild(template.createInstance(this, 'Polymer')); + root.appendChild(template.createInstance(this, Polymer.expressionSyntax)); rootCreated.call(this, root); return root; } @@ -97,10 +102,10 @@ CustomElements.takeRecords(); // parse and apply MDV bindings // locate nodes with id and store references to them in this.$ hash - Polymer.marshalNodeReferences.call(this, inRoot); + scope.marshalNodeReferences.call(this, inRoot); // add local events of interest... - var rootEvents = Polymer.accumulateEvents(inRoot); - Polymer.bindAccumulatedLocalEvents.call(this, inRoot, rootEvents); + var rootEvents = scope.accumulateEvents(inRoot); + scope.bindAccumulatedLocalEvents.call(this, inRoot, rootEvents); // set up gestures PointerGestures.register(inRoot); PointerEventsPolyfill.setTouchAction(inRoot, @@ -110,19 +115,52 @@ function instanceReady(inElement) { // install property observation side effects // do this first so we can observe changes during initialization - Polymer.observeProperties.call(this); + scope.observeProperties.call(this); // install boilerplate attributes - Polymer.installInstanceAttributes.call(this); + scope.installInstanceAttributes.call(this); // process input attributes - Polymer.takeAttributes.call(this); + scope.takeAttributes.call(this); // add host-events... - var hostEvents = Polymer.accumulateHostEvents.call(this); - Polymer.bindAccumulatedHostEvents.call(this, hostEvents); + var hostEvents = scope.accumulateHostEvents.call(this); + scope.bindAccumulatedHostEvents.call(this, hostEvents); + // asynchronously unbindAll... will be cancelled if inserted + this.asyncUnbindAll(); // invoke user 'ready' if (this.ready) { this.ready(); } }; + + function insertedCallback() { + this.cancelUnbindAll(true); + // invoke user 'inserted' + if (this.inserted) { + this.inserted(); + } + } + + function removedCallback() { + this.asyncUnbindAll(); + // invoke user 'removed' + if (this.removed) { + this.removed(); + } + } + + function attributeChangedCallback() { + if (this.attributeChanged) { + this.attributeChanged.apply(this, arguments); + } + } + + function hintSuper(prototype) { + Object.getOwnPropertyNames(prototype).forEach(function(n) { + var d = Object.getOwnPropertyDescriptor(prototype, n); + if (typeof d.value == 'function') { + d.value.nom = n; + } + }); + } // user utility @@ -141,10 +179,8 @@ // exports - window.Polymer = { - register: register, - findDistributedTarget: findDistributedTarget, - instanceReady: instanceReady - }; + scope.register = register; + scope.findDistributedTarget = findDistributedTarget; + scope.instanceReady = instanceReady; -})(); +})(Polymer); diff --git a/src/shimStyling.js b/src/shimStyling.js index 1cc564f11a..9f91351b0b 100644 --- a/src/shimStyling.js +++ b/src/shimStyling.js @@ -36,11 +36,33 @@ background: red; } - * functional encapsultion: Styles defined within shadowDOM, apply only to - dom inside the shadowDOM. To shim this feature, non-@host rules within - style elements are prefixed with a given scope name. Thus, they apply via - a descendent selector to the dom inside the shadowRoot. - For example, given a scope name of .foo, a rule like this: + * encapsultion: Styles defined within shadowDOM, apply only to + dom inside the shadowDOM. Polymer uses one of two techniques to imlement + this feature. + + By default, rules are prefixed with the host element tag name + as a descendant selector. This ensures styling does not leak out of the 'top' + of the element's shadowDOM. For example, + + div { + font-weight: bold; + } + + becomes: + + x-foo div { + font-weight: bold; + } + + becomes: + + + Alternatively, if Polymer.strictPolyfillStyling is set to true then + selectors are scoped by adding an attribute selector suffix to each + simple selector that contains the host element tag name. Each element + in the element's shadowDOM template is also given the scope attribute. + Thus, these rules match only elements that have the scope attribute. + For example, given a scope name of x-foo, a rule like this: div { font-weight: bold; @@ -48,9 +70,25 @@ becomes: - .foo div { + div[x-foo] { font-weight: bold; } + + Note that elements that are dynamically added to a scope must have the scope + selector added to them manually. + + * ::pseudo: These rules are converted to rules that take advantage of the + pseudo attribute. For example, a shadowRoot like this inside an x-foo + +
Special
+ + with a rule like this: + + x-foo::x-special { ... } + + becomes: + + x-foo [pseudo=x-special] { ... } Unaddressed shadowDOM styling features: @@ -94,18 +132,6 @@ Note the use of @polyfill in the comment above a shadowDOM specific style declaration. This is a directive to the styling shim to use the selector in comments in lieu of the next selector when running under polyfill. - - * ::pseudo: This behavior is not emulated. Users can create an extra - rule to target the pseudo node directly. Given a shadowRoot like this: - -
Special
- - This can be styled using native and polyfilled shadowDOM as follows: - - / *@polyfill x-foo [pseudo=x-special] * / - x-foo::x-special { - color: orange; - } */ (function(scope) { @@ -116,9 +142,11 @@ var slice = Array.prototype.slice.call.bind(Array.prototype.slice); var stylizer = { hostRuleRe: /@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim, selectorRe: /([^{]*)({[\s\S]*?})/gim, + hostElementRe: /(.*)((?:\*)|(?:\:scope))(.*)/, hostFixableRe: /^[.\[:]/, cssCommentRe: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, cssPolyfillCommentRe: /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim, + cssPseudoRe: /::(x-[^\s{,(]*)/gim, selectorReSuffix: '([>\\s~+\[.,{:][\\s\\S]*)?$', hostRe: /@host/gim, cache: {}, @@ -130,6 +158,9 @@ var stylizer = { stylizer.cacheDefinition(element); stylizer.shimPolyfillDirectives(element.styles, name); // find styles and apply shimming... + if (Polymer.strictPolyfillStyling) { + stylizer.applyScopeToContent(element.templateContent, name); + } stylizer.applyShimming(stylizer.stylesForElement(element), name); } }, @@ -144,10 +175,10 @@ var stylizer = { } }, applyShimming: function(styles, name) { - this.shimAtHost(styles, name); - this.shimScoping(styles, name); + var cssText = this.shimAtHost(styles, name); + cssText += this.shimScoping(styles, name); + this.addCssToDocument(cssText); }, - //TODO(sorvell): use SideTable cacheDefinition: function(element) { var name = element.options.name; var template = element.querySelector('template'); @@ -157,6 +188,16 @@ var stylizer = { element.templateContent = content; stylizer.cache[name] = element; }, + applyScopeToContent: function(root, name) { + if (root) { + forEach(root.querySelectorAll('*'), function(node) { + node.setAttribute(name, ''); + }); + forEach(root.querySelectorAll('template'), function(template) { + this.applyScopeToContent(templateContent(template), name); + }, this); + } + }, stylesForElement: function(element) { var styles = element.styles; var shadow = element.templateContent && @@ -201,8 +242,7 @@ var stylizer = { // becomes: scopeName.foo { declarations } shimAtHost: function(styles, name) { if (styles) { - var cssText = this.convertAtHostStyles(styles, name); - this.addCssToDocument(cssText); + return this.convertAtHostStyles(styles, name); } }, /* Ensure styles are scoped. Pseudo-scoping takes a rule like: @@ -215,15 +255,16 @@ var stylizer = { */ shimScoping: function(styles, name) { if (styles) { - this.applyPseudoScoping(styles, name); + return this.convertScopedStyles(styles, name); } }, convertPolyfillDirectives: function(cssText, name) { - var r = '', l = 0, matches; + var r = '', l = 0, matches, selector; while (matches=this.cssPolyfillCommentRe.exec(cssText)) { r += cssText.substring(l, matches.index); // remove end comment delimiter (*/) - r += matches[1].slice(0, -2) + '{'; + selector = matches[1].slice(0, -2).replace(this.hostRe, name); + r += this.scopeSelector(selector, name) + '{'; l = this.cssPolyfillCommentRe.lastIndex; } r += cssText.substring(l, cssText.length); @@ -262,43 +303,48 @@ var stylizer = { } return r; }, + // supports scopig by name and [is=name] syntax scopeHostSelector: function(selector, name) { - var r = [], parts = selector.split(','); + var r = [], parts = selector.split(','), is = '[is=' + name + ']'; parts.forEach(function(p) { p = p.trim(); - // selector: * -> name - if (p.indexOf('*') >= 0) { - p = p.replace('*', name); + // selector: *|:scope -> name + if (p.match(this.hostElementRe)) { + p = p.replace(this.hostElementRe, name + '$1$3, ' + is + '$1$3'); // selector: .foo -> name.foo, [bar] -> name[bar] } else if (p.match(this.hostFixableRe)) { - p = name + p; + p = name + p + ', ' + is + p; } r.push(p); }, this); return r.join(', '); }, - applyPseudoScoping: function(styles, name) { + convertScopedStyles: function(styles, name) { forEach(styles, function(s) { if (s.parentNode) { s.parentNode.removeChild(s); } }); - // TODO(sorvell): remove @host rules (use cssom rather than regex?) var cssText = this.stylesToCssText(styles).replace(this.hostRuleRe, ''); + cssText = this.convertPseudos(cssText); var rules = this.cssToRules(cssText); - var cssText = this.pseudoScopeRules(rules, name); - this.addCssToDocument(cssText); + cssText = this.scopeRules(rules, name); + return cssText; + }, + convertPseudos: function(cssText) { + return cssText.replace(this.cssPseudoRe, ' [pseudo=$1]'); }, // change a selector like 'div' to 'name div' - pseudoScopeRules: function(cssRules, name) { + scopeRules: function(cssRules, name) { var cssText = ''; forEach(cssRules, function(rule) { if (rule.selectorText && (rule.style && rule.style.cssText)) { - cssText += this.pseudoScopeSelector(rule.selectorText, name) + ' {\n\t'; - cssText += rule.style.cssText + '\n}\n\n'; + cssText += this.scopeSelector(rule.selectorText, name, + Polymer.strictPolyfillStyling) + ' {\n\t'; + cssText += this.propertiesFromRule(rule) + '\n}\n\n'; } else if (rule.media) { cssText += '@media ' + rule.media.mediaText + ' {\n'; - cssText += this.pseudoScopeRules(rule.cssRules, name); + cssText += this.scopeRules(rule.cssRules, name); cssText += '\n}\n\n'; } else if (rule.cssText) { cssText += rule.cssText + '\n\n'; @@ -306,13 +352,55 @@ var stylizer = { }, this); return cssText; }, - pseudoScopeSelector: function(selector, name) { + propertiesFromRule: function(rule) { + var properties = rule.style.cssText; + // TODO(sorvell): Chrome cssom incorrectly removes quotes from the content + // property. (https://code.google.com/p/chromium/issues/detail?id=247231) + if (rule.style.content && !rule.style.content.match(/['"]+/)) { + properties = 'content: \'' + rule.style.content + '\';\n' + + rule.style.cssText.replace(/content:[^;]*;/g, ''); + } + return properties; + }, + selectorNeedsScoping: function(selector, name) { + var matchScope = '(' + name + '|\\[is=' + name + '\\])'; + var selectorRe = new RegExp('^' + matchScope + this.selectorReSuffix, 'm'); + return !selector.match(selectorRe); + }, + scopeSelector: function(selector, name, strict) { var r = [], parts = selector.split(','); parts.forEach(function(p) { - r.push(name + ' ' + p.trim()); - }); + p = p.trim(); + if (this.selectorNeedsScoping(p, name)) { + p = strict ? this.applyStrictSelectorScope(p, name) : + this.applySimpleSelectorScope(p, name); + } + r.push(p); + }, this); return r.join(', '); }, + // scope via name and [is=name] + applySimpleSelectorScope: function(selector, name) { + return name + ' ' + selector + ', ' + '[is=' + name + '] ' + selector; + }, + // return a selector with [name] suffix on each simple selector + // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] + applyStrictSelectorScope: function(selector, name) { + var splits = [' ', '>', '+', '~'], + scoped = selector, + attrName = '[' + name + ']'; + splits.forEach(function(sep) { + var parts = scoped.split(sep); + scoped = parts.map(function(p) { + var t = p.trim(); + if (t && (splits.indexOf(t) < 0) && (t.indexOf(attrName) < 0)) { + p = t.replace(/([^:]*)(:*)(.*)/, '$1' + attrName + '$2$3') + } + return p; + }).join(sep); + }); + return scoped; + }, stylesToCssText: function(styles, preserveComments) { var cssText = ''; forEach(styles, function(s) { @@ -350,25 +438,26 @@ var stylizer = { getSheet: function() { if (!this.sheet) { this.sheet = document.createElement("style"); + this.sheet.setAttribute('polymer-polyfill', ''); } return this.sheet; }, - apply: function() { + addSheetToDocument: function() { this.addCssToDocument('style { display: none !important; }\n'); - // TODO(sorvell): change back to insertBefore when ShadowDOM polyfill - // supports this. - document.head.appendChild(this.getSheet()); - //document.head.insertBefore(this.getSheet(), doc.head.children[0]); + var head = document.querySelector('head'); + head.insertBefore(this.getSheet(), head.childNodes[0]); } }; -document.addEventListener('WebComponentsReady', function() { - stylizer.apply(); -}) +// add polyfill stylesheet to document +if (window.ShadowDOMPolyfill) { + stylizer.addSheetToDocument(); +} // exports Polymer.shimStyling = stylizer.shimStyling; Polymer.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; Polymer.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); +Polymer.strictPolyfillStyling = false; })(window); \ No newline at end of file diff --git a/src/styling.js b/src/styling.js index aa01944fa9..e38836b23c 100644 --- a/src/styling.js +++ b/src/styling.js @@ -14,7 +14,7 @@ /** * Install external stylesheets loaded in elements into the * element's template. - * @param inElementElement The element to style. + * @param elementElement The element to style. */ function installSheets(elementElement) { installLocalSheets(elementElement); @@ -28,7 +28,7 @@ * that if the element is loaded in the main document, the sheet does * not become active. * Note, ignores sheets with the attribute 'polymer-scope'. - * @param inElementElement The element to style. + * @param elementElement The element to style. */ function installLocalSheets(elementElement) { var sheets = findInElement(elementElement, SHEET_SELECTOR, function(s) { @@ -37,17 +37,14 @@ var content = elementTemplateContent(elementElement); if (content) { // in case we're in document, remove from element + var cssText = ''; sheets.forEach(function(sheet) { sheet.parentNode.removeChild(sheet); + cssText += cssTextFromSheet(sheet) + '\n'; }); - var fragment = document.createDocumentFragment(); - sheets.forEach(function(sheet) { - var style = createStyleElementFromSheet(sheet); - if (style) { - fragment.appendChild(style); - } - }); - content.insertBefore(fragment, content.firstChild); + if (cssText) { + content.insertBefore(createStyleElement(cssText), content.firstChild); + } } } @@ -57,16 +54,17 @@ * This is particularly useful for defining @keyframe rules which * currently do not function in scoped or shadow style elements. * (See wkb.ug/72462) - * @param inElementElement The element to style. + * @param elementElement The element to style. */ // TODO(sorvell): remove when wkb.ug/72462 is addressed. function installGlobalStyles(elementElement) { - applyStylesToScope(findStyles(elementElement, 'global'), doc.head); + applyStyleToScope(styleFromElement(elementElement, STYLE_GLOBAL_SCOPE), + doc.head); } /** * Installs external stylesheets and -
red background
+
background
@@ -110,5 +139,39 @@

Expected: red background with black text and orange border and 20px padding< + + + + + + + + + + + diff --git a/test/html/styling/polyfill-directive.html b/test/html/styling/polyfill-directive.html new file mode 100644 index 0000000000..9e054cacd9 --- /dev/null +++ b/test/html/styling/polyfill-directive.html @@ -0,0 +1,61 @@ + + + + + Psuedo scoped styling + + + + + + +
Green?
+
+ + + + + + + + + + + diff --git a/test/html/styling/pseudo-scoping.html b/test/html/styling/pseudo-scoping.html index fb287d7d7a..e5e7f41972 100644 --- a/test/html/styling/pseudo-scoping.html +++ b/test/html/styling/pseudo-scoping.html @@ -8,6 +8,9 @@ Psuedo scoped styling + +
one
+
two
+
three
+
four
+
five
+
six
+
seven
+
eight
+
nine
+
ten
+ + + + + + + diff --git a/workbench/mdv/memory-no-insert.html b/workbench/mdv/memory-no-insert.html new file mode 100644 index 0000000000..c6b035230f --- /dev/null +++ b/workbench/mdv/memory-no-insert.html @@ -0,0 +1,118 @@ + + + + + polymer::mdv + + + + + + + + +
+ + + + + + + + + diff --git a/workbench/mdv/memory.html b/workbench/mdv/memory.html index 3bbc3e841c..4fcab01ea9 100644 --- a/workbench/mdv/memory.html +++ b/workbench/mdv/memory.html @@ -56,6 +56,7 @@ nine: 'whitesmoke', ten: 'tomato', oneChanged: function() { + console.log('oneChanged', this.one); }, twoChanged: function() { }, @@ -99,10 +100,6 @@ } function clean() { - Array.prototype.forEach.call(work.children, function(node) { - Polymer.unbindModel(node); - Polymer.unbindModel(node.webkitShadowRoot); - }); work.textContent = ''; }