16.1 sec in total
269 ms
11.4 sec
4.4 sec
Visit phil-taylor.com now to see the best up-to-date Phil Taylor content for United States and also check out these interesting facts you probably never knew about phil-taylor.com
Phil E. Taylor, PHP Applications Developer. Founder of mySites.guru and other SaaS services.
Visit phil-taylor.comWe analyzed Phil-taylor.com page load time and found that the first response time was 269 ms and then it took 15.8 sec to load all DOM resources and completely render a web page. This is a poor result, as 90% of websites can load faster.
phil-taylor.com performance score
name
value
score
weighting
Value3.1 s
46/100
10%
Value3.4 s
67/100
25%
Value3.1 s
93/100
10%
Value40 ms
100/100
30%
Value0
100/100
15%
Value3.3 s
94/100
10%
269 ms
223 ms
773 ms
1049 ms
1675 ms
Our browser made a total of 24 requests to load all elements on the main page. We found that 33% of them (8 requests) were addressed to the original Phil-taylor.com, 8% (2 requests) were made to Maxcdn.bootstrapcdn.com and 8% (2 requests) were made to Ssl.google-analytics.com. The less responsive or slowest element that took the longest time to load (2.2 sec) relates to the external source Gravatar.com.
Page size can be reduced by 876.6 kB (60%)
1.5 MB
583.2 kB
In fact, the total size of Phil-taylor.com main page is 1.5 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 50% of websites need less resources to load. Javascripts take 628.0 kB which makes up the majority of the site volume.
Potential reduce by 174.2 kB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. HTML code on this page is well minified. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 174.2 kB or 81% of the original size.
Potential reduce by 14.0 kB
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. Phil Taylor images are well optimized though.
Potential reduce by 444.0 kB
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. It is highly recommended that all JavaScript files should be compressed and minified as it can save up to 444.0 kB or 71% of the original size.
Potential reduce by 244.5 kB
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. Phil-taylor.com needs all CSS files to be minified and compressed as it can save up to 244.5 kB or 85% of the original size.
Number of requests can be reduced by 7 (37%)
19
12
The browser has sent 19 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Phil Taylor. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 8 to 1 for JavaScripts and as a result speed up the page load time.
phil-taylor.com
269 ms
www.phil-taylor.com
223 ms
www.phil-taylor.com
773 ms
bootstrap.min.css
1049 ms
bootstrap-theme.min.css
1675 ms
jumbotron-narrow.css
1010 ms
4c7eec676a9b4662214e9198afa29acb
2207 ms
webcomponents-lite.js
753 ms
ga.js
888 ms
tracking.js
1451 ms
widgets.js
825 ms
emoji-rain.html
954 ms
__utm.gif
661 ms
timeline.bc7ee675e57cb01f4d1e255156414e73.js
158 ms
polymer.html
1588 ms
get_dynamic_config.js
791 ms
syndication
1718 ms
672020095800094720
2204 ms
672019805336182785
2201 ms
polymer-mini.html
483 ms
polymer-micro.html
935 ms
get_static_config.0.1128.6.6.748.394.58.31.9.3.3.2.2.js
1387 ms
javascript;charset=utf-8,(function%20()%20%7B%0Afunction%20resolve()%20%7B%0Adocument.body.removeAttribute('unresolved')%3B%0A%7D%0Aif%20(window.WebComponents)%20%7B%0AaddEventListener('WebComponentsReady'%2C%20resolve)%3B%0A%7D%20else%20%7B%0Aif%20(document.readyState%20%3D%3D%3D%20'interactive'%20%7C%7C%20document.readyState%20%3D%3D%3D%20'complete')%20%7B%0Aresolve()%3B%0A%7D%20else%20%7B%0AaddEventListener('DOMContentLoaded'%2C%20resolve)%3B%0A%7D%0A%7D%0A%7D())%3Bwindow.Polymer%20%3D%20%7B%0ASettings%3A%20function%20()%20%7B%0Avar%20settings%20%3D%20window.Polymer%20%7C%7C%20%7B%7D%3B%0Aif%20(!settings.noUrlSettings)%20%7B%0Avar%20parts%20%3D%20location.search.slice(1).split('%26')%3B%0Afor%20(var%20i%20%3D%200%2C%20o%3B%20i%20%3C%20parts.length%20%26%26%20(o%20%3D%20parts%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Ao%20%3D%20o.split('%3D')%3B%0Ao%5B0%5D%20%26%26%20(settings%5Bo%5B0%5D%5D%20%3D%20o%5B1%5D%20%7C%7C%20true)%3B%0A%7D%0A%7D%0Asettings.wantShadow%20%3D%20settings.dom%20%3D%3D%3D%20'shadow'%3B%0Asettings.hasShadow%20%3D%20Boolean(Element.prototype.createShadowRoot)%3B%0Asettings.nativeShadow%20%3D%20settings.hasShadow%20%26%26%20!window.ShadowDOMPolyfill%3B%0Asettings.useShadow%20%3D%20settings.wantShadow%20%26%26%20settings.hasShadow%3B%0Asettings.hasNativeImports%20%3D%20Boolean('import'%20in%20document.createElement('link'))%3B%0Asettings.useNativeImports%20%3D%20settings.hasNativeImports%3B%0Asettings.useNativeCustomElements%20%3D%20!window.CustomElements%20%7C%7C%20window.CustomElements.useNative%3B%0Asettings.useNativeShadow%20%3D%20settings.useShadow%20%26%26%20settings.nativeShadow%3B%0Asettings.usePolyfillProto%20%3D%20!settings.useNativeCustomElements%20%26%26%20!Object.__proto__%3B%0Asettings.hasNativeCSSProperties%20%3D%20!navigator.userAgent.match('AppleWebKit%2F601')%20%26%26%20window.CSS%20%26%26%20CSS.supports%20%26%26%20CSS.supports('box-shadow'%2C%20'0%200%200%20var(--foo)')%3B%0Asettings.useNativeCSSProperties%20%3D%20settings.hasNativeCSSProperties%20%26%26%20settings.lazyRegister%20%26%26%20settings.useNativeCSSProperties%3B%0Asettings.isIE%20%3D%20navigator.userAgent.match('Trident')%3B%0Areturn%20settings%3B%0A%7D()%0A%7D%3B(function%20()%20%7B%0Avar%20userPolymer%20%3D%20window.Polymer%3B%0Awindow.Polymer%20%3D%20function%20(prototype)%20%7B%0Aif%20(typeof%20prototype%20%3D%3D%3D%20'function')%20%7B%0Aprototype%20%3D%20prototype.prototype%3B%0A%7D%0Aif%20(!prototype)%20%7B%0Aprototype%20%3D%20%7B%7D%3B%0A%7D%0Aprototype%20%3D%20desugar(prototype)%3B%0Avar%20customCtor%20%3D%20prototype%20%3D%3D%3D%20prototype.constructor.prototype%20%3F%20prototype.constructor%20%3A%20null%3B%0Avar%20options%20%3D%20%7B%20prototype%3A%20prototype%20%7D%3B%0Aif%20(prototype.extends)%20%7B%0Aoptions.extends%20%3D%20prototype.extends%3B%0A%7D%0APolymer.telemetry._registrate(prototype)%3B%0Avar%20ctor%20%3D%20document.registerElement(prototype.is%2C%20options)%3B%0Areturn%20customCtor%20%7C%7C%20ctor%3B%0A%7D%3B%0Avar%20desugar%20%3D%20function%20(prototype)%20%7B%0Avar%20base%20%3D%20Polymer.Base%3B%0Aif%20(prototype.extends)%20%7B%0Abase%20%3D%20Polymer.Base._getExtendedPrototype(prototype.extends)%3B%0A%7D%0Aprototype%20%3D%20Polymer.Base.chainObject(prototype%2C%20base)%3B%0Aprototype.registerCallback()%3B%0Areturn%20prototype%3B%0A%7D%3B%0Aif%20(userPolymer)%20%7B%0Afor%20(var%20i%20in%20userPolymer)%20%7B%0APolymer%5Bi%5D%20%3D%20userPolymer%5Bi%5D%3B%0A%7D%0A%7D%0APolymer.Class%20%3D%20function%20(prototype)%20%7B%0Aif%20(!prototype.factoryImpl)%20%7B%0Aprototype.factoryImpl%20%3D%20function%20()%20%7B%0A%7D%3B%0A%7D%0Areturn%20desugar(prototype).constructor%3B%0A%7D%3B%0A%7D())%3B%0APolymer.telemetry%20%3D%20%7B%0Aregistrations%3A%20%5B%5D%2C%0A_regLog%3A%20function%20(prototype)%20%7B%0Aconsole.log('%5B'%20%2B%20prototype.is%20%2B%20'%5D%3A%20registered')%3B%0A%7D%2C%0A_registrate%3A%20function%20(prototype)%20%7B%0Athis.registrations.push(prototype)%3B%0APolymer.log%20%26%26%20this._regLog(prototype)%3B%0A%7D%2C%0AdumpRegistrations%3A%20function%20()%20%7B%0Athis.registrations.forEach(this._regLog)%3B%0A%7D%0A%7D%3BObject.defineProperty(window%2C%20'currentImport'%2C%20%7B%0Aenumerable%3A%20true%2C%0Aconfigurable%3A%20true%2C%0Aget%3A%20function%20()%20%7B%0Areturn%20(document._currentScript%20%7C%7C%20document.currentScript%20%7C%7C%20%7B%7D).ownerDocument%3B%0A%7D%0A%7D)%3BPolymer.RenderStatus%20%3D%20%7B%0A_ready%3A%20false%2C%0A_callbacks%3A%20%5B%5D%2C%0AwhenReady%3A%20function%20(cb)%20%7B%0Aif%20(this._ready)%20%7B%0Acb()%3B%0A%7D%20else%20%7B%0Athis._callbacks.push(cb)%3B%0A%7D%0A%7D%2C%0A_makeReady%3A%20function%20()%20%7B%0Athis._ready%20%3D%20true%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20this._callbacks.length%3B%20i%2B%2B)%20%7B%0Athis._callbacks%5Bi%5D()%3B%0A%7D%0Athis._callbacks%20%3D%20%5B%5D%3B%0A%7D%2C%0A_catchFirstRender%3A%20function%20()%20%7B%0ArequestAnimationFrame(function%20()%20%7B%0APolymer.RenderStatus._makeReady()%3B%0A%7D)%3B%0A%7D%2C%0A_afterNextRenderQueue%3A%20%5B%5D%2C%0A_waitingNextRender%3A%20false%2C%0AafterNextRender%3A%20function%20(element%2C%20fn%2C%20args)%20%7B%0Athis._watchNextRender()%3B%0Athis._afterNextRenderQueue.push(%5B%0Aelement%2C%0Afn%2C%0Aargs%0A%5D)%3B%0A%7D%2C%0AhasRendered%3A%20function%20()%20%7B%0Areturn%20this._ready%3B%0A%7D%2C%0A_watchNextRender%3A%20function%20()%20%7B%0Aif%20(!this._waitingNextRender)%20%7B%0Athis._waitingNextRender%20%3D%20true%3B%0Avar%20fn%20%3D%20function%20()%20%7B%0APolymer.RenderStatus._flushNextRender()%3B%0A%7D%3B%0Aif%20(!this._ready)%20%7B%0Athis.whenReady(fn)%3B%0A%7D%20else%20%7B%0ArequestAnimationFrame(fn)%3B%0A%7D%0A%7D%0A%7D%2C%0A_flushNextRender%3A%20function%20()%20%7B%0Avar%20self%20%3D%20this%3B%0AsetTimeout(function%20()%20%7B%0Aself._flushRenderCallbacks(self._afterNextRenderQueue)%3B%0Aself._afterNextRenderQueue%20%3D%20%5B%5D%3B%0Aself._waitingNextRender%20%3D%20false%3B%0A%7D)%3B%0A%7D%2C%0A_flushRenderCallbacks%3A%20function%20(callbacks)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20h%3B%20i%20%3C%20callbacks.length%3B%20i%2B%2B)%20%7B%0Ah%20%3D%20callbacks%5Bi%5D%3B%0Ah%5B1%5D.apply(h%5B0%5D%2C%20h%5B2%5D%20%7C%7C%20Polymer.nar)%3B%0A%7D%0A%7D%0A%7D%3B%0Aif%20(window.HTMLImports)%20%7B%0AHTMLImports.whenReady(function%20()%20%7B%0APolymer.RenderStatus._catchFirstRender()%3B%0A%7D)%3B%0A%7D%20else%20%7B%0APolymer.RenderStatus._catchFirstRender()%3B%0A%7D%0APolymer.ImportStatus%20%3D%20Polymer.RenderStatus%3B%0APolymer.ImportStatus.whenLoaded%20%3D%20Polymer.ImportStatus.whenReady%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20settings%20%3D%20Polymer.Settings%3B%0APolymer.Base%20%3D%20%7B%0A__isPolymerInstance__%3A%20true%2C%0A_addFeature%3A%20function%20(feature)%20%7B%0Athis.mixin(this%2C%20feature)%3B%0A%7D%2C%0AregisterCallback%3A%20function%20()%20%7B%0Aif%20(settings.lazyRegister%20%3D%3D%3D%20'max')%20%7B%0Aif%20(this.beforeRegister)%20%7B%0Athis.beforeRegister()%3B%0A%7D%0A%7D%20else%20%7B%0Athis._desugarBehaviors()%3B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20this.behaviors%5Bi%5D%3B%0Aif%20(b.beforeRegister)%20%7B%0Ab.beforeRegister.call(this)%3B%0A%7D%0A%7D%0Aif%20(this.beforeRegister)%20%7B%0Athis.beforeRegister()%3B%0A%7D%0A%7D%0Athis._registerFeatures()%3B%0Aif%20(!settings.lazyRegister)%20%7B%0Athis.ensureRegisterFinished()%3B%0A%7D%0A%7D%2C%0AcreatedCallback%3A%20function%20()%20%7B%0Aif%20(settings.disableUpgradeEnabled)%20%7B%0Aif%20(this.hasAttribute('disable-upgrade'))%20%7B%0Athis._propertySetter%20%3D%20disableUpgradePropertySetter%3B%0Athis._configValue%20%3D%20null%3B%0Athis.__data__%20%3D%20%7B%7D%3B%0Areturn%3B%0A%7D%20else%20%7B%0Athis.__hasInitialized%20%3D%20true%3B%0A%7D%0A%7D%0Athis.__initialize()%3B%0A%7D%2C%0A__initialize%3A%20function%20()%20%7B%0Aif%20(!this.__hasRegisterFinished)%20%7B%0Athis._ensureRegisterFinished(this.__proto__)%3B%0A%7D%0APolymer.telemetry.instanceCount%2B%2B%3B%0Athis.root%20%3D%20this%3B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20this.behaviors%5Bi%5D%3B%0Aif%20(b.created)%20%7B%0Ab.created.call(this)%3B%0A%7D%0A%7D%0Aif%20(this.created)%20%7B%0Athis.created()%3B%0A%7D%0Athis._initFeatures()%3B%0A%7D%2C%0AensureRegisterFinished%3A%20function%20()%20%7B%0Athis._ensureRegisterFinished(this)%3B%0A%7D%2C%0A_ensureRegisterFinished%3A%20function%20(proto)%20%7B%0Aif%20(proto.__hasRegisterFinished%20!%3D%3D%20proto.is%20%7C%7C%20!proto.is)%20%7B%0Aif%20(settings.lazyRegister%20%3D%3D%3D%20'max')%20%7B%0Aproto._desugarBehaviors()%3B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20proto.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20proto.behaviors%5Bi%5D%3B%0Aif%20(b.beforeRegister)%20%7B%0Ab.beforeRegister.call(proto)%3B%0A%7D%0A%7D%0A%7D%0Aproto.__hasRegisterFinished%20%3D%20proto.is%3B%0Aif%20(proto._finishRegisterFeatures)%20%7B%0Aproto._finishRegisterFeatures()%3B%0A%7D%0Afor%20(var%20j%20%3D%200%2C%20pb%3B%20j%20%3C%20proto.behaviors.length%3B%20j%2B%2B)%20%7B%0Apb%20%3D%20proto.behaviors%5Bj%5D%3B%0Aif%20(pb.registered)%20%7B%0Apb.registered.call(proto)%3B%0A%7D%0A%7D%0Aif%20(proto.registered)%20%7B%0Aproto.registered()%3B%0A%7D%0Aif%20(settings.usePolyfillProto%20%26%26%20proto%20!%3D%3D%20this)%20%7B%0Aproto.extend(this%2C%20proto)%3B%0A%7D%0A%7D%0A%7D%2C%0AattachedCallback%3A%20function%20()%20%7B%0Avar%20self%20%3D%20this%3B%0APolymer.RenderStatus.whenReady(function%20()%20%7B%0Aself.isAttached%20%3D%20true%3B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20self.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20self.behaviors%5Bi%5D%3B%0Aif%20(b.attached)%20%7B%0Ab.attached.call(self)%3B%0A%7D%0A%7D%0Aif%20(self.attached)%20%7B%0Aself.attached()%3B%0A%7D%0A%7D)%3B%0A%7D%2C%0AdetachedCallback%3A%20function%20()%20%7B%0Avar%20self%20%3D%20this%3B%0APolymer.RenderStatus.whenReady(function%20()%20%7B%0Aself.isAttached%20%3D%20false%3B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20self.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20self.behaviors%5Bi%5D%3B%0Aif%20(b.detached)%20%7B%0Ab.detached.call(self)%3B%0A%7D%0A%7D%0Aif%20(self.detached)%20%7B%0Aself.detached()%3B%0A%7D%0A%7D)%3B%0A%7D%2C%0AattributeChangedCallback%3A%20function%20(name%2C%20oldValue%2C%20newValue)%20%7B%0Athis._attributeChangedImpl(name)%3B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20this.behaviors%5Bi%5D%3B%0Aif%20(b.attributeChanged)%20%7B%0Ab.attributeChanged.call(this%2C%20name%2C%20oldValue%2C%20newValue)%3B%0A%7D%0A%7D%0Aif%20(this.attributeChanged)%20%7B%0Athis.attributeChanged(name%2C%20oldValue%2C%20newValue)%3B%0A%7D%0A%7D%2C%0A_attributeChangedImpl%3A%20function%20(name)%20%7B%0Athis._setAttributeToProperty(this%2C%20name)%3B%0A%7D%2C%0Aextend%3A%20function%20(target%2C%20source)%20%7B%0Aif%20(target%20%26%26%20source)%20%7B%0Avar%20n%24%20%3D%20Object.getOwnPropertyNames(source)%3B%0Afor%20(var%20i%20%3D%200%2C%20n%3B%20i%20%3C%20n%24.length%20%26%26%20(n%20%3D%20n%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Athis.copyOwnProperty(n%2C%20source%2C%20target)%3B%0A%7D%0A%7D%0Areturn%20target%20%7C%7C%20source%3B%0A%7D%2C%0Amixin%3A%20function%20(target%2C%20source)%20%7B%0Afor%20(var%20i%20in%20source)%20%7B%0Atarget%5Bi%5D%20%3D%20source%5Bi%5D%3B%0A%7D%0Areturn%20target%3B%0A%7D%2C%0AcopyOwnProperty%3A%20function%20(name%2C%20source%2C%20target)%20%7B%0Avar%20pd%20%3D%20Object.getOwnPropertyDescriptor(source%2C%20name)%3B%0Aif%20(pd)%20%7B%0AObject.defineProperty(target%2C%20name%2C%20pd)%3B%0A%7D%0A%7D%2C%0A_logger%3A%20function%20(level%2C%20args)%20%7B%0Aif%20(args.length%20%3D%3D%3D%201%20%26%26%20Array.isArray(args%5B0%5D))%20%7B%0Aargs%20%3D%20args%5B0%5D%3B%0A%7D%0Aswitch%20(level)%20%7B%0Acase%20'log'%3A%0Acase%20'warn'%3A%0Acase%20'error'%3A%0Aconsole%5Blevel%5D.apply(console%2C%20args)%3B%0Abreak%3B%0A%7D%0A%7D%2C%0A_log%3A%20function%20()%20%7B%0Avar%20args%20%3D%20Array.prototype.slice.call(arguments%2C%200)%3B%0Athis._logger('log'%2C%20args)%3B%0A%7D%2C%0A_warn%3A%20function%20()%20%7B%0Avar%20args%20%3D%20Array.prototype.slice.call(arguments%2C%200)%3B%0Athis._logger('warn'%2C%20args)%3B%0A%7D%2C%0A_error%3A%20function%20()%20%7B%0Avar%20args%20%3D%20Array.prototype.slice.call(arguments%2C%200)%3B%0Athis._logger('error'%2C%20args)%3B%0A%7D%2C%0A_logf%3A%20function%20()%20%7B%0Areturn%20this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments%2C%200))%3B%0A%7D%0A%7D%3B%0APolymer.Base._logPrefix%20%3D%20function%20()%20%7B%0Avar%20color%20%3D%20window.chrome%20%26%26%20!%2Fedge%2Fi.test(navigator.userAgent)%20%7C%7C%20%2Ffirefox%2Fi.test(navigator.userAgent)%3B%0Areturn%20color%20%3F%20%5B%0A'%25c%5B%25s%3A%3A%25s%5D%3A'%2C%0A'font-weight%3A%20bold%3B%20background-color%3A%23EEEE00%3B'%0A%5D%20%3A%20%5B'%5B%25s%3A%3A%25s%5D%3A'%5D%3B%0A%7D()%3B%0APolymer.Base.chainObject%20%3D%20function%20(object%2C%20inherited)%20%7B%0Aif%20(object%20%26%26%20inherited%20%26%26%20object%20!%3D%3D%20inherited)%20%7B%0Aif%20(!Object.__proto__)%20%7B%0Aobject%20%3D%20Polymer.Base.extend(Object.create(inherited)%2C%20object)%3B%0A%7D%0Aobject.__proto__%20%3D%20inherited%3B%0A%7D%0Areturn%20object%3B%0A%7D%3B%0APolymer.Base%20%3D%20Polymer.Base.chainObject(Polymer.Base%2C%20HTMLElement.prototype)%3B%0APolymer.BaseDescriptors%20%3D%20%7B%7D%3B%0Avar%20disableUpgradePropertySetter%3B%0Aif%20(settings.disableUpgradeEnabled)%20%7B%0AdisableUpgradePropertySetter%20%3D%20function%20(property%2C%20value)%20%7B%0Athis.__data__%5Bproperty%5D%20%3D%20value%3B%0A%7D%3B%0Avar%20origAttributeChangedCallback%20%3D%20Polymer.Base.attributeChangedCallback%3B%0APolymer.Base.attributeChangedCallback%20%3D%20function%20(name%2C%20oldValue%2C%20newValue)%20%7B%0Aif%20(!this.__hasInitialized%20%26%26%20name%20%3D%3D%3D%20'disable-upgrade')%20%7B%0Athis.__hasInitialized%20%3D%20true%3B%0Athis._propertySetter%20%3D%20Polymer.Bind._modelApi._propertySetter%3B%0Athis._configValue%20%3D%20Polymer.Base._configValue%3B%0Athis.__initialize()%3B%0A%7D%0AorigAttributeChangedCallback.call(this%2C%20name%2C%20oldValue%2C%20newValue)%3B%0A%7D%3B%0A%7D%0Aif%20(window.CustomElements)%20%7B%0APolymer.instanceof%20%3D%20CustomElements.instanceof%3B%0A%7D%20else%20%7B%0APolymer.instanceof%20%3D%20function%20(obj%2C%20ctor)%20%7B%0Areturn%20obj%20instanceof%20ctor%3B%0A%7D%3B%0A%7D%0APolymer.isInstance%20%3D%20function%20(obj)%20%7B%0Areturn%20Boolean(obj%20%26%26%20obj.__isPolymerInstance__)%3B%0A%7D%3B%0APolymer.telemetry.instanceCount%20%3D%200%3B%0A%7D())%3B(function%20()%20%7B%0Avar%20modules%20%3D%20%7B%7D%3B%0Avar%20lcModules%20%3D%20%7B%7D%3B%0Avar%20findModule%20%3D%20function%20(id)%20%7B%0Areturn%20modules%5Bid%5D%20%7C%7C%20lcModules%5Bid.toLowerCase()%5D%3B%0A%7D%3B%0Avar%20DomModule%20%3D%20function%20()%20%7B%0Areturn%20document.createElement('dom-module')%3B%0A%7D%3B%0ADomModule.prototype%20%3D%20Object.create(HTMLElement.prototype)%3B%0APolymer.Base.mixin(DomModule.prototype%2C%20%7B%0AcreatedCallback%3A%20function%20()%20%7B%0Athis.register()%3B%0A%7D%2C%0Aregister%3A%20function%20(id)%20%7B%0Aid%20%3D%20id%20%7C%7C%20this.id%20%7C%7C%20this.getAttribute('name')%20%7C%7C%20this.getAttribute('is')%3B%0Aif%20(id)%20%7B%0Athis.id%20%3D%20id%3B%0Amodules%5Bid%5D%20%3D%20this%3B%0AlcModules%5Bid.toLowerCase()%5D%20%3D%20this%3B%0A%7D%0A%7D%2C%0Aimport%3A%20function%20(id%2C%20selector)%20%7B%0Aif%20(id)%20%7B%0Avar%20m%20%3D%20findModule(id)%3B%0Aif%20(!m)%20%7B%0AforceDomModulesUpgrade()%3B%0Am%20%3D%20findModule(id)%3B%0A%7D%0Aif%20(m%20%26%26%20selector)%20%7B%0Am%20%3D%20m.querySelector(selector)%3B%0A%7D%0Areturn%20m%3B%0A%7D%0A%7D%0A%7D)%3B%0AObject.defineProperty(DomModule.prototype%2C%20'constructor'%2C%20%7B%0Avalue%3A%20DomModule%2C%0Aconfigurable%3A%20true%2C%0Awritable%3A%20true%0A%7D)%3B%0Avar%20cePolyfill%20%3D%20window.CustomElements%20%26%26%20!CustomElements.useNative%3B%0Adocument.registerElement('dom-module'%2C%20DomModule)%3B%0Afunction%20forceDomModulesUpgrade()%20%7B%0Aif%20(cePolyfill)%20%7B%0Avar%20script%20%3D%20document._currentScript%20%7C%7C%20document.currentScript%3B%0Avar%20doc%20%3D%20script%20%26%26%20script.ownerDocument%20%7C%7C%20document%3B%0Avar%20modules%20%3D%20doc.querySelectorAll('dom-module')%3B%0Afor%20(var%20i%20%3D%20modules.length%20-%201%2C%20m%3B%20i%20%3E%3D%200%20%26%26%20(m%20%3D%20modules%5Bi%5D)%3B%20i--)%20%7B%0Aif%20(m.__upgraded__)%20%7B%0Areturn%3B%0A%7D%20else%20%7B%0ACustomElements.upgrade(m)%3B%0A%7D%0A%7D%0A%7D%0A%7D%0A%7D())%3BPolymer.Base._addFeature(%7B%0A_prepIs%3A%20function%20()%20%7B%0Aif%20(!this.is)%20%7B%0Avar%20module%20%3D%20(document._currentScript%20%7C%7C%20document.currentScript).parentNode%3B%0Aif%20(module.localName%20%3D%3D%3D%20'dom-module')%20%7B%0Avar%20id%20%3D%20module.id%20%7C%7C%20module.getAttribute('name')%20%7C%7C%20module.getAttribute('is')%3B%0Athis.is%20%3D%20id%3B%0A%7D%0A%7D%0Aif%20(this.is)%20%7B%0Athis.is%20%3D%20this.is.toLowerCase()%3B%0A%7D%0A%7D%0A%7D)%3BPolymer.Base._addFeature(%7B%0Abehaviors%3A%20%5B%5D%2C%0A_desugarBehaviors%3A%20function%20()%20%7B%0Aif%20(this.behaviors.length)%20%7B%0Athis.behaviors%20%3D%20this._desugarSomeBehaviors(this.behaviors)%3B%0A%7D%0A%7D%2C%0A_desugarSomeBehaviors%3A%20function%20(behaviors)%20%7B%0Avar%20behaviorSet%20%3D%20%5B%5D%3B%0Abehaviors%20%3D%20this._flattenBehaviorsList(behaviors)%3B%0Afor%20(var%20i%20%3D%20behaviors.length%20-%201%3B%20i%20%3E%3D%200%3B%20i--)%20%7B%0Avar%20b%20%3D%20behaviors%5Bi%5D%3B%0Aif%20(behaviorSet.indexOf(b)%20%3D%3D%3D%20-1)%20%7B%0Athis._mixinBehavior(b)%3B%0AbehaviorSet.unshift(b)%3B%0A%7D%0A%7D%0Areturn%20behaviorSet%3B%0A%7D%2C%0A_flattenBehaviorsList%3A%20function%20(behaviors)%20%7B%0Avar%20flat%20%3D%20%5B%5D%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20behaviors.length%3B%20i%2B%2B)%20%7B%0Avar%20b%20%3D%20behaviors%5Bi%5D%3B%0Aif%20(b%20instanceof%20Array)%20%7B%0Aflat%20%3D%20flat.concat(this._flattenBehaviorsList(b))%3B%0A%7D%20else%20if%20(b)%20%7B%0Aflat.push(b)%3B%0A%7D%20else%20%7B%0Athis._warn(this._logf('_flattenBehaviorsList'%2C%20'behavior%20is%20null%2C%20check%20for%20missing%20or%20404%20import'))%3B%0A%7D%0A%7D%0Areturn%20flat%3B%0A%7D%2C%0A_mixinBehavior%3A%20function%20(b)%20%7B%0Avar%20n%24%20%3D%20Object.getOwnPropertyNames(b)%3B%0Avar%20useAssignment%20%3D%20b._noAccessors%3B%0Afor%20(var%20i%20%3D%200%2C%20n%3B%20i%20%3C%20n%24.length%20%26%26%20(n%20%3D%20n%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(!Polymer.Base._behaviorProperties%5Bn%5D%20%26%26%20!this.hasOwnProperty(n))%20%7B%0Aif%20(useAssignment)%20%7B%0Athis%5Bn%5D%20%3D%20b%5Bn%5D%3B%0A%7D%20else%20%7B%0Athis.copyOwnProperty(n%2C%20b%2C%20this)%3B%0A%7D%0A%7D%0A%7D%0A%7D%2C%0A_prepBehaviors%3A%20function%20()%20%7B%0Athis._prepFlattenedBehaviors(this.behaviors)%3B%0A%7D%2C%0A_prepFlattenedBehaviors%3A%20function%20(behaviors)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20behaviors.length%3B%20i%20%3C%20l%3B%20i%2B%2B)%20%7B%0Athis._prepBehavior(behaviors%5Bi%5D)%3B%0A%7D%0Athis._prepBehavior(this)%3B%0A%7D%2C%0A_marshalBehaviors%3A%20function%20()%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Athis._marshalBehavior(this.behaviors%5Bi%5D)%3B%0A%7D%0Athis._marshalBehavior(this)%3B%0A%7D%0A%7D)%3B%0APolymer.Base._behaviorProperties%20%3D%20%7B%0AhostAttributes%3A%20true%2C%0AbeforeRegister%3A%20true%2C%0Aregistered%3A%20true%2C%0Aproperties%3A%20true%2C%0Aobservers%3A%20true%2C%0Alisteners%3A%20true%2C%0Acreated%3A%20true%2C%0Aattached%3A%20true%2C%0Adetached%3A%20true%2C%0AattributeChanged%3A%20true%2C%0Aready%3A%20true%2C%0A_noAccessors%3A%20true%0A%7D%3BPolymer.Base._addFeature(%7B%0A_getExtendedPrototype%3A%20function%20(tag)%20%7B%0Areturn%20this._getExtendedNativePrototype(tag)%3B%0A%7D%2C%0A_nativePrototypes%3A%20%7B%7D%2C%0A_getExtendedNativePrototype%3A%20function%20(tag)%20%7B%0Avar%20p%20%3D%20this._nativePrototypes%5Btag%5D%3B%0Aif%20(!p)%20%7B%0Ap%20%3D%20Object.create(this.getNativePrototype(tag))%3B%0Avar%20p%24%20%3D%20Object.getOwnPropertyNames(Polymer.Base)%3B%0Afor%20(var%20i%20%3D%200%2C%20n%3B%20i%20%3C%20p%24.length%20%26%26%20(n%20%3D%20p%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(!Polymer.BaseDescriptors%5Bn%5D)%20%7B%0Ap%5Bn%5D%20%3D%20Polymer.Base%5Bn%5D%3B%0A%7D%0A%7D%0AObject.defineProperties(p%2C%20Polymer.BaseDescriptors)%3B%0Athis._nativePrototypes%5Btag%5D%20%3D%20p%3B%0A%7D%0Areturn%20p%3B%0A%7D%2C%0AgetNativePrototype%3A%20function%20(tag)%20%7B%0Areturn%20Object.getPrototypeOf(document.createElement(tag))%3B%0A%7D%0A%7D)%3BPolymer.Base._addFeature(%7B%0A_prepConstructor%3A%20function%20()%20%7B%0Athis._factoryArgs%20%3D%20this.extends%20%3F%20%5B%0Athis.extends%2C%0Athis.is%0A%5D%20%3A%20%5Bthis.is%5D%3B%0Avar%20ctor%20%3D%20function%20()%20%7B%0Areturn%20this._factory(arguments)%3B%0A%7D%3B%0Aif%20(this.hasOwnProperty('extends'))%20%7B%0Actor.extends%20%3D%20this.extends%3B%0A%7D%0AObject.defineProperty(this%2C%20'constructor'%2C%20%7B%0Avalue%3A%20ctor%2C%0Awritable%3A%20true%2C%0Aconfigurable%3A%20true%0A%7D)%3B%0Actor.prototype%20%3D%20this%3B%0A%7D%2C%0A_factory%3A%20function%20(args)%20%7B%0Avar%20elt%20%3D%20document.createElement.apply(document%2C%20this._factoryArgs)%3B%0Aif%20(this.factoryImpl)%20%7B%0Athis.factoryImpl.apply(elt%2C%20args)%3B%0A%7D%0Areturn%20elt%3B%0A%7D%0A%7D)%3BPolymer.nob%20%3D%20Object.create(null)%3B%0APolymer.Base._addFeature(%7B%0AgetPropertyInfo%3A%20function%20(property)%20%7B%0Avar%20info%20%3D%20this._getPropertyInfo(property%2C%20this.properties)%3B%0Aif%20(!info)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Ainfo%20%3D%20this._getPropertyInfo(property%2C%20this.behaviors%5Bi%5D.properties)%3B%0Aif%20(info)%20%7B%0Areturn%20info%3B%0A%7D%0A%7D%0A%7D%0Areturn%20info%20%7C%7C%20Polymer.nob%3B%0A%7D%2C%0A_getPropertyInfo%3A%20function%20(property%2C%20properties)%20%7B%0Avar%20p%20%3D%20properties%20%26%26%20properties%5Bproperty%5D%3B%0Aif%20(typeof%20p%20%3D%3D%3D%20'function')%20%7B%0Ap%20%3D%20properties%5Bproperty%5D%20%3D%20%7B%20type%3A%20p%20%7D%3B%0A%7D%0Aif%20(p)%20%7B%0Ap.defined%20%3D%20true%3B%0A%7D%0Areturn%20p%3B%0A%7D%2C%0A_prepPropertyInfo%3A%20function%20()%20%7B%0Athis._propertyInfo%20%3D%20%7B%7D%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Athis._addPropertyInfo(this._propertyInfo%2C%20this.behaviors%5Bi%5D.properties)%3B%0A%7D%0Athis._addPropertyInfo(this._propertyInfo%2C%20this.properties)%3B%0Athis._addPropertyInfo(this._propertyInfo%2C%20this._propertyEffects)%3B%0A%7D%2C%0A_addPropertyInfo%3A%20function%20(target%2C%20source)%20%7B%0Aif%20(source)%20%7B%0Avar%20t%2C%20s%3B%0Afor%20(var%20i%20in%20source)%20%7B%0At%20%3D%20target%5Bi%5D%3B%0As%20%3D%20source%5Bi%5D%3B%0Aif%20(i%5B0%5D%20%3D%3D%3D%20'_'%20%26%26%20!s.readOnly)%20%7B%0Acontinue%3B%0A%7D%0Aif%20(!target%5Bi%5D)%20%7B%0Atarget%5Bi%5D%20%3D%20%7B%0Atype%3A%20typeof%20s%20%3D%3D%3D%20'function'%20%3F%20s%20%3A%20s.type%2C%0AreadOnly%3A%20s.readOnly%2C%0Aattribute%3A%20Polymer.CaseMap.camelToDashCase(i)%0A%7D%3B%0A%7D%20else%20%7B%0Aif%20(!t.type)%20%7B%0At.type%20%3D%20s.type%3B%0A%7D%0Aif%20(!t.readOnly)%20%7B%0At.readOnly%20%3D%20s.readOnly%3B%0A%7D%0A%7D%0A%7D%0A%7D%0A%7D%0A%7D)%3B%0A(function%20()%20%7B%0Avar%20propertiesDesc%20%3D%20%7B%0Aconfigurable%3A%20true%2C%0Awritable%3A%20true%2C%0Aenumerable%3A%20true%2C%0Avalue%3A%20%7B%7D%0A%7D%3B%0APolymer.BaseDescriptors.properties%20%3D%20propertiesDesc%3B%0AObject.defineProperty(Polymer.Base%2C%20'properties'%2C%20propertiesDesc)%3B%0A%7D())%3BPolymer.CaseMap%20%3D%20%7B%0A_caseMap%3A%20%7B%7D%2C%0A_rx%3A%20%7B%0AdashToCamel%3A%20%2F-%5Ba-z%5D%2Fg%2C%0AcamelToDash%3A%20%2F(%5BA-Z%5D)%2Fg%0A%7D%2C%0AdashToCamelCase%3A%20function%20(dash)%20%7B%0Areturn%20this._caseMap%5Bdash%5D%20%7C%7C%20(this._caseMap%5Bdash%5D%20%3D%20dash.indexOf('-')%20%3C%200%20%3F%20dash%20%3A%20dash.replace(this._rx.dashToCamel%2C%20function%20(m)%20%7B%0Areturn%20m%5B1%5D.toUpperCase()%3B%0A%7D))%3B%0A%7D%2C%0AcamelToDashCase%3A%20function%20(camel)%20%7B%0Areturn%20this._caseMap%5Bcamel%5D%20%7C%7C%20(this._caseMap%5Bcamel%5D%20%3D%20camel.replace(this._rx.camelToDash%2C%20'-%241').toLowerCase())%3B%0A%7D%0A%7D%3BPolymer.Base._addFeature(%7B%0A_addHostAttributes%3A%20function%20(attributes)%20%7B%0Aif%20(!this._aggregatedAttributes)%20%7B%0Athis._aggregatedAttributes%20%3D%20%7B%7D%3B%0A%7D%0Aif%20(attributes)%20%7B%0Athis.mixin(this._aggregatedAttributes%2C%20attributes)%3B%0A%7D%0A%7D%2C%0A_marshalHostAttributes%3A%20function%20()%20%7B%0Aif%20(this._aggregatedAttributes)%20%7B%0Athis._applyAttributes(this%2C%20this._aggregatedAttributes)%3B%0A%7D%0A%7D%2C%0A_applyAttributes%3A%20function%20(node%2C%20attr%24)%20%7B%0Afor%20(var%20n%20in%20attr%24)%20%7B%0Aif%20(!this.hasAttribute(n)%20%26%26%20n%20!%3D%3D%20'class')%20%7B%0Avar%20v%20%3D%20attr%24%5Bn%5D%3B%0Athis.serializeValueToAttribute(v%2C%20n%2C%20this)%3B%0A%7D%0A%7D%0A%7D%2C%0A_marshalAttributes%3A%20function%20()%20%7B%0Athis._takeAttributesToModel(this)%3B%0A%7D%2C%0A_takeAttributesToModel%3A%20function%20(model)%20%7B%0Aif%20(this.hasAttributes())%20%7B%0Afor%20(var%20i%20in%20this._propertyInfo)%20%7B%0Avar%20info%20%3D%20this._propertyInfo%5Bi%5D%3B%0Aif%20(this.hasAttribute(info.attribute))%20%7B%0Athis._setAttributeToProperty(model%2C%20info.attribute%2C%20i%2C%20info)%3B%0A%7D%0A%7D%0A%7D%0A%7D%2C%0A_setAttributeToProperty%3A%20function%20(model%2C%20attribute%2C%20property%2C%20info)%20%7B%0Aif%20(!this._serializing)%20%7B%0Aproperty%20%3D%20property%20%7C%7C%20Polymer.CaseMap.dashToCamelCase(attribute)%3B%0Ainfo%20%3D%20info%20%7C%7C%20this._propertyInfo%20%26%26%20this._propertyInfo%5Bproperty%5D%3B%0Aif%20(info%20%26%26%20!info.readOnly)%20%7B%0Avar%20v%20%3D%20this.getAttribute(attribute)%3B%0Amodel%5Bproperty%5D%20%3D%20this.deserialize(v%2C%20info.type)%3B%0A%7D%0A%7D%0A%7D%2C%0A_serializing%3A%20false%2C%0AreflectPropertyToAttribute%3A%20function%20(property%2C%20attribute%2C%20value)%20%7B%0Athis._serializing%20%3D%20true%3B%0Avalue%20%3D%20value%20%3D%3D%3D%20undefined%20%3F%20this%5Bproperty%5D%20%3A%20value%3B%0Athis.serializeValueToAttribute(value%2C%20attribute%20%7C%7C%20Polymer.CaseMap.camelToDashCase(property))%3B%0Athis._serializing%20%3D%20false%3B%0A%7D%2C%0AserializeValueToAttribute%3A%20function%20(value%2C%20attribute%2C%20node)%20%7B%0Avar%20str%20%3D%20this.serialize(value)%3B%0Anode%20%3D%20node%20%7C%7C%20this%3B%0Aif%20(str%20%3D%3D%3D%20undefined)%20%7B%0Anode.removeAttribute(attribute)%3B%0A%7D%20else%20%7B%0Anode.setAttribute(attribute%2C%20str)%3B%0A%7D%0A%7D%2C%0Adeserialize%3A%20function%20(value%2C%20type)%20%7B%0Aswitch%20(type)%20%7B%0Acase%20Number%3A%0Avalue%20%3D%20Number(value)%3B%0Abreak%3B%0Acase%20Boolean%3A%0Avalue%20%3D%20value%20!%3D%20null%3B%0Abreak%3B%0Acase%20Object%3A%0Atry%20%7B%0Avalue%20%3D%20JSON.parse(value)%3B%0A%7D%20catch%20(x)%20%7B%0A%7D%0Abreak%3B%0Acase%20Array%3A%0Atry%20%7B%0Avalue%20%3D%20JSON.parse(value)%3B%0A%7D%20catch%20(x)%20%7B%0Avalue%20%3D%20null%3B%0Aconsole.warn('Polymer%3A%3AAttributes%3A%20couldn%60t%20decode%20Array%20as%20JSON')%3B%0A%7D%0Abreak%3B%0Acase%20Date%3A%0Avalue%20%3D%20new%20Date(value)%3B%0Abreak%3B%0Acase%20String%3A%0Adefault%3A%0Abreak%3B%0A%7D%0Areturn%20value%3B%0A%7D%2C%0Aserialize%3A%20function%20(value)%20%7B%0Aswitch%20(typeof%20value)%20%7B%0Acase%20'boolean'%3A%0Areturn%20value%20%3F%20''%20%3A%20undefined%3B%0Acase%20'object'%3A%0Aif%20(value%20instanceof%20Date)%20%7B%0Areturn%20value.toString()%3B%0A%7D%20else%20if%20(value)%20%7B%0Atry%20%7B%0Areturn%20JSON.stringify(value)%3B%0A%7D%20catch%20(x)%20%7B%0Areturn%20''%3B%0A%7D%0A%7D%0Adefault%3A%0Areturn%20value%20!%3D%20null%20%3F%20value%20%3A%20undefined%3B%0A%7D%0A%7D%0A%7D)%3BPolymer.version%20%3D%20%221.9.2%22%3BPolymer.Base._addFeature(%7B%0A_registerFeatures%3A%20function%20()%20%7B%0Athis._prepIs()%3B%0Athis._prepBehaviors()%3B%0Athis._prepConstructor()%3B%0Athis._prepPropertyInfo()%3B%0A%7D%2C%0A_prepBehavior%3A%20function%20(b)%20%7B%0Athis._addHostAttributes(b.hostAttributes)%3B%0A%7D%2C%0A_marshalBehavior%3A%20function%20(b)%20%7B%0A%7D%2C%0A_initFeatures%3A%20function%20()%20%7B%0Athis._marshalHostAttributes()%3B%0Athis._marshalBehaviors()%3B%0A%7D%0A%7D)%3B%0A%2F%2F%23%20sourceURL%3Dhttps%3A%2F%2Fwww.phil-taylor.com%2Fbower_components%2Fpolymer%2Fpolymer-micro.html.js%0A
273 ms
javascript;charset=utf-8,(function%20()%20%7B%0Afunction%20resolveCss(cssText%2C%20ownerDocument)%20%7B%0Areturn%20cssText.replace(CSS_URL_RX%2C%20function%20(m%2C%20pre%2C%20url%2C%20post)%20%7B%0Areturn%20pre%20%2B%20'%5C''%20%2B%20resolve(url.replace(%2F%5B%22'%5D%2Fg%2C%20'')%2C%20ownerDocument)%20%2B%20'%5C''%20%2B%20post%3B%0A%7D)%3B%0A%7D%0Afunction%20resolveAttrs(element%2C%20ownerDocument)%20%7B%0Afor%20(var%20name%20in%20URL_ATTRS)%20%7B%0Avar%20a%24%20%3D%20URL_ATTRS%5Bname%5D%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20a%24.length%2C%20a%2C%20at%2C%20v%3B%20i%20%3C%20l%20%26%26%20(a%20%3D%20a%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(name%20%3D%3D%3D%20'*'%20%7C%7C%20element.localName%20%3D%3D%3D%20name)%20%7B%0Aat%20%3D%20element.attributes%5Ba%5D%3B%0Av%20%3D%20at%20%26%26%20at.value%3B%0Aif%20(v%20%26%26%20v.search(BINDING_RX)%20%3C%200)%20%7B%0Aat.value%20%3D%20a%20%3D%3D%3D%20'style'%20%3F%20resolveCss(v%2C%20ownerDocument)%20%3A%20resolve(v%2C%20ownerDocument)%3B%0A%7D%0A%7D%0A%7D%0A%7D%0A%7D%0Afunction%20resolve(url%2C%20ownerDocument)%20%7B%0Aif%20(url%20%26%26%20ABS_URL.test(url))%20%7B%0Areturn%20url%3B%0A%7D%0Avar%20resolver%20%3D%20getUrlResolver(ownerDocument)%3B%0Aresolver.href%20%3D%20url%3B%0Areturn%20resolver.href%20%7C%7C%20url%3B%0A%7D%0Avar%20tempDoc%3B%0Avar%20tempDocBase%3B%0Afunction%20resolveUrl(url%2C%20baseUri)%20%7B%0Aif%20(!tempDoc)%20%7B%0AtempDoc%20%3D%20document.implementation.createHTMLDocument('temp')%3B%0AtempDocBase%20%3D%20tempDoc.createElement('base')%3B%0AtempDoc.head.appendChild(tempDocBase)%3B%0A%7D%0AtempDocBase.href%20%3D%20baseUri%3B%0Areturn%20resolve(url%2C%20tempDoc)%3B%0A%7D%0Afunction%20getUrlResolver(ownerDocument)%20%7B%0Areturn%20ownerDocument.body.__urlResolver%20%7C%7C%20(ownerDocument.body.__urlResolver%20%3D%20ownerDocument.createElement('a'))%3B%0A%7D%0Afunction%20pathFromUrl(url)%20%7B%0Areturn%20url.substring(0%2C%20url.lastIndexOf('%2F')%20%2B%201)%3B%0A%7D%0Avar%20CSS_URL_RX%20%3D%20%2F(url%5C()(%5B%5E)%5D*)(%5C))%2Fg%3B%0Avar%20URL_ATTRS%20%3D%20%7B%0A'*'%3A%20%5B%0A'href'%2C%0A'src'%2C%0A'style'%2C%0A'url'%0A%5D%2C%0Aform%3A%20%5B'action'%5D%0A%7D%3B%0Avar%20ABS_URL%20%3D%20%2F(%5E%5C%2F)%7C(%5E%23)%7C(%5E%5B%5Cw-%5Cd%5D*%3A)%2F%3B%0Avar%20BINDING_RX%20%3D%20%2F%5C%7B%5C%7B%7C%5C%5B%5C%5B%2F%3B%0APolymer.ResolveUrl%20%3D%20%7B%0AresolveCss%3A%20resolveCss%2C%0AresolveAttrs%3A%20resolveAttrs%2C%0AresolveUrl%3A%20resolveUrl%2C%0ApathFromUrl%3A%20pathFromUrl%0A%7D%3B%0APolymer.rootPath%20%3D%20Polymer.Settings.rootPath%20%7C%7C%20pathFromUrl(document.baseURI%20%7C%7C%20window.location.href)%3B%0A%7D())%3BPolymer.Base._addFeature(%7B%0A_prepTemplate%3A%20function%20()%20%7B%0Avar%20module%3B%0Aif%20(this._template%20%3D%3D%3D%20undefined)%20%7B%0Amodule%20%3D%20Polymer.DomModule.import(this.is)%3B%0Athis._template%20%3D%20module%20%26%26%20module.querySelector('template')%3B%0A%7D%0Aif%20(module)%20%7B%0Avar%20assetPath%20%3D%20module.getAttribute('assetpath')%20%7C%7C%20''%3B%0Avar%20importURL%20%3D%20Polymer.ResolveUrl.resolveUrl(assetPath%2C%20module.ownerDocument.baseURI)%3B%0Athis._importPath%20%3D%20Polymer.ResolveUrl.pathFromUrl(importURL)%3B%0A%7D%20else%20%7B%0Athis._importPath%20%3D%20''%3B%0A%7D%0Aif%20(this._template%20%26%26%20this._template.hasAttribute('is'))%20%7B%0Athis._warn(this._logf('_prepTemplate'%2C%20'top-level%20Polymer%20template%20'%20%2B%20'must%20not%20be%20a%20type-extension%2C%20found'%2C%20this._template%2C%20'Move%20inside%20simple%20%3Ctemplate%3E.'))%3B%0A%7D%0Aif%20(this._template%20%26%26%20!this._template.content%20%26%26%20window.HTMLTemplateElement%20%26%26%20HTMLTemplateElement.decorate)%20%7B%0AHTMLTemplateElement.decorate(this._template)%3B%0A%7D%0A%7D%2C%0A_stampTemplate%3A%20function%20()%20%7B%0Aif%20(this._template)%20%7B%0Athis.root%20%3D%20this.instanceTemplate(this._template)%3B%0A%7D%0A%7D%2C%0AinstanceTemplate%3A%20function%20(template)%20%7B%0Avar%20dom%20%3D%20document.importNode(template._content%20%7C%7C%20template.content%2C%20true)%3B%0Areturn%20dom%3B%0A%7D%0A%7D)%3B(function%20()%20%7B%0Avar%20baseAttachedCallback%20%3D%20Polymer.Base.attachedCallback%3B%0Avar%20baseDetachedCallback%20%3D%20Polymer.Base.detachedCallback%3B%0APolymer.Base._addFeature(%7B%0A_hostStack%3A%20%5B%5D%2C%0Aready%3A%20function%20()%20%7B%0A%7D%2C%0A_registerHost%3A%20function%20(host)%20%7B%0Athis.dataHost%20%3D%20host%20%3D%20host%20%7C%7C%20Polymer.Base._hostStack%5BPolymer.Base._hostStack.length%20-%201%5D%3B%0Aif%20(host%20%26%26%20host._clients)%20%7B%0Ahost._clients.push(this)%3B%0A%7D%0Athis._clients%20%3D%20null%3B%0Athis._clientsReadied%20%3D%20false%3B%0A%7D%2C%0A_beginHosting%3A%20function%20()%20%7B%0APolymer.Base._hostStack.push(this)%3B%0Aif%20(!this._clients)%20%7B%0Athis._clients%20%3D%20%5B%5D%3B%0A%7D%0A%7D%2C%0A_endHosting%3A%20function%20()%20%7B%0APolymer.Base._hostStack.pop()%3B%0A%7D%2C%0A_tryReady%3A%20function%20()%20%7B%0Athis._readied%20%3D%20false%3B%0Aif%20(this._canReady())%20%7B%0Athis._ready()%3B%0A%7D%0A%7D%2C%0A_canReady%3A%20function%20()%20%7B%0Areturn%20!this.dataHost%20%7C%7C%20this.dataHost._clientsReadied%3B%0A%7D%2C%0A_ready%3A%20function%20()%20%7B%0Athis._beforeClientsReady()%3B%0Aif%20(this._template)%20%7B%0Athis._setupRoot()%3B%0Athis._readyClients()%3B%0A%7D%0Athis._clientsReadied%20%3D%20true%3B%0Athis._clients%20%3D%20null%3B%0Athis._afterClientsReady()%3B%0Athis._readySelf()%3B%0A%7D%2C%0A_readyClients%3A%20function%20()%20%7B%0Athis._beginDistribute()%3B%0Avar%20c%24%20%3D%20this._clients%3B%0Aif%20(c%24)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20c%24.length%2C%20c%3B%20i%20%3C%20l%20%26%26%20(c%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Ac._ready()%3B%0A%7D%0A%7D%0Athis._finishDistribute()%3B%0A%7D%2C%0A_readySelf%3A%20function%20()%20%7B%0Afor%20(var%20i%20%3D%200%2C%20b%3B%20i%20%3C%20this.behaviors.length%3B%20i%2B%2B)%20%7B%0Ab%20%3D%20this.behaviors%5Bi%5D%3B%0Aif%20(b.ready)%20%7B%0Ab.ready.call(this)%3B%0A%7D%0A%7D%0Aif%20(this.ready)%20%7B%0Athis.ready()%3B%0A%7D%0Athis._readied%20%3D%20true%3B%0Aif%20(this._attachedPending)%20%7B%0Athis._attachedPending%20%3D%20false%3B%0Athis.attachedCallback()%3B%0A%7D%0A%7D%2C%0A_beforeClientsReady%3A%20function%20()%20%7B%0A%7D%2C%0A_afterClientsReady%3A%20function%20()%20%7B%0A%7D%2C%0A_beforeAttached%3A%20function%20()%20%7B%0A%7D%2C%0AattachedCallback%3A%20function%20()%20%7B%0Aif%20(this._readied)%20%7B%0Athis._beforeAttached()%3B%0AbaseAttachedCallback.call(this)%3B%0A%7D%20else%20%7B%0Athis._attachedPending%20%3D%20true%3B%0A%7D%0A%7D%2C%0AdetachedCallback%3A%20function%20()%20%7B%0Aif%20(this._readied)%20%7B%0AbaseDetachedCallback.call(this)%3B%0A%7D%20else%20%7B%0Athis._attachedPending%20%3D%20false%3B%0A%7D%0A%7D%0A%7D)%3B%0A%7D())%3BPolymer.ArraySplice%20%3D%20function%20()%20%7B%0Afunction%20newSplice(index%2C%20removed%2C%20addedCount)%20%7B%0Areturn%20%7B%0Aindex%3A%20index%2C%0Aremoved%3A%20removed%2C%0AaddedCount%3A%20addedCount%0A%7D%3B%0A%7D%0Avar%20EDIT_LEAVE%20%3D%200%3B%0Avar%20EDIT_UPDATE%20%3D%201%3B%0Avar%20EDIT_ADD%20%3D%202%3B%0Avar%20EDIT_DELETE%20%3D%203%3B%0Afunction%20ArraySplice()%20%7B%0A%7D%0AArraySplice.prototype%20%3D%20%7B%0AcalcEditDistances%3A%20function%20(current%2C%20currentStart%2C%20currentEnd%2C%20old%2C%20oldStart%2C%20oldEnd)%20%7B%0Avar%20rowCount%20%3D%20oldEnd%20-%20oldStart%20%2B%201%3B%0Avar%20columnCount%20%3D%20currentEnd%20-%20currentStart%20%2B%201%3B%0Avar%20distances%20%3D%20new%20Array(rowCount)%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20rowCount%3B%20i%2B%2B)%20%7B%0Adistances%5Bi%5D%20%3D%20new%20Array(columnCount)%3B%0Adistances%5Bi%5D%5B0%5D%20%3D%20i%3B%0A%7D%0Afor%20(var%20j%20%3D%200%3B%20j%20%3C%20columnCount%3B%20j%2B%2B)%0Adistances%5B0%5D%5Bj%5D%20%3D%20j%3B%0Afor%20(i%20%3D%201%3B%20i%20%3C%20rowCount%3B%20i%2B%2B)%20%7B%0Afor%20(j%20%3D%201%3B%20j%20%3C%20columnCount%3B%20j%2B%2B)%20%7B%0Aif%20(this.equals(current%5BcurrentStart%20%2B%20j%20-%201%5D%2C%20old%5BoldStart%20%2B%20i%20-%201%5D))%0Adistances%5Bi%5D%5Bj%5D%20%3D%20distances%5Bi%20-%201%5D%5Bj%20-%201%5D%3B%0Aelse%20%7B%0Avar%20north%20%3D%20distances%5Bi%20-%201%5D%5Bj%5D%20%2B%201%3B%0Avar%20west%20%3D%20distances%5Bi%5D%5Bj%20-%201%5D%20%2B%201%3B%0Adistances%5Bi%5D%5Bj%5D%20%3D%20north%20%3C%20west%20%3F%20north%20%3A%20west%3B%0A%7D%0A%7D%0A%7D%0Areturn%20distances%3B%0A%7D%2C%0AspliceOperationsFromEditDistances%3A%20function%20(distances)%20%7B%0Avar%20i%20%3D%20distances.length%20-%201%3B%0Avar%20j%20%3D%20distances%5B0%5D.length%20-%201%3B%0Avar%20current%20%3D%20distances%5Bi%5D%5Bj%5D%3B%0Avar%20edits%20%3D%20%5B%5D%3B%0Awhile%20(i%20%3E%200%20%7C%7C%20j%20%3E%200)%20%7B%0Aif%20(i%20%3D%3D%200)%20%7B%0Aedits.push(EDIT_ADD)%3B%0Aj--%3B%0Acontinue%3B%0A%7D%0Aif%20(j%20%3D%3D%200)%20%7B%0Aedits.push(EDIT_DELETE)%3B%0Ai--%3B%0Acontinue%3B%0A%7D%0Avar%20northWest%20%3D%20distances%5Bi%20-%201%5D%5Bj%20-%201%5D%3B%0Avar%20west%20%3D%20distances%5Bi%20-%201%5D%5Bj%5D%3B%0Avar%20north%20%3D%20distances%5Bi%5D%5Bj%20-%201%5D%3B%0Avar%20min%3B%0Aif%20(west%20%3C%20north)%0Amin%20%3D%20west%20%3C%20northWest%20%3F%20west%20%3A%20northWest%3B%0Aelse%0Amin%20%3D%20north%20%3C%20northWest%20%3F%20north%20%3A%20northWest%3B%0Aif%20(min%20%3D%3D%20northWest)%20%7B%0Aif%20(northWest%20%3D%3D%20current)%20%7B%0Aedits.push(EDIT_LEAVE)%3B%0A%7D%20else%20%7B%0Aedits.push(EDIT_UPDATE)%3B%0Acurrent%20%3D%20northWest%3B%0A%7D%0Ai--%3B%0Aj--%3B%0A%7D%20else%20if%20(min%20%3D%3D%20west)%20%7B%0Aedits.push(EDIT_DELETE)%3B%0Ai--%3B%0Acurrent%20%3D%20west%3B%0A%7D%20else%20%7B%0Aedits.push(EDIT_ADD)%3B%0Aj--%3B%0Acurrent%20%3D%20north%3B%0A%7D%0A%7D%0Aedits.reverse()%3B%0Areturn%20edits%3B%0A%7D%2C%0AcalcSplices%3A%20function%20(current%2C%20currentStart%2C%20currentEnd%2C%20old%2C%20oldStart%2C%20oldEnd)%20%7B%0Avar%20prefixCount%20%3D%200%3B%0Avar%20suffixCount%20%3D%200%3B%0Avar%20minLength%20%3D%20Math.min(currentEnd%20-%20currentStart%2C%20oldEnd%20-%20oldStart)%3B%0Aif%20(currentStart%20%3D%3D%200%20%26%26%20oldStart%20%3D%3D%200)%0AprefixCount%20%3D%20this.sharedPrefix(current%2C%20old%2C%20minLength)%3B%0Aif%20(currentEnd%20%3D%3D%20current.length%20%26%26%20oldEnd%20%3D%3D%20old.length)%0AsuffixCount%20%3D%20this.sharedSuffix(current%2C%20old%2C%20minLength%20-%20prefixCount)%3B%0AcurrentStart%20%2B%3D%20prefixCount%3B%0AoldStart%20%2B%3D%20prefixCount%3B%0AcurrentEnd%20-%3D%20suffixCount%3B%0AoldEnd%20-%3D%20suffixCount%3B%0Aif%20(currentEnd%20-%20currentStart%20%3D%3D%200%20%26%26%20oldEnd%20-%20oldStart%20%3D%3D%200)%0Areturn%20%5B%5D%3B%0Aif%20(currentStart%20%3D%3D%20currentEnd)%20%7B%0Avar%20splice%20%3D%20newSplice(currentStart%2C%20%5B%5D%2C%200)%3B%0Awhile%20(oldStart%20%3C%20oldEnd)%0Asplice.removed.push(old%5BoldStart%2B%2B%5D)%3B%0Areturn%20%5Bsplice%5D%3B%0A%7D%20else%20if%20(oldStart%20%3D%3D%20oldEnd)%0Areturn%20%5BnewSplice(currentStart%2C%20%5B%5D%2C%20currentEnd%20-%20currentStart)%5D%3B%0Avar%20ops%20%3D%20this.spliceOperationsFromEditDistances(this.calcEditDistances(current%2C%20currentStart%2C%20currentEnd%2C%20old%2C%20oldStart%2C%20oldEnd))%3B%0Asplice%20%3D%20undefined%3B%0Avar%20splices%20%3D%20%5B%5D%3B%0Avar%20index%20%3D%20currentStart%3B%0Avar%20oldIndex%20%3D%20oldStart%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20ops.length%3B%20i%2B%2B)%20%7B%0Aswitch%20(ops%5Bi%5D)%20%7B%0Acase%20EDIT_LEAVE%3A%0Aif%20(splice)%20%7B%0Asplices.push(splice)%3B%0Asplice%20%3D%20undefined%3B%0A%7D%0Aindex%2B%2B%3B%0AoldIndex%2B%2B%3B%0Abreak%3B%0Acase%20EDIT_UPDATE%3A%0Aif%20(!splice)%0Asplice%20%3D%20newSplice(index%2C%20%5B%5D%2C%200)%3B%0Asplice.addedCount%2B%2B%3B%0Aindex%2B%2B%3B%0Asplice.removed.push(old%5BoldIndex%5D)%3B%0AoldIndex%2B%2B%3B%0Abreak%3B%0Acase%20EDIT_ADD%3A%0Aif%20(!splice)%0Asplice%20%3D%20newSplice(index%2C%20%5B%5D%2C%200)%3B%0Asplice.addedCount%2B%2B%3B%0Aindex%2B%2B%3B%0Abreak%3B%0Acase%20EDIT_DELETE%3A%0Aif%20(!splice)%0Asplice%20%3D%20newSplice(index%2C%20%5B%5D%2C%200)%3B%0Asplice.removed.push(old%5BoldIndex%5D)%3B%0AoldIndex%2B%2B%3B%0Abreak%3B%0A%7D%0A%7D%0Aif%20(splice)%20%7B%0Asplices.push(splice)%3B%0A%7D%0Areturn%20splices%3B%0A%7D%2C%0AsharedPrefix%3A%20function%20(current%2C%20old%2C%20searchLength)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20searchLength%3B%20i%2B%2B)%0Aif%20(!this.equals(current%5Bi%5D%2C%20old%5Bi%5D))%0Areturn%20i%3B%0Areturn%20searchLength%3B%0A%7D%2C%0AsharedSuffix%3A%20function%20(current%2C%20old%2C%20searchLength)%20%7B%0Avar%20index1%20%3D%20current.length%3B%0Avar%20index2%20%3D%20old.length%3B%0Avar%20count%20%3D%200%3B%0Awhile%20(count%20%3C%20searchLength%20%26%26%20this.equals(current%5B--index1%5D%2C%20old%5B--index2%5D))%0Acount%2B%2B%3B%0Areturn%20count%3B%0A%7D%2C%0AcalculateSplices%3A%20function%20(current%2C%20previous)%20%7B%0Areturn%20this.calcSplices(current%2C%200%2C%20current.length%2C%20previous%2C%200%2C%20previous.length)%3B%0A%7D%2C%0Aequals%3A%20function%20(currentValue%2C%20previousValue)%20%7B%0Areturn%20currentValue%20%3D%3D%3D%20previousValue%3B%0A%7D%0A%7D%3B%0Areturn%20new%20ArraySplice()%3B%0A%7D()%3BPolymer.domInnerHTML%20%3D%20function%20()%20%7B%0Avar%20escapeAttrRegExp%20%3D%20%2F%5B%26%5Cu00A0%22%5D%2Fg%3B%0Avar%20escapeDataRegExp%20%3D%20%2F%5B%26%5Cu00A0%3C%3E%5D%2Fg%3B%0Afunction%20escapeReplace(c)%20%7B%0Aswitch%20(c)%20%7B%0Acase%20'%26'%3A%0Areturn%20'%26amp%3B'%3B%0Acase%20'%3C'%3A%0Areturn%20'%26lt%3B'%3B%0Acase%20'%3E'%3A%0Areturn%20'%26gt%3B'%3B%0Acase%20'%22'%3A%0Areturn%20'%26quot%3B'%3B%0Acase%20'%5CxA0'%3A%0Areturn%20'%26nbsp%3B'%3B%0A%7D%0A%7D%0Afunction%20escapeAttr(s)%20%7B%0Areturn%20s.replace(escapeAttrRegExp%2C%20escapeReplace)%3B%0A%7D%0Afunction%20escapeData(s)%20%7B%0Areturn%20s.replace(escapeDataRegExp%2C%20escapeReplace)%3B%0A%7D%0Afunction%20makeSet(arr)%20%7B%0Avar%20set%20%3D%20%7B%7D%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20arr.length%3B%20i%2B%2B)%20%7B%0Aset%5Barr%5Bi%5D%5D%20%3D%20true%3B%0A%7D%0Areturn%20set%3B%0A%7D%0Avar%20voidElements%20%3D%20makeSet(%5B%0A'area'%2C%0A'base'%2C%0A'br'%2C%0A'col'%2C%0A'command'%2C%0A'embed'%2C%0A'hr'%2C%0A'img'%2C%0A'input'%2C%0A'keygen'%2C%0A'link'%2C%0A'meta'%2C%0A'param'%2C%0A'source'%2C%0A'track'%2C%0A'wbr'%0A%5D)%3B%0Avar%20plaintextParents%20%3D%20makeSet(%5B%0A'style'%2C%0A'script'%2C%0A'xmp'%2C%0A'iframe'%2C%0A'noembed'%2C%0A'noframes'%2C%0A'plaintext'%2C%0A'noscript'%0A%5D)%3B%0Afunction%20getOuterHTML(node%2C%20parentNode%2C%20composed)%20%7B%0Aswitch%20(node.nodeType)%20%7B%0Acase%20Node.ELEMENT_NODE%3A%0Avar%20tagName%20%3D%20node.localName%3B%0Avar%20s%20%3D%20'%3C'%20%2B%20tagName%3B%0Avar%20attrs%20%3D%20node.attributes%3B%0Afor%20(var%20i%20%3D%200%2C%20attr%3B%20attr%20%3D%20attrs%5Bi%5D%3B%20i%2B%2B)%20%7B%0As%20%2B%3D%20'%20'%20%2B%20attr.name%20%2B%20'%3D%22'%20%2B%20escapeAttr(attr.value)%20%2B%20'%22'%3B%0A%7D%0As%20%2B%3D%20'%3E'%3B%0Aif%20(voidElements%5BtagName%5D)%20%7B%0Areturn%20s%3B%0A%7D%0Areturn%20s%20%2B%20getInnerHTML(node%2C%20composed)%20%2B%20'%3C%2F'%20%2B%20tagName%20%2B%20'%3E'%3B%0Acase%20Node.TEXT_NODE%3A%0Avar%20data%20%3D%20node.data%3B%0Aif%20(parentNode%20%26%26%20plaintextParents%5BparentNode.localName%5D)%20%7B%0Areturn%20data%3B%0A%7D%0Areturn%20escapeData(data)%3B%0Acase%20Node.COMMENT_NODE%3A%0Areturn%20'%3C!--'%20%2B%20node.data%20%2B%20'--%3E'%3B%0Adefault%3A%0Aconsole.error(node)%3B%0Athrow%20new%20Error('not%20implemented')%3B%0A%7D%0A%7D%0Afunction%20getInnerHTML(node%2C%20composed)%20%7B%0Aif%20(node%20instanceof%20HTMLTemplateElement)%0Anode%20%3D%20node.content%3B%0Avar%20s%20%3D%20''%3B%0Avar%20c%24%20%3D%20Polymer.dom(node).childNodes%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20c%24.length%2C%20child%3B%20i%20%3C%20l%20%26%26%20(child%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0As%20%2B%3D%20getOuterHTML(child%2C%20node%2C%20composed)%3B%0A%7D%0Areturn%20s%3B%0A%7D%0Areturn%20%7B%20getInnerHTML%3A%20getInnerHTML%20%7D%3B%0A%7D()%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20nativeInsertBefore%20%3D%20Element.prototype.insertBefore%3B%0Avar%20nativeAppendChild%20%3D%20Element.prototype.appendChild%3B%0Avar%20nativeRemoveChild%20%3D%20Element.prototype.removeChild%3B%0APolymer.TreeApi%20%3D%20%7B%0AarrayCopyChildNodes%3A%20function%20(parent)%20%7B%0Avar%20copy%20%3D%20%5B%5D%2C%20i%20%3D%200%3B%0Afor%20(var%20n%20%3D%20parent.firstChild%3B%20n%3B%20n%20%3D%20n.nextSibling)%20%7B%0Acopy%5Bi%2B%2B%5D%20%3D%20n%3B%0A%7D%0Areturn%20copy%3B%0A%7D%2C%0AarrayCopyChildren%3A%20function%20(parent)%20%7B%0Avar%20copy%20%3D%20%5B%5D%2C%20i%20%3D%200%3B%0Afor%20(var%20n%20%3D%20parent.firstElementChild%3B%20n%3B%20n%20%3D%20n.nextElementSibling)%20%7B%0Acopy%5Bi%2B%2B%5D%20%3D%20n%3B%0A%7D%0Areturn%20copy%3B%0A%7D%2C%0AarrayCopy%3A%20function%20(a%24)%20%7B%0Avar%20l%20%3D%20a%24.length%3B%0Avar%20copy%20%3D%20new%20Array(l)%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20l%3B%20i%2B%2B)%20%7B%0Acopy%5Bi%5D%20%3D%20a%24%5Bi%5D%3B%0A%7D%0Areturn%20copy%3B%0A%7D%0A%7D%3B%0APolymer.TreeApi.Logical%20%3D%20%7B%0AhasParentNode%3A%20function%20(node)%20%7B%0Areturn%20Boolean(node.__dom%20%26%26%20node.__dom.parentNode)%3B%0A%7D%2C%0AhasChildNodes%3A%20function%20(node)%20%7B%0Areturn%20Boolean(node.__dom%20%26%26%20node.__dom.childNodes%20!%3D%3D%20undefined)%3B%0A%7D%2C%0AgetChildNodes%3A%20function%20(node)%20%7B%0Areturn%20this.hasChildNodes(node)%20%3F%20this._getChildNodes(node)%20%3A%20node.childNodes%3B%0A%7D%2C%0A_getChildNodes%3A%20function%20(node)%20%7B%0Aif%20(!node.__dom.childNodes)%20%7B%0Anode.__dom.childNodes%20%3D%20%5B%5D%3B%0Afor%20(var%20n%20%3D%20node.__dom.firstChild%3B%20n%3B%20n%20%3D%20n.__dom.nextSibling)%20%7B%0Anode.__dom.childNodes.push(n)%3B%0A%7D%0A%7D%0Areturn%20node.__dom.childNodes%3B%0A%7D%2C%0AgetParentNode%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.parentNode%20!%3D%3D%20undefined%20%3F%20node.__dom.parentNode%20%3A%20node.parentNode%3B%0A%7D%2C%0AgetFirstChild%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.firstChild%20!%3D%3D%20undefined%20%3F%20node.__dom.firstChild%20%3A%20node.firstChild%3B%0A%7D%2C%0AgetLastChild%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.lastChild%20!%3D%3D%20undefined%20%3F%20node.__dom.lastChild%20%3A%20node.lastChild%3B%0A%7D%2C%0AgetNextSibling%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.nextSibling%20!%3D%3D%20undefined%20%3F%20node.__dom.nextSibling%20%3A%20node.nextSibling%3B%0A%7D%2C%0AgetPreviousSibling%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.previousSibling%20!%3D%3D%20undefined%20%3F%20node.__dom.previousSibling%20%3A%20node.previousSibling%3B%0A%7D%2C%0AgetFirstElementChild%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.firstChild%20!%3D%3D%20undefined%20%3F%20this._getFirstElementChild(node)%20%3A%20node.firstElementChild%3B%0A%7D%2C%0A_getFirstElementChild%3A%20function%20(node)%20%7B%0Avar%20n%20%3D%20node.__dom.firstChild%3B%0Awhile%20(n%20%26%26%20n.nodeType%20!%3D%3D%20Node.ELEMENT_NODE)%20%7B%0An%20%3D%20n.__dom.nextSibling%3B%0A%7D%0Areturn%20n%3B%0A%7D%2C%0AgetLastElementChild%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.lastChild%20!%3D%3D%20undefined%20%3F%20this._getLastElementChild(node)%20%3A%20node.lastElementChild%3B%0A%7D%2C%0A_getLastElementChild%3A%20function%20(node)%20%7B%0Avar%20n%20%3D%20node.__dom.lastChild%3B%0Awhile%20(n%20%26%26%20n.nodeType%20!%3D%3D%20Node.ELEMENT_NODE)%20%7B%0An%20%3D%20n.__dom.previousSibling%3B%0A%7D%0Areturn%20n%3B%0A%7D%2C%0AgetNextElementSibling%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.nextSibling%20!%3D%3D%20undefined%20%3F%20this._getNextElementSibling(node)%20%3A%20node.nextElementSibling%3B%0A%7D%2C%0A_getNextElementSibling%3A%20function%20(node)%20%7B%0Avar%20n%20%3D%20node.__dom.nextSibling%3B%0Awhile%20(n%20%26%26%20n.nodeType%20!%3D%3D%20Node.ELEMENT_NODE)%20%7B%0An%20%3D%20n.__dom.nextSibling%3B%0A%7D%0Areturn%20n%3B%0A%7D%2C%0AgetPreviousElementSibling%3A%20function%20(node)%20%7B%0Areturn%20node.__dom%20%26%26%20node.__dom.previousSibling%20!%3D%3D%20undefined%20%3F%20this._getPreviousElementSibling(node)%20%3A%20node.previousElementSibling%3B%0A%7D%2C%0A_getPreviousElementSibling%3A%20function%20(node)%20%7B%0Avar%20n%20%3D%20node.__dom.previousSibling%3B%0Awhile%20(n%20%26%26%20n.nodeType%20!%3D%3D%20Node.ELEMENT_NODE)%20%7B%0An%20%3D%20n.__dom.previousSibling%3B%0A%7D%0Areturn%20n%3B%0A%7D%2C%0AsaveChildNodes%3A%20function%20(node)%20%7B%0Aif%20(!this.hasChildNodes(node))%20%7B%0Anode.__dom%20%3D%20node.__dom%20%7C%7C%20%7B%7D%3B%0Anode.__dom.firstChild%20%3D%20node.firstChild%3B%0Anode.__dom.lastChild%20%3D%20node.lastChild%3B%0Anode.__dom.childNodes%20%3D%20%5B%5D%3B%0Afor%20(var%20n%20%3D%20node.firstChild%3B%20n%3B%20n%20%3D%20n.nextSibling)%20%7B%0An.__dom%20%3D%20n.__dom%20%7C%7C%20%7B%7D%3B%0An.__dom.parentNode%20%3D%20node%3B%0Anode.__dom.childNodes.push(n)%3B%0An.__dom.nextSibling%20%3D%20n.nextSibling%3B%0An.__dom.previousSibling%20%3D%20n.previousSibling%3B%0A%7D%0A%7D%0A%7D%2C%0ArecordInsertBefore%3A%20function%20(node%2C%20container%2C%20ref_node)%20%7B%0Acontainer.__dom.childNodes%20%3D%20null%3B%0Aif%20(node.nodeType%20%3D%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE)%20%7B%0Afor%20(var%20n%20%3D%20node.firstChild%3B%20n%3B%20n%20%3D%20n.nextSibling)%20%7B%0Athis._linkNode(n%2C%20container%2C%20ref_node)%3B%0A%7D%0A%7D%20else%20%7B%0Athis._linkNode(node%2C%20container%2C%20ref_node)%3B%0A%7D%0A%7D%2C%0A_linkNode%3A%20function%20(node%2C%20container%2C%20ref_node)%20%7B%0Anode.__dom%20%3D%20node.__dom%20%7C%7C%20%7B%7D%3B%0Acontainer.__dom%20%3D%20container.__dom%20%7C%7C%20%7B%7D%3B%0Aif%20(ref_node)%20%7B%0Aref_node.__dom%20%3D%20ref_node.__dom%20%7C%7C%20%7B%7D%3B%0A%7D%0Anode.__dom.previousSibling%20%3D%20ref_node%20%3F%20ref_node.__dom.previousSibling%20%3A%20container.__dom.lastChild%3B%0Aif%20(node.__dom.previousSibling)%20%7B%0Anode.__dom.previousSibling.__dom.nextSibling%20%3D%20node%3B%0A%7D%0Anode.__dom.nextSibling%20%3D%20ref_node%20%7C%7C%20null%3B%0Aif%20(node.__dom.nextSibling)%20%7B%0Anode.__dom.nextSibling.__dom.previousSibling%20%3D%20node%3B%0A%7D%0Anode.__dom.parentNode%20%3D%20container%3B%0Aif%20(ref_node)%20%7B%0Aif%20(ref_node%20%3D%3D%3D%20container.__dom.firstChild)%20%7B%0Acontainer.__dom.firstChild%20%3D%20node%3B%0A%7D%0A%7D%20else%20%7B%0Acontainer.__dom.lastChild%20%3D%20node%3B%0Aif%20(!container.__dom.firstChild)%20%7B%0Acontainer.__dom.firstChild%20%3D%20node%3B%0A%7D%0A%7D%0Acontainer.__dom.childNodes%20%3D%20null%3B%0A%7D%2C%0ArecordRemoveChild%3A%20function%20(node%2C%20container)%20%7B%0Anode.__dom%20%3D%20node.__dom%20%7C%7C%20%7B%7D%3B%0Acontainer.__dom%20%3D%20container.__dom%20%7C%7C%20%7B%7D%3B%0Aif%20(node%20%3D%3D%3D%20container.__dom.firstChild)%20%7B%0Acontainer.__dom.firstChild%20%3D%20node.__dom.nextSibling%3B%0A%7D%0Aif%20(node%20%3D%3D%3D%20container.__dom.lastChild)%20%7B%0Acontainer.__dom.lastChild%20%3D%20node.__dom.previousSibling%3B%0A%7D%0Avar%20p%20%3D%20node.__dom.previousSibling%3B%0Avar%20n%20%3D%20node.__dom.nextSibling%3B%0Aif%20(p)%20%7B%0Ap.__dom.nextSibling%20%3D%20n%3B%0A%7D%0Aif%20(n)%20%7B%0An.__dom.previousSibling%20%3D%20p%3B%0A%7D%0Anode.__dom.parentNode%20%3D%20node.__dom.previousSibling%20%3D%20node.__dom.nextSibling%20%3D%20undefined%3B%0Acontainer.__dom.childNodes%20%3D%20null%3B%0A%7D%0A%7D%3B%0APolymer.TreeApi.Composed%20%3D%20%7B%0AgetChildNodes%3A%20function%20(node)%20%7B%0Areturn%20Polymer.TreeApi.arrayCopyChildNodes(node)%3B%0A%7D%2C%0AgetParentNode%3A%20function%20(node)%20%7B%0Areturn%20node.parentNode%3B%0A%7D%2C%0AclearChildNodes%3A%20function%20(node)%20%7B%0Anode.textContent%20%3D%20''%3B%0A%7D%2C%0AinsertBefore%3A%20function%20(parentNode%2C%20newChild%2C%20refChild)%20%7B%0Areturn%20nativeInsertBefore.call(parentNode%2C%20newChild%2C%20refChild%20%7C%7C%20null)%3B%0A%7D%2C%0AappendChild%3A%20function%20(parentNode%2C%20newChild)%20%7B%0Areturn%20nativeAppendChild.call(parentNode%2C%20newChild)%3B%0A%7D%2C%0AremoveChild%3A%20function%20(parentNode%2C%20node)%20%7B%0Areturn%20nativeRemoveChild.call(parentNode%2C%20node)%3B%0A%7D%0A%7D%3B%0A%7D())%3BPolymer.DomApi%20%3D%20function%20()%20%7B%0A'use%20strict'%3B%0Avar%20Settings%20%3D%20Polymer.Settings%3B%0Avar%20TreeApi%20%3D%20Polymer.TreeApi%3B%0Avar%20DomApi%20%3D%20function%20(node)%20%7B%0Athis.node%20%3D%20needsToWrap%20%3F%20DomApi.wrap(node)%20%3A%20node%3B%0A%7D%3B%0Avar%20needsToWrap%20%3D%20Settings.hasShadow%20%26%26%20!Settings.nativeShadow%3B%0ADomApi.wrap%20%3D%20window.wrap%20%3F%20window.wrap%20%3A%20function%20(node)%20%7B%0Areturn%20node%3B%0A%7D%3B%0ADomApi.prototype%20%3D%20%7B%0Aflush%3A%20function%20()%20%7B%0APolymer.dom.flush()%3B%0A%7D%2C%0AdeepContains%3A%20function%20(node)%20%7B%0Aif%20(this.node.contains(node))%20%7B%0Areturn%20true%3B%0A%7D%0Avar%20n%20%3D%20node%3B%0Avar%20doc%20%3D%20node.ownerDocument%3B%0Awhile%20(n%20%26%26%20n%20!%3D%3D%20doc%20%26%26%20n%20!%3D%3D%20this.node)%20%7B%0An%20%3D%20Polymer.dom(n).parentNode%20%7C%7C%20n.host%3B%0A%7D%0Areturn%20n%20%3D%3D%3D%20this.node%3B%0A%7D%2C%0AqueryDistributedElements%3A%20function%20(selector)%20%7B%0Avar%20c%24%20%3D%20this.getEffectiveChildNodes()%3B%0Avar%20list%20%3D%20%5B%5D%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20c%24.length%2C%20c%3B%20i%20%3C%20l%20%26%26%20(c%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(c.nodeType%20%3D%3D%3D%20Node.ELEMENT_NODE%20%26%26%20DomApi.matchesSelector.call(c%2C%20selector))%20%7B%0Alist.push(c)%3B%0A%7D%0A%7D%0Areturn%20list%3B%0A%7D%2C%0AgetEffectiveChildNodes%3A%20function%20()%20%7B%0Avar%20list%20%3D%20%5B%5D%3B%0Avar%20c%24%20%3D%20this.childNodes%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20c%24.length%2C%20c%3B%20i%20%3C%20l%20%26%26%20(c%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(c.localName%20%3D%3D%3D%20CONTENT)%20%7B%0Avar%20d%24%20%3D%20dom(c).getDistributedNodes()%3B%0Afor%20(var%20j%20%3D%200%3B%20j%20%3C%20d%24.length%3B%20j%2B%2B)%20%7B%0Alist.push(d%24%5Bj%5D)%3B%0A%7D%0A%7D%20else%20%7B%0Alist.push(c)%3B%0A%7D%0A%7D%0Areturn%20list%3B%0A%7D%2C%0AobserveNodes%3A%20function%20(callback)%20%7B%0Aif%20(callback)%20%7B%0Aif%20(!this.observer)%20%7B%0Athis.observer%20%3D%20this.node.localName%20%3D%3D%3D%20CONTENT%20%3F%20new%20DomApi.DistributedNodesObserver(this)%20%3A%20new%20DomApi.EffectiveNodesObserver(this)%3B%0A%7D%0Areturn%20this.observer.addListener(callback)%3B%0A%7D%0A%7D%2C%0AunobserveNodes%3A%20function%20(handle)%20%7B%0Aif%20(this.observer)%20%7B%0Athis.observer.removeListener(handle)%3B%0A%7D%0A%7D%2C%0AnotifyObserver%3A%20function%20()%20%7B%0Aif%20(this.observer)%20%7B%0Athis.observer.notify()%3B%0A%7D%0A%7D%2C%0A_query%3A%20function%20(matcher%2C%20node%2C%20halter)%20%7B%0Anode%20%3D%20node%20%7C%7C%20this.node%3B%0Avar%20list%20%3D%20%5B%5D%3B%0Athis._queryElements(TreeApi.Logical.getChildNodes(node)%2C%20matcher%2C%20halter%2C%20list)%3B%0Areturn%20list%3B%0A%7D%2C%0A_queryElements%3A%20function%20(elements%2C%20matcher%2C%20halter%2C%20list)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20elements.length%2C%20c%3B%20i%20%3C%20l%20%26%26%20(c%20%3D%20elements%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(c.nodeType%20%3D%3D%3D%20Node.ELEMENT_NODE)%20%7B%0Aif%20(this._queryElement(c%2C%20matcher%2C%20halter%2C%20list))%20%7B%0Areturn%20true%3B%0A%7D%0A%7D%0A%7D%0A%7D%2C%0A_queryElement%3A%20function%20(node%2C%20matcher%2C%20halter%2C%20list)%20%7B%0Avar%20result%20%3D%20matcher(node)%3B%0Aif%20(result)%20%7B%0Alist.push(node)%3B%0A%7D%0Aif%20(halter%20%26%26%20halter(result))%20%7B%0Areturn%20result%3B%0A%7D%0Athis._queryElements(TreeApi.Logical.getChildNodes(node)%2C%20matcher%2C%20halter%2C%20list)%3B%0A%7D%0A%7D%3B%0Avar%20CONTENT%20%3D%20DomApi.CONTENT%20%3D%20'content'%3B%0Avar%20dom%20%3D%20DomApi.factory%20%3D%20function%20(node)%20%7B%0Anode%20%3D%20node%20%7C%7C%20document%3B%0Aif%20(!node.__domApi)%20%7B%0Anode.__domApi%20%3D%20new%20DomApi.ctor(node)%3B%0A%7D%0Areturn%20node.__domApi%3B%0A%7D%3B%0ADomApi.hasApi%20%3D%20function%20(node)%20%7B%0Areturn%20Boolean(node.__domApi)%3B%0A%7D%3B%0ADomApi.ctor%20%3D%20DomApi%3B%0APolymer.dom%20%3D%20function%20(obj%2C%20patch)%20%7B%0Aif%20(obj%20instanceof%20Event)%20%7B%0Areturn%20Polymer.EventApi.factory(obj)%3B%0A%7D%20else%20%7B%0Areturn%20DomApi.factory(obj%2C%20patch)%3B%0A%7D%0A%7D%3B%0Avar%20p%20%3D%20Element.prototype%3B%0ADomApi.matchesSelector%20%3D%20p.matches%20%7C%7C%20p.matchesSelector%20%7C%7C%20p.mozMatchesSelector%20%7C%7C%20p.msMatchesSelector%20%7C%7C%20p.oMatchesSelector%20%7C%7C%20p.webkitMatchesSelector%3B%0Areturn%20DomApi%3B%0A%7D()%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20Settings%20%3D%20Polymer.Settings%3B%0Avar%20DomApi%20%3D%20Polymer.DomApi%3B%0Avar%20dom%20%3D%20DomApi.factory%3B%0Avar%20TreeApi%20%3D%20Polymer.TreeApi%3B%0Avar%20getInnerHTML%20%3D%20Polymer.domInnerHTML.getInnerHTML%3B%0Avar%20CONTENT%20%3D%20DomApi.CONTENT%3B%0Aif%20(Settings.useShadow)%20%7B%0Areturn%3B%0A%7D%0Avar%20nativeCloneNode%20%3D%20Element.prototype.cloneNode%3B%0Avar%20nativeImportNode%20%3D%20Document.prototype.importNode%3B%0APolymer.Base.mixin(DomApi.prototype%2C%20%7B%0A_lazyDistribute%3A%20function%20(host)%20%7B%0Aif%20(host.shadyRoot%20%26%26%20host.shadyRoot._distributionClean)%20%7B%0Ahost.shadyRoot._distributionClean%20%3D%20false%3B%0APolymer.dom.addDebouncer(host.debounce('_distribute'%2C%20host._distributeContent))%3B%0A%7D%0A%7D%2C%0AappendChild%3A%20function%20(node)%20%7B%0Areturn%20this.insertBefore(node)%3B%0A%7D%2C%0AinsertBefore%3A%20function%20(node%2C%20ref_node)%20%7B%0Aif%20(ref_node%20%26%26%20TreeApi.Logical.getParentNode(ref_node)%20!%3D%3D%20this.node)%20%7B%0Athrow%20Error('The%20ref_node%20to%20be%20inserted%20before%20is%20not%20a%20child%20'%20%2B%20'of%20this%20node')%3B%0A%7D%0Aif%20(node.nodeType%20!%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE)%20%7B%0Avar%20parent%20%3D%20TreeApi.Logical.getParentNode(node)%3B%0Aif%20(parent)%20%7B%0Aif%20(DomApi.hasApi(parent))%20%7B%0Adom(parent).notifyObserver()%3B%0A%7D%0Athis._removeNode(node)%3B%0A%7D%20else%20%7B%0Athis._removeOwnerShadyRoot(node)%3B%0A%7D%0A%7D%0Aif%20(!this._addNode(node%2C%20ref_node))%20%7B%0Aif%20(ref_node)%20%7B%0Aref_node%20%3D%20ref_node.localName%20%3D%3D%3D%20CONTENT%20%3F%20this._firstComposedNode(ref_node)%20%3A%20ref_node%3B%0A%7D%0Avar%20container%20%3D%20this.node._isShadyRoot%20%3F%20this.node.host%20%3A%20this.node%3B%0Aif%20(ref_node)%20%7B%0ATreeApi.Composed.insertBefore(container%2C%20node%2C%20ref_node)%3B%0A%7D%20else%20%7B%0ATreeApi.Composed.appendChild(container%2C%20node)%3B%0A%7D%0A%7D%0Athis.notifyObserver()%3B%0Areturn%20node%3B%0A%7D%2C%0A_addNode%3A%20function%20(node%2C%20ref_node)%20%7B%0Avar%20root%20%3D%20this.getOwnerRoot()%3B%0Aif%20(root)%20%7B%0Avar%20ipAdded%20%3D%20this._maybeAddInsertionPoint(node%2C%20this.node)%3B%0Aif%20(!root._invalidInsertionPoints)%20%7B%0Aroot._invalidInsertionPoints%20%3D%20ipAdded%3B%0A%7D%0Athis._addNodeToHost(root.host%2C%20node)%3B%0A%7D%0Aif%20(TreeApi.Logical.hasChildNodes(this.node))%20%7B%0ATreeApi.Logical.recordInsertBefore(node%2C%20this.node%2C%20ref_node)%3B%0A%7D%0Avar%20handled%20%3D%20this._maybeDistribute(node)%20%7C%7C%20this.node.shadyRoot%3B%0Aif%20(handled)%20%7B%0Aif%20(node.nodeType%20%3D%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE)%20%7B%0Awhile%20(node.firstChild)%20%7B%0ATreeApi.Composed.removeChild(node%2C%20node.firstChild)%3B%0A%7D%0A%7D%20else%20%7B%0Avar%20parent%20%3D%20TreeApi.Composed.getParentNode(node)%3B%0Aif%20(parent)%20%7B%0ATreeApi.Composed.removeChild(parent%2C%20node)%3B%0A%7D%0A%7D%0A%7D%0Areturn%20handled%3B%0A%7D%2C%0AremoveChild%3A%20function%20(node)%20%7B%0Aif%20(TreeApi.Logical.getParentNode(node)%20!%3D%3D%20this.node)%20%7B%0Athrow%20Error('The%20node%20to%20be%20removed%20is%20not%20a%20child%20of%20this%20node%3A%20'%20%2B%20node)%3B%0A%7D%0Aif%20(!this._removeNode(node))%20%7B%0Avar%20container%20%3D%20this.node._isShadyRoot%20%3F%20this.node.host%20%3A%20this.node%3B%0Avar%20parent%20%3D%20TreeApi.Composed.getParentNode(node)%3B%0Aif%20(container%20%3D%3D%3D%20parent)%20%7B%0ATreeApi.Composed.removeChild(container%2C%20node)%3B%0A%7D%0A%7D%0Athis.notifyObserver()%3B%0Areturn%20node%3B%0A%7D%2C%0A_removeNode%3A%20function%20(node)%20%7B%0Avar%20logicalParent%20%3D%20TreeApi.Logical.hasParentNode(node)%20%26%26%20TreeApi.Logical.getParentNode(node)%3B%0Avar%20distributed%3B%0Avar%20root%20%3D%20this._ownerShadyRootForNode(node)%3B%0Aif%20(logicalParent)%20%7B%0Adistributed%20%3D%20dom(node)._maybeDistributeParent()%3B%0ATreeApi.Logical.recordRemoveChild(node%2C%20logicalParent)%3B%0Aif%20(root%20%26%26%20this._removeDistributedChildren(root%2C%20node))%20%7B%0Aroot._invalidInsertionPoints%20%3D%20true%3B%0Athis._lazyDistribute(root.host)%3B%0A%7D%0A%7D%0Athis._removeOwnerShadyRoot(node)%3B%0Aif%20(root)%20%7B%0Athis._removeNodeFromHost(root.host%2C%20node)%3B%0A%7D%0Areturn%20distributed%3B%0A%7D%2C%0AreplaceChild%3A%20function%20(node%2C%20ref_node)%20%7B%0Athis.insertBefore(node%2C%20ref_node)%3B%0Athis.removeChild(ref_node)%3B%0Areturn%20node%3B%0A%7D%2C%0A_hasCachedOwnerRoot%3A%20function%20(node)%20%7B%0Areturn%20Boolean(node._ownerShadyRoot%20!%3D%3D%20undefined)%3B%0A%7D%2C%0AgetOwnerRoot%3A%20function%20()%20%7B%0Areturn%20this._ownerShadyRootForNode(this.node)%3B%0A%7D%2C%0A_ownerShadyRootForNode%3A%20function%20(node)%20%7B%0Aif%20(!node)%20%7B%0Areturn%3B%0A%7D%0Avar%20root%20%3D%20node._ownerShadyRoot%3B%0Aif%20(root%20%3D%3D%3D%20undefined)%20%7B%0Aif%20(node._isShadyRoot)%20%7B%0Aroot%20%3D%20node%3B%0A%7D%20else%20%7B%0Avar%20parent%20%3D%20TreeApi.Logical.getParentNode(node)%3B%0Aif%20(parent)%20%7B%0Aroot%20%3D%20parent._isShadyRoot%20%3F%20parent%20%3A%20this._ownerShadyRootForNode(parent)%3B%0A%7D%20else%20%7B%0Aroot%20%3D%20null%3B%0A%7D%0A%7D%0Aif%20(root%20%7C%7C%20document.documentElement.contains(node))%20%7B%0Anode._ownerShadyRoot%20%3D%20root%3B%0A%7D%0A%7D%0Areturn%20root%3B%0A%7D%2C%0A_maybeDistribute%3A%20function%20(node)%20%7B%0Avar%20fragContent%20%3D%20node.nodeType%20%3D%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE%20%26%26%20!node.__noContent%20%26%26%20dom(node).querySelector(CONTENT)%3B%0Avar%20wrappedContent%20%3D%20fragContent%20%26%26%20TreeApi.Logical.getParentNode(fragContent).nodeType%20!%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE%3B%0Avar%20hasContent%20%3D%20fragContent%20%7C%7C%20node.localName%20%3D%3D%3D%20CONTENT%3B%0Aif%20(hasContent)%20%7B%0Avar%20root%20%3D%20this.getOwnerRoot()%3B%0Aif%20(root)%20%7B%0Athis._lazyDistribute(root.host)%3B%0A%7D%0A%7D%0Avar%20needsDist%20%3D%20this._nodeNeedsDistribution(this.node)%3B%0Aif%20(needsDist)%20%7B%0Athis._lazyDistribute(this.node)%3B%0A%7D%0Areturn%20needsDist%20%7C%7C%20hasContent%20%26%26%20!wrappedContent%3B%0A%7D%2C%0A_maybeAddInsertionPoint%3A%20function%20(node%2C%20parent)%20%7B%0Avar%20added%3B%0Aif%20(node.nodeType%20%3D%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE%20%26%26%20!node.__noContent)%20%7B%0Avar%20c%24%20%3D%20dom(node).querySelectorAll(CONTENT)%3B%0Afor%20(var%20i%20%3D%200%2C%20n%2C%20np%2C%20na%3B%20i%20%3C%20c%24.length%20%26%26%20(n%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Anp%20%3D%20TreeApi.Logical.getParentNode(n)%3B%0Aif%20(np%20%3D%3D%3D%20node)%20%7B%0Anp%20%3D%20parent%3B%0A%7D%0Ana%20%3D%20this._maybeAddInsertionPoint(n%2C%20np)%3B%0Aadded%20%3D%20added%20%7C%7C%20na%3B%0A%7D%0A%7D%20else%20if%20(node.localName%20%3D%3D%3D%20CONTENT)%20%7B%0ATreeApi.Logical.saveChildNodes(parent)%3B%0ATreeApi.Logical.saveChildNodes(node)%3B%0Aadded%20%3D%20true%3B%0A%7D%0Areturn%20added%3B%0A%7D%2C%0A_updateInsertionPoints%3A%20function%20(host)%20%7B%0Avar%20i%24%20%3D%20host.shadyRoot._insertionPoints%20%3D%20dom(host.shadyRoot).querySelectorAll(CONTENT)%3B%0Afor%20(var%20i%20%3D%200%2C%20c%3B%20i%20%3C%20i%24.length%3B%20i%2B%2B)%20%7B%0Ac%20%3D%20i%24%5Bi%5D%3B%0ATreeApi.Logical.saveChildNodes(c)%3B%0ATreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c))%3B%0A%7D%0A%7D%2C%0A_nodeNeedsDistribution%3A%20function%20(node)%20%7B%0Areturn%20node%20%26%26%20node.shadyRoot%20%26%26%20DomApi.hasInsertionPoint(node.shadyRoot)%3B%0A%7D%2C%0A_addNodeToHost%3A%20function%20(host%2C%20node)%20%7B%0Aif%20(host._elementAdd)%20%7B%0Ahost._elementAdd(node)%3B%0A%7D%0A%7D%2C%0A_removeNodeFromHost%3A%20function%20(host%2C%20node)%20%7B%0Aif%20(host._elementRemove)%20%7B%0Ahost._elementRemove(node)%3B%0A%7D%0A%7D%2C%0A_removeDistributedChildren%3A%20function%20(root%2C%20container)%20%7B%0Avar%20hostNeedsDist%3B%0Avar%20ip%24%20%3D%20root._insertionPoints%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20ip%24.length%3B%20i%2B%2B)%20%7B%0Avar%20content%20%3D%20ip%24%5Bi%5D%3B%0Aif%20(this._contains(container%2C%20content))%20%7B%0Avar%20dc%24%20%3D%20dom(content).getDistributedNodes()%3B%0Afor%20(var%20j%20%3D%200%3B%20j%20%3C%20dc%24.length%3B%20j%2B%2B)%20%7B%0AhostNeedsDist%20%3D%20true%3B%0Avar%20node%20%3D%20dc%24%5Bj%5D%3B%0Avar%20parent%20%3D%20TreeApi.Composed.getParentNode(node)%3B%0Aif%20(parent)%20%7B%0ATreeApi.Composed.removeChild(parent%2C%20node)%3B%0A%7D%0A%7D%0A%7D%0A%7D%0Areturn%20hostNeedsDist%3B%0A%7D%2C%0A_contains%3A%20function%20(container%2C%20node)%20%7B%0Awhile%20(node)%20%7B%0Aif%20(node%20%3D%3D%20container)%20%7B%0Areturn%20true%3B%0A%7D%0Anode%20%3D%20TreeApi.Logical.getParentNode(node)%3B%0A%7D%0A%7D%2C%0A_removeOwnerShadyRoot%3A%20function%20(node)%20%7B%0Aif%20(this._hasCachedOwnerRoot(node))%20%7B%0Avar%20c%24%20%3D%20TreeApi.Logical.getChildNodes(node)%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20c%24.length%2C%20n%3B%20i%20%3C%20l%20%26%26%20(n%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Athis._removeOwnerShadyRoot(n)%3B%0A%7D%0A%7D%0Anode._ownerShadyRoot%20%3D%20undefined%3B%0A%7D%2C%0A_firstComposedNode%3A%20function%20(content)%20%7B%0Avar%20n%24%20%3D%20dom(content).getDistributedNodes()%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20n%24.length%2C%20n%2C%20p%24%3B%20i%20%3C%20l%20%26%26%20(n%20%3D%20n%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Ap%24%20%3D%20dom(n).getDestinationInsertionPoints()%3B%0Aif%20(p%24%5Bp%24.length%20-%201%5D%20%3D%3D%3D%20content)%20%7B%0Areturn%20n%3B%0A%7D%0A%7D%0A%7D%2C%0AquerySelector%3A%20function%20(selector)%20%7B%0Avar%20result%20%3D%20this._query(function%20(n)%20%7B%0Areturn%20DomApi.matchesSelector.call(n%2C%20selector)%3B%0A%7D%2C%20this.node%2C%20function%20(n)%20%7B%0Areturn%20Boolean(n)%3B%0A%7D)%5B0%5D%3B%0Areturn%20result%20%7C%7C%20null%3B%0A%7D%2C%0AquerySelectorAll%3A%20function%20(selector)%20%7B%0Areturn%20this._query(function%20(n)%20%7B%0Areturn%20DomApi.matchesSelector.call(n%2C%20selector)%3B%0A%7D%2C%20this.node)%3B%0A%7D%2C%0AgetDestinationInsertionPoints%3A%20function%20()%20%7B%0Areturn%20this.node._destinationInsertionPoints%20%7C%7C%20%5B%5D%3B%0A%7D%2C%0AgetDistributedNodes%3A%20function%20()%20%7B%0Areturn%20this.node._distributedNodes%20%7C%7C%20%5B%5D%3B%0A%7D%2C%0A_clear%3A%20function%20()%20%7B%0Awhile%20(this.childNodes.length)%20%7B%0Athis.removeChild(this.childNodes%5B0%5D)%3B%0A%7D%0A%7D%2C%0AsetAttribute%3A%20function%20(name%2C%20value)%20%7B%0Athis.node.setAttribute(name%2C%20value)%3B%0Athis._maybeDistributeParent()%3B%0A%7D%2C%0AremoveAttribute%3A%20function%20(name)%20%7B%0Athis.node.removeAttribute(name)%3B%0Athis._maybeDistributeParent()%3B%0A%7D%2C%0A_maybeDistributeParent%3A%20function%20()%20%7B%0Aif%20(this._nodeNeedsDistribution(this.parentNode))%20%7B%0Athis._lazyDistribute(this.parentNode)%3B%0Areturn%20true%3B%0A%7D%0A%7D%2C%0AcloneNode%3A%20function%20(deep)%20%7B%0Avar%20n%20%3D%20nativeCloneNode.call(this.node%2C%20false)%3B%0Aif%20(deep)%20%7B%0Avar%20c%24%20%3D%20this.childNodes%3B%0Avar%20d%20%3D%20dom(n)%3B%0Afor%20(var%20i%20%3D%200%2C%20nc%3B%20i%20%3C%20c%24.length%3B%20i%2B%2B)%20%7B%0Anc%20%3D%20dom(c%24%5Bi%5D).cloneNode(true)%3B%0Ad.appendChild(nc)%3B%0A%7D%0A%7D%0Areturn%20n%3B%0A%7D%2C%0AimportNode%3A%20function%20(externalNode%2C%20deep)%20%7B%0Avar%20doc%20%3D%20this.node%20instanceof%20Document%20%3F%20this.node%20%3A%20this.node.ownerDocument%3B%0Avar%20n%20%3D%20nativeImportNode.call(doc%2C%20externalNode%2C%20false)%3B%0Aif%20(deep)%20%7B%0Avar%20c%24%20%3D%20TreeApi.Logical.getChildNodes(externalNode)%3B%0Avar%20d%20%3D%20dom(n)%3B%0Afor%20(var%20i%20%3D%200%2C%20nc%3B%20i%20%3C%20c%24.length%3B%20i%2B%2B)%20%7B%0Anc%20%3D%20dom(doc).importNode(c%24%5Bi%5D%2C%20true)%3B%0Ad.appendChild(nc)%3B%0A%7D%0A%7D%0Areturn%20n%3B%0A%7D%2C%0A_getComposedInnerHTML%3A%20function%20()%20%7B%0Areturn%20getInnerHTML(this.node%2C%20true)%3B%0A%7D%0A%7D)%3B%0AObject.defineProperties(DomApi.prototype%2C%20%7B%0AactiveElement%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Avar%20active%20%3D%20document.activeElement%3B%0Aif%20(!active)%20%7B%0Areturn%20null%3B%0A%7D%0Avar%20isShadyRoot%20%3D%20!!this.node._isShadyRoot%3B%0Aif%20(this.node%20!%3D%3D%20document)%20%7B%0Aif%20(!isShadyRoot)%20%7B%0Areturn%20null%3B%0A%7D%0Aif%20(this.node.host%20%3D%3D%3D%20active%20%7C%7C%20!this.node.host.contains(active))%20%7B%0Areturn%20null%3B%0A%7D%0A%7D%0Avar%20activeRoot%20%3D%20dom(active).getOwnerRoot()%3B%0Awhile%20(activeRoot%20%26%26%20activeRoot%20!%3D%3D%20this.node)%20%7B%0Aactive%20%3D%20activeRoot.host%3B%0AactiveRoot%20%3D%20dom(active).getOwnerRoot()%3B%0A%7D%0Aif%20(this.node%20%3D%3D%3D%20document)%20%7B%0Areturn%20activeRoot%20%3F%20null%20%3A%20active%3B%0A%7D%20else%20%7B%0Areturn%20activeRoot%20%3D%3D%3D%20this.node%20%3F%20active%20%3A%20null%3B%0A%7D%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AchildNodes%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Avar%20c%24%20%3D%20TreeApi.Logical.getChildNodes(this.node)%3B%0Areturn%20Array.isArray(c%24)%20%3F%20c%24%20%3A%20TreeApi.arrayCopyChildNodes(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0Achildren%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Aif%20(TreeApi.Logical.hasChildNodes(this.node))%20%7B%0Areturn%20Array.prototype.filter.call(this.childNodes%2C%20function%20(n)%20%7B%0Areturn%20n.nodeType%20%3D%3D%3D%20Node.ELEMENT_NODE%3B%0A%7D)%3B%0A%7D%20else%20%7B%0Areturn%20TreeApi.arrayCopyChildren(this.node)%3B%0A%7D%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AparentNode%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getParentNode(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AfirstChild%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getFirstChild(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AlastChild%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getLastChild(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AnextSibling%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getNextSibling(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0ApreviousSibling%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getPreviousSibling(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AfirstElementChild%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getFirstElementChild(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AlastElementChild%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getLastElementChild(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AnextElementSibling%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getNextElementSibling(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0ApreviousElementSibling%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.Logical.getPreviousElementSibling(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AtextContent%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Avar%20nt%20%3D%20this.node.nodeType%3B%0Aif%20(nt%20%3D%3D%3D%20Node.TEXT_NODE%20%7C%7C%20nt%20%3D%3D%3D%20Node.COMMENT_NODE)%20%7B%0Areturn%20this.node.textContent%3B%0A%7D%20else%20%7B%0Avar%20tc%20%3D%20%5B%5D%3B%0Afor%20(var%20i%20%3D%200%2C%20cn%20%3D%20this.childNodes%2C%20c%3B%20c%20%3D%20cn%5Bi%5D%3B%20i%2B%2B)%20%7B%0Aif%20(c.nodeType%20!%3D%3D%20Node.COMMENT_NODE)%20%7B%0Atc.push(c.textContent)%3B%0A%7D%0A%7D%0Areturn%20tc.join('')%3B%0A%7D%0A%7D%2C%0Aset%3A%20function%20(text)%20%7B%0Avar%20nt%20%3D%20this.node.nodeType%3B%0Aif%20(nt%20%3D%3D%3D%20Node.TEXT_NODE%20%7C%7C%20nt%20%3D%3D%3D%20Node.COMMENT_NODE)%20%7B%0Athis.node.textContent%20%3D%20text%3B%0A%7D%20else%20%7B%0Athis._clear()%3B%0Aif%20(text)%20%7B%0Athis.appendChild(document.createTextNode(text))%3B%0A%7D%0A%7D%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AinnerHTML%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Avar%20nt%20%3D%20this.node.nodeType%3B%0Aif%20(nt%20%3D%3D%3D%20Node.TEXT_NODE%20%7C%7C%20nt%20%3D%3D%3D%20Node.COMMENT_NODE)%20%7B%0Areturn%20null%3B%0A%7D%20else%20%7B%0Areturn%20getInnerHTML(this.node)%3B%0A%7D%0A%7D%2C%0Aset%3A%20function%20(text)%20%7B%0Avar%20nt%20%3D%20this.node.nodeType%3B%0Aif%20(nt%20!%3D%3D%20Node.TEXT_NODE%20%7C%7C%20nt%20!%3D%3D%20Node.COMMENT_NODE)%20%7B%0Athis._clear()%3B%0Avar%20d%20%3D%20document.createElement('div')%3B%0Ad.innerHTML%20%3D%20text%3B%0Avar%20c%24%20%3D%20TreeApi.arrayCopyChildNodes(d)%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20c%24.length%3B%20i%2B%2B)%20%7B%0Athis.appendChild(c%24%5Bi%5D)%3B%0A%7D%0A%7D%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%0A%7D)%3B%0ADomApi.hasInsertionPoint%20%3D%20function%20(root)%20%7B%0Areturn%20Boolean(root%20%26%26%20root._insertionPoints.length)%3B%0A%7D%3B%0A%7D())%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20Settings%20%3D%20Polymer.Settings%3B%0Avar%20TreeApi%20%3D%20Polymer.TreeApi%3B%0Avar%20DomApi%20%3D%20Polymer.DomApi%3B%0Aif%20(!Settings.useShadow)%20%7B%0Areturn%3B%0A%7D%0APolymer.Base.mixin(DomApi.prototype%2C%20%7B%0AquerySelectorAll%3A%20function%20(selector)%20%7B%0Areturn%20TreeApi.arrayCopy(this.node.querySelectorAll(selector))%3B%0A%7D%2C%0AgetOwnerRoot%3A%20function%20()%20%7B%0Avar%20n%20%3D%20this.node%3B%0Awhile%20(n)%20%7B%0Aif%20(n.nodeType%20%3D%3D%3D%20Node.DOCUMENT_FRAGMENT_NODE%20%26%26%20n.host)%20%7B%0Areturn%20n%3B%0A%7D%0An%20%3D%20n.parentNode%3B%0A%7D%0A%7D%2C%0AimportNode%3A%20function%20(externalNode%2C%20deep)%20%7B%0Avar%20doc%20%3D%20this.node%20instanceof%20Document%20%3F%20this.node%20%3A%20this.node.ownerDocument%3B%0Areturn%20doc.importNode(externalNode%2C%20deep)%3B%0A%7D%2C%0AgetDestinationInsertionPoints%3A%20function%20()%20%7B%0Avar%20n%24%20%3D%20this.node.getDestinationInsertionPoints%20%26%26%20this.node.getDestinationInsertionPoints()%3B%0Areturn%20n%24%20%3F%20TreeApi.arrayCopy(n%24)%20%3A%20%5B%5D%3B%0A%7D%2C%0AgetDistributedNodes%3A%20function%20()%20%7B%0Avar%20n%24%20%3D%20this.node.getDistributedNodes%20%26%26%20this.node.getDistributedNodes()%3B%0Areturn%20n%24%20%3F%20TreeApi.arrayCopy(n%24)%20%3A%20%5B%5D%3B%0A%7D%0A%7D)%3B%0AObject.defineProperties(DomApi.prototype%2C%20%7B%0AactiveElement%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Avar%20node%20%3D%20DomApi.wrap(this.node)%3B%0Avar%20activeElement%20%3D%20node.activeElement%3B%0Areturn%20node.contains(activeElement)%20%3F%20activeElement%20%3A%20null%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AchildNodes%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.arrayCopyChildNodes(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0Achildren%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20TreeApi.arrayCopyChildren(this.node)%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AtextContent%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20this.node.textContent%3B%0A%7D%2C%0Aset%3A%20function%20(value)%20%7B%0Areturn%20this.node.textContent%20%3D%20value%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%2C%0AinnerHTML%3A%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20this.node.innerHTML%3B%0A%7D%2C%0Aset%3A%20function%20(value)%20%7B%0Areturn%20this.node.innerHTML%20%3D%20value%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%0A%7D)%3B%0Avar%20forwardMethods%20%3D%20function%20(m%24)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20m%24.length%3B%20i%2B%2B)%20%7B%0AforwardMethod(m%24%5Bi%5D)%3B%0A%7D%0A%7D%3B%0Avar%20forwardMethod%20%3D%20function%20(method)%20%7B%0ADomApi.prototype%5Bmethod%5D%20%3D%20function%20()%20%7B%0Areturn%20this.node%5Bmethod%5D.apply(this.node%2C%20arguments)%3B%0A%7D%3B%0A%7D%3B%0AforwardMethods(%5B%0A'cloneNode'%2C%0A'appendChild'%2C%0A'insertBefore'%2C%0A'removeChild'%2C%0A'replaceChild'%2C%0A'setAttribute'%2C%0A'removeAttribute'%2C%0A'querySelector'%0A%5D)%3B%0Avar%20forwardProperties%20%3D%20function%20(f%24)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20f%24.length%3B%20i%2B%2B)%20%7B%0AforwardProperty(f%24%5Bi%5D)%3B%0A%7D%0A%7D%3B%0Avar%20forwardProperty%20%3D%20function%20(name)%20%7B%0AObject.defineProperty(DomApi.prototype%2C%20name%2C%20%7B%0Aget%3A%20function%20()%20%7B%0Areturn%20this.node%5Bname%5D%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D)%3B%0A%7D%3B%0AforwardProperties(%5B%0A'parentNode'%2C%0A'firstChild'%2C%0A'lastChild'%2C%0A'nextSibling'%2C%0A'previousSibling'%2C%0A'firstElementChild'%2C%0A'lastElementChild'%2C%0A'nextElementSibling'%2C%0A'previousElementSibling'%0A%5D)%3B%0A%7D())%3BPolymer.Base.mixin(Polymer.dom%2C%20%7B%0A_flushGuard%3A%200%2C%0A_FLUSH_MAX%3A%20100%2C%0A_needsTakeRecords%3A%20!Polymer.Settings.useNativeCustomElements%2C%0A_debouncers%3A%20%5B%5D%2C%0A_staticFlushList%3A%20%5B%5D%2C%0A_finishDebouncer%3A%20null%2C%0Aflush%3A%20function%20()%20%7B%0Athis._flushGuard%20%3D%200%3B%0Athis._prepareFlush()%3B%0Awhile%20(this._debouncers.length%20%26%26%20this._flushGuard%20%3C%20this._FLUSH_MAX)%20%7B%0Awhile%20(this._debouncers.length)%20%7B%0Athis._debouncers.shift().complete()%3B%0A%7D%0Aif%20(this._finishDebouncer)%20%7B%0Athis._finishDebouncer.complete()%3B%0A%7D%0Athis._prepareFlush()%3B%0Athis._flushGuard%2B%2B%3B%0A%7D%0Aif%20(this._flushGuard%20%3E%3D%20this._FLUSH_MAX)%20%7B%0Aconsole.warn('Polymer.dom.flush%20aborted.%20Flush%20may%20not%20be%20complete.')%3B%0A%7D%0A%7D%2C%0A_prepareFlush%3A%20function%20()%20%7B%0Aif%20(this._needsTakeRecords)%20%7B%0ACustomElements.takeRecords()%3B%0A%7D%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20this._staticFlushList.length%3B%20i%2B%2B)%20%7B%0Athis._staticFlushList%5Bi%5D()%3B%0A%7D%0A%7D%2C%0AaddStaticFlush%3A%20function%20(fn)%20%7B%0Athis._staticFlushList.push(fn)%3B%0A%7D%2C%0AremoveStaticFlush%3A%20function%20(fn)%20%7B%0Avar%20i%20%3D%20this._staticFlushList.indexOf(fn)%3B%0Aif%20(i%20%3E%3D%200)%20%7B%0Athis._staticFlushList.splice(i%2C%201)%3B%0A%7D%0A%7D%2C%0AaddDebouncer%3A%20function%20(debouncer)%20%7B%0Athis._debouncers.push(debouncer)%3B%0Athis._finishDebouncer%20%3D%20Polymer.Debounce(this._finishDebouncer%2C%20this._finishFlush)%3B%0A%7D%2C%0A_finishFlush%3A%20function%20()%20%7B%0APolymer.dom._debouncers%20%3D%20%5B%5D%3B%0A%7D%0A%7D)%3BPolymer.EventApi%20%3D%20function%20()%20%7B%0A'use%20strict'%3B%0Avar%20DomApi%20%3D%20Polymer.DomApi.ctor%3B%0Avar%20Settings%20%3D%20Polymer.Settings%3B%0ADomApi.Event%20%3D%20function%20(event)%20%7B%0Athis.event%20%3D%20event%3B%0A%7D%3B%0Aif%20(Settings.useShadow)%20%7B%0ADomApi.Event.prototype%20%3D%20%7B%0Aget%20rootTarget()%20%7B%0Areturn%20this.event.path%5B0%5D%3B%0A%7D%2C%0Aget%20localTarget()%20%7B%0Areturn%20this.event.target%3B%0A%7D%2C%0Aget%20path()%20%7B%0Avar%20path%20%3D%20this.event.path%3B%0Aif%20(!Array.isArray(path))%20%7B%0Apath%20%3D%20Array.prototype.slice.call(path)%3B%0A%7D%0Areturn%20path%3B%0A%7D%0A%7D%3B%0A%7D%20else%20%7B%0ADomApi.Event.prototype%20%3D%20%7B%0Aget%20rootTarget()%20%7B%0Areturn%20this.event.target%3B%0A%7D%2C%0Aget%20localTarget()%20%7B%0Avar%20current%20%3D%20this.event.currentTarget%3B%0Avar%20currentRoot%20%3D%20current%20%26%26%20Polymer.dom(current).getOwnerRoot()%3B%0Avar%20p%24%20%3D%20this.path%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20p%24.length%3B%20i%2B%2B)%20%7B%0Aif%20(Polymer.dom(p%24%5Bi%5D).getOwnerRoot()%20%3D%3D%3D%20currentRoot)%20%7B%0Areturn%20p%24%5Bi%5D%3B%0A%7D%0A%7D%0A%7D%2C%0Aget%20path()%20%7B%0Aif%20(!this.event._path)%20%7B%0Avar%20path%20%3D%20%5B%5D%3B%0Avar%20current%20%3D%20this.rootTarget%3B%0Awhile%20(current)%20%7B%0Apath.push(current)%3B%0Avar%20insertionPoints%20%3D%20Polymer.dom(current).getDestinationInsertionPoints()%3B%0Aif%20(insertionPoints.length)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20insertionPoints.length%20-%201%3B%20i%2B%2B)%20%7B%0Apath.push(insertionPoints%5Bi%5D)%3B%0A%7D%0Acurrent%20%3D%20insertionPoints%5BinsertionPoints.length%20-%201%5D%3B%0A%7D%20else%20%7B%0Acurrent%20%3D%20Polymer.dom(current).parentNode%20%7C%7C%20current.host%3B%0A%7D%0A%7D%0Apath.push(window)%3B%0Athis.event._path%20%3D%20path%3B%0A%7D%0Areturn%20this.event._path%3B%0A%7D%0A%7D%3B%0A%7D%0Avar%20factory%20%3D%20function%20(event)%20%7B%0Aif%20(!event.__eventApi)%20%7B%0Aevent.__eventApi%20%3D%20new%20DomApi.Event(event)%3B%0A%7D%0Areturn%20event.__eventApi%3B%0A%7D%3B%0Areturn%20%7B%20factory%3A%20factory%20%7D%3B%0A%7D()%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20DomApi%20%3D%20Polymer.DomApi.ctor%3B%0Avar%20useShadow%20%3D%20Polymer.Settings.useShadow%3B%0AObject.defineProperty(DomApi.prototype%2C%20'classList'%2C%20%7B%0Aget%3A%20function%20()%20%7B%0Aif%20(!this._classList)%20%7B%0Athis._classList%20%3D%20new%20DomApi.ClassList(this)%3B%0A%7D%0Areturn%20this._classList%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D)%3B%0ADomApi.ClassList%20%3D%20function%20(host)%20%7B%0Athis.domApi%20%3D%20host%3B%0Athis.node%20%3D%20host.node%3B%0A%7D%3B%0ADomApi.ClassList.prototype%20%3D%20%7B%0Aadd%3A%20function%20()%20%7B%0Athis.node.classList.add.apply(this.node.classList%2C%20arguments)%3B%0Athis._distributeParent()%3B%0A%7D%2C%0Aremove%3A%20function%20()%20%7B%0Athis.node.classList.remove.apply(this.node.classList%2C%20arguments)%3B%0Athis._distributeParent()%3B%0A%7D%2C%0Atoggle%3A%20function%20()%20%7B%0Athis.node.classList.toggle.apply(this.node.classList%2C%20arguments)%3B%0Athis._distributeParent()%3B%0A%7D%2C%0A_distributeParent%3A%20function%20()%20%7B%0Aif%20(!useShadow)%20%7B%0Athis.domApi._maybeDistributeParent()%3B%0A%7D%0A%7D%2C%0Acontains%3A%20function%20()%20%7B%0Areturn%20this.node.classList.contains.apply(this.node.classList%2C%20arguments)%3B%0A%7D%0A%7D%3B%0A%7D())%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20DomApi%20%3D%20Polymer.DomApi.ctor%3B%0Avar%20Settings%20%3D%20Polymer.Settings%3B%0ADomApi.EffectiveNodesObserver%20%3D%20function%20(domApi)%20%7B%0Athis.domApi%20%3D%20domApi%3B%0Athis.node%20%3D%20this.domApi.node%3B%0Athis._listeners%20%3D%20%5B%5D%3B%0A%7D%3B%0ADomApi.EffectiveNodesObserver.prototype%20%3D%20%7B%0AaddListener%3A%20function%20(callback)%20%7B%0Aif%20(!this._isSetup)%20%7B%0Athis._setup()%3B%0Athis._isSetup%20%3D%20true%3B%0A%7D%0Avar%20listener%20%3D%20%7B%0Afn%3A%20callback%2C%0A_nodes%3A%20%5B%5D%0A%7D%3B%0Athis._listeners.push(listener)%3B%0Athis._scheduleNotify()%3B%0Areturn%20listener%3B%0A%7D%2C%0AremoveListener%3A%20function%20(handle)%20%7B%0Avar%20i%20%3D%20this._listeners.indexOf(handle)%3B%0Aif%20(i%20%3E%3D%200)%20%7B%0Athis._listeners.splice(i%2C%201)%3B%0Ahandle._nodes%20%3D%20%5B%5D%3B%0A%7D%0Aif%20(!this._hasListeners())%20%7B%0Athis._cleanup()%3B%0Athis._isSetup%20%3D%20false%3B%0A%7D%0A%7D%2C%0A_setup%3A%20function%20()%20%7B%0Athis._observeContentElements(this.domApi.childNodes)%3B%0A%7D%2C%0A_cleanup%3A%20function%20()%20%7B%0Athis._unobserveContentElements(this.domApi.childNodes)%3B%0A%7D%2C%0A_hasListeners%3A%20function%20()%20%7B%0Areturn%20Boolean(this._listeners.length)%3B%0A%7D%2C%0A_scheduleNotify%3A%20function%20()%20%7B%0Aif%20(this._debouncer)%20%7B%0Athis._debouncer.stop()%3B%0A%7D%0Athis._debouncer%20%3D%20Polymer.Debounce(this._debouncer%2C%20this._notify)%3B%0Athis._debouncer.context%20%3D%20this%3B%0APolymer.dom.addDebouncer(this._debouncer)%3B%0A%7D%2C%0Anotify%3A%20function%20()%20%7B%0Aif%20(this._hasListeners())%20%7B%0Athis._scheduleNotify()%3B%0A%7D%0A%7D%2C%0A_notify%3A%20function%20()%20%7B%0Athis._beforeCallListeners()%3B%0Athis._callListeners()%3B%0A%7D%2C%0A_beforeCallListeners%3A%20function%20()%20%7B%0Athis._updateContentElements()%3B%0A%7D%2C%0A_updateContentElements%3A%20function%20()%20%7B%0Athis._observeContentElements(this.domApi.childNodes)%3B%0A%7D%2C%0A_observeContentElements%3A%20function%20(elements)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20n%3B%20i%20%3C%20elements.length%20%26%26%20(n%20%3D%20elements%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(this._isContent(n))%20%7B%0An.__observeNodesMap%20%3D%20n.__observeNodesMap%20%7C%7C%20new%20WeakMap()%3B%0Aif%20(!n.__observeNodesMap.has(this))%20%7B%0An.__observeNodesMap.set(this%2C%20this._observeContent(n))%3B%0A%7D%0A%7D%0A%7D%0A%7D%2C%0A_observeContent%3A%20function%20(content)%20%7B%0Avar%20self%20%3D%20this%3B%0Avar%20h%20%3D%20Polymer.dom(content).observeNodes(function%20()%20%7B%0Aself._scheduleNotify()%3B%0A%7D)%3B%0Ah._avoidChangeCalculation%20%3D%20true%3B%0Areturn%20h%3B%0A%7D%2C%0A_unobserveContentElements%3A%20function%20(elements)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20n%2C%20h%3B%20i%20%3C%20elements.length%20%26%26%20(n%20%3D%20elements%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aif%20(this._isContent(n))%20%7B%0Ah%20%3D%20n.__observeNodesMap.get(this)%3B%0Aif%20(h)%20%7B%0APolymer.dom(n).unobserveNodes(h)%3B%0An.__observeNodesMap.delete(this)%3B%0A%7D%0A%7D%0A%7D%0A%7D%2C%0A_isContent%3A%20function%20(node)%20%7B%0Areturn%20node.localName%20%3D%3D%3D%20'content'%3B%0A%7D%2C%0A_callListeners%3A%20function%20()%20%7B%0Avar%20o%24%20%3D%20this._listeners%3B%0Avar%20nodes%20%3D%20this._getEffectiveNodes()%3B%0Afor%20(var%20i%20%3D%200%2C%20o%3B%20i%20%3C%20o%24.length%20%26%26%20(o%20%3D%20o%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Avar%20info%20%3D%20this._generateListenerInfo(o%2C%20nodes)%3B%0Aif%20(info%20%7C%7C%20o._alwaysNotify)%20%7B%0Athis._callListener(o%2C%20info)%3B%0A%7D%0A%7D%0A%7D%2C%0A_getEffectiveNodes%3A%20function%20()%20%7B%0Areturn%20this.domApi.getEffectiveChildNodes()%3B%0A%7D%2C%0A_generateListenerInfo%3A%20function%20(listener%2C%20newNodes)%20%7B%0Aif%20(listener._avoidChangeCalculation)%20%7B%0Areturn%20true%3B%0A%7D%0Avar%20oldNodes%20%3D%20listener._nodes%3B%0Avar%20info%20%3D%20%7B%0Atarget%3A%20this.node%2C%0AaddedNodes%3A%20%5B%5D%2C%0AremovedNodes%3A%20%5B%5D%0A%7D%3B%0Avar%20splices%20%3D%20Polymer.ArraySplice.calculateSplices(newNodes%2C%20oldNodes)%3B%0Afor%20(var%20i%20%3D%200%2C%20s%3B%20i%20%3C%20splices.length%20%26%26%20(s%20%3D%20splices%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Afor%20(var%20j%20%3D%200%2C%20n%3B%20j%20%3C%20s.removed.length%20%26%26%20(n%20%3D%20s.removed%5Bj%5D)%3B%20j%2B%2B)%20%7B%0Ainfo.removedNodes.push(n)%3B%0A%7D%0A%7D%0Afor%20(i%20%3D%200%2C%20s%3B%20i%20%3C%20splices.length%20%26%26%20(s%20%3D%20splices%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Afor%20(j%20%3D%20s.index%3B%20j%20%3C%20s.index%20%2B%20s.addedCount%3B%20j%2B%2B)%20%7B%0Ainfo.addedNodes.push(newNodes%5Bj%5D)%3B%0A%7D%0A%7D%0Alistener._nodes%20%3D%20newNodes%3B%0Aif%20(info.addedNodes.length%20%7C%7C%20info.removedNodes.length)%20%7B%0Areturn%20info%3B%0A%7D%0A%7D%2C%0A_callListener%3A%20function%20(listener%2C%20info)%20%7B%0Areturn%20listener.fn.call(this.node%2C%20info)%3B%0A%7D%2C%0AenableShadowAttributeTracking%3A%20function%20()%20%7B%0A%7D%0A%7D%3B%0Aif%20(Settings.useShadow)%20%7B%0Avar%20baseSetup%20%3D%20DomApi.EffectiveNodesObserver.prototype._setup%3B%0Avar%20baseCleanup%20%3D%20DomApi.EffectiveNodesObserver.prototype._cleanup%3B%0APolymer.Base.mixin(DomApi.EffectiveNodesObserver.prototype%2C%20%7B%0A_setup%3A%20function%20()%20%7B%0Aif%20(!this._observer)%20%7B%0Avar%20self%20%3D%20this%3B%0Athis._mutationHandler%20%3D%20function%20(mxns)%20%7B%0Aif%20(mxns%20%26%26%20mxns.length)%20%7B%0Aself._scheduleNotify()%3B%0A%7D%0A%7D%3B%0Athis._observer%20%3D%20new%20MutationObserver(this._mutationHandler)%3B%0Athis._boundFlush%20%3D%20function%20()%20%7B%0Aself._flush()%3B%0A%7D%3B%0APolymer.dom.addStaticFlush(this._boundFlush)%3B%0Athis._observer.observe(this.node%2C%20%7B%20childList%3A%20true%20%7D)%3B%0A%7D%0AbaseSetup.call(this)%3B%0A%7D%2C%0A_cleanup%3A%20function%20()%20%7B%0Athis._observer.disconnect()%3B%0Athis._observer%20%3D%20null%3B%0Athis._mutationHandler%20%3D%20null%3B%0APolymer.dom.removeStaticFlush(this._boundFlush)%3B%0AbaseCleanup.call(this)%3B%0A%7D%2C%0A_flush%3A%20function%20()%20%7B%0Aif%20(this._observer)%20%7B%0Athis._mutationHandler(this._observer.takeRecords())%3B%0A%7D%0A%7D%2C%0AenableShadowAttributeTracking%3A%20function%20()%20%7B%0Aif%20(this._observer)%20%7B%0Athis._makeContentListenersAlwaysNotify()%3B%0Athis._observer.disconnect()%3B%0Athis._observer.observe(this.node%2C%20%7B%0AchildList%3A%20true%2C%0Aattributes%3A%20true%2C%0Asubtree%3A%20true%0A%7D)%3B%0Avar%20root%20%3D%20this.domApi.getOwnerRoot()%3B%0Avar%20host%20%3D%20root%20%26%26%20root.host%3B%0Aif%20(host%20%26%26%20Polymer.dom(host).observer)%20%7B%0APolymer.dom(host).observer.enableShadowAttributeTracking()%3B%0A%7D%0A%7D%0A%7D%2C%0A_makeContentListenersAlwaysNotify%3A%20function%20()%20%7B%0Afor%20(var%20i%20%3D%200%2C%20h%3B%20i%20%3C%20this._listeners.length%3B%20i%2B%2B)%20%7B%0Ah%20%3D%20this._listeners%5Bi%5D%3B%0Ah._alwaysNotify%20%3D%20h._isContentListener%3B%0A%7D%0A%7D%0A%7D)%3B%0A%7D%0A%7D())%3B(function%20()%20%7B%0A'use%20strict'%3B%0Avar%20DomApi%20%3D%20Polymer.DomApi.ctor%3B%0Avar%20Settings%20%3D%20Polymer.Settings%3B%0ADomApi.DistributedNodesObserver%20%3D%20function%20(domApi)%20%7B%0ADomApi.EffectiveNodesObserver.call(this%2C%20domApi)%3B%0A%7D%3B%0ADomApi.DistributedNodesObserver.prototype%20%3D%20Object.create(DomApi.EffectiveNodesObserver.prototype)%3B%0APolymer.Base.mixin(DomApi.DistributedNodesObserver.prototype%2C%20%7B%0A_setup%3A%20function%20()%20%7B%0A%7D%2C%0A_cleanup%3A%20function%20()%20%7B%0A%7D%2C%0A_beforeCallListeners%3A%20function%20()%20%7B%0A%7D%2C%0A_getEffectiveNodes%3A%20function%20()%20%7B%0Areturn%20this.domApi.getDistributedNodes()%3B%0A%7D%0A%7D)%3B%0Aif%20(Settings.useShadow)%20%7B%0APolymer.Base.mixin(DomApi.DistributedNodesObserver.prototype%2C%20%7B%0A_setup%3A%20function%20()%20%7B%0Aif%20(!this._observer)%20%7B%0Avar%20root%20%3D%20this.domApi.getOwnerRoot()%3B%0Avar%20host%20%3D%20root%20%26%26%20root.host%3B%0Aif%20(host)%20%7B%0Avar%20self%20%3D%20this%3B%0Athis._observer%20%3D%20Polymer.dom(host).observeNodes(function%20()%20%7B%0Aself._scheduleNotify()%3B%0A%7D)%3B%0Athis._observer._isContentListener%20%3D%20true%3B%0Aif%20(this._hasAttrSelect())%20%7B%0APolymer.dom(host).observer.enableShadowAttributeTracking()%3B%0A%7D%0A%7D%0A%7D%0A%7D%2C%0A_hasAttrSelect%3A%20function%20()%20%7B%0Avar%20select%20%3D%20this.node.getAttribute('select')%3B%0Areturn%20select%20%26%26%20select.match(%2F%5B%5B.%5D%2B%2F)%3B%0A%7D%2C%0A_cleanup%3A%20function%20()%20%7B%0Avar%20root%20%3D%20this.domApi.getOwnerRoot()%3B%0Avar%20host%20%3D%20root%20%26%26%20root.host%3B%0Aif%20(host)%20%7B%0APolymer.dom(host).unobserveNodes(this._observer)%3B%0A%7D%0Athis._observer%20%3D%20null%3B%0A%7D%0A%7D)%3B%0A%7D%0A%7D())%3B(function%20()%20%7B%0Avar%20DomApi%20%3D%20Polymer.DomApi%3B%0Avar%20TreeApi%20%3D%20Polymer.TreeApi%3B%0APolymer.Base._addFeature(%7B%0A_prepShady%3A%20function%20()%20%7B%0Athis._useContent%20%3D%20this._useContent%20%7C%7C%20Boolean(this._template)%3B%0A%7D%2C%0A_setupShady%3A%20function%20()%20%7B%0Athis.shadyRoot%20%3D%20null%3B%0Aif%20(!this.__domApi)%20%7B%0Athis.__domApi%20%3D%20null%3B%0A%7D%0Aif%20(!this.__dom)%20%7B%0Athis.__dom%20%3D%20null%3B%0A%7D%0Aif%20(!this._ownerShadyRoot)%20%7B%0Athis._ownerShadyRoot%20%3D%20undefined%3B%0A%7D%0A%7D%2C%0A_poolContent%3A%20function%20()%20%7B%0Aif%20(this._useContent)%20%7B%0ATreeApi.Logical.saveChildNodes(this)%3B%0A%7D%0A%7D%2C%0A_setupRoot%3A%20function%20()%20%7B%0Aif%20(this._useContent)%20%7B%0Athis._createLocalRoot()%3B%0Aif%20(!this.dataHost)%20%7B%0AupgradeLogicalChildren(TreeApi.Logical.getChildNodes(this))%3B%0A%7D%0A%7D%0A%7D%2C%0A_createLocalRoot%3A%20function%20()%20%7B%0Athis.shadyRoot%20%3D%20this.root%3B%0Athis.shadyRoot._distributionClean%20%3D%20false%3B%0Athis.shadyRoot._hasDistributed%20%3D%20false%3B%0Athis.shadyRoot._isShadyRoot%20%3D%20true%3B%0Athis.shadyRoot._dirtyRoots%20%3D%20%5B%5D%3B%0Avar%20i%24%20%3D%20this.shadyRoot._insertionPoints%20%3D%20!this._notes%20%7C%7C%20this._notes._hasContent%20%3F%20this.shadyRoot.querySelectorAll('content')%20%3A%20%5B%5D%3B%0ATreeApi.Logical.saveChildNodes(this.shadyRoot)%3B%0Afor%20(var%20i%20%3D%200%2C%20c%3B%20i%20%3C%20i%24.length%3B%20i%2B%2B)%20%7B%0Ac%20%3D%20i%24%5Bi%5D%3B%0ATreeApi.Logical.saveChildNodes(c)%3B%0ATreeApi.Logical.saveChildNodes(c.parentNode)%3B%0A%7D%0Athis.shadyRoot.host%20%3D%20this%3B%0A%7D%2C%0AdistributeContent%3A%20function%20(updateInsertionPoints)%20%7B%0Aif%20(this.shadyRoot)%20%7B%0Athis.shadyRoot._invalidInsertionPoints%20%3D%20this.shadyRoot._invalidInsertionPoints%20%7C%7C%20updateInsertionPoints%3B%0Avar%20host%20%3D%20getTopDistributingHost(this)%3B%0APolymer.dom(this)._lazyDistribute(host)%3B%0A%7D%0A%7D%2C%0A_distributeContent%3A%20function%20()%20%7B%0Aif%20(this._useContent%20%26%26%20!this.shadyRoot._distributionClean)%20%7B%0Aif%20(this.shadyRoot._invalidInsertionPoints)%20%7B%0APolymer.dom(this)._updateInsertionPoints(this)%3B%0Athis.shadyRoot._invalidInsertionPoints%20%3D%20false%3B%0A%7D%0Athis._beginDistribute()%3B%0Athis._distributeDirtyRoots()%3B%0Athis._finishDistribute()%3B%0A%7D%0A%7D%2C%0A_beginDistribute%3A%20function%20()%20%7B%0Aif%20(this._useContent%20%26%26%20DomApi.hasInsertionPoint(this.shadyRoot))%20%7B%0Athis._resetDistribution()%3B%0Athis._distributePool(this.shadyRoot%2C%20this._collectPool())%3B%0A%7D%0A%7D%2C%0A_distributeDirtyRoots%3A%20function%20()%20%7B%0Avar%20c%24%20%3D%20this.shadyRoot._dirtyRoots%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20c%24.length%2C%20c%3B%20i%20%3C%20l%20%26%26%20(c%20%3D%20c%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Ac._distributeContent()%3B%0A%7D%0Athis.shadyRoot._dirtyRoots%20%3D%20%5B%5D%3B%0A%7D%2C%0A_finishDistribute%3A%20function%20()%20%7B%0Aif%20(this._useContent)%20%7B%0Athis.shadyRoot._distributionClean%20%3D%20true%3B%0Aif%20(DomApi.hasInsertionPoint(this.shadyRoot))%20%7B%0Athis._composeTree()%3B%0AnotifyContentObservers(this.shadyRoot)%3B%0A%7D%20else%20%7B%0Aif%20(!this.shadyRoot._hasDistributed)%20%7B%0ATreeApi.Composed.clearChildNodes(this)%3B%0Athis.appendChild(this.shadyRoot)%3B%0A%7D%20else%20%7B%0Avar%20children%20%3D%20this._composeNode(this)%3B%0Athis._updateChildNodes(this%2C%20children)%3B%0A%7D%0A%7D%0Aif%20(!this.shadyRoot._hasDistributed)%20%7B%0AnotifyInitialDistribution(this)%3B%0A%7D%0Athis.shadyRoot._hasDistributed%20%3D%20true%3B%0A%7D%0A%7D%2C%0AelementMatches%3A%20function%20(selector%2C%20node)%20%7B%0Anode%20%3D%20node%20%7C%7C%20this%3B%0Areturn%20DomApi.matchesSelector.call(node%2C%20selector)%3B%0A%7D%2C%0A_resetDistribution%3A%20function%20()%20%7B%0Avar%20children%20%3D%20TreeApi.Logical.getChildNodes(this)%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20children.length%3B%20i%2B%2B)%20%7B%0Avar%20child%20%3D%20children%5Bi%5D%3B%0Aif%20(child._destinationInsertionPoints)%20%7B%0Achild._destinationInsertionPoints%20%3D%20undefined%3B%0A%7D%0Aif%20(isInsertionPoint(child))%20%7B%0AclearDistributedDestinationInsertionPoints(child)%3B%0A%7D%0A%7D%0Avar%20root%20%3D%20this.shadyRoot%3B%0Avar%20p%24%20%3D%20root._insertionPoints%3B%0Afor%20(var%20j%20%3D%200%3B%20j%20%3C%20p%24.length%3B%20j%2B%2B)%20%7B%0Ap%24%5Bj%5D._distributedNodes%20%3D%20%5B%5D%3B%0A%7D%0A%7D%2C%0A_collectPool%3A%20function%20()%20%7B%0Avar%20pool%20%3D%20%5B%5D%3B%0Avar%20children%20%3D%20TreeApi.Logical.getChildNodes(this)%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20children.length%3B%20i%2B%2B)%20%7B%0Avar%20child%20%3D%20children%5Bi%5D%3B%0Aif%20(isInsertionPoint(child))%20%7B%0Apool.push.apply(pool%2C%20child._distributedNodes)%3B%0A%7D%20else%20%7B%0Apool.push(child)%3B%0A%7D%0A%7D%0Areturn%20pool%3B%0A%7D%2C%0A_distributePool%3A%20function%20(node%2C%20pool)%20%7B%0Avar%20p%24%20%3D%20node._insertionPoints%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20p%24.length%2C%20p%3B%20i%20%3C%20l%20%26%26%20(p%20%3D%20p%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Athis._distributeInsertionPoint(p%2C%20pool)%3B%0AmaybeRedistributeParent(p%2C%20this)%3B%0A%7D%0A%7D%2C%0A_distributeInsertionPoint%3A%20function%20(content%2C%20pool)%20%7B%0Avar%20anyDistributed%20%3D%20false%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20pool.length%2C%20node%3B%20i%20%3C%20l%3B%20i%2B%2B)%20%7B%0Anode%20%3D%20pool%5Bi%5D%3B%0Aif%20(!node)%20%7B%0Acontinue%3B%0A%7D%0Aif%20(this._matchesContentSelect(node%2C%20content))%20%7B%0AdistributeNodeInto(node%2C%20content)%3B%0Apool%5Bi%5D%20%3D%20undefined%3B%0AanyDistributed%20%3D%20true%3B%0A%7D%0A%7D%0Aif%20(!anyDistributed)%20%7B%0Avar%20children%20%3D%20TreeApi.Logical.getChildNodes(content)%3B%0Afor%20(var%20j%20%3D%200%3B%20j%20%3C%20children.length%3B%20j%2B%2B)%20%7B%0AdistributeNodeInto(children%5Bj%5D%2C%20content)%3B%0A%7D%0A%7D%0A%7D%2C%0A_composeTree%3A%20function%20()%20%7B%0Athis._updateChildNodes(this%2C%20this._composeNode(this))%3B%0Avar%20p%24%20%3D%20this.shadyRoot._insertionPoints%3B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20p%24.length%2C%20p%2C%20parent%3B%20i%20%3C%20l%20%26%26%20(p%20%3D%20p%24%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Aparent%20%3D%20TreeApi.Logical.getParentNode(p)%3B%0Aif%20(!parent._useContent%20%26%26%20parent%20!%3D%3D%20this%20%26%26%20parent%20!%3D%3D%20this.shadyRoot)%20%7B%0Athis._updateChildNodes(parent%2C%20this._composeNode(parent))%3B%0A%7D%0A%7D%0A%7D%2C%0A_composeNode%3A%20function%20(node)%20%7B%0Avar%20children%20%3D%20%5B%5D%3B%0Avar%20c%24%20%3D%20TreeApi.Logical.getChildNodes(node.shadyRoot%20%7C%7C%20node)%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20c%24.length%3B%20i%2B%2B)%20%7B%0Avar%20child%20%3D%20c%24%5Bi%5D%3B%0Aif%20(isInsertionPoint(child))%20%7B%0Avar%20distributedNodes%20%3D%20child._distributedNodes%3B%0Afor%20(var%20j%20%3D%200%3B%20j%20%3C%20distributedNodes.length%3B%20j%2B%2B)%20%7B%0Avar%20distributedNode%20%3D%20distributedNodes%5Bj%5D%3B%0Aif%20(isFinalDestination(child%2C%20distributedNode))%20%7B%0Achildren.push(distributedNode)%3B%0A%7D%0A%7D%0A%7D%20else%20%7B%0Achildren.push(child)%3B%0A%7D%0A%7D%0Areturn%20children%3B%0A%7D%2C%0A_updateChildNodes%3A%20function%20(container%2C%20children)%20%7B%0Avar%20composed%20%3D%20TreeApi.Composed.getChildNodes(container)%3B%0Avar%20splices%20%3D%20Polymer.ArraySplice.calculateSplices(children%2C%20composed)%3B%0Afor%20(var%20i%20%3D%200%2C%20d%20%3D%200%2C%20s%3B%20i%20%3C%20splices.length%20%26%26%20(s%20%3D%20splices%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Afor%20(var%20j%20%3D%200%2C%20n%3B%20j%20%3C%20s.removed.length%20%26%26%20(n%20%3D%20s.removed%5Bj%5D)%3B%20j%2B%2B)%20%7B%0Aif%20(TreeApi.Composed.getParentNode(n)%20%3D%3D%3D%20container)%20%7B%0ATreeApi.Composed.removeChild(container%2C%20n)%3B%0A%7D%0Acomposed.splice(s.index%20%2B%20d%2C%201)%3B%0A%7D%0Ad%20-%3D%20s.addedCount%3B%0A%7D%0Afor%20(var%20i%20%3D%200%2C%20s%2C%20next%3B%20i%20%3C%20splices.length%20%26%26%20(s%20%3D%20splices%5Bi%5D)%3B%20i%2B%2B)%20%7B%0Anext%20%3D%20composed%5Bs.index%5D%3B%0Afor%20(j%20%3D%20s.index%2C%20n%3B%20j%20%3C%20s.index%20%2B%20s.addedCount%3B%20j%2B%2B)%20%7B%0An%20%3D%20children%5Bj%5D%3B%0ATreeApi.Composed.insertBefore(container%2C%20n%2C%20next)%3B%0Acomposed.splice(j%2C%200%2C%20n)%3B%0A%7D%0A%7D%0A%7D%2C%0A_matchesContentSelect%3A%20function%20(node%2C%20contentElement)%20%7B%0Avar%20select%20%3D%20contentElement.getAttribute('select')%3B%0Aif%20(!select)%20%7B%0Areturn%20true%3B%0A%7D%0Aselect%20%3D%20select.trim()%3B%0Aif%20(!select)%20%7B%0Areturn%20true%3B%0A%7D%0Aif%20(!(node%20instanceof%20Element))%20%7B%0Areturn%20false%3B%0A%7D%0Avar%20validSelectors%20%3D%20%2F%5E(%3Anot%5C()%3F%5B*.%23%5Ba-zA-Z_%7C%5D%2F%3B%0Aif%20(!validSelectors.test(select))%20%7B%0Areturn%20false%3B%0A%7D%0Areturn%20this.elementMatches(select%2C%20node)%3B%0A%7D%2C%0A_elementAdd%3A%20function%20()%20%7B%0A%7D%2C%0A_elementRemove%3A%20function%20()%20%7B%0A%7D%0A%7D)%3B%0Avar%20domHostDesc%20%3D%20%7B%0Aget%3A%20function%20()%20%7B%0Avar%20root%20%3D%20Polymer.dom(this).getOwnerRoot()%3B%0Areturn%20root%20%26%26%20root.host%3B%0A%7D%2C%0Aconfigurable%3A%20true%0A%7D%3B%0AObject.defineProperty(Polymer.Base%2C%20'domHost'%2C%20domHostDesc)%3B%0APolymer.BaseDescriptors.domHost%20%3D%20domHostDesc%3B%0Afunction%20distributeNodeInto(child%2C%20insertionPoint)%20%7B%0AinsertionPoint._distributedNodes.push(child)%3B%0Avar%20points%20%3D%20child._destinationInsertionPoints%3B%0Aif%20(!points)%20%7B%0Achild._destinationInsertionPoints%20%3D%20%5BinsertionPoint%5D%3B%0A%7D%20else%20%7B%0Apoints.push(insertionPoint)%3B%0A%7D%0A%7D%0Afunction%20clearDistributedDestinationInsertionPoints(content)%20%7B%0Avar%20e%24%20%3D%20content._distributedNodes%3B%0Aif%20(e%24)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20e%24.length%3B%20i%2B%2B)%20%7B%0Avar%20d%20%3D%20e%24%5Bi%5D._destinationInsertionPoints%3B%0Aif%20(d)%20%7B%0Ad.splice(d.indexOf(content)%20%2B%201%2C%20d.length)%3B%0A%7D%0A%7D%0A%7D%0A%7D%0Afunction%20maybeRedistributeParent(content%2C%20host)%20%7B%0Avar%20parent%20%3D%20TreeApi.Logical.getParentNode(content)%3B%0Aif%20(parent%20%26%26%20parent.shadyRoot%20%26%26%20DomApi.hasInsertionPoint(parent.shadyRoot)%20%26%26%20parent.shadyRoot._distributionClean)%20%7B%0Aparent.shadyRoot._distributionClean%20%3D%20false%3B%0Ahost.shadyRoot._dirtyRoots.push(parent)%3B%0A%7D%0A%7D%0Afunction%20isFinalDestination(insertionPoint%2C%20node)%20%7B%0Avar%20points%20%3D%20node._destinationInsertionPoints%3B%0Areturn%20points%20%26%26%20points%5Bpoints.length%20-%201%5D%20%3D%3D%3D%20insertionPoint%3B%0A%7D%0Afunction%20isInsertionPoint(node)%20%7B%0Areturn%20node.localName%20%3D%3D%20'content'%3B%0A%7D%0Afunction%20getTopDistributingHost(host)%20%7B%0Awhile%20(host%20%26%26%20hostNeedsRedistribution(host))%20%7B%0Ahost%20%3D%20host.domHost%3B%0A%7D%0Areturn%20host%3B%0A%7D%0Afunction%20hostNeedsRedistribution(host)%20%7B%0Avar%20c%24%20%3D%20TreeApi.Logical.getChildNodes(host)%3B%0Afor%20(var%20i%20%3D%200%2C%20c%3B%20i%20%3C%20c%24.length%3B%20i%2B%2B)%20%7B%0Ac%20%3D%20c%24%5Bi%5D%3B%0Aif%20(c.localName%20%26%26%20c.localName%20%3D%3D%3D%20'content')%20%7B%0Areturn%20host.domHost%3B%0A%7D%0A%7D%0A%7D%0Afunction%20notifyContentObservers(root)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20c%3B%20i%20%3C%20root._insertionPoints.length%3B%20i%2B%2B)%20%7B%0Ac%20%3D%20root._insertionPoints%5Bi%5D%3B%0Aif%20(DomApi.hasApi(c))%20%7B%0APolymer.dom(c).notifyObserver()%3B%0A%7D%0A%7D%0A%7D%0Afunction%20notifyInitialDistribution(host)%20%7B%0Aif%20(DomApi.hasApi(host))%20%7B%0APolymer.dom(host).notifyObserver()%3B%0A%7D%0A%7D%0Avar%20needsUpgrade%20%3D%20window.CustomElements%20%26%26%20!CustomElements.useNative%3B%0Afunction%20upgradeLogicalChildren(children)%20%7B%0Aif%20(needsUpgrade%20%26%26%20children)%20%7B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20children.length%3B%20i%2B%2B)%20%7B%0ACustomElements.upgrade(children%5Bi%5D)%3B%0A%7D%0A%7D%0A%7D%0A%7D())%3Bif%20(Polymer.Settings.useShadow)%20%7B%0APolymer.Base._addFeature(%7B%0A_poolContent%3A%20function%20()%20%7B%0A%7D%2C%0A_beginDistribute%3A%20function%20()%20%7B%0A%7D%2C%0AdistributeContent%3A%20function%20()%20%7B%0A%7D%2C%0A_distributeContent%3A%20function%20()%20%7B%0A%7D%2C%0A_finishDistribute%3A%20function%20()%20%7B%0A%7D%2C%0A_createLocalRoot%3A%20function%20()%20%7B%0Athis.createShadowRoot()%3B%0Athis.shadowRoot.appendChild(this.root)%3B%0Athis.root%20%3D%20this.shadowRoot%3B%0A%7D%0A%7D)%3B%0A%7DPolymer.Async%20%3D%20%7B%0A_currVal%3A%200%2C%0A_lastVal%3A%200%2C%0A_callbacks%3A%20%5B%5D%2C%0A_twiddleContent%3A%200%2C%0A_twiddle%3A%20document.createTextNode('')%2C%0Arun%3A%20function%20(callback%2C%20waitTime)%20%7B%0Aif%20(waitTime%20%3E%200)%20%7B%0Areturn%20~setTimeout(callback%2C%20waitTime)%3B%0A%7D%20else%20%7B%0Athis._twiddle.textContent%20%3D%20this._twiddleContent%2B%2B%3B%0Athis._callbacks.push(callback)%3B%0Areturn%20this._currVal%2B%2B%3B%0A%7D%0A%7D%2C%0Acancel%3A%20function%20(handle)%20%7B%0Aif%20(handle%20%3C%200)%20%7B%0AclearTimeout(~handle)%3B%0A%7D%20else%20%7B%0Avar%20idx%20%3D%20handle%20-%20this._lastVal%3B%0Aif%20(idx%20%3E%3D%200)%20%7B%0Aif%20(!this._callbacks%5Bidx%5D)%20%7B%0Athrow%20'invalid%20async%20handle%3A%20'%20%2B%20handle%3B%0A%7D%0Athis._callbacks%5Bidx%5D%20%3D%20null%3B%0A%7D%0A%7D%0A%7D%2C%0A_atEndOfMicrotask%3A%20function%20()%20%7B%0Avar%20len%20%3D%20this._callbacks.length%3B%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20len%3B%20i%2B%2B)%20%7B%0Avar%20cb%20%3D%20this._callbacks%5Bi%5D%3B%0Aif%20(cb)%20%7B%0Atry%20%7B%0Acb()%3B%0A%7D%20catch%20(e)%20%7B%0Ai%2B%2B%3B%0Athis._callbacks.splice(0%2C%20i)%3B%0Athis._lastVal%20%2B%3D%20i%3B%0Athis._twiddle.textContent%20%3D%20this._twiddleContent%2B%2B%3B%0Athrow%20e%3B%0A%7D%0A%7D%0A%7D%0Athis._callbacks.splice(0%2C%20len)%3B%0Athis._lastVal%20%2B%3D%20len%3B%0A%7D%0A%7D%3B%0Anew%20window.MutationObserver(function%20()%20%7B%0APolymer.Async._atEndOfMicrotask()%3B%0A%7D).observe(Polymer.Async._twiddle%2C%20%7B%20characterData%3A%20true%20%7D)%3BPolymer.Debounce%20%3D%20function%20()%20%7B%0Avar%20Async%20%3D%20Polymer.Async%3B%0Avar%20Debouncer%20%3D%20function%20(context)%20%7B%0Athis.context%20%3D%20context%3B%0Avar%20self%20%3D%20this%3B%0Athis.boundComplete%20%3D%20function%20()%20%7B%0Aself.complete()%3B%0A%7D%3B%0A%7D%3B%0ADebouncer.prototype%20%3D%20%7B%0Ago%3A%20function%20(callback%2C%20wait)%20%7B%0Avar%20h%3B%0Athis.finish%20%3D%20function%20()%20%7B%0AAsync.cancel(h)%3B%0A%7D%3B%0Ah%20%3D%20Async.run(this.boundComplete%2C%20wait)%3B%0Athis.callback%20%3D%20callback%3B%0A%7D%2C%0Astop%3A%20function%20()%20%7B%0Aif%20(this.finish)%20%7B%0Athis.finish()%3B%0Athis.finish%20%3D%20null%3B%0Athis.callback%20%3D%20null%3B%0A%7D%0A%7D%2C%0Acomplete%3A%20function%20()%20%7B%0Aif%20(this.finish)%20%7B%0Avar%20callback%20%3D%20this.callback%3B%0Athis.stop()%3B%0Acallback.call(this.context)%3B%0A%7D%0A%7D%0A%7D%3B%0Afunction%20debounce(debouncer%2C%20callback%2C%20wait)%20%7B%0Aif%20(debouncer)%20%7B%0Adebouncer.stop()%3B%0A%7D%20else%20%7B%0Adebouncer%20%3D%20new%20Debouncer(this)%3B%0A%7D%0Adebouncer.go(callback%2C%20wait)%3B%0Areturn%20debouncer%3B%0A%7D%0Areturn%20debounce%3B%0A%7D()%3BPolymer.Base._addFeature(%7B%0A_setupDebouncers%3A%20function%20()%20%7B%0Athis._debouncers%20%3D%20%7B%7D%3B%0A%7D%2C%0Adebounce%3A%20function%20(jobName%2C%20callback%2C%20wait)%20%7B%0Areturn%20this._debouncers%5BjobName%5D%20%3D%20Polymer.Debounce.call(this%2C%20this._debouncers%5BjobName%5D%2C%20callback%2C%20wait)%3B%0A%7D%2C%0AisDebouncerActive%3A%20function%20(jobName)%20%7B%0Avar%20debouncer%20%3D%20this._debouncers%5BjobName%5D%3B%0Areturn%20!!(debouncer%20%26%26%20debouncer.finish)%3B%0A%7D%2C%0AflushDebouncer%3A%20function%20(jobName)%20%7B%0Avar%20debouncer%20%3D%20this._debouncers%5BjobName%5D%3B%0Aif%20(debouncer)%20%7B%0Adebouncer.complete()%3B%0A%7D%0A%7D%2C%0AcancelDebouncer%3A%20function%20(jobName)%20%7B%0Avar%20debouncer%20%3D%20this._debouncers%5BjobName%5D%3B%0Aif%20(debouncer)%20%7B%0Adebouncer.stop()%3B%0A%7D%0A%7D%0A%7D)%3BPolymer.DomModule%20%3D%20document.createElement('dom-module')%3B%0APolymer.Base._addFeature(%7B%0A_registerFeatures%3A%20function%20()%20%7B%0Athis._prepIs()%3B%0Athis._prepBehaviors()%3B%0Athis._prepConstructor()%3B%0Athis._prepTemplate()%3B%0Athis._prepShady()%3B%0Athis._prepPropertyInfo()%3B%0A%7D%2C%0A_prepBehavior%3A%20function%20(b)%20%7B%0Athis._addHostAttributes(b.hostAttributes)%3B%0A%7D%2C%0A_initFeatures%3A%20function%20()%20%7B%0Athis._registerHost()%3B%0Aif%20(this._template)%20%7B%0Athis._poolContent()%3B%0Athis._beginHosting()%3B%0Athis._stampTemplate()%3B%0Athis._endHosting()%3B%0A%7D%0Athis._marshalHostAttributes()%3B%0Athis._setupDebouncers()%3B%0Athis._marshalBehaviors()%3B%0Athis._tryReady()%3B%0A%7D%2C%0A_marshalBehavior%3A%20function%20(b)%20%7B%0A%7D%0A%7D)%3B%0A%2F%2F%23%20sourceURL%3Dhttps%3A%2F%2Fwww.phil-taylor.com%2Fbower_components%2Fpolymer%2Fpolymer-mini.html.js%0A
251 ms
phil-taylor.com accessibility score
phil-taylor.com best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Browser errors were logged to the console
Issues were logged in the Issues panel in Chrome Devtools
phil-taylor.com SEO score
Mobile Friendly
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. [Learn more](https://developers.google.com/search/mobile-sites/).
Impact
Issue
Document uses legible font sizes
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Phil-taylor.com can be misinterpreted by Google and other search engines. Our service has detected that English is used on the page, and it matches the claimed language. Our system also found out that Phil-taylor.com main page’s claimed encoding is utf-8. Use of this encoding format is the best practice as the main page visitors from all over the world won’t have any issues with symbol transcription.
phil-taylor.com
Open Graph description is not detected on the main page of Phil Taylor. Lack of Open Graph description can be counter-productive for their social media presence, as such a description allows converting a website homepage (or other pages) into good-looking, rich and well-structured posts, when it is being shared on Facebook and other social media. For example, adding the following code snippet into HTML <head> tag will help to represent this web page correctly in social networks: