| OLD | NEW | 
|    1 <!DOCTYPE html><html><head><meta charset="UTF-8"> </head><body><div hidden="" by
     -vulcanize=""><script>!function(){function e(){document.body.removeAttribute("un
     resolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"intera
     ctive"===document.readyState||"complete"===document.readyState?e():addEventListe
     ner("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){var e=window.Po
     lymer||{};if(!e.noUrlSettings)for(var t,r=location.search.slice(1).split("&"),i=
     0;i<r.length&&(t=r[i]);i++)t=t.split("="),t[0]&&(e[t[0]]=t[1]||!0);return e.want
     Shadow="shadow"===e.dom,e.hasShadow=Boolean(Element.prototype.createShadowRoot),
     e.nativeShadow=e.hasShadow&&!window.ShadowDOMPolyfill,e.useShadow=e.wantShadow&&
     e.hasShadow,e.hasNativeImports=Boolean("import"in document.createElement("link")
     ),e.useNativeImports=e.hasNativeImports,e.useNativeCustomElements=!window.Custom
     Elements||window.CustomElements.useNative,e.useNativeShadow=e.useShadow&&e.nativ
     eShadow,e.usePolyfillProto=!e.useNativeCustomElements&&!Object.__proto__,e.hasNa
     tiveCSSProperties=!navigator.userAgent.match("AppleWebKit/601")&&window.CSS&&CSS
     .supports&&CSS.supports("box-shadow","0 0 0 var(--foo)"),e.useNativeCSSPropertie
     s=e.hasNativeCSSProperties&&e.lazyRegister&&e.useNativeCSSProperties,e}()},funct
     ion(){var e=window.Polymer;window.Polymer=function(e){"function"==typeof e&&(e=e
     .prototype),e||(e={});var r=t(e);e=r.prototype;var i={prototype:e};return e.exte
     nds&&(i.extends=e.extends),Polymer.telemetry._registrate(e),document.registerEle
     ment(e.is,i),r};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Polyme
     r.Base._getExtendedPrototype(e.extends)),e=Polymer.Base.chainObject(e,t),e.regis
     terCallback(),e.constructor};if(e)for(var r in e)Polymer[r]=e[r];Polymer.Class=t
     }(),Polymer.telemetry={registrations:[],_regLog:function(e){console.log("["+e.is
     +"]: registered")},_registrate:function(e){this.registrations.push(e),Polymer.lo
     g&&this._regLog(e)},dumpRegistrations:function(){this.registrations.forEach(this
     ._regLog)}},Object.defineProperty(window,"currentImport",{enumerable:!0,configur
     able:!0,get:function(){return(document._currentScript||document.currentScript).o
     wnerDocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function
     (e){this._ready?e():this._callbacks.push(e)},_makeReady:function(){this._ready=!
     0;for(var e=0;e<this._callbacks.length;e++)this._callbacks[e]();this._callbacks=
     []},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.Render
     Status._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextR
     ender:function(e,t,r){this._watchNextRender(),this._afterNextRenderQueue.push([e
     ,t,r])},hasRendered:function(){return this._ready},_watchNextRender:function(){i
     f(!this._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.
     RenderStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenR
     eady(e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushR
     enderCallbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNex
     tRender=!1})},_flushRenderCallbacks:function(e){for(var t,r=0;r<e.length;r++)t=e
     [r],t[1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenRead
     y(function(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._ca
     tchFirstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.
     whenLoaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.
     Settings;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.ext
     end(this,e)},registerCallback:function(){"max"===e.lazyRegister?this.beforeRegis
     ter&&this.beforeRegister():(this._desugarBehaviors(),this._doBehavior("beforeReg
     ister")),this._registerFeatures(),e.lazyRegister||this.ensureRegisterFinished()}
     ,createdCallback:function(){this.__hasRegisterFinished||this._ensureRegisterFini
     shed(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this,this._doBe
     havior("created"),this._initFeatures()},ensureRegisterFinished:function(){this._
     ensureRegisterFinished(this)},_ensureRegisterFinished:function(t){t.__hasRegiste
     rFinished===t.is&&t.is||("max"===e.lazyRegister&&(t._desugarBehaviors(),t._doBeh
     aviorOnly("beforeRegister")),t.__hasRegisterFinished=t.is,t._finishRegisterFeatu
     res&&t._finishRegisterFeatures(),t._doBehavior("registered"),e.usePolyfillProto&
     &t!==this&&t.extend(this,t))},attachedCallback:function(){var e=this;Polymer.Ren
     derStatus.whenReady(function(){e.isAttached=!0,e._doBehavior("attached")})},deta
     chedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.i
     sAttached=!1,e._doBehavior("detached")})},attributeChangedCallback:function(e,t,
     r){this._attributeChangedImpl(e),this._doBehavior("attributeChanged",[e,t,r])},_
     attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:fu
     nction(e,t){if(e&&t)for(var r,i=Object.getOwnPropertyNames(t),o=0;o<i.length&&(r
     =i[o]);o++)this.copyOwnProperty(r,t,e);return e||t},mixin:function(e,t){for(var 
     r in t)e[r]=t[r];return e},copyOwnProperty:function(e,t,r){var i=Object.getOwnPr
     opertyDescriptor(t,e);i&&Object.defineProperty(r,e,i)},_logger:function(e,t){swi
     tch(1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"err
     or":console[e].apply(console,t)}},_log:function(){var e=Array.prototype.slice.ca
     ll(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.sl
     ice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.prot
     otype.slice.call(arguments,0);this._logger("error",e)},_logf:function(){return t
     his._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0))}}
     ,Polymer.Base._logPrefix=function(){var e=window.chrome&&!/edge/i.test(navigator
     .userAgent)||/firefox/i.test(navigator.userAgent);return e?["%c[%s::%s]:","font-
     weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"]}(),Polymer.Base.chainObj
     ect=function(e,t){return e&&t&&e!==t&&(Object.__proto__||(e=Polymer.Base.extend(
     Object.create(t),e)),e.__proto__=t),e},Polymer.Base=Polymer.Base.chainObject(Pol
     ymer.Base,HTMLElement.prototype),window.CustomElements?Polymer.instanceof=Custom
     Elements.instanceof:Polymer.instanceof=function(e,t){return e instanceof t},Poly
     mer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance__)},Polymer.t
     elemetry.instanceCount=0}(),function(){function e(){if(s)for(var e,t=document._c
     urrentScript||document.currentScript,r=t&&t.ownerDocument||document,i=r.querySel
     ectorAll("dom-module"),o=i.length-1;o>=0&&(e=i[o]);o--){if(e.__upgraded__)return
     ;CustomElements.upgrade(e)}}var t={},r={},i=function(e){return t[e]||r[e.toLower
     Case()]},o=function(){return document.createElement("dom-module")};o.prototype=O
     bject.create(HTMLElement.prototype),Polymer.Base.extend(o.prototype,{constructor
     :o,createdCallback:function(){this.register()},register:function(e){e=e||this.id
     ||this.getAttribute("name")||this.getAttribute("is"),e&&(this.id=e,t[e]=this,r[e
     .toLowerCase()]=this)},import:function(t,r){if(t){var o=i(t);return o||(e(),o=i(
     t)),o&&r&&(o=o.querySelector(r)),o}}});var s=window.CustomElements&&!CustomEleme
     nts.useNative;document.registerElement("dom-module",o)}(),Polymer.Base._addFeatu
     re({_prepIs:function(){if(!this.is){var e=(document._currentScript||document.cur
     rentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttribute
     ("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLowerCase(
     ))}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){this.b
     ehaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors))},_d
     esugarSomeBehaviors:function(e){var t=[];e=this._flattenBehaviorsList(e);for(var
      r=e.length-1;r>=0;r--){var i=e[r];t.indexOf(i)===-1&&(this._mixinBehavior(i),t.
     unshift(i))}return t},_flattenBehaviorsList:function(e){for(var t=[],r=0;r<e.len
     gth;r++){var i=e[r];i instanceof Array?t=t.concat(this._flattenBehaviorsList(i))
     :i?t.push(i):this._warn(this._logf("_flattenBehaviorsList","behavior is null, ch
     eck for missing or 404 import"))}return t},_mixinBehavior:function(e){for(var t,
     r=Object.getOwnPropertyNames(e),i=0;i<r.length&&(t=r[i]);i++)Polymer.Base._behav
     iorProperties[t]||this.hasOwnProperty(t)||this.copyOwnProperty(t,e,this)},_prepB
     ehaviors:function(){this._prepFlattenedBehaviors(this.behaviors)},_prepFlattened
     Behaviors:function(e){for(var t=0,r=e.length;t<r;t++)this._prepBehavior(e[t]);th
     is._prepBehavior(this)},_doBehavior:function(e,t){for(var r=0;r<this.behaviors.l
     ength;r++)this._invokeBehavior(this.behaviors[r],e,t);this._invokeBehavior(this,
     e,t)},_doBehaviorOnly:function(e,t){for(var r=0;r<this.behaviors.length;r++)this
     ._invokeBehavior(this.behaviors[r],e,t)},_invokeBehavior:function(e,t,r){var i=e
     [t];i&&i.apply(this,r||Polymer.nar)},_marshalBehaviors:function(){for(var e=0;e<
     this.behaviors.length;e++)this._marshalBehavior(this.behaviors[e]);this._marshal
     Behavior(this)}}),Polymer.Base._behaviorProperties={hostAttributes:!0,beforeRegi
     ster:!0,registered:!0,properties:!0,observers:!0,listeners:!0,created:!0,attache
     d:!0,detached:!0,attributeChanged:!0,ready:!0},Polymer.Base._addFeature({_getExt
     endedPrototype:function(e){return this._getExtendedNativePrototype(e)},_nativePr
     ototypes:{},_getExtendedNativePrototype:function(e){var t=this._nativePrototypes
     [e];if(!t){var r=this.getNativePrototype(e);t=this.extend(Object.create(r),Polym
     er.Base),this._nativePrototypes[e]=t}return t},getNativePrototype:function(e){re
     turn Object.getPrototypeOf(document.createElement(e))}}),Polymer.Base._addFeatur
     e({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this
     .is]:[this.is];var e=function(){return this._factory(arguments)};this.hasOwnProp
     erty("extends")&&(e.extends=this.extends),Object.defineProperty(this,"constructo
     r",{value:e,writable:!0,configurable:!0}),e.prototype=this},_factory:function(e)
     {var t=document.createElement.apply(document,this._factoryArgs);return this.fact
     oryImpl&&this.factoryImpl.apply(t,e),t}}),Polymer.nob=Object.create(null),Polyme
     r.Base._addFeature({properties:{},getPropertyInfo:function(e){var t=this._getPro
     pertyInfo(e,this.properties);if(!t)for(var r=0;r<this.behaviors.length;r++)if(t=
     this._getPropertyInfo(e,this.behaviors[r].properties))return t;return t||Polymer
     .nob},_getPropertyInfo:function(e,t){var r=t&&t[e];return"function"==typeof r&&(
     r=t[e]={type:r}),r&&(r.defined=!0),r},_prepPropertyInfo:function(){this._propert
     yInfo={};for(var e=0;e<this.behaviors.length;e++)this._addPropertyInfo(this._pro
     pertyInfo,this.behaviors[e].properties);this._addPropertyInfo(this._propertyInfo
     ,this.properties),this._addPropertyInfo(this._propertyInfo,this._propertyEffects
     )},_addPropertyInfo:function(e,t){if(t){var r,i;for(var o in t)r=e[o],i=t[o],("_
     "!==o[0]||i.readOnly)&&(e[o]?(r.type||(r.type=i.type),r.readOnly||(r.readOnly=i.
     readOnly)):e[o]={type:"function"==typeof i?i:i.type,readOnly:i.readOnly,attribut
     e:Polymer.CaseMap.camelToDashCase(o)})}}}),Polymer.CaseMap={_caseMap:{},_rx:{das
     hToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(e){return th
     is._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replace(this._rx.dashToCa
     mel,function(e){return e[1].toUpperCase()}))},camelToDashCase:function(e){return
      this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camelToDash,"-$1").toLow
     erCase())}},Polymer.Base._addFeature({_addHostAttributes:function(e){this._aggre
     gatedAttributes||(this._aggregatedAttributes={}),e&&this.mixin(this._aggregatedA
     ttributes,e)},_marshalHostAttributes:function(){this._aggregatedAttributes&&this
     ._applyAttributes(this,this._aggregatedAttributes)},_applyAttributes:function(e,
     t){for(var r in t)if(!this.hasAttribute(r)&&"class"!==r){var i=t[r];this.seriali
     zeValueToAttribute(i,r,this)}},_marshalAttributes:function(){this._takeAttribute
     sToModel(this)},_takeAttributesToModel:function(e){if(this.hasAttributes())for(v
     ar t in this._propertyInfo){var r=this._propertyInfo[t];this.hasAttribute(r.attr
     ibute)&&this._setAttributeToProperty(e,r.attribute,t,r)}},_setAttributeToPropert
     y:function(e,t,r,i){if(!this._serializing&&(r=r||Polymer.CaseMap.dashToCamelCase
     (t),i=i||this._propertyInfo&&this._propertyInfo[r],i&&!i.readOnly)){var o=this.g
     etAttribute(t);e[r]=this.deserialize(o,i.type)}},_serializing:!1,reflectProperty
     ToAttribute:function(e,t,r){this._serializing=!0,r=void 0===r?this[e]:r,this.ser
     ializeValueToAttribute(r,t||Polymer.CaseMap.camelToDashCase(e)),this._serializin
     g=!1},serializeValueToAttribute:function(e,t,r){var i=this.serialize(e);r=r||thi
     s,void 0===i?r.removeAttribute(t):r.setAttribute(t,i)},deserialize:function(e,t)
     {switch(t){case Number:e=Number(e);break;case Boolean:e=null!=e;break;case Objec
     t:try{e=JSON.parse(e)}catch(e){}break;case Array:try{e=JSON.parse(e)}catch(t){e=
     null,console.warn("Polymer::Attributes: couldn`t decode Array as JSON")}break;ca
     se Date:e=new Date(e);break;case String:}return e},serialize:function(e){switch(
     typeof e){case"boolean":return e?"":void 0;case"object":if(e instanceof Date)ret
     urn e.toString();if(e)try{return JSON.stringify(e)}catch(e){return""}default:ret
     urn null!=e?e:void 0}}}),Polymer.version="1.6.1",Polymer.Base._addFeature({_regi
     sterFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstruct
     or(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes
     (e.hostAttributes)},_marshalBehavior:function(e){},_initFeatures:function(){this
     ._marshalHostAttributes(),this._marshalBehaviors()}})</script> <script>Polymer.B
     ase._addFeature({_prepTemplate:function(){void 0===this._template&&(this._templa
     te=Polymer.DomModule.import(this.is,"template")),this._template&&this._template.
     hasAttribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer tem
     plate must not be a type-extension, found",this._template,"Move inside simple <t
     emplate>.")),this._template&&!this._template.content&&window.HTMLTemplateElement
     &&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_s
     tampTemplate:function(){this._template&&(this.root=this.instanceTemplate(this._t
     emplate))},instanceTemplate:function(e){var t=document.importNode(e._content||e.
     content,!0);return t}}),function(){var e=Polymer.Base.attachedCallback;Polymer.B
     ase._addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this
     .dataHost=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._c
     lients&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_begin
     Hosting:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clie
     nts=[])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:functio
     n(){this._readied=!1,this._canReady()&&this._ready()},_canReady:function(){retur
     n!this.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeCl
     ientsReady(),this._template&&(this._setupRoot(),this._readyClients()),this._clie
     ntsReadied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_r
     eadyClients:function(){this._beginDistribute();var e=this._clients;if(e)for(var 
     t,o=0,i=e.length;o<i&&(t=e[o]);o++)t._ready();this._finishDistribute()},_readySe
     lf:function(){this._doBehavior("ready"),this._readied=!0,this._attachedPending&&
     (this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:function
     (){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallba
     ck:function(){this._readied?(this._beforeAttached(),e.call(this)):this._attached
     Pending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,o){return{index:e
     ,removed:t,addedCount:o}}function t(){}var o=0,i=1,n=2,s=3;return t.prototype={c
     alcEditDistances:function(e,t,o,i,n,s){for(var r=s-n+1,d=o-t+1,a=new Array(r),l=
     0;l<r;l++)a[l]=new Array(d),a[l][0]=l;for(var h=0;h<d;h++)a[0][h]=h;for(l=1;l<r;
     l++)for(h=1;h<d;h++)if(this.equals(e[t+h-1],i[n+l-1]))a[l][h]=a[l-1][h-1];else{v
     ar u=a[l-1][h]+1,c=a[l][h-1]+1;a[l][h]=u<c?u:c}return a},spliceOperationsFromEdi
     tDistances:function(e){for(var t=e.length-1,r=e[0].length-1,d=e[t][r],a=[];t>0||
     r>0;)if(0!=t)if(0!=r){var l,h=e[t-1][r-1],u=e[t-1][r],c=e[t][r-1];l=u<c?u<h?u:h:
     c<h?c:h,l==h?(h==d?a.push(o):(a.push(i),d=h),t--,r--):l==u?(a.push(s),t--,d=u):(
     a.push(n),r--,d=c)}else a.push(s),t--;else a.push(n),r--;return a.reverse(),a},c
     alcSplices:function(t,r,d,a,l,h){var u=0,c=0,_=Math.min(d-r,h-l);if(0==r&&0==l&&
     (u=this.sharedPrefix(t,a,_)),d==t.length&&h==a.length&&(c=this.sharedSuffix(t,a,
     _-u)),r+=u,l+=u,d-=c,h-=c,d-r==0&&h-l==0)return[];if(r==d){for(var f=e(r,[],0);l
     <h;)f.removed.push(a[l++]);return[f]}if(l==h)return[e(r,[],d-r)];var m=this.spli
     ceOperationsFromEditDistances(this.calcEditDistances(t,r,d,a,l,h));f=void 0;for(
     var p=[],v=r,g=l,b=0;b<m.length;b++)switch(m[b]){case o:f&&(p.push(f),f=void 0),
     v++,g++;break;case i:f||(f=e(v,[],0)),f.addedCount++,v++,f.removed.push(a[g]),g+
     +;break;case n:f||(f=e(v,[],0)),f.addedCount++,v++;break;case s:f||(f=e(v,[],0))
     ,f.removed.push(a[g]),g++}return f&&p.push(f),p},sharedPrefix:function(e,t,o){fo
     r(var i=0;i<o;i++)if(!this.equals(e[i],t[i]))return i;return o},sharedSuffix:fun
     ction(e,t,o){for(var i=e.length,n=t.length,s=0;s<o&&this.equals(e[--i],t[--n]);)
     s++;return s},calculateSplices:function(e,t){return this.calcSplices(e,0,e.lengt
     h,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInnerHT
     ML=function(){function e(e){switch(e){case"&":return"&";case"<":return"<"
     ;case">":return">";case'"':return""";case" ":return" "}}function t(
     t){return t.replace(r,e)}function o(t){return t.replace(d,e)}function i(e){for(v
     ar t={},o=0;o<e.length;o++)t[e[o]]=!0;return t}function n(e,i,n){switch(e.nodeTy
     pe){case Node.ELEMENT_NODE:for(var r,d=e.localName,h="<"+d,u=e.attributes,c=0;r=
     u[c];c++)h+=" "+r.name+'="'+t(r.value)+'"';return h+=">",a[d]?h:h+s(e,n)+"</"+d+
     ">";case Node.TEXT_NODE:var _=e.data;return i&&l[i.localName]?_:o(_);case Node.C
     OMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw console.error(e),new E
     rror("not implemented")}}function s(e,t){e instanceof HTMLTemplateElement&&(e=e.
     content);for(var o,i="",s=Polymer.dom(e).childNodes,r=0,d=s.length;r<d&&(o=s[r])
     ;r++)i+=n(o,e,t);return i}var r=/[&\u00A0"]/g,d=/[&\u00A0<>]/g,a=i(["area","base
     ","br","col","command","embed","hr","img","input","keygen","link","meta","param"
     ,"source","track","wbr"]),l=i(["style","script","xmp","iframe","noembed","nofram
     es","plaintext","noscript"]);return{getInnerHTML:s}}(),function(){"use strict";v
     ar e=Element.prototype.insertBefore,t=Element.prototype.appendChild,o=Element.pr
     ototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[
     ],o=0,i=e.firstChild;i;i=i.nextSibling)t[o++]=i;return t},arrayCopyChildren:func
     tion(e){for(var t=[],o=0,i=e.firstElementChild;i;i=i.nextElementSibling)t[o++]=i
     ;return t},arrayCopy:function(e){for(var t=e.length,o=new Array(t),i=0;i<t;i++)o
     [i]=e[i];return o}},Polymer.TreeApi.Logical={hasParentNode:function(e){return Bo
     olean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean(e._
     _dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.hasChi
     ldNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){if(!e
     .__dom.childNodes){e.__dom.childNodes=[];for(var t=e.__dom.firstChild;t;t=t.__do
     m.nextSibling)e.__dom.childNodes.push(t)}return e.__dom.childNodes},getParentNod
     e:function(e){return e.__dom&&void 0!==e.__dom.parentNode?e.__dom.parentNode:e.p
     arentNode},getFirstChild:function(e){return e.__dom&&void 0!==e.__dom.firstChild
     ?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&void 
     0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function(e){
     return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibling},
     getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?
     e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){retu
     rn e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firstEle
     mentChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t&&t.n
     odeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementChild
     :function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElementChil
     d(e):e.lastElementChild},_getLastElementChild:function(e){for(var t=e.__dom.last
     Child;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},get
     NextElementSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling?this
     ._getNextElementSibling(e):e.nextElementSibling},_getNextElementSibling:function
     (e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.n
     extSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&void 
     0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousElement
     Sibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSiblin
     g;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},saveChi
     ldNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.first
     Child=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(var t
     =e.firstChild;t;t=t.nextSibling)t.__dom=t.__dom||{},t.__dom.parentNode=e,e.__dom
     .childNodes.push(t),t.__dom.nextSibling=t.nextSibling,t.__dom.previousSibling=t.
     previousSibling}},recordInsertBefore:function(e,t,o){if(t.__dom.childNodes=null,
     e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var i=e.firstChild;i;i=i.nextSiblin
     g)this._linkNode(i,t,o);else this._linkNode(e,t,o)},_linkNode:function(e,t,o){e.
     __dom=e.__dom||{},t.__dom=t.__dom||{},o&&(o.__dom=o.__dom||{}),e.__dom.previousS
     ibling=o?o.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&&(e._
     _dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=o||null,e.__dom.ne
     xtSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode=t,o?
     o===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom.firs
     tChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:funct
     ion(e,t){e.__dom=e.__dom||{},t.__dom=t.__dom||{},e===t.__dom.firstChild&&(t.__do
     m.firstChild=e.__dom.nextSibling),e===t.__dom.lastChild&&(t.__dom.lastChild=e.__
     dom.previousSibling);var o=e.__dom.previousSibling,i=e.__dom.nextSibling;o&&(o._
     _dom.nextSibling=i),i&&(i.__dom.previousSibling=o),e.__dom.parentNode=e.__dom.pr
     eviousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.TreeA
     pi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChildNode
     s(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:function(e)
     {e.textContent=""},insertBefore:function(t,o,i){return e.call(t,o,i||null)},appe
     ndChild:function(e,o){return t.call(e,o)},removeChild:function(e,t){return o.cal
     l(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t=Poly
     mer.TreeApi,o=function(e){this.node=i?o.wrap(e):e},i=e.hasShadow&&!e.nativeShado
     w;o.wrap=window.wrap?window.wrap:function(e){return e},o.prototype={flush:functi
     on(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e))retu
     rn!0;for(var t=e,o=e.ownerDocument;t&&t!==o&&t!==this.node;)t=Polymer.dom(t).par
     entNode||t.host;return t===this.node},queryDistributedElements:function(e){for(v
     ar t,i=this.getEffectiveChildNodes(),n=[],s=0,r=i.length;s<r&&(t=i[s]);s++)t.nod
     eType===Node.ELEMENT_NODE&&o.matchesSelector.call(t,e)&&n.push(t);return n},getE
     ffectiveChildNodes:function(){for(var e,t=[],o=this.childNodes,i=0,r=o.length;i<
     r&&(e=o[i]);i++)if(e.localName===n)for(var d=s(e).getDistributedNodes(),a=0;a<d.
     length;a++)t.push(d[a]);else t.push(e);return t},observeNodes:function(e){if(e)r
     eturn this.observer||(this.observer=this.node.localName===n?new o.DistributedNod
     esObserver(this):new o.EffectiveNodesObserver(this)),this.observer.addListener(e
     )},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e)},no
     tifyObserver:function(){this.observer&&this.observer.notify()},_query:function(e
     ,o,i){o=o||this.node;var n=[];return this._queryElements(t.Logical.getChildNodes
     (o),e,i,n),n},_queryElements:function(e,t,o,i){for(var n,s=0,r=e.length;s<r&&(n=
     e[s]);s++)if(n.nodeType===Node.ELEMENT_NODE&&this._queryElement(n,t,o,i))return!
     0},_queryElement:function(e,o,i,n){var s=o(e);return s&&n.push(e),i&&i(s)?s:void
      this._queryElements(t.Logical.getChildNodes(e),o,i,n)}};var n=o.CONTENT="conten
     t",s=o.factory=function(e){return e=e||document,e.__domApi||(e.__domApi=new o.ct
     or(e)),e.__domApi};o.hasApi=function(e){return Boolean(e.__domApi)},o.ctor=o,Pol
     ymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e):o.f
     actory(e,t)};var r=Element.prototype;return o.matchesSelector=r.matches||r.match
     esSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.web
     kitMatchesSelector,o}(),function(){"use strict";var e=Polymer.Settings,t=Polymer
     .DomApi,o=t.factory,i=Polymer.TreeApi,n=Polymer.domInnerHTML.getInnerHTML,s=t.CO
     NTENT;if(!e.useShadow){var r=Element.prototype.cloneNode,d=Document.prototype.im
     portNode;Polymer.Base.extend(t.prototype,{_lazyDistribute:function(e){e.shadyRoo
     t&&e.shadyRoot._distributionClean&&(e.shadyRoot._distributionClean=!1,Polymer.do
     m.addDebouncer(e.debounce("_distribute",e._distributeContent)))},appendChild:fun
     ction(e){return this.insertBefore(e)},insertBefore:function(e,n){if(n&&i.Logical
     .getParentNode(n)!==this.node)throw Error("The ref_node to be inserted before is
      not a child of this node");if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var r=i
     .Logical.getParentNode(e);r?(t.hasApi(r)&&o(r).notifyObserver(),this._removeNode
     (e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,n)){n&&(n=n.localName===s
     ?this._firstComposedNode(n):n);var d=this.node._isShadyRoot?this.node.host:this.
     node;n?i.Composed.insertBefore(d,e,n):i.Composed.appendChild(d,e)}return this.no
     tifyObserver(),e},_addNode:function(e,t){var o=this.getOwnerRoot();if(o){var n=t
     his._maybeAddInsertionPoint(e,this.node);o._invalidInsertionPoints||(o._invalidI
     nsertionPoints=n),this._addNodeToHost(o.host,e)}i.Logical.hasChildNodes(this.nod
     e)&&i.Logical.recordInsertBefore(e,this.node,t);var s=this._maybeDistribute(e)||
     this.node.shadyRoot;if(s)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.firs
     tChild;)i.Composed.removeChild(e,e.firstChild);else{var r=i.Composed.getParentNo
     de(e);r&&i.Composed.removeChild(r,e)}return s},removeChild:function(e){if(i.Logi
     cal.getParentNode(e)!==this.node)throw Error("The node to be removed is not a ch
     ild of this node: "+e);if(!this._removeNode(e)){var t=this.node._isShadyRoot?thi
     s.node.host:this.node,o=i.Composed.getParentNode(e);t===o&&i.Composed.removeChil
     d(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,n=i.Logical
     .hasParentNode(e)&&i.Logical.getParentNode(e),s=this._ownerShadyRootForNode(e);r
     eturn n&&(t=o(e)._maybeDistributeParent(),i.Logical.recordRemoveChild(e,n),s&&th
     is._removeDistributedChildren(s,e)&&(s._invalidInsertionPoints=!0,this._lazyDist
     ribute(s.host))),this._removeOwnerShadyRoot(e),s&&this._removeNodeFromHost(s.hos
     t,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeChil
     d(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShadyRoo
     t)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_owne
     rShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if(e.
     _isShadyRoot)t=e;else{var o=i.Logical.getParentNode(e);t=o?o._isShadyRoot?o:this
     ._ownerShadyRootForNode(o):null}(t||document.documentElement.contains(e))&&(e._o
     wnerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===Node
     .DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&o(e).querySelector(s),n=t&&i.Logical.ge
     tParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,r=t||e.localName===s;if(r)
     {var d=this.getOwnerRoot();d&&this._lazyDistribute(d.host)}var a=this._nodeNeeds
     Distribution(this.node);return a&&this._lazyDistribute(this.node),a||r&&!n},_may
     beAddInsertionPoint:function(e,t){var n;if(e.nodeType!==Node.DOCUMENT_FRAGMENT_N
     ODE||e.__noContent)e.localName===s&&(i.Logical.saveChildNodes(t),i.Logical.saveC
     hildNodes(e),n=!0);else for(var r,d,a,l=o(e).querySelectorAll(s),h=0;h<l.length&
     &(r=l[h]);h++)d=i.Logical.getParentNode(r),d===e&&(d=t),a=this._maybeAddInsertio
     nPoint(r,d),n=n||a;return n},_updateInsertionPoints:function(e){for(var t,n=e.sh
     adyRoot._insertionPoints=o(e.shadyRoot).querySelectorAll(s),r=0;r<n.length;r++)t
     =n[r],i.Logical.saveChildNodes(t),i.Logical.saveChildNodes(i.Logical.getParentNo
     de(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsertion
     Point(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd(t)
     },_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_remo
     veDistributedChildren:function(e,t){for(var n,s=e._insertionPoints,r=0;r<s.lengt
     h;r++){var d=s[r];if(this._contains(t,d))for(var a=o(d).getDistributedNodes(),l=
     0;l<a.length;l++){n=!0;var h=a[l],u=i.Composed.getParentNode(h);u&&i.Composed.re
     moveChild(u,h)}}return n},_contains:function(e,t){for(;t;){if(t==e)return!0;t=i.
     Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCachedO
     wnerRoot(e))for(var t,o=i.Logical.getChildNodes(e),n=0,s=o.length;n<s&&(t=o[n]);
     n++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNode:f
     unction(e){for(var t,i,n=o(e).getDistributedNodes(),s=0,r=n.length;s<r&&(t=n[s])
     ;s++)if(i=o(t).getDestinationInsertionPoints(),i[i.length-1]===e)return t},query
     Selector:function(e){var o=this._query(function(o){return t.matchesSelector.call
     (o,e)},this.node,function(e){return Boolean(e)})[0];return o||null},querySelecto
     rAll:function(e){return this._query(function(o){return t.matchesSelector.call(o,
     e)},this.node)},getDestinationInsertionPoints:function(){return this.node._desti
     nationInsertionPoints||[]},getDistributedNodes:function(){return this.node._dist
     ributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeChil
     d(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t),th
     is._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttribu
     te(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(this._
     nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.parentNo
     de),!0},cloneNode:function(e){var t=r.call(this.node,!1);if(e)for(var i,n=this.c
     hildNodes,s=o(t),d=0;d<n.length;d++)i=o(n[d]).cloneNode(!0),s.appendChild(i);ret
     urn t},importNode:function(e,t){var n=this.node instanceof Document?this.node:th
     is.node.ownerDocument,s=d.call(n,e,!1);if(t)for(var r,a=i.Logical.getChildNodes(
     e),l=o(s),h=0;h<a.length;h++)r=o(n).importNode(a[h],!0),l.appendChild(r);return 
     s},_getComposedInnerHTML:function(){return n(this.node,!0)}}),Object.definePrope
     rties(t.prototype,{activeElement:{get:function(){var e=document.activeElement;if
     (!e)return null;var t=!!this.node._isShadyRoot;if(this.node!==document){if(!t)re
     turn null;if(this.node.host===e||!this.node.host.contains(e))return null}for(var
      i=o(e).getOwnerRoot();i&&i!==this.node;)e=i.host,i=o(e).getOwnerRoot();return t
     his.node===document?i?null:e:i===this.node?e:null},configurable:!0},childNodes:{
     get:function(){var e=i.Logical.getChildNodes(this.node);return Array.isArray(e)?
     e:i.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){re
     turn i.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.childNo
     des,function(e){return e.nodeType===Node.ELEMENT_NODE}):i.arrayCopyChildren(this
     .node)},configurable:!0},parentNode:{get:function(){return i.Logical.getParentNo
     de(this.node)},configurable:!0},firstChild:{get:function(){return i.Logical.getF
     irstChild(this.node)},configurable:!0},lastChild:{get:function(){return i.Logica
     l.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){return i
     .Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:functi
     on(){return i.Logical.getPreviousSibling(this.node)},configurable:!0},firstEleme
     ntChild:{get:function(){return i.Logical.getFirstElementChild(this.node)},config
     urable:!0},lastElementChild:{get:function(){return i.Logical.getLastElementChild
     (this.node)},configurable:!0},nextElementSibling:{get:function(){return i.Logica
     l.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{get
     :function(){return i.Logical.getPreviousElementSibling(this.node)},configurable:
     !0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NODE||
     e===Node.COMMENT_NODE)return this.node.textContent;for(var t,o=[],i=0,n=this.chi
     ldNodes;t=n[i];i++)t.nodeType!==Node.COMMENT_NODE&&o.push(t.textContent);return 
     o.join("")},set:function(e){var t=this.node.nodeType;t===Node.TEXT_NODE||t===Nod
     e.COMMENT_NODE?this.node.textContent=e:(this._clear(),e&&this.appendChild(docume
     nt.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this.no
     de.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:n(this.node)},
     set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMMENT
     _NODE){this._clear();var o=document.createElement("div");o.innerHTML=e;for(var n
     =i.arrayCopyChildNodes(o),s=0;s<n.length;s++)this.appendChild(n[s])}},configurab
     le:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints.le
     ngth)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,o=Po
     lymer.DomApi;if(e.useShadow){Polymer.Base.extend(o.prototype,{querySelectorAll:f
     unction(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:funct
     ion(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.hos
     t)return e;e=e.parentNode}},importNode:function(e,t){var o=this.node instanceof 
     Document?this.node:this.node.ownerDocument;return o.importNode(e,t)},getDestinat
     ionInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&thi
     s.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistribute
     dNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistributedN
     odes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(o.prototype,{active
     Element:{get:function(){var e=o.wrap(this.node),t=e.activeElement;return e.conta
     ins(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyChi
     ldNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCopy
     Children(this.node)},configurable:!0},textContent:{get:function(){return this.no
     de.textContent},set:function(e){return this.node.textContent=e},configurable:!0}
     ,innerHTML:{get:function(){return this.node.innerHTML},set:function(e){return th
     is.node.innerHTML=e},configurable:!0}});var i=function(e){for(var t=0;t<e.length
     ;t++)n(e[t])},n=function(e){o.prototype[e]=function(){return this.node[e].apply(
     this.node,arguments)}};i(["cloneNode","appendChild","insertBefore","removeChild"
     ,"replaceChild","setAttribute","removeAttribute","querySelector"]);var s=functio
     n(e){for(var t=0;t<e.length;t++)r(e[t])},r=function(e){Object.defineProperty(o.p
     rototype,e,{get:function(){return this.node[e]},configurable:!0})};s(["parentNod
     e","firstChild","lastChild","nextSibling","previousSibling","firstElementChild",
     "lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer.B
     ase.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.
     Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebou
     ncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._deb
     ouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length;
     )this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebounce
     r.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard>=this._FLU
     SH_MAX&&console.warn("Polymer.dom.flush aborted. Flush may not be complete.")},_
     prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();for
     (var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStati
     cFlush:function(e){this._staticFlushList.push(e)},removeStaticFlush:function(e){
     var t=this._staticFlushList.indexOf(e);t>=0&&this._staticFlushList.splice(t,1)},
     addDebouncer:function(e){this._debouncers.push(e),this._finishDebouncer=Polymer.
     Debounce(this._finishDebouncer,this._finishFlush)},_finishFlush:function(){Polym
     er.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer.
     DomApi.ctor,t=Polymer.Settings;e.Event=function(e){this.event=e},t.useShadow?e.E
     vent.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){re
     turn this.event.target},get path(){var e=this.event.path;return Array.isArray(e)
     ||(e=Array.prototype.slice.call(e)),e}}:e.Event.prototype={get rootTarget(){retu
     rn this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e&&
     Polymer.dom(e).getOwnerRoot(),o=this.path,i=0;i<o.length;i++)if(Polymer.dom(o[i]
     ).getOwnerRoot()===t)return o[i]},get path(){if(!this.event._path){for(var e=[],
     t=this.rootTarget;t;){e.push(t);var o=Polymer.dom(t).getDestinationInsertionPoin
     ts();if(o.length){for(var i=0;i<o.length-1;i++)e.push(o[i]);t=o[o.length-1]}else
      t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return th
     is.event._path}};var o=function(t){return t.__eventApi||(t.__eventApi=new e.Even
     t(t)),t.__eventApi};return{factory:o}}(),function(){"use strict";var e=Polymer.D
     omApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"class
     List",{get:function(){return this._classList||(this._classList=new e.ClassList(t
     his)),this._classList},configurable:!0}),e.ClassList=function(e){this.domApi=e,t
     his.node=e.node},e.ClassList.prototype={add:function(){this.node.classList.add.a
     pply(this.node.classList,arguments),this._distributeParent()},remove:function(){
     this.node.classList.remove.apply(this.node.classList,arguments),this._distribute
     Parent()},toggle:function(){this.node.classList.toggle.apply(this.node.classList
     ,arguments),this._distributeParent()},_distributeParent:function(){t||this.domAp
     i._maybeDistributeParent()},contains:function(){return this.node.classList.conta
     ins.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Poly
     mer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this.
     domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserver
     .prototype={addListener:function(e){this._isSetup||(this._setup(),this._isSetup=
     !0);var t={fn:e,_nodes:[]};return this._listeners.push(t),this._scheduleNotify()
     ,t},removeListener:function(e){var t=this._listeners.indexOf(e);t>=0&&(this._lis
     teners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._isS
     etup=!1)},_setup:function(){this._observeContentElements(this.domApi.childNodes)
     },_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes)},_h
     asListeners:function(){return Boolean(this._listeners.length)},_scheduleNotify:f
     unction(){this._debouncer&&this._debouncer.stop(),this._debouncer=Polymer.Deboun
     ce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDeb
     ouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._scheduleN
     otify()},_notify:function(){this._beforeCallListeners(),this._callListeners()},_
     beforeCallListeners:function(){this._updateContentElements()},_updateContentElem
     ents:function(){this._observeContentElements(this.domApi.childNodes)},_observeCo
     ntentElements:function(e){for(var t,o=0;o<e.length&&(t=e[o]);o++)this._isContent
     (t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap.h
     as(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeConten
     t:function(e){var t=this,o=Polymer.dom(e).observeNodes(function(){t._scheduleNot
     ify()});return o._avoidChangeCalculation=!0,o},_unobserveContentElements:functio
     n(e){for(var t,o,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(o=t.__observe
     NodesMap.get(this),o&&(Polymer.dom(t).unobserveNodes(o),t.__observeNodesMap.dele
     te(this)))},_isContent:function(e){return"content"===e.localName},_callListeners
     :function(){for(var e,t=this._listeners,o=this._getEffectiveNodes(),i=0;i<t.leng
     th&&(e=t[i]);i++){var n=this._generateListenerInfo(e,o);(n||e._alwaysNotify)&&th
     is._callListener(e,n)}},_getEffectiveNodes:function(){return this.domApi.getEffe
     ctiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalculat
     ion)return!0;for(var o,i=e._nodes,n={target:this.node,addedNodes:[],removedNodes
     :[]},s=Polymer.ArraySplice.calculateSplices(t,i),r=0;r<s.length&&(o=s[r]);r++)fo
     r(var d,a=0;a<o.removed.length&&(d=o.removed[a]);a++)n.removedNodes.push(d);for(
     r=0,o;r<s.length&&(o=s[r]);r++)for(a=o.index;a<o.index+o.addedCount;a++)n.addedN
     odes.push(t[a]);return e._nodes=t,n.addedNodes.length||n.removedNodes.length?n:v
     oid 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowAt
     tributeTracking:function(){}},t.useShadow){var o=e.EffectiveNodesObserver.protot
     ype._setup,i=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(e.E
     ffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=thi
     s;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._obse
     rver=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._
     flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(thi
     s.node,{childList:!0})}o.call(this)},_cleanup:function(){this._observer.disconne
     ct(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlus
     h(this._boundFlush),i.call(this)},_flush:function(){this._observer&&this._mutati
     onHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function(
     ){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.dis
     connect(),this._observer.observe(this.node,{childList:!0,attributes:!0,subtree:!
     0});var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).observer&&Pol
     ymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwa
     ysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)e=this._listeners
     [t],e._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Po
     lymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.Ef
     fectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.c
     reate(e.EffectiveNodesObserver.prototype),Polymer.Base.extend(e.DistributedNodes
     Observer.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListene
     rs:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedN
     odes()}}),t.useShadow&&Polymer.Base.extend(e.DistributedNodesObserver.prototype,
     {_setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.h
     ost;if(t){var o=this;this._observer=Polymer.dom(t).observeNodes(function(){o._sc
     heduleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Pol
     ymer.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(
     ){var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:fu
     nction(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserv
     eNodes(this._observer),this._observer=null}})}(),function(){function e(e,t){t._d
     istributedNodes.push(e);var o=e._destinationInsertionPoints;o?o.push(t):e._desti
     nationInsertionPoints=[t]}function t(e){var t=e._distributedNodes;if(t)for(var o
     =0;o<t.length;o++){var i=t[o]._destinationInsertionPoints;i&&i.splice(i.indexOf(
     e)+1,i.length)}}function o(e,t){var o=u.Logical.getParentNode(e);o&&o.shadyRoot&
     &h.hasInsertionPoint(o.shadyRoot)&&o.shadyRoot._distributionClean&&(o.shadyRoot.
     _distributionClean=!1,t.shadyRoot._dirtyRoots.push(o))}function i(e,t){var o=t._
     destinationInsertionPoints;return o&&o[o.length-1]===e}function n(e){return"cont
     ent"==e.localName}function s(e){for(;e&&r(e);)e=e.domHost;return e}function r(e)
     {for(var t,o=u.Logical.getChildNodes(e),i=0;i<o.length;i++)if(t=o[i],t.localName
     &&"content"===t.localName)return e.domHost}function d(e){for(var t,o=0;o<e._inse
     rtionPoints.length;o++)t=e._insertionPoints[o],h.hasApi(t)&&Polymer.dom(t).notif
     yObserver()}function a(e){h.hasApi(e)&&Polymer.dom(e).notifyObserver()}function 
     l(e){if(c&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}var h=Polym
     er.DomApi,u=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this
     ._useContent=this._useContent||Boolean(this._template)},_setupShady:function(){t
     his.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=n
     ull),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(
     ){this._useContent&&u.Logical.saveChildNodes(this)},_setupRoot:function(){this._
     useContent&&(this._createLocalRoot(),this.dataHost||l(u.Logical.getChildNodes(th
     is)))},_createLocalRoot:function(){this.shadyRoot=this.root,this.shadyRoot._dist
     ributionClean=!1,this.shadyRoot._hasDistributed=!1,this.shadyRoot._isShadyRoot=!
     0,this.shadyRoot._dirtyRoots=[];var e=this.shadyRoot._insertionPoints=!this._not
     es||this._notes._hasContent?this.shadyRoot.querySelectorAll("content"):[];u.Logi
     cal.saveChildNodes(this.shadyRoot);for(var t,o=0;o<e.length;o++)t=e[o],u.Logical
     .saveChildNodes(t),u.Logical.saveChildNodes(t.parentNode);this.shadyRoot.host=th
     is},get domHost(){var e=Polymer.dom(this).getOwnerRoot();return e&&e.host},distr
     ibuteContent:function(e){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoin
     ts=this.shadyRoot._invalidInsertionPoints||e;var t=s(this);Polymer.dom(this)._la
     zyDistribute(t)}},_distributeContent:function(){this._useContent&&!this.shadyRoo
     t._distributionClean&&(this.shadyRoot._invalidInsertionPoints&&(Polymer.dom(this
     )._updateInsertionPoints(this),this.shadyRoot._invalidInsertionPoints=!1),this._
     beginDistribute(),this._distributeDirtyRoots(),this._finishDistribute())},_begin
     Distribute:function(){this._useContent&&h.hasInsertionPoint(this.shadyRoot)&&(th
     is._resetDistribution(),this._distributePool(this.shadyRoot,this._collectPool())
     ); |    1 <!DOCTYPE html><html><head><meta charset="UTF-8"> </head><body><div hidden="" by
     -vulcanize=""><script>!function(){function e(){document.body.removeAttribute("un
     resolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"intera
     ctive"===document.readyState||"complete"===document.readyState?e():addEventListe
     ner("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){var e=window.Po
     lymer||{};if(!e.noUrlSettings)for(var t,r=location.search.slice(1).split("&"),i=
     0;i<r.length&&(t=r[i]);i++)t=t.split("="),t[0]&&(e[t[0]]=t[1]||!0);return e.want
     Shadow="shadow"===e.dom,e.hasShadow=Boolean(Element.prototype.createShadowRoot),
     e.nativeShadow=e.hasShadow&&!window.ShadowDOMPolyfill,e.useShadow=e.wantShadow&&
     e.hasShadow,e.hasNativeImports=Boolean("import"in document.createElement("link")
     ),e.useNativeImports=e.hasNativeImports,e.useNativeCustomElements=!window.Custom
     Elements||window.CustomElements.useNative,e.useNativeShadow=e.useShadow&&e.nativ
     eShadow,e.usePolyfillProto=!e.useNativeCustomElements&&!Object.__proto__,e.hasNa
     tiveCSSProperties=!navigator.userAgent.match("AppleWebKit/601")&&window.CSS&&CSS
     .supports&&CSS.supports("box-shadow","0 0 0 var(--foo)"),e.useNativeCSSPropertie
     s=e.hasNativeCSSProperties&&e.lazyRegister&&e.useNativeCSSProperties,e}()},funct
     ion(){var e=window.Polymer;window.Polymer=function(e){"function"==typeof e&&(e=e
     .prototype),e||(e={});var r=t(e);e=r.prototype;var i={prototype:e};return e.exte
     nds&&(i.extends=e.extends),Polymer.telemetry._registrate(e),document.registerEle
     ment(e.is,i),r};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Polyme
     r.Base._getExtendedPrototype(e.extends)),e=Polymer.Base.chainObject(e,t),e.regis
     terCallback(),e.constructor};if(e)for(var r in e)Polymer[r]=e[r];Polymer.Class=t
     }(),Polymer.telemetry={registrations:[],_regLog:function(e){console.log("["+e.is
     +"]: registered")},_registrate:function(e){this.registrations.push(e),Polymer.lo
     g&&this._regLog(e)},dumpRegistrations:function(){this.registrations.forEach(this
     ._regLog)}},Object.defineProperty(window,"currentImport",{enumerable:!0,configur
     able:!0,get:function(){return(document._currentScript||document.currentScript).o
     wnerDocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function
     (e){this._ready?e():this._callbacks.push(e)},_makeReady:function(){this._ready=!
     0;for(var e=0;e<this._callbacks.length;e++)this._callbacks[e]();this._callbacks=
     []},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.Render
     Status._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextR
     ender:function(e,t,r){this._watchNextRender(),this._afterNextRenderQueue.push([e
     ,t,r])},hasRendered:function(){return this._ready},_watchNextRender:function(){i
     f(!this._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.
     RenderStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenR
     eady(e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushR
     enderCallbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNex
     tRender=!1})},_flushRenderCallbacks:function(e){for(var t,r=0;r<e.length;r++)t=e
     [r],t[1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenRead
     y(function(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._ca
     tchFirstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.
     whenLoaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.
     Settings;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.ext
     end(this,e)},registerCallback:function(){"max"===e.lazyRegister?this.beforeRegis
     ter&&this.beforeRegister():(this._desugarBehaviors(),this._doBehavior("beforeReg
     ister")),this._registerFeatures(),e.lazyRegister||this.ensureRegisterFinished()}
     ,createdCallback:function(){this.__hasRegisterFinished||this._ensureRegisterFini
     shed(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this,this._doBe
     havior("created"),this._initFeatures()},ensureRegisterFinished:function(){this._
     ensureRegisterFinished(this)},_ensureRegisterFinished:function(t){t.__hasRegiste
     rFinished===t.is&&t.is||("max"===e.lazyRegister&&(t._desugarBehaviors(),t._doBeh
     aviorOnly("beforeRegister")),t.__hasRegisterFinished=t.is,t._finishRegisterFeatu
     res&&t._finishRegisterFeatures(),t._doBehavior("registered"),e.usePolyfillProto&
     &t!==this&&t.extend(this,t))},attachedCallback:function(){var e=this;Polymer.Ren
     derStatus.whenReady(function(){e.isAttached=!0,e._doBehavior("attached")})},deta
     chedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.i
     sAttached=!1,e._doBehavior("detached")})},attributeChangedCallback:function(e,t,
     r){this._attributeChangedImpl(e),this._doBehavior("attributeChanged",[e,t,r])},_
     attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:fu
     nction(e,t){if(e&&t)for(var r,i=Object.getOwnPropertyNames(t),o=0;o<i.length&&(r
     =i[o]);o++)this.copyOwnProperty(r,t,e);return e||t},mixin:function(e,t){for(var 
     r in t)e[r]=t[r];return e},copyOwnProperty:function(e,t,r){var i=Object.getOwnPr
     opertyDescriptor(t,e);i&&Object.defineProperty(r,e,i)},_logger:function(e,t){swi
     tch(1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"err
     or":console[e].apply(console,t)}},_log:function(){var e=Array.prototype.slice.ca
     ll(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.sl
     ice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.prot
     otype.slice.call(arguments,0);this._logger("error",e)},_logf:function(){return t
     his._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0))}}
     ,Polymer.Base._logPrefix=function(){var e=window.chrome&&!/edge/i.test(navigator
     .userAgent)||/firefox/i.test(navigator.userAgent);return e?["%c[%s::%s]:","font-
     weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"]}(),Polymer.Base.chainObj
     ect=function(e,t){return e&&t&&e!==t&&(Object.__proto__||(e=Polymer.Base.extend(
     Object.create(t),e)),e.__proto__=t),e},Polymer.Base=Polymer.Base.chainObject(Pol
     ymer.Base,HTMLElement.prototype),window.CustomElements?Polymer.instanceof=Custom
     Elements.instanceof:Polymer.instanceof=function(e,t){return e instanceof t},Poly
     mer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance__)},Polymer.t
     elemetry.instanceCount=0}(),function(){function e(){if(s)for(var e,t=document._c
     urrentScript||document.currentScript,r=t&&t.ownerDocument||document,i=r.querySel
     ectorAll("dom-module"),o=i.length-1;o>=0&&(e=i[o]);o--){if(e.__upgraded__)return
     ;CustomElements.upgrade(e)}}var t={},r={},i=function(e){return t[e]||r[e.toLower
     Case()]},o=function(){return document.createElement("dom-module")};o.prototype=O
     bject.create(HTMLElement.prototype),Polymer.Base.extend(o.prototype,{constructor
     :o,createdCallback:function(){this.register()},register:function(e){e=e||this.id
     ||this.getAttribute("name")||this.getAttribute("is"),e&&(this.id=e,t[e]=this,r[e
     .toLowerCase()]=this)},import:function(t,r){if(t){var o=i(t);return o||(e(),o=i(
     t)),o&&r&&(o=o.querySelector(r)),o}}});var s=window.CustomElements&&!CustomEleme
     nts.useNative;document.registerElement("dom-module",o)}(),Polymer.Base._addFeatu
     re({_prepIs:function(){if(!this.is){var e=(document._currentScript||document.cur
     rentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttribute
     ("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLowerCase(
     ))}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){this.b
     ehaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors))},_d
     esugarSomeBehaviors:function(e){var t=[];e=this._flattenBehaviorsList(e);for(var
      r=e.length-1;r>=0;r--){var i=e[r];t.indexOf(i)===-1&&(this._mixinBehavior(i),t.
     unshift(i))}return t},_flattenBehaviorsList:function(e){for(var t=[],r=0;r<e.len
     gth;r++){var i=e[r];i instanceof Array?t=t.concat(this._flattenBehaviorsList(i))
     :i?t.push(i):this._warn(this._logf("_flattenBehaviorsList","behavior is null, ch
     eck for missing or 404 import"))}return t},_mixinBehavior:function(e){for(var t,
     r=Object.getOwnPropertyNames(e),i=0;i<r.length&&(t=r[i]);i++)Polymer.Base._behav
     iorProperties[t]||this.hasOwnProperty(t)||this.copyOwnProperty(t,e,this)},_prepB
     ehaviors:function(){this._prepFlattenedBehaviors(this.behaviors)},_prepFlattened
     Behaviors:function(e){for(var t=0,r=e.length;t<r;t++)this._prepBehavior(e[t]);th
     is._prepBehavior(this)},_doBehavior:function(e,t){for(var r=0;r<this.behaviors.l
     ength;r++)this._invokeBehavior(this.behaviors[r],e,t);this._invokeBehavior(this,
     e,t)},_doBehaviorOnly:function(e,t){for(var r=0;r<this.behaviors.length;r++)this
     ._invokeBehavior(this.behaviors[r],e,t)},_invokeBehavior:function(e,t,r){var i=e
     [t];i&&i.apply(this,r||Polymer.nar)},_marshalBehaviors:function(){for(var e=0;e<
     this.behaviors.length;e++)this._marshalBehavior(this.behaviors[e]);this._marshal
     Behavior(this)}}),Polymer.Base._behaviorProperties={hostAttributes:!0,beforeRegi
     ster:!0,registered:!0,properties:!0,observers:!0,listeners:!0,created:!0,attache
     d:!0,detached:!0,attributeChanged:!0,ready:!0},Polymer.Base._addFeature({_getExt
     endedPrototype:function(e){return this._getExtendedNativePrototype(e)},_nativePr
     ototypes:{},_getExtendedNativePrototype:function(e){var t=this._nativePrototypes
     [e];if(!t){var r=this.getNativePrototype(e);t=this.extend(Object.create(r),Polym
     er.Base),this._nativePrototypes[e]=t}return t},getNativePrototype:function(e){re
     turn Object.getPrototypeOf(document.createElement(e))}}),Polymer.Base._addFeatur
     e({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this
     .is]:[this.is];var e=function(){return this._factory(arguments)};this.hasOwnProp
     erty("extends")&&(e.extends=this.extends),Object.defineProperty(this,"constructo
     r",{value:e,writable:!0,configurable:!0}),e.prototype=this},_factory:function(e)
     {var t=document.createElement.apply(document,this._factoryArgs);return this.fact
     oryImpl&&this.factoryImpl.apply(t,e),t}}),Polymer.nob=Object.create(null),Polyme
     r.Base._addFeature({properties:{},getPropertyInfo:function(e){var t=this._getPro
     pertyInfo(e,this.properties);if(!t)for(var r=0;r<this.behaviors.length;r++)if(t=
     this._getPropertyInfo(e,this.behaviors[r].properties))return t;return t||Polymer
     .nob},_getPropertyInfo:function(e,t){var r=t&&t[e];return"function"==typeof r&&(
     r=t[e]={type:r}),r&&(r.defined=!0),r},_prepPropertyInfo:function(){this._propert
     yInfo={};for(var e=0;e<this.behaviors.length;e++)this._addPropertyInfo(this._pro
     pertyInfo,this.behaviors[e].properties);this._addPropertyInfo(this._propertyInfo
     ,this.properties),this._addPropertyInfo(this._propertyInfo,this._propertyEffects
     )},_addPropertyInfo:function(e,t){if(t){var r,i;for(var o in t)r=e[o],i=t[o],("_
     "!==o[0]||i.readOnly)&&(e[o]?(r.type||(r.type=i.type),r.readOnly||(r.readOnly=i.
     readOnly)):e[o]={type:"function"==typeof i?i:i.type,readOnly:i.readOnly,attribut
     e:Polymer.CaseMap.camelToDashCase(o)})}}}),Polymer.CaseMap={_caseMap:{},_rx:{das
     hToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(e){return th
     is._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replace(this._rx.dashToCa
     mel,function(e){return e[1].toUpperCase()}))},camelToDashCase:function(e){return
      this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camelToDash,"-$1").toLow
     erCase())}},Polymer.Base._addFeature({_addHostAttributes:function(e){this._aggre
     gatedAttributes||(this._aggregatedAttributes={}),e&&this.mixin(this._aggregatedA
     ttributes,e)},_marshalHostAttributes:function(){this._aggregatedAttributes&&this
     ._applyAttributes(this,this._aggregatedAttributes)},_applyAttributes:function(e,
     t){for(var r in t)if(!this.hasAttribute(r)&&"class"!==r){var i=t[r];this.seriali
     zeValueToAttribute(i,r,this)}},_marshalAttributes:function(){this._takeAttribute
     sToModel(this)},_takeAttributesToModel:function(e){if(this.hasAttributes())for(v
     ar t in this._propertyInfo){var r=this._propertyInfo[t];this.hasAttribute(r.attr
     ibute)&&this._setAttributeToProperty(e,r.attribute,t,r)}},_setAttributeToPropert
     y:function(e,t,r,i){if(!this._serializing&&(r=r||Polymer.CaseMap.dashToCamelCase
     (t),i=i||this._propertyInfo&&this._propertyInfo[r],i&&!i.readOnly)){var o=this.g
     etAttribute(t);e[r]=this.deserialize(o,i.type)}},_serializing:!1,reflectProperty
     ToAttribute:function(e,t,r){this._serializing=!0,r=void 0===r?this[e]:r,this.ser
     ializeValueToAttribute(r,t||Polymer.CaseMap.camelToDashCase(e)),this._serializin
     g=!1},serializeValueToAttribute:function(e,t,r){var i=this.serialize(e);r=r||thi
     s,void 0===i?r.removeAttribute(t):r.setAttribute(t,i)},deserialize:function(e,t)
     {switch(t){case Number:e=Number(e);break;case Boolean:e=null!=e;break;case Objec
     t:try{e=JSON.parse(e)}catch(e){}break;case Array:try{e=JSON.parse(e)}catch(t){e=
     null,console.warn("Polymer::Attributes: couldn`t decode Array as JSON")}break;ca
     se Date:e=new Date(e);break;case String:}return e},serialize:function(e){switch(
     typeof e){case"boolean":return e?"":void 0;case"object":if(e instanceof Date)ret
     urn e.toString();if(e)try{return JSON.stringify(e)}catch(e){return""}default:ret
     urn null!=e?e:void 0}}}),Polymer.version="1.6.1",Polymer.Base._addFeature({_regi
     sterFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstruct
     or(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes
     (e.hostAttributes)},_marshalBehavior:function(e){},_initFeatures:function(){this
     ._marshalHostAttributes(),this._marshalBehaviors()}})</script> <script>Polymer.B
     ase._addFeature({_prepTemplate:function(){void 0===this._template&&(this._templa
     te=Polymer.DomModule.import(this.is,"template")),this._template&&this._template.
     hasAttribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer tem
     plate must not be a type-extension, found",this._template,"Move inside simple <t
     emplate>.")),this._template&&!this._template.content&&window.HTMLTemplateElement
     &&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_s
     tampTemplate:function(){this._template&&(this.root=this.instanceTemplate(this._t
     emplate))},instanceTemplate:function(e){var t=document.importNode(e._content||e.
     content,!0);return t}}),function(){var e=Polymer.Base.attachedCallback;Polymer.B
     ase._addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this
     .dataHost=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._c
     lients&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_begin
     Hosting:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clie
     nts=[])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:functio
     n(){this._readied=!1,this._canReady()&&this._ready()},_canReady:function(){retur
     n!this.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeCl
     ientsReady(),this._template&&(this._setupRoot(),this._readyClients()),this._clie
     ntsReadied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_r
     eadyClients:function(){this._beginDistribute();var e=this._clients;if(e)for(var 
     t,o=0,i=e.length;o<i&&(t=e[o]);o++)t._ready();this._finishDistribute()},_readySe
     lf:function(){this._doBehavior("ready"),this._readied=!0,this._attachedPending&&
     (this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:function
     (){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallba
     ck:function(){this._readied?(this._beforeAttached(),e.call(this)):this._attached
     Pending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,o){return{index:e
     ,removed:t,addedCount:o}}function t(){}var o=0,i=1,n=2,s=3;return t.prototype={c
     alcEditDistances:function(e,t,o,i,n,s){for(var r=s-n+1,d=o-t+1,a=new Array(r),l=
     0;l<r;l++)a[l]=new Array(d),a[l][0]=l;for(var h=0;h<d;h++)a[0][h]=h;for(l=1;l<r;
     l++)for(h=1;h<d;h++)if(this.equals(e[t+h-1],i[n+l-1]))a[l][h]=a[l-1][h-1];else{v
     ar u=a[l-1][h]+1,c=a[l][h-1]+1;a[l][h]=u<c?u:c}return a},spliceOperationsFromEdi
     tDistances:function(e){for(var t=e.length-1,r=e[0].length-1,d=e[t][r],a=[];t>0||
     r>0;)if(0!=t)if(0!=r){var l,h=e[t-1][r-1],u=e[t-1][r],c=e[t][r-1];l=u<c?u<h?u:h:
     c<h?c:h,l==h?(h==d?a.push(o):(a.push(i),d=h),t--,r--):l==u?(a.push(s),t--,d=u):(
     a.push(n),r--,d=c)}else a.push(s),t--;else a.push(n),r--;return a.reverse(),a},c
     alcSplices:function(t,r,d,a,l,h){var u=0,c=0,_=Math.min(d-r,h-l);if(0==r&&0==l&&
     (u=this.sharedPrefix(t,a,_)),d==t.length&&h==a.length&&(c=this.sharedSuffix(t,a,
     _-u)),r+=u,l+=u,d-=c,h-=c,d-r==0&&h-l==0)return[];if(r==d){for(var f=e(r,[],0);l
     <h;)f.removed.push(a[l++]);return[f]}if(l==h)return[e(r,[],d-r)];var m=this.spli
     ceOperationsFromEditDistances(this.calcEditDistances(t,r,d,a,l,h));f=void 0;for(
     var p=[],v=r,g=l,b=0;b<m.length;b++)switch(m[b]){case o:f&&(p.push(f),f=void 0),
     v++,g++;break;case i:f||(f=e(v,[],0)),f.addedCount++,v++,f.removed.push(a[g]),g+
     +;break;case n:f||(f=e(v,[],0)),f.addedCount++,v++;break;case s:f||(f=e(v,[],0))
     ,f.removed.push(a[g]),g++}return f&&p.push(f),p},sharedPrefix:function(e,t,o){fo
     r(var i=0;i<o;i++)if(!this.equals(e[i],t[i]))return i;return o},sharedSuffix:fun
     ction(e,t,o){for(var i=e.length,n=t.length,s=0;s<o&&this.equals(e[--i],t[--n]);)
     s++;return s},calculateSplices:function(e,t){return this.calcSplices(e,0,e.lengt
     h,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInnerHT
     ML=function(){function e(e){switch(e){case"&":return"&";case"<":return"<"
     ;case">":return">";case'"':return""";case" ":return" "}}function t(
     t){return t.replace(r,e)}function o(t){return t.replace(d,e)}function i(e){for(v
     ar t={},o=0;o<e.length;o++)t[e[o]]=!0;return t}function n(e,i,n){switch(e.nodeTy
     pe){case Node.ELEMENT_NODE:for(var r,d=e.localName,h="<"+d,u=e.attributes,c=0;r=
     u[c];c++)h+=" "+r.name+'="'+t(r.value)+'"';return h+=">",a[d]?h:h+s(e,n)+"</"+d+
     ">";case Node.TEXT_NODE:var _=e.data;return i&&l[i.localName]?_:o(_);case Node.C
     OMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw console.error(e),new E
     rror("not implemented")}}function s(e,t){e instanceof HTMLTemplateElement&&(e=e.
     content);for(var o,i="",s=Polymer.dom(e).childNodes,r=0,d=s.length;r<d&&(o=s[r])
     ;r++)i+=n(o,e,t);return i}var r=/[&\u00A0"]/g,d=/[&\u00A0<>]/g,a=i(["area","base
     ","br","col","command","embed","hr","img","input","keygen","link","meta","param"
     ,"source","track","wbr"]),l=i(["style","script","xmp","iframe","noembed","nofram
     es","plaintext","noscript"]);return{getInnerHTML:s}}(),function(){"use strict";v
     ar e=Element.prototype.insertBefore,t=Element.prototype.appendChild,o=Element.pr
     ototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[
     ],o=0,i=e.firstChild;i;i=i.nextSibling)t[o++]=i;return t},arrayCopyChildren:func
     tion(e){for(var t=[],o=0,i=e.firstElementChild;i;i=i.nextElementSibling)t[o++]=i
     ;return t},arrayCopy:function(e){for(var t=e.length,o=new Array(t),i=0;i<t;i++)o
     [i]=e[i];return o}},Polymer.TreeApi.Logical={hasParentNode:function(e){return Bo
     olean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean(e._
     _dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.hasChi
     ldNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){if(!e
     .__dom.childNodes){e.__dom.childNodes=[];for(var t=e.__dom.firstChild;t;t=t.__do
     m.nextSibling)e.__dom.childNodes.push(t)}return e.__dom.childNodes},getParentNod
     e:function(e){return e.__dom&&void 0!==e.__dom.parentNode?e.__dom.parentNode:e.p
     arentNode},getFirstChild:function(e){return e.__dom&&void 0!==e.__dom.firstChild
     ?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&void 
     0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function(e){
     return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibling},
     getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?
     e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){retu
     rn e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firstEle
     mentChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t&&t.n
     odeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementChild
     :function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElementChil
     d(e):e.lastElementChild},_getLastElementChild:function(e){for(var t=e.__dom.last
     Child;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},get
     NextElementSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling?this
     ._getNextElementSibling(e):e.nextElementSibling},_getNextElementSibling:function
     (e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.n
     extSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&void 
     0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousElement
     Sibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSiblin
     g;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},saveChi
     ldNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.first
     Child=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(var t
     =e.firstChild;t;t=t.nextSibling)t.__dom=t.__dom||{},t.__dom.parentNode=e,e.__dom
     .childNodes.push(t),t.__dom.nextSibling=t.nextSibling,t.__dom.previousSibling=t.
     previousSibling}},recordInsertBefore:function(e,t,o){if(t.__dom.childNodes=null,
     e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var i=e.firstChild;i;i=i.nextSiblin
     g)this._linkNode(i,t,o);else this._linkNode(e,t,o)},_linkNode:function(e,t,o){e.
     __dom=e.__dom||{},t.__dom=t.__dom||{},o&&(o.__dom=o.__dom||{}),e.__dom.previousS
     ibling=o?o.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&&(e._
     _dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=o||null,e.__dom.ne
     xtSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode=t,o?
     o===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom.firs
     tChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:funct
     ion(e,t){e.__dom=e.__dom||{},t.__dom=t.__dom||{},e===t.__dom.firstChild&&(t.__do
     m.firstChild=e.__dom.nextSibling),e===t.__dom.lastChild&&(t.__dom.lastChild=e.__
     dom.previousSibling);var o=e.__dom.previousSibling,i=e.__dom.nextSibling;o&&(o._
     _dom.nextSibling=i),i&&(i.__dom.previousSibling=o),e.__dom.parentNode=e.__dom.pr
     eviousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.TreeA
     pi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChildNode
     s(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:function(e)
     {e.textContent=""},insertBefore:function(t,o,i){return e.call(t,o,i||null)},appe
     ndChild:function(e,o){return t.call(e,o)},removeChild:function(e,t){return o.cal
     l(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t=Poly
     mer.TreeApi,o=function(e){this.node=i?o.wrap(e):e},i=e.hasShadow&&!e.nativeShado
     w;o.wrap=window.wrap?window.wrap:function(e){return e},o.prototype={flush:functi
     on(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e))retu
     rn!0;for(var t=e,o=e.ownerDocument;t&&t!==o&&t!==this.node;)t=Polymer.dom(t).par
     entNode||t.host;return t===this.node},queryDistributedElements:function(e){for(v
     ar t,i=this.getEffectiveChildNodes(),n=[],s=0,r=i.length;s<r&&(t=i[s]);s++)t.nod
     eType===Node.ELEMENT_NODE&&o.matchesSelector.call(t,e)&&n.push(t);return n},getE
     ffectiveChildNodes:function(){for(var e,t=[],o=this.childNodes,i=0,r=o.length;i<
     r&&(e=o[i]);i++)if(e.localName===n)for(var d=s(e).getDistributedNodes(),a=0;a<d.
     length;a++)t.push(d[a]);else t.push(e);return t},observeNodes:function(e){if(e)r
     eturn this.observer||(this.observer=this.node.localName===n?new o.DistributedNod
     esObserver(this):new o.EffectiveNodesObserver(this)),this.observer.addListener(e
     )},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e)},no
     tifyObserver:function(){this.observer&&this.observer.notify()},_query:function(e
     ,o,i){o=o||this.node;var n=[];return this._queryElements(t.Logical.getChildNodes
     (o),e,i,n),n},_queryElements:function(e,t,o,i){for(var n,s=0,r=e.length;s<r&&(n=
     e[s]);s++)if(n.nodeType===Node.ELEMENT_NODE&&this._queryElement(n,t,o,i))return!
     0},_queryElement:function(e,o,i,n){var s=o(e);return s&&n.push(e),i&&i(s)?s:void
      this._queryElements(t.Logical.getChildNodes(e),o,i,n)}};var n=o.CONTENT="conten
     t",s=o.factory=function(e){return e=e||document,e.__domApi||(e.__domApi=new o.ct
     or(e)),e.__domApi};o.hasApi=function(e){return Boolean(e.__domApi)},o.ctor=o,Pol
     ymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e):o.f
     actory(e,t)};var r=Element.prototype;return o.matchesSelector=r.matches||r.match
     esSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.web
     kitMatchesSelector,o}(),function(){"use strict";var e=Polymer.Settings,t=Polymer
     .DomApi,o=t.factory,i=Polymer.TreeApi,n=Polymer.domInnerHTML.getInnerHTML,s=t.CO
     NTENT;if(!e.useShadow){var r=Element.prototype.cloneNode,d=Document.prototype.im
     portNode;Polymer.Base.extend(t.prototype,{_lazyDistribute:function(e){e.shadyRoo
     t&&e.shadyRoot._distributionClean&&(e.shadyRoot._distributionClean=!1,Polymer.do
     m.addDebouncer(e.debounce("_distribute",e._distributeContent)))},appendChild:fun
     ction(e){return this.insertBefore(e)},insertBefore:function(e,n){if(n&&i.Logical
     .getParentNode(n)!==this.node)throw Error("The ref_node to be inserted before is
      not a child of this node");if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var r=i
     .Logical.getParentNode(e);r?(t.hasApi(r)&&o(r).notifyObserver(),this._removeNode
     (e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,n)){n&&(n=n.localName===s
     ?this._firstComposedNode(n):n);var d=this.node._isShadyRoot?this.node.host:this.
     node;n?i.Composed.insertBefore(d,e,n):i.Composed.appendChild(d,e)}return this.no
     tifyObserver(),e},_addNode:function(e,t){var o=this.getOwnerRoot();if(o){var n=t
     his._maybeAddInsertionPoint(e,this.node);o._invalidInsertionPoints||(o._invalidI
     nsertionPoints=n),this._addNodeToHost(o.host,e)}i.Logical.hasChildNodes(this.nod
     e)&&i.Logical.recordInsertBefore(e,this.node,t);var s=this._maybeDistribute(e)||
     this.node.shadyRoot;if(s)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.firs
     tChild;)i.Composed.removeChild(e,e.firstChild);else{var r=i.Composed.getParentNo
     de(e);r&&i.Composed.removeChild(r,e)}return s},removeChild:function(e){if(i.Logi
     cal.getParentNode(e)!==this.node)throw Error("The node to be removed is not a ch
     ild of this node: "+e);if(!this._removeNode(e)){var t=this.node._isShadyRoot?thi
     s.node.host:this.node,o=i.Composed.getParentNode(e);t===o&&i.Composed.removeChil
     d(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,n=i.Logical
     .hasParentNode(e)&&i.Logical.getParentNode(e),s=this._ownerShadyRootForNode(e);r
     eturn n&&(t=o(e)._maybeDistributeParent(),i.Logical.recordRemoveChild(e,n),s&&th
     is._removeDistributedChildren(s,e)&&(s._invalidInsertionPoints=!0,this._lazyDist
     ribute(s.host))),this._removeOwnerShadyRoot(e),s&&this._removeNodeFromHost(s.hos
     t,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeChil
     d(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShadyRoo
     t)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_owne
     rShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if(e.
     _isShadyRoot)t=e;else{var o=i.Logical.getParentNode(e);t=o?o._isShadyRoot?o:this
     ._ownerShadyRootForNode(o):null}(t||document.documentElement.contains(e))&&(e._o
     wnerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===Node
     .DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&o(e).querySelector(s),n=t&&i.Logical.ge
     tParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,r=t||e.localName===s;if(r)
     {var d=this.getOwnerRoot();d&&this._lazyDistribute(d.host)}var a=this._nodeNeeds
     Distribution(this.node);return a&&this._lazyDistribute(this.node),a||r&&!n},_may
     beAddInsertionPoint:function(e,t){var n;if(e.nodeType!==Node.DOCUMENT_FRAGMENT_N
     ODE||e.__noContent)e.localName===s&&(i.Logical.saveChildNodes(t),i.Logical.saveC
     hildNodes(e),n=!0);else for(var r,d,a,l=o(e).querySelectorAll(s),h=0;h<l.length&
     &(r=l[h]);h++)d=i.Logical.getParentNode(r),d===e&&(d=t),a=this._maybeAddInsertio
     nPoint(r,d),n=n||a;return n},_updateInsertionPoints:function(e){for(var t,n=e.sh
     adyRoot._insertionPoints=o(e.shadyRoot).querySelectorAll(s),r=0;r<n.length;r++)t
     =n[r],i.Logical.saveChildNodes(t),i.Logical.saveChildNodes(i.Logical.getParentNo
     de(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsertion
     Point(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd(t)
     },_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_remo
     veDistributedChildren:function(e,t){for(var n,s=e._insertionPoints,r=0;r<s.lengt
     h;r++){var d=s[r];if(this._contains(t,d))for(var a=o(d).getDistributedNodes(),l=
     0;l<a.length;l++){n=!0;var h=a[l],u=i.Composed.getParentNode(h);u&&i.Composed.re
     moveChild(u,h)}}return n},_contains:function(e,t){for(;t;){if(t==e)return!0;t=i.
     Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCachedO
     wnerRoot(e))for(var t,o=i.Logical.getChildNodes(e),n=0,s=o.length;n<s&&(t=o[n]);
     n++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNode:f
     unction(e){for(var t,i,n=o(e).getDistributedNodes(),s=0,r=n.length;s<r&&(t=n[s])
     ;s++)if(i=o(t).getDestinationInsertionPoints(),i[i.length-1]===e)return t},query
     Selector:function(e){var o=this._query(function(o){return t.matchesSelector.call
     (o,e)},this.node,function(e){return Boolean(e)})[0];return o||null},querySelecto
     rAll:function(e){return this._query(function(o){return t.matchesSelector.call(o,
     e)},this.node)},getDestinationInsertionPoints:function(){return this.node._desti
     nationInsertionPoints||[]},getDistributedNodes:function(){return this.node._dist
     ributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeChil
     d(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t),th
     is._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttribu
     te(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(this._
     nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.parentNo
     de),!0},cloneNode:function(e){var t=r.call(this.node,!1);if(e)for(var i,n=this.c
     hildNodes,s=o(t),d=0;d<n.length;d++)i=o(n[d]).cloneNode(!0),s.appendChild(i);ret
     urn t},importNode:function(e,t){var n=this.node instanceof Document?this.node:th
     is.node.ownerDocument,s=d.call(n,e,!1);if(t)for(var r,a=i.Logical.getChildNodes(
     e),l=o(s),h=0;h<a.length;h++)r=o(n).importNode(a[h],!0),l.appendChild(r);return 
     s},_getComposedInnerHTML:function(){return n(this.node,!0)}}),Object.definePrope
     rties(t.prototype,{activeElement:{get:function(){var e=document.activeElement;if
     (!e)return null;var t=!!this.node._isShadyRoot;if(this.node!==document){if(!t)re
     turn null;if(this.node.host===e||!this.node.host.contains(e))return null}for(var
      i=o(e).getOwnerRoot();i&&i!==this.node;)e=i.host,i=o(e).getOwnerRoot();return t
     his.node===document?i?null:e:i===this.node?e:null},configurable:!0},childNodes:{
     get:function(){var e=i.Logical.getChildNodes(this.node);return Array.isArray(e)?
     e:i.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){re
     turn i.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.childNo
     des,function(e){return e.nodeType===Node.ELEMENT_NODE}):i.arrayCopyChildren(this
     .node)},configurable:!0},parentNode:{get:function(){return i.Logical.getParentNo
     de(this.node)},configurable:!0},firstChild:{get:function(){return i.Logical.getF
     irstChild(this.node)},configurable:!0},lastChild:{get:function(){return i.Logica
     l.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){return i
     .Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:functi
     on(){return i.Logical.getPreviousSibling(this.node)},configurable:!0},firstEleme
     ntChild:{get:function(){return i.Logical.getFirstElementChild(this.node)},config
     urable:!0},lastElementChild:{get:function(){return i.Logical.getLastElementChild
     (this.node)},configurable:!0},nextElementSibling:{get:function(){return i.Logica
     l.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{get
     :function(){return i.Logical.getPreviousElementSibling(this.node)},configurable:
     !0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NODE||
     e===Node.COMMENT_NODE)return this.node.textContent;for(var t,o=[],i=0,n=this.chi
     ldNodes;t=n[i];i++)t.nodeType!==Node.COMMENT_NODE&&o.push(t.textContent);return 
     o.join("")},set:function(e){var t=this.node.nodeType;t===Node.TEXT_NODE||t===Nod
     e.COMMENT_NODE?this.node.textContent=e:(this._clear(),e&&this.appendChild(docume
     nt.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this.no
     de.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:n(this.node)},
     set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMMENT
     _NODE){this._clear();var o=document.createElement("div");o.innerHTML=e;for(var n
     =i.arrayCopyChildNodes(o),s=0;s<n.length;s++)this.appendChild(n[s])}},configurab
     le:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints.le
     ngth)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,o=Po
     lymer.DomApi;if(e.useShadow){Polymer.Base.extend(o.prototype,{querySelectorAll:f
     unction(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:funct
     ion(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.hos
     t)return e;e=e.parentNode}},importNode:function(e,t){var o=this.node instanceof 
     Document?this.node:this.node.ownerDocument;return o.importNode(e,t)},getDestinat
     ionInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&thi
     s.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistribute
     dNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistributedN
     odes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(o.prototype,{active
     Element:{get:function(){var e=o.wrap(this.node),t=e.activeElement;return e.conta
     ins(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyChi
     ldNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCopy
     Children(this.node)},configurable:!0},textContent:{get:function(){return this.no
     de.textContent},set:function(e){return this.node.textContent=e},configurable:!0}
     ,innerHTML:{get:function(){return this.node.innerHTML},set:function(e){return th
     is.node.innerHTML=e},configurable:!0}});var i=function(e){for(var t=0;t<e.length
     ;t++)n(e[t])},n=function(e){o.prototype[e]=function(){return this.node[e].apply(
     this.node,arguments)}};i(["cloneNode","appendChild","insertBefore","removeChild"
     ,"replaceChild","setAttribute","removeAttribute","querySelector"]);var s=functio
     n(e){for(var t=0;t<e.length;t++)r(e[t])},r=function(e){Object.defineProperty(o.p
     rototype,e,{get:function(){return this.node[e]},configurable:!0})};s(["parentNod
     e","firstChild","lastChild","nextSibling","previousSibling","firstElementChild",
     "lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer.B
     ase.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.
     Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebou
     ncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._deb
     ouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length;
     )this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebounce
     r.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard>=this._FLU
     SH_MAX&&console.warn("Polymer.dom.flush aborted. Flush may not be complete.")},_
     prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();for
     (var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStati
     cFlush:function(e){this._staticFlushList.push(e)},removeStaticFlush:function(e){
     var t=this._staticFlushList.indexOf(e);t>=0&&this._staticFlushList.splice(t,1)},
     addDebouncer:function(e){this._debouncers.push(e),this._finishDebouncer=Polymer.
     Debounce(this._finishDebouncer,this._finishFlush)},_finishFlush:function(){Polym
     er.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer.
     DomApi.ctor,t=Polymer.Settings;e.Event=function(e){this.event=e},t.useShadow?e.E
     vent.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){re
     turn this.event.target},get path(){var e=this.event.path;return Array.isArray(e)
     ||(e=Array.prototype.slice.call(e)),e}}:e.Event.prototype={get rootTarget(){retu
     rn this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e&&
     Polymer.dom(e).getOwnerRoot(),o=this.path,i=0;i<o.length;i++)if(Polymer.dom(o[i]
     ).getOwnerRoot()===t)return o[i]},get path(){if(!this.event._path){for(var e=[],
     t=this.rootTarget;t;){e.push(t);var o=Polymer.dom(t).getDestinationInsertionPoin
     ts();if(o.length){for(var i=0;i<o.length-1;i++)e.push(o[i]);t=o[o.length-1]}else
      t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return th
     is.event._path}};var o=function(t){return t.__eventApi||(t.__eventApi=new e.Even
     t(t)),t.__eventApi};return{factory:o}}(),function(){"use strict";var e=Polymer.D
     omApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"class
     List",{get:function(){return this._classList||(this._classList=new e.ClassList(t
     his)),this._classList},configurable:!0}),e.ClassList=function(e){this.domApi=e,t
     his.node=e.node},e.ClassList.prototype={add:function(){this.node.classList.add.a
     pply(this.node.classList,arguments),this._distributeParent()},remove:function(){
     this.node.classList.remove.apply(this.node.classList,arguments),this._distribute
     Parent()},toggle:function(){this.node.classList.toggle.apply(this.node.classList
     ,arguments),this._distributeParent()},_distributeParent:function(){t||this.domAp
     i._maybeDistributeParent()},contains:function(){return this.node.classList.conta
     ins.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Poly
     mer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this.
     domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserver
     .prototype={addListener:function(e){this._isSetup||(this._setup(),this._isSetup=
     !0);var t={fn:e,_nodes:[]};return this._listeners.push(t),this._scheduleNotify()
     ,t},removeListener:function(e){var t=this._listeners.indexOf(e);t>=0&&(this._lis
     teners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._isS
     etup=!1)},_setup:function(){this._observeContentElements(this.domApi.childNodes)
     },_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes)},_h
     asListeners:function(){return Boolean(this._listeners.length)},_scheduleNotify:f
     unction(){this._debouncer&&this._debouncer.stop(),this._debouncer=Polymer.Deboun
     ce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDeb
     ouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._scheduleN
     otify()},_notify:function(){this._beforeCallListeners(),this._callListeners()},_
     beforeCallListeners:function(){this._updateContentElements()},_updateContentElem
     ents:function(){this._observeContentElements(this.domApi.childNodes)},_observeCo
     ntentElements:function(e){for(var t,o=0;o<e.length&&(t=e[o]);o++)this._isContent
     (t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap.h
     as(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeConten
     t:function(e){var t=this,o=Polymer.dom(e).observeNodes(function(){t._scheduleNot
     ify()});return o._avoidChangeCalculation=!0,o},_unobserveContentElements:functio
     n(e){for(var t,o,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(o=t.__observe
     NodesMap.get(this),o&&(Polymer.dom(t).unobserveNodes(o),t.__observeNodesMap.dele
     te(this)))},_isContent:function(e){return"content"===e.localName},_callListeners
     :function(){for(var e,t=this._listeners,o=this._getEffectiveNodes(),i=0;i<t.leng
     th&&(e=t[i]);i++){var n=this._generateListenerInfo(e,o);(n||e._alwaysNotify)&&th
     is._callListener(e,n)}},_getEffectiveNodes:function(){return this.domApi.getEffe
     ctiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalculat
     ion)return!0;for(var o,i=e._nodes,n={target:this.node,addedNodes:[],removedNodes
     :[]},s=Polymer.ArraySplice.calculateSplices(t,i),r=0;r<s.length&&(o=s[r]);r++)fo
     r(var d,a=0;a<o.removed.length&&(d=o.removed[a]);a++)n.removedNodes.push(d);for(
     r=0,o;r<s.length&&(o=s[r]);r++)for(a=o.index;a<o.index+o.addedCount;a++)n.addedN
     odes.push(t[a]);return e._nodes=t,n.addedNodes.length||n.removedNodes.length?n:v
     oid 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowAt
     tributeTracking:function(){}},t.useShadow){var o=e.EffectiveNodesObserver.protot
     ype._setup,i=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(e.E
     ffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=thi
     s;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._obse
     rver=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._
     flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(thi
     s.node,{childList:!0})}o.call(this)},_cleanup:function(){this._observer.disconne
     ct(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlus
     h(this._boundFlush),i.call(this)},_flush:function(){this._observer&&this._mutati
     onHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function(
     ){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.dis
     connect(),this._observer.observe(this.node,{childList:!0,attributes:!0,subtree:!
     0});var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).observer&&Pol
     ymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwa
     ysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)e=this._listeners
     [t],e._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Po
     lymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.Ef
     fectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.c
     reate(e.EffectiveNodesObserver.prototype),Polymer.Base.extend(e.DistributedNodes
     Observer.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListene
     rs:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedN
     odes()}}),t.useShadow&&Polymer.Base.extend(e.DistributedNodesObserver.prototype,
     {_setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.h
     ost;if(t){var o=this;this._observer=Polymer.dom(t).observeNodes(function(){o._sc
     heduleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Pol
     ymer.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(
     ){var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:fu
     nction(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserv
     eNodes(this._observer),this._observer=null}})}(),function(){function e(e,t){t._d
     istributedNodes.push(e);var o=e._destinationInsertionPoints;o?o.push(t):e._desti
     nationInsertionPoints=[t]}function t(e){var t=e._distributedNodes;if(t)for(var o
     =0;o<t.length;o++){var i=t[o]._destinationInsertionPoints;i&&i.splice(i.indexOf(
     e)+1,i.length)}}function o(e,t){var o=u.Logical.getParentNode(e);o&&o.shadyRoot&
     &h.hasInsertionPoint(o.shadyRoot)&&o.shadyRoot._distributionClean&&(o.shadyRoot.
     _distributionClean=!1,t.shadyRoot._dirtyRoots.push(o))}function i(e,t){var o=t._
     destinationInsertionPoints;return o&&o[o.length-1]===e}function n(e){return"cont
     ent"==e.localName}function s(e){for(;e&&r(e);)e=e.domHost;return e}function r(e)
     {for(var t,o=u.Logical.getChildNodes(e),i=0;i<o.length;i++)if(t=o[i],t.localName
     &&"content"===t.localName)return e.domHost}function d(e){for(var t,o=0;o<e._inse
     rtionPoints.length;o++)t=e._insertionPoints[o],h.hasApi(t)&&Polymer.dom(t).notif
     yObserver()}function a(e){h.hasApi(e)&&Polymer.dom(e).notifyObserver()}function 
     l(e){if(c&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}var h=Polym
     er.DomApi,u=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this
     ._useContent=this._useContent||Boolean(this._template)},_setupShady:function(){t
     his.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=n
     ull),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(
     ){this._useContent&&u.Logical.saveChildNodes(this)},_setupRoot:function(){this._
     useContent&&(this._createLocalRoot(),this.dataHost||l(u.Logical.getChildNodes(th
     is)))},_createLocalRoot:function(){this.shadyRoot=this.root,this.shadyRoot._dist
     ributionClean=!1,this.shadyRoot._hasDistributed=!1,this.shadyRoot._isShadyRoot=!
     0,this.shadyRoot._dirtyRoots=[];var e=this.shadyRoot._insertionPoints=!this._not
     es||this._notes._hasContent?this.shadyRoot.querySelectorAll("content"):[];u.Logi
     cal.saveChildNodes(this.shadyRoot);for(var t,o=0;o<e.length;o++)t=e[o],u.Logical
     .saveChildNodes(t),u.Logical.saveChildNodes(t.parentNode);this.shadyRoot.host=th
     is},get domHost(){var e=Polymer.dom(this).getOwnerRoot();return e&&e.host},distr
     ibuteContent:function(e){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoin
     ts=this.shadyRoot._invalidInsertionPoints||e;var t=s(this);Polymer.dom(this)._la
     zyDistribute(t)}},_distributeContent:function(){this._useContent&&!this.shadyRoo
     t._distributionClean&&(this.shadyRoot._invalidInsertionPoints&&(Polymer.dom(this
     )._updateInsertionPoints(this),this.shadyRoot._invalidInsertionPoints=!1),this._
     beginDistribute(),this._distributeDirtyRoots(),this._finishDistribute())},_begin
     Distribute:function(){this._useContent&&h.hasInsertionPoint(this.shadyRoot)&&(th
     is._resetDistribution(),this._distributePool(this.shadyRoot,this._collectPool())
     ); | 
|    2 },_distributeDirtyRoots:function(){for(var e,t=this.shadyRoot._dirtyRoots,o=0,i=
     t.length;o<i&&(e=t[o]);o++)e._distributeContent();this.shadyRoot._dirtyRoots=[]}
     ,_finishDistribute:function(){if(this._useContent){if(this.shadyRoot._distributi
     onClean=!0,h.hasInsertionPoint(this.shadyRoot))this._composeTree(),d(this.shadyR
     oot);else if(this.shadyRoot._hasDistributed){var e=this._composeNode(this);this.
     _updateChildNodes(this,e)}else u.Composed.clearChildNodes(this),this.appendChild
     (this.shadyRoot);this.shadyRoot._hasDistributed||a(this),this.shadyRoot._hasDist
     ributed=!0}},elementMatches:function(e,t){return t=t||this,h.matchesSelector.cal
     l(t,e)},_resetDistribution:function(){for(var e=u.Logical.getChildNodes(this),o=
     0;o<e.length;o++){var i=e[o];i._destinationInsertionPoints&&(i._destinationInser
     tionPoints=void 0),n(i)&&t(i)}for(var s=this.shadyRoot,r=s._insertionPoints,d=0;
     d<r.length;d++)r[d]._distributedNodes=[]},_collectPool:function(){for(var e=[],t
     =u.Logical.getChildNodes(this),o=0;o<t.length;o++){var i=t[o];n(i)?e.push.apply(
     e,i._distributedNodes):e.push(i)}return e},_distributePool:function(e,t){for(var
      i,n=e._insertionPoints,s=0,r=n.length;s<r&&(i=n[s]);s++)this._distributeInserti
     onPoint(i,t),o(i,this)},_distributeInsertionPoint:function(t,o){for(var i,n=!1,s
     =0,r=o.length;s<r;s++)i=o[s],i&&this._matchesContentSelect(i,t)&&(e(i,t),o[s]=vo
     id 0,n=!0);if(!n)for(var d=u.Logical.getChildNodes(t),a=0;a<d.length;a++)e(d[a],
     t)},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this))
     ;for(var e,t,o=this.shadyRoot._insertionPoints,i=0,n=o.length;i<n&&(e=o[i]);i++)
     t=u.Logical.getParentNode(e),t._useContent||t===this||t===this.shadyRoot||this._
     updateChildNodes(t,this._composeNode(t))},_composeNode:function(e){for(var t=[],
     o=u.Logical.getChildNodes(e.shadyRoot||e),s=0;s<o.length;s++){var r=o[s];if(n(r)
     )for(var d=r._distributedNodes,a=0;a<d.length;a++){var l=d[a];i(r,l)&&t.push(l)}
     else t.push(r)}return t},_updateChildNodes:function(e,t){for(var o,i=u.Composed.
     getChildNodes(e),n=Polymer.ArraySplice.calculateSplices(t,i),s=0,r=0;s<n.length&
     &(o=n[s]);s++){for(var d,a=0;a<o.removed.length&&(d=o.removed[a]);a++)u.Composed
     .getParentNode(d)===e&&u.Composed.removeChild(e,d),i.splice(o.index+r,1);r-=o.ad
     dedCount}for(var o,l,s=0;s<n.length&&(o=n[s]);s++)for(l=i[o.index],a=o.index,d;a
     <o.index+o.addedCount;a++)d=t[a],u.Composed.insertBefore(e,d,l),i.splice(a,0,d)}
     ,_matchesContentSelect:function(e,t){var o=t.getAttribute("select");if(!o)return
     !0;if(o=o.trim(),!o)return!0;if(!(e instanceof Element))return!1;var i=/^(:not\(
     )?[*.#[a-zA-Z_|]/;return!!i.test(o)&&this.elementMatches(o,e)},_elementAdd:funct
     ion(){},_elementRemove:function(){}});var c=window.CustomElements&&!CustomElemen
     ts.useNative}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolConte
     nt:function(){},_beginDistribute:function(){},distributeContent:function(){},_di
     stributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:fun
     ction(){this.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root
     =this.shadowRoot}}),Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleC
     ontent:0,_twiddle:document.createTextNode(""),run:function(e,t){return t>0?~setT
     imeout(e,t):(this._twiddle.textContent=this._twiddleContent++,this._callbacks.pu
     sh(e),this._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-
     this._lastVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;th
     is._callbacks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.
     length,t=0;t<e;t++){var o=this._callbacks[t];if(o)try{o()}catch(e){throw t++,thi
     s._callbacks.splice(0,t),this._lastVal+=t,this._twiddle.textContent=this._twiddl
     eContent++,e}}this._callbacks.splice(0,e),this._lastVal+=e}},new window.Mutation
     Observer(function(){Polymer.Async._atEndOfMicrotask()}).observe(Polymer.Async._t
     widdle,{characterData:!0}),Polymer.Debounce=function(){function e(e,t,i){return 
     e?e.stop():e=new o(this),e.go(t,i),e}var t=Polymer.Async,o=function(e){this.cont
     ext=e;var t=this;this.boundComplete=function(){t.complete()}};return o.prototype
     ={go:function(e,o){var i;this.finish=function(){t.cancel(i)},i=t.run(this.boundC
     omplete,o),this.callback=e},stop:function(){this.finish&&(this.finish(),this.fin
     ish=null,this.callback=null)},complete:function(){if(this.finish){var e=this.cal
     lback;this.stop(),e.call(this.context)}}},e}(),Polymer.Base._addFeature({_setupD
     ebouncers:function(){this._debouncers={}},debounce:function(e,t,o){return this._
     debouncers[e]=Polymer.Debounce.call(this,this._debouncers[e],t,o)},isDebouncerAc
     tive:function(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebounce
     r:function(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:functio
     n(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createE
     lement("dom-module"),Polymer.Base._addFeature({_registerFeatures:function(){this
     ._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),th
     is._prepShady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHos
     tAttributes(e.hostAttributes)},_initFeatures:function(){this._registerHost(),thi
     s._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),thi
     s._endHosting()),this._marshalHostAttributes(),this._setupDebouncers(),this._mar
     shalBehaviors(),this._tryReady()},_marshalBehavior:function(e){}})</script> <scr
     ipt>Polymer.nar=[],Polymer.Annotations={parseAnnotations:function(e){var t=[],n=
     e._content||e.content;return this._parseNodeAnnotations(n,t,e.hasAttribute("stri
     p-whitespace")),t},_parseNodeAnnotations:function(e,t,n){return e.nodeType===Nod
     e.TEXT_NODE?this._parseTextNodeAnnotation(e,t):this._parseElementAnnotations(e,t
     ,n)},_bindingRegex:function(){var e="(?:[a-zA-Z_$][\\w.:$\\-*]*)",t="(?:[-+]?[0-
     9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)",n="(?:'(?:[^'\\\\]|\\\\.)*')",r='(?:"(?:[^"\
     \\\]|\\\\.)*")',s="(?:"+n+"|"+r+")",i="(?:"+e+"|"+t+"|"+s+"\\s*)",o="(?:"+i+"(?:
     ,\\s*"+i+")*)",a="(?:\\(\\s*(?:"+o+"?)\\)\\s*)",l="("+e+"\\s*"+a+"?)",h="(\\[\\[
     |{{)\\s*",c="(?:]]|}})",u="(?:(!)\\s*)?",f=h+u+l+c;return new RegExp(f,"g")}(),_
     parseBindings:function(e){for(var t,n=this._bindingRegex,r=[],s=0;null!==(t=n.ex
     ec(e));){t.index>s&&r.push({literal:e.slice(s,t.index)});var i,o,a,l=t[1][0],h=B
     oolean(t[2]),c=t[3].trim();"{"==l&&(a=c.indexOf("::"))>0&&(o=c.substring(a+2),c=
     c.substring(0,a),i=!0),r.push({compoundIndex:r.length,value:c,mode:l,negate:h,ev
     ent:o,customEvent:i}),s=n.lastIndex}if(s&&s<e.length){var u=e.substring(s);u&&r.
     push({literal:u})}if(r.length)return r},_literalFromParts:function(e){for(var t=
     "",n=0;n<e.length;n++){var r=e[n].literal;t+=r||""}return t},_parseTextNodeAnnot
     ation:function(e,t){var n=this._parseBindings(e.textContent);if(n){e.textContent
     =this._literalFromParts(n)||" ";var r={bindings:[{kind:"text",name:"textContent"
     ,parts:n,isCompound:1!==n.length}]};return t.push(r),r}},_parseElementAnnotation
     s:function(e,t,n){var r={bindings:[],events:[]};return"content"===e.localName&&(
     t._hasContent=!0),this._parseChildNodesAnnotations(e,r,t,n),e.attributes&&(this.
     _parseNodeAttributeAnnotations(e,r,t),this.prepElement&&this.prepElement(e)),(r.
     bindings.length||r.events.length||r.id)&&t.push(r),r},_parseChildNodesAnnotation
     s:function(e,t,n,r){if(e.firstChild)for(var s=e.firstChild,i=0;s;){var o=s.nextS
     ibling;if("template"!==s.localName||s.hasAttribute("preserve-content")||this._pa
     rseTemplate(s,i,n,t),s.nodeType===Node.TEXT_NODE){for(var a=o;a&&a.nodeType===No
     de.TEXT_NODE;)s.textContent+=a.textContent,o=a.nextSibling,e.removeChild(a),a=o;
     r&&!s.textContent.trim()&&(e.removeChild(s),i--)}if(s.parentNode){var l=this._pa
     rseNodeAnnotations(s,n,r);l&&(l.parent=t,l.index=i)}s=o,i++}},_parseTemplate:fun
     ction(e,t,n,r){var s=document.createDocumentFragment();s._notes=this.parseAnnota
     tions(e),s.appendChild(e.content),n.push({bindings:Polymer.nar,events:Polymer.na
     r,templateContent:s,parent:r,index:t})},_parseNodeAttributeAnnotations:function(
     e,t){for(var n,r=Array.prototype.slice.call(e.attributes),s=r.length-1;n=r[s];s-
     -){var i,o=n.name,a=n.value;"on-"===o.slice(0,3)?(e.removeAttribute(o),t.events.
     push({name:o.slice(3),value:a})):(i=this._parseNodeAttributeAnnotation(e,o,a))?t
     .bindings.push(i):"id"===o&&(t.id=a)}},_parseNodeAttributeAnnotation:function(e,
     t,n){var r=this._parseBindings(n);if(r){var s=t,i="property";"$"==t[t.length-1]&
     &(t=t.slice(0,-1),i="attribute");var o=this._literalFromParts(r);o&&"attribute"=
     =i&&e.setAttribute(t,o),"input"===e.localName&&"value"===s&&e.setAttribute(s,"")
     ,e.removeAttribute(s);var a=Polymer.CaseMap.dashToCamelCase(t);return"property"=
     ==i&&(t=a),{kind:i,name:t,propertyName:a,parts:r,literal:o,isCompound:1!==r.leng
     th}}},findAnnotatedNode:function(e,t){var n=t.parent&&Polymer.Annotations.findAn
     notatedNode(e,t.parent);if(!n)return e;for(var r=n.firstChild,s=0;r;r=r.nextSibl
     ing)if(t.index===s++)return r}},function(){function e(e,t){return e.replace(a,fu
     nction(e,r,s,i){return r+"'"+n(s.replace(/["']/g,""),t)+"'"+i})}function t(t,r){
     for(var s in l)for(var i,o,a,h=l[s],u=0,f=h.length;u<f&&(i=h[u]);u++)"*"!==s&&t.
     localName!==s||(o=t.attributes[i],a=o&&o.value,a&&a.search(c)<0&&(o.value="style
     "===i?e(a,r):n(a,r)))}function n(e,t){if(e&&h.test(e))return e;var n=s(t);return
      n.href=e,n.href||e}function r(e,t){return i||(i=document.implementation.createH
     TMLDocument("temp"),o=i.createElement("base"),i.head.appendChild(o)),o.href=t,n(
     e,i)}function s(e){return e.__urlResolver||(e.__urlResolver=e.createElement("a")
     )}var i,o,a=/(url\()([^)]*)(\))/g,l={"*":["href","src","style","url"],form:["act
     ion"]},h=/(^\/)|(^#)|(^[\w-\d]*:)/,c=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:
     e,resolveAttrs:t,resolveUrl:r}}(),Polymer.Base._addFeature({_prepAnnotations:fun
     ction(){if(this._template){var e=this;Polymer.Annotations.prepElement=function(t
     ){e._prepElement(t)},this._template._content&&this._template._content._notes?thi
     s._notes=this._template._content._notes:(this._notes=Polymer.Annotations.parseAn
     notations(this._template),this._processAnnotations(this._notes)),Polymer.Annotat
     ions.prepElement=null}else this._notes=[]},_processAnnotations:function(e){for(v
     ar t=0;t<e.length;t++){for(var n=e[t],r=0;r<n.bindings.length;r++)for(var s=n.bi
     ndings[r],i=0;i<s.parts.length;i++){var o=s.parts[i];if(!o.literal){var a=this._
     parseMethod(o.value);a?o.signature=a:o.model=this._modelForPath(o.value)}}if(n.t
     emplateContent){this._processAnnotations(n.templateContent._notes);var l=n.templ
     ateContent._parentProps=this._discoverTemplateParentProps(n.templateContent._not
     es),h=[];for(var c in l){var u="_parent_"+c;h.push({index:n.index,kind:"property
     ",name:u,propertyName:u,parts:[{mode:"{",model:c,value:c}]})}n.bindings=n.bindin
     gs.concat(h)}}},_discoverTemplateParentProps:function(e){for(var t,n={},r=0;r<e.
     length&&(t=e[r]);r++){for(var s,i=0,o=t.bindings;i<o.length&&(s=o[i]);i++)for(va
     r a,l=0,h=s.parts;l<h.length&&(a=h[l]);l++)if(a.signature){for(var c=a.signature
     .args,u=0;u<c.length;u++){var f=c[u].model;f&&(n[f]=!0)}a.signature.dynamicFn&&(
     n[a.signature.method]=!0)}else a.model&&(n[a.model]=!0);if(t.templateContent){va
     r p=t.templateContent._parentProps;Polymer.Base.mixin(n,p)}}return n},_prepEleme
     nt:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument)},
     _findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationRefer
     ences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotatedN
     odes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:functi
     on(){for(var e=this._notes,t=this._nodes,n=0;n<e.length;n++){var r=e[n],s=t[n];t
     his._configureTemplateContent(r,s),this._configureCompoundBindings(r,s)}},_confi
     gureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateConte
     nt)},_configureCompoundBindings:function(e,t){for(var n=e.bindings,r=0;r<n.lengt
     h;r++){var s=n[r];if(s.isCompound){for(var i=t.__compoundStorage__||(t.__compoun
     dStorage__={}),o=s.parts,a=new Array(o.length),l=0;l<o.length;l++)a[l]=o[l].lite
     ral;var h=s.name;i[h]=a,s.literal&&"property"==s.kind&&(t._configValue?t._config
     Value(h,s.literal):t[h]=s.literal)}}},_marshalIdNodes:function(){this.$={};for(v
     ar e,t=0,n=this._notes.length;t<n&&(e=this._notes[t]);t++)e.id&&(this.$[e.id]=th
     is._findAnnotatedNode(this.root,e))},_marshalAnnotatedNodes:function(){if(this._
     notes&&this._notes.length){for(var e=new Array(this._notes.length),t=0;t<this._n
     otes.length;t++)e[t]=this._findAnnotatedNode(this.root,this._notes[t]);this._nod
     es=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,n=this._notes.length;
     t<n&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var r,s=this._findA
     nnotatedNode(this.root,e),i=0,o=e.events;i<o.length&&(r=o[i]);i++)this.listen(s,
     r.name,r.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:funct
     ion(e){var t,n,r;for(r in e)r.indexOf(".")<0?(t=this,n=r):(n=r.split("."),t=this
     .$[n[0]],n=n[1]),this.listen(t,n,e[r])},listen:function(e,t,n){var r=this._recal
     lEventHandler(this,t,e,n);r||(r=this._createEventHandler(e,t,n)),r._listening||(
     this._listen(e,t,r),r._listening=!0)},_boundListenerKey:function(e,t){return e+"
     :"+t},_recordEventHandler:function(e,t,n,r,s){var i=e.__boundListeners;i||(i=e._
     _boundListeners=new WeakMap);var o=i.get(n);o||(o={},i.set(n,o));var a=this._bou
     ndListenerKey(t,r);o[a]=s},_recallEventHandler:function(e,t,n,r){var s=e.__bound
     Listeners;if(s){var i=s.get(n);if(i){var o=this._boundListenerKey(t,r);return i[
     o]}}},_createEventHandler:function(e,t,n){var r=this,s=function(e){r[n]?r[n](e,e
     .detail):r._warn(r._logf("_createEventHandler","listener method `"+n+"` not defi
     ned"))};return s._listening=!1,this._recordEventHandler(r,t,e,n,s),s},unlisten:f
     unction(e,t,n){var r=this._recallEventHandler(this,t,e,n);r&&(this._unlisten(e,t
     ,r),r._listening=!1)},_listen:function(e,t,n){e.addEventListener(t,n)},_unlisten
     :function(e,t,n){e.removeEventListener(t,n)}}),function(){"use strict";function 
     e(e){for(var t,n=0;n<m.length;n++)t=m[n],e?document.addEventListener(t,P,!0):doc
     ument.removeEventListener(t,P,!0)}function t(){if(!g){S.mouse.mouseIgnoreJob||e(
     !0);var t=function(){e(),S.mouse.target=null,S.mouse.mouseIgnoreJob=null};S.mous
     e.mouseIgnoreJob=Polymer.Debounce(S.mouse.mouseIgnoreJob,t,d)}}function n(e){var
      t=e.type;if(m.indexOf(t)===-1)return!1;if("mousemove"===t){var n=void 0===e.but
     tons?1:e.buttons;return e instanceof window.MouseEvent&&!v&&(n=y[e.which]||0),Bo
     olean(1&n)}var r=void 0===e.button?0:e.button;return 0===r}function r(e){if("cli
     ck"===e.type){if(0===e.detail)return!0;var t=E.findOriginalTarget(e),n=t.getBoun
     dingClientRect(),r=e.pageX,s=e.pageY;return!(r>=n.left&&r<=n.right&&s>=n.top&&s<
     =n.bottom)}return!1}function s(e){for(var t,n=Polymer.dom(e).path,r="auto",s=0;s
     <n.length;s++)if(t=n[s],t[u]){r=t[u];break}return r}function i(e,t,n){e.movefn=t
     ,e.upfn=n,document.addEventListener("mousemove",t),document.addEventListener("mo
     useup",n)}function o(e){document.removeEventListener("mousemove",e.movefn),docum
     ent.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var a=Polyme
     r.DomApi.wrap,l="string"==typeof document.head.style.touchAction,h="__polymerGes
     tures",c="__polymerGesturesHandled",u="__polymerGesturesTouchAction",f=25,p=5,_=
     2,d=2500,m=["mousedown","mousemove","mouseup","click"],y=[0,1,4,2],v=function(){
     try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}(),
     g=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),P=function(e){var t=e.so
     urceCapabilities;if((!t||t.firesTouchEvents)&&(e[c]={skip:!0},"click"===e.type))
     {for(var n=Polymer.dom(e).path,r=0;r<n.length;r++)if(n[r]===S.mouse.target)retur
     n;e.preventDefault(),e.stopPropagation()}},S={mouse:{target:null,mouseIgnoreJob:
     null},touch:{x:0,y:0,id:-1,scrollDecided:!1}},E={gestures:{},recognizers:[],deep
     TargetFind:function(e,t){for(var n=document.elementFromPoint(e,t),r=n;r&&r.shado
     wRoot;)r=r.shadowRoot.elementFromPoint(e,t),r&&(n=r);return n},findOriginalTarge
     t:function(e){return e.path?e.path[0]:e.target},handleNative:function(e){var n,r
     =e.type,s=a(e.currentTarget),i=s[h];if(i){var o=i[r];if(o){if(!e[c]&&(e[c]={},"t
     ouch"===r.slice(0,5))){var u=e.changedTouches[0];if("touchstart"===r&&1===e.touc
     hes.length&&(S.touch.id=u.identifier),S.touch.id!==u.identifier)return;l||"touch
     start"!==r&&"touchmove"!==r||E.handleTouchAction(e),"touchend"===r&&(S.mouse.tar
     get=Polymer.dom(e).rootTarget,t())}if(n=e[c],!n.skip){for(var f,p=E.recognizers,
     _=0;_<p.length;_++)f=p[_],o[f.name]&&!n[f.name]&&f.flow&&f.flow.start.indexOf(e.
     type)>-1&&f.reset&&f.reset();for(_=0,f;_<p.length;_++)f=p[_],o[f.name]&&!n[f.nam
     e]&&(n[f.name]=!0,f[r](e))}}}},handleTouchAction:function(e){var t=e.changedTouc
     hes[0],n=e.type;if("touchstart"===n)S.touch.x=t.clientX,S.touch.y=t.clientY,S.to
     uch.scrollDecided=!1;else if("touchmove"===n){if(S.touch.scrollDecided)return;S.
     touch.scrollDecided=!0;var r=s(e),i=!1,o=Math.abs(S.touch.x-t.clientX),a=Math.ab
     s(S.touch.y-t.clientY);e.cancelable&&("none"===r?i=!0:"pan-x"===r?i=a>o:"pan-y"=
     ==r&&(i=o>a)),i?e.preventDefault():E.prevent("track")}},add:function(e,t,n){e=a(
     e);var r=this.gestures[t],s=r.deps,i=r.name,o=e[h];o||(e[h]=o={});for(var l,c,u=
     0;u<s.length;u++)l=s[u],g&&m.indexOf(l)>-1||(c=o[l],c||(o[l]=c={_count:0}),0===c
     ._count&&e.addEventListener(l,this.handleNative),c[i]=(c[i]||0)+1,c._count=(c._c
     ount||0)+1);e.addEventListener(t,n),r.touchAction&&this.setTouchAction(e,r.touch
     Action)},remove:function(e,t,n){e=a(e);var r=this.gestures[t],s=r.deps,i=r.name,
     o=e[h];if(o)for(var l,c,u=0;u<s.length;u++)l=s[u],c=o[l],c&&c[i]&&(c[i]=(c[i]||1
     )-1,c._count=(c._count||1)-1,0===c._count&&e.removeEventListener(l,this.handleNa
     tive));e.removeEventListener(t,n)},register:function(e){this.recognizers.push(e)
     ;for(var t=0;t<e.emits.length;t++)this.gestures[e.emits[t]]=e},findRecognizerByE
     vent:function(e){for(var t,n=0;n<this.recognizers.length;n++){t=this.recognizers
     [n];for(var r,s=0;s<t.emits.length;s++)if(r=t.emits[s],r===e)return t}return nul
     l},setTouchAction:function(e,t){l&&(e.style.touchAction=t),e[u]=t},fire:function
     (e,t,n){var r=Polymer.Base.fire(t,n,{node:e,bubbles:!0,cancelable:!0});if(r.defa
     ultPrevented){var s=n.preventer||n.sourceEvent;s&&s.preventDefault&&s.preventDef
     ault()}},prevent:function(e){var t=this.findRecognizerByEvent(e);t.info&&(t.info
     .prevent=!0)},resetMouseCanceller:function(){S.mouse.mouseIgnoreJob&&S.mouse.mou
     seIgnoreJob.complete()}};E.register({name:"downup",deps:["mousedown","touchstart
     ","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]}
     ,emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){o(this.info)}
     ,mousedown:function(e){if(n(e)){var t=E.findOriginalTarget(e),r=this,s=function(
     e){n(e)||(r.fire("up",t,e),o(r.info))},a=function(e){n(e)&&r.fire("up",t,e),o(r.
     info)};i(this.info,s,a),this.fire("down",t,e)}},touchstart:function(e){this.fire
     ("down",E.findOriginalTarget(e),e.changedTouches[0],e)},touchend:function(e){thi
     s.fire("up",E.findOriginalTarget(e),e.changedTouches[0],e)},fire:function(e,t,n,
     r){E.fire(t,e,{x:n.clientX,y:n.clientY,sourceEvent:n,preventer:r,prevent:functio
     n(e){return E.prevent(e)}})}}),E.register({name:"track",touchAction:"none",deps:
     ["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touc
     hstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start"
     ,started:!1,moves:[],addMove:function(e){this.moves.length>_&&this.moves.shift()
     ,this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.inf
     o.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.
     y=0,this.info.prevent=!1,o(this.info)},hasMovedEnough:function(e,t){if(this.info
     .prevent)return!1;if(this.info.started)return!0;var n=Math.abs(this.info.x-e),r=
     Math.abs(this.info.y-t);return n>=p||r>=p},mousedown:function(e){if(n(e)){var t=
     E.findOriginalTarget(e),r=this,s=function(e){var s=e.clientX,i=e.clientY;r.hasMo
     vedEnough(s,i)&&(r.info.state=r.info.started?"mouseup"===e.type?"end":"track":"s
     tart","start"===r.info.state&&E.prevent("tap"),r.info.addMove({x:s,y:i}),n(e)||(
     r.info.state="end",o(r.info)),r.fire(t,e),r.info.started=!0)},a=function(e){r.in
     fo.started&&s(e),o(r.info)};i(this.info,s,a),this.info.x=e.clientX,this.info.y=e
     .clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.client
     X,this.info.y=t.clientY},touchmove:function(e){var t=E.findOriginalTarget(e),n=e
     .changedTouches[0],r=n.clientX,s=n.clientY;this.hasMovedEnough(r,s)&&("start"===
     this.info.state&&E.prevent("tap"),this.info.addMove({x:r,y:s}),this.fire(t,n),th
     is.info.state="track",this.info.started=!0)},touchend:function(e){var t=E.findOr
     iginalTarget(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",
     this.info.addMove({x:n.clientX,y:n.clientY}),this.fire(t,n,e))},fire:function(e,
     t,n){var r,s=this.info.moves[this.info.moves.length-2],i=this.info.moves[this.in
     fo.moves.length-1],o=i.x-this.info.x,a=i.y-this.info.y,l=0;return s&&(r=i.x-s.x,
     l=i.y-s.y),E.fire(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,
     dy:a,ddx:r,ddy:l,sourceEvent:t,preventer:n,hover:function(){return E.deepTargetF
     ind(t.clientX,t.clientY)}})}}),E.register({name:"tap",deps:["mousedown","click",
     "touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","to
     uchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info
     .x=NaN,this.info.y=NaN,this.info.prevent=!1},save:function(e){this.info.x=e.clie
     ntX,this.info.y=e.clientY},mousedown:function(e){n(e)&&this.save(e)},click:funct
     ion(e){n(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[
     0],e)},touchend:function(e){this.forward(e.changedTouches[0],e)},forward:functio
     n(e,t){var n=Math.abs(e.clientX-this.info.x),s=Math.abs(e.clientY-this.info.y),i
     =E.findOriginalTarget(e);(isNaN(n)||isNaN(s)||n<=f&&s<=f||r(e))&&(this.info.prev
     ent||E.fire(i,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}});var
      C={x:"pan-x",y:"pan-y",none:"none",all:"auto"};Polymer.Base._addFeature({_setup
     Gestures:function(){this.__polymerGestures=null},_listen:function(e,t,n){E.gestu
     res[t]?E.add(e,t,n):e.addEventListener(t,n)},_unlisten:function(e,t,n){E.gesture
     s[t]?E.remove(e,t,n):e.removeEventListener(t,n)},setScrollDirection:function(e,t
     ){t=t||this,E.setTouchAction(t,C[e]||"auto")}}),Polymer.Gestures=E}(),function()
     {"use strict";if(Polymer.Base._addFeature({$$:function(e){return Polymer.dom(thi
     s.root).querySelector(e)},toggleClass:function(e,t,n){n=n||this,1==arguments.len
     gth&&(t=!n.classList.contains(e)),t?Polymer.dom(n).classList.add(e):Polymer.dom(
     n).classList.remove(e)},toggleAttribute:function(e,t,n){n=n||this,1==arguments.l
     ength&&(t=!n.hasAttribute(e)),t?Polymer.dom(n).setAttribute(e,""):Polymer.dom(n)
     .removeAttribute(e)},classFollows:function(e,t,n){n&&Polymer.dom(n).classList.re
     move(e),t&&Polymer.dom(t).classList.add(e)},attributeFollows:function(e,t,n){n&&
     Polymer.dom(n).removeAttribute(e),t&&Polymer.dom(t).setAttribute(e,"")},getEffec
     tiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes()},get
     EffectiveChildren:function(){var e=Polymer.dom(this).getEffectiveChildNodes();re
     turn e.filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},getEffectiveT
     extContent:function(){for(var e,t=this.getEffectiveChildNodes(),n=[],r=0;e=t[r];
     r++)e.nodeType!==Node.COMMENT_NODE&&n.push(Polymer.dom(e).textContent);return n.
     join("")},queryEffectiveChildren:function(e){var t=Polymer.dom(this).queryDistri
     butedElements(e);return t&&t[0]},queryAllEffectiveChildren:function(e){return Po
     lymer.dom(this).queryDistributedElements(e)},getContentChildNodes:function(e){va
     r t=Polymer.dom(this.root).querySelector(e||"content");return t?Polymer.dom(t).g
     etDistributedNodes():[]},getContentChildren:function(e){return this.getContentCh
     ildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:fun
     ction(e,t,n){n=n||Polymer.nob;var r=n.node||this;t=null===t||void 0===t?{}:t;var
      s=void 0===n.bubbles||n.bubbles,i=Boolean(n.cancelable),o=n._useCache,a=this._g
     etEvent(e,s,i,o);return a.detail=t,o&&(this.__eventCache[e]=null),r.dispatchEven
     t(a),o&&(this.__eventCache[e]=a),a},__eventCache:{},_getEvent:function(e,t,n,r){
     var s=r&&this.__eventCache[e];return s&&s.bubbles==t&&s.cancelable==n||(s=new Ev
     ent(e,{bubbles:Boolean(t),cancelable:n})),s},async:function(e,t){var n=this;retu
     rn Polymer.Async.run(function(){e.call(n)},t)},cancelAsync:function(e){Polymer.A
     sync.cancel(e)},arrayDelete:function(e,t){var n;if(Array.isArray(e)){if(n=e.inde
     xOf(t),n>=0)return e.splice(n,1)}else{var r=this._get(e);if(n=r.indexOf(t),n>=0)
     return this.splice(e,n,1)}},transform:function(e,t){t=t||this,t.style.webkitTran
     sform=e,t.style.transform=e},translate3d:function(e,t,n,r){r=r||this,this.transf
     orm("translate3d("+e+","+t+","+n+")",r)},importHref:function(e,t,n,r){var s=docu
     ment.createElement("link");s.rel="import",s.href=e;var i=Polymer.Base.importHref
     .imported=Polymer.Base.importHref.imported||{},o=i[s.href],a=o||s,l=this;if(t){v
     ar h=function(e){return e.target.__firedLoad=!0,e.target.removeEventListener("lo
     ad",h),t.call(l,e)};a.addEventListener("load",h)}if(n){var c=function(e){return 
     e.target.__firedError=!0,e.target.removeEventListener("error",c),n.call(l,e)};a.
     addEventListener("error",c)}return o?(o.__firedLoad&&o.dispatchEvent(new Event("
     load")),o.__firedError&&o.dispatchEvent(new Event("error"))):(i[s.href]=s,r=Bool
     ean(r),r&&s.setAttribute("async",""),document.head.appendChild(s)),a},create:fun
     ction(e,t){var n=document.createElement(e);if(t)for(var r in t)n[r]=t[r];return 
     n},isLightDescendant:function(e){return this!==e&&this.contains(e)&&Polymer.dom(
     this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot()},isLocalDescendant:function
     (e){return this.root===Polymer.dom(e).getOwnerRoot()}}),!Polymer.Settings.useNat
     iveCustomElements){var e=Polymer.Base.importHref;Polymer.Base.importHref=functio
     n(t,n,r,s){CustomElements.ready=!1;var i=function(e){if(CustomElements.upgradeDo
     cumentTree(document),CustomElements.ready=!0,n)return n.call(this,e)};return e.c
     all(this,t,i,r,s)}}}(),Polymer.Bind={prepareModel:function(e){Polymer.Base.mixin
     (e,this._modelApi)},_modelApi:{_notifyChange:function(e,t,n){n=void 0===n?this[e
     ]:n,t=t||Polymer.CaseMap.camelToDashCase(e)+"-changed",this.fire(t,{value:n},{bu
     bbles:!1,cancelable:!1,_useCache:!0})},_propertySetter:function(e,t,n,r){var s=t
     his.__data__[e];return s===t||s!==s&&t!==t||(this.__data__[e]=t,"object"==typeof
      t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,s),n&&th
     is._effectEffects(e,t,n,s,r)),s},__setProperty:function(e,t,n,r){r=r||this;var s
     =r._propertyEffects&&r._propertyEffects[e];s?r._propertySetter(e,t,s,n):r[e]!==t
     &&(r[e]=t)},_effectEffects:function(e,t,n,r,s){for(var i,o=0,a=n.length;o<a&&(i=
     n[o]);o++)i.fn.call(this,e,this[e],i.effect,r,s)},_clearPath:function(e){for(var
      t in this.__data__)0===t.indexOf(e+".")&&(this.__data__[t]=void 0)}},ensureProp
     ertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={});var n=e._p
     ropertyEffects[t];return n||(n=e._propertyEffects[t]=[]),n},addPropertyEffect:fu
     nction(e,t,n,r){var s=this.ensurePropertyEffects(e,t),i={kind:n,effect:r,fn:Poly
     mer.Bind["_"+n+"Effect"]};return s.push(i),i},createBindings:function(e){var t=e
     ._propertyEffects;if(t)for(var n in t){var r=t[n];r.sort(this._sortPropertyEffec
     ts),this._createAccessors(e,n,r)}},_sortPropertyEffects:function(){var e={comput
     e:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5,complexObs
     erver:6,function:7};return function(t,n){return e[t.kind]-e[n.kind]}}(),_createA
     ccessors:function(e,t,n){var r={get:function(){return this.__data__[t]}},s=funct
     ion(e){this._propertySetter(t,e,n)},i=e.getPropertyInfo&&e.getPropertyInfo(t);i&
     &i.readOnly?i.computed||(e["_set"+this.upper(t)]=s):r.set=s,Object.definePropert
     y(e,t,r)},upper:function(e){return e[0].toUpperCase()+e.substring(1)},_addAnnota
     tedListener:function(e,t,n,r,s,i){e._bindListeners||(e._bindListeners=[]);var o=
     this._notedListenerFactory(n,r,this._isStructured(r),i),a=s||Polymer.CaseMap.cam
     elToDashCase(n)+"-changed";e._bindListeners.push({index:t,property:n,path:r,chan
     gedFn:o,event:a})},_isStructured:function(e){return e.indexOf(".")>0},_isEventBo
     gus:function(e,t){return e.path&&e.path[0]!==t},_notedListenerFactory:function(e
     ,t,n,r){return function(s,i,o){o?this._notifyPath(this._fixPath(t,e,o),i):(i=s[e
     ],r&&(i=!i),n?this.__data__[t]!=i&&this.set(t,i):this[t]=i)}},prepareInstance:fu
     nction(e){e.__data__=Object.create(null)},setupBindListeners:function(e){for(var
      t,n=e._bindListeners,r=0,s=n.length;r<s&&(t=n[r]);r++){var i=e._nodes[t.index];
     this._addNotifyListener(i,e,t.event,t.changedFn)}},_addNotifyListener:function(e
     ,t,n,r){e.addEventListener(n,function(e){return t._notifyListener(r,e)})}},Polym
     er.Base.extend(Polymer.Bind,{_shouldAddListener:function(e){return e.name&&"attr
     ibute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotatio
     nEffect:function(e,t,n){e!=n.value&&(t=this._get(n.value),this.__data__[n.value]
     =t),this._applyEffectValue(n,t)},_reflectEffect:function(e,t,n){this.reflectProp
     ertyToAttribute(e,n.attribute,t)},_notifyEffect:function(e,t,n,r,s){s||this._not
     ifyChange(e,n.event,t)},_functionEffect:function(e,t,n,r,s){n.call(this,e,t,r,s)
     },_observerEffect:function(e,t,n,r){var s=this[n.method];s?s.call(this,t,r):this
     ._warn(this._logf("_observerEffect","observer method `"+n.method+"` not defined"
     ))},_complexObserverEffect:function(e,t,n){var r=this[n.method];if(r){var s=Poly
     mer.Bind._marshalArgs(this.__data__,n,e,t);s&&r.apply(this,s)}else n.dynamicFn||
     this._warn(this._logf("_complexObserverEffect","observer method `"+n.method+"` n
     ot defined"))},_computeEffect:function(e,t,n){var r=this[n.method];if(r){var s=P
     olymer.Bind._marshalArgs(this.__data__,n,e,t);if(s){var i=r.apply(this,s);this._
     _setProperty(n.name,i)}}else n.dynamicFn||this._warn(this._logf("_computeEffect"
     ,"compute method `"+n.method+"` not defined"))},_annotatedComputationEffect:func
     tion(e,t,n){var r=this._rootDataHost||this,s=r[n.method];if(s){var i=Polymer.Bin
     d._marshalArgs(this.__data__,n,e,t);if(i){var o=s.apply(r,i);this._applyEffectVa
     lue(n,o)}}else n.dynamicFn||r._warn(r._logf("_annotatedComputationEffect","compu
     te method `"+n.method+"` not defined"))},_marshalArgs:function(e,t,n,r){for(var 
     s=[],i=t.args,o=i.length>1||t.dynamicFn,a=0,l=i.length;a<l;a++){var h,c=i[a],u=c
     .name;if(c.literal?h=c.value:n===u?h=r:(h=e[u],void 0===h&&c.structured&&(h=Poly
     mer.Base._get(u,e))),o&&void 0===h)return;if(c.wildcard){var f=0===n.indexOf(u+"
     .");s[a]={path:f?n:u,value:f?r:h,base:h}}else s[a]=h}return s}}),Polymer.Base._a
     ddFeature({_addPropertyEffect:function(e,t,n){var r=Polymer.Bind.addPropertyEffe
     ct(this,e,t,n);r.pathFn=this["_"+r.kind+"PathEffect"]},_prepEffects:function(){P
     olymer.Bind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBin
     dings:function(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function
     (e){if(e)for(var t in e){var n=e[t];if(n.observer&&this._addObserverEffect(t,n.o
     bserver),n.computed&&(n.readOnly=!0,this._addComputedEffect(t,n.computed)),n.not
     ify&&this._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t
     )+"-changed"}),n.reflectToAttribute){var r=Polymer.CaseMap.camelToDashCase(t);"-
     "===r[0]?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be r
     eflected to attribute "+r+' because "-" is not a valid starting attribute name. 
     Use a lowercase first letter for the property instead.')):this._addPropertyEffec
     t(t,"reflect",{attribute:r})}n.readOnly&&Polymer.Bind.ensurePropertyEffects(this
     ,t)}},_addComputedEffect:function(e,t){for(var n,r=this._parseMethod(t),s=r.dyna
     micFn,i=0;i<r.args.length&&(n=r.args[i]);i++)this._addPropertyEffect(n.model,"co
     mpute",{method:r.method,args:r.args,trigger:n,name:e,dynamicFn:s});s&&this._addP
     ropertyEffect(r.method,"compute",{method:r.method,args:r.args,trigger:null,name:
     e,dynamicFn:s})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"obs
     erver",{method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(v
     ar t,n=0;n<e.length&&(t=e[n]);n++)this._addComplexObserverEffect(t)},_addComplex
     ObserverEffect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Mal
     formed observer expression '"+e+"'");for(var n,r=t.dynamicFn,s=0;s<t.args.length
     &&(n=t.args[s]);s++)this._addPropertyEffect(n.model,"complexObserver",{method:t.
     method,args:t.args,trigger:n,dynamicFn:r});r&&this._addPropertyEffect(t.method,"
     complexObserver",{method:t.method,args:t.args,trigger:null,dynamicFn:r})},_addAn
     notationEffects:function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++)for(var r,s=t
     .bindings,i=0;i<s.length&&(r=s[i]);i++)this._addAnnotationEffect(r,n)},_addAnnot
     ationEffect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addA
     nnotatedListener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].nega
     te);for(var n=0;n<e.parts.length;n++){var r=e.parts[n];r.signature?this._addAnno
     tatedComputationEffect(e,r,t):r.literal||("attribute"===e.kind&&"-"===e.name[0]?
     this._warn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' be
     cause "-" is not a valid attribute starting character')):this._addPropertyEffect
     (r.model,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyNa
     me,value:r.value,isCompound:e.isCompound,compoundIndex:r.compoundIndex,event:r.e
     vent,customEvent:r.customEvent,negate:r.negate}))}},_addAnnotatedComputationEffe
     ct:function(e,t,n){var r=t.signature;if(r.static)this.__addAnnotatedComputationE
     ffect("__static__",n,e,t,null);else{for(var s,i=0;i<r.args.length&&(s=r.args[i])
     ;i++)s.literal||this.__addAnnotatedComputationEffect(s.model,n,e,t,s);r.dynamicF
     n&&this.__addAnnotatedComputationEffect(r.method,n,e,t,null)}},__addAnnotatedCom
     putationEffect:function(e,t,n,r,s){this._addPropertyEffect(e,"annotatedComputati
     on",{index:t,isCompound:n.isCompound,compoundIndex:r.compoundIndex,kind:n.kind,n
     ame:n.name,negate:r.negate,method:r.signature.method,args:r.signature.args,trigg
     er:s,dynamicFn:r.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/
     ([^\s]+?)\(([\s\S]*)\)/);if(t){var n={method:t[1],static:!0};if(this.getProperty
     Info(n.method)!==Polymer.nob&&(n.static=!1,n.dynamicFn=!0),t[2].trim()){var r=t[
     2].replace(/\\,/g,",").split(",");return this._parseArgs(r,n)}return n.arg
     s=Polymer.nar,n}},_parseArgs:function(e,t){return t.args=e.map(function(e){var n
     =this._parseArg(e);return n.literal||(t.static=!1),n},this),t},_parseArg:functio
     n(e){var t=e.trim().replace(/,/g,",").replace(/\\(.)/g,"$1"),n={name:t},r=
     t[0];switch("-"===r&&(r=t[1]),r>="0"&&r<="9"&&(r="#"),r){case"'":case'"':n.value
     =t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return 
     n.literal||(n.model=this._modelForPath(t),n.structured=t.indexOf(".")>0,n.struct
     ured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n},_mar
     shalInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindList
     eners&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){va
     r n=this._nodes[e.index],r=e.name;if(t=this._computeFinalAnnotationValue(n,r,t,e
     ),"attribute"==e.kind)this.serializeValueToAttribute(t,r,n);else{var s=n._proper
     tyInfo&&n._propertyInfo[r];if(s&&s.readOnly)return;this.__setProperty(r,t,!1,n)}
     },_computeFinalAnnotationValue:function(e,t,n,r){if(r.negate&&(n=!n),r.isCompoun
     d){var s=e.__compoundStorage__[t];s[r.compoundIndex]=n,n=s.join("")}return"attri
     bute"!==r.kind&&("className"===t&&(n=this._scopeElementClass(e,n)),("textContent
     "===t||"input"==e.localName&&"value"==t)&&(n=void 0==n?"":n)),n},_executeStaticE
     ffects:function(){this._propertyEffects&&this._propertyEffects.__static__&&this.
     _effectEffects("__static__",null,this._propertyEffects.__static__)}}),function()
     {var e=Polymer.Settings.usePolyfillProto;Polymer.Base._addFeature({_setupConfigu
     re:function(e){if(this._config={},this._handlers=[],this._aboveConfig=null,e)for
     (var t in e)void 0!==e[t]&&(this._config[t]=e[t])},_marshalAttributes:function()
     {this._takeAttributesToModel(this._config)},_attributeChangedImpl:function(e){va
     r t=this._clientsReadied?this:this._config;this._setAttributeToProperty(t,e)},_c
     onfigValue:function(e,t){var n=this._propertyInfo[e];n&&n.readOnly||(this._confi
     g[e]=t)},_beforeClientsReady:function(){this._configure()},_configure:function()
     {this._configureAnnotationReferences(),this._configureInstanceProperties(),this.
     _aboveConfig=this.mixin({},this._config);for(var e={},t=0;t<this.behaviors.lengt
     h;t++)this._configureProperties(this.behaviors[t].properties,e);this._configureP
     roperties(this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this
     ._clients&&this._clients.length&&this._distributeConfig(this._config)},_configur
     eInstanceProperties:function(){for(var t in this._propertyEffects)!e&&this.hasOw
     nProperty(t)&&(this._configValue(t,this[t]),delete this[t])},_configurePropertie
     s:function(e,t){for(var n in e){var r=e[n];if(void 0!==r.value){var s=r.value;"f
     unction"==typeof s&&(s=s.call(this,this._config)),t[n]=s}}},_distributeConfig:fu
     nction(e){var t=this._propertyEffects;if(t)for(var n in e){var r=t[n];if(r)for(v
     ar s,i=0,o=r.length;i<o&&(s=r[i]);i++)if("annotation"===s.kind){var a=this._node
     s[s.effect.index],l=s.effect.propertyName,h="attribute"==s.effect.kind,c=a._prop
     ertyEffects&&a._propertyEffects[l];if(a._configValue&&(c||!h)){var u=n===s.effec
     t.value?e[n]:this._get(s.effect.value,e);u=this._computeFinalAnnotationValue(a,l
     ,u,s.effect),h&&(u=a.deserialize(this.serialize(u),a._propertyInfo[l].type)),a._
     configValue(l,u)}}}},_afterClientsReady:function(){this._executeStaticEffects(),
     this._applyConfig(this._config,this._aboveConfig), |    2 },_distributeDirtyRoots:function(){for(var e,t=this.shadyRoot._dirtyRoots,o=0,i=
     t.length;o<i&&(e=t[o]);o++)e._distributeContent();this.shadyRoot._dirtyRoots=[]}
     ,_finishDistribute:function(){if(this._useContent){if(this.shadyRoot._distributi
     onClean=!0,h.hasInsertionPoint(this.shadyRoot))this._composeTree(),d(this.shadyR
     oot);else if(this.shadyRoot._hasDistributed){var e=this._composeNode(this);this.
     _updateChildNodes(this,e)}else u.Composed.clearChildNodes(this),this.appendChild
     (this.shadyRoot);this.shadyRoot._hasDistributed||a(this),this.shadyRoot._hasDist
     ributed=!0}},elementMatches:function(e,t){return t=t||this,h.matchesSelector.cal
     l(t,e)},_resetDistribution:function(){for(var e=u.Logical.getChildNodes(this),o=
     0;o<e.length;o++){var i=e[o];i._destinationInsertionPoints&&(i._destinationInser
     tionPoints=void 0),n(i)&&t(i)}for(var s=this.shadyRoot,r=s._insertionPoints,d=0;
     d<r.length;d++)r[d]._distributedNodes=[]},_collectPool:function(){for(var e=[],t
     =u.Logical.getChildNodes(this),o=0;o<t.length;o++){var i=t[o];n(i)?e.push.apply(
     e,i._distributedNodes):e.push(i)}return e},_distributePool:function(e,t){for(var
      i,n=e._insertionPoints,s=0,r=n.length;s<r&&(i=n[s]);s++)this._distributeInserti
     onPoint(i,t),o(i,this)},_distributeInsertionPoint:function(t,o){for(var i,n=!1,s
     =0,r=o.length;s<r;s++)i=o[s],i&&this._matchesContentSelect(i,t)&&(e(i,t),o[s]=vo
     id 0,n=!0);if(!n)for(var d=u.Logical.getChildNodes(t),a=0;a<d.length;a++)e(d[a],
     t)},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this))
     ;for(var e,t,o=this.shadyRoot._insertionPoints,i=0,n=o.length;i<n&&(e=o[i]);i++)
     t=u.Logical.getParentNode(e),t._useContent||t===this||t===this.shadyRoot||this._
     updateChildNodes(t,this._composeNode(t))},_composeNode:function(e){for(var t=[],
     o=u.Logical.getChildNodes(e.shadyRoot||e),s=0;s<o.length;s++){var r=o[s];if(n(r)
     )for(var d=r._distributedNodes,a=0;a<d.length;a++){var l=d[a];i(r,l)&&t.push(l)}
     else t.push(r)}return t},_updateChildNodes:function(e,t){for(var o,i=u.Composed.
     getChildNodes(e),n=Polymer.ArraySplice.calculateSplices(t,i),s=0,r=0;s<n.length&
     &(o=n[s]);s++){for(var d,a=0;a<o.removed.length&&(d=o.removed[a]);a++)u.Composed
     .getParentNode(d)===e&&u.Composed.removeChild(e,d),i.splice(o.index+r,1);r-=o.ad
     dedCount}for(var o,l,s=0;s<n.length&&(o=n[s]);s++)for(l=i[o.index],a=o.index,d;a
     <o.index+o.addedCount;a++)d=t[a],u.Composed.insertBefore(e,d,l),i.splice(a,0,d)}
     ,_matchesContentSelect:function(e,t){var o=t.getAttribute("select");if(!o)return
     !0;if(o=o.trim(),!o)return!0;if(!(e instanceof Element))return!1;var i=/^(:not\(
     )?[*.#[a-zA-Z_|]/;return!!i.test(o)&&this.elementMatches(o,e)},_elementAdd:funct
     ion(){},_elementRemove:function(){}});var c=window.CustomElements&&!CustomElemen
     ts.useNative}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolConte
     nt:function(){},_beginDistribute:function(){},distributeContent:function(){},_di
     stributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:fun
     ction(){this.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root
     =this.shadowRoot}}),Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleC
     ontent:0,_twiddle:document.createTextNode(""),run:function(e,t){return t>0?~setT
     imeout(e,t):(this._twiddle.textContent=this._twiddleContent++,this._callbacks.pu
     sh(e),this._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-
     this._lastVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;th
     is._callbacks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.
     length,t=0;t<e;t++){var o=this._callbacks[t];if(o)try{o()}catch(e){throw t++,thi
     s._callbacks.splice(0,t),this._lastVal+=t,this._twiddle.textContent=this._twiddl
     eContent++,e}}this._callbacks.splice(0,e),this._lastVal+=e}},new window.Mutation
     Observer(function(){Polymer.Async._atEndOfMicrotask()}).observe(Polymer.Async._t
     widdle,{characterData:!0}),Polymer.Debounce=function(){function e(e,t,i){return 
     e?e.stop():e=new o(this),e.go(t,i),e}var t=Polymer.Async,o=function(e){this.cont
     ext=e;var t=this;this.boundComplete=function(){t.complete()}};return o.prototype
     ={go:function(e,o){var i;this.finish=function(){t.cancel(i)},i=t.run(this.boundC
     omplete,o),this.callback=e},stop:function(){this.finish&&(this.finish(),this.fin
     ish=null,this.callback=null)},complete:function(){if(this.finish){var e=this.cal
     lback;this.stop(),e.call(this.context)}}},e}(),Polymer.Base._addFeature({_setupD
     ebouncers:function(){this._debouncers={}},debounce:function(e,t,o){return this._
     debouncers[e]=Polymer.Debounce.call(this,this._debouncers[e],t,o)},isDebouncerAc
     tive:function(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebounce
     r:function(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:functio
     n(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createE
     lement("dom-module"),Polymer.Base._addFeature({_registerFeatures:function(){this
     ._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),th
     is._prepShady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHos
     tAttributes(e.hostAttributes)},_initFeatures:function(){this._registerHost(),thi
     s._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),thi
     s._endHosting()),this._marshalHostAttributes(),this._setupDebouncers(),this._mar
     shalBehaviors(),this._tryReady()},_marshalBehavior:function(e){}})</script> <scr
     ipt>Polymer.nar=[],Polymer.Annotations={parseAnnotations:function(e){var t=[],n=
     e._content||e.content;return this._parseNodeAnnotations(n,t,e.hasAttribute("stri
     p-whitespace")),t},_parseNodeAnnotations:function(e,t,n){return e.nodeType===Nod
     e.TEXT_NODE?this._parseTextNodeAnnotation(e,t):this._parseElementAnnotations(e,t
     ,n)},_bindingRegex:function(){var e="(?:[a-zA-Z_$][\\w.:$\\-*]*)",t="(?:[-+]?[0-
     9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)",n="(?:'(?:[^'\\\\]|\\\\.)*')",r='(?:"(?:[^"\
     \\\]|\\\\.)*")',s="(?:"+n+"|"+r+")",i="(?:"+e+"|"+t+"|"+s+"\\s*)",o="(?:"+i+"(?:
     ,\\s*"+i+")*)",a="(?:\\(\\s*(?:"+o+"?)\\)\\s*)",l="("+e+"\\s*"+a+"?)",h="(\\[\\[
     |{{)\\s*",c="(?:]]|}})",u="(?:(!)\\s*)?",f=h+u+l+c;return new RegExp(f,"g")}(),_
     parseBindings:function(e){for(var t,n=this._bindingRegex,r=[],s=0;null!==(t=n.ex
     ec(e));){t.index>s&&r.push({literal:e.slice(s,t.index)});var i,o,a,l=t[1][0],h=B
     oolean(t[2]),c=t[3].trim();"{"==l&&(a=c.indexOf("::"))>0&&(o=c.substring(a+2),c=
     c.substring(0,a),i=!0),r.push({compoundIndex:r.length,value:c,mode:l,negate:h,ev
     ent:o,customEvent:i}),s=n.lastIndex}if(s&&s<e.length){var u=e.substring(s);u&&r.
     push({literal:u})}if(r.length)return r},_literalFromParts:function(e){for(var t=
     "",n=0;n<e.length;n++){var r=e[n].literal;t+=r||""}return t},_parseTextNodeAnnot
     ation:function(e,t){var n=this._parseBindings(e.textContent);if(n){e.textContent
     =this._literalFromParts(n)||" ";var r={bindings:[{kind:"text",name:"textContent"
     ,parts:n,isCompound:1!==n.length}]};return t.push(r),r}},_parseElementAnnotation
     s:function(e,t,n){var r={bindings:[],events:[]};return"content"===e.localName&&(
     t._hasContent=!0),this._parseChildNodesAnnotations(e,r,t,n),e.attributes&&(this.
     _parseNodeAttributeAnnotations(e,r,t),this.prepElement&&this.prepElement(e)),(r.
     bindings.length||r.events.length||r.id)&&t.push(r),r},_parseChildNodesAnnotation
     s:function(e,t,n,r){if(e.firstChild)for(var s=e.firstChild,i=0;s;){var o=s.nextS
     ibling;if("template"!==s.localName||s.hasAttribute("preserve-content")||this._pa
     rseTemplate(s,i,n,t),s.nodeType===Node.TEXT_NODE){for(var a=o;a&&a.nodeType===No
     de.TEXT_NODE;)s.textContent+=a.textContent,o=a.nextSibling,e.removeChild(a),a=o;
     r&&!s.textContent.trim()&&(e.removeChild(s),i--)}if(s.parentNode){var l=this._pa
     rseNodeAnnotations(s,n,r);l&&(l.parent=t,l.index=i)}s=o,i++}},_parseTemplate:fun
     ction(e,t,n,r){var s=document.createDocumentFragment();s._notes=this.parseAnnota
     tions(e),s.appendChild(e.content),n.push({bindings:Polymer.nar,events:Polymer.na
     r,templateContent:s,parent:r,index:t})},_parseNodeAttributeAnnotations:function(
     e,t){for(var n,r=Array.prototype.slice.call(e.attributes),s=r.length-1;n=r[s];s-
     -){var i,o=n.name,a=n.value;"on-"===o.slice(0,3)?(e.removeAttribute(o),t.events.
     push({name:o.slice(3),value:a})):(i=this._parseNodeAttributeAnnotation(e,o,a))?t
     .bindings.push(i):"id"===o&&(t.id=a)}},_parseNodeAttributeAnnotation:function(e,
     t,n){var r=this._parseBindings(n);if(r){var s=t,i="property";"$"==t[t.length-1]&
     &(t=t.slice(0,-1),i="attribute");var o=this._literalFromParts(r);o&&"attribute"=
     =i&&e.setAttribute(t,o),"input"===e.localName&&"value"===s&&e.setAttribute(s,"")
     ,e.removeAttribute(s);var a=Polymer.CaseMap.dashToCamelCase(t);return"property"=
     ==i&&(t=a),{kind:i,name:t,propertyName:a,parts:r,literal:o,isCompound:1!==r.leng
     th}}},findAnnotatedNode:function(e,t){var n=t.parent&&Polymer.Annotations.findAn
     notatedNode(e,t.parent);if(!n)return e;for(var r=n.firstChild,s=0;r;r=r.nextSibl
     ing)if(t.index===s++)return r}},function(){function e(e,t){return e.replace(a,fu
     nction(e,r,s,i){return r+"'"+n(s.replace(/["']/g,""),t)+"'"+i})}function t(t,r){
     for(var s in l)for(var i,o,a,h=l[s],u=0,f=h.length;u<f&&(i=h[u]);u++)"*"!==s&&t.
     localName!==s||(o=t.attributes[i],a=o&&o.value,a&&a.search(c)<0&&(o.value="style
     "===i?e(a,r):n(a,r)))}function n(e,t){if(e&&h.test(e))return e;var n=s(t);return
      n.href=e,n.href||e}function r(e,t){return i||(i=document.implementation.createH
     TMLDocument("temp"),o=i.createElement("base"),i.head.appendChild(o)),o.href=t,n(
     e,i)}function s(e){return e.__urlResolver||(e.__urlResolver=e.createElement("a")
     )}var i,o,a=/(url\()([^)]*)(\))/g,l={"*":["href","src","style","url"],form:["act
     ion"]},h=/(^\/)|(^#)|(^[\w-\d]*:)/,c=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:
     e,resolveAttrs:t,resolveUrl:r}}(),Polymer.Base._addFeature({_prepAnnotations:fun
     ction(){if(this._template){var e=this;Polymer.Annotations.prepElement=function(t
     ){e._prepElement(t)},this._template._content&&this._template._content._notes?thi
     s._notes=this._template._content._notes:(this._notes=Polymer.Annotations.parseAn
     notations(this._template),this._processAnnotations(this._notes)),Polymer.Annotat
     ions.prepElement=null}else this._notes=[]},_processAnnotations:function(e){for(v
     ar t=0;t<e.length;t++){for(var n=e[t],r=0;r<n.bindings.length;r++)for(var s=n.bi
     ndings[r],i=0;i<s.parts.length;i++){var o=s.parts[i];if(!o.literal){var a=this._
     parseMethod(o.value);a?o.signature=a:o.model=this._modelForPath(o.value)}}if(n.t
     emplateContent){this._processAnnotations(n.templateContent._notes);var l=n.templ
     ateContent._parentProps=this._discoverTemplateParentProps(n.templateContent._not
     es),h=[];for(var c in l){var u="_parent_"+c;h.push({index:n.index,kind:"property
     ",name:u,propertyName:u,parts:[{mode:"{",model:c,value:c}]})}n.bindings=n.bindin
     gs.concat(h)}}},_discoverTemplateParentProps:function(e){for(var t,n={},r=0;r<e.
     length&&(t=e[r]);r++){for(var s,i=0,o=t.bindings;i<o.length&&(s=o[i]);i++)for(va
     r a,l=0,h=s.parts;l<h.length&&(a=h[l]);l++)if(a.signature){for(var c=a.signature
     .args,u=0;u<c.length;u++){var f=c[u].model;f&&(n[f]=!0)}a.signature.dynamicFn&&(
     n[a.signature.method]=!0)}else a.model&&(n[a.model]=!0);if(t.templateContent){va
     r p=t.templateContent._parentProps;Polymer.Base.mixin(n,p)}}return n},_prepEleme
     nt:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument)},
     _findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationRefer
     ences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotatedN
     odes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:functi
     on(){for(var e=this._notes,t=this._nodes,n=0;n<e.length;n++){var r=e[n],s=t[n];t
     his._configureTemplateContent(r,s),this._configureCompoundBindings(r,s)}},_confi
     gureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateConte
     nt)},_configureCompoundBindings:function(e,t){for(var n=e.bindings,r=0;r<n.lengt
     h;r++){var s=n[r];if(s.isCompound){for(var i=t.__compoundStorage__||(t.__compoun
     dStorage__={}),o=s.parts,a=new Array(o.length),l=0;l<o.length;l++)a[l]=o[l].lite
     ral;var h=s.name;i[h]=a,s.literal&&"property"==s.kind&&(t._configValue?t._config
     Value(h,s.literal):t[h]=s.literal)}}},_marshalIdNodes:function(){this.$={};for(v
     ar e,t=0,n=this._notes.length;t<n&&(e=this._notes[t]);t++)e.id&&(this.$[e.id]=th
     is._findAnnotatedNode(this.root,e))},_marshalAnnotatedNodes:function(){if(this._
     notes&&this._notes.length){for(var e=new Array(this._notes.length),t=0;t<this._n
     otes.length;t++)e[t]=this._findAnnotatedNode(this.root,this._notes[t]);this._nod
     es=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,n=this._notes.length;
     t<n&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var r,s=this._findA
     nnotatedNode(this.root,e),i=0,o=e.events;i<o.length&&(r=o[i]);i++)this.listen(s,
     r.name,r.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:funct
     ion(e){var t,n,r;for(r in e)r.indexOf(".")<0?(t=this,n=r):(n=r.split("."),t=this
     .$[n[0]],n=n[1]),this.listen(t,n,e[r])},listen:function(e,t,n){var r=this._recal
     lEventHandler(this,t,e,n);r||(r=this._createEventHandler(e,t,n)),r._listening||(
     this._listen(e,t,r),r._listening=!0)},_boundListenerKey:function(e,t){return e+"
     :"+t},_recordEventHandler:function(e,t,n,r,s){var i=e.__boundListeners;i||(i=e._
     _boundListeners=new WeakMap);var o=i.get(n);o||(o={},i.set(n,o));var a=this._bou
     ndListenerKey(t,r);o[a]=s},_recallEventHandler:function(e,t,n,r){var s=e.__bound
     Listeners;if(s){var i=s.get(n);if(i){var o=this._boundListenerKey(t,r);return i[
     o]}}},_createEventHandler:function(e,t,n){var r=this,s=function(e){r[n]?r[n](e,e
     .detail):r._warn(r._logf("_createEventHandler","listener method `"+n+"` not defi
     ned"))};return s._listening=!1,this._recordEventHandler(r,t,e,n,s),s},unlisten:f
     unction(e,t,n){var r=this._recallEventHandler(this,t,e,n);r&&(this._unlisten(e,t
     ,r),r._listening=!1)},_listen:function(e,t,n){e.addEventListener(t,n)},_unlisten
     :function(e,t,n){e.removeEventListener(t,n)}}),function(){"use strict";function 
     e(e){for(var t,n=0;n<m.length;n++)t=m[n],e?document.addEventListener(t,P,!0):doc
     ument.removeEventListener(t,P,!0)}function t(){if(!g){S.mouse.mouseIgnoreJob||e(
     !0);var t=function(){e(),S.mouse.target=null,S.mouse.mouseIgnoreJob=null};S.mous
     e.mouseIgnoreJob=Polymer.Debounce(S.mouse.mouseIgnoreJob,t,d)}}function n(e){var
      t=e.type;if(m.indexOf(t)===-1)return!1;if("mousemove"===t){var n=void 0===e.but
     tons?1:e.buttons;return e instanceof window.MouseEvent&&!v&&(n=y[e.which]||0),Bo
     olean(1&n)}var r=void 0===e.button?0:e.button;return 0===r}function r(e){if("cli
     ck"===e.type){if(0===e.detail)return!0;var t=E.findOriginalTarget(e),n=t.getBoun
     dingClientRect(),r=e.pageX,s=e.pageY;return!(r>=n.left&&r<=n.right&&s>=n.top&&s<
     =n.bottom)}return!1}function s(e){for(var t,n=Polymer.dom(e).path,r="auto",s=0;s
     <n.length;s++)if(t=n[s],t[u]){r=t[u];break}return r}function i(e,t,n){e.movefn=t
     ,e.upfn=n,document.addEventListener("mousemove",t),document.addEventListener("mo
     useup",n)}function o(e){document.removeEventListener("mousemove",e.movefn),docum
     ent.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var a=Polyme
     r.DomApi.wrap,l="string"==typeof document.head.style.touchAction,h="__polymerGes
     tures",c="__polymerGesturesHandled",u="__polymerGesturesTouchAction",f=25,p=5,_=
     2,d=2500,m=["mousedown","mousemove","mouseup","click"],y=[0,1,4,2],v=function(){
     try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}(),
     g=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),P=function(e){var t=e.so
     urceCapabilities;if((!t||t.firesTouchEvents)&&(e[c]={skip:!0},"click"===e.type))
     {for(var n=Polymer.dom(e).path,r=0;r<n.length;r++)if(n[r]===S.mouse.target)retur
     n;e.preventDefault(),e.stopPropagation()}},S={mouse:{target:null,mouseIgnoreJob:
     null},touch:{x:0,y:0,id:-1,scrollDecided:!1}},E={gestures:{},recognizers:[],deep
     TargetFind:function(e,t){for(var n=document.elementFromPoint(e,t),r=n;r&&r.shado
     wRoot;)r=r.shadowRoot.elementFromPoint(e,t),r&&(n=r);return n},findOriginalTarge
     t:function(e){return e.path?e.path[0]:e.target},handleNative:function(e){var n,r
     =e.type,s=a(e.currentTarget),i=s[h];if(i){var o=i[r];if(o){if(!e[c]&&(e[c]={},"t
     ouch"===r.slice(0,5))){var u=e.changedTouches[0];if("touchstart"===r&&1===e.touc
     hes.length&&(S.touch.id=u.identifier),S.touch.id!==u.identifier)return;l||"touch
     start"!==r&&"touchmove"!==r||E.handleTouchAction(e),"touchend"===r&&(S.mouse.tar
     get=Polymer.dom(e).rootTarget,t())}if(n=e[c],!n.skip){for(var f,p=E.recognizers,
     _=0;_<p.length;_++)f=p[_],o[f.name]&&!n[f.name]&&f.flow&&f.flow.start.indexOf(e.
     type)>-1&&f.reset&&f.reset();for(_=0,f;_<p.length;_++)f=p[_],o[f.name]&&!n[f.nam
     e]&&(n[f.name]=!0,f[r](e))}}}},handleTouchAction:function(e){var t=e.changedTouc
     hes[0],n=e.type;if("touchstart"===n)S.touch.x=t.clientX,S.touch.y=t.clientY,S.to
     uch.scrollDecided=!1;else if("touchmove"===n){if(S.touch.scrollDecided)return;S.
     touch.scrollDecided=!0;var r=s(e),i=!1,o=Math.abs(S.touch.x-t.clientX),a=Math.ab
     s(S.touch.y-t.clientY);e.cancelable&&("none"===r?i=!0:"pan-x"===r?i=a>o:"pan-y"=
     ==r&&(i=o>a)),i?e.preventDefault():E.prevent("track")}},add:function(e,t,n){e=a(
     e);var r=this.gestures[t],s=r.deps,i=r.name,o=e[h];o||(e[h]=o={});for(var l,c,u=
     0;u<s.length;u++)l=s[u],g&&m.indexOf(l)>-1||(c=o[l],c||(o[l]=c={_count:0}),0===c
     ._count&&e.addEventListener(l,this.handleNative),c[i]=(c[i]||0)+1,c._count=(c._c
     ount||0)+1);e.addEventListener(t,n),r.touchAction&&this.setTouchAction(e,r.touch
     Action)},remove:function(e,t,n){e=a(e);var r=this.gestures[t],s=r.deps,i=r.name,
     o=e[h];if(o)for(var l,c,u=0;u<s.length;u++)l=s[u],c=o[l],c&&c[i]&&(c[i]=(c[i]||1
     )-1,c._count=(c._count||1)-1,0===c._count&&e.removeEventListener(l,this.handleNa
     tive));e.removeEventListener(t,n)},register:function(e){this.recognizers.push(e)
     ;for(var t=0;t<e.emits.length;t++)this.gestures[e.emits[t]]=e},findRecognizerByE
     vent:function(e){for(var t,n=0;n<this.recognizers.length;n++){t=this.recognizers
     [n];for(var r,s=0;s<t.emits.length;s++)if(r=t.emits[s],r===e)return t}return nul
     l},setTouchAction:function(e,t){l&&(e.style.touchAction=t),e[u]=t},fire:function
     (e,t,n){var r=Polymer.Base.fire(t,n,{node:e,bubbles:!0,cancelable:!0});if(r.defa
     ultPrevented){var s=n.preventer||n.sourceEvent;s&&s.preventDefault&&s.preventDef
     ault()}},prevent:function(e){var t=this.findRecognizerByEvent(e);t.info&&(t.info
     .prevent=!0)},resetMouseCanceller:function(){S.mouse.mouseIgnoreJob&&S.mouse.mou
     seIgnoreJob.complete()}};E.register({name:"downup",deps:["mousedown","touchstart
     ","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]}
     ,emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){o(this.info)}
     ,mousedown:function(e){if(n(e)){var t=E.findOriginalTarget(e),r=this,s=function(
     e){n(e)||(r.fire("up",t,e),o(r.info))},a=function(e){n(e)&&r.fire("up",t,e),o(r.
     info)};i(this.info,s,a),this.fire("down",t,e)}},touchstart:function(e){this.fire
     ("down",E.findOriginalTarget(e),e.changedTouches[0],e)},touchend:function(e){thi
     s.fire("up",E.findOriginalTarget(e),e.changedTouches[0],e)},fire:function(e,t,n,
     r){E.fire(t,e,{x:n.clientX,y:n.clientY,sourceEvent:n,preventer:r,prevent:functio
     n(e){return E.prevent(e)}})}}),E.register({name:"track",touchAction:"none",deps:
     ["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touc
     hstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start"
     ,started:!1,moves:[],addMove:function(e){this.moves.length>_&&this.moves.shift()
     ,this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.inf
     o.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.
     y=0,this.info.prevent=!1,o(this.info)},hasMovedEnough:function(e,t){if(this.info
     .prevent)return!1;if(this.info.started)return!0;var n=Math.abs(this.info.x-e),r=
     Math.abs(this.info.y-t);return n>=p||r>=p},mousedown:function(e){if(n(e)){var t=
     E.findOriginalTarget(e),r=this,s=function(e){var s=e.clientX,i=e.clientY;r.hasMo
     vedEnough(s,i)&&(r.info.state=r.info.started?"mouseup"===e.type?"end":"track":"s
     tart","start"===r.info.state&&E.prevent("tap"),r.info.addMove({x:s,y:i}),n(e)||(
     r.info.state="end",o(r.info)),r.fire(t,e),r.info.started=!0)},a=function(e){r.in
     fo.started&&s(e),o(r.info)};i(this.info,s,a),this.info.x=e.clientX,this.info.y=e
     .clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.client
     X,this.info.y=t.clientY},touchmove:function(e){var t=E.findOriginalTarget(e),n=e
     .changedTouches[0],r=n.clientX,s=n.clientY;this.hasMovedEnough(r,s)&&("start"===
     this.info.state&&E.prevent("tap"),this.info.addMove({x:r,y:s}),this.fire(t,n),th
     is.info.state="track",this.info.started=!0)},touchend:function(e){var t=E.findOr
     iginalTarget(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",
     this.info.addMove({x:n.clientX,y:n.clientY}),this.fire(t,n,e))},fire:function(e,
     t,n){var r,s=this.info.moves[this.info.moves.length-2],i=this.info.moves[this.in
     fo.moves.length-1],o=i.x-this.info.x,a=i.y-this.info.y,l=0;return s&&(r=i.x-s.x,
     l=i.y-s.y),E.fire(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,
     dy:a,ddx:r,ddy:l,sourceEvent:t,preventer:n,hover:function(){return E.deepTargetF
     ind(t.clientX,t.clientY)}})}}),E.register({name:"tap",deps:["mousedown","click",
     "touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","to
     uchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info
     .x=NaN,this.info.y=NaN,this.info.prevent=!1},save:function(e){this.info.x=e.clie
     ntX,this.info.y=e.clientY},mousedown:function(e){n(e)&&this.save(e)},click:funct
     ion(e){n(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[
     0],e)},touchend:function(e){this.forward(e.changedTouches[0],e)},forward:functio
     n(e,t){var n=Math.abs(e.clientX-this.info.x),s=Math.abs(e.clientY-this.info.y),i
     =E.findOriginalTarget(e);(isNaN(n)||isNaN(s)||n<=f&&s<=f||r(e))&&(this.info.prev
     ent||E.fire(i,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}});var
      C={x:"pan-x",y:"pan-y",none:"none",all:"auto"};Polymer.Base._addFeature({_setup
     Gestures:function(){this.__polymerGestures=null},_listen:function(e,t,n){E.gestu
     res[t]?E.add(e,t,n):e.addEventListener(t,n)},_unlisten:function(e,t,n){E.gesture
     s[t]?E.remove(e,t,n):e.removeEventListener(t,n)},setScrollDirection:function(e,t
     ){t=t||this,E.setTouchAction(t,C[e]||"auto")}}),Polymer.Gestures=E}(),function()
     {"use strict";if(Polymer.Base._addFeature({$$:function(e){return Polymer.dom(thi
     s.root).querySelector(e)},toggleClass:function(e,t,n){n=n||this,1==arguments.len
     gth&&(t=!n.classList.contains(e)),t?Polymer.dom(n).classList.add(e):Polymer.dom(
     n).classList.remove(e)},toggleAttribute:function(e,t,n){n=n||this,1==arguments.l
     ength&&(t=!n.hasAttribute(e)),t?Polymer.dom(n).setAttribute(e,""):Polymer.dom(n)
     .removeAttribute(e)},classFollows:function(e,t,n){n&&Polymer.dom(n).classList.re
     move(e),t&&Polymer.dom(t).classList.add(e)},attributeFollows:function(e,t,n){n&&
     Polymer.dom(n).removeAttribute(e),t&&Polymer.dom(t).setAttribute(e,"")},getEffec
     tiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes()},get
     EffectiveChildren:function(){var e=Polymer.dom(this).getEffectiveChildNodes();re
     turn e.filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},getEffectiveT
     extContent:function(){for(var e,t=this.getEffectiveChildNodes(),n=[],r=0;e=t[r];
     r++)e.nodeType!==Node.COMMENT_NODE&&n.push(Polymer.dom(e).textContent);return n.
     join("")},queryEffectiveChildren:function(e){var t=Polymer.dom(this).queryDistri
     butedElements(e);return t&&t[0]},queryAllEffectiveChildren:function(e){return Po
     lymer.dom(this).queryDistributedElements(e)},getContentChildNodes:function(e){va
     r t=Polymer.dom(this.root).querySelector(e||"content");return t?Polymer.dom(t).g
     etDistributedNodes():[]},getContentChildren:function(e){return this.getContentCh
     ildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:fun
     ction(e,t,n){n=n||Polymer.nob;var r=n.node||this;t=null===t||void 0===t?{}:t;var
      s=void 0===n.bubbles||n.bubbles,i=Boolean(n.cancelable),o=n._useCache,a=this._g
     etEvent(e,s,i,o);return a.detail=t,o&&(this.__eventCache[e]=null),r.dispatchEven
     t(a),o&&(this.__eventCache[e]=a),a},__eventCache:{},_getEvent:function(e,t,n,r){
     var s=r&&this.__eventCache[e];return s&&s.bubbles==t&&s.cancelable==n||(s=new Ev
     ent(e,{bubbles:Boolean(t),cancelable:n})),s},async:function(e,t){var n=this;retu
     rn Polymer.Async.run(function(){e.call(n)},t)},cancelAsync:function(e){Polymer.A
     sync.cancel(e)},arrayDelete:function(e,t){var n;if(Array.isArray(e)){if(n=e.inde
     xOf(t),n>=0)return e.splice(n,1)}else{var r=this._get(e);if(n=r.indexOf(t),n>=0)
     return this.splice(e,n,1)}},transform:function(e,t){t=t||this,t.style.webkitTran
     sform=e,t.style.transform=e},translate3d:function(e,t,n,r){r=r||this,this.transf
     orm("translate3d("+e+","+t+","+n+")",r)},importHref:function(e,t,n,r){var s=docu
     ment.createElement("link");s.rel="import",s.href=e;var i=Polymer.Base.importHref
     .imported=Polymer.Base.importHref.imported||{},o=i[s.href],a=o||s,l=this;if(t){v
     ar h=function(e){return e.target.__firedLoad=!0,e.target.removeEventListener("lo
     ad",h),t.call(l,e)};a.addEventListener("load",h)}if(n){var c=function(e){return 
     e.target.__firedError=!0,e.target.removeEventListener("error",c),n.call(l,e)};a.
     addEventListener("error",c)}return o?(o.__firedLoad&&o.dispatchEvent(new Event("
     load")),o.__firedError&&o.dispatchEvent(new Event("error"))):(i[s.href]=s,r=Bool
     ean(r),r&&s.setAttribute("async",""),document.head.appendChild(s)),a},create:fun
     ction(e,t){var n=document.createElement(e);if(t)for(var r in t)n[r]=t[r];return 
     n},isLightDescendant:function(e){return this!==e&&this.contains(e)&&Polymer.dom(
     this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot()},isLocalDescendant:function
     (e){return this.root===Polymer.dom(e).getOwnerRoot()}}),!Polymer.Settings.useNat
     iveCustomElements){var e=Polymer.Base.importHref;Polymer.Base.importHref=functio
     n(t,n,r,s){CustomElements.ready=!1;var i=function(e){if(CustomElements.upgradeDo
     cumentTree(document),CustomElements.ready=!0,n)return n.call(this,e)};return e.c
     all(this,t,i,r,s)}}}(),Polymer.Bind={prepareModel:function(e){Polymer.Base.mixin
     (e,this._modelApi)},_modelApi:{_notifyChange:function(e,t,n){n=void 0===n?this[e
     ]:n,t=t||Polymer.CaseMap.camelToDashCase(e)+"-changed",this.fire(t,{value:n},{bu
     bbles:!1,cancelable:!1,_useCache:!0})},_propertySetter:function(e,t,n,r){var s=t
     his.__data__[e];return s===t||s!==s&&t!==t||(this.__data__[e]=t,"object"==typeof
      t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,s),n&&th
     is._effectEffects(e,t,n,s,r)),s},__setProperty:function(e,t,n,r){r=r||this;var s
     =r._propertyEffects&&r._propertyEffects[e];s?r._propertySetter(e,t,s,n):r[e]!==t
     &&(r[e]=t)},_effectEffects:function(e,t,n,r,s){for(var i,o=0,a=n.length;o<a&&(i=
     n[o]);o++)i.fn.call(this,e,this[e],i.effect,r,s)},_clearPath:function(e){for(var
      t in this.__data__)0===t.indexOf(e+".")&&(this.__data__[t]=void 0)}},ensureProp
     ertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={});var n=e._p
     ropertyEffects[t];return n||(n=e._propertyEffects[t]=[]),n},addPropertyEffect:fu
     nction(e,t,n,r){var s=this.ensurePropertyEffects(e,t),i={kind:n,effect:r,fn:Poly
     mer.Bind["_"+n+"Effect"]};return s.push(i),i},createBindings:function(e){var t=e
     ._propertyEffects;if(t)for(var n in t){var r=t[n];r.sort(this._sortPropertyEffec
     ts),this._createAccessors(e,n,r)}},_sortPropertyEffects:function(){var e={comput
     e:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5,complexObs
     erver:6,function:7};return function(t,n){return e[t.kind]-e[n.kind]}}(),_createA
     ccessors:function(e,t,n){var r={get:function(){return this.__data__[t]}},s=funct
     ion(e){this._propertySetter(t,e,n)},i=e.getPropertyInfo&&e.getPropertyInfo(t);i&
     &i.readOnly?i.computed||(e["_set"+this.upper(t)]=s):r.set=s,Object.definePropert
     y(e,t,r)},upper:function(e){return e[0].toUpperCase()+e.substring(1)},_addAnnota
     tedListener:function(e,t,n,r,s,i){e._bindListeners||(e._bindListeners=[]);var o=
     this._notedListenerFactory(n,r,this._isStructured(r),i),a=s||Polymer.CaseMap.cam
     elToDashCase(n)+"-changed";e._bindListeners.push({index:t,property:n,path:r,chan
     gedFn:o,event:a})},_isStructured:function(e){return e.indexOf(".")>0},_isEventBo
     gus:function(e,t){return e.path&&e.path[0]!==t},_notedListenerFactory:function(e
     ,t,n,r){return function(s,i,o){o?this._notifyPath(this._fixPath(t,e,o),i):(i=s[e
     ],r&&(i=!i),n?this.__data__[t]!=i&&this.set(t,i):this[t]=i)}},prepareInstance:fu
     nction(e){e.__data__=Object.create(null)},setupBindListeners:function(e){for(var
      t,n=e._bindListeners,r=0,s=n.length;r<s&&(t=n[r]);r++){var i=e._nodes[t.index];
     this._addNotifyListener(i,e,t.event,t.changedFn)}},_addNotifyListener:function(e
     ,t,n,r){e.addEventListener(n,function(e){return t._notifyListener(r,e)})}},Polym
     er.Base.extend(Polymer.Bind,{_shouldAddListener:function(e){return e.name&&"attr
     ibute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotatio
     nEffect:function(e,t,n){e!=n.value&&(t=this._get(n.value),this.__data__[n.value]
     =t),this._applyEffectValue(n,t)},_reflectEffect:function(e,t,n){this.reflectProp
     ertyToAttribute(e,n.attribute,t)},_notifyEffect:function(e,t,n,r,s){s||this._not
     ifyChange(e,n.event,t)},_functionEffect:function(e,t,n,r,s){n.call(this,e,t,r,s)
     },_observerEffect:function(e,t,n,r){var s=this[n.method];s?s.call(this,t,r):this
     ._warn(this._logf("_observerEffect","observer method `"+n.method+"` not defined"
     ))},_complexObserverEffect:function(e,t,n){var r=this[n.method];if(r){var s=Poly
     mer.Bind._marshalArgs(this.__data__,n,e,t);s&&r.apply(this,s)}else n.dynamicFn||
     this._warn(this._logf("_complexObserverEffect","observer method `"+n.method+"` n
     ot defined"))},_computeEffect:function(e,t,n){var r=this[n.method];if(r){var s=P
     olymer.Bind._marshalArgs(this.__data__,n,e,t);if(s){var i=r.apply(this,s);this._
     _setProperty(n.name,i)}}else n.dynamicFn||this._warn(this._logf("_computeEffect"
     ,"compute method `"+n.method+"` not defined"))},_annotatedComputationEffect:func
     tion(e,t,n){var r=this._rootDataHost||this,s=r[n.method];if(s){var i=Polymer.Bin
     d._marshalArgs(this.__data__,n,e,t);if(i){var o=s.apply(r,i);this._applyEffectVa
     lue(n,o)}}else n.dynamicFn||r._warn(r._logf("_annotatedComputationEffect","compu
     te method `"+n.method+"` not defined"))},_marshalArgs:function(e,t,n,r){for(var 
     s=[],i=t.args,o=i.length>1||t.dynamicFn,a=0,l=i.length;a<l;a++){var h,c=i[a],u=c
     .name;if(c.literal?h=c.value:n===u?h=r:(h=e[u],void 0===h&&c.structured&&(h=Poly
     mer.Base._get(u,e))),o&&void 0===h)return;if(c.wildcard){var f=0===n.indexOf(u+"
     .");s[a]={path:f?n:u,value:f?r:h,base:h}}else s[a]=h}return s}}),Polymer.Base._a
     ddFeature({_addPropertyEffect:function(e,t,n){var r=Polymer.Bind.addPropertyEffe
     ct(this,e,t,n);r.pathFn=this["_"+r.kind+"PathEffect"]},_prepEffects:function(){P
     olymer.Bind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBin
     dings:function(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function
     (e){if(e)for(var t in e){var n=e[t];if(n.observer&&this._addObserverEffect(t,n.o
     bserver),n.computed&&(n.readOnly=!0,this._addComputedEffect(t,n.computed)),n.not
     ify&&this._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t
     )+"-changed"}),n.reflectToAttribute){var r=Polymer.CaseMap.camelToDashCase(t);"-
     "===r[0]?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be r
     eflected to attribute "+r+' because "-" is not a valid starting attribute name. 
     Use a lowercase first letter for the property instead.')):this._addPropertyEffec
     t(t,"reflect",{attribute:r})}n.readOnly&&Polymer.Bind.ensurePropertyEffects(this
     ,t)}},_addComputedEffect:function(e,t){for(var n,r=this._parseMethod(t),s=r.dyna
     micFn,i=0;i<r.args.length&&(n=r.args[i]);i++)this._addPropertyEffect(n.model,"co
     mpute",{method:r.method,args:r.args,trigger:n,name:e,dynamicFn:s});s&&this._addP
     ropertyEffect(r.method,"compute",{method:r.method,args:r.args,trigger:null,name:
     e,dynamicFn:s})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"obs
     erver",{method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(v
     ar t,n=0;n<e.length&&(t=e[n]);n++)this._addComplexObserverEffect(t)},_addComplex
     ObserverEffect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Mal
     formed observer expression '"+e+"'");for(var n,r=t.dynamicFn,s=0;s<t.args.length
     &&(n=t.args[s]);s++)this._addPropertyEffect(n.model,"complexObserver",{method:t.
     method,args:t.args,trigger:n,dynamicFn:r});r&&this._addPropertyEffect(t.method,"
     complexObserver",{method:t.method,args:t.args,trigger:null,dynamicFn:r})},_addAn
     notationEffects:function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++)for(var r,s=t
     .bindings,i=0;i<s.length&&(r=s[i]);i++)this._addAnnotationEffect(r,n)},_addAnnot
     ationEffect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addA
     nnotatedListener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].nega
     te);for(var n=0;n<e.parts.length;n++){var r=e.parts[n];r.signature?this._addAnno
     tatedComputationEffect(e,r,t):r.literal||("attribute"===e.kind&&"-"===e.name[0]?
     this._warn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' be
     cause "-" is not a valid attribute starting character')):this._addPropertyEffect
     (r.model,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyNa
     me,value:r.value,isCompound:e.isCompound,compoundIndex:r.compoundIndex,event:r.e
     vent,customEvent:r.customEvent,negate:r.negate}))}},_addAnnotatedComputationEffe
     ct:function(e,t,n){var r=t.signature;if(r.static)this.__addAnnotatedComputationE
     ffect("__static__",n,e,t,null);else{for(var s,i=0;i<r.args.length&&(s=r.args[i])
     ;i++)s.literal||this.__addAnnotatedComputationEffect(s.model,n,e,t,s);r.dynamicF
     n&&this.__addAnnotatedComputationEffect(r.method,n,e,t,null)}},__addAnnotatedCom
     putationEffect:function(e,t,n,r,s){this._addPropertyEffect(e,"annotatedComputati
     on",{index:t,isCompound:n.isCompound,compoundIndex:r.compoundIndex,kind:n.kind,n
     ame:n.name,negate:r.negate,method:r.signature.method,args:r.signature.args,trigg
     er:s,dynamicFn:r.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/
     ([^\s]+?)\(([\s\S]*)\)/);if(t){var n={method:t[1],static:!0};if(this.getProperty
     Info(n.method)!==Polymer.nob&&(n.static=!1,n.dynamicFn=!0),t[2].trim()){var r=t[
     2].replace(/\\,/g,",").split(",");return this._parseArgs(r,n)}return n.arg
     s=Polymer.nar,n}},_parseArgs:function(e,t){return t.args=e.map(function(e){var n
     =this._parseArg(e);return n.literal||(t.static=!1),n},this),t},_parseArg:functio
     n(e){var t=e.trim().replace(/,/g,",").replace(/\\(.)/g,"$1"),n={name:t},r=
     t[0];switch("-"===r&&(r=t[1]),r>="0"&&r<="9"&&(r="#"),r){case"'":case'"':n.value
     =t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return 
     n.literal||(n.model=this._modelForPath(t),n.structured=t.indexOf(".")>0,n.struct
     ured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n},_mar
     shalInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindList
     eners&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){va
     r n=this._nodes[e.index],r=e.name;if(t=this._computeFinalAnnotationValue(n,r,t,e
     ),"attribute"==e.kind)this.serializeValueToAttribute(t,r,n);else{var s=n._proper
     tyInfo&&n._propertyInfo[r];if(s&&s.readOnly)return;this.__setProperty(r,t,!1,n)}
     },_computeFinalAnnotationValue:function(e,t,n,r){if(r.negate&&(n=!n),r.isCompoun
     d){var s=e.__compoundStorage__[t];s[r.compoundIndex]=n,n=s.join("")}return"attri
     bute"!==r.kind&&("className"===t&&(n=this._scopeElementClass(e,n)),("textContent
     "===t||"input"==e.localName&&"value"==t)&&(n=void 0==n?"":n)),n},_executeStaticE
     ffects:function(){this._propertyEffects&&this._propertyEffects.__static__&&this.
     _effectEffects("__static__",null,this._propertyEffects.__static__)}}),function()
     {var e=Polymer.Settings.usePolyfillProto;Polymer.Base._addFeature({_setupConfigu
     re:function(e){if(this._config={},this._handlers=[],this._aboveConfig=null,e)for
     (var t in e)void 0!==e[t]&&(this._config[t]=e[t])},_marshalAttributes:function()
     {this._takeAttributesToModel(this._config)},_attributeChangedImpl:function(e){va
     r t=this._clientsReadied?this:this._config;this._setAttributeToProperty(t,e)},_c
     onfigValue:function(e,t){var n=this._propertyInfo[e];n&&n.readOnly||(this._confi
     g[e]=t)},_beforeClientsReady:function(){this._configure()},_configure:function()
     {this._configureAnnotationReferences(),this._configureInstanceProperties(),this.
     _aboveConfig=this.mixin({},this._config);for(var e={},t=0;t<this.behaviors.lengt
     h;t++)this._configureProperties(this.behaviors[t].properties,e);this._configureP
     roperties(this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this
     ._clients&&this._clients.length&&this._distributeConfig(this._config)},_configur
     eInstanceProperties:function(){for(var t in this._propertyEffects)!e&&this.hasOw
     nProperty(t)&&(this._configValue(t,this[t]),delete this[t])},_configurePropertie
     s:function(e,t){for(var n in e){var r=e[n];if(void 0!==r.value){var s=r.value;"f
     unction"==typeof s&&(s=s.call(this,this._config)),t[n]=s}}},_distributeConfig:fu
     nction(e){var t=this._propertyEffects;if(t)for(var n in e){var r=t[n];if(r)for(v
     ar s,i=0,o=r.length;i<o&&(s=r[i]);i++)if("annotation"===s.kind){var a=this._node
     s[s.effect.index],l=s.effect.propertyName,h="attribute"==s.effect.kind,c=a._prop
     ertyEffects&&a._propertyEffects[l];if(a._configValue&&(c||!h)){var u=n===s.effec
     t.value?e[n]:this._get(s.effect.value,e);u=this._computeFinalAnnotationValue(a,l
     ,u,s.effect),h&&(u=a.deserialize(this.serialize(u),a._propertyInfo[l].type)),a._
     configValue(l,u)}}}},_afterClientsReady:function(){this._executeStaticEffects(),
     this._applyConfig(this._config,this._aboveConfig), | 
|    3 this._flushHandlers()},_applyConfig:function(e,t){for(var n in e)void 0===this[n
     ]&&this.__setProperty(n,e[n],n in t)},_notifyListener:function(e,t){if(!Polymer.
     Bind._isEventBogus(t,t.target)){var n,r;if(t.detail&&(n=t.detail.value,r=t.detai
     l.path),this._clientsReadied)return e.call(this,t.target,n,r);this._queueHandler
     ([e,t.target,n,r])}},_queueHandler:function(e){this._handlers.push(e)},_flushHan
     dlers:function(){for(var e,t=this._handlers,n=0,r=t.length;n<r&&(e=t[n]);n++)e[0
     ].call(this,e[1],e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";Poly
     mer.Base._addFeature({notifyPath:function(e,t,n){var r={},s=this._get(e,this,r);
     1===arguments.length&&(t=s),r.path&&this._notifyPath(r.path,t,n)},_notifyPath:fu
     nction(e,t,n){var r=this._propertySetter(e,t);if(r!==t&&(r===r||t===t))return th
     is._pathEffector(e,t),n||this._notifyPathUp(e,t),!0},_getPathParts:function(e){i
     f(Array.isArray(e)){for(var t=[],n=0;n<e.length;n++)for(var r=e[n].toString().sp
     lit("."),s=0;s<r.length;s++)t.push(r[s]);return t}return e.toString().split(".")
     },set:function(e,t,n){var r,s=n||this,i=this._getPathParts(e),o=i[i.length-1];if
     (i.length>1){for(var a=0;a<i.length-1;a++){var l=i[a];if(r&&"#"==l[0]?s=Polymer.
     Collection.get(r).getItem(l):(s=s[l],r&&parseInt(l,10)==l&&(i[a]=Polymer.Collect
     ion.get(r).getKey(s))),!s)return;r=Array.isArray(s)?s:null}if(r){var h,c,u=Polym
     er.Collection.get(r);"#"==o[0]?(c=o,h=u.getItem(c),o=r.indexOf(h),u.setItem(c,t)
     ):parseInt(o,10)==o&&(h=s[o],c=u.getKey(h),i[a]=c,u.setItem(c,t))}s[o]=t,n||this
     ._notifyPath(i.join("."),t)}else s[e]=t},get:function(e,t){return this._get(e,t)
     },_get:function(e,t,n){for(var r,s=t||this,i=this._getPathParts(e),o=0;o<i.lengt
     h;o++){if(!s)return;var a=i[o];r&&"#"==a[0]?s=Polymer.Collection.get(r).getItem(
     a):(s=s[a],n&&r&&parseInt(a,10)==a&&(i[o]=Polymer.Collection.get(r).getKey(s))),
     r=Array.isArray(s)?s:null}return n&&(n.path=i.join(".")),s},_pathEffector:functi
     on(e,t){var n=this._modelForPath(e),r=this._propertyEffects&&this._propertyEffec
     ts[n];if(r)for(var s,i=0;i<r.length&&(s=r[i]);i++){var o=s.pathFn;o&&o.call(this
     ,e,t,s.effect)}this._boundPaths&&this._notifyBoundPaths(e,t)},_annotationPathEff
     ect:function(e,t,n){if(n.value===e||0===n.value.indexOf(e+"."))Polymer.Bind._ann
     otationEffect.call(this,e,t,n);else if(0===e.indexOf(n.value+".")&&!n.negate){va
     r r=this._nodes[n.index];if(r&&r._notifyPath){var s=this._fixPath(n.name,n.value
     ,e);r._notifyPath(s,t,!0)}}},_complexObserverPathEffect:function(e,t,n){this._pa
     thMatchesEffect(e,n)&&Polymer.Bind._complexObserverEffect.call(this,e,t,n)},_com
     putePathEffect:function(e,t,n){this._pathMatchesEffect(e,n)&&Polymer.Bind._compu
     teEffect.call(this,e,t,n)},_annotatedComputationPathEffect:function(e,t,n){this.
     _pathMatchesEffect(e,n)&&Polymer.Bind._annotatedComputationEffect.call(this,e,t,
     n)},_pathMatchesEffect:function(e,t){var n=t.trigger.name;return n==e||0===n.ind
     exOf(e+".")||t.trigger.wildcard&&0===e.indexOf(n+".")},linkPaths:function(e,t){t
     his._boundPaths=this._boundPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)
     },unlinkPaths:function(e){this._boundPaths&&delete this._boundPaths[e]},_notifyB
     oundPaths:function(e,t){for(var n in this._boundPaths){var r=this._boundPaths[n]
     ;0==e.indexOf(n+".")?this._notifyPath(this._fixPath(r,n,e),t):0==e.indexOf(r+"."
     )&&this._notifyPath(this._fixPath(n,r,e),t)}},_fixPath:function(e,t,n){return e+
     n.slice(t.length)},_notifyPathUp:function(e,t){var n=this._modelForPath(e),r=Pol
     ymer.CaseMap.camelToDashCase(n),s=r+this._EVENT_CHANGED;this.fire(s,{path:e,valu
     e:t},{bubbles:!1,_useCache:!0})},_modelForPath:function(e){var t=e.indexOf(".");
     return t<0?e:e.slice(0,t)},_EVENT_CHANGED:"-changed",notifySplices:function(e,t)
     {var n={},r=this._get(e,this,n);this._notifySplices(r,n.path,t)},_notifySplices:
     function(e,t,n){var r={keySplices:Polymer.Collection.applySplices(e,n),indexSpli
     ces:n},s=t+".splices";this._notifyPath(s,r),this._notifyPath(t+".length",e.lengt
     h),this.__data__[s]={keySplices:null,indexSplices:null}},_notifySplice:function(
     e,t,n,r,s){this._notifySplices(e,t,[{index:n,addedCount:r,removed:s,object:e,typ
     e:"splice"}])},push:function(e){var t={},n=this._get(e,this,t),r=Array.prototype
     .slice.call(arguments,1),s=n.length,i=n.push.apply(n,r);return r.length&&this._n
     otifySplice(n,t.path,s,r.length,[]),i},pop:function(e){var t={},n=this._get(e,th
     is,t),r=Boolean(n.length),s=Array.prototype.slice.call(arguments,1),i=n.pop.appl
     y(n,s);return r&&this._notifySplice(n,t.path,n.length,0,[i]),i},splice:function(
     e,t){var n={},r=this._get(e,this,n);t=t<0?r.length-Math.floor(-t):Math.floor(t),
     t||(t=0);var s=Array.prototype.slice.call(arguments,1),i=r.splice.apply(r,s),o=M
     ath.max(s.length-2,0);return(o||i.length)&&this._notifySplice(r,n.path,t,o,i),i}
     ,shift:function(e){var t={},n=this._get(e,this,t),r=Boolean(n.length),s=Array.pr
     ototype.slice.call(arguments,1),i=n.shift.apply(n,s);return r&&this._notifySplic
     e(n,t.path,0,0,[i]),i},unshift:function(e){var t={},n=this._get(e,this,t),r=Arra
     y.prototype.slice.call(arguments,1),s=n.unshift.apply(n,r);return r.length&&this
     ._notifySplice(n,t.path,0,r.length,[]),s},prepareModelNotifyPath:function(e){thi
     s.mixin(e,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:
     Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._
     get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyP
     ath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEff
     ector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverP
     athEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffec
     t:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._
     computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Po
     lymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_
     getPathParts:Polymer.Base._getPathParts})}})}(),Polymer.Base._addFeature({resolv
     eUrl:function(e){var t=Polymer.DomModule.import(this.is),n="";if(t){var r=t.getA
     ttribute("assetpath")||"";n=Polymer.ResolveUrl.resolveUrl(r,t.ownerDocument.base
     URI)}return Polymer.ResolveUrl.resolveUrl(e,n)}}),Polymer.CssParse=function(){re
     turn{parse:function(e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_
     clean:function(e){return e.replace(this._rx.comments,"").replace(this._rx.port,"
     ")},_lex:function(e){for(var t={start:0,end:e.length},n=t,r=0,s=e.length;r<s;r++
     )switch(e[r]){case this.OPEN_BRACE:n.rules||(n.rules=[]);var i=n,o=i.rules[i.rul
     es.length-1];n={start:r+1,parent:i,previous:o},i.rules.push(n);break;case this.C
     LOSE_BRACE:n.end=r+1,n=n.parent||t}return t},_parseCss:function(e,t){var n=t.sub
     string(e.start,e.end-1);if(e.parsedCssText=e.cssText=n.trim(),e.parent){var r=e.
     previous?e.previous.end:e.parent.start;n=t.substring(r,e.start-1),n=this._expand
     UnicodeEscapes(n),n=n.replace(this._rx.multipleSpaces," "),n=n.substring(n.lastI
     ndexOf(";")+1);var s=e.parsedSelector=e.selector=n.trim();e.atRule=0===s.indexOf
     (this.AT_START),e.atRule?0===s.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA
     _RULE:s.match(this._rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyfr
     amesName=e.selector.split(this._rx.multipleSpaces).pop()):0===s.indexOf(this.VAR
     _START)?e.type=this.types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var i=e.rules;
     if(i)for(var o,a=0,l=i.length;a<l&&(o=i[a]);a++)this._parseCss(o,t);return e},_e
     xpandUnicodeEscapes:function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,functio
     n(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:f
     unction(e,t,n){n=n||"";var r="";if(e.cssText||e.rules){var s=e.rules;if(s&&!this
     ._hasMixinRules(s))for(var i,o=0,a=s.length;o<a&&(i=s[o]);o++)r=this.stringify(i
     ,t,r);else r=t?e.cssText:this.removeCustomProps(e.cssText),r=r.trim(),r&&(r="  "
     +r+"\n")}return r&&(e.selector&&(n+=e.selector+" "+this.OPEN_BRACE+"\n"),n+=r,e.
     selector&&(n+=this.CLOSE_BRACE+"\n\n")),n},_hasMixinRules:function(e){return 0==
     =e[0].selector.indexOf(this.VAR_START)},removeCustomProps:function(e){return e=t
     his.removeCustomPropAssignment(e),this.removeCustomPropApply(e)},removeCustomPro
     pAssignment:function(e){return e.replace(this._rx.customProp,"").replace(this._r
     x.mixinProp,"")},removeCustomPropApply:function(e){return e.replace(this._rx.mix
     inApply,"").replace(this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,
     MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE:"{",CLOSE_BRACE:"}",_rx:{comments:/\/\*[
     ^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]
     +)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{}
     ;]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gi
     m,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*ke
     yframes/,multipleSpaces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"
     }}(),Polymer.StyleUtil=function(){var e=Polymer.Settings;return{NATIVE_VARIABLES
     :Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:"style, link[rel
     =import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t){re
     turn"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.p
     arser.stringify(e,this.NATIVE_VARIABLES)},forRulesInStyles:function(e,t,n){if(e)
     for(var r,s=0,i=e.length;s<i&&(r=e[s]);s++)this.forEachRuleInStyle(r,t,n)},forAc
     tiveRulesInStyles:function(e,t,n){if(e)for(var r,s=0,i=e.length;s<i&&(r=e[s]);s+
     +)this.forEachRuleInStyle(r,t,n,!0)},rulesForStyle:function(e){return!e.__cssRul
     es&&e.textContent&&(e.__cssRules=this.parser.parse(e.textContent)),e.__cssRules}
     ,isKeyframesSelector:function(e){return e.parent&&e.parent.type===this.ruleTypes
     .KEYFRAMES_RULE},forEachRuleInStyle:function(e,t,n,r){var s,i,o=this.rulesForSty
     le(e);t&&(s=function(n){t(n,e)}),n&&(i=function(t){n(t,e)}),this.forEachRule(o,s
     ,i,r)},forEachRule:function(e,t,n,r){if(e){var s=!1;if(r&&e.type===this.ruleType
     s.MEDIA_RULE){var i=e.selector.match(this.rx.MEDIA_MATCH);i&&(window.matchMedia(
     i[1]).matches||(s=!0))}e.type===this.ruleTypes.STYLE_RULE?t(e):n&&e.type===this.
     ruleTypes.KEYFRAMES_RULE?n(e):e.type===this.ruleTypes.MIXIN_RULE&&(s=!0);var o=e
     .rules;if(o&&!s)for(var a,l=0,h=o.length;l<h&&(a=o[l]);l++)this.forEachRule(a,t,
     n,r)}},applyCss:function(e,t,n,r){var s=this.createScopeStyle(e,t);return this.a
     pplyStyle(s,n,r)},applyStyle:function(e,t,n){t=t||document.head;var r=n&&n.nextS
     ibling||t.firstChild;return this.__lastHeadApplyNode=e,t.insertBefore(e,r)},crea
     teScopeStyle:function(e,t){var n=document.createElement("style");return t&&n.set
     Attribute("scope",t),n.textContent=e,n},__lastHeadApplyNode:null,applyStylePlace
     Holder:function(e){var t=document.createComment(" Shady DOM styles for "+e+" "),
     n=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null,r=document.
     head;return r.insertBefore(t,n||r.firstChild),this.__lastHeadApplyNode=t,t},cssF
     romModules:function(e,t){for(var n=e.trim().split(" "),r="",s=0;s<n.length;s++)r
     +=this.cssFromModule(n[s],t);return r},cssFromModule:function(e,t){var n=Polymer
     .DomModule.import(e);return n&&!n._cssText&&(n._cssText=this.cssFromElement(n)),
     !n&&t&&console.warn("Could not find style data in module named",e),n&&n._cssText
     ||""},cssFromElement:function(e){for(var t,n="",r=e.content||e,s=Polymer.TreeApi
     .arrayCopy(r.querySelectorAll(this.MODULE_STYLES_SELECTOR)),i=0;i<s.length;i++)i
     f(t=s[i],"template"===t.localName)n+=this.cssFromElement(t);else if("style"===t.
     localName){var o=t.getAttribute(this.INCLUDE_ATTR);o&&(n+=this.cssFromModules(o,
     !0)),t=t.__appliedElement||t,t.parentNode.removeChild(t),n+=this.resolveCss(t.te
     xtContent,e.ownerDocument)}else t.import&&t.import.body&&(n+=this.resolveCss(t.i
     mport.body.textContent,t.import));return n},isTargetedBuild:function(t){return e
     .useNativeShadow?"shadow"===t:"shady"===t},cssBuildTypeForModule:function(e){var
      t=Polymer.DomModule.import(e);if(t)return this.getCssBuildType(t)},getCssBuildT
     ype:function(e){return e.getAttribute("css-build")},_findMatchingParen:function(
     e,t){for(var n=0,r=t,s=e.length;r<s;r++)switch(e[r]){case"(":n++;break;case")":i
     f(0===--n)return r}return-1},processVariableAndFallback:function(e,t){var n=e.in
     dexOf("var(");if(n===-1)return t(e,"","","");var r=this._findMatchingParen(e,n+3
     ),s=e.substring(n+4,r),i=e.substring(0,n),o=this.processVariableAndFallback(e.su
     bstring(r+1),t),a=s.indexOf(",");if(a===-1)return t(i,s.trim(),"",o);var l=s.sub
     string(0,a).trim(),h=s.substring(a+1).trim();return t(i,l,h,o)},rx:{VAR_ASSIGN:/
     (?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN
     _MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]
     |$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@medi
     a[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:"(?:^|[^.#[:]
     )",HOST_SUFFIX:"($|[.:[\\s>+~])"},resolveCss:Polymer.ResolveUrl.resolveCss,parse
     r:Polymer.CssParse,ruleTypes:Polymer.CssParse.types}}(),Polymer.StyleTransformer
     =function(){var e=Polymer.StyleUtil,t=Polymer.Settings,n={dom:function(e,t,n,r){
     this._transformDom(e,t||"",n,r)},_transformDom:function(e,t,n,r){e.setAttribute&
     &this.element(e,t,n,r);for(var s=Polymer.dom(e).childNodes,i=0;i<s.length;i++)th
     is._transformDom(s[i],t,n,r)},element:function(e,t,n,s){if(n)s?e.removeAttribute
     (r):e.setAttribute(r,t);else if(t)if(e.classList)s?(e.classList.remove(r),e.clas
     sList.remove(t)):(e.classList.add(r),e.classList.add(t));else if(e.getAttribute)
     {var i=e.getAttribute(g);s?i&&e.setAttribute(g,i.replace(r,"").replace(t,"")):e.
     setAttribute(g,(i?i+" ":"")+r+" "+t)}},elementStyles:function(n,r){for(var s,i=n
     ._styles,o="",a=n.__cssBuild,l=0,h=i.length;l<h&&(s=i[l]);l++){var c=e.rulesForS
     tyle(s);o+=t.useNativeShadow||"shady"===a?e.toCssText(c,r):this.css(c,n.is,n.ext
     ends,r,n._scopeCssViaAttr)+"\n\n"}return o.trim()},css:function(t,n,r,s,i){var o
     =this._calcHostScope(n,r);n=this._calcElementScope(n,i);var a=this;return e.toCs
     sText(t,function(e){e.isScoped||(a.rule(e,n,o),e.isScoped=!0),s&&s(e,n,o)})},_ca
     lcElementScope:function(e,t){return e?t?m+e+y:d+e:""},_calcHostScope:function(e,
     t){return t?"[is="+e+"]":e},rule:function(e,t,n){this._transformRule(e,this._tra
     nsformComplexSelector,t,n)},_transformRule:function(e,t,n,r){e.selector=e.transf
     ormedSelector=this._transformRuleCss(e,t,n,r)},_transformRuleCss:function(t,n,r,
     s){var o=t.selector.split(i);if(!e.isKeyframesSelector(t))for(var a,l=0,h=o.leng
     th;l<h&&(a=o[l]);l++)o[l]=n.call(this,a,r,s);return o.join(i)},_transformComplex
     Selector:function(e,t,n){var r=!1,s=!1,a=this;return e=e.trim(),e=e.replace(P,l+
     " $1"),e=e.replace(o,function(e,i,o){if(r)o=o.replace(_," ");else{var l=a._trans
     formCompoundSelector(o,i,t,n);r=r||l.stop,s=s||l.hostContext,i=l.combinator,o=l.
     value}return i+o}),s&&(e=e.replace(f,function(e,t,r,s){return t+r+" "+n+s+i+" "+
     t+n+r+s})),e},_transformCompoundSelector:function(e,t,n,r){var s=e.search(_),i=!
     1;e.indexOf(u)>=0?i=!0:e.indexOf(l)>=0?e=this._transformHostSelector(e,r):0!==s&
     &(e=n?this._transformSimpleSelector(e,n):e),e.indexOf(p)>=0&&(t="");var o;return
      s>=0&&(e=e.replace(_," "),o=!0),{value:e,combinator:t,stop:o,hostContext:i}},_t
     ransformSimpleSelector:function(e,t){var n=e.split(v);return n[0]+=t,n.join(v)},
     _transformHostSelector:function(e,t){var n=e.match(c),r=n&&n[2].trim()||"";if(r)
     {if(r[0].match(a))return e.replace(c,function(e,n,r){return t+r});var s=r.split(
     a)[0];return s===t?r:S}return e.replace(l,t)},documentRule:function(e){e.selecto
     r=e.parsedSelector,this.normalizeRootSelector(e),t.useNativeShadow||this._transf
     ormRule(e,this._transformDocumentSelector)},normalizeRootSelector:function(e){e.
     selector===h&&(e.selector="html")},_transformDocumentSelector:function(e){return
      e.match(_)?this._transformComplexSelector(e,s):this._transformSimpleSelector(e.
     trim(),s)},SCOPE_NAME:"style-scope"},r=n.SCOPE_NAME,s=":not(["+r+"]):not(."+r+")
     ",i=",",o=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g,a=/[[.:#*]/,l=":host",h=":ro
     ot",c=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,u=":host-context",f=/(.*)(?::ho
     st-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/,p="::content",_=/::content|::s
     hadow|\/deep\//,d=".",m="["+r+"~=",y="]",v=":",g="class",P=new RegExp("^("+p+")"
     ),S="should_not_match";return n}(),Polymer.StyleExtends=function(){var e=Polymer
     .StyleUtil;return{hasExtends:function(e){return Boolean(e.match(this.rx.EXTEND))
     },transform:function(t){var n=e.rulesForStyle(t),r=this;return e.forEachRule(n,f
     unction(e){if(r._mapRuleOntoParent(e),e.parent)for(var t;t=r.rx.EXTEND.exec(e.cs
     sText);){var n=t[1],s=r._findExtendor(n,e);s&&r._extendRule(e,s)}e.cssText=e.css
     Text.replace(r.rx.EXTEND,"")}),e.toCssText(n,function(e){e.selector.match(r.rx.S
     TRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.parent){for(var 
     t,n=e.parent.map||(e.parent.map={}),r=e.selector.split(","),s=0;s<r.length;s++)t
     =r[s],n[t.trim()]=e;return n}},_findExtendor:function(e,t){return t.parent&&t.pa
     rent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extendRule:function(
     e,t){e.parent!==t.parent&&this._cloneAndAddRuleToParent(t,e.parent),e.extends=e.
     extends||[],e.extends.push(t),t.selector=t.selector.replace(this.rx.STRIP,""),t.
     selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.extends.forEach(
     function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent:function(e,t)
     {e=Object.create(e),e.parent=t,e.extends&&(e.extends=e.extends.slice()),t.rules.
     push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}}}(),Polymer.A
     pplyShim=function(){"use strict";function e(e,t){e=e.trim(),m[e]={properties:t,d
     ependants:{}}}function t(e){return e=e.trim(),m[e]}function n(e,t){var n=_.exec(
     t);return n&&(t=n[1]?y._getInitialValueForProperty(e):"apply-shim-inherit"),t}fu
     nction r(e){for(var t,r,s,i,o=e.split(";"),a={},l=0;l<o.length;l++)s=o[l],s&&(i=
     s.split(":"),i.length>1&&(t=i[0].trim(),r=n(t,i.slice(1).join(":")),a[t]=r));ret
     urn a}function s(e){var t=y.__currentElementProto,n=t&&t.is;for(var r in e.depen
     dants)r!==n&&(e.dependants[r].__applyShimInvalid=!0)}function i(n,i,o,a){if(o&&h
     .processVariableAndFallback(o,function(e,n){n&&t(n)&&(a="@apply "+n+";")}),!a)re
     turn n;var c=l(a),u=n.slice(0,n.indexOf("--")),f=r(c),p=f,_=t(i),m=_&&_.properti
     es;m?(p=Object.create(m),p=Polymer.Base.mixin(p,f)):e(i,p);var y,v,g=[],P=!1;for
     (y in p)v=f[y],void 0===v&&(v="initial"),!m||y in m||(P=!0),g.push(i+d+y+": "+v)
     ;return P&&s(_),_&&(_.properties=p),o&&(u=n+";"+u),u+g.join("; ")+";"}function o
     (e,t,n){return"var("+t+",var("+n+"));"}function a(n,r){n=n.replace(p,"");var s=[
     ],i=t(n);if(i||(e(n,{}),i=t(n)),i){var o=y.__currentElementProto;o&&(i.dependant
     s[o.is]=o);var a,l,h;for(a in i.properties)h=r&&r[a],l=[a,": var(",n,d,a],h&&l.p
     ush(",",h),l.push(")"),s.push(l.join(""))}return s.join("; ")}function l(e){for(
     var t;t=c.exec(e);){var n=t[0],s=t[1],i=t.index,o=i+n.indexOf("@apply"),l=i+n.le
     ngth,h=e.slice(0,o),u=e.slice(l),f=r(h),p=a(s,f);e=[h,p,u].join(""),c.lastIndex=
     i+p.length}return e}var h=Polymer.StyleUtil,c=h.rx.MIXIN_MATCH,u=h.rx.VAR_ASSIGN
     ,f=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g,p=/;\s*/m,_=/^\s*(initial)|(inherit)\s*$/
     ,d="_-_",m={},y={_measureElement:null,_map:m,_separator:d,transform:function(e,t
     ){this.__currentElementProto=t,h.forRulesInStyles(e,this._boundTransformRule),t.
     __applyShimInvalid=!1,this.__currentElementProto=null},transformRule:function(e)
     {e.cssText=this.transformCssText(e.parsedCssText),":root"===e.selector&&(e.selec
     tor=":host > *")},transformCssText:function(e){return e=e.replace(f,o),e=e.repla
     ce(u,i),l(e)},_getInitialValueForProperty:function(e){return this._measureElemen
     t||(this._measureElement=document.createElement("meta"),this._measureElement.sty
     le.all="initial",document.head.appendChild(this._measureElement)),window.getComp
     utedStyle(this._measureElement).getPropertyValue(e)}};return y._boundTransformRu
     le=y.transformRule.bind(y),y}(),function(){var e=Polymer.Base._prepElement,t=Pol
     ymer.Settings.useNativeShadow,n=Polymer.StyleUtil,r=Polymer.StyleTransformer,s=P
     olymer.StyleExtends,i=Polymer.ApplyShim,o=Polymer.Settings;Polymer.Base._addFeat
     ure({_prepElement:function(t){this._encapsulateStyle&&"shady"!==this.__cssBuild&
     &r.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepStyles:function
     (){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),t||(this._scopeS
     tyle=n.applyStylePlaceHolder(this.is)),this.__cssBuild=n.cssBuildTypeForModule(t
     his.is)},_prepShimStyles:function(){if(this._template){var e=n.isTargetedBuild(t
     his.__cssBuild);if(o.useNativeCSSProperties&&"shadow"===this.__cssBuild&&e)retur
     n;this._styles=this._styles||this._collectStyles(),o.useNativeCSSProperties&&!th
     is.__cssBuild&&i.transform(this._styles,this);var s=o.useNativeCSSProperties&&e?
     this._styles.length&&this._styles[0].textContent.trim():r.elementStyles(this);th
     is._prepStyleProperties(),!this._needsStyleProperties()&&s&&n.applyCss(s,this.is
     ,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_collectS
     tyles:function(){var e=[],t="",r=this.styleModules;if(r)for(var i,o=0,a=r.length
     ;o<a&&(i=r[o]);o++)t+=n.cssFromModule(i);t+=n.cssFromModule(this.is);var l=this.
     _template&&this._template.parentNode;if(!this._template||l&&l.id.toLowerCase()==
     =this.is||(t+=n.cssFromElement(this._template)),t){var h=document.createElement(
     "style");h.textContent=t,s.hasExtends(h.textContent)&&(t=s.transform(h)),e.push(
     h)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScoped?e.
     __styleScoped=!1:r.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:functio
     n(e){this._encapsulateStyle&&r.dom(e,this.is,this._scopeCssViaAttr,!0)},scopeSub
     tree:function(e,n){if(!t){var r=this,s=function(e){if(e.nodeType===Node.ELEMENT_
     NODE){var t=e.getAttribute("class");e.setAttribute("class",r._scopeElementClass(
     e,t));for(var n,s=e.querySelectorAll("*"),i=0;i<s.length&&(n=s[i]);i++)t=n.getAt
     tribute("class"),n.setAttribute("class",r._scopeElementClass(n,t))}};if(s(e),n){
     var i=new MutationObserver(function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++)if
     (t.addedNodes)for(var r=0;r<t.addedNodes.length;r++)s(t.addedNodes[r])});return 
     i.observe(e,{childList:!0,subtree:!0}),i}}}})}(),Polymer.StyleProperties=functio
     n(){"use strict";function e(e,t){var n=parseInt(e/32),r=1<<e%32;t[n]=(t[n]||0)|r
     }var t=Polymer.DomApi.matchesSelector,n=Polymer.StyleUtil,r=Polymer.StyleTransfo
     rmer,s=navigator.userAgent.match("Trident"),i=Polymer.Settings;return{decorateSt
     yles:function(e,t){var s=this,i={},o=[],a=0,l=r._calcHostScope(t.is,t.extends);n
     .forRulesInStyles(e,function(e,r){s.decorateRule(e),e.index=a++,s.whenHostOrRoot
     Rule(t,e,r,function(r){if(e.parent.type===n.ruleTypes.MEDIA_RULE&&(t.__notStyleS
     copeCacheable=!0),r.isHost){var s=r.selector.split(" ").some(function(e){return 
     0===e.indexOf(l)&&e.length!==l.length});t.__notStyleScopeCacheable=t.__notStyleS
     copeCacheable||s}}),s.collectPropertiesInCssText(e.propertyInfo.cssText,i)},func
     tion(e){o.push(e)}),e._keyframes=o;var h=[];for(var c in i)h.push(c);return h},d
     ecorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},n={},r=
     this.collectProperties(e,n);return r&&(t.properties=n,e.rules=null),t.cssText=th
     is.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){var n=e
     .propertyInfo;if(!n){for(var r,s,i,o=this.rx.VAR_ASSIGN,a=e.parsedCssText;r=o.ex
     ec(a);)s=(r[2]||r[3]).trim(),"inherit"!==s&&(t[r[1].trim()]=s),i=!0;return i}if(
     n.properties)return Polymer.Base.mixin(t,n.properties),!0},collectCssText:functi
     on(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumingCssT
     ext:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ASSIG
     N,"")},collectPropertiesInCssText:function(e,t){for(var n;n=this.rx.VAR_CONSUMED
     .exec(e);){var r=n[1];":"!==n[2]&&(t[r]=!0)}},reify:function(e){for(var t,n=Obje
     ct.getOwnPropertyNames(e),r=0;r<n.length;r++)t=n[r],e[t]=this.valueForProperty(e
     [t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.valueFor
     Properties(e,t);else{var r=this,s=function(e,n,s,i){var o=r.valueForProperty(t[n
     ],t);return o&&"initial"!==o?"apply-shim-inherit"===o&&(o="inherit"):o=r.valueFo
     rProperty(t[s]||s,t)||s,e+(o||"")+i};e=n.processVariableAndFallback(e,s)}return 
     e&&e.trim()||""},valueForProperties:function(e,t){for(var n,r,s=e.split(";"),i=0
     ;i<s.length;i++)if(n=s[i]){if(this.rx.MIXIN_MATCH.lastIndex=0,r=this.rx.MIXIN_MA
     TCH.exec(n))n=this.valueForProperty(t[r[1]],t);else{var o=n.indexOf(":");if(o!==
     -1){var a=n.substring(o);a=a.trim(),a=this.valueForProperty(a,t)||a,n=n.substrin
     g(0,o)+a}}s[i]=n&&n.lastIndexOf(";")===n.length-1?n.slice(0,-1):n||""}return s.j
     oin(";")},applyProperties:function(e,t){var n="";e.propertyInfo||this.decorateRu
     le(e),e.propertyInfo.cssText&&(n=this.valueForProperties(e.propertyInfo.cssText,
     t)),e.cssText=n},applyKeyframeTransforms:function(e,t){var n=e.cssText,r=e.cssTe
     xt;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test(n)),e
     .hasAnimations){var s;if(null==e.keyframeNamesToTransform){e.keyframeNamesToTran
     sform=[];for(var i in t)s=t[i],r=s(n),n!==r&&(n=r,e.keyframeNamesToTransform.pus
     h(i))}else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)s=t[e.keyframeNam
     esToTransform[o]],n=s(n);r=n}}e.cssText=r},propertyDataFromStyles:function(r,s){
     var i={},o=this,a=[];return n.forActiveRulesInStyles(r,function(n){n.propertyInf
     o||o.decorateRule(n);var r=n.transformedSelector||n.parsedSelector;s&&n.property
     Info.properties&&r&&t.call(s,r)&&(o.collectProperties(n,i),e(n.index,a))}),{prop
     erties:i,key:a}},whenHostOrRootRule:function(e,t,n,s){if(t.propertyInfo||self.de
     corateRule(t),t.propertyInfo.properties){var o=e.is?r._calcHostScope(e.is,e.exte
     nds):"html",a=t.parsedSelector,l=":root"===a,h=0===a.indexOf(":host"),c=e.__cssB
     uild||n.__cssBuild;if("shady"===c&&(l=a===o+" > *."+o||a.indexOf("html")!==-1,h=
     !l&&0===a.indexOf(o)),"shadow"===c&&(l=":host > *"===a||"html"===a,h=h&&!l),l||h
     ){var u=o;h&&(i.useNativeShadow&&!t.transformedSelector&&(t.transformedSelector=
     r._transformRuleCss(t,r._transformComplexSelector,e.is,o)),u=t.transformedSelect
     or||t.parsedSelector),s({selector:u,isHost:h,isRoot:l})}}},hostAndRootProperties
     ForScope:function(e){var r={},s={},i=this;return n.forActiveRulesInStyles(e._sty
     les,function(n,o){i.whenHostOrRootRule(e,n,o,function(o){var a=e._element||e;t.c
     all(a,o.selector)&&(o.isHost?i.collectProperties(n,r):i.collectProperties(n,s))}
     )}),{rootProps:s,hostProps:r}},transformStyles:function(e,t,n){var s=this,o=r._c
     alcHostScope(e.is,e.extends),a=e.extends?"\\"+o.slice(0,-1)+"\\]":o,l=new RegExp
     (this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),h=this._elementKeyframeTransforms(e,
     n);return r.elementStyles(e,function(r){s.applyProperties(r,t),i.useNativeShadow
     ||Polymer.StyleUtil.isKeyframesSelector(r)||!r.cssText||(s.applyKeyframeTransfor
     ms(r,h),s._scopeSelector(r,l,o,e._scopeCssViaAttr,n))})},_elementKeyframeTransfo
     rms:function(e,t){var n=e._styles._keyframes,r={};if(!i.useNativeShadow&&n)for(v
     ar s=0,o=n[s];s<n.length;o=n[++s])this._scopeKeyframes(o,t),r[o.keyframesName]=t
     his._keyframesRuleTransformer(o);return r},_keyframesRuleTransformer:function(e)
     {return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesNam
     e)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesName,
     "g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e.tr
     ansformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyfram
     esName,e.transformedKeyframesName)},_scopeSelector:function(e,t,n,s,i){e.transfo
     rmedSelector=e.transformedSelector||e.selector;for(var o,a=e.transformedSelector
     ,l=s?"["+r.SCOPE_NAME+"~="+i+"]":"."+i,h=a.split(","),c=0,u=h.length;c<u&&(o=h[c
     ]);c++)h[c]=o.match(t)?o.replace(n,l):l+" "+o;e.selector=h.join(",")},applyEleme
     ntScopeSelector:function(e,t,n,s){var i=s?e.getAttribute(r.SCOPE_NAME):e.getAttr
     ibute("class")||"",o=n?i.replace(n,t):(i?i+" ":"")+this.XSCOPE_NAME+" "+t;i!==o&
     &(s?e.setAttribute(r.SCOPE_NAME,o):e.setAttribute("class",o))},applyElementStyle
     :function(e,t,r,o){var a=o?o.textContent||"":this.transformStyles(e,t,r),l=e._cu
     stomStyle;return l&&!i.useNativeShadow&&l!==o&&(l._useCount--,l._useCount<=0&&l.
     parentNode&&l.parentNode.removeChild(l)),i.useNativeShadow?e._customStyle?(e._cu
     stomStyle.textContent=a,o=e._customStyle):a&&(o=n.applyCss(a,r,e.root,e._scopeSt
     yle)):o?o.parentNode||n.applyStyle(o,null,e._scopeStyle):a&&(o=n.applyCss(a,r,nu
     ll,e._scopeStyle)),o&&(o._useCount=o._useCount||0,e._customStyle!=o&&o._useCount
     ++,e._customStyle=o),s&&(o.textContent=o.textContent),o},mixinCustomStyle:functi
     on(e,t){var n;for(var r in t)n=t[r],(n||0===n)&&(e[r]=n)},updateNativeStylePrope
     rties:function(e,t){var n=e.__customStyleProperties;if(n)for(var r=0;r<n.length;
     r++)e.style.removeProperty(n[r]);var s=[];for(var i in t)null!==t[i]&&(e.style.s
     etProperty(i,t[i]),s.push(i));e.__customStyleProperties=s},rx:n.rx,XSCOPE_NAME:"
     x-scope"}}(),function(){Polymer.StyleCache=function(){this.cache={}},Polymer.Sty
     leCache.prototype={MAX:100,store:function(e,t,n,r){t.keyValues=n,t.styles=r;var 
     s=this.cache[e]=this.cache[e]||[];s.push(t),s.length>this.MAX&&s.shift()},retrie
     ve:function(e,t,n){var r=this.cache[e];if(r)for(var s,i=r.length-1;i>=0;i--)if(s
     =r[i],n===s.styles&&this._objectsEqual(t,s.keyValues))return s},clear:function()
     {this.cache={}},_objectsEqual:function(e,t){var n,r;for(var s in e)if(n=e[s],r=t
     [s],!("object"==typeof n&&n?this._objectsStrictlyEqual(n,r):n===r))return!1;retu
     rn!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual:function(e,t){re
     turn this._objectsEqual(e,t)&&this._objectsEqual(t,e)}}}(),Polymer.StyleDefaults
     =function(){var e=Polymer.StyleProperties,t=Polymer.StyleCache,n=Polymer.Setting
     s.useNativeCSSProperties,r={_styles:[],_properties:null,customStyle:{},_styleCac
     he:new t,_element:Polymer.DomApi.wrap(document.documentElement),addStyle:functio
     n(e){this._styles.push(e),this._properties=null},get _styleProperties(){return t
     his._properties||(e.decorateStyles(this._styles,this),this._styles._scopeStylePr
     operties=null,this._properties=e.hostAndRootPropertiesForScope(this).rootProps,e
     .mixinCustomStyle(this._properties,this.customStyle),e.reify(this._properties)),
     this._properties},hasStyleProperties:function(){return Boolean(this._properties)
     },_needsStyleProperties:function(){},_computeStyleProperties:function(){return t
     his._styleProperties},updateStyles:function(t){this._properties=null,t&&Polymer.
     Base.mixin(this.customStyle,t),this._styleCache.clear();for(var r,s=0;s<this._st
     yles.length;s++)r=this._styles[s],r=r.__importElement||r,r._apply();n&&e.updateN
     ativeStyleProperties(document.documentElement,this.customStyle)}};return r}(),fu
     nction(){"use strict";var e=Polymer.Base.serializeValueToAttribute,t=Polymer.Sty
     leProperties,n=Polymer.StyleTransformer,r=Polymer.StyleDefaults,s=Polymer.Settin
     gs.useNativeShadow,i=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFe
     ature({_prepStyleProperties:function(){i||(this._ownStylePropertyNames=this._sty
     les&&this._styles.length?t.decorateStyles(this._styles,this):null)},customStyle:
     null,getComputedStyleValue:function(e){return!i&&this._styleProperties&&this._st
     yleProperties[e]||getComputedStyle(this).getPropertyValue(e)},_setupStylePropert
     ies:function(){this.customStyle={},this._styleCache=null,this._styleProperties=n
     ull,this._scopeSelector=null,this._ownStyleProperties=null,this._customStyle=nul
     l},_needsStyleProperties:function(){return Boolean(!i&&this._ownStylePropertyNam
     es&&this._ownStylePropertyNames.length)},_validateApplyShim:function(){if(this._
     _applyShimInvalid){Polymer.ApplyShim.transform(this._styles,this.__proto__);var 
     e=n.elementStyles(this);if(s){var t=this._template.content.querySelector("style"
     );t&&(t.textContent=e)}else{var r=this._scopeStyle&&this._scopeStyle.nextSibling
     ;r&&(r.textContent=e)}}},_beforeAttached:function(){this._scopeSelector&&!this._
     _stylePropertiesInvalid||!this._needsStyleProperties()||(this.__stylePropertiesI
     nvalid=!1,this._updateStyleProperties())},_findStyleHost:function(){for(var e,t=
     this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInstance(e.host))return e.ho
     st;t=e.host}return r},_updateStyleProperties:function(){var e,n=this._findStyleH
     ost();n._styleProperties||n._computeStyleProperties(),n._styleCache||(n._styleCa
     che=new Polymer.StyleCache); |    3 this._flushHandlers()},_applyConfig:function(e,t){for(var n in e)void 0===this[n
     ]&&this.__setProperty(n,e[n],n in t)},_notifyListener:function(e,t){if(!Polymer.
     Bind._isEventBogus(t,t.target)){var n,r;if(t.detail&&(n=t.detail.value,r=t.detai
     l.path),this._clientsReadied)return e.call(this,t.target,n,r);this._queueHandler
     ([e,t.target,n,r])}},_queueHandler:function(e){this._handlers.push(e)},_flushHan
     dlers:function(){for(var e,t=this._handlers,n=0,r=t.length;n<r&&(e=t[n]);n++)e[0
     ].call(this,e[1],e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";Poly
     mer.Base._addFeature({notifyPath:function(e,t,n){var r={},s=this._get(e,this,r);
     1===arguments.length&&(t=s),r.path&&this._notifyPath(r.path,t,n)},_notifyPath:fu
     nction(e,t,n){var r=this._propertySetter(e,t);if(r!==t&&(r===r||t===t))return th
     is._pathEffector(e,t),n||this._notifyPathUp(e,t),!0},_getPathParts:function(e){i
     f(Array.isArray(e)){for(var t=[],n=0;n<e.length;n++)for(var r=e[n].toString().sp
     lit("."),s=0;s<r.length;s++)t.push(r[s]);return t}return e.toString().split(".")
     },set:function(e,t,n){var r,s=n||this,i=this._getPathParts(e),o=i[i.length-1];if
     (i.length>1){for(var a=0;a<i.length-1;a++){var l=i[a];if(r&&"#"==l[0]?s=Polymer.
     Collection.get(r).getItem(l):(s=s[l],r&&parseInt(l,10)==l&&(i[a]=Polymer.Collect
     ion.get(r).getKey(s))),!s)return;r=Array.isArray(s)?s:null}if(r){var h,c,u=Polym
     er.Collection.get(r);"#"==o[0]?(c=o,h=u.getItem(c),o=r.indexOf(h),u.setItem(c,t)
     ):parseInt(o,10)==o&&(h=s[o],c=u.getKey(h),i[a]=c,u.setItem(c,t))}s[o]=t,n||this
     ._notifyPath(i.join("."),t)}else s[e]=t},get:function(e,t){return this._get(e,t)
     },_get:function(e,t,n){for(var r,s=t||this,i=this._getPathParts(e),o=0;o<i.lengt
     h;o++){if(!s)return;var a=i[o];r&&"#"==a[0]?s=Polymer.Collection.get(r).getItem(
     a):(s=s[a],n&&r&&parseInt(a,10)==a&&(i[o]=Polymer.Collection.get(r).getKey(s))),
     r=Array.isArray(s)?s:null}return n&&(n.path=i.join(".")),s},_pathEffector:functi
     on(e,t){var n=this._modelForPath(e),r=this._propertyEffects&&this._propertyEffec
     ts[n];if(r)for(var s,i=0;i<r.length&&(s=r[i]);i++){var o=s.pathFn;o&&o.call(this
     ,e,t,s.effect)}this._boundPaths&&this._notifyBoundPaths(e,t)},_annotationPathEff
     ect:function(e,t,n){if(n.value===e||0===n.value.indexOf(e+"."))Polymer.Bind._ann
     otationEffect.call(this,e,t,n);else if(0===e.indexOf(n.value+".")&&!n.negate){va
     r r=this._nodes[n.index];if(r&&r._notifyPath){var s=this._fixPath(n.name,n.value
     ,e);r._notifyPath(s,t,!0)}}},_complexObserverPathEffect:function(e,t,n){this._pa
     thMatchesEffect(e,n)&&Polymer.Bind._complexObserverEffect.call(this,e,t,n)},_com
     putePathEffect:function(e,t,n){this._pathMatchesEffect(e,n)&&Polymer.Bind._compu
     teEffect.call(this,e,t,n)},_annotatedComputationPathEffect:function(e,t,n){this.
     _pathMatchesEffect(e,n)&&Polymer.Bind._annotatedComputationEffect.call(this,e,t,
     n)},_pathMatchesEffect:function(e,t){var n=t.trigger.name;return n==e||0===n.ind
     exOf(e+".")||t.trigger.wildcard&&0===e.indexOf(n+".")},linkPaths:function(e,t){t
     his._boundPaths=this._boundPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)
     },unlinkPaths:function(e){this._boundPaths&&delete this._boundPaths[e]},_notifyB
     oundPaths:function(e,t){for(var n in this._boundPaths){var r=this._boundPaths[n]
     ;0==e.indexOf(n+".")?this._notifyPath(this._fixPath(r,n,e),t):0==e.indexOf(r+"."
     )&&this._notifyPath(this._fixPath(n,r,e),t)}},_fixPath:function(e,t,n){return e+
     n.slice(t.length)},_notifyPathUp:function(e,t){var n=this._modelForPath(e),r=Pol
     ymer.CaseMap.camelToDashCase(n),s=r+this._EVENT_CHANGED;this.fire(s,{path:e,valu
     e:t},{bubbles:!1,_useCache:!0})},_modelForPath:function(e){var t=e.indexOf(".");
     return t<0?e:e.slice(0,t)},_EVENT_CHANGED:"-changed",notifySplices:function(e,t)
     {var n={},r=this._get(e,this,n);this._notifySplices(r,n.path,t)},_notifySplices:
     function(e,t,n){var r={keySplices:Polymer.Collection.applySplices(e,n),indexSpli
     ces:n},s=t+".splices";this._notifyPath(s,r),this._notifyPath(t+".length",e.lengt
     h),this.__data__[s]={keySplices:null,indexSplices:null}},_notifySplice:function(
     e,t,n,r,s){this._notifySplices(e,t,[{index:n,addedCount:r,removed:s,object:e,typ
     e:"splice"}])},push:function(e){var t={},n=this._get(e,this,t),r=Array.prototype
     .slice.call(arguments,1),s=n.length,i=n.push.apply(n,r);return r.length&&this._n
     otifySplice(n,t.path,s,r.length,[]),i},pop:function(e){var t={},n=this._get(e,th
     is,t),r=Boolean(n.length),s=Array.prototype.slice.call(arguments,1),i=n.pop.appl
     y(n,s);return r&&this._notifySplice(n,t.path,n.length,0,[i]),i},splice:function(
     e,t){var n={},r=this._get(e,this,n);t=t<0?r.length-Math.floor(-t):Math.floor(t),
     t||(t=0);var s=Array.prototype.slice.call(arguments,1),i=r.splice.apply(r,s),o=M
     ath.max(s.length-2,0);return(o||i.length)&&this._notifySplice(r,n.path,t,o,i),i}
     ,shift:function(e){var t={},n=this._get(e,this,t),r=Boolean(n.length),s=Array.pr
     ototype.slice.call(arguments,1),i=n.shift.apply(n,s);return r&&this._notifySplic
     e(n,t.path,0,0,[i]),i},unshift:function(e){var t={},n=this._get(e,this,t),r=Arra
     y.prototype.slice.call(arguments,1),s=n.unshift.apply(n,r);return r.length&&this
     ._notifySplice(n,t.path,0,r.length,[]),s},prepareModelNotifyPath:function(e){thi
     s.mixin(e,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:
     Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._
     get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyP
     ath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEff
     ector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverP
     athEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffec
     t:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._
     computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Po
     lymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_
     getPathParts:Polymer.Base._getPathParts})}})}(),Polymer.Base._addFeature({resolv
     eUrl:function(e){var t=Polymer.DomModule.import(this.is),n="";if(t){var r=t.getA
     ttribute("assetpath")||"";n=Polymer.ResolveUrl.resolveUrl(r,t.ownerDocument.base
     URI)}return Polymer.ResolveUrl.resolveUrl(e,n)}}),Polymer.CssParse=function(){re
     turn{parse:function(e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_
     clean:function(e){return e.replace(this._rx.comments,"").replace(this._rx.port,"
     ")},_lex:function(e){for(var t={start:0,end:e.length},n=t,r=0,s=e.length;r<s;r++
     )switch(e[r]){case this.OPEN_BRACE:n.rules||(n.rules=[]);var i=n,o=i.rules[i.rul
     es.length-1];n={start:r+1,parent:i,previous:o},i.rules.push(n);break;case this.C
     LOSE_BRACE:n.end=r+1,n=n.parent||t}return t},_parseCss:function(e,t){var n=t.sub
     string(e.start,e.end-1);if(e.parsedCssText=e.cssText=n.trim(),e.parent){var r=e.
     previous?e.previous.end:e.parent.start;n=t.substring(r,e.start-1),n=this._expand
     UnicodeEscapes(n),n=n.replace(this._rx.multipleSpaces," "),n=n.substring(n.lastI
     ndexOf(";")+1);var s=e.parsedSelector=e.selector=n.trim();e.atRule=0===s.indexOf
     (this.AT_START),e.atRule?0===s.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA
     _RULE:s.match(this._rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyfr
     amesName=e.selector.split(this._rx.multipleSpaces).pop()):0===s.indexOf(this.VAR
     _START)?e.type=this.types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var i=e.rules;
     if(i)for(var o,a=0,l=i.length;a<l&&(o=i[a]);a++)this._parseCss(o,t);return e},_e
     xpandUnicodeEscapes:function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,functio
     n(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:f
     unction(e,t,n){n=n||"";var r="";if(e.cssText||e.rules){var s=e.rules;if(s&&!this
     ._hasMixinRules(s))for(var i,o=0,a=s.length;o<a&&(i=s[o]);o++)r=this.stringify(i
     ,t,r);else r=t?e.cssText:this.removeCustomProps(e.cssText),r=r.trim(),r&&(r="  "
     +r+"\n")}return r&&(e.selector&&(n+=e.selector+" "+this.OPEN_BRACE+"\n"),n+=r,e.
     selector&&(n+=this.CLOSE_BRACE+"\n\n")),n},_hasMixinRules:function(e){return 0==
     =e[0].selector.indexOf(this.VAR_START)},removeCustomProps:function(e){return e=t
     his.removeCustomPropAssignment(e),this.removeCustomPropApply(e)},removeCustomPro
     pAssignment:function(e){return e.replace(this._rx.customProp,"").replace(this._r
     x.mixinProp,"")},removeCustomPropApply:function(e){return e.replace(this._rx.mix
     inApply,"").replace(this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,
     MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE:"{",CLOSE_BRACE:"}",_rx:{comments:/\/\*[
     ^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]
     +)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{}
     ;]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gi
     m,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*ke
     yframes/,multipleSpaces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"
     }}(),Polymer.StyleUtil=function(){var e=Polymer.Settings;return{NATIVE_VARIABLES
     :Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:"style, link[rel
     =import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t){re
     turn"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.p
     arser.stringify(e,this.NATIVE_VARIABLES)},forRulesInStyles:function(e,t,n){if(e)
     for(var r,s=0,i=e.length;s<i&&(r=e[s]);s++)this.forEachRuleInStyle(r,t,n)},forAc
     tiveRulesInStyles:function(e,t,n){if(e)for(var r,s=0,i=e.length;s<i&&(r=e[s]);s+
     +)this.forEachRuleInStyle(r,t,n,!0)},rulesForStyle:function(e){return!e.__cssRul
     es&&e.textContent&&(e.__cssRules=this.parser.parse(e.textContent)),e.__cssRules}
     ,isKeyframesSelector:function(e){return e.parent&&e.parent.type===this.ruleTypes
     .KEYFRAMES_RULE},forEachRuleInStyle:function(e,t,n,r){var s,i,o=this.rulesForSty
     le(e);t&&(s=function(n){t(n,e)}),n&&(i=function(t){n(t,e)}),this.forEachRule(o,s
     ,i,r)},forEachRule:function(e,t,n,r){if(e){var s=!1;if(r&&e.type===this.ruleType
     s.MEDIA_RULE){var i=e.selector.match(this.rx.MEDIA_MATCH);i&&(window.matchMedia(
     i[1]).matches||(s=!0))}e.type===this.ruleTypes.STYLE_RULE?t(e):n&&e.type===this.
     ruleTypes.KEYFRAMES_RULE?n(e):e.type===this.ruleTypes.MIXIN_RULE&&(s=!0);var o=e
     .rules;if(o&&!s)for(var a,l=0,h=o.length;l<h&&(a=o[l]);l++)this.forEachRule(a,t,
     n,r)}},applyCss:function(e,t,n,r){var s=this.createScopeStyle(e,t);return this.a
     pplyStyle(s,n,r)},applyStyle:function(e,t,n){t=t||document.head;var r=n&&n.nextS
     ibling||t.firstChild;return this.__lastHeadApplyNode=e,t.insertBefore(e,r)},crea
     teScopeStyle:function(e,t){var n=document.createElement("style");return t&&n.set
     Attribute("scope",t),n.textContent=e,n},__lastHeadApplyNode:null,applyStylePlace
     Holder:function(e){var t=document.createComment(" Shady DOM styles for "+e+" "),
     n=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null,r=document.
     head;return r.insertBefore(t,n||r.firstChild),this.__lastHeadApplyNode=t,t},cssF
     romModules:function(e,t){for(var n=e.trim().split(" "),r="",s=0;s<n.length;s++)r
     +=this.cssFromModule(n[s],t);return r},cssFromModule:function(e,t){var n=Polymer
     .DomModule.import(e);return n&&!n._cssText&&(n._cssText=this.cssFromElement(n)),
     !n&&t&&console.warn("Could not find style data in module named",e),n&&n._cssText
     ||""},cssFromElement:function(e){for(var t,n="",r=e.content||e,s=Polymer.TreeApi
     .arrayCopy(r.querySelectorAll(this.MODULE_STYLES_SELECTOR)),i=0;i<s.length;i++)i
     f(t=s[i],"template"===t.localName)n+=this.cssFromElement(t);else if("style"===t.
     localName){var o=t.getAttribute(this.INCLUDE_ATTR);o&&(n+=this.cssFromModules(o,
     !0)),t=t.__appliedElement||t,t.parentNode.removeChild(t),n+=this.resolveCss(t.te
     xtContent,e.ownerDocument)}else t.import&&t.import.body&&(n+=this.resolveCss(t.i
     mport.body.textContent,t.import));return n},isTargetedBuild:function(t){return e
     .useNativeShadow?"shadow"===t:"shady"===t},cssBuildTypeForModule:function(e){var
      t=Polymer.DomModule.import(e);if(t)return this.getCssBuildType(t)},getCssBuildT
     ype:function(e){return e.getAttribute("css-build")},_findMatchingParen:function(
     e,t){for(var n=0,r=t,s=e.length;r<s;r++)switch(e[r]){case"(":n++;break;case")":i
     f(0===--n)return r}return-1},processVariableAndFallback:function(e,t){var n=e.in
     dexOf("var(");if(n===-1)return t(e,"","","");var r=this._findMatchingParen(e,n+3
     ),s=e.substring(n+4,r),i=e.substring(0,n),o=this.processVariableAndFallback(e.su
     bstring(r+1),t),a=s.indexOf(",");if(a===-1)return t(i,s.trim(),"",o);var l=s.sub
     string(0,a).trim(),h=s.substring(a+1).trim();return t(i,l,h,o)},rx:{VAR_ASSIGN:/
     (?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN
     _MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]
     |$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@medi
     a[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:"(?:^|[^.#[:]
     )",HOST_SUFFIX:"($|[.:[\\s>+~])"},resolveCss:Polymer.ResolveUrl.resolveCss,parse
     r:Polymer.CssParse,ruleTypes:Polymer.CssParse.types}}(),Polymer.StyleTransformer
     =function(){var e=Polymer.StyleUtil,t=Polymer.Settings,n={dom:function(e,t,n,r){
     this._transformDom(e,t||"",n,r)},_transformDom:function(e,t,n,r){e.setAttribute&
     &this.element(e,t,n,r);for(var s=Polymer.dom(e).childNodes,i=0;i<s.length;i++)th
     is._transformDom(s[i],t,n,r)},element:function(e,t,n,s){if(n)s?e.removeAttribute
     (r):e.setAttribute(r,t);else if(t)if(e.classList)s?(e.classList.remove(r),e.clas
     sList.remove(t)):(e.classList.add(r),e.classList.add(t));else if(e.getAttribute)
     {var i=e.getAttribute(g);s?i&&e.setAttribute(g,i.replace(r,"").replace(t,"")):e.
     setAttribute(g,(i?i+" ":"")+r+" "+t)}},elementStyles:function(n,r){for(var s,i=n
     ._styles,o="",a=n.__cssBuild,l=0,h=i.length;l<h&&(s=i[l]);l++){var c=e.rulesForS
     tyle(s);o+=t.useNativeShadow||"shady"===a?e.toCssText(c,r):this.css(c,n.is,n.ext
     ends,r,n._scopeCssViaAttr)+"\n\n"}return o.trim()},css:function(t,n,r,s,i){var o
     =this._calcHostScope(n,r);n=this._calcElementScope(n,i);var a=this;return e.toCs
     sText(t,function(e){e.isScoped||(a.rule(e,n,o),e.isScoped=!0),s&&s(e,n,o)})},_ca
     lcElementScope:function(e,t){return e?t?m+e+y:d+e:""},_calcHostScope:function(e,
     t){return t?"[is="+e+"]":e},rule:function(e,t,n){this._transformRule(e,this._tra
     nsformComplexSelector,t,n)},_transformRule:function(e,t,n,r){e.selector=e.transf
     ormedSelector=this._transformRuleCss(e,t,n,r)},_transformRuleCss:function(t,n,r,
     s){var o=t.selector.split(i);if(!e.isKeyframesSelector(t))for(var a,l=0,h=o.leng
     th;l<h&&(a=o[l]);l++)o[l]=n.call(this,a,r,s);return o.join(i)},_transformComplex
     Selector:function(e,t,n){var r=!1,s=!1,a=this;return e=e.trim(),e=e.replace(P,l+
     " $1"),e=e.replace(o,function(e,i,o){if(r)o=o.replace(_," ");else{var l=a._trans
     formCompoundSelector(o,i,t,n);r=r||l.stop,s=s||l.hostContext,i=l.combinator,o=l.
     value}return i+o}),s&&(e=e.replace(f,function(e,t,r,s){return t+r+" "+n+s+i+" "+
     t+n+r+s})),e},_transformCompoundSelector:function(e,t,n,r){var s=e.search(_),i=!
     1;e.indexOf(u)>=0?i=!0:e.indexOf(l)>=0?e=this._transformHostSelector(e,r):0!==s&
     &(e=n?this._transformSimpleSelector(e,n):e),e.indexOf(p)>=0&&(t="");var o;return
      s>=0&&(e=e.replace(_," "),o=!0),{value:e,combinator:t,stop:o,hostContext:i}},_t
     ransformSimpleSelector:function(e,t){var n=e.split(v);return n[0]+=t,n.join(v)},
     _transformHostSelector:function(e,t){var n=e.match(c),r=n&&n[2].trim()||"";if(r)
     {if(r[0].match(a))return e.replace(c,function(e,n,r){return t+r});var s=r.split(
     a)[0];return s===t?r:S}return e.replace(l,t)},documentRule:function(e){e.selecto
     r=e.parsedSelector,this.normalizeRootSelector(e),t.useNativeShadow||this._transf
     ormRule(e,this._transformDocumentSelector)},normalizeRootSelector:function(e){e.
     selector===h&&(e.selector="html")},_transformDocumentSelector:function(e){return
      e.match(_)?this._transformComplexSelector(e,s):this._transformSimpleSelector(e.
     trim(),s)},SCOPE_NAME:"style-scope"},r=n.SCOPE_NAME,s=":not(["+r+"]):not(."+r+")
     ",i=",",o=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g,a=/[[.:#*]/,l=":host",h=":ro
     ot",c=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,u=":host-context",f=/(.*)(?::ho
     st-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/,p="::content",_=/::content|::s
     hadow|\/deep\//,d=".",m="["+r+"~=",y="]",v=":",g="class",P=new RegExp("^("+p+")"
     ),S="should_not_match";return n}(),Polymer.StyleExtends=function(){var e=Polymer
     .StyleUtil;return{hasExtends:function(e){return Boolean(e.match(this.rx.EXTEND))
     },transform:function(t){var n=e.rulesForStyle(t),r=this;return e.forEachRule(n,f
     unction(e){if(r._mapRuleOntoParent(e),e.parent)for(var t;t=r.rx.EXTEND.exec(e.cs
     sText);){var n=t[1],s=r._findExtendor(n,e);s&&r._extendRule(e,s)}e.cssText=e.css
     Text.replace(r.rx.EXTEND,"")}),e.toCssText(n,function(e){e.selector.match(r.rx.S
     TRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.parent){for(var 
     t,n=e.parent.map||(e.parent.map={}),r=e.selector.split(","),s=0;s<r.length;s++)t
     =r[s],n[t.trim()]=e;return n}},_findExtendor:function(e,t){return t.parent&&t.pa
     rent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extendRule:function(
     e,t){e.parent!==t.parent&&this._cloneAndAddRuleToParent(t,e.parent),e.extends=e.
     extends||[],e.extends.push(t),t.selector=t.selector.replace(this.rx.STRIP,""),t.
     selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.extends.forEach(
     function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent:function(e,t)
     {e=Object.create(e),e.parent=t,e.extends&&(e.extends=e.extends.slice()),t.rules.
     push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}}}(),Polymer.A
     pplyShim=function(){"use strict";function e(e,t){e=e.trim(),m[e]={properties:t,d
     ependants:{}}}function t(e){return e=e.trim(),m[e]}function n(e,t){var n=_.exec(
     t);return n&&(t=n[1]?y._getInitialValueForProperty(e):"apply-shim-inherit"),t}fu
     nction r(e){for(var t,r,s,i,o=e.split(";"),a={},l=0;l<o.length;l++)s=o[l],s&&(i=
     s.split(":"),i.length>1&&(t=i[0].trim(),r=n(t,i.slice(1).join(":")),a[t]=r));ret
     urn a}function s(e){var t=y.__currentElementProto,n=t&&t.is;for(var r in e.depen
     dants)r!==n&&(e.dependants[r].__applyShimInvalid=!0)}function i(n,i,o,a){if(o&&h
     .processVariableAndFallback(o,function(e,n){n&&t(n)&&(a="@apply "+n+";")}),!a)re
     turn n;var c=l(a),u=n.slice(0,n.indexOf("--")),f=r(c),p=f,_=t(i),m=_&&_.properti
     es;m?(p=Object.create(m),p=Polymer.Base.mixin(p,f)):e(i,p);var y,v,g=[],P=!1;for
     (y in p)v=f[y],void 0===v&&(v="initial"),!m||y in m||(P=!0),g.push(i+d+y+": "+v)
     ;return P&&s(_),_&&(_.properties=p),o&&(u=n+";"+u),u+g.join("; ")+";"}function o
     (e,t,n){return"var("+t+",var("+n+"));"}function a(n,r){n=n.replace(p,"");var s=[
     ],i=t(n);if(i||(e(n,{}),i=t(n)),i){var o=y.__currentElementProto;o&&(i.dependant
     s[o.is]=o);var a,l,h;for(a in i.properties)h=r&&r[a],l=[a,": var(",n,d,a],h&&l.p
     ush(",",h),l.push(")"),s.push(l.join(""))}return s.join("; ")}function l(e){for(
     var t;t=c.exec(e);){var n=t[0],s=t[1],i=t.index,o=i+n.indexOf("@apply"),l=i+n.le
     ngth,h=e.slice(0,o),u=e.slice(l),f=r(h),p=a(s,f);e=[h,p,u].join(""),c.lastIndex=
     i+p.length}return e}var h=Polymer.StyleUtil,c=h.rx.MIXIN_MATCH,u=h.rx.VAR_ASSIGN
     ,f=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g,p=/;\s*/m,_=/^\s*(initial)|(inherit)\s*$/
     ,d="_-_",m={},y={_measureElement:null,_map:m,_separator:d,transform:function(e,t
     ){this.__currentElementProto=t,h.forRulesInStyles(e,this._boundTransformRule),t.
     __applyShimInvalid=!1,this.__currentElementProto=null},transformRule:function(e)
     {e.cssText=this.transformCssText(e.parsedCssText),":root"===e.selector&&(e.selec
     tor=":host > *")},transformCssText:function(e){return e=e.replace(f,o),e=e.repla
     ce(u,i),l(e)},_getInitialValueForProperty:function(e){return this._measureElemen
     t||(this._measureElement=document.createElement("meta"),this._measureElement.sty
     le.all="initial",document.head.appendChild(this._measureElement)),window.getComp
     utedStyle(this._measureElement).getPropertyValue(e)}};return y._boundTransformRu
     le=y.transformRule.bind(y),y}(),function(){var e=Polymer.Base._prepElement,t=Pol
     ymer.Settings.useNativeShadow,n=Polymer.StyleUtil,r=Polymer.StyleTransformer,s=P
     olymer.StyleExtends,i=Polymer.ApplyShim,o=Polymer.Settings;Polymer.Base._addFeat
     ure({_prepElement:function(t){this._encapsulateStyle&&"shady"!==this.__cssBuild&
     &r.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepStyles:function
     (){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),t||(this._scopeS
     tyle=n.applyStylePlaceHolder(this.is)),this.__cssBuild=n.cssBuildTypeForModule(t
     his.is)},_prepShimStyles:function(){if(this._template){var e=n.isTargetedBuild(t
     his.__cssBuild);if(o.useNativeCSSProperties&&"shadow"===this.__cssBuild&&e)retur
     n;this._styles=this._styles||this._collectStyles(),o.useNativeCSSProperties&&!th
     is.__cssBuild&&i.transform(this._styles,this);var s=o.useNativeCSSProperties&&e?
     this._styles.length&&this._styles[0].textContent.trim():r.elementStyles(this);th
     is._prepStyleProperties(),!this._needsStyleProperties()&&s&&n.applyCss(s,this.is
     ,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_collectS
     tyles:function(){var e=[],t="",r=this.styleModules;if(r)for(var i,o=0,a=r.length
     ;o<a&&(i=r[o]);o++)t+=n.cssFromModule(i);t+=n.cssFromModule(this.is);var l=this.
     _template&&this._template.parentNode;if(!this._template||l&&l.id.toLowerCase()==
     =this.is||(t+=n.cssFromElement(this._template)),t){var h=document.createElement(
     "style");h.textContent=t,s.hasExtends(h.textContent)&&(t=s.transform(h)),e.push(
     h)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScoped?e.
     __styleScoped=!1:r.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:functio
     n(e){this._encapsulateStyle&&r.dom(e,this.is,this._scopeCssViaAttr,!0)},scopeSub
     tree:function(e,n){if(!t){var r=this,s=function(e){if(e.nodeType===Node.ELEMENT_
     NODE){var t=e.getAttribute("class");e.setAttribute("class",r._scopeElementClass(
     e,t));for(var n,s=e.querySelectorAll("*"),i=0;i<s.length&&(n=s[i]);i++)t=n.getAt
     tribute("class"),n.setAttribute("class",r._scopeElementClass(n,t))}};if(s(e),n){
     var i=new MutationObserver(function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++)if
     (t.addedNodes)for(var r=0;r<t.addedNodes.length;r++)s(t.addedNodes[r])});return 
     i.observe(e,{childList:!0,subtree:!0}),i}}}})}(),Polymer.StyleProperties=functio
     n(){"use strict";function e(e,t){var n=parseInt(e/32),r=1<<e%32;t[n]=(t[n]||0)|r
     }var t=Polymer.DomApi.matchesSelector,n=Polymer.StyleUtil,r=Polymer.StyleTransfo
     rmer,s=navigator.userAgent.match("Trident"),i=Polymer.Settings;return{decorateSt
     yles:function(e,t){var s=this,i={},o=[],a=0,l=r._calcHostScope(t.is,t.extends);n
     .forRulesInStyles(e,function(e,r){s.decorateRule(e),e.index=a++,s.whenHostOrRoot
     Rule(t,e,r,function(r){if(e.parent.type===n.ruleTypes.MEDIA_RULE&&(t.__notStyleS
     copeCacheable=!0),r.isHost){var s=r.selector.split(" ").some(function(e){return 
     0===e.indexOf(l)&&e.length!==l.length});t.__notStyleScopeCacheable=t.__notStyleS
     copeCacheable||s}}),s.collectPropertiesInCssText(e.propertyInfo.cssText,i)},func
     tion(e){o.push(e)}),e._keyframes=o;var h=[];for(var c in i)h.push(c);return h},d
     ecorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},n={},r=
     this.collectProperties(e,n);return r&&(t.properties=n,e.rules=null),t.cssText=th
     is.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){var n=e
     .propertyInfo;if(!n){for(var r,s,i,o=this.rx.VAR_ASSIGN,a=e.parsedCssText;r=o.ex
     ec(a);)s=(r[2]||r[3]).trim(),"inherit"!==s&&(t[r[1].trim()]=s),i=!0;return i}if(
     n.properties)return Polymer.Base.mixin(t,n.properties),!0},collectCssText:functi
     on(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumingCssT
     ext:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ASSIG
     N,"")},collectPropertiesInCssText:function(e,t){for(var n;n=this.rx.VAR_CONSUMED
     .exec(e);){var r=n[1];":"!==n[2]&&(t[r]=!0)}},reify:function(e){for(var t,n=Obje
     ct.getOwnPropertyNames(e),r=0;r<n.length;r++)t=n[r],e[t]=this.valueForProperty(e
     [t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.valueFor
     Properties(e,t);else{var r=this,s=function(e,n,s,i){var o=r.valueForProperty(t[n
     ],t);return o&&"initial"!==o?"apply-shim-inherit"===o&&(o="inherit"):o=r.valueFo
     rProperty(t[s]||s,t)||s,e+(o||"")+i};e=n.processVariableAndFallback(e,s)}return 
     e&&e.trim()||""},valueForProperties:function(e,t){for(var n,r,s=e.split(";"),i=0
     ;i<s.length;i++)if(n=s[i]){if(this.rx.MIXIN_MATCH.lastIndex=0,r=this.rx.MIXIN_MA
     TCH.exec(n))n=this.valueForProperty(t[r[1]],t);else{var o=n.indexOf(":");if(o!==
     -1){var a=n.substring(o);a=a.trim(),a=this.valueForProperty(a,t)||a,n=n.substrin
     g(0,o)+a}}s[i]=n&&n.lastIndexOf(";")===n.length-1?n.slice(0,-1):n||""}return s.j
     oin(";")},applyProperties:function(e,t){var n="";e.propertyInfo||this.decorateRu
     le(e),e.propertyInfo.cssText&&(n=this.valueForProperties(e.propertyInfo.cssText,
     t)),e.cssText=n},applyKeyframeTransforms:function(e,t){var n=e.cssText,r=e.cssTe
     xt;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test(n)),e
     .hasAnimations){var s;if(null==e.keyframeNamesToTransform){e.keyframeNamesToTran
     sform=[];for(var i in t)s=t[i],r=s(n),n!==r&&(n=r,e.keyframeNamesToTransform.pus
     h(i))}else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)s=t[e.keyframeNam
     esToTransform[o]],n=s(n);r=n}}e.cssText=r},propertyDataFromStyles:function(r,s){
     var i={},o=this,a=[];return n.forActiveRulesInStyles(r,function(n){n.propertyInf
     o||o.decorateRule(n);var r=n.transformedSelector||n.parsedSelector;s&&n.property
     Info.properties&&r&&t.call(s,r)&&(o.collectProperties(n,i),e(n.index,a))}),{prop
     erties:i,key:a}},whenHostOrRootRule:function(e,t,n,s){if(t.propertyInfo||self.de
     corateRule(t),t.propertyInfo.properties){var o=e.is?r._calcHostScope(e.is,e.exte
     nds):"html",a=t.parsedSelector,l=":root"===a,h=0===a.indexOf(":host"),c=e.__cssB
     uild||n.__cssBuild;if("shady"===c&&(l=a===o+" > *."+o||a.indexOf("html")!==-1,h=
     !l&&0===a.indexOf(o)),"shadow"===c&&(l=":host > *"===a||"html"===a,h=h&&!l),l||h
     ){var u=o;h&&(i.useNativeShadow&&!t.transformedSelector&&(t.transformedSelector=
     r._transformRuleCss(t,r._transformComplexSelector,e.is,o)),u=t.transformedSelect
     or||t.parsedSelector),s({selector:u,isHost:h,isRoot:l})}}},hostAndRootProperties
     ForScope:function(e){var r={},s={},i=this;return n.forActiveRulesInStyles(e._sty
     les,function(n,o){i.whenHostOrRootRule(e,n,o,function(o){var a=e._element||e;t.c
     all(a,o.selector)&&(o.isHost?i.collectProperties(n,r):i.collectProperties(n,s))}
     )}),{rootProps:s,hostProps:r}},transformStyles:function(e,t,n){var s=this,o=r._c
     alcHostScope(e.is,e.extends),a=e.extends?"\\"+o.slice(0,-1)+"\\]":o,l=new RegExp
     (this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),h=this._elementKeyframeTransforms(e,
     n);return r.elementStyles(e,function(r){s.applyProperties(r,t),i.useNativeShadow
     ||Polymer.StyleUtil.isKeyframesSelector(r)||!r.cssText||(s.applyKeyframeTransfor
     ms(r,h),s._scopeSelector(r,l,o,e._scopeCssViaAttr,n))})},_elementKeyframeTransfo
     rms:function(e,t){var n=e._styles._keyframes,r={};if(!i.useNativeShadow&&n)for(v
     ar s=0,o=n[s];s<n.length;o=n[++s])this._scopeKeyframes(o,t),r[o.keyframesName]=t
     his._keyframesRuleTransformer(o);return r},_keyframesRuleTransformer:function(e)
     {return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesNam
     e)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesName,
     "g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e.tr
     ansformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyfram
     esName,e.transformedKeyframesName)},_scopeSelector:function(e,t,n,s,i){e.transfo
     rmedSelector=e.transformedSelector||e.selector;for(var o,a=e.transformedSelector
     ,l=s?"["+r.SCOPE_NAME+"~="+i+"]":"."+i,h=a.split(","),c=0,u=h.length;c<u&&(o=h[c
     ]);c++)h[c]=o.match(t)?o.replace(n,l):l+" "+o;e.selector=h.join(",")},applyEleme
     ntScopeSelector:function(e,t,n,s){var i=s?e.getAttribute(r.SCOPE_NAME):e.getAttr
     ibute("class")||"",o=n?i.replace(n,t):(i?i+" ":"")+this.XSCOPE_NAME+" "+t;i!==o&
     &(s?e.setAttribute(r.SCOPE_NAME,o):e.setAttribute("class",o))},applyElementStyle
     :function(e,t,r,o){var a=o?o.textContent||"":this.transformStyles(e,t,r),l=e._cu
     stomStyle;return l&&!i.useNativeShadow&&l!==o&&(l._useCount--,l._useCount<=0&&l.
     parentNode&&l.parentNode.removeChild(l)),i.useNativeShadow?e._customStyle?(e._cu
     stomStyle.textContent=a,o=e._customStyle):a&&(o=n.applyCss(a,r,e.root,e._scopeSt
     yle)):o?o.parentNode||n.applyStyle(o,null,e._scopeStyle):a&&(o=n.applyCss(a,r,nu
     ll,e._scopeStyle)),o&&(o._useCount=o._useCount||0,e._customStyle!=o&&o._useCount
     ++,e._customStyle=o),s&&(o.textContent=o.textContent),o},mixinCustomStyle:functi
     on(e,t){var n;for(var r in t)n=t[r],(n||0===n)&&(e[r]=n)},updateNativeStylePrope
     rties:function(e,t){var n=e.__customStyleProperties;if(n)for(var r=0;r<n.length;
     r++)e.style.removeProperty(n[r]);var s=[];for(var i in t)null!==t[i]&&(e.style.s
     etProperty(i,t[i]),s.push(i));e.__customStyleProperties=s},rx:n.rx,XSCOPE_NAME:"
     x-scope"}}(),function(){Polymer.StyleCache=function(){this.cache={}},Polymer.Sty
     leCache.prototype={MAX:100,store:function(e,t,n,r){t.keyValues=n,t.styles=r;var 
     s=this.cache[e]=this.cache[e]||[];s.push(t),s.length>this.MAX&&s.shift()},retrie
     ve:function(e,t,n){var r=this.cache[e];if(r)for(var s,i=r.length-1;i>=0;i--)if(s
     =r[i],n===s.styles&&this._objectsEqual(t,s.keyValues))return s},clear:function()
     {this.cache={}},_objectsEqual:function(e,t){var n,r;for(var s in e)if(n=e[s],r=t
     [s],!("object"==typeof n&&n?this._objectsStrictlyEqual(n,r):n===r))return!1;retu
     rn!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual:function(e,t){re
     turn this._objectsEqual(e,t)&&this._objectsEqual(t,e)}}}(),Polymer.StyleDefaults
     =function(){var e=Polymer.StyleProperties,t=Polymer.StyleCache,n=Polymer.Setting
     s.useNativeCSSProperties,r={_styles:[],_properties:null,customStyle:{},_styleCac
     he:new t,_element:Polymer.DomApi.wrap(document.documentElement),addStyle:functio
     n(e){this._styles.push(e),this._properties=null},get _styleProperties(){return t
     his._properties||(e.decorateStyles(this._styles,this),this._styles._scopeStylePr
     operties=null,this._properties=e.hostAndRootPropertiesForScope(this).rootProps,e
     .mixinCustomStyle(this._properties,this.customStyle),e.reify(this._properties)),
     this._properties},hasStyleProperties:function(){return Boolean(this._properties)
     },_needsStyleProperties:function(){},_computeStyleProperties:function(){return t
     his._styleProperties},updateStyles:function(t){this._properties=null,t&&Polymer.
     Base.mixin(this.customStyle,t),this._styleCache.clear();for(var r,s=0;s<this._st
     yles.length;s++)r=this._styles[s],r=r.__importElement||r,r._apply();n&&e.updateN
     ativeStyleProperties(document.documentElement,this.customStyle)}};return r}(),fu
     nction(){"use strict";var e=Polymer.Base.serializeValueToAttribute,t=Polymer.Sty
     leProperties,n=Polymer.StyleTransformer,r=Polymer.StyleDefaults,s=Polymer.Settin
     gs.useNativeShadow,i=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFe
     ature({_prepStyleProperties:function(){i||(this._ownStylePropertyNames=this._sty
     les&&this._styles.length?t.decorateStyles(this._styles,this):null)},customStyle:
     null,getComputedStyleValue:function(e){return!i&&this._styleProperties&&this._st
     yleProperties[e]||getComputedStyle(this).getPropertyValue(e)},_setupStylePropert
     ies:function(){this.customStyle={},this._styleCache=null,this._styleProperties=n
     ull,this._scopeSelector=null,this._ownStyleProperties=null,this._customStyle=nul
     l},_needsStyleProperties:function(){return Boolean(!i&&this._ownStylePropertyNam
     es&&this._ownStylePropertyNames.length)},_validateApplyShim:function(){if(this._
     _applyShimInvalid){Polymer.ApplyShim.transform(this._styles,this.__proto__);var 
     e=n.elementStyles(this);if(s){var t=this._template.content.querySelector("style"
     );t&&(t.textContent=e)}else{var r=this._scopeStyle&&this._scopeStyle.nextSibling
     ;r&&(r.textContent=e)}}},_beforeAttached:function(){this._scopeSelector&&!this._
     _stylePropertiesInvalid||!this._needsStyleProperties()||(this.__stylePropertiesI
     nvalid=!1,this._updateStyleProperties())},_findStyleHost:function(){for(var e,t=
     this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInstance(e.host))return e.ho
     st;t=e.host}return r},_updateStyleProperties:function(){var e,n=this._findStyleH
     ost();n._styleProperties||n._computeStyleProperties(),n._styleCache||(n._styleCa
     che=new Polymer.StyleCache); | 
|    4 var r=t.propertyDataFromStyles(n._styles,this),i=!this.__notStyleScopeCacheable;
     i&&(r.key.customStyle=this.customStyle,e=n._styleCache.retrieve(this.is,r.key,th
     is._styles));var a=Boolean(e);a?this._styleProperties=e._styleProperties:this._c
     omputeStyleProperties(r.properties),this._computeOwnStyleProperties(),a||(e=o.re
     trieve(this.is,this._ownStyleProperties,this._styles));var l=Boolean(e)&&!a,h=th
     is._applyStyleProperties(e);a||(h=h&&s?h.cloneNode(!0):h,e={style:h,_scopeSelect
     or:this._scopeSelector,_styleProperties:this._styleProperties},i&&(r.key.customS
     tyle={},this.mixin(r.key.customStyle,this.customStyle),n._styleCache.store(this.
     is,e,r.key,this._styles)),l||o.store(this.is,Object.create(e),this._ownStyleProp
     erties,this._styles))},_computeStyleProperties:function(e){var n=this._findStyle
     Host();n._styleProperties||n._computeStyleProperties();var r=Object.create(n._st
     yleProperties),s=t.hostAndRootPropertiesForScope(this);this.mixin(r,s.hostProps)
     ,e=e||t.propertyDataFromStyles(n._styles,this).properties,this.mixin(r,e),this.m
     ixin(r,s.rootProps),t.mixinCustomStyle(r,this.customStyle),t.reify(r),this._styl
     eProperties=r},_computeOwnStyleProperties:function(){for(var e,t={},n=0;n<this._
     ownStylePropertyNames.length;n++)e=this._ownStylePropertyNames[n],t[e]=this._sty
     leProperties[e];this._ownStyleProperties=t},_scopeCount:0,_applyStyleProperties:
     function(e){var n=this._scopeSelector;this._scopeSelector=e?e._scopeSelector:thi
     s.is+"-"+this.__proto__._scopeCount++;var r=t.applyElementStyle(this,this._style
     Properties,this._scopeSelector,e&&e.style);return s||t.applyElementScopeSelector
     (this,this._scopeSelector,n,this._scopeCssViaAttr),r},serializeValueToAttribute:
     function(t,n,r){if(r=r||this,"class"===n&&!s){var i=r===this?this.domHost||this.
     dataHost:this;i&&(t=i._scopeElementClass(r,t))}r=this.shadyRoot&&this.shadyRoot.
     _hasDistributed?Polymer.dom(r):r,e.call(this,t,n,r)},_scopeElementClass:function
     (e,t){return s||this._scopeCssViaAttr||(t=(t?t+" ":"")+a+" "+this.is+(e._scopeSe
     lector?" "+l+" "+e._scopeSelector:"")),t},updateStyles:function(e){e&&this.mixin
     (this.customStyle,e),i?t.updateNativeStyleProperties(this,this.customStyle):(thi
     s.isAttached?this._needsStyleProperties()?this._updateStyleProperties():this._st
     yleProperties=null:this.__stylePropertiesInvalid=!0,this._styleCache&&this._styl
     eCache.clear(),this._updateRootStyles())},_updateRootStyles:function(e){e=e||thi
     s.root;for(var t,n=Polymer.dom(e)._query(function(e){return e.shadyRoot||e.shado
     wRoot}),r=0,s=n.length;r<s&&(t=n[r]);r++)t.updateStyles&&t.updateStyles()}}),Pol
     ymer.updateStyles=function(e){r.updateStyles(e),Polymer.Base._updateRootStyles(d
     ocument)};var o=new Polymer.StyleCache;Polymer.customStyleCache=o;var a=n.SCOPE_
     NAME,l=t.XSCOPE_NAME}(),Polymer.Base._addFeature({_registerFeatures:function(){t
     his._prepIs(),this._prepConstructor(),this._prepStyles()},_finishRegisterFeature
     s:function(){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations()
     ,this._prepEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBi
     ndings(),this._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e
     .properties),this._addComplexObserverEffects(e.observers),this._addHostAttribute
     s(e.hostAttributes)},_initFeatures:function(){this._setupGestures(),this._setupC
     onfigure(),this._setupStyleProperties(),this._setupDebouncers(),this._setupShady
     (),this._registerHost(),this._template&&(this._validateApplyShim(),this._poolCon
     tent(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._marsh
     alAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehaviors(
     ),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_mar
     shalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),func
     tion(){var e,t=Polymer.StyleProperties,n=Polymer.StyleUtil,r=Polymer.CssParse,s=
     Polymer.StyleDefaults,i=Polymer.StyleTransformer,o=Polymer.ApplyShim,a=Polymer.D
     ebounce,l=Polymer.Settings;Polymer({is:"custom-style",extends:"style",_template:
     null,properties:{include:String},ready:function(){this.__appliedElement=this.__a
     ppliedElement||this,this.__cssBuild=n.getCssBuildType(this),this.__appliedElemen
     t!==this&&(this.__appliedElement.__cssBuild=this.__cssBuild),this._tryApply()},a
     ttached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesToDoc
     ument&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appliesT
     oDocument=!0;var e=this.__appliedElement;if(l.useNativeCSSProperties||(this.__ne
     edsUpdateStyles=s.hasStyleProperties(),s.addStyle(e)),e.textContent||this.includ
     e)this._apply(!0);else{var t=this,n=new MutationObserver(function(){n.disconnect
     (),t._apply(!0)});n.observe(e,{childList:!0})}}},_updateStyles:function(){Polyme
     r.updateStyles()},_apply:function(e){var t=this.__appliedElement;if(this.include
     &&(t.textContent=n.cssFromModules(this.include,!0)+t.textContent),t.textContent)
     {var r=this.__cssBuild,s=n.isTargetedBuild(r);if(!l.useNativeCSSProperties||!s){
     var a=n.rulesForStyle(t);if(s||n.forEachRule(a,function(e){i.documentRule(e),l.u
     seNativeCSSProperties&&!r&&o.transformRule(e)}),l.useNativeCSSProperties)t.textC
     ontent=n.toCssText(a);else{var h=this,c=function(){h._flushCustomProperties()};e
     ?Polymer.RenderStatus.whenReady(c):c()}}}},_flushCustomProperties:function(){thi
     s.__needsUpdateStyles?(this.__needsUpdateStyles=!1,e=a(e,this._updateStyles)):th
     is._applyCustomProperties()},_applyCustomProperties:function(){var e=this.__appl
     iedElement;this._computeStyleProperties();var s=this._styleProperties,i=n.rulesF
     orStyle(e);i&&(e.textContent=n.toCssText(i,function(e){var n=e.cssText=e.parsedC
     ssText;e.propertyInfo&&e.propertyInfo.cssText&&(n=r.removeCustomPropAssignment(n
     ),e.cssText=t.valueForProperties(n,s))}))}})}(),Polymer.Templatizer={properties:
     {__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Polymer
     .nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized=e,
     e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._content.
     _ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.create
     (Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t,e),
     t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropertyIn
     fo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElementCla
     ss=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren=thi
     s._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setProperty=t
     his.__setPropertyImpl;var n=this._constructorImpl,r=function(e,t){n.call(this,e,
     t)};r.prototype=t,t.constructor=r,e._content._ctor=r,this.ctor=r},_getRootDataHo
     st:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost},
     _showHideChildrenImpl:function(e){for(var t=this._children,n=0;n<t.length;n++){v
     ar r=t[n];Boolean(e)!=Boolean(r.__hideTemplateChildren__)&&(r.nodeType===Node.TE
     XT_NODE?e?(r.__polymerTextContent__=r.textContent,r.textContent=""):r.textConten
     t=r.__polymerTextContent__:r.style&&(e?(r.__polymerDisplay__=r.style.display,r.s
     tyle.display="none"):r.style.display=r.__polymerDisplay__)),r.__hideTemplateChil
     dren__=e}},__setPropertyImpl:function(e,t,n,r){r&&r.__hideTemplateChildren__&&"t
     extContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,n,r)},_d
     ebounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounceTem
     plate",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffects:f
     unction(e){var t=e._parentProps;for(var n in t)e._addPropertyEffect(n,"function"
     ,this._createHostPropEffector(n));for(n in this._instanceProps)e._addPropertyEff
     ect(n,"function",this._createInstancePropEffector(n))},_customPrepAnnotations:fu
     nction(e,t){e._template=t;var n=t._content;if(!n._notes){var r=e._rootDataHost;r
     &&(Polymer.Annotations.prepElement=function(){r._prepElement()}),n._notes=Polyme
     r.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._pro
     cessAnnotations(n._notes)}e._notes=n._notes,e._parentProps=n._parentProps},_prep
     ParentProperties:function(e,t){var n=this._parentProps=e._parentProps;if(this._f
     orwardParentProp&&n){var r,s=e._parentPropProto;if(!s){for(r in this._instancePr
     ops)delete n[r];s=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bind.
     prepareModel(s),Polymer.Base.prepareModelNotifyPath(s));for(r in n){var i=this._
     parentPropPrefix+r,o=[{kind:"function",effect:this._createForwardPropEffector(r)
     ,fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffect,e
     ffect:{event:Polymer.CaseMap.camelToDashCase(i)+"-changed"}}];Polymer.Bind._crea
     teAccessors(s,i,o)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forw
     ardParentProp=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,s
     ),t._pathEffector=function(e,t,n){return a._pathEffectorImpl(e,t,n)}}},_createFo
     rwardPropEffector:function(e){return function(t,n){this._forwardParentProp(e,n)}
     },_createHostPropEffector:function(e){var t=this._parentPropPrefix;return functi
     on(n,r){this.dataHost._templatized[t+e]=r}},_createInstancePropEffector:function
     (e){return function(t,n,r,s){s||this.dataHost._forwardInstanceProp(this,e,n)}},_
     extendTemplate:function(e,t){var n=Object.getOwnPropertyNames(t);t._propertySett
     er&&(e._propertySetter=t._propertySetter);for(var r,s=0;s<n.length&&(r=n[s]);s++
     ){var i=e[r],o=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,o)
     ,void 0!==i&&e._propertySetter(r,i)}},_showHideChildren:function(e){},_forwardIn
     stancePath:function(e,t,n){},_forwardInstanceProp:function(e,t,n){},_notifyPathU
     pImpl:function(e,t){var n=this.dataHost,r=e.indexOf("."),s=r<0?e:e.slice(0,r);n.
     _forwardInstancePath.call(n,this,e,t),s in n._parentProps&&n._templatized._notif
     yPath(n._parentPropPrefix+e,t)},_pathEffectorImpl:function(e,t,n){if(this._forwa
     rdParentPath&&0===e.indexOf(this._parentPropPrefix)){var r=e.substring(this._par
     entPropPrefix.length),s=this._modelForPath(r);s in this._parentProps&&this._forw
     ardParentPath(r,t)}Polymer.Base._pathEffector.call(this._templatized,e,t,n)},_co
     nstructorImpl:function(e,t){this._rootDataHost=t._getRootDataHost(),this._setupC
     onfigure(e),this._registerHost(t),this._beginHosting(),this.root=this.instanceTe
     mplate(this._template),this.root.__noContent=!this._notes._hasContent,this.root.
     __styleScoped=!0,this._endHosting(),this._marshalAnnotatedNodes(),this._marshalI
     nstanceEffects(),this._marshalAnnotatedListeners();for(var n=[],r=this.root.firs
     tChild;r;r=r.nextSibling)n.push(r),r._templateInstance=this;this._children=n,t._
     _hideTemplateChildren__&&this._showHideChildren(!0),this._tryReady()},_listenImp
     l:function(e,t,n){var r=this,s=this._rootDataHost,i=s._createEventHandler(e,t,n)
     ,o=function(e){e.model=r,i(e)};s._listen(e,t,o)},_scopeElementClassImpl:function
     (e,t){var n=this._rootDataHost;return n?n._scopeElementClass(e,t):t},stamp:funct
     ion(e){if(e=e||{},this._parentProps){var t=this._templatized;for(var n in this._
     parentProps)void 0===e[n]&&(e[n]=t[this._parentPropPrefix+n])}return new this.ct
     or(e,this)},modelForElement:function(e){for(var t;e;)if(t=e._templateInstance){i
     f(t.dataHost==this)return t;e=t.dataHost}else e=e.parentNode}},Polymer({is:"dom-
     template",extends:"template",_template:null,behaviors:[Polymer.Templatizer],read
     y:function(){this.templatize(this)}}),Polymer._collections=new WeakMap,Polymer.C
     ollection=function(e){Polymer._collections.set(e,this),this.userArray=e,this.sto
     re=e.slice(),this.initMap()},Polymer.Collection.prototype={constructor:Polymer.C
     ollection,initMap:function(){for(var e=this.omap=new WeakMap,t=this.pmap={},n=th
     is.store,r=0;r<n.length;r++){var s=n[r];s&&"object"==typeof s?e.set(s,r):t[s]=r}
     },add:function(e){var t=this.store.push(e)-1;return e&&"object"==typeof e?this.o
     map.set(e,t):this.pmap[e]=t,"#"+t},removeKey:function(e){(e=this._parseKey(e))&&
     (this._removeFromMap(this.store[e]),delete this.store[e])},_removeFromMap:functi
     on(e){e&&"object"==typeof e?this.omap.delete(e):delete this.pmap[e]},remove:func
     tion(e){var t=this.getKey(e);return this.removeKey(t),t},getKey:function(e){var 
     t;if(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e],void 0!=t)return"#"+t
     },getKeys:function(){return Object.keys(this.store).map(function(e){return"#"+e}
     )},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1)},setItem:function(e,t
     ){if(e=this._parseKey(e)){var n=this.store[e];n&&this._removeFromMap(n),t&&"obje
     ct"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.store[e]=t}},getItem:functi
     on(e){if(e=this._parseKey(e))return this.store[e]},getItems:function(){var e=[],
     t=this.store;for(var n in t)e.push(t[n]);return e},_applySplices:function(e){for
     (var t,n,r={},s=0;s<e.length&&(n=e[s]);s++){n.addedKeys=[];for(var i=0;i<n.remov
     ed.length;i++)t=this.getKey(n.removed[i]),r[t]=r[t]?null:-1;for(i=0;i<n.addedCou
     nt;i++){var o=this.userArray[n.index+i];t=this.getKey(o),t=void 0===t?this.add(o
     ):t,r[t]=r[t]?null:1,n.addedKeys.push(t)}}var a=[],l=[];for(t in r)r[t]<0&&(this
     .removeKey(t),a.push(t)),r[t]>0&&l.push(t);return[{removed:a,added:l}]}},Polymer
     .Collection.get=function(e){return Polymer._collections.get(e)||new Polymer.Coll
     ection(e)},Polymer.Collection.applySplices=function(e,t){var n=Polymer._collecti
     ons.get(e);return n?n._applySplices(t):null},Polymer({is:"dom-repeat",extends:"t
     emplate",_template:null,properties:{items:{type:Array},as:{type:String,value:"it
     em"},indexAs:{type:String,value:"index"},sort:{type:Function,observer:"_sortChan
     ged"},filter:{type:Function,observer:"_filterChanged"},observe:{type:String,obse
     rver:"_observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!0,re
     adOnly:!0},initialCount:{type:Number,observer:"_initializeChunking"},targetFrame
     rate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"_computeFram
     eTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],observers:["_itemsChan
     ged(items.*)"],created:function(){this._instances=[],this._pool=[],this._limit=1
     /0;var e=this;this._boundRenderChunk=function(){e._renderChunk()}},detached:func
     tion(){this.__isDetached=!0;for(var e=0;e<this._instances.length;e++)this._detac
     hInstance(e)},attached:function(){if(this.__isDetached){this.__isDetached=!1;for
     (var e=Polymer.dom(Polymer.dom(this).parentNode),t=0;t<this._instances.length;t+
     +)this._attachInstance(t,e)}},ready:function(){this._instanceProps={__key__:!0},
     this._instanceProps[this.as]=!0,this._instanceProps[this.indexAs]=!0,this.ctor||
     this.templatize(this)},_sortChanged:function(e){var t=this._getRootDataHost();th
     is._sortFn=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}
     ),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_fi
     lterChanged:function(e){var t=this._getRootDataHost();this._filterFn=e&&("functi
     on"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._needFullRefres
     h=!0,this.items&&this._debounceTemplate(this._render)},_computeFrameTime:functio
     n(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.initialCount&&
     (this._limit=this.initialCount,this._chunkCount=this.initialCount,this._lastChun
     kTime=performance.now())},_tryRenderChunk:function(){this.items&&this._limit<thi
     s.items.length&&this.debounce("renderChunk",this._requestRenderChunk)},_requestR
     enderChunk:function(){requestAnimationFrame(this._boundRenderChunk)},_renderChun
     k:function(){var e=performance.now(),t=this._targetFrameTime/(e-this._lastChunkT
     ime);this._chunkCount=Math.round(this._chunkCount*t)||1,this._limit+=this._chunk
     Count,this._lastChunkTime=e,this._debounceTemplate(this._render)},_observeChange
     d:function(){this._observePaths=this.observe&&this.observe.replace(".*",".").spl
     it(" ")},_itemsChanged:function(e){if("items"==e.path)Array.isArray(this.items)?
     this.collection=Polymer.Collection.get(this.items):this.items?this._error(this._
     logf("dom-repeat","expected array for `items`, found",this.items)):this.collecti
     on=null,this._keySplices=[],this._indexSplices=[],this._needFullRefresh=!0,this.
     _initializeChunking(),this._debounceTemplate(this._render);else if("items.splice
     s"==e.path)this._keySplices=this._keySplices.concat(e.value.keySplices),this._in
     dexSplices=this._indexSplices.concat(e.value.indexSplices),this._debounceTemplat
     e(this._render);else{var t=e.path.slice(6);this._forwardItemPath(t,e.value),this
     ._checkObservedPaths(t)}},_checkObservedPaths:function(e){if(this._observePaths)
     {e=e.substring(e.indexOf(".")+1);for(var t=this._observePaths,n=0;n<t.length;n++
     )if(0===e.indexOf(t[n]))return this._needFullRefresh=!0,void(this.delay?this.deb
     ounce("render",this._render,this.delay):this._debounceTemplate(this._render))}},
     render:function(){this._needFullRefresh=!0,this._debounceTemplate(this._render),
     this._flushTemplates()},_render:function(){this._needFullRefresh?(this._applyFul
     lRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this._sortFn?this
     ._applySplicesUserSort(this._keySplices):this._filterFn?this._applyFullRefresh()
     :this._applySplicesArrayOrder(this._indexSplices)),this._keySplices=[],this._ind
     exSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.length-1;t>=0;t--
     ){var n=this._instances[t];n.isPlaceholder&&t<this._limit?n=this._insertInstance
     (t,n.__key__):!n.isPlaceholder&&t>=this._limit&&(n=this._downgradeInstance(t,n._
     _key__)),e[n.__key__]=t,n.isPlaceholder||n.__setProperty(this.indexAs,t,!0)}this
     ._pool.length=0,this._setRenderedItemCount(this._instances.length),this.fire("do
     m-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this.col
     lection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var n=this.items;if(n)for(v
     ar r=0;r<n.length;r++)e.push(t.getKey(n[r]))}var s=this;for(this._filterFn&&(e=e
     .filter(function(e){return s._filterFn(t.getItem(e))})),this._sortFn&&e.sort(fun
     ction(e,n){return s._sortFn(t.getItem(e),t.getItem(n))}),r=0;r<e.length;r++){var
      i=e[r],o=this._instances[r];o?(o.__key__=i,!o.isPlaceholder&&r<this._limit&&o._
     _setProperty(this.as,t.getItem(i),!0)):r<this._limit?this._insertInstance(r,i):t
     his._insertPlaceholder(r,i)}for(var a=this._instances.length-1;a>=r;a--)this._de
     tachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplicesUs
     erSort:function(e){for(var t,n,r=this.collection,s={},i=0;i<e.length&&(n=e[i]);i
     ++){for(var o=0;o<n.removed.length;o++)t=n.removed[o],s[t]=s[t]?null:-1;for(o=0;
     o<n.added.length;o++)t=n.added[o],s[t]=s[t]?null:1}var a=[],l=[];for(t in s)s[t]
     ===-1&&a.push(this._keyToInstIdx[t]),1===s[t]&&l.push(t);if(a.length)for(a.sort(
     this._numericSort),i=a.length-1;i>=0;i--){var h=a[i];void 0!==h&&this._detachAnd
     RemoveInstance(h)}var c=this;if(l.length){this._filterFn&&(l=l.filter(function(e
     ){return c._filterFn(r.getItem(e))})),l.sort(function(e,t){return c._sortFn(r.ge
     tItem(e),r.getItem(t))});var u=0;for(i=0;i<l.length;i++)u=this._insertRowUserSor
     t(u,l[i])}},_insertRowUserSort:function(e,t){for(var n=this.collection,r=n.getIt
     em(t),s=this._instances.length-1,i=-1;e<=s;){var o=e+s>>1,a=this._instances[o]._
     _key__,l=this._sortFn(n.getItem(a),r);if(l<0)e=o+1;else{if(!(l>0)){i=o;break}s=o
     -1}}return i<0&&(i=s+1),this._insertPlaceholder(i,t),i},_applySplicesArrayOrder:
     function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++){for(var r=0;r<t.removed.leng
     th;r++)this._detachAndRemoveInstance(t.index);for(r=0;r<t.addedKeys.length;r++)t
     his._insertPlaceholder(t.index+r,t.addedKeys[r])}},_detachInstance:function(e){v
     ar t=this._instances[e];if(!t.isPlaceholder){for(var n=0;n<t._children.length;n+
     +){var r=t._children[n];Polymer.dom(t.root).appendChild(r)}return t}},_attachIns
     tance:function(e,t){var n=this._instances[e];n.isPlaceholder||t.insertBefore(n.r
     oot,this)},_detachAndRemoveInstance:function(e){var t=this._detachInstance(e);t&
     &this._pool.push(t),this._instances.splice(e,1)},_insertPlaceholder:function(e,t
     ){this._instances.splice(e,0,{isPlaceholder:!0,__key__:t})},_stampInstance:funct
     ion(e,t){var n={__key__:t};return n[this.as]=this.collection.getItem(t),n[this.i
     ndexAs]=e,this.stamp(n)},_insertInstance:function(e,t){var n=this._pool.pop();n?
     (n.__setProperty(this.as,this.collection.getItem(t),!0),n.__setProperty("__key__
     ",t,!0)):n=this._stampInstance(e,t);var r=this._instances[e+1],s=r&&!r.isPlaceho
     lder?r._children[0]:this,i=Polymer.dom(this).parentNode;return Polymer.dom(i).in
     sertBefore(n.root,s),this._instances[e]=n,n},_downgradeInstance:function(e,t){va
     r n=this._detachInstance(e);return n&&this._pool.push(n),n={isPlaceholder:!0,__k
     ey__:t},this._instances[e]=n,n},_showHideChildren:function(e){for(var t=0;t<this
     ._instances.length;t++)this._instances[t]._showHideChildren(e)},_forwardInstance
     Prop:function(e,t,n){if(t==this.as){var r;r=this._sortFn||this._filterFn?this.it
     ems.indexOf(this.collection.getItem(e.__key__)):e[this.indexAs],this.set("items.
     "+r,n)}},_forwardInstancePath:function(e,t,n){0===t.indexOf(this.as+".")&&this._
     notifyPath("items."+e.__key__+"."+t.slice(this.as.length+1),n)},_forwardParentPr
     op:function(e,t){for(var n,r=this._instances,s=0;s<r.length&&(n=r[s]);s++)n.isPl
     aceholder||n.__setProperty(e,t,!0)},_forwardParentPath:function(e,t){for(var n,r
     =this._instances,s=0;s<r.length&&(n=r[s]);s++)n.isPlaceholder||n._notifyPath(e,t
     ,!0)},_forwardItemPath:function(e,t){if(this._keyToInstIdx){var n=e.indexOf(".")
     ,r=e.substring(0,n<0?e.length:n),s=this._keyToInstIdx[r],i=this._instances[s];i&
     &!i.isPlaceholder&&(n>=0?(e=this.as+"."+e.substring(n+1),i._notifyPath(e,t,!0)):
     i.__setProperty(this.as,t,!0))}},itemForElement:function(e){var t=this.modelForE
     lement(e);return t&&t[this.as]},keyForElement:function(e){var t=this.modelForEle
     ment(e);return t&&t.__key__},indexForElement:function(e){var t=this.modelForElem
     ent(e);return t&&t[this.indexAs]}}),Polymer({is:"array-selector",_template:null,
     properties:{items:{type:Array,observer:"clearSelection"},multi:{type:Boolean,val
     ue:!1,observer:"clearSelection"},selected:{type:Object,notify:!0},selectedItem:{
     type:Object,notify:!0},toggle:{type:Boolean,value:!1}},clearSelection:function()
     {if(Array.isArray(this.selected))for(var e=0;e<this.selected.length;e++)this.unl
     inkPaths("selected."+e);else this.unlinkPaths("selected"),this.unlinkPaths("sele
     ctedItem");this.multi?this.selected&&!this.selected.length||(this.selected=[],th
     is._selectedColl=Polymer.Collection.get(this.selected)):(this.selected=null,this
     ._selectedColl=null),this.selectedItem=null},isSelected:function(e){return this.
     multi?void 0!==this._selectedColl.getKey(e):this.selected==e},deselect:function(
     e){if(this.multi){if(this.isSelected(e)){var t=this._selectedColl.getKey(e);this
     .arrayDelete("selected",e),this.unlinkPaths("selected."+t)}}else this.selected=n
     ull,this.selectedItem=null,this.unlinkPaths("selected"),this.unlinkPaths("select
     edItem")},select:function(e){var t=Polymer.Collection.get(this.items),n=t.getKey
     (e);if(this.multi)if(this.isSelected(e))this.toggle&&this.deselect(e);else{this.
     push("selected",e);var r=this._selectedColl.getKey(e);this.linkPaths("selected."
     +r,"items."+n)}else this.toggle&&e==this.selected?this.deselect():(this.selected
     =e,this.selectedItem=e,this.linkPaths("selected","items."+n),this.linkPaths("sel
     ectedItem","items."+n))}}),Polymer({is:"dom-if",extends:"template",_template:nul
     l,properties:{if:{type:Boolean,value:!1,observer:"_queueRender"},restamp:{type:B
     oolean,value:!1,observer:"_queueRender"}},behaviors:[Polymer.Templatizer],_queue
     Render:function(){this._debounceTemplate(this._render)},detached:function(){this
     .parentNode&&(this.parentNode.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Polymer.Set
     tings.hasShadow&&this.parentNode instanceof ShadowRoot)||this._teardownInstance(
     )},attached:function(){this.if&&this.ctor&&this.async(this._ensureInstance)},ren
     der:function(){this._flushTemplates()},_render:function(){this.if?(this.ctor||th
     is.templatize(this),this._ensureInstance(),this._showHideChildren()):this.restam
     p&&this._teardownInstance(),!this.restamp&&this._instance&&this._showHideChildre
     n(),this.if!=this._lastIf&&(this.fire("dom-change"),this._lastIf=this.if)},_ensu
     reInstance:function(){var e=Polymer.dom(this).parentNode;if(e){var t=Polymer.dom
     (e);if(this._instance){var n=this._instance._children;if(n&&n.length){var r=Poly
     mer.dom(this).previousSibling;if(r!==n[n.length-1])for(var s,i=0;i<n.length&&(s=
     n[i]);i++)t.insertBefore(s,this)}}else{this._instance=this.stamp();var o=this._i
     nstance.root;t.insertBefore(o,this)}}},_teardownInstance:function(){if(this._ins
     tance){var e=this._instance._children;if(e&&e.length)for(var t,n=Polymer.dom(Pol
     ymer.dom(e[0]).parentNode),r=0;r<e.length&&(t=e[r]);r++)n.removeChild(t);this._i
     nstance=null}},_showHideChildren:function(){var e=this.__hideTemplateChildren__|
     |!this.if;this._instance&&this._instance._showHideChildren(e)},_forwardParentPro
     p:function(e,t){this._instance&&this._instance.__setProperty(e,t,!0)},_forwardPa
     rentPath:function(e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Pol
     ymer({is:"dom-bind",extends:"template",_template:null,created:function(){var e=t
     his;Polymer.RenderStatus.whenReady(function(){"loading"==document.readyState?doc
     ument.addEventListener("DOMContentLoaded",function(){e._markImportsReady()}):e._
     markImportsReady()})},_ensureReady:function(){this._readied||this._readySelf()},
     _markImportsReady:function(){this._importsReady=!0,this._ensureReady()},_registe
     rFeatures:function(){this._prepConstructor()},_insertChildren:function(){var e=P
     olymer.dom(Polymer.dom(this).parentNode);e.insertBefore(this.root,this)},_remove
     Children:function(){if(this._children)for(var e=0;e<this._children.length;e++)th
     is.root.appendChild(this._children[e])},_initFeatures:function(){},_scopeElement
     Class:function(e,t){return this.dataHost?this.dataHost._scopeElementClass(e,t):t
     },_configureInstanceProperties:function(){},_prepConfigure:function(){var e={};f
     or(var t in this._propertyEffects)e[t]=this[t];var n=this._setupConfigure;this._
     setupConfigure=function(){n.call(this,e)}},attached:function(){this._importsRead
     y&&this.render()},detached:function(){this._removeChildren()},render:function(){
     this._ensureReady(),this._children||(this._template=this,this._prepAnnotations()
     ,this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._prepBindi
     ngs(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this._child
     ren=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren(),this.
     fire("dom-change")}})</script> <script>window.SwarmingBehaviors=window.SwarmingB
     ehaviors||{},function(){SwarmingBehaviors.CommonBehavior={_botLink:function(n){i
     f(n)return"/newui/bot?id="+n},_botListLink:function(n,t){n=n||[],t=t||[];var e=[
     ];n.forEach(function(n){e.push(n.key+":"+n.value)});var i={f:e,c:t};return"/newu
     i/botlist?"+sk.query.fromParamSet(i)},_getJsonAsync:function(n,t,e,i,o){if(!n||!
     t||!e)return void console.log("Need at least a polymer element to bind to, a bus
     y element, and a url");this.set(e,!0);var s=new Date;this._jsonAsync=this._jsonA
     sync||{},this._jsonAsync[n]=s,o&&(t=t+"?"+sk.query.fromParamSet(o)),sk.request("
     GET",t,"",i).then(JSON.parse).then(function(t){return this._jsonAsync[n]!==s?(co
     nsole.log("ignoring result because a second request happened."),void this.set(e,
     !1)):(this.set(n,t),void this.set(e,!1))}.bind(this)).catch(function(i){return c
     onsole.log("Reason for failure of request to "+t,i),this._jsonAsync[n]!==s?(cons
     ole.log("ignoring failure because a second request happened."),void this.set(e,!
     1)):(this.set(n,!1),void this.set(e,!1))}.bind(this))},_humanDuration:function(n
     ){return sk.human.strDuration(n)||"0s"},_not:function(n){return!n},_or:function(
     ){for(var n=!1,t=0;t<arguments.length;t++)n=n||arguments[t];return n},_taskLink:
     function(n,t){if(n)return t||(n=n.substring(0,n.length-1)+"0"),"/newui/task?id="
     +n},_timeDiffApprox:function(n){return n?sk.human.diffDate(n.getTime()):"eons"},
     _timeDiffExact:function(n,t){return n?(t||(t=new Date),this._humanDuration((t.ge
     tTime()-n.getTime())/1e3)):"eons"},_truthy:function(n){return!!n}}}()</script> <
     script>Polymer.AppLayout=Polymer.AppLayout||{},Polymer.AppLayout._scrollEffects=
     Polymer.AppLayout._scrollEffects||{},Polymer.AppLayout.scrollTimingFunction=func
     tion(o,l,e,r){return o/=r,-e*o*(o-2)+l},Polymer.AppLayout.registerEffect=functio
     n(o,l){if(null!=Polymer.AppLayout._scrollEffects[o])throw new Error("effect `"+o
     +"` is already registered.");Polymer.AppLayout._scrollEffects[o]=l},Polymer.AppL
     ayout.scroll=function(o){o=o||{};var l=document.documentElement,e=o.target||l,r=
     "scrollBehavior"in e.style&&e.scroll,t="app-layout-silent-scroll",s=o.top||0,c=o
     .left||0,i=e===l?window.scrollTo:function(o,l){e.scrollLeft=o,e.scrollTop=l};if(
     "smooth"===o.behavior)if(r)e.scroll(o);else{var n=Polymer.AppLayout.scrollTiming
     Function,a=Date.now(),p=e===l?window.pageYOffset:e.scrollTop,u=e===l?window.page
     XOffset:e.scrollLeft,y=s-p,f=c-u,m=300,L=function o(){var l=Date.now(),e=l-a;e<m
     ?(i(n(e,u,f,m),n(e,p,y,m)),requestAnimationFrame(o)):i(c,s)}.bind(this);L()}else
     "silent"===o.behavior?(l.classList.add(t),clearInterval(Polymer.AppLayout._scrol
     lTimer),Polymer.AppLayout._scrollTimer=setTimeout(function(){l.classList.remove(
     t),Polymer.AppLayout._scrollTimer=null},100),i(c,s)):i(c,s)}</script> <style>[hi
     dden]{display:none!important}</style> <style is="custom-style">:root{--layout:{d
     isplay:-ms-flexbox;display:-webkit-flex;display:flex};--layout-inline:{display:-
     ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex};--layout-hori
     zontal:{@apply(--layout);-ms-flex-direction:row;-webkit-flex-direction:row;flex-
     direction:row};--layout-horizontal-reverse:{@apply(--layout);-ms-flex-direction:
     row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse};--lay
     out-vertical:{@apply(--layout);-ms-flex-direction:column;-webkit-flex-direction:
     column;flex-direction:column};--layout-vertical-reverse:{@apply(--layout);-ms-fl
     ex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction
     :column-reverse};--layout-wrap:{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-w
     rap:wrap};--layout-wrap-reverse:{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wr
     ap-reverse;flex-wrap:wrap-reverse};--layout-flex-auto:{-ms-flex:1 1 auto;-webkit
     -flex:1 1 auto;flex:1 1 auto};--layout-flex-none:{-ms-flex:none;-webkit-flex:non
     e;flex:none};--layout-flex:{-ms-flex:1 1 0px;-webkit-flex:1;flex:1;-webkit-flex-
     basis:0px;flex-basis:0px};--layout-flex-2:{-ms-flex:2;-webkit-flex:2;flex:2};--l
     ayout-flex-3:{-ms-flex:3;-webkit-flex:3;flex:3};--layout-flex-4:{-ms-flex:4;-web
     kit-flex:4;flex:4};--layout-flex-5:{-ms-flex:5;-webkit-flex:5;flex:5};--layout-f
     lex-6:{-ms-flex:6;-webkit-flex:6;flex:6};--layout-flex-7:{-ms-flex:7;-webkit-fle
     x:7;flex:7};--layout-flex-8:{-ms-flex:8;-webkit-flex:8;flex:8};--layout-flex-9:{
     -ms-flex:9;-webkit-flex:9;flex:9};--layout-flex-10:{-ms-flex:10;-webkit-flex:10;
     flex:10};--layout-flex-11:{-ms-flex:11;-webkit-flex:11;flex:11};--layout-flex-12
     :{-ms-flex:12;-webkit-flex:12;flex:12};--layout-start:{-ms-flex-align:start;-web
     kit-align-items:flex-start;align-items:flex-start};--layout-center:{-ms-flex-ali
     gn:center;-webkit-align-items:center;align-items:center};--layout-end:{-ms-flex-
     align:end;-webkit-align-items:flex-end;align-items:flex-end};--layout-baseline:{
     -ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline};--lay
     out-start-justified:{-ms-flex-pack:start;-webkit-justify-content:flex-start;just
     ify-content:flex-start};--layout-center-justified:{-ms-flex-pack:center;-webkit-
     justify-content:center;justify-content:center};--layout-end-justified:{-ms-flex-
     pack:end;-webkit-justify-content:flex-end;justify-content:flex-end};--layout-aro
     und-justified:{-ms-flex-pack:distribute;-webkit-justify-content:space-around;jus
     tify-content:space-around};--layout-justified:{-ms-flex-pack:justify;-webkit-jus
     tify-content:space-between;justify-content:space-between};--layout-center-center
     :{@apply(--layout-center);@apply(--layout-center-justified)};--layout-self-start
     :{-ms-align-self:flex-start;-webkit-align-self:flex-start;align-self:flex-start}
     ;--layout-self-center:{-ms-align-self:center;-webkit-align-self:center;align-sel
     f:center};--layout-self-end:{-ms-align-self:flex-end;-webkit-align-self:flex-end
     ;align-self:flex-end};--layout-self-stretch:{-ms-align-self:stretch;-webkit-alig
     n-self:stretch;align-self:stretch};--layout-self-baseline:{-ms-align-self:baseli
     ne;-webkit-align-self:baseline;align-self:baseline};--layout-start-aligned:{-ms-
     flex-line-pack:start;-ms-align-content:flex-start;-webkit-align-content:flex-sta
     rt;align-content:flex-start};--layout-end-aligned:{-ms-flex-line-pack:end;-ms-al
     ign-content:flex-end;-webkit-align-content:flex-end;align-content:flex-end};--la
     yout-center-aligned:{-ms-flex-line-pack:center;-ms-align-content:center;-webkit-
     align-content:center;align-content:center};--layout-between-aligned:{-ms-flex-li
     ne-pack:justify;-ms-align-content:space-between;-webkit-align-content:space-betw
     een;align-content:space-between};--layout-around-aligned:{-ms-flex-line-pack:dis
     tribute;-ms-align-content:space-around;-webkit-align-content:space-around;align-
     content:space-around};--layout-block:{display:block};--layout-invisible:{visibil
     ity:hidden!important};--layout-relative:{position:relative};--layout-fit:{positi
     on:absolute;top:0;right:0;bottom:0;left:0};--layout-scroll:{-webkit-overflow-scr
     olling:touch;overflow:auto};--layout-fullbleed:{margin:0;height:100vh};--layout-
     fixed-top:{position:fixed;top:0;left:0;right:0};--layout-fixed-right:{position:f
     ixed;top:0;right:0;bottom:0};--layout-fixed-bottom:{position:fixed;right:0;botto
     m:0;left:0};--layout-fixed-left:{position:fixed;top:0;bottom:0;left:0};}</style>
      <dom-module id="app-drawer" assetpath="/res/imp/bower_components/app-layout/app
     -drawer/"> <template> <style>:host{position:fixed;top:-120px;right:0;bottom:-120
     px;left:0;visibility:hidden;transition-property:visibility}:host([opened]){visib
     ility:visible}:host([persistent]){width:var(--app-drawer-width,256px)}:host([per
     sistent][position=left]){right:auto}:host([persistent][position=right]){left:aut
     o}#contentContainer{position:absolute;top:0;bottom:0;left:0;width:var(--app-draw
     er-width,256px);padding:120px 0;transition-property:-webkit-transform;transition
     -property:transform;-webkit-transform:translate3d(-100%,0,0);transform:translate
     3d(-100%,0,0);background-color:#FFF;@apply(--app-drawer-content-container)}:host
     ([position=right])>#contentContainer{right:0;left:auto;-webkit-transform:transla
     te3d(100%,0,0);transform:translate3d(100%,0,0)}:host([swipe-open])>#contentConta
     iner::after{position:fixed;top:0;bottom:0;left:100%;visibility:visible;width:20p
     x;content:''}:host([swipe-open][position=right])>#contentContainer::after{right:
     100%;left:auto}:host([opened])>#contentContainer{-webkit-transform:translate3d(0
     ,0,0);transform:translate3d(0,0,0)}#scrim{position:absolute;top:0;right:0;bottom
     :0;left:0;transition-property:opacity;-webkit-transform:translateZ(0);transform:
     translateZ(0);opacity:0;background:var(--app-drawer-scrim-background,rgba(0,0,0,
     .5))}:host([opened])>#scrim{opacity:1}:host([opened][persistent])>#scrim{visibil
     ity:hidden;opacity:0}</style> <div id="scrim" on-tap="close"></div> <div id="con
     tentContainer"> <content></content> </div> </template> <script>Polymer({is:"app-
     drawer",properties:{opened:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!
     0},persistent:{type:Boolean,value:!1,reflectToAttribute:!0},transitionDuration:{
     type:Number,value:200},align:{type:String,value:"left"},position:{type:String,re
     adOnly:!0,reflectToAttribute:!0},swipeOpen:{type:Boolean,value:!1,reflectToAttri
     bute:!0},noFocusTrap:{type:Boolean,value:!1}},observers:["resetLayout(position, 
     isAttached)","_resetPosition(align, isAttached)","_styleTransitionDuration(trans
     itionDuration)","_openedPersistentChanged(opened, persistent)"],_translateOffset
     :0,_trackDetails:null,_drawerState:0,_boundEscKeydownHandler:null,_firstTabStop:
     null,_lastTabStop:null,attached:function(){this._styleTransitionDuration(0),Poly
     mer.RenderStatus.afterNextRender(this,function(){this._styleTransitionDuration(t
     his.transitionDuration),this._boundEscKeydownHandler=this._escKeydownHandler.bin
     d(this),this._resetDrawerState(),this.$.scrim.addEventListener("transitionend",t
     his._transitionend.bind(this)),this.$.contentContainer.addEventListener("transit
     ionend",this._transitionend.bind(this)),this.addEventListener("keydown",this._ta
     bKeydownHandler.bind(this)),this.listen(this,"track","_track"),this.setScrollDir
     ection("y")}),this.fire("app-drawer-attached")},detached:function(){document.rem
     oveEventListener("keydown",this._boundEscKeydownHandler)},open:function(){this.o
     pened=!0},close:function(){this.opened=!1},toggle:function(){this.opened=!this.o
     pened},getWidth:function(){return this.$.contentContainer.offsetWidth},resetLayo
     ut:function(){this.fire("app-drawer-reset-layout")},_isRTL:function(){return"rtl
     "===window.getComputedStyle(this).direction},_resetPosition:function(){switch(th
     is.align){case"start":return void this._setPosition(this._isRTL()?"right":"left"
     );case"end":return void this._setPosition(this._isRTL()?"left":"right")}this._se
     tPosition(this.align)},_escKeydownHandler:function(t){var i=27;t.keyCode===i&&(t
     .preventDefault(),this.close())},_track:function(t){if(!this.persistent)switch(t
     .preventDefault(),t.detail.state){case"start":this._trackStart(t);break;case"tra
     ck":this._trackMove(t);break;case"end":this._trackEnd(t)}},_trackStart:function(
     t){this._drawerState=this._DRAWER_STATE.TRACKING,this._styleTransitionDuration(0
     ),this.style.visibility="visible";var i=this.$.contentContainer.getBoundingClien
     tRect();"left"===this.position?this._translateOffset=i.left:this._translateOffse
     t=i.right-window.innerWidth,this._trackDetails=[]},_trackMove:function(t){this._
     translateDrawer(t.detail.dx+this._translateOffset),this._trackDetails.push({dx:t
     .detail.dx,timeStamp:Date.now()})},_trackEnd:function(t){var i=t.detail.dx+this.
     _translateOffset,e=this.getWidth(),n="left"===this.position,s=n?i>=0||i<=-e:i<=0
     ||i>=e;if(!s){var a=this._trackDetails;if(this._trackDetails=null,this._flingDra
     wer(t,a),this._drawerState===this._DRAWER_STATE.FLINGING)return}var r=e/2;t.deta
     il.dx<-r?this.opened="right"===this.position:t.detail.dx>r&&(this.opened="left"=
     ==this.position),s&&this._resetDrawerState(),this._styleTransitionDuration(this.
     transitionDuration),this._resetDrawerTranslate(),this.style.visibility=""},_calc
     ulateVelocity:function(t,i){for(var e,n=Date.now(),s=n-100,a=0,r=i.length-1;a<=r
     ;){var o=a+r>>1,h=i[o];h.timeStamp>=s?(e=h,r=o-1):a=o+1}if(e){var l=t.detail.dx-
     e.dx,d=n-e.timeStamp||1;return l/d}return 0},_flingDrawer:function(t,i){var e=th
     is._calculateVelocity(t,i);if(!(Math.abs(e)<this._MIN_FLING_THRESHOLD)){this._dr
     awerState=this._DRAWER_STATE.FLINGING;var n,s=t.detail.dx+this._translateOffset,
     a=this.getWidth(),r="left"===this.position,o=e>0,h=!o&&r,l=o&&!r;n=h?-(s+a):l?a-
     s:-s,o?(e=Math.max(e,this._MIN_TRANSITION_VELOCITY),this.opened="left"===this.po
     sition):(e=Math.min(e,-this._MIN_TRANSITION_VELOCITY),this.opened="right"===this
     .position),this._styleTransitionDuration(this._FLING_INITIAL_SLOPE*n/e),this._st
     yleTransitionTimingFunction(this._FLING_TIMING_FUNCTION),this._resetDrawerTransl
     ate()}},_transitionend:function(){this._drawerState===this._DRAWER_STATE.FLINGIN
     G&&(this._styleTransitionDuration(this.transitionDuration),this._styleTransition
     TimingFunction(""),this.style.visibility=""),this._resetDrawerState()},_styleTra
     nsitionDuration:function(t){this.style.transitionDuration=t+"ms",this.$.contentC
     ontainer.style.transitionDuration=t+"ms",this.$.scrim.style.transitionDuration=t
     +"ms"},_styleTransitionTimingFunction:function(t){this.$.contentContainer.style.
     transitionTimingFunction=t,this.$.scrim.style.transitionTimingFunction=t},_trans
     lateDrawer:function(t){var i=this.getWidth();"left"===this.position?(t=Math.max(
     -i,Math.min(t,0)),this.$.scrim.style.opacity=1+t/i):(t=Math.max(0,Math.min(t,i))
     ,this.$.scrim.style.opacity=1-t/i),this.translate3d(t+"px","0","0",this.$.conten
     tContainer)},_resetDrawerTranslate:function(){this.$.scrim.style.opacity="",this
     .transform("",this.$.contentContainer)},_resetDrawerState:function(){var t=this.
     _drawerState;this.opened?this._drawerState=this.persistent?this._DRAWER_STATE.OP
     ENED_PERSISTENT:this._DRAWER_STATE.OPENED:this._drawerState=this._DRAWER_STATE.C
     LOSED,t!==this._drawerState&&(this._drawerState===this._DRAWER_STATE.OPENED?(thi
     s._setKeyboardFocusTrap(),document.addEventListener("keydown",this._boundEscKeyd
     ownHandler),document.body.style.overflow="hidden"):(document.removeEventListener
     ("keydown",this._boundEscKeydownHandler),document.body.style.overflow=""),t!==th
     is._DRAWER_STATE.INIT&&this.fire("app-drawer-transitioned"))},_setKeyboardFocusT
     rap:function(){if(!this.noFocusTrap){var t=['a[href]:not([tabindex="-1"])','area
     [href]:not([tabindex="-1"])','input:not([disabled]):not([tabindex="-1"])','selec
     t:not([disabled]):not([tabindex="-1"])','textarea:not([disabled]):not([tabindex=
     "-1"])','button:not([disabled]):not([tabindex="-1"])','iframe:not([tabindex="-1"
     ])','[tabindex]:not([tabindex="-1"])','[contentEditable=true]:not([tabindex="-1"
     ])'].join(","),i=Polymer.dom(this).querySelectorAll(t);i.length>0?(this._firstTa
     bStop=i[0],this._lastTabStop=i[i.length-1]):(this._firstTabStop=null,this._lastT
     abStop=null);var e=this.getAttribute("tabindex");e&&parseInt(e,10)>-1?this.focus
     ():this._firstTabStop&&this._firstTabStop.focus()}},_tabKeydownHandler:function(
     t){if(!this.noFocusTrap){var i=9;this._drawerState===this._DRAWER_STATE.OPENED&&
     t.keyCode===i&&(t.shiftKey?this._firstTabStop&&Polymer.dom(t).localTarget===this
     ._firstTabStop&&(t.preventDefault(),this._lastTabStop.focus()):this._lastTabStop
     &&Polymer.dom(t).localTarget===this._lastTabStop&&(t.preventDefault(),this._firs
     tTabStop.focus()))}},_openedPersistentChanged:function(){0===this.transitionDura
     tion&&this._resetDrawerState()},_MIN_FLING_THRESHOLD:.2,_MIN_TRANSITION_VELOCITY
     :1.2,_FLING_TIMING_FUNCTION:"cubic-bezier(0.667, 1, 0.667, 1)",_FLING_INITIAL_SL
     OPE:1.5,_DRAWER_STATE:{INIT:0,OPENED:1,OPENED_PERSISTENT:2,CLOSED:3,TRACKING:4,F
     LINGING:5}})</script> </dom-module> <script>Polymer({is:"iron-media-query",prope
     rties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify:!0},query:{type:St
     ring,observer:"queryChanged"},full:{type:Boolean,value:!1},_boundMQHandler:{valu
     e:function(){return this.queryHandler.bind(this)}},_mq:{value:null}},attached:fu
     nction(){this.style.display="none",this.queryChanged()},detached:function(){this
     ._remove()},_add:function(){this._mq&&this._mq.addListener(this._boundMQHandler)
     },_remove:function(){this._mq&&this._mq.removeListener(this._boundMQHandler),thi
     s._mq=null},queryChanged:function(){this._remove();var e=this.query;e&&(this.ful
     l||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),this._add(),this.quer
     yHandler(this._mq))},queryHandler:function(e){this._setQueryMatches(e.matches)}}
     )</script> <script>Polymer.IronResizableBehavior={properties:{_parentResizable:{
     type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boole
     an,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResi
     zeNotifications"},created:function(){this._interestedResizables=[],this._boundNo
     tifyResize=this.notifyResize.bind(this)},attached:function(){this.fire("iron-req
     uest-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._pare
     ntResizable||(window.addEventListener("resize",this._boundNotifyResize),this.not
     ifyResize())},detached:function(){this._parentResizable?this._parentResizable.st
     opResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNo
     tifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&
     &(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&th
     is._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:functi
     on(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var i=this
     ._interestedResizables.indexOf(e);i>-1&&(this._interestedResizables.splice(i,1),
     this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:f
     unction(e){return!0},_onDescendantIronResize:function(e){return this._notifyingD
     escendant?void e.stopPropagation():void(Polymer.Settings.useShadow||this._fireRe
     size())},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:
     !1})},_onIronRequestResizeNotifications:function(e){var i=e.path?e.path[0]:e.tar
     get;i!==this&&(this._interestedResizables.indexOf(i)===-1&&(this._interestedResi
     zables.push(i),this.listen(i,"iron-resize","_onDescendantIronResize")),i.assignP
     arentResizable(this),this._notifyDescendant(i),e.stopPropagation())},_parentResi
     zableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotif
     yResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescend
     ant=!0,e.notifyResize(),this._notifyingDescendant=!1)}}</script> <dom-module id=
     "app-drawer-layout" assetpath="/res/imp/bower_components/app-layout/app-drawer-l
     ayout/"> <template> <style>:host{display:block}:host([fullbleed]){@apply(--layou
     t-fit)}#contentContainer{position:relative;height:100%;transition:var(--app-draw
     er-layout-content-transition,none)}#contentContainer:not(.narrow)>::content [dra
     wer-toggle]{display:none}</style> <div id="contentContainer"> <content select=":
     not(app-drawer)"></content> </div> <content id="drawerContent" select="app-drawe
     r"></content> <iron-media-query query="[[_computeMediaQuery(forceNarrow, respons
     iveWidth)]]" on-query-matches-changed="_onQueryMatchesChanged"></iron-media-quer
     y> </template> <script>Polymer({is:"app-drawer-layout",behaviors:[Polymer.IronRe
     sizableBehavior],properties:{forceNarrow:{type:Boolean,value:!1},responsiveWidth
     :{type:String,value:"640px"},narrow:{type:Boolean,readOnly:!0,notify:!0},openedW
     henNarrow:{type:Boolean,value:!1}},listeners:{tap:"_tapHandler","app-drawer-atta
     ched":"_resetDrawerState","app-drawer-reset-layout":"resetLayout","iron-resize":
     "resetLayout"},observers:["resetLayout(narrow, isAttached)","_narrowChanged(narr
     ow, isAttached)"],get drawer(){return Polymer.dom(this.$.drawerContent).getDistr
     ibutedNodes()[0]},_tapHandler:function(e){var t=Polymer.dom(e).localTarget;if(t&
     &t.hasAttribute("drawer-toggle")){var r=this.drawer;r&&!r.persistent&&r.toggle()
     }},resetLayout:function(){this.debounce("_resetLayout",function(){var e=this.dra
     wer,t=this.$.contentContainer;if(this.narrow||!e)t.style.marginLeft="",t.style.m
     arginRight="";else{var r=e.getWidth();"right"==e.position?(t.style.marginLeft=""
     ,t.style.marginRight=r+"px"):(t.style.marginLeft=r+"px",t.style.marginRight="")}
     })},_resetDrawerState:function(){this.debounce("_resetDrawerState",function(){va
     r e=this.drawer;e&&(this.narrow?(e.opened=this.openedWhenNarrow,e.persistent=!1)
     :e.opened=e.persistent=!0)})},_narrowChanged:function(e){this.toggleClass("narro
     w",e,this.$.contentContainer),this._resetDrawerState(),this.notifyResize()},_onQ
     ueryMatchesChanged:function(e){this._setNarrow(e.detail.value)},_computeMediaQue
     ry:function(e,t){return e?"(min-width: 0px)":"(max-width: "+t+")"}})</script> </
     dom-module> <dom-module id="app-grid-style" assetpath="/res/imp/bower_components
     /app-layout/app-grid/"> <template> <style>:host{--app-grid-expandible-item:{-web
     kit-flex-basis:calc((100% - .1px)/ var(--app-grid-columns,1) * var(--app-grid-ex
     pandible-item-columns,1) - var(--app-grid-gutter,0px))!important;flex-basis:calc
     ((100% - .1px)/ var(--app-grid-columns,1) * var(--app-grid-expandible-item-colum
     ns,1) - var(--app-grid-gutter,0px))!important;max-width:calc((100% - .1px)/ var(
     --app-grid-columns,1) * var(--app-grid-expandible-item-columns,1) - var(--app-gr
     id-gutter,0px))!important};}.app-grid{display:-ms-flexbox;display:-webkit-flex;d
     isplay:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row
     ;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding-top:var(--app-
     grid-gutter,0);padding-left:var(--app-grid-gutter,0);box-sizing:border-box}.app-
     grid>*{-ms-flex:1 1 100%;-webkit-flex:1;flex:1;-webkit-flex-basis:calc((100% - .
     1px - (var(--app-grid-gutter,0px) * var(--app-grid-columns,1)))/ var(--app-grid-
     columns,1));flex-basis:calc((100% - .1px - (var(--app-grid-gutter,0px) * var(--a
     pp-grid-columns,1)))/ var(--app-grid-columns,1));max-width:calc((100% - .1px - (
     var(--app-grid-gutter,0px) * var(--app-grid-columns,1)))/ var(--app-grid-columns
     ,1));margin-bottom:var(--app-grid-gutter,0);margin-right:var(--app-grid-gutter,0
     );height:var(--app-grid-item-height);box-sizing:border-box}.app-grid[has-aspect-
     ratio]>*{position:relative}.app-grid[has-aspect-ratio]>::before{display:block;co
     ntent:"";padding-top:var(--app-grid-item-height,100%)}.app-grid[has-aspect-ratio
     ]>*>*{position:absolute;top:0;right:0;bottom:0;left:0}</style> </template> </dom
     -module> <script>Polymer.IronScrollTargetBehavior={properties:{scrollTarget:{typ
     e:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_
     scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTa
     rgetChanged:function(t,l){this._oldScrollTarget&&(this._toggleScrollListener(!1,
     this._oldScrollTarget),this._oldScrollTarget=null),l&&("document"===t?this.scrol
     lTarget=this._doc:"string"==typeof t?this.scrollTarget=this.domHost?this.domHost
     .$[t]:Polymer.dom(this.ownerDocument).querySelector("#"+t):this._isValidScrollTa
     rget()&&(this._boundScrollHandler=this._boundScrollHandler||this._scrollHandler.
     bind(this),this._oldScrollTarget=t,this._toggleScrollListener(this._shouldHaveLi
     stener,t)))},_scrollHandler:function(){},get _defaultScrollTarget(){return this.
     _doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){ret
     urn this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset
     :this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarg
     et()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLe
     ft:0},set _scrollTop(t){this.scrollTarget===this._doc?window.scrollTo(window.pag
     eXOffset,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=t)},set _s
     crollLeft(t){this.scrollTarget===this._doc?window.scrollTo(t,window.pageYOffset)
     :this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=t)},scroll:function(
     t,l){this.scrollTarget===this._doc?window.scrollTo(t,l):this._isValidScrollTarge
     t()&&(this.scrollTarget.scrollLeft=t,this.scrollTarget.scrollTop=l)},get _scroll
     TargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?w
     indow.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){retu
     rn this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:
     this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.sc
     rollTarget instanceof HTMLElement},_toggleScrollListener:function(t,l){if(this._
     boundScrollHandler){var e=l===this._doc?window:l;t?e.addEventListener("scroll",t
     his._boundScrollHandler):e.removeEventListener("scroll",this._boundScrollHandler
     )}},toggleScrollListener:function(t){this._shouldHaveListener=t,this._toggleScro
     llListener(t,this.scrollTarget)}}</script> <script>Polymer.AppScrollEffectsBehav
     ior=[Polymer.IronScrollTargetBehavior,{properties:{effects:{type:String},effects
     Config:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectTo
     Attribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:
     Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChange
     d(effects, effectsConfig, isAttached)"],_updateScrollState:function(){},isOnScre
     en:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_
     effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},detache
     d:function(){this._tearDownEffects()},createEffect:function(t,e){var f=Polymer.A
     ppLayout._scrollEffects[t];if(!f)throw new ReferenceError(this._getUndefinedMsg(
     t));var n=this._boundEffect(f,e||{});return n.setUp(),n},_effectsChanged:functio
     n(t,e,f){this._tearDownEffects(),""!==t&&f&&(t.split(" ").forEach(function(t){va
     r f;""!==t&&((f=Polymer.AppLayout._scrollEffects[t])?this._effects.push(this._bo
     undEffect(f,e[t])):this._warn(this._logf("_effectsChanged",this._getUndefinedMsg
     (t))))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offset
     Width},_boundEffect:function(t,e){e=e||{};var f=parseFloat(e.startsAt||0),n=pars
     eFloat(e.endsAt||1),s=n-f,i=function(){},r=0===f&&1===n?t.run:function(e,n){t.ru
     n.call(this,Math.max(0,(e-f)/s),n)};return{setUp:t.setUp?t.setUp.bind(this,e):i,
     run:t.run?r.bind(this):i,tearDown:t.tearDown?t.tearDown.bind(this):i}},_setUpEff
     ect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effe
     cts.forEach(function(t){t.setUp()!==!1&&this._effectsRunFn.push(t.run)},this))},
     _tearDownEffects:function(){this._effects&&this._effects.forEach(function(t){t.t
     earDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(t,e){th
     is._effectsRunFn&&this._effectsRunFn.forEach(function(f){f(t,e)})},_scrollHandle
     r:function(){if(!this.disabled){var t=this._clampedScrollTop;this._updateScrollS
     tate(t),this.threshold>0&&this._setThresholdTriggered(t>=this.threshold)}},_getD
     OMRef:function(t){this._warn(this._logf("_getDOMRef","`"+t+"` is undefined"))},_
     getUndefinedMsg:function(t){return"Scroll effect `"+t+"` is undefined. Did you f
     orget to import app-layout/app-scroll-effects/effects/"+t+".html ?"}}]</script> 
     <dom-module id="app-header" assetpath="/res/imp/bower_components/app-layout/app-
     header/"> <template> <style>:host{position:relative;display:block;transition-tim
     ing-function:linear;transition-property:-webkit-transform;transition-property:tr
     ansform}:host::after{position:absolute;right:0;bottom:-5px;left:0;width:100%;hei
     ght:5px;content:"";transition:opacity .4s;pointer-events:none;opacity:0;box-shad
     ow:inset 0 5px 6px -3px rgba(0,0,0,.4);will-change:opacity;@apply(--app-header-s
     hadow)}:host([shadow])::after{opacity:1}::content [condensed-title],::content [m
     ain-title]{-webkit-transform-origin:left top;transform-origin:left top;white-spa
     ce:nowrap}::content [condensed-title]{opacity:0}#background{@apply(--layout-fit)
     ;overflow:hidden}#backgroundFrontLayer,#backgroundRearLayer{@apply(--layout-fit)
     ;height:100%;pointer-events:none;background-size:cover}#backgroundFrontLayer{@ap
     ply(--app-header-background-front-layer)}#backgroundRearLayer{opacity:0;@apply(-
     -app-header-background-rear-layer)}#contentContainer{position:relative;width:100
     %;height:100%}:host([disabled]),:host([disabled]) #backgroundFrontLayer,:host([d
     isabled]) #backgroundRearLayer,:host([disabled]) ::content>[sticky],:host([disab
     led]) ::content>app-toolbar:first-of-type,:host([disabled])::after,:host-context
     (.app-layout-silent-scroll),:host-context(.app-layout-silent-scroll) #background
     FrontLayer,:host-context(.app-layout-silent-scroll) #backgroundRearLayer,:host-c
     ontext(.app-layout-silent-scroll) ::content>[sticky],:host-context(.app-layout-s
     ilent-scroll) ::content>app-toolbar:first-of-type,:host-context(.app-layout-sile
     nt-scroll)::after{transition:none!important}</style> <div id="contentContainer">
      <content id="content"></content> </div> </template> <script>Polymer({is:"app-he
     ader",behaviors:[Polymer.AppScrollEffectsBehavior,Polymer.IronResizableBehavior]
     ,properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},rev
     eals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1
     }},observers:["resetLayout(isAttached, condenses, fixed)"],listeners:{"iron-resi
     ze":"_resizeHandler"},_height:0,_dHeight:0,_stickyElTop:0,_stickyEl:null,_top:0,
     _progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestam
     p:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._h
     eight+5},_getStickyEl:function(){for(var t,e=Polymer.dom(this.$.content).getDist
     ributedNodes(),i=0;i<e.length;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var s=e[
     i];if(s.hasAttribute("sticky")){t=s;break}t||(t=s)}return t},resetLayout:functio
     n(){this.fire("app-header-reset-layout"),this.debounce("_resetLayout",function()
     {if(0!==this.offsetWidth||0!==this.offsetHeight){var t=this._clampedScrollTop,e=
     0===this._height||0===t,i=this.disabled;this._height=this.offsetHeight,this._sti
     ckyEl=this._getStickyEl(),this.disabled=!0,e||this._updateScrollState(0,!0),this
     ._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeigh
     t:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,
     this._setUpEffect(),e?this._updateScrollState(t,!0):(this._updateScrollState(thi
     s._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=i}})},_updateScrollSta
     te:function(t,e){if(0!==this._height){var i=0,s=0,o=this._top,r=(this._lastScrol
     lTop,this._maxHeaderTop),h=t-this._lastScrollTop,n=Math.abs(h),a=t>this._lastScr
     ollTop,l=Date.now();if(this._mayMove()&&(s=this._clamp(this.reveals?o+h:t,0,r)),
     t>=this._dHeight&&(s=this.condenses&&!this.fixed?Math.max(this._dHeight,s):s,thi
     s.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&n<100&&((l-this.
     _initTimestamp>300||this._wasScrollingDown!==a)&&(this._initScrollTop=t,this._in
     itTimestamp=l),t>=r))if(Math.abs(this._initScrollTop-t)>30||n>10){a&&t>=r?s=r:!a
     &&t>=this._dHeight&&(s=this.condenses&&!this.fixed?this._dHeight:0);var _=h/(l-t
     his._lastTimestamp);this.style.transitionDuration=this._clamp((s-o)/_,0,300)+"ms
     "}else s=this._top;i=0===this._dHeight?t>0?1:0:s/this._dHeight,e||(this._lastScr
     ollTop=t,this._top=s,this._wasScrollingDown=a,this._lastTimestamp=l),(e||i!==thi
     s._progress||o!==s||0===t)&&(this._progress=i,this._runEffects(i,s),this._transf
     ormHeader(s))}},_mayMove:function(){return this.condenses||!this.fixed},willCond
     ense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){re
     turn 0!==this._height&&this._top<this._height},isContentBelow:function(){return 
     0===this._top?this._clampedScrollTop>0:this._clampedScrollTop-this._maxHeaderTop
     >=0},_transformHeader:function(t){this.translate3d(0,-t+"px",0),this._stickyEl&&
     this.condenses&&t>=this._stickyElTop&&this.translate3d(0,Math.min(t,this._dHeigh
     t)-this._stickyElTop+"px",0,this._stickyEl)},_resizeHandler:function(){this.rese
     tLayout()},_clamp:function(t,e,i){return Math.min(i,Math.max(e,t))},_ensureBgCon
     tainers:function(){this._bgContainer||(this._bgContainer=document.createElement(
     "div"),this._bgContainer.id="background",this._bgRear=document.createElement("di
     v"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bg
     Rear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFr
     ontLayer",this._bgContainer.appendChild(this._bgFront),Polymer.dom(this.root).in
     sertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(t){s
     witch(t){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFr
     ont;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;cas
     e"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle
     ":return Polymer.dom(this).querySelector("[main-title]");case"condensedTitle":re
     turn Polymer.dom(this).querySelector("[condensed-title]")}return null},getScroll
     State:function(){return{progress:this._progress,top:this._top}}})</script> </dom
     -module> <dom-module id="app-header-layout" assetpath="/res/imp/bower_components
     /app-layout/app-header-layout/"> <template> <style>:host{display:block;position:
     relative;z-index:0}:host>::content>app-header{@apply(--layout-fixed-top);z-index
     :1}:host([has-scrolling-region]){height:100%}:host([has-scrolling-region])>::con
     tent>app-header{position:absolute}:host([has-scrolling-region])>#contentContaine
     r{@apply(--layout-fit);overflow-y:auto;-webkit-overflow-scrolling:touch}:host([f
     ullbleed]){@apply(--layout-vertical);@apply(--layout-fit)}:host([fullbleed])>#co
     ntentContainer{@apply(--layout-vertical);@apply(--layout-flex)}#contentContainer
     {position:relative;z-index:0}</style> <content id="header" select="app-header"><
     /content> <div id="contentContainer"> <content></content> </div> </template> <sc
     ript>Polymer({is:"app-header-layout",behaviors:[Polymer.IronResizableBehavior],p
     roperties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},lis
     teners:{"iron-resize":"_resizeHandler","app-header-reset-layout":"resetLayout"},
     observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Po
     lymer.dom(this.$.header).getDistributedNodes()[0]},resetLayout:function(){this._
     updateScroller(),this.debounce("_resetLayout",this._updateContentPosition)},_upd
     ateContentPosition:function(){var e=this.header;if(this.isAttached&&e){var t=e.o
     ffsetHeight;if(this.hasScrollingRegion)e.style.left="",e.style.right="";else{var
      i=this.getBoundingClientRect(),o=document.documentElement.clientWidth-i.right;e
     .style.left=i.left+"px",e.style.right=o+"px"}var n=this.$.contentContainer.style
     ;e.fixed&&!e.willCondense()&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddi
     ngTop=""):(n.paddingTop=t+"px",n.marginTop="")}},_updateScroller:function(){if(t
     his.isAttached){var e=this.header;e&&(e.scrollTarget=this.hasScrollingRegion?thi
     s.$.contentContainer:this.ownerDocument.documentElement)}},_resizeHandler:functi
     on(){this.resetLayout()}})</script> </dom-module> <dom-module id="app-scrollpos-
     control" assetpath="/res/imp/bower_components/app-layout/app-scrollpos-control/"
     > <script>Polymer({is:"app-scrollpos-control",behaviors:[Polymer.IronScrollTarge
     tBehavior],properties:{selected:{type:String,observer:"_selectedChanged"},reset:
     {type:Boolean,value:!1}},observers:["_updateScrollPos(selected, reset)"],created
     :function(){this._scrollposMap={}},_selectedChanged:function(e,s){null!=s&&(this
     ._scrollposMap[s]={x:this._scrollLeft,y:this._scrollTop})},_updateScrollPos:func
     tion(e,s){this.debounce("_updateScrollPos",function(){var e=this._scrollposMap[t
     his.selected];null==e||this.reset?this.scroll(0,0):this.scroll(e.x,e.y)})}})</sc
     ript> </dom-module> <dom-module id="app-toolbar" assetpath="/res/imp/bower_compo
     nents/app-layout/app-toolbar/"> <template> <style>:host{@apply(--layout-horizont
     al);@apply(--layout-center);position:relative;height:64px;padding:0 16px;pointer
     -events:none;font-size:var(--app-toolbar-font-size,20px)}::content>*{pointer-eve
     nts:auto}::content>paper-icon-button{font-size:0}::content>[condensed-title],::c
     ontent>[main-title]{pointer-events:none;@apply(--layout-flex)}::content>[bottom-
     item]{position:absolute;right:0;bottom:0;left:0}::content>[top-item]{position:ab
     solute;top:0;right:0;left:0}::content>[spacer]{margin-left:64px}</style> <conten
     t></content> </template> <script>Polymer({is:"app-toolbar"})</script> </dom-modu
     le> <dom-module id="app-box" assetpath="/res/imp/bower_components/app-layout/app
     -box/"> <template> <style>:host{position:relative;display:block}#background{@app
     ly(--layout-fit);overflow:hidden;height:100%}#backgroundFrontLayer{min-height:10
     0%;pointer-events:none;background-size:cover;@apply(--app-box-background-front-l
     ayer)}#contentContainer{position:relative;width:100%;height:100%}:host([disabled
     ]),:host([disabled]) #backgroundFrontLayer{transition:none!important}</style> <d
     iv id="background"> <div id="backgroundFrontLayer"> <content select="[background
     ]"></content> </div> </div> <div id="contentContainer"> <content id="content"></
     content> </div> </template> <script>Polymer({is:"app-box",behaviors:[Polymer.App
     ScrollEffectsBehavior,Polymer.IronResizableBehavior],listeners:{"iron-resize":"_
     resizeHandler"},_progress:0,attached:function(){this.resetLayout()},resetLayout:
     function(){this.debounce("_resetLayout",function(){if(0!==this.offsetWidth||0!==
     this.offsetHeight){var e=this._clampedScrollTop,t=this.disabled;this.disabled=!0
     ,this._elementTop=this._getElementTop(),this._elementHeight=this.offsetHeight,th
     is._cachedScrollTargetHeight=this._scrollTargetHeight,this._setUpEffect(),this._
     updateScrollState(e),this.disabled=t}},1)},_getElementTop:function(){for(var e=t
     his,t=0;e&&e!==this.scrollTarget;)t+=e.offsetTop,e=e.offsetParent;return t},_upd
     ateScrollState:function(e){if(this.isOnScreen()){var t=this._elementTop-e;this._
     progress=1-(t+this._elementHeight)/this._cachedScrollTargetHeight,this._runEffec
     ts(this._progress,e)}},isOnScreen:function(){return this._elementTop<this._scrol
     lTop+this._cachedScrollTargetHeight&&this._elementTop+this._elementHeight>this._
     scrollTop},_resizeHandler:function(){this.resetLayout()},_getDOMRef:function(e){
     return"background"===e?this.$.background:"backgroundFrontLayer"===e?this.$.backg
     roundFrontLayer:void 0},getScrollState:function(){return{progress:this._progress
     }}})</script> </dom-module> <dom-module id="iron-flex" assetpath="/res/imp/bower
     _components/iron-flex-layout/"> <template> <style>.layout.horizontal,.layout.ver
     tical{display:-ms-flexbox;display:-webkit-flex;display:flex}.layout.inline{displ
     ay:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.layout.ho
     rizontal{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.l
     ayout.vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-dire
     ction:column}.layout.wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wr
     ap}.layout.center,.layout.center-center{-ms-flex-align:center;-webkit-align-item
     s:center;align-items:center}.layout.center-center,.layout.center-justified{-ms-f
     lex-pack:center;-webkit-justify-content:center;justify-content:center}.flex{-ms-
     flex:1 1 0px;-webkit-flex:1;flex:1;-webkit-flex-basis:0px;flex-basis:0px}.flex-a
     uto{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-none{-ms-flex:no
     ne;-webkit-flex:none;flex:none}</style> </template> </dom-module> <dom-module id
     ="iron-flex-reverse" assetpath="/res/imp/bower_components/iron-flex-layout/"> <t
     emplate> <style>.layout.horizontal-reverse,.layout.vertical-reverse{display:-ms-
     flexbox;display:-webkit-flex;display:flex}.layout.horizontal-reverse{-ms-flex-di
     rection:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-revers
     e}.layout.vertical-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direct
     ion:column-reverse;flex-direction:column-reverse}.layout.wrap-reverse{-ms-flex-w
     rap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}</style> 
     </template> </dom-module> <dom-module id="iron-flex-alignment" assetpath="/res/i
     mp/bower_components/iron-flex-layout/"> <template> <style>.layout.start{-ms-flex
     -align:start;-webkit-align-items:flex-start;align-items:flex-start}.layout.cente
     r,.layout.center-center{-ms-flex-align:center;-webkit-align-items:center;align-i
     tems:center}.layout.end{-ms-flex-align:end;-webkit-align-items:flex-end;align-it
     ems:flex-end}.layout.baseline{-ms-flex-align:baseline;-webkit-align-items:baseli
     ne;align-items:baseline}.layout.start-justified{-ms-flex-pack:start;-webkit-just
     ify-content:flex-start;justify-content:flex-start}.layout.center-center,.layout.
     center-justified{-ms-flex-pack:center;-webkit-justify-content:center;justify-con
     tent:center}.layout.end-justified{-ms-flex-pack:end;-webkit-justify-content:flex
     -end;justify-content:flex-end}.layout.around-justified{-ms-flex-pack:distribute;
     -webkit-justify-content:space-around;justify-content:space-around}.layout.justif
     ied{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:
     space-between}.self-start{-ms-align-self:flex-start;-webkit-align-self:flex-star
     t;align-self:flex-start}.self-center{-ms-align-self:center;-webkit-align-self:ce
     nter;align-self:center}.self-end{-ms-align-self:flex-end;-webkit-align-self:flex
     -end;align-self:flex-end}.self-stretch{-ms-align-self:stretch;-webkit-align-self
     :stretch;align-self:stretch}.self-baseline{-ms-align-self:baseline;-webkit-align
     -self:baseline;align-self:baseline}; .layout.start-aligned{-ms-flex-line-pack:st
     art;-ms-align-content:flex-start;-webkit-align-content:flex-start;align-content:
     flex-start}.layout.end-aligned{-ms-flex-line-pack:end;-ms-align-content:flex-end
     ;-webkit-align-content:flex-end;align-content:flex-end}.layout.center-aligned{-m
     s-flex-line-pack:center;-ms-align-content:center;-webkit-align-content:center;al
     ign-content:center}.layout.between-aligned{-ms-flex-line-pack:justify;-ms-align-
     content:space-between;-webkit-align-content:space-between;align-content:space-be
     tween}.layout.around-aligned{-ms-flex-line-pack:distribute;-ms-align-content:spa
     ce-around;-webkit-align-content:space-around;align-content:space-around}</style>
      </template> </dom-module> <dom-module id="iron-flex-factors" assetpath="/res/im
     p/bower_components/iron-flex-layout/"> <template> <style>.flex,.flex-1{-ms-flex:
     1 1 0px;-webkit-flex:1;flex:1;-webkit-flex-basis:0px;flex-basis:0px}.flex-2{-ms-
     flex:2;-webkit-flex:2;flex:2}.flex-3{-ms-flex:3;-webkit-flex:3;flex:3}.flex-4{-m
     s-flex:4;-webkit-flex:4;flex:4}.flex-5{-ms-flex:5;-webkit-flex:5;flex:5}.flex-6{
     -ms-flex:6;-webkit-flex:6;flex:6}.flex-7{-ms-flex:7;-webkit-flex:7;flex:7}.flex-
     8{-ms-flex:8;-webkit-flex:8;flex:8}.flex-9{-ms-flex:9;-webkit-flex:9;flex:9}.fle
     x-10{-ms-flex:10;-webkit-flex:10;flex:10}.flex-11{-ms-flex:11;-webkit-flex:11;fl
     ex:11}.flex-12{-ms-flex:12;-webkit-flex:12;flex:12}</style> </template> </dom-mo
     dule> <dom-module id="iron-positioning" assetpath="/res/imp/bower_components/iro
     n-flex-layout/"> <template> <style>.block{display:block}[hidden]{display:none!im
     portant}.invisible{visibility:hidden!important}.relative{position:relative}.fit{
     position:absolute;top:0;right:0;bottom:0;left:0}body.fullbleed{margin:0;height:1
     00vh}.scroll{-webkit-overflow-scrolling:touch;overflow:auto}.fixed-bottom,.fixed
     -left,.fixed-right,.fixed-top{position:fixed}.fixed-top{top:0;left:0;right:0}.fi
     xed-right{top:0;right:0;bottom:0}.fixed-bottom{right:0;bottom:0;left:0}.fixed-le
     ft{top:0;bottom:0;left:0}</style> </template> </dom-module> <script>!function(){
     var e={},t={},i=null;Polymer.IronMeta=Polymer({is:"iron-meta",properties:{type:{
     type:String,value:"default",observer:"_typeChanged"},key:{type:String,observer:"
     _keyChanged"},value:{type:Object,notify:!0,observer:"_valueChanged"},self:{type:
     Boolean,observer:"_selfChanged"},list:{type:Array,notify:!0}},hostAttributes:{hi
     dden:!0},factoryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"k
     ey":case"value":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaAr
     rays=t},_keyChanged:function(e,t){this._resetRegistration(t)},_valueChanged:func
     tion(e){this._resetRegistration(this.key)},_selfChanged:function(e){e&&(this.val
     ue=this)},_typeChanged:function(i){this._unregisterKey(this.key),e[i]||(e[i]={})
     ,this._metaData=e[i],t[i]||(t[i]=[]),this.list=t[i],this._registerKeyValue(this.
     key,this.value)},byKey:function(e){return this._metaData&&this._metaData[e]},_re
     setRegistration:function(e){this._unregisterKey(e),this._registerKeyValue(this.k
     ey,this.value)},_unregisterKey:function(e){this._unregister(e,this._metaData,thi
     s.list)},_registerKeyValue:function(e,t){this._register(e,t,this._metaData,this.
     list)},_register:function(e,t,i,a){e&&i&&void 0!==t&&(i[e]=t,a.push(t))},_unregi
     ster:function(e,t,i){if(e&&t&&e in t){var a=t[e];delete t[e],this.arrayDelete(i,
     a)}}}),Polymer.IronMeta.getIronMeta=function(){return null===i&&(i=new Polymer.I
     ronMeta),i},Polymer.IronMetaQuery=Polymer({is:"iron-meta-query",properties:{type
     :{type:String,value:"default",observer:"_typeChanged"},key:{type:String,observer
     :"_keyChanged"},value:{type:Object,notify:!0,readOnly:!0},list:{type:Array,notif
     y:!0}},factoryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key
     ":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyCh
     anged:function(e){this._setValue(this._metaData&&this._metaData[e])},_typeChange
     d:function(i){this._metaData=e[i],this.list=t[i],this.key&&this._keyChanged(this
     .key)},byKey:function(e){return this._metaData&&this._metaData[e]}})}()</script>
      <dom-module id="iron-icon" assetpath="/res/imp/bower_components/iron-icon/"> <t
     emplate> <style>:host{@apply(--layout-inline);@apply(--layout-center-center);pos
     ition:relative;vertical-align:middle;fill:var(--iron-icon-fill-color,currentcolo
     r);stroke:var(--iron-icon-stroke-color,none);width:var(--iron-icon-width,24px);h
     eight:var(--iron-icon-height,24px);@apply(--iron-icon)}</style> </template> <scr
     ipt>Polymer({is:"iron-icon",properties:{icon:{type:String,observer:"_iconChanged
     "},theme:{type:String,observer:"_updateIcon"},src:{type:String,observer:"_srcCha
     nged"},_meta:{value:Polymer.Base.create("iron-meta",{type:"iconset"}),observer:"
     _updateIcon"}},_DEFAULT_ICONSET:"icons",_iconChanged:function(i){var t=(i||"").s
     plit(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSE
     T,this._updateIcon()},_srcChanged:function(i){this._updateIcon()},_usesIconset:f
     unction(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset(
     )?(this._img&&this._img.parentNode&&Polymer.dom(this.root).removeChild(this._img
     ),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconse
     tName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._icon
     set?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(windo
     w,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","
     _updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this.
     _img=document.createElement("img"),this._img.style.width="100%",this._img.style.
     height="100%",this._img.draggable=!1),this._img.src=this.src,Polymer.dom(this.ro
     ot).appendChild(this._img))}})</script> </dom-module> <script>Polymer({is:"iron-
     iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:N
     umber,value:24}},attached:function(){this.style.display="none"},getIconNames:fun
     ction(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(fu
     nction(e){return this.name+":"+e},this)},applyIcon:function(e,t){e=e.root||e,thi
     s.removeIcon(e);var n=this._cloneIcon(t);if(n){var o=Polymer.dom(e);return o.ins
     ertBefore(n,o.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e.
     _svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_nameChanged
     :function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this
     .async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createI
     conMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelect
     orAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e){return t
     his._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[
     e],this.size)},_prepareSvgClone:function(e,t){if(e){var n=e.cloneNode(!0),o=docu
     ment.createElementNS("http://www.w3.org/2000/svg","svg"),i=n.getAttribute("viewB
     ox")||"0 0 "+t+" "+t;return o.setAttribute("viewBox",i),o.setAttribute("preserve
     AspectRatio","xMidYMid meet"),o.style.cssText="pointer-events: none; display: bl
     ock; width: 100%; height: 100%;",o.appendChild(n).removeAttribute("id"),o}return
      null}})</script> <iron-iconset-svg name="icons" size="24"> <svg><defs> <g id="3
     d-rotation"><path d="M7.52 21.48C4.25 19.94 1.91 16.76 1.55 13H.05C.56 19.16 5.7
     1 24 12 24l.66-.03-3.81-3.81-1.33 1.32zm.89-6.52c-.19 0-.37-.03-.52-.08-.16-.06-
     .29-.13-.4-.24-.11-.1-.2-.22-.26-.37-.06-.14-.09-.3-.09-.47h-1.3c0 .36.07.68.21.
     95.14.27.33.5.56.69.24.18.51.32.82.41.3.1.62.15.96.15.37 0 .72-.05 1.03-.15.32-.
     1.6-.25.83-.44s.42-.43.55-.72c.13-.29.2-.61.2-.97 0-.19-.02-.38-.07-.56-.05-.18-
     .12-.35-.23-.51-.1-.16-.24-.3-.4-.43-.17-.13-.37-.23-.61-.31.2-.09.37-.2.52-.33.
     15-.13.27-.27.37-.42.1-.15.17-.3.22-.46.05-.16.07-.32.07-.48 0-.36-.06-.68-.18-.
     96-.12-.28-.29-.51-.51-.69-.2-.19-.47-.33-.77-.43C9.1 8.05 8.76 8 8.39 8c-.36 0-
     .69.05-1 .16-.3.11-.57.26-.79.45-.21.19-.38.41-.51.67-.12.26-.18.54-.18.85h1.3c0
     -.17.03-.32.09-.45s.14-.25.25-.34c.11-.09.23-.17.38-.22.15-.05.3-.08.48-.08.4 0 
     .7.1.89.31.19.2.29.49.29.86 0 .18-.03.34-.08.49-.05.15-.14.27-.25.37-.11.1-.25.1
     8-.41.24-.16.06-.36.09-.58.09H7.5v1.03h.77c.22 0 .42.02.6.07s.33.13.45.23c.12.11
     .22.24.29.4.07.16.1.35.1.57 0 .41-.12.72-.35.93-.23.23-.55.33-.95.33zm8.55-5.92c
     -.32-.33-.7-.59-1.14-.77-.43-.18-.92-.27-1.46-.27H12v8h2.3c.55 0 1.06-.09 1.51-.
     27.45-.18.84-.43 1.16-.76.32-.33.57-.73.74-1.19.17-.47.26-.99.26-1.57v-.4c0-.58-
     .09-1.1-.26-1.57-.18-.47-.43-.87-.75-1.2zm-.39 3.16c0 .42-.05.79-.14 1.13-.1.33-
     .24.62-.43.85-.19.23-.43.41-.71.53-.29.12-.62.18-.99.18h-.91V9.12h.97c.72 0 1.27
     .23 1.64.69.38.46.57 1.12.57 1.99v.4zM12 0l-.66.03 3.81 3.81 1.33-1.33c3.27 1.55
      5.61 4.72 5.96 8.48h1.5C23.44 4.84 18.29 0 12 0z"></path></g> <g id="accessibil
     ity"><path d="M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm9 7h-6v13h-2v-6h
     -2v6H9V9H3V7h18v2z"></path></g> <g id="accessible"><circle cx="12" cy="4" r="2">
     </circle><path d="M19 13v-2c-1.54.02-3.09-.75-4.07-1.83l-1.29-1.43c-.17-.19-.38-
     .34-.61-.45-.01 0-.01-.01-.02-.01H13c-.35-.2-.75-.3-1.19-.26C10.76 7.11 10 8.04 
     10 9.09V15c0 1.1.9 2 2 2h5v5h2v-5.5c0-1.1-.9-2-2-2h-3v-3.45c1.29 1.07 3.25 1.94 
     5 1.95zm-6.17 5c-.41 1.16-1.52 2-2.83 2-1.66 0-3-1.34-3-3 0-1.31.84-2.41 2-2.83V
     12.1c-2.28.46-4 2.48-4 4.9 0 2.76 2.24 5 5 5 2.42 0 4.44-1.72 4.9-4h-2.07z"></pa
     th></g> <g id="account-balance"><path d="M4 10v7h3v-7H4zm6 0v7h3v-7h-3zM2 22h19v
     -3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></path></g> <g id="account-b
     alance-wallet"><path d="M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 
     2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm
     4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"></
     path></g> <g id="account-box"><path d="M3 5v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V
     5c0-1.1-.9-2-2-2H5c-1.11 0-2 .9-2 2zm12 4c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3
     -3 3 1.34 3 3zm-9 8c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1H6v-1z"></path></g> <g id="acco
     unt-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 
     2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4
     .71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22
     -6 3.22z"></path></g> <g id="add"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z">
     </path></g> <g id="add-alert"><path d="M10.01 21.01c0 1.1.89 1.99 1.99 1.99s1.99
     -.89 1.99-1.99h-3.98zm8.87-4.19V11c0-3.25-2.25-5.97-5.29-6.69v-.72C13.59 2.71 12
     .88 2 12 2s-1.59.71-1.59 1.59v.72C7.37 5.03 5.12 7.75 5.12 11v5.82L3 18.94V20h18
     v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z"></path></g> <g id="
     add-box"><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5
     c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"></path></g> <g id="add-circ
     le"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm
     5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"></path></g> <g id="add-circle-outline"><path 
     d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4
     .48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8
     z"></path></g> <g id="add-shopping-cart"><path d="M11 9h2V6h3V4h-3V1h-2v3H8v2h3v
     3zm-4 9c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1
     .99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2zm-9.83-3.25l.03-.12.9-1.63h7.45c.75 0 1.41-
     .41 1.75-1.03l3.86-7.01L19.42 4h-.01l-1.1 2-2.76 5H8.53l-.13-.27L6.16 6l-.95-2-.
     94-2H1v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.1
     3 0-.25-.11-.25-.25z"></path></g> <g id="alarm"><path d="M22 5.72l-4.6-3.86-1.29
      1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11
     v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 
     9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"></pa
     th></g> <g id="alarm-add"><path d="M7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.8
     5zM22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM12 4c-4.97 0-9 4.03-9 9s4.02 9 
     9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7
     -3.13 7-7 7zm1-11h-2v3H8v2h3v3h2v-3h3v-2h-3V9z"></path></g> <g id="alarm-off"><p
     ath d="M12 6c3.87 0 7 3.13 7 7 0 .84-.16 1.65-.43 2.4l1.52 1.52c.58-1.19.91-2.51
     .91-3.92 0-4.97-4.03-9-9-9-1.41 0-2.73.33-3.92.91L9.6 6.43C10.35 6.16 11.16 6 12
      6zm10-.28l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM2.92 2.29L1.65 3.57 2.98 4.9l-1
     .11.93 1.42 1.42 1.11-.94.8.8C3.83 8.69 3 10.75 3 13c0 4.97 4.02 9 9 9 2.25 0 4.
     31-.83 5.89-2.2l2.2 2.2 1.27-1.27L3.89 3.27l-.97-.98zm13.55 16.1C15.26 19.39 13.
     7 20 12 20c-3.87 0-7-3.13-7-7 0-1.7.61-3.26 1.61-4.47l9.86 9.86zM8.02 3.28L6.6 1
     .86l-.86.71 1.42 1.42.86-.71z"></path></g> <g id="alarm-on"><path d="M22 5.72l-4
     .6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.8
     5zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 
     0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-1.46-5.47L8.41 12.4l-1.06 1.06 3
     .18 3.18 6-6-1.06-1.06-4.93 4.95z"></path></g> <g id="all-out"><path d="M16.21 4
     .16l4 4v-4zm4 12l-4 4h4zm-12 4l-4-4v4zm-4-12l4-4h-4zm12.95-.95c-2.73-2.73-7.17-2
     .73-9.9 0s-2.73 7.17 0 9.9 7.17 2.73 9.9 0 2.73-7.16 0-9.9zm-1.1 8.8c-2.13 2.13-
     5.57 2.13-7.7 0s-2.13-5.57 0-7.7 5.57-2.13 7.7 0 2.13 5.57 0 7.7z"></path></g> <
     g id="android"><path d="M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 
     1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v1
     0zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17.33 5 16.5v-7C5 8.67 4.3
     3 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-7c
     0-.83-.67-1.5-1.5-1.5zm-4.97-5.84l1.3-1.3c.2-.2.2-.51 0-.71-.2-.2-.51-.2-.71 0l-
     1.48 1.48C13.85 1.23 12.95 1 12 1c-.96 0-1.86.23-2.66.63L7.85.15c-.2-.2-.51-.2-.
     71 0-.2.2-.2.51 0 .71l1.31 1.31C6.97 3.26 6 5.01 6 7h12c0-1.99-.97-3.75-2.47-4.8
     4zM10 5H9V4h1v1zm5 0h-1V4h1v1z"></path></g> <g id="announcement"><path d="M20 2H
     4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 9h-2V5h2v
     6zm0 4h-2v-2h2v2z"></path></g> <g id="apps"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v
     4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6
     h4v-4h-4v4zm0 6h4v-4h-4v4z"></path></g> <g id="archive"><path d="M20.54 5.23l-1.
     39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.
     02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5L
     6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z"></path></g> <g id="ar
     row-back"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"
     ></path></g> <g id="arrow-downward"><path d="M20 12l-1.41-1.41L13 16.17V4h-2v12.
     17l-5.58-5.59L4 12l8 8 8-8z"></path></g> <g id="arrow-drop-down"><path d="M7 10l
     5 5 5-5z"></path></g> <g id="arrow-drop-down-circle"><path d="M12 2C6.48 2 2 6.4
     8 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 12l-4-4h8l-4 4z"></path></g> 
     <g id="arrow-drop-up"><path d="M7 14l5-5 5 5z"></path></g> <g id="arrow-forward"
     ><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"></path></g>
      <g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12
     l-8-8-8 8z"></path></g> <g id="aspect-ratio"><path d="M19 12h-2v3h-3v2h5v-5zM7 9
     h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-
     .9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g> <g id="assessment"><path d="M19 
     3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v
     -7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"></path></g> <g id="assignment"><path d="M
     19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1
     .9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.
     45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"></path></g> <g id
     ="assignment-ind"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 
     2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.5
     5 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-
     3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z"></path></g> 
     <g id="assignment-late"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84
     -2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-
     6 15h-2v-2h2v2zm0-4h-2V8h2v6zm-1-9c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 
     1z"></path></g> <g id="assignment-return"><path d="M19 3h-4.18C14.4 1.84 13.3 1 
     12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5
     c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm4 12h-4v3l
     -5-5 5-5v3h4v4z"></path></g> <g id="assignment-returned"><path d="M19 3h-4.18C14
     .4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1
     .1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 
     1-1zm0 15l-5-5h3V9h4v4h3l-5 5z"></path></g> <g id="assignment-turned-in"><path d
     ="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 
     1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-
     1-.45-1-1 .45-1 1-1zm-2 14l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"></path>
     </g> <g id="attachment"><path d="M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 
     4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0
      1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5
     C4.46 18 2 15.54 2 12.5z"></path></g> <g id="autorenew"><path d="M12 6v3l4-4-4-4
     v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 
     0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-
     4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"></path></g> <g id="back
     space"><path d="M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.8
     9h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.5
     9 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z"></path></
     g> <g id="backup"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 
     5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2
     .05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path></g> <g id="block"><path
      d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.
     42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.
     85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z"><
     /path></g> <g id="book"><path d="M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1
      0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z"></path></g> <g id="bookm
     ark"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"></pat
     h></g> <g id="bookmark-border"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 
     3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z"></path></g> <g id="bug-report"><
     path d="M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.9
     6 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26
      7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1
     .04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h
     -2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"></path></g> <g i
     d="build"><path d="M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 
     9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0
     l2.3-2.3c.5-.4.5-1.1.1-1.4z"></path></g> <g id="cached"><path d="M19 8l-4 4h3c0 
     3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42
      0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.0
     3 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z"></path></g> <g id="camera-e
     nhance"><path d="M9 3L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-
     2V7c0-1.1-.9-2-2-2h-3.17L15 3H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2
     .24 5-5 5zm0-1l1.25-2.75L16 13l-2.75-1.25L12 9l-1.25 2.75L8 13l2.75 1.25z"></pat
     h></g> <g id="cancel"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10
     -10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41
      7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"></path></g> <g id="card-giftcard
     "><path d="M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-1.05 0-1.96.54-2.5 
     1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-
     1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-
     2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45
      1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 11 8.7
     6l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z"></path></g> <g id="card-members
     hip"><path d="M20 2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h4v5l4-2 4 2v-5h4c1.11
      0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 13H4v-2h16v2zm0-5H4V4h16v6z"></path></g> <g i
     d="card-travel"><path d="M20 6h-3V4c0-1.11-.89-2-2-2H9c-1.11 0-2 .89-2 2v2H4c-1.
     11 0-2 .89-2 2v11c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zM9 4h6v
     2H9V4zm11 15H4v-2h16v2zm0-5H4V8h3v2h2V8h6v2h2V8h3v6z"></path></g> <g id="change-
     history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 4z"></path></g>
      <g id="check"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"></pat
     h></g> <g id="check-box"><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c
     1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l
     -9 9z"></path></g> <g id="check-box-outline-blank"><path d="M19 5v14H5V5h14m0-2H
     5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"></path><
     /g> <g id="check-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48
      10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path>
     </g> <g id="chevron-left"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z
     "></path></g> <g id="chevron-right"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59
     L10 18l6-6z"></path></g> <g id="chrome-reader-mode"><path d="M13 12h7v1.5h-7zm0-
     2.5h7V11h-7zm0 5h7V16h-7zM21 4H3c-1.1 0-2 .9-2 2v13c0 1.1.9 2 2 2h18c1.1 0 2-.9 
     2-2V6c0-1.1-.9-2-2-2zm0 15h-9V6h9v13z"></path></g> <g id="class"><path d="M18 2H
     6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-
     2.5-1.5L6 12V4z"></path></g> <g id="clear"><path d="M19 6.41L17.59 5 12 10.59 6.
     41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></pat
     h></g> <g id="close"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5
      17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></g> <g id="cloud"><
     path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36
      0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z
     "></path></g> <g id="cloud-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 
     10 10-4.48 10-10S17.52 2 12 2zm4.5 14H8c-1.66 0-3-1.34-3-3s1.34-3 3-3l.14.01C8.5
     8 8.28 10.13 7 12 7c2.21 0 4 1.79 4 4h.5c1.38 0 2.5 1.12 2.5 2.5S17.88 16 16.5 1
     6z"></path></g> <g id="cloud-done"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4
      9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-
     2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM10 17l-3.5-3.5 1.41-1.41L10 14.17 15.18 9l1
     .41 1.41L10 17z"></path></g> <g id="cloud-download"><path d="M19.35 10.04C18.67 
     6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6
      6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z"
     ></path></g> <g id="cloud-off"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.
     48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5
     v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.6
     8 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.
     31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4
     s1.79-4 4-4h1.73z"></path></g> <g id="cloud-queue"><path d="M19.35 10.04C18.67 6
     .59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 
     6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4s
     1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34
      3 3s-1.34 3-3 3z"></path></g> <g id="cloud-upload"><path d="M19.35 10.04C18.67 
     6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6
      6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3
     z"></path></g> <g id="code"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1
     .4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></g> <g id="compare-arro
     ws"><path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.
     99 4z"></path></g> <g id="content-copy"><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h
     12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z
     m0 16H8V7h11v14z"></path></g> <g id="content-cut"><path d="M9.64 7.64c.23-.5.36-
     1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 
     12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0
     -.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2
      .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28
      0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z"></path></
     g> <g id="content-paste"><path d="M19 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-
     2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7
      0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"></pa
     th></g> <g id="copyright"><path d="M10.08 10.86c.05-.33.16-.62.3-.87s.34-.46.59-
     .62c.24-.15.54-.22.91-.23.23.01.44.05.63.13.2.09.38.21.52.36s.25.33.34.53.13.42.
     14.64h1.79c-.02-.47-.11-.9-.28-1.29s-.4-.73-.7-1.01-.66-.5-1.08-.66-.88-.23-1.39
     -.23c-.65 0-1.22.11-1.7.34s-.88.53-1.2.92-.56.84-.71 1.36S8 11.29 8 11.87v.27c0 
     .58.08 1.12.23 1.64s.39.97.71 1.35.72.69 1.2.91 1.05.34 1.7.34c.47 0 .91-.08 1.3
     2-.23s.77-.36 1.08-.63.56-.58.74-.94.29-.74.3-1.15h-1.79c-.01.21-.06.4-.15.58s-.
     21.33-.36.46-.32.23-.52.3c-.19.07-.39.09-.6.1-.36-.01-.66-.08-.89-.23-.25-.16-.4
     5-.37-.59-.62s-.25-.55-.3-.88-.08-.67-.08-1v-.27c0-.35.03-.68.08-1.01zM12 2C6.48
      2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8
     s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="create"><path d="M3 17.25
     V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-
     2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path></g> <g id
     ="create-new-folder"><path d="M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11
     .89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h
     3v2z"></path></g> <g id="credit-card"><path d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 
     18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H
     4V6h16v2z"></path></g> <g id="dashboard"><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm
     10 0h8V11h-8v10zm0-18v6h8V3h-8z"></path></g> <g id="date-range"><path d="M9 11H7
     v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.
     99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"></
     path></g> <g id="delete"><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM1
     9 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"></path></g> <g id="description"><path d="M14 2H
     6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-
     2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"></path></g> <g id="dns"><path d="M20 1
     3H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zM7 1
     9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM20 3H4c-.55 0-1 .45-1 1v6c0 .55.45
      1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM7 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2
      2-.9 2-2 2z"></path></g> <g id="done"><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 
     7l-1.4-1.4L9 16.2z"></path></g> <g id="done-all"><path d="M18 7l-1.41-1.41-6.34 
     6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.4
     2-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z"></path></g> <g id="donut-la
     rge"><path d="M11 5.08V2c-5 .5-9 4.81-9 10s4 9.5 9 10v-3.08c-3-.48-6-3.4-6-6.92s
     3-6.44 6-6.92zM18.97 11H22c-.47-5-4-8.53-9-9v3.08C16 5.51 18.54 8 18.97 11zM13 1
     8.92V22c5-.47 8.53-4 9-9h-3.03c-.43 3-2.97 5.49-5.97 5.92z"></path></g> <g id="d
     onut-small"><path d="M11 9.16V2c-5 .5-9 4.79-9 10s4 9.5 9 10v-7.16c-1-.41-2-1.52
     -2-2.84s1-2.43 2-2.84zM14.86 11H22c-.48-4.75-4-8.53-9-9v7.16c1 .3 1.52.98 1.86 1
     .84zM13 14.84V22c5-.47 8.52-4.25 9-9h-7.14c-.34.86-.86 1.54-1.86 1.84z"></path><
     /g> <g id="drafts"><path d="M21.99 8c0-.72-.37-1.35-.94-1.7L12 1 2.95 6.3C2.38 6
     .65 2 7.28 2 8v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2l-.01-10zM12 13L3.74 7.84 12 3l
     8.26 4.84L12 13z"></path></g> <g id="eject"><path d="M5 17h14v2H5zm7-12L5.33 15h
     13.34z"></path></g> <g id="error"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 1
     0 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></g> <g id="
     error-outline"><path d="M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47
      10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.
     58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></g> <g id="event"><path d="M17 12h-5v5h
     5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2
     -2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"></path></g> <g id="event-seat"><pa
     th d="M4 18v3h3v-3h10v3h3v-6H4zm15-8h3v3h-3zM2 10h3v3H2zm15 3H7V5c0-1.1.9-2 2-2h
     6c1.1 0 2 .9 2 2v8z"></path></g> <g id="exit-to-app"><path d="M10.09 15.59L11.5 
     17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5
     h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"></path></g> 
     <g id="expand-less"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"></p
     ath></g> <g id="expand-more"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-
     6z"></path></g> <g id="explore"><path d="M12 10.9c-.61 0-1.1.49-1.1 1.1s.49 1.1 
     1.1 1.1c.61 0 1.1-.49 1.1-1.1s-.49-1.1-1.1-1.1zM12 2C6.48 2 2 6.48 2 12s4.48 10 
     10 10 10-4.48 10-10S17.52 2 12 2zm2.19 12.19L6 18l3.81-8.19L18 6l-3.81 8.19z"></
     path></g> <g id="extension"><path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12
      11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.
     7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49
      0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11
      20.5 11z"></path></g> <g id="face"><path d="M9 11.75c-.69 0-1.25.56-1.25 1.25s.
     56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25
      1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.
     48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.
     02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1
     .53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"></path></g> <g id="fa
     vorite"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 
     3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.7
     8-3.4 6.86-8.55 11.54L12 21.35z"></path></g> <g id="favorite-border"><path d="M1
     6.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.7
     8 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.5
     8 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.
     54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89
     -3.14 5.74-7.9 10.05z"></path></g> <g id="feedback"><path d="M20 2H4c-1.1 0-1.99
     .9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 12h-2v-2h2v2zm0-4h-2V6
     h2v4z"></path></g> <g id="file-download"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18
     v2h14v-2H5z"></path></g> <g id="file-upload"><path d="M9 16h6v-6h4l-7-7-7 7h4zm-
     4 2h14v2H5z"></path></g> <g id="filter-list"><path d="M10 18h4v-2h-4v2zM3 6v2h18
     V6H3zm3 7h12v-2H6v2z"></path></g> <g id="find-in-page"><path d="M20 19.59V8l-6-6
     H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.
     43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.9
     6-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z"><
     /path></g> <g id="find-replace"><path d="M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V
     4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-
     4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0
     -2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51
      4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"></path></g> <g id="fingerprint"><path 
     d="M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3.86.47-5.
     57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12.01 2c2.13
      0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28zM3.5 9.72c-.1 0-.2-.
     03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 14 4.03 17
     .15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7-.23.16-.54.11-.7-.12-.9-1.
     26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.96-.08.14
     -.23.21-.39.21zm6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.6
     9-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39c0 .28-
     .22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39-2.57 0-4.66 1.97-4.66 4.39 0
      1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11.1-.24.15-
     .37.15zm7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22
     -.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1
     .04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12zM14.91 22c-
     .04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2.17-5.22 0
     -1.62 1.38-2.94 3.08-2.94 1.7 0 3.08 1.32 3.08 2.94 0 1.07.93 1.94 2.08 1.94s2.0
     8-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-.39.81-.59
      1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.64-.29-.49
     -1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.55 0
      8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-
     1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 
     1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38z"></path></g> <g id="flag"><path d="
     M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z"></path></g> <g id="flight-land"><path d="M
     2.5 19h19v2h-19zm7.18-5.73l4.35 1.16 5.31 1.42c.8.21 1.62-.26 1.84-1.06.21-.8-.2
     6-1.62-1.06-1.84l-5.31-1.42-2.76-9.02L10.12 2v8.28L5.15 8.95l-.93-2.32-1.45-.39v
     5.17l1.6.43 5.31 1.43z"></path></g> <g id="flight-takeoff"><path d="M2.5 19h19v2
     h-19zm19.57-9.36c-.21-.8-1.04-1.28-1.84-1.06L14.92 10l-6.9-6.43-1.93.51 4.14 7.1
     7-4.97 1.33-1.97-1.54-1.45.39 1.82 3.16.77 1.33 1.6-.43 5.31-1.42 4.35-1.16L21 1
     1.49c.81-.23 1.28-1.05 1.07-1.85z"></path></g> <g id="flip-to-back"><path d="M9 
     7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h2v-2zm6-12v2h2c0-1.
     1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-2h-2v2zm0-4h2V7h-2v
     2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7zm10-2h2V3h-2v2zm0 
     12h2v-2h-2v2z"></path></g> <g id="flip-to-front"><path d="M3 13h2v-2H3v2zm0 4h2v
     -2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-2h-2v2zm4-18H9c-1.11 0-2 
     .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12H9V5h10v10zm-8 
     6h2v-2h-2v2zm-4 0h2v-2H7v2z"></path></g> <g id="folder"><path d="M10 4H4c-1.1 0-
     1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"></
     path></g> <g id="folder-open"><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18
     c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z"></path></g> 
     <g id="folder-shared"><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9
      2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-
     2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1z"></path></g> <g id="font-do
     wnload"><path d="M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 
     2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17l-1.12 3H5.96l5.11-
     13h1.86l5.11 13h-2.09z"></path></g> <g id="forward"><path d="M12 8V4l8 8-8 8v-4H
     4V8z"></path></g> <g id="fullscreen"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H
     5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></path></g> <g id="fullscreen-exit
     "><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5
     h5V8h-3z"></path></g> <g id="gavel"><path d="M1 21h12v2H1zM5.245 8.07l2.83-2.827
      14.14 14.142-2.828 2.828zM12.317 1l5.657 5.656-2.83 2.83-5.654-5.66zM3.825 9.48
     5l5.657 5.657-2.828 2.828-5.657-5.657z"></path></g> <g id="gesture"><path d="M4.
     59 6.89c.7-.71 1.4-1.35 1.71-1.22.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 
     0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-
     1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 
     0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1H21v-2.5h-2.47c-.15-1.65-1.09
     -4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-.68.84
     -1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-
     3.28C8.95 3.69 7.31 3 6.44 3 5.12 3 3.97 4 3.72 4.25c-.36.36-.66.66-.88.93l1.75 
     1.71zm9.29 11.66c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-
     2.13 3.48z"></path></g> <g id="get-app"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v
     2h14v-2H5z"></path></g> <g id="gif"><path d="M11.5 9H13v6h-1.5zM9 9H6c-.6 0-1 .5
     -1 1v4c0 .5.4 1 1 1h3c.6 0 1-.5 1-1v-2H8.5v1.5h-2v-3H10V10c0-.5-.4-1-1-1zm10 1.5
     V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g> <g id="grade"><path d="M12 17.27L18.1
     8 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"></pa
     th></g> <g id="group-work"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.
     48 10-10S17.52 2 12 2zM8 17.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12
      2.5 2.5-1.12 2.5-2.5 2.5zM9.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5-1.12 2
     .5-2.5 2.5S9.5 9.38 9.5 8zm6.5 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5
      1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></g> <g id="help"><path d="M12 2C6.48 2 
     2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l
     -.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.
     59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36
      1.68-.93 2.25z"></path></g> <g id="help-outline"><path d="M11 18h2v-2h-2v2zm1-1
     6C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.
     59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2
     s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z"></path></g> <g i
     d="highlight-off"><path d="M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41
      16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12
     s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 
     3.59 8 8-3.59 8-8 8z"></path></g> <g id="history"><path d="M13 3c-4.97 0-9 4.03-
     9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.6
     8-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9
     -9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></g> <g id="home"><path d="M
     10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></g> <g id="hourglass-empty"><path d=
     "M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.0
     1H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5l-4-4V4h8v3.5l-4 4z"></path></g> <g id=
     "hourglass-full"><path d="M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01
     L18 16l-4-4 4-3.99-.01-.01H18V2H6z"></path></g> <g id="http"><path d="M4.5 11h-2
     V9H1v6h1.5v-2.5h2V15H6V9H4.5v2zm2.5-.5h1.5V15H10v-4.5h1.5V9H7v1.5zm5.5 0H14V15h1
     .5v-4.5H17V9h-4.5v1.5zm9-1.5H18v6h1.5v-2h2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.
     5-1.5zm0 2.5h-2v-1h2v1z"></path></g> <g id="https"><path d="M18 8h-1V6c0-2.76-2.
     24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-
     1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.7
     1 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"></path></g> <g id="important-devi
     ces"><path d="M23 11.01L18 11c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h5c.55 0 1-.45 1-
     1v-9c0-.55-.45-.99-1-.99zM23 20h-5v-7h5v7zM20 2H2C.89 2 0 2.89 0 4v12c0 1.1.89 2
      2 2h7v2H7v2h8v-2h-2v-2h2v-2H2V4h18v5h2V4c0-1.11-.9-2-2-2zm-8.03 7L11 6l-.97 3H7
     l2.47 1.76-.94 2.91 2.47-1.8 2.47 1.8-.94-2.91L15 9h-3.03z"></path></g> <g id="i
     nbox"><path d="M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0
      2-.9 2-2V5c0-1.11-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19v10z
     "></path></g> <g id="indeterminate-check-box"><path d="M19 3H5c-1.1 0-2 .9-2 2v1
     4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"></path></g
     > <g id="info"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.
     52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"></path></g> <g id="info-outline"><path
      d="M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 
     2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h-2v2z
     "></path></g> <g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.0
     3H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 
     16l4-4-4-4v3H1v2h10v3z"></path></g> <g id="invert-colors"><path d="M17.66 7.93L1
     2 2.27 6.34 7.93c-3.12 3.12-3.12 8.19 0 11.31C7.9 20.8 9.95 21.58 12 21.58c2.05 
     0 4.1-.78 5.66-2.34 3.12-3.12 3.12-8.19 0-11.31zM12 19.59c-1.6 0-3.11-.62-4.24-1
     .76C6.62 16.69 6 15.19 6 13.59s.62-3.11 1.76-4.24L12 5.1v14.49z"></path></g> <g 
     id="label"><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 
     7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z"></path
     ></g> <g id="label-outline"><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C
     3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4
     .37-6.16zM16 17H5V7h11l3.55 5L16 17z"></path></g> <g id="language"><path d="M11.
     99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2z
     m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c
     .83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.3
     6 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26z
     m.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c
     .96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-
     2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.
     32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5
     .56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08
     -.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-
     3.38z"></path></g> <g id="launch"><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c
     0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.
     41V10h2V3h-7z"></path></g> <g id="lightbulb-outline"><path d="M9 21c0 .55.45 1 1
      1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0
      .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z
     m2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-2.76 2.24-5 5-5s5 2
     .24 5 5c0 1.63-.8 3.16-2.15 4.1z"></path></g> <g id="line-style"><path d="M3 16h
     5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v2zm4 0h2v-2H7v2zm4 0h2v-
     2h-2v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM3 12h8v-2H3v2zm10 0h8v-2h-8v2zM3 4v4h18V4H
     3z"></path></g> <g id="line-weight"><path d="M3 17h18v-2H3v2zm0 3h18v-1H3v1zm0-7
     h18v-3H3v3zm0-9v4h18V4H3z"></path></g> <g id="link"><path d="M3.9 12c0-1.71 1.39
     -3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3
     .1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h
     4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></g> <g id="list"><path d="M3 13h2v-2H3
     v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z"></pa
     th></g> <g id="lock"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0
     -2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9
     -2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 
     1.39 3.1 3.1v2z"></path></g> <g id="lock-open"><path d="M12 17c1.1 0 2-.9 2-2s-.
     9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39
     -3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1
      0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"></path></g> <g id="lock-outline
     "><path d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.
     24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-
     1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H8.9V6zM18 20H6V10
     h12v10z"></path></g> <g id="loyalty"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55
      2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 
     1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67
      7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7zm11.77 8.27L13 19.54l-4.2
     7-4.27C8.28 14.81 8 14.19 8 13.5c0-1.38 1.12-2.5 2.5-2.5.69 0 1.32.28 1.77.74l.7
     3.72.73-.73c.45-.45 1.08-.73 1.77-.73 1.38 0 2.5 1.12 2.5 2.5 0 .69-.28 1.32-.73
      1.77z"></path></g> <g id="mail"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.
     1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path>
     </g> <g id="markunread"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2
     h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></g> <g i
     d="markunread-mailbox"><path d="M20 6H10v6H8V4h6V0H6v6H4c-1.1 0-2 .9-2 2v12c0 1.
     1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z"></path></g> <g id="menu"><path d=
     "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></g> <g id="more-horiz"><
     path d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.
     9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></p
     ath></g> <g id="more-vert"><path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2
      2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2
      2 2-.9 2-2-.9-2-2-2z"></path></g> <g id="motorcycle"><path d="M19.44 9.03L15.41
      5H11v2h3.59l2 2H5c-2.8 0-5 2.2-5 5s2.2 5 5 5c2.46 0 4.45-1.69 4.9-4h1.65l2.77-2
     .77c-.21.54-.32 1.14-.32 1.77 0 2.8 2.2 5 5 5s5-2.2 5-5c0-2.65-1.97-4.77-4.56-4.
     97zM7.82 15C7.4 16.15 6.28 17 5 17c-1.63 0-3-1.37-3-3s1.37-3 3-3c1.28 0 2.4.85 2
     .82 2H5v2h2.82zM19 17c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"></pa
     th></g> <g id="move-to-inbox"><path d="M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1
     .1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-
     1.34-3-3H4.99V5H19v10zm-3-5h-2V7h-4v3H8l4 4 4-4z"></path></g> <g id="next-week">
     <path d="M20 7h-4V5c0-.55-.22-1.05-.59-1.41C15.05 3.22 14.55 3 14 3h-4c-1.1 0-2 
     .9-2 2v2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM
     10 5h4v2h-4V5zm1 13.5l-1-1 3-3-3-3 1-1 4 4-4 4z"></path></g> <g id="note-add"><p
     ath d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-
     6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z"></path></g> <g id="
     offline-pin"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12
      2zm5 16H7v-2h10v2zm-6.7-4L7 10.7l1.4-1.4 1.9 1.9 5.3-5.3L17 7.3 10.3 14z"></pat
     h></g> <g id="opacity"><path d="M17.66 8L12 2.35 6.34 8C4.78 9.56 4 11.64 4 13.6
     4s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20 15.64 20 13.64 19.
     22 9.56 17.66 8zM6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.9
     9 12 18 14H6z"></path></g> <g id="open-in-browser"><path d="M19 4H5c-1.11 0-2 .9
     -2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm-
     7 6l-4 4h3v6h2v-6h3l-4-4z"></path></g> <g id="open-in-new"><path d="M19 19H5V5h7
     V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-
     9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path></g> <g id="open-with"><path d="M
     10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9
      3h-4v3H7l5 5 5-5h-3v-3z"></path></g> <g id="pageview"><path d="M11.5 9C10.12 9 
     9 10.12 9 11.5s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5S12.88 9 11.5 9zM20 4H4c-1.1 0-2
      .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3.21 14.21l-2.91-2
     .91c-.69.44-1.51.7-2.39.7C9.01 16 7 13.99 7 11.5S9.01 7 11.5 7 16 9.01 16 11.5c0
      .88-.26 1.69-.7 2.39l2.91 2.9-1.42 1.42z"></path></g> <g id="pan-tool"><path d=
     "M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3
     -1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.6
     7-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0
     -.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z
     "></path></g> <g id="payment"><path d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.1
     1.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2
     z"></path></g> <g id="perm-camera-mic"><path d="M20 5h-3.17L15 3H9L7.17 5H4c-1.1
      0-2 .9-2 2v12c0 1.1.9 2 2 2h7v-2.09c-2.83-.48-5-2.94-5-5.91h2c0 2.21 1.79 4 4 4
     s4-1.79 4-4h2c0 2.97-2.17 5.43-5 5.91V21h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-6 8
     c0 1.1-.9 2-2 2s-2-.9-2-2V9c0-1.1.9-2 2-2s2 .9 2 2v4z"></path></g> <g id="perm-c
     ontact-calendar"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-2 .9-2 2v14c0 1.1.89
      2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-
     1.34-3-3 1.34-3 3-3zm6 12H6v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1z"></path></g> <g id
     ="perm-data-setting"><path d="M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.0
     4-.33-.07-.66-.07-1 0-4.14 3.36-7.5 7.5-7.5zm3.71 7.99c.02-.16.04-.32.04-.49 0-.
     17-.01-.33-.04-.49l1.06-.83c.09-.08.12-.21.06-.32l-1-1.73c-.06-.11-.19-.15-.31-.
     11l-1.24.5c-.26-.2-.54-.37-.85-.49l-.19-1.32c-.01-.12-.12-.21-.24-.21h-2c-.12 0-
     .23.09-.25.21l-.19 1.32c-.3.13-.59.29-.85.49l-1.24-.5c-.11-.04-.24 0-.31.11l-1 1
     .73c-.06.11-.04.24.06.32l1.06.83c-.02.16-.03.32-.03.49 0 .17.01.33.03.49l-1.06.8
     3c-.09.08-.12.21-.06.32l1 1.73c.06.11.19.15.31.11l1.24-.5c.26.2.54.37.85.49l.19 
     1.32c.02.12.12.21.25.21h2c.12 0 .23-.09.25-.21l.19-1.32c.3-.13.59-.29.84-.49l1.2
     5.5c.11.04.24 0 .31-.11l1-1.73c.06-.11.03-.24-.06-.32l-1.07-.83zm-3.71 1.01c-.83
      0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"></path></g> 
     <g id="perm-device-information"><path d="M13 7h-2v2h2V7zm0 4h-2v6h2v-6zm4-9.99L7
      1c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17
      19H7V5h10v14z"></path></g> <g id="perm-identity"><path d="M12 5.9c1.16 0 2.1.94
      2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1
      2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 
     4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z"></path></g> <
     g id="perm-media"><path d="M2 6H0v5h.01L0 20c0 1.1.9 2 2 2h18v-2H2V6zm20-2h-8l-2
     -2H6c-1.1 0-1.99.9-1.99 2L4 16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z
     M7 15l4.5-6 3.5 4.51 2.5-3.01L21 15H7z"></path></g> <g id="perm-phone-msg"><path
      d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.4
     4-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-
     .55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55
     -.45-1-1-1zM12 3v10l3-3h6V3h-9z"></path></g> <g id="perm-scan-wifi"><path d="M12
      3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6
     zm-2-8V6h2v2h-2z"></path></g> <g id="pets"><circle cx="4.5" cy="9.5" r="2.5"></c
     ircle><circle cx="9" cy="5.5" r="2.5"></circle><circle cx="15" cy="5.5" r="2.5">
     </circle><circle cx="19.5" cy="9.5" r="2.5"></circle><path d="M17.34 14.86c-.87-
     1.02-1.6-1.89-2.48-2.91-.46-.54-1.05-1.08-1.75-1.32-.11-.04-.22-.07-.33-.09-.25-
     .04-.52-.04-.78-.04s-.53 0-.79.05c-.11.02-.22.05-.33.09-.7.24-1.28.78-1.75 1.32-
     .87 1.02-1.6 1.89-2.48 2.91-1.31 1.31-2.92 2.76-2.62 4.79.29 1.02 1.02 2.03 2.33
      2.32.73.15 3.06-.44 5.54-.44h.18c2.48 0 4.81.58 5.54.44 1.31-.29 2.04-1.31 2.33
     -2.32.31-2.04-1.3-3.49-2.61-4.8z"></path></g> <g id="picture-in-picture"><path d
     ="M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-
     1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z"></path></g> <g id="picture-in-p
     icture-alt"><path d="M19 11h-8v6h8v-6zm4 8V4.98C23 3.88 22.1 3 21 3H3c-1.1 0-2 .
     88-2 1.98V19c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H3V4.97h18v14.05z"></path></
     g> <g id="play-for-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0
      3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"></path></g> <g 
     id="polymer"><path d="M19 4h-4L7.11 16.63 4.5 12 9 4H5L.5 12 5 20h4l7.89-12.63L1
     9.5 12 15 20h4l4.5-8z"></path></g> <g id="power-settings-new"><path d="M13 3h-2v
     10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-
     7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9
     s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z"></path></g> <g id="pregnant-woman"><pat
     h d="M9 4c0-1.11.89-2 2-2s2 .89 2 2-.89 2-2 2-2-.89-2-2zm7 9c-.01-1.34-.83-2.51-
     2-3 0-1.66-1.34-3-3-3s-3 1.34-3 3v7h2v5h3v-5h3v-4z"></path></g> <g id="print"><p
     ath d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5
     h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"></path
     ></g> <g id="query-builder"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10
     C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 
     3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"></path></g> <g id="
     question-answer"><path d="M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1
     zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z"></path><
     /g> <g id="radio-button-checked"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-
     2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 
     12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></g> <g 
     id="radio-button-unchecked"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4
     .48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8
     z"></path></g> <g id="receipt"><path d="M18 17H6v-2h12v2zm0-4H6v-2h12v2zm0-4H6V7
     h12v2zM3 22l1.5-1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L15 22l1.5-1.5L18 22l
     1.5-1.5L21 22V2l-1.5 1.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6
      2 4.5 3.5 3 2v20z"></path></g> <g id="record-voice-over"><circle cx="9" cy="9" 
     r="4"></circle><path d="M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76
     -9.64l-1.68 1.69c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 2.02-5.07 0-7.27zM2
     0.07 2l-1.63 1.63c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.89 3.91-9.95 0-14z"
     ></path></g> <g id="redeem"><path d="M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34
     -3-3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.3
     4 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2
     -.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1
     zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5
     .08L7 10.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z"></pat
     h></g> <g id="redo"><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3
     .03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9
     V7l-3.6 3.6z"></path></g> <g id="refresh"><path d="M17.65 6.35C16.2 4.9 14.21 4 
     12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2
     .33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V
     4l-2.35 2.35z"></path></g> <g id="remove"><path d="M19 13H5v-2h14v2z"></path></g
     > <g id="remove-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 
     10-10S17.52 2 12 2zm5 11H7v-2h10v2z"></path></g> <g id="remove-circle-outline"><
     path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.5
     2 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"></path></g>
      <g id="reorder"><path d="M3 15h18v-2H3v2zm0 4h18v-2H3v2zm0-8h18V9H3v2zm0-6v2h18
     V5H3z"></path></g> <g id="reply"><path d="M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5
     .1-1-5-4-10-11-11z"></path></g> <g id="reply-all"><path d="M7 8V5l-7 7 7 7v-3l-4
     -4 4-4zm6 1V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z"></path></g> <g i
     d="report"><path d="M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27L15.73 3
     zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-
     .58 1.3-1.3 1.3zm1-4.3h-2V7h2v6z"></path></g> <g id="report-problem"><path d="M1
      21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"></path></g> <g id="restore"><p
     ath d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.1
     3 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21
     c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path>
     </g> <g id="room"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c
     0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 
     2.5-1.12 2.5-2.5 2.5z"></path></g> <g id="rounded-corner"><path d="M19 19h2v2h-2
     v-2zm0-2h2v-2h-2v2zM3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm0-4h2V3H3v2zm4 0h2
     V3H7v2zm8 16h2v-2h-2v2zm-4 0h2v-2h-2v2zm4 0h2v-2h-2v2zm-8 0h2v-2H7v2zm-4 0h2v-2H
     3v2zM21 8c0-2.76-2.24-5-5-5h-5v2h5c1.65 0 3 1.35 3 3v5h2V8z"></path></g> <g id="
     rowing"><path d="M8.5 14.5L4 19l1.5 1.5L9 17h2l-2.5-2.5zM15 1c-1.1 0-2 .9-2 2s.9
      2 2 2 2-.9 2-2-.9-2-2-2zm6 20.01L18 24l-2.99-3.01V19.5l-7.1-7.09c-.31.05-.61.07
     -.91.07v-2.16c1.66.03 3.61-.87 4.67-2.04l1.4-1.55c.19-.21.43-.38.69-.5.29-.14.62
     -.23.96-.23h.03C15.99 6.01 17 7.02 17 8.26v5.75c0 .84-.35 1.61-.92 2.16l-3.58-3.
     58v-2.27c-.63.52-1.43 1.02-2.29 1.39L16.5 18H18l3 3.01z"></path></g> <g id="save
     "><path d="M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm
     -5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"></pat
     h></g> <g id="schedule"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.
     52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58
      8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"></path></g> <g id="sear
     ch"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 
     9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20
     .49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 
     9.5 14z"></path></g> <g id="select-all"><path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2
     v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v
     -2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0
      8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-
     2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"></path></g> <g id="send"><path d="M2.01 21L23
      12 2.01 3 2 10l15 2-15 2z"></path></g> <g id="settings"><path d="M19.43 12.98c.
     04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.
     12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.
     25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23
     -.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.
     03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52
     .4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.
     61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.6
     4l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5
     -1.57 3.5-3.5 3.5z"></path></g> <g id="settings-applications"><path d="M12 10c-1
     .1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2
      2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.
     13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69
     l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.8
     2-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1
     .48-1.16c-.03-.23-.05-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3
     -.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c
     .03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7
     c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69z
     "></path></g> <g id="settings-backup-restore"><path d="M14 12c0-1.1-.9-2-2-2s-2 
     .9-2 2 .9 2 2 2 2-.9 2-2zm-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5c0-3.87 3.13-7 7-7s
     7 3.13 7 7-3.13 7-7 7c-1.51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.04 20.3 9.94 21 12 
     21c4.97 0 9-4.03 9-9s-4.03-9-9-9z"></path></g> <g id="settings-bluetooth"><path 
     d="M11 24h2v-2h-2v2zm-4 0h2v-2H7v2zm8 0h2v-2h-2v2zm2.71-18.29L12 0h-1v7.59L6.41 
     3 5 4.41 10.59 10 5 15.59 6.41 17 11 12.41V20h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 
     3.83l1.88 1.88L13 7.59V3.83zm1.88 10.46L13 16.17v-3.76l1.88 1.88z"></path></g> <
     g id="settings-brightness"><path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c
     1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02zM8 16h2.5l1.5 1.5 1.5-1
     .5H16v-2.5l1.5-1.5-1.5-1.5V8h-2.5L12 6.5 10.5 8H8v2.5L6.5 12 8 13.5V16zm4-7c1.66
      0 3 1.34 3 3s-1.34 3-3 3V9z"></path></g> <g id="settings-cell"><path d="M7 24h2
     v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM16 .01L8 0C6.9 0 6 .9 6 2v16c0 1.1.9 2 2 
     2h8c1.1 0 2-.9 2-2V2c0-1.1-.9-1.99-2-1.99zM16 16H8V4h8v12z"></path></g> <g id="s
     ettings-ethernet"><path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 1
     2l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28
     L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z"></path></g> <g id="settings
     -input-antenna"><path d="M12 5c-3.87 0-7 3.13-7 7h2c0-2.76 2.24-5 5-5s5 2.24 5 5
     h2c0-3.87-3.13-7-7-7zm1 9.29c.88-.39 1.5-1.26 1.5-2.29 0-1.38-1.12-2.5-2.5-2.5S9
     .5 10.62 9.5 12c0 1.02.62 1.9 1.5 2.29v3.3L7.59 21 9 22.41l3-3 3 3L16.41 21 13 1
     7.59v-3.3zM12 1C5.93 1 1 5.93 1 12h2c0-4.97 4.03-9 9-9s9 4.03 9 9h2c0-6.07-4.93-
     11-11-11z"></path></g> <g id="settings-input-component"><path d="M5 2c0-.55-.45-
     1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1
     .51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H
     1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .4
     5-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82
     v-2h-6v2z"></path></g> <g id="settings-input-composite"><path d="M5 2c0-.55-.45-
     1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1
     .51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H
     1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .4
     5-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82
     v-2h-6v2z"></path></g> <g id="settings-input-hdmi"><path d="M18 7V4c0-1.1-.9-2-2
     -2H8c-1.1 0-2 .9-2 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z
     "></path></g> <g id="settings-input-svideo"><path d="M8 11.5c0-.83-.67-1.5-1.5-1
     .5S5 10.67 5 11.5 5.67 13 6.5 13 8 12.33 8 11.5zm7-5c0-.83-.67-1.5-1.5-1.5h-3C9.
     67 5 9 5.67 9 6.5S9.67 8 10.5 8h3c.83 0 1.5-.67 1.5-1.5zM8.5 15c-.83 0-1.5.67-1.
     5 1.5S7.67 18 8.5 18s1.5-.67 1.5-1.5S9.33 15 8.5 15zM12 1C5.93 1 1 5.93 1 12s4.9
     3 11 11 11 11-4.93 11-11S18.07 1 12 1zm0 20c-4.96 0-9-4.04-9-9s4.04-9 9-9 9 4.04
      9 9-4.04 9-9 9zm5.5-11c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.6
     7-1.5-1.5-1.5zm-2 5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.
     5-1.5-1.5z"></path></g> <g id="settings-overscan"><path d="M12.01 5.5L10 8h4l-1.
     99-2.5zM18 10v4l2.5-1.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7
     -13H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.
     01H3V4.99h18v14.02z"></path></g> <g id="settings-phone"><path d="M13 9h-2v2h2V9z
     m4 0h-2v2h2V9zm3 6.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-
     2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 
     8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3
     .5c0-.55-.45-1-1-1zM19 9v2h2V9h-2z"></path></g> <g id="settings-power"><path d="
     M7 24h2v-2H7v2zm4 0h2v-2h-2v2zm2-22h-2v10h2V2zm3.56 2.44l-1.45 1.45C16.84 6.94 1
     8 8.83 18 11c0 3.31-2.69 6-6 6s-6-2.69-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 4.44C
     5.36 5.88 4 8.28 4 11c0 4.42 3.58 8 8 8s8-3.58 8-8c0-2.72-1.36-5.12-3.44-6.56zM1
     5 24h2v-2h-2v2z"></path></g> <g id="settings-remote"><path d="M15 9H9c-.55 0-1 .
     45-1 1v12c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V10c0-.55-.45-1-1-1zm-3 6c-1.1 0-2-.9-
     2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM7.05 6.05l1.41 1.41C9.37 6.56 10.62 6 12 6s2.63.
     56 3.54 1.46l1.41-1.41C15.68 4.78 13.93 4 12 4s-3.68.78-4.95 2.05zM12 0C8.96 0 6
     .21 1.23 4.22 3.22l1.41 1.41C7.26 3.01 9.51 2 12 2s4.74 1.01 6.36 2.64l1.41-1.41
     C17.79 1.23 15.04 0 12 0z"></path></g> <g id="settings-voice"><path d="M7 24h2v-
     2H7v2zm5-11c1.66 0 2.99-1.34 2.99-3L15 4c0-1.66-1.34-3-3-3S9 2.34 9 4v6c0 1.66 1
     .34 3 3 3zm-1 11h2v-2h-2v2zm4 0h2v-2h-2v2zm4-14h-1.7c0 3-2.54 5.1-5.3 5.1S6.7 13
      6.7 10H5c0 3.41 2.72 6.23 6 6.72V20h2v-3.28c3.28-.49 6-3.31 6-6.72z"></path></g
     > <g id="shop"><path d="M16 6V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H2v13c0 1
     .11.89 2 2 2h16c1.11 0 2-.89 2-2V6h-6zm-6-2h4v2h-4V4zM9 18V9l7.5 4L9 18z"></path
     ></g> <g id="shop-two"><path d="M3 9H1v11c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2H3V
     9zm15-4V3c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H5v11c0 1.11.89 2 2 2h14c1.11 0
      2-.89 2-2V5h-5zm-6-2h4v2h-4V3zm0 12V8l5.5 3-5.5 4z"></path></g> <g id="shopping
     -basket"><path d="M17.21 9l-4.38-6.56c-.19-.28-.51-.42-.83-.42-.32 0-.64.14-.83.
     43L6.79 9H2c-.55 0-1 .45-1 1 0 .09.01.18.04.27l2.54 9.27c.23.84 1 1.46 1.92 1.46
     h13c.92 0 1.69-.62 1.93-1.46l2.54-9.27L23 10c0-.55-.45-1-1-1h-4.79zM9 9l3-4.4L15
      9H9zm3 8c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"></path></g> <g id="shoppi
     ng-cart"><path d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v
     2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25
     -.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.
     31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2
      2-.9 2-2-.9-2-2-2z"></path></g> <g id="sort"><path d="M3 18h6v-2H3v2zM3 6v2h18V
     6H3zm0 7h12v-2H3v2z"></path></g> <g id="speaker-notes"><path d="M20 2H4c-1.1 0-1
     .99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 14H6v-2h2v2zm0-3H6V9
     h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z"></path></g> <g id
     ="spellcheck"><path d="M12.45 16h2.09L9.43 3H7.57L2.46 16h2.09l1.12-3h5.64l1.14 
     3zm-6.02-5L8.5 5.48 10.57 11H6.43zm15.16.59l-8.09 8.09L9.83 16l-1.41 1.41 5.09 5
     .09L23 13l-1.41-1.41z"></path></g> <g id="star"><path d="M12 17.27L18.18 21l-1.6
     4-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"></path></g> <
     g id="star-border"><path d="M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5
     .82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88
      4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"></path></g> <g id=
     "star-half"><path d="M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 
     12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4V6.1l1.71 4.04 4.38.38-3.32 2.88 1 
     4.28L12 15.4z"></path></g> <g id="stars"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.
     47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm4.24 16L12 15.45 7.77 18l
     1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.73 3.23L16.23 18z"></path>
     </g> <g id="store"><path d="M20 4H4v2h16V4zm1 10v-2l-1-5H4l-1 5v2h1v6h10v-6h4v6h
     2v-6h1zm-9 4H6v-4h6v4z"></path></g> <g id="subdirectory-arrow-left"><path d="M11
      9l1.42 1.42L8.83 14H18V4h2v12H8.83l3.59 3.58L11 21l-6-6 6-6z"></path></g> <g id
     ="subdirectory-arrow-right"><path d="M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.1
     7l-3.59-3.58L13 9l6 6z"></path></g> <g id="subject"><path d="M14 17H4v2h10v-2zm6
     -8H4v2h16V9zM4 15h16v-2H4v2zM4 5v2h16V5H4z"></path></g> <g id="supervisor-accoun
     t"><path d="M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14
      9.5s1.12 2.5 2.5 2.5zM9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 
     8s1.34 3 3 3zm7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.7
     5zM9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 1
     3 9 13z"></path></g> <g id="swap-horiz"><path d="M6.99 11L3 15l3.99 4v-3H14v-2H6
     .99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z"></path></g> <g id="swap-vert"><path d=
     "M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"></path>
     </g> <g id="swap-vertical-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 1
     0 10-4.48 10-10S17.52 2 12 2zM6.5 9L10 5.5 13.5 9H11v4H9V9H6.5zm11 6L14 18.5 10.
     5 15H13v-4h2v4h2.5z"></path></g> <g id="system-update-alt"><path d="M12 16.5l4-4
     h-3v-9h-2v9H8l4 4zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.
     9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2z"></path></g> <g id="tab"><path d="
     M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 1
     6H3V5h10v4h8v10z"></path></g> <g id="tab-unselected"><path d="M1 9h2V7H1v2zm0 4h
     2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1v2zm2 4v-2H1c0 1.1.
     9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2V3H9v2zM5 21h2v-2H5
     v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-8 8h2v-2h-2v2zm4 0h2
     v-2h-2v2z"></path></g> <g id="text-format"><path d="M5 17v2h14v-2H5zm4.5-4.2h5l.
     9 2.2h2.1L12.75 4h-1.5L6.5 15h2.1l.9-2.2zM12 5.98L13.87 11h-3.74L12 5.98z"></pat
     h></g> <g id="theaters"><path d="M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3
     h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-
     4h-2V7h2v2z"></path></g> <g id="thumb-down"><path d="M15 3H6c-.83 0-1.54.5-1.84 
     1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4
     .57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-
     .9-2-2-2zm4 0v12h4V3h-4z"></path></g> <g id="thumb-up"><path d="M1 21h4V9H1v12zm
     22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7
     .59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.0
     9-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z"></path></g> <g id="thumbs-up-down"><p
     ath d="M12 6c0-.55-.45-1-1-1H5.82l.66-3.18.02-.23c0-.31-.13-.59-.33-.8L5.38 0 .4
     4 4.94C.17 5.21 0 5.59 0 6v6.5c0 .83.67 1.5 1.5 1.5h6.75c.62 0 1.15-.38 1.38-.91
     l2.26-5.29c.07-.17.11-.36.11-.55V6zm10.5 4h-6.75c-.62 0-1.15.38-1.38.91l-2.26 5.
     29c-.07.17-.11.36-.11.55V18c0 .55.45 1 1 1h5.18l-.66 3.18-.02.24c0 .31.13.59.33.
     8l.79.78 4.94-4.94c.27-.27.44-.65.44-1.06v-6.5c0-.83-.67-1.5-1.5-1.5z"></path></
     g> <g id="timeline"><path d="M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.
     55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.
     16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 
     2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2
      2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3
     .55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"></path></g> <g id="toc
     "><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2
     V7h-2zm0 6h2v-2h-2v2z"></path></g> <g id="today"><path d="M19 3h-1V1h-2v2H8V1H6v
     2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2
     zm0 16H5V8h14v11zM7 10h5v5H7z"></path></g> <g id="toll"><path d="M15 4c-4.42 0-8
      3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6s2.69-6 6-6 6
      2.69 6 6-2.69 6-6 6zM3 12c0-2.61 1.67-4.83 4-5.65V4.26C3.55 5.15 1 8.27 1 12s2.
     55 6.85 6 7.74v-2.09c-2.33-.82-4-3.04-4-5.65z"></path></g> <g id="touch-app"><pa
     th d="M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5v3.74c1.21-.81 2-2.18 2-3
     .74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74zm9.84 4.63l-4.54-2
     .26c-.17-.07-.35-.11-.54-.11H13v-6c0-.83-.67-1.5-1.5-1.5S10 6.67 10 7.5v10.74l-3
     .43-.72c-.08-.01-.15-.03-.24-.03-.31 0-.59.13-.79.33l-.79.8 4.94 4.94c.27.27.65.
     44 1.06.44h6.79c.75 0 1.33-.55 1.44-1.28l.75-5.27c.01-.07.02-.14.02-.2 0-.62-.38
     -1.16-.91-1.38z"></path></g> <g id="track-changes"><path d="M19.07 4.93l-1.41 1.
     41C19.1 7.79 20 9.79 20 12c0 4.42-3.58 8-8 8s-8-3.58-8-8c0-4.08 3.05-7.44 7-7.93
     v2.02C8.16 6.57 6 9.03 6 12c0 3.31 2.69 6 6 6s6-2.69 6-6c0-1.66-.67-3.16-1.76-4.
     24l-1.41 1.41C15.55 9.9 16 10.9 16 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.86 1.28-
     3.41 3-3.86v2.14c-.6.35-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0-.74-.4-1.38-1-1.72
     V2h-1C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10c0-2.76-1.12-5.26-2.93-7.07z
     "></path></g> <g id="translate"><path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.9
     4 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.
     07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.1
     1 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.3
     3L19.12 17h-3.24z"></path></g> <g id="trending-down"><path d="M16 18l2.29-2.29-4
     .88-4.88-4 4L2 7.41 3.41 6l6 6 4-4 6.3 6.29L22 12v6z"></path></g> <g id="trendin
     g-flat"><path d="M22 12l-4-4v3H3v2h15v3z"></path></g> <g id="trending-up"><path 
     d="M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"></pa
     th></g> <g id="turned-in"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0
     -1.1-.9-2-2-2z"></path></g> <g id="turned-in-not"><path d="M17 3H7c-1.1 0-1.99.9
     -1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z"></path></g> <
     g id="unarchive"><path d="M20.55 5.22l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 
     0-.88.21-1.15.55L3.46 5.22C3.17 5.57 3 6.01 3 6.5V19c0 1.1.89 2 2 2h14c1.1 0 2-.
     9 2-2V6.5c0-.49-.17-.93-.45-1.28zM12 9.5l5.5 5.5H14v2h-4v-2H6.5L12 9.5zM5.12 5l.
     82-1h12l.93 1H5.12z"></path></g> <g id="undo"><path d="M12.5 8c-2.65 0-5.05.99-6
     .9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5
     l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></g> <g id="unfold-less"><path d="
     M7.41 18.59L8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.
     17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"></path></g> <g id="unfold-more">
     <path d="M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 
     15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"></path></g> <g id="update"><pa
     th d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0
      9.79 2.73 2.71 7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-
     2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58 3.51-3.47 9.1
     4-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"></path></g
     > <g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-
     6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"></path></g
     > <g id="view-agenda"><path d="M20 13H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55
      0 1-.45 1-1v-6c0-.55-.45-1-1-1zm0-10H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55
      0 1-.45 1-1V4c0-.55-.45-1-1-1z"></path></g> <g id="view-array"><path d="M4 18h3
     V5H4v13zM18 5v13h3V5h-3zM8 18h9V5H8v13z"></path></g> <g id="view-carousel"><path
      d="M7 19h10V4H7v15zm-5-2h4V6H2v11zM18 6v11h4V6h-4z"></path></g> <g id="view-col
     umn"><path d="M10 18h5V5h-5v13zm-6 0h5V5H4v13zM16 5v13h5V5h-5z"></path></g> <g i
     d="view-day"><path d="M2 21h19v-3H2v3zM20 8H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h
     17c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zM2 3v3h19V3H2z"></path></g> <g id="view-hea
     dline"><path d="M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z"></p
     ath></g> <g id="view-list"><path d="M4 14h4v-4H4v4zm0 5h4v-4H4v4zM4 9h4V5H4v4zm5
      5h12v-4H9v4zm0 5h12v-4H9v4zM9 5v4h12V5H9z"></path></g> <g id="view-module"><pat
     h d="M4 11h5V5H4v6zm0 7h5v-6H4v6zm6 0h5v-6h-5v6zm6 0h5v-6h-5v6zm-6-7h5V5h-5v6zm6
     -6v6h5V5h-5z"></path></g> <g id="view-quilt"><path d="M10 18h5v-6h-5v6zm-6 0h5V5
     H4v13zm12 0h5v-6h-5v6zM10 5v6h11V5H10z"></path></g> <g id="view-stream"><path d=
     "M4 18h17v-6H4v6zM4 5v6h17V5H4z"></path></g> <g id="view-week"><path d="M6 5H3c-
     .55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm14 0h-3c-
     .55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-7 0h-3c-
     .55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1z"></path><
     /g> <g id="visibility"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 
     7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-
     5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3
     z"></path></g> <g id="visibility-off"><path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13
      1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4
      0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08
      8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73
      22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34
      3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0
     -.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"></path
     ></g> <g id="warning"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4
     z"></path></g> <g id="watch-later"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 
     10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></g> 
     <g id="weekend"><path d="M21 10c-1.1 0-2 .9-2 2v3H5v-3c0-1.1-.9-2-2-2s-2 .9-2 2v
     5c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-5c0-1.1-.9-2-2-2zm-3-5H6c-1.1 0-2 .9-2 2v2.15
     c1.16.41 2 1.51 2 2.82V14h12v-2.03c0-1.3.84-2.4 2-2.82V7c0-1.1-.9-2-2-2z"></path
     ></g> <g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4
     c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-
     2-2zm-6 0h-4V4h4v2z"></path></g> <g id="youtube-searched-for"><path d="M17.01 14
     h-.8l-.27-.27c.98-1.14 1.57-2.61 1.57-4.23 0-3.59-2.91-6.5-6.5-6.5s-6.5 3-6.5 6.
     5H2l3.84 4 4.16-4H6.51C6.51 7 8.53 5 11.01 5s4.5 2.01 4.5 4.5c0 2.48-2.02 4.5-4.
     5 4.5-.65 0-1.26-.14-1.82-.38L7.71 15.1c.97.57 2.09.9 3.3.9 1.61 0 3.08-.59 4.22
     -1.57l.27.27v.79l5.01 4.99L22 19l-4.99-5z"></path></g> <g id="zoom-in"><path d="
     M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 
     3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-
     5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zm2.5-4
     h-2v2H9v-2H7V9h2V7h1v2h2v1z"></path></g> <g id="zoom-out"><path d="M15.5 14h-.79
     l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16
      9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 
     14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"></path
     ></g> </defs></svg> </iron-iconset-svg> <script>!function(){"use strict";functio
     n e(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||v.test(i)?n="space":f.tes
     t(i)?n="esc":1==i.length?t&&!u.test(i)||(n=i):n=c.test(i)?i.replace("arrow",""):
     "multiply"==i?"*":i}return n}function t(e){var t="";return e&&(e in o?t=o[e]:h.t
     est(e)?(e=parseInt(e.replace("U+","0x"),16),t=String.fromCharCode(e).toLowerCase
     ()):t=e.toLowerCase()),t}function n(e){var t="";return Number(e)&&(t=e>=65&&e<=9
     0?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112):e>=48&&e<=57?String(e-48)
     :e>=96&&e<=105?String(e-96):d[e]),t}function i(i,r){return i.key?e(i.key,r):i.de
     tail&&i.detail.key?e(i.detail.key,r):t(i.keyIdentifier)||n(i.keyCode)||""}functi
     on r(e,t){var n=i(t,e.hasModifiers);return n===e.key&&(!e.hasModifiers||!!t.shif
     tKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKe
     y==!!e.metaKey)}function s(e){return 1===e.length?{combo:e,key:e,event:"keydown"
     }:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],r=n[1];return i in
      y?(e[y[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=r||"keydown"),e},{combo:e.spl
     it(":").shift()})}function a(e){return e.trim().split(" ").map(function(e){retur
     n s(e)})}var o={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"spa
     ce","U+007F":"del"},d={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:
     "pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",
     46:"del",106:"*"},y={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"
     },u=/[a-z0-9*]/,h=/U\+/,c=/^arrow/,v=/^space(bar)?/,f=/^escape$/;Polymer.IronA11
     yKeysBehavior={properties:{keyEventTarget:{type:Object,value:function(){return t
     his}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{ty
     pe:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:f
     unction(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _bound
     KeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},att
     ached:function(){this._listenKeyEventListeners()},detached:function(){this._unli
     stenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindi
     ngs[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBin
     dings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._re
     setKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=a(t),i=
     0;i<n.length;++i)if(r(n[i],e))return!0;return!1},_collectKeyBindings:function(){
     var e=this.behaviors.map(function(e){return e.keyBindings});return e.indexOf(thi
     s.keyBindings)===-1&&e.push(this.keyBindings),e},_prepKeyBindings:function(){thi
     s._keyBindings={},this._collectKeyBindings().forEach(function(e){for(var t in e)
     this._addKeyBinding(t,e[t])},this);for(var e in this._imperativeKeyBindings)this
     ._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t in this._keyBindings
     )this._keyBindings[t].sort(function(e,t){var n=e[0].hasModifiers,i=t[0].hasModif
     iers;return n===i?0:n?-1:1})},_addKeyBinding:function(e,t){a(e).forEach(function
     (e){this._keyBindings[e.event]=this._keyBindings[e.event]||[],this._keyBindings[
     e.event].push([e,t])},this)},_resetKeyEventListeners:function(){this._unlistenKe
     yEventListeners(),this.isAttached&&this._listenKeyEventListeners()},_listenKeyEv
     entListeners:function(){this.keyEventTarget&&Object.keys(this._keyBindings).forE
     ach(function(e){var t=this._keyBindings[e],n=this._onKeyBindingEvent.bind(this,t
     );this._boundKeyHandlers.push([this.keyEventTarget,e,n]),this.keyEventTarget.add
     EventListener(e,n)},this)},_unlistenKeyEventListeners:function(){for(var e,t,n,i
     ;this._boundKeyHandlers.length;)e=this._boundKeyHandlers.pop(),t=e[0],n=e[1],i=e
     [2],t.removeEventListener(n,i)},_onKeyBindingEvent:function(e,t){if(this.stopKey
     boardEventPropagation&&t.stopPropagation(),!t.defaultPrevented)for(var n=0;n<e.l
     ength;n++){var i=e[n][0],s=e[n][1];if(r(i,t)&&(this._triggerKeyHandler(i,s,t),t.
     defaultPrevented))return}},_triggerKeyHandler:function(e,t,n){var i=Object.creat
     e(e);i.keyboardEvent=n;var r=new CustomEvent(e.event,{detail:i,cancelable:!0});t
     his[t].call(this,r),r.defaultPrevented&&n.preventDefault()}}}()</script> <script
     >Polymer.IronControlState={properties:{focused:{type:Boolean,value:!1,notify:!0,
     readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,obs
     erver:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:Number},_boun
     dFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.
     bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:functi
     on(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEvent
     Listener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){i
     f(e.target===this)this._setFocused("focus"===e.type);else if(!this.shadowRoot){v
     ar t=Polymer.dom(e).localTarget;this.isLightDescendant(t)||this.fire(e.type,{sou
     rceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})}},_disabledCh
     anged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.sty
     le.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.tabIndex,this._setFocused
     (!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(this.tabIndex=th
     is._oldTabIndex)},_changedControlState:function(){this._controlStateChanged&&thi
     s._controlStateChanged()}}</script> <script>Polymer.IronButtonStateImpl={propert
     ies:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"
     _pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{
     type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean
     ,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},aria
     ActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttribute
     Changed"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},obs
     ervers:["_detectKeyboardFocus(focused)","_activeChanged(active, ariaActiveAttrib
     ute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDown
     Handler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:
     function(){this.toggles?this._userActivate(!this.active):this.active=!1},_detect
     KeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&
     e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"
     ))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this.
     _setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!1
     ),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var t=e.detail.keyboard
     Event,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)||(t.preventDefault(
     ),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceKeyUpHandler:functio
     n(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDesce
     ndant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:f
     unction(){this.async(function(){this.click()},1)},_pressedChanged:function(e){th
     is._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&thi
     s.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.to
     ggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAt
     tribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChang
     ed:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_ch
     angedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()
     }},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Polymer.IronButtonState
     Impl]</script> <dom-module id="paper-ripple" assetpath="/res/imp/bower_component
     s/paper-ripple/"> <template> <style>:host{display:block;position:absolute;border
     -radius:inherit;overflow:hidden;top:0;left:0;right:0;bottom:0;pointer-events:non
     e}:host([animating]){-webkit-transform:translate(0,0);transform:translate3d(0,0,
     0)}#background,#waves,.wave,.wave-container{pointer-events:none;position:absolut
     e;top:0;left:0;width:100%;height:100%}#background,.wave{opacity:0}#waves,.wave{o
     verflow:hidden}.wave,.wave-container{border-radius:50%}:host(.circle) #backgroun
     d,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-container{overflo
     w:hidden}</style> <div id="background"></div> <div id="waves"></div> </template>
      </dom-module> <script>!function(){function t(t){this.element=t,this.width=this.
     boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.
     width,this.height)}function i(t){this.element=t,this.color=window.getComputedSty
     le(t).color,this.wave=document.createElement("div"),this.waveContainer=document.
     createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classL
     ist.add("wave"),this.waveContainer.classList.add("wave-container"),Polymer.dom(t
     his.waveContainer).appendChild(this.wave),this.resetInteractionState()}var e={di
     stance:function(t,i,e,n){var s=t-e,o=i-n;return Math.sqrt(s*s+o*o)},now:window.p
     erformance&&window.performance.now?window.performance.now.bind(window.performanc
     e):Date.now};t.prototype={get boundingRect(){return this.element.getBoundingClie
     ntRect()},furthestCornerDistanceFrom:function(t,i){var n=e.distance(t,i,0,0),s=e
     .distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),a=e.distance(t,i,thi
     s.width,this.height);return Math.max(n,s,o,a)}},i.MAX_RADIUS=300,i.prototype={ge
     t recenters(){return this.element.recenters},get center(){return this.element.ce
     nter},get mouseDownElapsed(){var t;return this.mouseDownStart?(t=e.now()-this.mo
     useDownStart,this.mouseUpStart&&(t-=this.mouseUpElapsed),t):0},get mouseUpElapse
     d(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mouseDownElapsedSe
     conds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return thi
     s.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsed
     Seconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.ini
     tialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity
     },get radius(){var t=this.containerMetrics.width*this.containerMetrics.width,e=t
     his.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqr
     t(t+e),i.MAX_RADIUS)+5,s=1.1-.2*(n/i.MAX_RADIUS),o=this.mouseInteractionSeconds/
     s,a=n*(1-Math.pow(80,-o));return Math.abs(a)},get opacity(){return this.mouseUpS
     tart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecay
     Velocity):this.initialOpacity},get outerOpacity(){var t=.3*this.mouseUpElapsedSe
     conds,i=this.opacity;return Math.max(0,Math.min(t,i))},get isOpacityFullyDecayed
     (){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},
     get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius
     >=Math.min(this.maxRadius,i.MAX_RADIUS)},get isAnimationComplete(){return this.m
     ouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translatio
     nFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt
     (2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEn
     d-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.transla
     tionFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.
     mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRad
     ius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this
     .xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new t(this.elemen
     t)},draw:function(){var t,i,e;this.wave.style.opacity=this.opacity,t=this.radius
     /(this.containerMetrics.size/2),i=this.xNow-this.containerMetrics.width/2,e=this
     .yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="t
     ranslate("+i+"px, "+e+"px)",this.waveContainer.style.transform="translate3d("+i+
     "px, "+e+"px, 0)",this.wave.style.webkitTransform="scale("+t+","+t+")",this.wave
     .style.transform="scale3d("+t+","+t+",1)"},downAction:function(t){var i=this.con
     tainerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionStat
     e(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this.yStart=n,this.sl
     ideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStar
     t=t?t.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.wid
     th/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect.top:this.contai
     nerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,this.slideDistance
     =e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.co
     ntainerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveCont
     ainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px"
     ,this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetric
     s.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",th
     is.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function
     (t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:function(){Polymer.dom
     (this.waveContainer.parentNode).removeChild(this.waveContainer)}},Polymer({is:"p
     aper-ripple",behaviors:[Polymer.IronA11yKeysBehavior],properties:{initialOpacity
     :{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{
     type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:
     function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,
     value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{ty
     pe:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,valu
     e:function(){return this.animate.bind(this)}}},get target(){return this.keyEvent
     Target},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpace
     Keydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.
     nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().host:this.keyEvent
     Target=this.parentNode;var t=this.keyEventTarget;this.listen(t,"up","uiUpAction"
     ),this.listen(t,"down","uiDownAction")},detached:function(){this.unlisten(this.k
     eyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDow
     nAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var t=0;t<this
     .ripples.length;++t)if(!this.ripples[t].isAnimationComplete)return!0;return!1},s
     imulatedRipple:function(){this.downAction(null),this.async(function(){this.upAct
     ion()},1)},uiDownAction:function(t){this.noink||this.downAction(t)},downAction:f
     unction(t){if(!(this.holdDown&&this.ripples.length>0)){var i=this.addRipple();i.
     downAction(t),this._animating||(this._animating=!0,this.animate())}},uiUpAction:
     function(t){this.noink||this.upAction(t)},upAction:function(t){this.holdDown||(t
     his.ripples.forEach(function(i){i.upAction(t)}),this._animating=!0,this.animate(
     ))},onAnimationComplete:function(){this._animating=!1,this.$.background.style.ba
     ckgroundColor=null,this.fire("transitionend")},addRipple:function(){var t=new i(
     this);return Polymer.dom(this.$.waves).appendChild(t.waveContainer),this.$.backg
     round.style.backgroundColor=t.color,this.ripples.push(t),this._setAnimating(!0),
     t},removeRipple:function(t){var i=this.ripples.indexOf(t);i<0||(this.ripples.spl
     ice(i,1),t.remove(),this.ripples.length||this._setAnimating(!1))},animate:functi
     on(){if(this._animating){var t,i;for(t=0;t<this.ripples.length;++t)i=this.ripple
     s[t],i.draw(),this.$.background.style.opacity=i.outerOpacity,i.isOpacityFullyDec
     ayed&&!i.isRestingAtMaxRadius&&this.removeRipple(i);this.shouldKeepAnimating||0!
     ==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAn
     imationComplete()}},_onEnterKeydown:function(){this.uiDownAction(),this.async(th
     is.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:
     function(){this.uiUpAction()},_holdDownChanged:function(t,i){void 0!==i&&(t?this
     .downAction():this.upAction())}})}()</script> <script>Polymer.PaperRippleBehavio
     r={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{t
     ype:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_
     downHandler:function(e){Polymer.IronButtonStateImpl._downHandler.call(this,e),th
     is.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple())
     {this._ripple=this._createRipple(),this._ripple.noink=this.noink;var i=this._rip
     pleContainer||this.root;if(i&&Polymer.dom(i).appendChild(this._ripple),e){var n=
     Polymer.dom(this._rippleContainer||this),t=Polymer.dom(e).rootTarget;n.deepConta
     ins(t)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return this.ensureR
     ipple(),this._ripple},hasRipple:function(){return Boolean(this._ripple)},_create
     Ripple:function(){return document.createElement("paper-ripple")},_noinkChanged:f
     unction(e){this.hasRipple()&&(this._ripple.noink=e)}}</script> <script>Polymer.P
     aperButtonBehaviorImpl={properties:{elevation:{type:Number,reflectToAttribute:!0
     ,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, presse
     d, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)
     "],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:f
     unction(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedF
     ocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e)
     {this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){Polymer.
     IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.get
     Ripple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:funct
     ion(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e),this.hasRippl
     e()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Polymer.IronButton
     State,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperButtonBe
     haviorImpl]</script> <style is="custom-style">:root{--shadow-transition:{transit
     ion:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{box-shadow:none};--s
     hadow-elevation-2dp:{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0
     ,0,.12),0 3px 1px -2px rgba(0,0,0,.2)};--shadow-elevation-3dp:{box-shadow:0 3px 
     4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12),0 3px 3px -2px rgba(0,0,0,.4)}
     ;--shadow-elevation-4dp:{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgb
     a(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4)};--shadow-elevation-6dp:{box-shadow:0
      6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0
     ,0,.4)};--shadow-elevation-8dp:{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 
     14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4)};--shadow-elevation-12dp:
     {box-shadow:0 12px 16px 1px rgba(0,0,0,.14),0 4px 22px 3px rgba(0,0,0,.12),0 6px
      7px -4px rgba(0,0,0,.4)};--shadow-elevation-16dp:{box-shadow:0 16px 24px 2px rg
     ba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)};}</
     style> <dom-module id="paper-material-shared-styles" assetpath="/res/imp/bower_c
     omponents/paper-material/"> <template> <style>:host{display:block;position:relat
     ive}:host([elevation="1"]){@apply(--shadow-elevation-2dp)}:host([elevation="2"])
     {@apply(--shadow-elevation-4dp)}:host([elevation="3"]){@apply(--shadow-elevation
     -6dp)}:host([elevation="4"]){@apply(--shadow-elevation-8dp)}:host([elevation="5"
     ]){@apply(--shadow-elevation-16dp)}</style> </template> </dom-module> <style is=
     "custom-style">:root{--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-
     red-500:#db4437;--google-red-700:#c53929;--google-blue-100:#c6dafc;--google-blue
     -300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-
     100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green
     -700:#0b8043;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-ye
     llow-500:#f4b400;--google-yellow-700:#f09300;--google-grey-100:#f5f5f5;--google-
     grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--paper-red
     -50:#ffebee;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57
     373;--paper-red-400:#ef5350;--paper-red-500:#f44336;--paper-red-600:#e53935;--pa
     per-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-
     a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:
     #d50000;--paper-pink-50:#fce4ec;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb
     1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-500:#e91e63;--p
     aper-pink-600:#d81b60;--paper-pink-700:#c2185b;--paper-pink-800:#ad1457;--paper-
     pink-900:#880e4f;--paper-pink-a100:#ff80ab;--paper-pink-a200:#ff4081;--paper-pin
     k-a400:#f50057;--paper-pink-a700:#c51162;--paper-purple-50:#f3e5f5;--paper-purpl
     e-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purp
     le-400:#ab47bc;--paper-purple-500:#9c27b0;--paper-purple-600:#8e24aa;--paper-pur
     ple-700:#7b1fa2;--paper-purple-800:#6a1b9a;--paper-purple-900:#4a148c;--paper-pu
     rple-a100:#ea80fc;--paper-purple-a200:#e040fb;--paper-purple-a400:#d500f9;--pape
     r-purple-a700:#aa00ff;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-100:#d1
     c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-dee
     p-purple-400:#7e57c2;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e
     35b1;--paper-deep-purple-700:#512da8;--paper-deep-purple-800:#4527a0;--paper-dee
     p-purple-900:#311b92;--paper-deep-purple-a100:#b388ff;--paper-deep-purple-a200:#
     7c4dff;--paper-deep-purple-a400:#651fff;--paper-deep-purple-a700:#6200ea;--paper
     -indigo-50:#e8eaf6;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper
     -indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-500:#3f51b5;--pape
     r-indigo-600:#3949ab;--paper-indigo-700:#303f9f;--paper-indigo-800:#283593;--pap
     er-indigo-900:#1a237e;--paper-indigo-a100:#8c9eff;--paper-indigo-a200:#536dfe;--
     paper-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-blue-50:#e3f2fd;--
     paper-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper
     -blue-400:#42a5f5;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue
     -700:#1976d2;--paper-blue-800:#1565c0;--paper-blue-900:#0d47a1;--paper-blue-a100
     :#82b1ff;--paper-blue-a200:#448aff;--paper-blue-a400:#2979ff;--paper-blue-a700:#
     2962ff;--paper-light-blue-50:#e1f5fe;--paper-light-blue-100:#b3e5fc;--paper-ligh
     t-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6
     ;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blu
     e-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--pa
     per-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a
     400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-cyan-50:#e0f7fa;--paper-cyan
     -100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:
     #26c6da;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097
     a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;-
     -paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--p
     aper-teal-50:#e0f2f1;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-t
     eal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-500:#009688;--paper-teal-6
     00:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#0
     04d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de
     9b6;--paper-teal-a700:#00bfa5;--paper-green-50:#e8f5e9;--paper-green-100:#c8e6c9
     ;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;-
     -paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--p
     aper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--pa
     per-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--p
     aper-light-green-50:#f1f8e9;--paper-light-green-100:#dcedc8;--paper-light-green-
     200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--pa
     per-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-
     700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--pa
     per-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-gree
     n-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-50:#f9fbe7;--paper-
     lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-
     400:#d4e157;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#
     afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff
     81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00
     ;--paper-yellow-50:#fffde7;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d
     ;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-500:#ffeb3
     b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a8
     25;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#f
     fff00;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600;--paper-amber-50:#
     fff8e1;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ff
     d54f;--paper-amber-400:#ffca28;--paper-amber-500:#ffc107;--paper-amber-600:#ffb3
     00;--paper-amber-700:#ffa000;--paper-amber-800:#ff8f00;--paper-amber-900:#ff6f00
     ;--paper-amber-a100:#ffe57f;--paper-amber-a200:#ffd740;--paper-amber-a400:#ffc40
     0;--paper-amber-a700:#ffab00;--paper-orange-50:#fff3e0;--paper-orange-100:#ffe0b
     2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa7
     26;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57
     c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#f
     fd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a70
     0:#ff6500;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-100:#ffccbc;--paper
     -deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400
     :#ff7043;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper
     -deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900
     :#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--pap
     er-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-brown-50:#e
     febe9;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a18
     87f;--paper-brown-400:#8d6e63;--paper-brown-500:#795548;--paper-brown-600:#6d4c4
     1;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;
     --paper-grey-50:#fafafa;--paper-grey-100:#f5f5f5;--paper-grey-200:#eeeeee;--pape
     r-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-500:#9e9e9e;--paper-gre
     y-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900
     :#212121;--paper-blue-grey-50:#eceff1;--paper-blue-grey-100:#cfd8dc;--paper-blue
     -grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--
     paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:
     #455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--dark-divid
     er-opacity:0.12;--dark-disabled-opacity:0.38;--dark-secondary-opacity:0.54;--dar
     k-primary-opacity:0.87;--light-divider-opacity:0.12;--light-disabled-opacity:0.3
     ;--light-secondary-opacity:0.7;--light-primary-opacity:1.0}</style> <style is="c
     ustom-style">:root{--primary-text-color:var(--light-theme-text-color);--primary-
     background-color:var(--light-theme-background-color);--secondary-text-color:var(
     --light-theme-secondary-color);--disabled-text-color:var(--light-theme-disabled-
     color);--divider-color:var(--light-theme-divider-color);--error-color:var(--pape
     r-deep-orange-a700);--primary-color:var(--paper-indigo-500);--light-primary-colo
     r:var(--paper-indigo-100);--dark-primary-color:var(--paper-indigo-700);--accent-
     color:var(--paper-pink-a200);--light-accent-color:var(--paper-pink-a100);--dark-
     accent-color:var(--paper-pink-a400);--light-theme-background-color:#ffffff;--lig
     ht-theme-base-color:#000000;--light-theme-text-color:var(--paper-grey-900);--lig
     ht-theme-secondary-color:#737373;--light-theme-disabled-color:#9b9b9b;--light-th
     eme-divider-color:#dbdbdb;--dark-theme-background-color:var(--paper-grey-900);--
     dark-theme-base-color:#ffffff;--dark-theme-text-color:#ffffff;--dark-theme-secon
     dary-color:#bcbcbc;--dark-theme-disabled-color:#646464;--dark-theme-divider-colo
     r:#3c3c3c;--text-primary-color:var(--dark-theme-text-color);--default-primary-co
     lor:var(--primary-color)}</style> <dom-module id="paper-fab" assetpath="/res/imp
     /bower_components/paper-fab/"> <template strip-whitespace=""> <style include="pa
     per-material-shared-styles">:host{@apply(--layout-vertical);@apply(--layout-cent
     er-center);background:var(--paper-fab-background,--accent-color);border-radius:5
     0%;box-sizing:border-box;color:var(--text-primary-color);cursor:pointer;height:5
     6px;min-width:0;outline:0;padding:16px;position:relative;-moz-user-select:none;-
     ms-user-select:none;-webkit-user-select:none;user-select:none;width:56px;z-index
     :0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transpare
     nt;@apply(--paper-fab)}[hidden]{display:none!important}:host([mini]){width:40px;
     height:40px;padding:8px;@apply(--paper-fab-mini)}:host([disabled]){color:var(--p
     aper-fab-disabled-text,--paper-grey-500);background:var(--paper-fab-disabled-bac
     kground,--paper-grey-300);@apply(--paper-fab-disabled)}iron-icon{@apply(--paper-
     fab-iron-icon)}span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:
     ellipsis;text-align:center}:host(.keyboard-focus){background:var(--paper-fab-key
     board-focus-background,--paper-pink-900)}</style> <iron-icon id="icon" hidden$="
     {{!_computeIsIconFab(icon, src)}}" src="[[src]]" icon="[[icon]]"></iron-icon> <s
     pan hidden$="{{_computeIsIconFab(icon, src)}}">{{label}}</span> </template> <scr
     ipt>Polymer({is:"paper-fab",behaviors:[Polymer.PaperButtonBehavior],properties:{
     src:{type:String,value:""},icon:{type:String,value:""},mini:{type:Boolean,value:
     !1,reflectToAttribute:!0},label:{type:String,observer:"_labelChanged"}},_labelCh
     anged:function(){this.setAttribute("aria-label",this.label)},_computeIsIconFab:f
     unction(e,t){return e.length>0||t.length>0}})</script> </dom-module> <script>Pol
     ymer.PaperSpinnerBehavior={listeners:{animationend:"__reset",webkitAnimationEnd:
     "__reset"},properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,obser
     ver:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"}
     ,__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){
     return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t
     ){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){e=
     ==this.getPropertyInfo("alt").value?this.alt=this.getAttribute("aria-label")||e:
     (this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidde
     n:function(e){var t="aria-hidden";e?this.setAttribute(t,"true"):this.removeAttri
     bute(t)},__reset:function(){this.active=!1,this.__coolingDown=!1}}</script> <dom
     -module id="paper-spinner-styles" assetpath="/res/imp/bower_components/paper-spi
     nner/"> <template> <style>:host{display:inline-block;position:relative;width:28p
     x;height:28px;--paper-spinner-container-rotation-duration:1568ms;--paper-spinner
     -expand-contract-duration:1333ms;--paper-spinner-full-cycle-duration:5332ms;--pa
     per-spinner-cooldown-duration:400ms}#spinnerContainer{width:100%;height:100%;dir
     ection:ltr}#spinnerContainer.active{-webkit-animation:container-rotate var(--pap
     er-spinner-container-rotation-duration) linear infinite;animation:container-rota
     te var(--paper-spinner-container-rotation-duration) linear infinite}@-webkit-key
     frames container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes containe
     r-rotate{to{transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100
     %;height:100%;opacity:0;white-space:nowrap;border-color:var(--paper-spinner-colo
     r,--google-blue-500)}.layer-1{border-color:var(--paper-spinner-layer-1-color,--g
     oogle-blue-500)}.layer-2{border-color:var(--paper-spinner-layer-2-color,--google
     -red-500)}.layer-3{border-color:var(--paper-spinner-layer-3-color,--google-yello
     w-500)}.layer-4{border-color:var(--paper-spinner-layer-4-color,--google-green-50
     0)}.active .spinner-layer{-webkit-animation-name:fill-unfill-rotate;-webkit-anim
     ation-duration:var(--paper-spinner-full-cycle-duration);-webkit-animation-timing
     -function:cubic-bezier(.4,0,.2,1);-webkit-animation-iteration-count:infinite;ani
     mation-name:fill-unfill-rotate;animation-duration:var(--paper-spinner-full-cycle
     -duration);animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration
     -count:infinite;opacity:1}.active .spinner-layer.layer-1{-webkit-animation-name:
     fill-unfill-rotate,layer-1-fade-in-out;animation-name:fill-unfill-rotate,layer-1
     -fade-in-out}.active .spinner-layer.layer-2{-webkit-animation-name:fill-unfill-r
     otate,layer-2-fade-in-out;animation-name:fill-unfill-rotate,layer-2-fade-in-out}
     .active .spinner-layer.layer-3{-webkit-animation-name:fill-unfill-rotate,layer-3
     -fade-in-out;animation-name:fill-unfill-rotate,layer-3-fade-in-out}.active .spin
     ner-layer.layer-4{-webkit-animation-name:fill-unfill-rotate,layer-4-fade-in-out;
     animation-name:fill-unfill-rotate,layer-4-fade-in-out}@-webkit-keyframes fill-un
     fill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(
     270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540d
     eg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}
     87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@ke
     yframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(2
     70deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transfo
     rm:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to
     {transform:rotate(1080deg)}}@-webkit-keyframes layer-1-fade-in-out{0%{opacity:1}
     25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@keyframes
      layer-1-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{
     opacity:1}to{opacity:1}}@-webkit-keyframes layer-2-fade-in-out{0%{opacity:0}15%{
     opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}to{opacity:0}}@keyframes lay
     er-2-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opac
     ity:0}to{opacity:0}}@-webkit-keyframes layer-3-fade-in-out{0%{opacity:0}40%{opac
     ity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}to{opacity:0}}@keyframes layer-3
     -fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:
     0}to{opacity:0}}@-webkit-keyframes layer-4-fade-in-out{0%{opacity:0}65%{opacity:
     0}75%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes layer-4-fade-in-out{0%{op
     acity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}.circle-clipper{
     display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;bor
     der-color:inherit}.spinner-layer::after{left:45%;width:10%;border-top-style:soli
     d}.circle-clipper::after,.spinner-layer::after{content:'';box-sizing:border-box;
     position:absolute;top:0;border-width:var(--paper-spinner-stroke-width,3px);borde
     r-color:inherit;border-radius:50%}.circle-clipper::after{bottom:0;width:200%;bor
     der-style:solid;border-bottom-color:transparent!important}.circle-clipper.left::
     after{left:0;border-right-color:transparent!important;-webkit-transform:rotate(1
     29deg);transform:rotate(129deg)}.circle-clipper.right::after{left:-100%;border-l
     eft-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rota
     te(-129deg)}.active .circle-clipper::after,.active .gap-patch::after{-webkit-ani
     mation-duration:var(--paper-spinner-expand-contract-duration);-webkit-animation-
     timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-iteration-count:infini
     te;animation-duration:var(--paper-spinner-expand-contract-duration);animation-ti
     ming-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite}.active
      .circle-clipper.left::after{-webkit-animation-name:left-spin;animation-name:lef
     t-spin}.active .circle-clipper.right::after{-webkit-animation-name:right-spin;an
     imation-name:right-spin}@-webkit-keyframes left-spin{0%{-webkit-transform:rotate
     (130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)
     }}@keyframes left-spin{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}t
     o{transform:rotate(130deg)}}@-webkit-keyframes right-spin{0%{-webkit-transform:r
     otate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-1
     30deg)}}@keyframes right-spin{0%{transform:rotate(-130deg)}50%{transform:rotate(
     5deg)}to{transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation
     :container-rotate var(--paper-spinner-container-rotation-duration) linear infini
     te,fade-out var(--paper-spinner-cooldown-duration) cubic-bezier(.4,0,.2,1);anima
     tion:container-rotate var(--paper-spinner-container-rotation-duration) linear in
     finite,fade-out var(--paper-spinner-cooldown-duration) cubic-bezier(.4,0,.2,1)}@
     -webkit-keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-out{0%{opa
     city:1}to{opacity:0}}</style> </template> </dom-module> <dom-module id="paper-sp
     inner-lite" assetpath="/res/imp/bower_components/paper-spinner/"> <template stri
     p-whitespace=""> <style include="paper-spinner-styles"></style> <div id="spinner
     Container" class-name="[[__computeContainerClasses(active, __coolingDown)]]"> <d
     iv class="spinner-layer"> <div class="circle-clipper left"></div> <div class="ci
     rcle-clipper right"></div> </div> </div> </template> <script>Polymer({is:"paper-
     spinner-lite",behaviors:[Polymer.PaperSpinnerBehavior]})</script> </dom-module> 
     <script>!function(){"use strict";Polymer.IronJsonpLibraryBehavior={properties:{l
     ibraryLoaded:{type:Boolean,value:!1,notify:!0,readOnly:!0},libraryErrorMessage:{
     type:String,value:null,notify:!0,readOnly:!0}},observers:["_libraryUrlChanged(li
     braryUrl)"],_libraryUrlChanged:function(r){this._isReady&&this.libraryUrl&&this.
     _loadLibrary()},_libraryLoadCallback:function(r,i){r?(console.warn("Library load
      failed:",r.message),this._setLibraryErrorMessage(r.message)):(this._setLibraryE
     rrorMessage(null),this._setLibraryLoaded(!0),this.notifyEvent&&this.fire(this.no
     tifyEvent,i))},_loadLibrary:function(){r.require(this.libraryUrl,this._libraryLo
     adCallback.bind(this),this.callbackName)},ready:function(){this._isReady=!0,this
     .libraryUrl&&this._loadLibrary()}};var r={apiMap:{},require:function(r,t,e){var 
     a=this.nameFromUrl(r);this.apiMap[a]||(this.apiMap[a]=new i(a,r,e)),this.apiMap[
     a].requestNotify(t)},nameFromUrl:function(r){return r.replace(/[\:\/\%\?\&\.\=\-
     \,]/g,"_")+"_api"}},i=function(r,i,t){if(this.notifiers=[],!t){if(!(i.indexOf(th
     is.callbackMacro)>=0))return void(this.error=new Error("IronJsonpLibraryBehavior
      a %%callback%% parameter is required in libraryUrl"));t=r+"_loaded",i=i.replace
     (this.callbackMacro,t)}this.callbackName=t,window[this.callbackName]=this.succes
     s.bind(this),this.addScript(i)};i.prototype={callbackMacro:"%%callback%%",loaded
     :!1,addScript:function(r){var i=document.createElement("script");i.src=r,i.onerr
     or=this.handleError.bind(this);var t=document.querySelector("script")||document.
     body;t.parentNode.insertBefore(i,t),this.script=i},removeScript:function(){this.
     script.parentNode&&this.script.parentNode.removeChild(this.script),this.script=n
     ull},handleError:function(r){this.error=new Error("Library failed to load"),this
     .notifyAll(),this.cleanup()},success:function(){this.loaded=!0,this.result=Array
     .prototype.slice.call(arguments),this.notifyAll(),this.cleanup()},cleanup:functi
     on(){delete window[this.callbackName]},notifyAll:function(){this.notifiers.forEa
     ch(function(r){r(this.error,this.result)}.bind(this)),this.notifiers=[]},request
     Notify:function(r){this.loaded||this.error?r(this.error,this.result):this.notifi
     ers.push(r)}}}()</script> <script>Polymer({is:"iron-jsonp-library",behaviors:[Po
     lymer.IronJsonpLibraryBehavior],properties:{libraryUrl:String,callbackName:Strin
     g,notifyEvent:String}})</script> <script>Polymer({is:"google-js-api",behaviors:[
     Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:{type:String,value:"htt
     ps://apis.google.com/js/api.js?onload=%%callback%%"},notifyEvent:{type:String,va
     lue:"js-api-load"}},get api(){return gapi}})</script> <script>!function(){var e=
     {appPackageName:"apppackagename",clientId:"clientid",cookiePolicy:"cookiepolicy"
     ,hostedDomain:"hostedDomain",openidPrompt:"prompt",requestVisibleActions:"reques
     tvisibleactions"},t={_clientId:null,get clientId(){return this._clientId},set cl
     ientId(e){if(this._clientId&&e&&e!=this._clientId)throw new Error("clientId cann
     ot change. Values do not match. New: "+e+" Old:"+this._clientId);e&&e!=this._cli
     entId&&(this._clientId=e,this.initAuth2())},_cookiePolicy:"single_host_origin",g
     et cookiePolicy(){return this._cookiePolicy},set cookiePolicy(e){e&&(this._cooki
     ePolicy=e)},_appPackageName:"",get appPackageName(){return this._appPackageName}
     ,set appPackageName(e){if(this._appPackageName&&e&&e!=this._appPackageName)throw
      new Error("appPackageName cannot change. Values do not match. New: "+e+" Old: "
     +this._appPackageName);e&&(this._appPackageName=e)},_requestVisibleActions:"",ge
     t requestVisibleactions(){return this._requestVisibleActions},set requestVisible
     actions(e){if(this._requestVisibleActions&&e&&e!=this._requestVisibleActions)thr
     ow new Error("requestVisibleactions cannot change. Values do not match. New: "+e
     +" Old: "+this._requestVisibleActions);e&&(this._requestVisibleActions=e)},_host
     edDomain:"",get hostedDomain(){return this._hostedDomain},set hostedDomain(e){if
     (this._hostedDomain&&e&&e!=this._hostedDomain)throw new Error("hostedDomain cann
     ot change. Values do not match. New: "+e+" Old: "+this._hostedDomain);e&&(this._
     hostedDomain=e)},_openidPrompt:"",get openidPrompt(){return this._openidPrompt},
     set openidPrompt(e){if("string"!=typeof e)throw new Error("openidPrompt must be 
     a string. Received "+typeof e);if(e){var t=e.split(" ");t=t.map(function(e){retu
     rn e.trim()}),t=t.filter(function(e){return e});var i={none:0,login:0,consent:0,
     select_account:0};t.forEach(function(e){if("none"==e&&t.length>1)throw new Error
     ("none cannot be combined with other openidPrompt values");if(!(e in i))throw ne
     w Error("invalid openidPrompt value "+e+". Valid values: "+Object.keys(i).join("
     , "))})}this._openidPrompt=e},_offline:!1,get offline(){return this._offline},se
     t offline(e){this._offline=e,this.updateAdditionalAuth()},_offlineAlwaysPrompt:!
     1,get offlineAlwaysPrompt(){return this._offlineAlwaysPrompt},set offlineAlwaysP
     rompt(e){this._offlineAlwaysPrompt=e,this.updateAdditionalAuth()},offlineGranted
     :!1,_apiLoader:null,_requestedScopeArray:[],get requestedScopes(){return this._r
     equestedScopeArray.join(" ")},_signedIn:!1,_grantedScopeArray:[],_needAdditional
     Auth:!0,_hasPlusScopes:!1,signinAwares:[],init:function(){this._apiLoader=docume
     nt.createElement("google-js-api"),this._apiLoader.addEventListener("js-api-load"
     ,this.loadAuth2.bind(this))},loadAuth2:function(){gapi.load("auth2",this.initAut
     h2.bind(this))},initAuth2:function(){if("gapi"in window&&"auth2"in window.gapi&&
     this.clientId){var e=gapi.auth2.init({client_id:this.clientId,cookie_policy:this
     .cookiePolicy,scope:this.requestedScopes,hosted_domain:this.hostedDomain});e.cur
     rentUser.listen(this.handleUserUpdate.bind(this)),e.then(function(){},function(e
     ){console.error(e)})}},handleUserUpdate:function(e){var t=e.isSignedIn();if(t!=t
     his._signedIn){this._signedIn=t;for(var i=0;i<this.signinAwares.length;i++)this.
     signinAwares[i]._setSignedIn(t)}this._grantedScopeArray=this.strToScopeArray(e.g
     etGrantedScopes()),this.updateAdditionalAuth();for(var n=e.getAuthResponse(),i=0
     ;i<this.signinAwares.length;i++)this.signinAwares[i]._updateScopeStatus(n)},setO
     fflineCode:function(e){for(var t=0;t<this.signinAwares.length;t++)this.signinAwa
     res[t]._updateOfflineCode(e)},strToScopeArray:function(e){if(!e)return[];for(var
      t=e.replace(/\ +/g," ").trim().split(" "),i=0;i<t.length;i++)t[i]=t[i].toLowerC
     ase(),"https://www.googleapis.com/auth/userinfo.profile"===t[i]&&(t[i]="profile"
     ),"https://www.googleapis.com/auth/userinfo.email"===t[i]&&(t[i]="email");return
      t.filter(function(e,t,i){return i.indexOf(e)===t})},isPlusScope:function(e){ret
     urn e.indexOf("/auth/games")>-1||e.indexOf("auth/plus.")>-1&&e.indexOf("auth/plu
     s.me")<0},hasGrantedScopes:function(e){for(var t=this.strToScopeArray(e),i=0;i<t
     .length;i++)if(this._grantedScopeArray.indexOf(t[i])===-1)return!1;return!0},req
     uestScopes:function(e){for(var t=this.strToScopeArray(e),i=!1,n=0;n<t.length;n++
     )this._requestedScopeArray.indexOf(t[n])===-1&&(this._requestedScopeArray.push(t
     [n]),i=!0);i&&(this.updateAdditionalAuth(),this.updatePlusScopes())},updateAddit
     ionalAuth:function(){var e=!1;if(!this.offlineAlwaysPrompt&&!this.offline||this.
     offlineGranted){for(var t=0;t<this._requestedScopeArray.length;t++)if(this._gran
     tedScopeArray.indexOf(this._requestedScopeArray[t])===-1){e=!0;break}}else e=!0;
     if(this._needAdditionalAuth!=e){this._needAdditionalAuth=e;for(var t=0;t<this.si
     gninAwares.length;t++)this.signinAwares[t]._setNeedAdditionalAuth(e)}},updatePlu
     sScopes:function(){for(var e=!1,t=0;t<this._requestedScopeArray.length;t++)if(th
     is.isPlusScope(this._requestedScopeArray[t])){e=!0;break}if(this._hasPlusScopes!
     =e){this._hasPlusScopes=e;for(var t=0;t<this.signinAwares.length;t++)this.signin
     Awares[t]._setHasPlusScopes(e)}},attachSigninAware:function(e){this.signinAwares
     .indexOf(e)==-1?(this.signinAwares.push(e),e._setNeedAdditionalAuth(this._needAd
     ditionalAuth),e._setSignedIn(this._signedIn),e._setHasPlusScopes(this._hasPlusSc
     opes)):console.warn("signinAware attached more than once",e)},detachSigninAware:
     function(e){var t=this.signinAwares.indexOf(e);t!=-1?this.signinAwares.splice(t,
     1):console.warn("Trying to detach unattached signin-aware")},getMissingScopes:fu
     nction(){return this._requestedScopeArray.filter(function(e){return this._grante
     dScopeArray.indexOf(e)===-1}.bind(this)).join(" ")},assertAuthInitialized:functi
     on(){if(!this.clientId)throw new Error("AuthEngine not initialized. clientId has
      not been configured.");if(!("gapi"in window))throw new Error("AuthEngine not in
     itialized. gapi has not loaded.");if(!("auth2"in window.gapi))throw new Error("A
     uthEngine not initialized. auth2 not loaded.")},signIn:function(){this.assertAut
     hInitialized();var i={scope:this.getMissingScopes()};Object.keys(e).forEach(func
     tion(t){this[t]&&""!==this[t]&&(i[e[t]]=this[t])},this);var n,o=gapi.auth2.getAu
     thInstance().currentUser.get();this.offline||this.offlineAlwaysPrompt?(i.redirec
     t_uri="postmessage",this.offlineAlwaysPrompt&&(i.approval_prompt="force"),n=gapi
     .auth2.getAuthInstance().grantOfflineAccess(i)):n=o.getGrantedScopes()?o.grant(i
     ):gapi.auth2.getAuthInstance().signIn(i),n.then(function(e){var i;e.code?(t.offl
     ineGranted=!0,i=gapi.auth2.getAuthInstance().currentUser.get(),t.setOfflineCode(
     e.code)):i=e;i.getAuthResponse()},function(e){"Access denied."!==e.reason&&this.
     signinAwares.forEach(function(t){t.errorNotify(e)})}.bind(this))},signOut:functi
     on(){this.assertAuthInitialized(),gapi.auth2.getAuthInstance().signOut().then(fu
     nction(){},function(e){console.error(e)})}};t.init(),Polymer({is:"google-signin-
     aware",properties:{appPackageName:{type:String,observer:"_appPackageNameChanged"
     },clientId:{type:String,observer:"_clientIdChanged"},cookiePolicy:{type:String,o
     bserver:"_cookiePolicyChanged"},requestVisibleActions:{type:String,observer:"_re
     questVisibleActionsChanged"},hostedDomain:{type:String,observer:"_hostedDomainCh
     anged"},offline:{type:Boolean,value:!1,observer:"_offlineChanged"},offlineAlways
     Prompt:{type:Boolean,value:!1,observer:"_offlineAlwaysPromptChanged"},scopes:{ty
     pe:String,value:"profile",observer:"_scopesChanged"},openidPrompt:{type:String,v
     alue:"",observer:"_openidPromptChanged"},signedIn:{type:Boolean,notify:!0,readOn
     ly:!0},isAuthorized:{type:Boolean,notify:!0,readOnly:!0,value:!1},needAdditional
     Auth:{type:Boolean,notify:!0,readOnly:!0},hasPlusScopes:{type:Boolean,value:!1,n
     otify:!0,readOnly:!0}},attached:function(){t.attachSigninAware(this)},detached:f
     unction(){t.detachSigninAware(this)},signIn:function(){t.signIn()},signOut:funct
     ion(){t.signOut()},errorNotify:function(e){this.fire("google-signin-aware-error"
     ,e)},_appPackageNameChanged:function(e,i){t.appPackageName=e},_clientIdChanged:f
     unction(e,i){t.clientId=e},_cookiePolicyChanged:function(e,i){t.cookiePolicy=e},
     _requestVisibleActionsChanged:function(e,i){t.requestVisibleActions=e},_hostedDo
     mainChanged:function(e,i){t.hostedDomain=e},_offlineChanged:function(e,i){t.offl
     ine=e},_offlineAlwaysPromptChanged:function(e,i){t.offlineAlwaysPrompt=e},_scope
     sChanged:function(e,i){t.requestScopes(e),this._updateScopeStatus(void 0)},_open
     idPromptChanged:function(e,i){t.openidPrompt=e},_updateScopeStatus:function(e){v
     ar i=this.signedIn&&t.hasGrantedScopes(this.scopes);i!==this.isAuthorized&&(this
     ._setIsAuthorized(i),i?this.fire("google-signin-aware-success",e):this.fire("goo
     gle-signin-aware-signed-out",e))},_updateOfflineCode:function(e){e&&this.fire("g
     oogle-signin-offline-success",{code:e})}})}()</script> <dom-module id="auth-sign
     in" assetpath="/res/imp/common/"> <template> <style>#avatar{border-radius:5px}a{
     color:#fff}.center{vertical-align:middle}</style> <google-signin-aware id="aware
     " client-id="[[client_id]]" scopes="email" on-google-signin-aware-success="_onSi
     gnin" on-google-signin-aware-signed-out="_onSignout"> </google-signin-aware> <te
     mplate is="dom-if" if="[[!signed_in]]"> <div id="signinContainer"> <a on-tap="si
     gnIn" href="#">Sign in</a> </div> </template> <template is="dom-if" if="[[signed
     _in]]"> <img class="center" id="avatar" src="[[profile.imageUrl]]" width="30" he
     ight="30"> <span class="center">[[profile.email]]</span> <span class="center">|<
     /span> <a class="center" on-tap="signOut" href="#">Sign out</a> </template> </te
     mplate> <script>"use strict";Polymer({is:"auth-signin",properties:{auth_headers:
     {type:Object,computed:"_makeHeader(auth_response)",notify:!0},auth_response:{typ
     e:Object,notify:!0},client_id:{type:String},profile:{type:Object,readOnly:!0,not
     ify:!0},signed_in:{type:Boolean,readOnly:!0,value:!1,notify:!0}},attached:functi
     on(){if(this.client_id){window.setTimeout(function(){if("gapi"in window&&"auth2"
     in window.gapi&&!this.signed_in&&!this._signingIn){var i=gapi.auth2.getAuthInsta
     nce().currentUser.get();i&&i.getAuthResponse().access_token?this._onSignin():thi
     s.$.aware.signIn()}else window.setTimeout(this.attached.bind(this))}.bind(this),
     300)}},_onSignin:function(){this._signingIn=!0;var i=gapi.auth2.getAuthInstance(
     ).currentUser.get(),t=i.getBasicProfile();this._setProfile({email:t.getEmail(),i
     mageUrl:t.getImageUrl()}),this.set("auth_response",i.getAuthResponse()),this._se
     tSigned_in(!0),this.fire("auth-signin"),this.async(function(){console.log("reloa
     ding credentials"),i.reloadAuthResponse(),this._onSignin()},1e3*this.auth_respon
     se.expires_in),this._signingIn=!1},_onSignout:function(i){this._setSigned_in(!1)
     ,this._setProfile(null)},_makeHeader:function(i){return i?{authorization:i.token
     _type+" "+i.access_token}:{}},signIn:function(){this.$.aware.signIn()},signOut:f
     unction(){this.$.aware.signOut()}})</script> </dom-module><dom-module id="swarmi
     ng-app" assetpath="/res/imp/common/"> <template> <style include="iron-flex">:hos
     t{position:absolute;top:0;bottom:0;left:0;right:0}app-toolbar{background-color:#
     1F78B4;color:#fff}app-toolbar a{color:#fff}.left{margin-right:15px}.right{margin
     -left:15px}.main-content{padding:3px}.main-content a{color:#1F78B4}.small,auth-s
     ignin{font-size:.7em}paper-fab{position:fixed;bottom:5px;right:5px;background-co
     lor:#1F78B4}paper-spinner-lite{--paper-spinner-color:var(--google-yellow-500)}</
     style> <app-header-layout> <app-header fixed=""> <app-toolbar> <div class="title
      left">[[name]]</div> <paper-spinner-lite class="left" active="[[_or(busy,_busy1
     ,_busy2)]]"></paper-spinner-lite> <a class="left" href="/newui/">Home</a> <a cla
     ss="left" href="/newui/botlist">Bot List</a> <a class="left" href="/newui/taskli
     st">Task List</a> <div class="flex"></div> <div class="small right"> Server: <a 
     href$="[[_versionLink(server_version)]]"> [[server_version.server_version]] </a>
      </div> <auth-signin class="right" client_id="[[client_id]]" auth_headers="{{aut
     h_headers}}" profile="{{profile}}" signed_in="{{signed_in}}"> </auth-signin> </a
     pp-toolbar> </app-header> <div class="main-content"> <content></content> </div> 
     <a target="_blank" href="https://bugs.chromium.org/p/chromium/issues/entry?compo
     nents=Infra%3EPlatform%3ESwarming&owner=kjlubick@chromium.org&status=Ass
     igned"> <paper-fab mini="" icon="icons:bug-report"></paper-fab> </a> </app-heade
     r-layout> </template> <script>Polymer({is:"swarming-app",behaviors:[SwarmingBeha
     viors.CommonBehavior],properties:{busy:{type:Boolean},client_id:{type:String},na
     me:{type:String},auth_headers:{type:Object,notify:!0,observer:"_load"},permissio
     ns:{type:Object,value:function(){return{}},notify:!0},profile:{type:Object,notif
     y:!0},server_version:{type:Object,notify:!0},signed_in:{type:Boolean,value:!1,no
     tify:!0},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean,value:!1}},_load:fu
     nction(){this._getJsonAsync("permissions","/_ah/api/swarming/v1/server/permissio
     ns","_busy1",this.auth_headers),this._getJsonAsync("server_version","/_ah/api/sw
     arming/v1/server/details","_busy2",this.auth_headers)},_versionLink:function(e){
     if(e&&e.server_version){var i=e.server_version.split("-");if(2===i.length)return
     "https://github.com/luci/luci-py/commit/"+i[1]}}})</script> </dom-module> <dom-m
     odule id="swarming-app-style" assetpath="/res/imp/common/"> <style>*{font-family
     :sans-serif}a[href]{color:#1F78B4}button{min-width:5.14em;background-color:#fff;
     color:#1f78b4;text-align:center;text-transform:uppercase;outline:0;border-radius
     :3px;padding:.6em 1.2em;border:solid #d3d3d3 1px;margin:.6em;cursor:pointer}butt
     on:hover{background:#eee}button:focus{background-color:#ddd;transition:backgroun
     d-color .1s cubic-bezier(.4,0,.2,1)}button.raised:active,button:active{backgroun
     d-color:#999;transition:background-color .1s cubic-bezier(.4,0,.2,1)}button:disa
     bled{color:#999}button:disabled:hover{background:initial;cursor:initial}button.a
     ction:active{background-color:#A6CEE3;transition:background-color .1s color .1s 
     cubic-bezier(.4,0,.2,1)}button.action{color:#fff;background:#1f78b4;border:none}
     button.action:disabled{color:#fff;background:#999;border:none}button.raised{tran
     sition:box-shadow .1s cubic-bezier(.4,0,.2,1);box-shadow:5px 5px 18px 0 rgba(0,0
     ,0,.3)}button.raised:active{box-shadow:2px 2px 5px 0 rgba(0,0,0,.1)}option,selec
     t{padding:.4em 1.2em;background-color:#fff;border:none;line-height:20px;vertical
     -align:middle}select{overflow-y:auto}</style> </dom-module> <dom-module id="swar
     ming-index" assetpath="/res/imp/index/"> <template> <style include="swarming-app
     -style">.command{font-family:monospace;margin-bottom:10px;margin-top:10px;white-
     space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}
     </style> <swarming-app client_id="[[client_id]]" auth_headers="{{_auth_headers}}
     " permissions="{{_permissions}}" server_version="{{_server_version}}" name="Swar
     ming Server" busy="[[_or(_busy1,busy2)]]"> <h2>Service Status</h2> <div>Server V
     ersion: [[_server_version.server_version]]</div> <div>Bot Version: [[_server_ver
     sion.bot_version]]</div> <ul> <li> <a href="/stats">Usage statistics</a> </li> <
     li> <a href="/restricted/mapreduce/status">Map Reduce Jobs</a> </li> <li> <a hre
     f$="[[_makeInstancesUrl(_server_version,_project_id)]]">View version's instances
      on Cloud Console</a> </li> <li> <a></a><a href$="[[_makeErrorUrl(_project_id)]]
     ">View server errors on Cloud Console</a> </li> <li> <a></a><a href$="[[_makeLog
     Url(_project_id)]]">View logs for HTTP 5xx on Cloud Console</a> </li> </ul> <h2>
     Configuration</h2> <ul> <li> <a href="/restricted/config">View server config</a>
      </li> <li> <a href="/restricted/upload/bootstrap">View/upload bootstrap.py</a> 
     </li> <li> <a href="/restricted/upload/bot_config">View/upload bot_config.py</a>
      </li> <li> <a href="/auth/groups">View/edit user groups</a> </li> </ul> <div hi
     dden$="[[_cannotBootstrap(_permissions)]]"> <h2>Bootstrapping a bot</h2> To boot
     strap a bot, run one of these (all links are valid for 1 hour): <ol> <li> <stron
     g> TL;DR; </strong> <pre class="command">python -c "import urllib; exec urllib.u
     rlopen('[[_host_url]]/bootstrap?tok=[[_bootstrap_token]]').read()"</pre> </li> <
     li> Escaped version to pass as a ssh argument: <pre class="command">'python -c "
     import urllib; exec urllib.urlopen('"'[[_host_url]]/bootstrap?tok=[[_bootstrap_t
     oken]]'"').read()"'</pre> </li> <li> Manually: <pre class="command" style="margi
     n-bottom:0">mkdir bot; cd bot |    4 var r=t.propertyDataFromStyles(n._styles,this),i=!this.__notStyleScopeCacheable;
     i&&(r.key.customStyle=this.customStyle,e=n._styleCache.retrieve(this.is,r.key,th
     is._styles));var a=Boolean(e);a?this._styleProperties=e._styleProperties:this._c
     omputeStyleProperties(r.properties),this._computeOwnStyleProperties(),a||(e=o.re
     trieve(this.is,this._ownStyleProperties,this._styles));var l=Boolean(e)&&!a,h=th
     is._applyStyleProperties(e);a||(h=h&&s?h.cloneNode(!0):h,e={style:h,_scopeSelect
     or:this._scopeSelector,_styleProperties:this._styleProperties},i&&(r.key.customS
     tyle={},this.mixin(r.key.customStyle,this.customStyle),n._styleCache.store(this.
     is,e,r.key,this._styles)),l||o.store(this.is,Object.create(e),this._ownStyleProp
     erties,this._styles))},_computeStyleProperties:function(e){var n=this._findStyle
     Host();n._styleProperties||n._computeStyleProperties();var r=Object.create(n._st
     yleProperties),s=t.hostAndRootPropertiesForScope(this);this.mixin(r,s.hostProps)
     ,e=e||t.propertyDataFromStyles(n._styles,this).properties,this.mixin(r,e),this.m
     ixin(r,s.rootProps),t.mixinCustomStyle(r,this.customStyle),t.reify(r),this._styl
     eProperties=r},_computeOwnStyleProperties:function(){for(var e,t={},n=0;n<this._
     ownStylePropertyNames.length;n++)e=this._ownStylePropertyNames[n],t[e]=this._sty
     leProperties[e];this._ownStyleProperties=t},_scopeCount:0,_applyStyleProperties:
     function(e){var n=this._scopeSelector;this._scopeSelector=e?e._scopeSelector:thi
     s.is+"-"+this.__proto__._scopeCount++;var r=t.applyElementStyle(this,this._style
     Properties,this._scopeSelector,e&&e.style);return s||t.applyElementScopeSelector
     (this,this._scopeSelector,n,this._scopeCssViaAttr),r},serializeValueToAttribute:
     function(t,n,r){if(r=r||this,"class"===n&&!s){var i=r===this?this.domHost||this.
     dataHost:this;i&&(t=i._scopeElementClass(r,t))}r=this.shadyRoot&&this.shadyRoot.
     _hasDistributed?Polymer.dom(r):r,e.call(this,t,n,r)},_scopeElementClass:function
     (e,t){return s||this._scopeCssViaAttr||(t=(t?t+" ":"")+a+" "+this.is+(e._scopeSe
     lector?" "+l+" "+e._scopeSelector:"")),t},updateStyles:function(e){e&&this.mixin
     (this.customStyle,e),i?t.updateNativeStyleProperties(this,this.customStyle):(thi
     s.isAttached?this._needsStyleProperties()?this._updateStyleProperties():this._st
     yleProperties=null:this.__stylePropertiesInvalid=!0,this._styleCache&&this._styl
     eCache.clear(),this._updateRootStyles())},_updateRootStyles:function(e){e=e||thi
     s.root;for(var t,n=Polymer.dom(e)._query(function(e){return e.shadyRoot||e.shado
     wRoot}),r=0,s=n.length;r<s&&(t=n[r]);r++)t.updateStyles&&t.updateStyles()}}),Pol
     ymer.updateStyles=function(e){r.updateStyles(e),Polymer.Base._updateRootStyles(d
     ocument)};var o=new Polymer.StyleCache;Polymer.customStyleCache=o;var a=n.SCOPE_
     NAME,l=t.XSCOPE_NAME}(),Polymer.Base._addFeature({_registerFeatures:function(){t
     his._prepIs(),this._prepConstructor(),this._prepStyles()},_finishRegisterFeature
     s:function(){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations()
     ,this._prepEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBi
     ndings(),this._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e
     .properties),this._addComplexObserverEffects(e.observers),this._addHostAttribute
     s(e.hostAttributes)},_initFeatures:function(){this._setupGestures(),this._setupC
     onfigure(),this._setupStyleProperties(),this._setupDebouncers(),this._setupShady
     (),this._registerHost(),this._template&&(this._validateApplyShim(),this._poolCon
     tent(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._marsh
     alAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehaviors(
     ),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_mar
     shalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),func
     tion(){var e,t=Polymer.StyleProperties,n=Polymer.StyleUtil,r=Polymer.CssParse,s=
     Polymer.StyleDefaults,i=Polymer.StyleTransformer,o=Polymer.ApplyShim,a=Polymer.D
     ebounce,l=Polymer.Settings;Polymer({is:"custom-style",extends:"style",_template:
     null,properties:{include:String},ready:function(){this.__appliedElement=this.__a
     ppliedElement||this,this.__cssBuild=n.getCssBuildType(this),this.__appliedElemen
     t!==this&&(this.__appliedElement.__cssBuild=this.__cssBuild),this._tryApply()},a
     ttached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesToDoc
     ument&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appliesT
     oDocument=!0;var e=this.__appliedElement;if(l.useNativeCSSProperties||(this.__ne
     edsUpdateStyles=s.hasStyleProperties(),s.addStyle(e)),e.textContent||this.includ
     e)this._apply(!0);else{var t=this,n=new MutationObserver(function(){n.disconnect
     (),t._apply(!0)});n.observe(e,{childList:!0})}}},_updateStyles:function(){Polyme
     r.updateStyles()},_apply:function(e){var t=this.__appliedElement;if(this.include
     &&(t.textContent=n.cssFromModules(this.include,!0)+t.textContent),t.textContent)
     {var r=this.__cssBuild,s=n.isTargetedBuild(r);if(!l.useNativeCSSProperties||!s){
     var a=n.rulesForStyle(t);if(s||n.forEachRule(a,function(e){i.documentRule(e),l.u
     seNativeCSSProperties&&!r&&o.transformRule(e)}),l.useNativeCSSProperties)t.textC
     ontent=n.toCssText(a);else{var h=this,c=function(){h._flushCustomProperties()};e
     ?Polymer.RenderStatus.whenReady(c):c()}}}},_flushCustomProperties:function(){thi
     s.__needsUpdateStyles?(this.__needsUpdateStyles=!1,e=a(e,this._updateStyles)):th
     is._applyCustomProperties()},_applyCustomProperties:function(){var e=this.__appl
     iedElement;this._computeStyleProperties();var s=this._styleProperties,i=n.rulesF
     orStyle(e);i&&(e.textContent=n.toCssText(i,function(e){var n=e.cssText=e.parsedC
     ssText;e.propertyInfo&&e.propertyInfo.cssText&&(n=r.removeCustomPropAssignment(n
     ),e.cssText=t.valueForProperties(n,s))}))}})}(),Polymer.Templatizer={properties:
     {__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Polymer
     .nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized=e,
     e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._content.
     _ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.create
     (Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t,e),
     t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropertyIn
     fo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElementCla
     ss=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren=thi
     s._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setProperty=t
     his.__setPropertyImpl;var n=this._constructorImpl,r=function(e,t){n.call(this,e,
     t)};r.prototype=t,t.constructor=r,e._content._ctor=r,this.ctor=r},_getRootDataHo
     st:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost},
     _showHideChildrenImpl:function(e){for(var t=this._children,n=0;n<t.length;n++){v
     ar r=t[n];Boolean(e)!=Boolean(r.__hideTemplateChildren__)&&(r.nodeType===Node.TE
     XT_NODE?e?(r.__polymerTextContent__=r.textContent,r.textContent=""):r.textConten
     t=r.__polymerTextContent__:r.style&&(e?(r.__polymerDisplay__=r.style.display,r.s
     tyle.display="none"):r.style.display=r.__polymerDisplay__)),r.__hideTemplateChil
     dren__=e}},__setPropertyImpl:function(e,t,n,r){r&&r.__hideTemplateChildren__&&"t
     extContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,n,r)},_d
     ebounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounceTem
     plate",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffects:f
     unction(e){var t=e._parentProps;for(var n in t)e._addPropertyEffect(n,"function"
     ,this._createHostPropEffector(n));for(n in this._instanceProps)e._addPropertyEff
     ect(n,"function",this._createInstancePropEffector(n))},_customPrepAnnotations:fu
     nction(e,t){e._template=t;var n=t._content;if(!n._notes){var r=e._rootDataHost;r
     &&(Polymer.Annotations.prepElement=function(){r._prepElement()}),n._notes=Polyme
     r.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._pro
     cessAnnotations(n._notes)}e._notes=n._notes,e._parentProps=n._parentProps},_prep
     ParentProperties:function(e,t){var n=this._parentProps=e._parentProps;if(this._f
     orwardParentProp&&n){var r,s=e._parentPropProto;if(!s){for(r in this._instancePr
     ops)delete n[r];s=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bind.
     prepareModel(s),Polymer.Base.prepareModelNotifyPath(s));for(r in n){var i=this._
     parentPropPrefix+r,o=[{kind:"function",effect:this._createForwardPropEffector(r)
     ,fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffect,e
     ffect:{event:Polymer.CaseMap.camelToDashCase(i)+"-changed"}}];Polymer.Bind._crea
     teAccessors(s,i,o)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forw
     ardParentProp=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,s
     ),t._pathEffector=function(e,t,n){return a._pathEffectorImpl(e,t,n)}}},_createFo
     rwardPropEffector:function(e){return function(t,n){this._forwardParentProp(e,n)}
     },_createHostPropEffector:function(e){var t=this._parentPropPrefix;return functi
     on(n,r){this.dataHost._templatized[t+e]=r}},_createInstancePropEffector:function
     (e){return function(t,n,r,s){s||this.dataHost._forwardInstanceProp(this,e,n)}},_
     extendTemplate:function(e,t){var n=Object.getOwnPropertyNames(t);t._propertySett
     er&&(e._propertySetter=t._propertySetter);for(var r,s=0;s<n.length&&(r=n[s]);s++
     ){var i=e[r],o=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,o)
     ,void 0!==i&&e._propertySetter(r,i)}},_showHideChildren:function(e){},_forwardIn
     stancePath:function(e,t,n){},_forwardInstanceProp:function(e,t,n){},_notifyPathU
     pImpl:function(e,t){var n=this.dataHost,r=e.indexOf("."),s=r<0?e:e.slice(0,r);n.
     _forwardInstancePath.call(n,this,e,t),s in n._parentProps&&n._templatized._notif
     yPath(n._parentPropPrefix+e,t)},_pathEffectorImpl:function(e,t,n){if(this._forwa
     rdParentPath&&0===e.indexOf(this._parentPropPrefix)){var r=e.substring(this._par
     entPropPrefix.length),s=this._modelForPath(r);s in this._parentProps&&this._forw
     ardParentPath(r,t)}Polymer.Base._pathEffector.call(this._templatized,e,t,n)},_co
     nstructorImpl:function(e,t){this._rootDataHost=t._getRootDataHost(),this._setupC
     onfigure(e),this._registerHost(t),this._beginHosting(),this.root=this.instanceTe
     mplate(this._template),this.root.__noContent=!this._notes._hasContent,this.root.
     __styleScoped=!0,this._endHosting(),this._marshalAnnotatedNodes(),this._marshalI
     nstanceEffects(),this._marshalAnnotatedListeners();for(var n=[],r=this.root.firs
     tChild;r;r=r.nextSibling)n.push(r),r._templateInstance=this;this._children=n,t._
     _hideTemplateChildren__&&this._showHideChildren(!0),this._tryReady()},_listenImp
     l:function(e,t,n){var r=this,s=this._rootDataHost,i=s._createEventHandler(e,t,n)
     ,o=function(e){e.model=r,i(e)};s._listen(e,t,o)},_scopeElementClassImpl:function
     (e,t){var n=this._rootDataHost;return n?n._scopeElementClass(e,t):t},stamp:funct
     ion(e){if(e=e||{},this._parentProps){var t=this._templatized;for(var n in this._
     parentProps)void 0===e[n]&&(e[n]=t[this._parentPropPrefix+n])}return new this.ct
     or(e,this)},modelForElement:function(e){for(var t;e;)if(t=e._templateInstance){i
     f(t.dataHost==this)return t;e=t.dataHost}else e=e.parentNode}},Polymer({is:"dom-
     template",extends:"template",_template:null,behaviors:[Polymer.Templatizer],read
     y:function(){this.templatize(this)}}),Polymer._collections=new WeakMap,Polymer.C
     ollection=function(e){Polymer._collections.set(e,this),this.userArray=e,this.sto
     re=e.slice(),this.initMap()},Polymer.Collection.prototype={constructor:Polymer.C
     ollection,initMap:function(){for(var e=this.omap=new WeakMap,t=this.pmap={},n=th
     is.store,r=0;r<n.length;r++){var s=n[r];s&&"object"==typeof s?e.set(s,r):t[s]=r}
     },add:function(e){var t=this.store.push(e)-1;return e&&"object"==typeof e?this.o
     map.set(e,t):this.pmap[e]=t,"#"+t},removeKey:function(e){(e=this._parseKey(e))&&
     (this._removeFromMap(this.store[e]),delete this.store[e])},_removeFromMap:functi
     on(e){e&&"object"==typeof e?this.omap.delete(e):delete this.pmap[e]},remove:func
     tion(e){var t=this.getKey(e);return this.removeKey(t),t},getKey:function(e){var 
     t;if(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e],void 0!=t)return"#"+t
     },getKeys:function(){return Object.keys(this.store).map(function(e){return"#"+e}
     )},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1)},setItem:function(e,t
     ){if(e=this._parseKey(e)){var n=this.store[e];n&&this._removeFromMap(n),t&&"obje
     ct"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.store[e]=t}},getItem:functi
     on(e){if(e=this._parseKey(e))return this.store[e]},getItems:function(){var e=[],
     t=this.store;for(var n in t)e.push(t[n]);return e},_applySplices:function(e){for
     (var t,n,r={},s=0;s<e.length&&(n=e[s]);s++){n.addedKeys=[];for(var i=0;i<n.remov
     ed.length;i++)t=this.getKey(n.removed[i]),r[t]=r[t]?null:-1;for(i=0;i<n.addedCou
     nt;i++){var o=this.userArray[n.index+i];t=this.getKey(o),t=void 0===t?this.add(o
     ):t,r[t]=r[t]?null:1,n.addedKeys.push(t)}}var a=[],l=[];for(t in r)r[t]<0&&(this
     .removeKey(t),a.push(t)),r[t]>0&&l.push(t);return[{removed:a,added:l}]}},Polymer
     .Collection.get=function(e){return Polymer._collections.get(e)||new Polymer.Coll
     ection(e)},Polymer.Collection.applySplices=function(e,t){var n=Polymer._collecti
     ons.get(e);return n?n._applySplices(t):null},Polymer({is:"dom-repeat",extends:"t
     emplate",_template:null,properties:{items:{type:Array},as:{type:String,value:"it
     em"},indexAs:{type:String,value:"index"},sort:{type:Function,observer:"_sortChan
     ged"},filter:{type:Function,observer:"_filterChanged"},observe:{type:String,obse
     rver:"_observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!0,re
     adOnly:!0},initialCount:{type:Number,observer:"_initializeChunking"},targetFrame
     rate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"_computeFram
     eTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],observers:["_itemsChan
     ged(items.*)"],created:function(){this._instances=[],this._pool=[],this._limit=1
     /0;var e=this;this._boundRenderChunk=function(){e._renderChunk()}},detached:func
     tion(){this.__isDetached=!0;for(var e=0;e<this._instances.length;e++)this._detac
     hInstance(e)},attached:function(){if(this.__isDetached){this.__isDetached=!1;for
     (var e=Polymer.dom(Polymer.dom(this).parentNode),t=0;t<this._instances.length;t+
     +)this._attachInstance(t,e)}},ready:function(){this._instanceProps={__key__:!0},
     this._instanceProps[this.as]=!0,this._instanceProps[this.indexAs]=!0,this.ctor||
     this.templatize(this)},_sortChanged:function(e){var t=this._getRootDataHost();th
     is._sortFn=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}
     ),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_fi
     lterChanged:function(e){var t=this._getRootDataHost();this._filterFn=e&&("functi
     on"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._needFullRefres
     h=!0,this.items&&this._debounceTemplate(this._render)},_computeFrameTime:functio
     n(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.initialCount&&
     (this._limit=this.initialCount,this._chunkCount=this.initialCount,this._lastChun
     kTime=performance.now())},_tryRenderChunk:function(){this.items&&this._limit<thi
     s.items.length&&this.debounce("renderChunk",this._requestRenderChunk)},_requestR
     enderChunk:function(){requestAnimationFrame(this._boundRenderChunk)},_renderChun
     k:function(){var e=performance.now(),t=this._targetFrameTime/(e-this._lastChunkT
     ime);this._chunkCount=Math.round(this._chunkCount*t)||1,this._limit+=this._chunk
     Count,this._lastChunkTime=e,this._debounceTemplate(this._render)},_observeChange
     d:function(){this._observePaths=this.observe&&this.observe.replace(".*",".").spl
     it(" ")},_itemsChanged:function(e){if("items"==e.path)Array.isArray(this.items)?
     this.collection=Polymer.Collection.get(this.items):this.items?this._error(this._
     logf("dom-repeat","expected array for `items`, found",this.items)):this.collecti
     on=null,this._keySplices=[],this._indexSplices=[],this._needFullRefresh=!0,this.
     _initializeChunking(),this._debounceTemplate(this._render);else if("items.splice
     s"==e.path)this._keySplices=this._keySplices.concat(e.value.keySplices),this._in
     dexSplices=this._indexSplices.concat(e.value.indexSplices),this._debounceTemplat
     e(this._render);else{var t=e.path.slice(6);this._forwardItemPath(t,e.value),this
     ._checkObservedPaths(t)}},_checkObservedPaths:function(e){if(this._observePaths)
     {e=e.substring(e.indexOf(".")+1);for(var t=this._observePaths,n=0;n<t.length;n++
     )if(0===e.indexOf(t[n]))return this._needFullRefresh=!0,void(this.delay?this.deb
     ounce("render",this._render,this.delay):this._debounceTemplate(this._render))}},
     render:function(){this._needFullRefresh=!0,this._debounceTemplate(this._render),
     this._flushTemplates()},_render:function(){this._needFullRefresh?(this._applyFul
     lRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this._sortFn?this
     ._applySplicesUserSort(this._keySplices):this._filterFn?this._applyFullRefresh()
     :this._applySplicesArrayOrder(this._indexSplices)),this._keySplices=[],this._ind
     exSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.length-1;t>=0;t--
     ){var n=this._instances[t];n.isPlaceholder&&t<this._limit?n=this._insertInstance
     (t,n.__key__):!n.isPlaceholder&&t>=this._limit&&(n=this._downgradeInstance(t,n._
     _key__)),e[n.__key__]=t,n.isPlaceholder||n.__setProperty(this.indexAs,t,!0)}this
     ._pool.length=0,this._setRenderedItemCount(this._instances.length),this.fire("do
     m-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this.col
     lection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var n=this.items;if(n)for(v
     ar r=0;r<n.length;r++)e.push(t.getKey(n[r]))}var s=this;for(this._filterFn&&(e=e
     .filter(function(e){return s._filterFn(t.getItem(e))})),this._sortFn&&e.sort(fun
     ction(e,n){return s._sortFn(t.getItem(e),t.getItem(n))}),r=0;r<e.length;r++){var
      i=e[r],o=this._instances[r];o?(o.__key__=i,!o.isPlaceholder&&r<this._limit&&o._
     _setProperty(this.as,t.getItem(i),!0)):r<this._limit?this._insertInstance(r,i):t
     his._insertPlaceholder(r,i)}for(var a=this._instances.length-1;a>=r;a--)this._de
     tachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplicesUs
     erSort:function(e){for(var t,n,r=this.collection,s={},i=0;i<e.length&&(n=e[i]);i
     ++){for(var o=0;o<n.removed.length;o++)t=n.removed[o],s[t]=s[t]?null:-1;for(o=0;
     o<n.added.length;o++)t=n.added[o],s[t]=s[t]?null:1}var a=[],l=[];for(t in s)s[t]
     ===-1&&a.push(this._keyToInstIdx[t]),1===s[t]&&l.push(t);if(a.length)for(a.sort(
     this._numericSort),i=a.length-1;i>=0;i--){var h=a[i];void 0!==h&&this._detachAnd
     RemoveInstance(h)}var c=this;if(l.length){this._filterFn&&(l=l.filter(function(e
     ){return c._filterFn(r.getItem(e))})),l.sort(function(e,t){return c._sortFn(r.ge
     tItem(e),r.getItem(t))});var u=0;for(i=0;i<l.length;i++)u=this._insertRowUserSor
     t(u,l[i])}},_insertRowUserSort:function(e,t){for(var n=this.collection,r=n.getIt
     em(t),s=this._instances.length-1,i=-1;e<=s;){var o=e+s>>1,a=this._instances[o]._
     _key__,l=this._sortFn(n.getItem(a),r);if(l<0)e=o+1;else{if(!(l>0)){i=o;break}s=o
     -1}}return i<0&&(i=s+1),this._insertPlaceholder(i,t),i},_applySplicesArrayOrder:
     function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++){for(var r=0;r<t.removed.leng
     th;r++)this._detachAndRemoveInstance(t.index);for(r=0;r<t.addedKeys.length;r++)t
     his._insertPlaceholder(t.index+r,t.addedKeys[r])}},_detachInstance:function(e){v
     ar t=this._instances[e];if(!t.isPlaceholder){for(var n=0;n<t._children.length;n+
     +){var r=t._children[n];Polymer.dom(t.root).appendChild(r)}return t}},_attachIns
     tance:function(e,t){var n=this._instances[e];n.isPlaceholder||t.insertBefore(n.r
     oot,this)},_detachAndRemoveInstance:function(e){var t=this._detachInstance(e);t&
     &this._pool.push(t),this._instances.splice(e,1)},_insertPlaceholder:function(e,t
     ){this._instances.splice(e,0,{isPlaceholder:!0,__key__:t})},_stampInstance:funct
     ion(e,t){var n={__key__:t};return n[this.as]=this.collection.getItem(t),n[this.i
     ndexAs]=e,this.stamp(n)},_insertInstance:function(e,t){var n=this._pool.pop();n?
     (n.__setProperty(this.as,this.collection.getItem(t),!0),n.__setProperty("__key__
     ",t,!0)):n=this._stampInstance(e,t);var r=this._instances[e+1],s=r&&!r.isPlaceho
     lder?r._children[0]:this,i=Polymer.dom(this).parentNode;return Polymer.dom(i).in
     sertBefore(n.root,s),this._instances[e]=n,n},_downgradeInstance:function(e,t){va
     r n=this._detachInstance(e);return n&&this._pool.push(n),n={isPlaceholder:!0,__k
     ey__:t},this._instances[e]=n,n},_showHideChildren:function(e){for(var t=0;t<this
     ._instances.length;t++)this._instances[t]._showHideChildren(e)},_forwardInstance
     Prop:function(e,t,n){if(t==this.as){var r;r=this._sortFn||this._filterFn?this.it
     ems.indexOf(this.collection.getItem(e.__key__)):e[this.indexAs],this.set("items.
     "+r,n)}},_forwardInstancePath:function(e,t,n){0===t.indexOf(this.as+".")&&this._
     notifyPath("items."+e.__key__+"."+t.slice(this.as.length+1),n)},_forwardParentPr
     op:function(e,t){for(var n,r=this._instances,s=0;s<r.length&&(n=r[s]);s++)n.isPl
     aceholder||n.__setProperty(e,t,!0)},_forwardParentPath:function(e,t){for(var n,r
     =this._instances,s=0;s<r.length&&(n=r[s]);s++)n.isPlaceholder||n._notifyPath(e,t
     ,!0)},_forwardItemPath:function(e,t){if(this._keyToInstIdx){var n=e.indexOf(".")
     ,r=e.substring(0,n<0?e.length:n),s=this._keyToInstIdx[r],i=this._instances[s];i&
     &!i.isPlaceholder&&(n>=0?(e=this.as+"."+e.substring(n+1),i._notifyPath(e,t,!0)):
     i.__setProperty(this.as,t,!0))}},itemForElement:function(e){var t=this.modelForE
     lement(e);return t&&t[this.as]},keyForElement:function(e){var t=this.modelForEle
     ment(e);return t&&t.__key__},indexForElement:function(e){var t=this.modelForElem
     ent(e);return t&&t[this.indexAs]}}),Polymer({is:"array-selector",_template:null,
     properties:{items:{type:Array,observer:"clearSelection"},multi:{type:Boolean,val
     ue:!1,observer:"clearSelection"},selected:{type:Object,notify:!0},selectedItem:{
     type:Object,notify:!0},toggle:{type:Boolean,value:!1}},clearSelection:function()
     {if(Array.isArray(this.selected))for(var e=0;e<this.selected.length;e++)this.unl
     inkPaths("selected."+e);else this.unlinkPaths("selected"),this.unlinkPaths("sele
     ctedItem");this.multi?this.selected&&!this.selected.length||(this.selected=[],th
     is._selectedColl=Polymer.Collection.get(this.selected)):(this.selected=null,this
     ._selectedColl=null),this.selectedItem=null},isSelected:function(e){return this.
     multi?void 0!==this._selectedColl.getKey(e):this.selected==e},deselect:function(
     e){if(this.multi){if(this.isSelected(e)){var t=this._selectedColl.getKey(e);this
     .arrayDelete("selected",e),this.unlinkPaths("selected."+t)}}else this.selected=n
     ull,this.selectedItem=null,this.unlinkPaths("selected"),this.unlinkPaths("select
     edItem")},select:function(e){var t=Polymer.Collection.get(this.items),n=t.getKey
     (e);if(this.multi)if(this.isSelected(e))this.toggle&&this.deselect(e);else{this.
     push("selected",e);var r=this._selectedColl.getKey(e);this.linkPaths("selected."
     +r,"items."+n)}else this.toggle&&e==this.selected?this.deselect():(this.selected
     =e,this.selectedItem=e,this.linkPaths("selected","items."+n),this.linkPaths("sel
     ectedItem","items."+n))}}),Polymer({is:"dom-if",extends:"template",_template:nul
     l,properties:{if:{type:Boolean,value:!1,observer:"_queueRender"},restamp:{type:B
     oolean,value:!1,observer:"_queueRender"}},behaviors:[Polymer.Templatizer],_queue
     Render:function(){this._debounceTemplate(this._render)},detached:function(){this
     .parentNode&&(this.parentNode.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Polymer.Set
     tings.hasShadow&&this.parentNode instanceof ShadowRoot)||this._teardownInstance(
     )},attached:function(){this.if&&this.ctor&&this.async(this._ensureInstance)},ren
     der:function(){this._flushTemplates()},_render:function(){this.if?(this.ctor||th
     is.templatize(this),this._ensureInstance(),this._showHideChildren()):this.restam
     p&&this._teardownInstance(),!this.restamp&&this._instance&&this._showHideChildre
     n(),this.if!=this._lastIf&&(this.fire("dom-change"),this._lastIf=this.if)},_ensu
     reInstance:function(){var e=Polymer.dom(this).parentNode;if(e){var t=Polymer.dom
     (e);if(this._instance){var n=this._instance._children;if(n&&n.length){var r=Poly
     mer.dom(this).previousSibling;if(r!==n[n.length-1])for(var s,i=0;i<n.length&&(s=
     n[i]);i++)t.insertBefore(s,this)}}else{this._instance=this.stamp();var o=this._i
     nstance.root;t.insertBefore(o,this)}}},_teardownInstance:function(){if(this._ins
     tance){var e=this._instance._children;if(e&&e.length)for(var t,n=Polymer.dom(Pol
     ymer.dom(e[0]).parentNode),r=0;r<e.length&&(t=e[r]);r++)n.removeChild(t);this._i
     nstance=null}},_showHideChildren:function(){var e=this.__hideTemplateChildren__|
     |!this.if;this._instance&&this._instance._showHideChildren(e)},_forwardParentPro
     p:function(e,t){this._instance&&this._instance.__setProperty(e,t,!0)},_forwardPa
     rentPath:function(e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Pol
     ymer({is:"dom-bind",extends:"template",_template:null,created:function(){var e=t
     his;Polymer.RenderStatus.whenReady(function(){"loading"==document.readyState?doc
     ument.addEventListener("DOMContentLoaded",function(){e._markImportsReady()}):e._
     markImportsReady()})},_ensureReady:function(){this._readied||this._readySelf()},
     _markImportsReady:function(){this._importsReady=!0,this._ensureReady()},_registe
     rFeatures:function(){this._prepConstructor()},_insertChildren:function(){var e=P
     olymer.dom(Polymer.dom(this).parentNode);e.insertBefore(this.root,this)},_remove
     Children:function(){if(this._children)for(var e=0;e<this._children.length;e++)th
     is.root.appendChild(this._children[e])},_initFeatures:function(){},_scopeElement
     Class:function(e,t){return this.dataHost?this.dataHost._scopeElementClass(e,t):t
     },_configureInstanceProperties:function(){},_prepConfigure:function(){var e={};f
     or(var t in this._propertyEffects)e[t]=this[t];var n=this._setupConfigure;this._
     setupConfigure=function(){n.call(this,e)}},attached:function(){this._importsRead
     y&&this.render()},detached:function(){this._removeChildren()},render:function(){
     this._ensureReady(),this._children||(this._template=this,this._prepAnnotations()
     ,this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._prepBindi
     ngs(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this._child
     ren=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren(),this.
     fire("dom-change")}})</script> <script> window.SwarmingBehaviors = window.Swarmi
     ngBehaviors || {}; | 
 |    5   (function(){ | 
 |    6     // This behavior wraps up all the shared swarming functionality. | 
 |    7     SwarmingBehaviors.CommonBehavior = { | 
 |    8  | 
 |    9       _botLink: function(bot_id) { | 
 |   10         if (!bot_id) { | 
 |   11           return undefined; | 
 |   12         } | 
 |   13         return "/newui/bot?id=" + bot_id; | 
 |   14       }, | 
 |   15  | 
 |   16       // Create a link to a bot list with the preloaded filters and columns. | 
 |   17       // filters should be an array of {key:String, value:String} and | 
 |   18       // columns should be an array of Strings. | 
 |   19       _botListLink: function(filters, columns) { | 
 |   20         filters = filters || []; | 
 |   21         columns = columns || []; | 
 |   22         var fArr = []; | 
 |   23         filters.forEach(function(f){ | 
 |   24           fArr.push(f.key + ":" + f.value); | 
 |   25         }); | 
 |   26         var obj = { | 
 |   27           f: fArr, | 
 |   28           c: columns, | 
 |   29         } | 
 |   30         return "/newui/botlist?" + sk.query.fromParamSet(obj); | 
 |   31       }, | 
 |   32  | 
 |   33       // Create a link to a bot in Google Cloud Console. Cloud console will try | 
 |   34       // to find the bot in the last project the user was logged in as, which | 
 |   35       // is the best we can do atm. | 
 |   36       _cloudConsoleLink: function(zone, bot_id) { | 
 |   37         return `http://console.cloud.google.com/compute/instancesDetail/zones/${
     zone}/instances/${bot_id}` | 
 |   38       }, | 
 |   39  | 
 |   40       // _getJsonAsync makes an XHR to a url, parses the response as JSON | 
 |   41       // and sticks the resulting object into the property with the name given | 
 |   42       // by "bindTo". If busy is defined, the property with that name will be | 
 |   43       // set to true while the request is in flight and false afterwards. | 
 |   44       // request headers (e.g. authentication) and query params will be used if | 
 |   45       // provided. Query params is an object like {String:Array<String>}. On | 
 |   46       // error, bindTo will be set to false.  It is not set to undefined | 
 |   47       // because computed values in Polymer don't fire if a property is | 
 |   48       // undefined. Clients should check that bindTo is not falsey. | 
 |   49       // To avoid multiple requests clobering one another, an object _jsonAsync | 
 |   50       // is created on "this" to debounce requests - the most recent request | 
 |   51       // will win out. | 
 |   52        _getJsonAsync: function(bindTo, url, busy, headers, params) { | 
 |   53         if (!bindTo || !url || !busy) { | 
 |   54           console.log("Need at least a polymer element to bind to, a busy elemen
     t, and a url"); | 
 |   55           return; | 
 |   56         } | 
 |   57         this.set(busy, true); | 
 |   58         var now = new Date(); | 
 |   59         this._jsonAsync = this._jsonAsync || {}; | 
 |   60         this._jsonAsync[bindTo] = now; | 
 |   61         if (params) { | 
 |   62           url = url + "?" + sk.query.fromParamSet(params); | 
 |   63         } | 
 |   64         sk.request("GET", url, "", headers).then(JSON.parse).then(function(json)
     { | 
 |   65           if (this._jsonAsync[bindTo] !== now) { | 
 |   66             console.log("ignoring result because a second request happened."); | 
 |   67             this.set(busy, false); | 
 |   68             return; | 
 |   69           } | 
 |   70           this.set(bindTo, json); | 
 |   71           this.set(busy, false); | 
 |   72         }.bind(this)).catch(function(reason){ | 
 |   73           console.log("Reason for failure of request to " + url, reason); | 
 |   74  | 
 |   75           if (this._jsonAsync[bindTo] !== now) { | 
 |   76             console.log("ignoring failure because a second request happened."); | 
 |   77             this.set(busy, false); | 
 |   78             return; | 
 |   79           } | 
 |   80           this.set(bindTo, false); | 
 |   81           this.set(busy, false); | 
 |   82         }.bind(this)); | 
 |   83       }, | 
 |   84  | 
 |   85       _humanDuration: function(timeInSecs) { | 
 |   86         return sk.human.strDuration(timeInSecs) || "0s"; | 
 |   87       }, | 
 |   88  | 
 |   89       _not: function(a) { | 
 |   90         return !a; | 
 |   91       }, | 
 |   92  | 
 |   93       _or: function() { | 
 |   94         var result = false; | 
 |   95         // can't use .foreach, as arguments isn't really an Array. | 
 |   96         for (var i = 0; i < arguments.length; i++) { | 
 |   97           result = result || arguments[i]; | 
 |   98         } | 
 |   99         return result; | 
 |  100       }, | 
 |  101  | 
 |  102       _taskLink: function(taskId, disableCanonicalID) { | 
 |  103         if (!taskId) { | 
 |  104           return undefined; | 
 |  105         } | 
 |  106         if (!disableCanonicalID) { | 
 |  107           // task abcefgh0 is the "canonical" task id. The first try has the id | 
 |  108           // abcefgh1. If there is a second (transparent retry), it will be | 
 |  109           // abcefgh2.  We almost always want to link to the canonical one, | 
 |  110           // because the milo output (if any) will only be generated for | 
 |  111           // abcefgh0, not abcefgh1 or abcefgh2. | 
 |  112           taskId = taskId.substring(0, taskId.length - 1) + "0"; | 
 |  113         } | 
 |  114         return "/newui/task?id=" + taskId; | 
 |  115       }, | 
 |  116  | 
 |  117       // _timeDiffApprox returns the approximate difference between now and | 
 |  118       // the specified date. | 
 |  119       _timeDiffApprox: function(date){ | 
 |  120         if (!date) { | 
 |  121           return "eons"; | 
 |  122         } | 
 |  123         return sk.human.diffDate(date.getTime()); | 
 |  124       }, | 
 |  125  | 
 |  126       // timeDiffExact returns the exact difference between the two specified | 
 |  127       // dates.  E.g. 2d 22h 22m 28s ago If a second date is not provided, | 
 |  128       // now is used. | 
 |  129       _timeDiffExact: function(first, second){ | 
 |  130         if (!first) { | 
 |  131           return "eons"; | 
 |  132         } | 
 |  133         if (!second) { | 
 |  134           second = new Date(); | 
 |  135         } | 
 |  136         return this._humanDuration((second.getTime() - first.getTime())/1000); | 
 |  137       }, | 
 |  138  | 
 |  139       _truthy: function(a){ | 
 |  140         return !!a; | 
 |  141       } | 
 |  142     }; | 
 |  143   })(); </script> <script>Polymer.AppLayout=Polymer.AppLayout||{},Polymer.AppLay
     out._scrollEffects=Polymer.AppLayout._scrollEffects||{},Polymer.AppLayout.scroll
     TimingFunction=function(o,l,e,r){return o/=r,-e*o*(o-2)+l},Polymer.AppLayout.reg
     isterEffect=function(o,l){if(null!=Polymer.AppLayout._scrollEffects[o])throw new
      Error("effect `"+o+"` is already registered.");Polymer.AppLayout._scrollEffects
     [o]=l},Polymer.AppLayout.scroll=function(o){o=o||{};var l=document.documentEleme
     nt,e=o.target||l,r="scrollBehavior"in e.style&&e.scroll,t="app-layout-silent-scr
     oll",s=o.top||0,c=o.left||0,i=e===l?window.scrollTo:function(o,l){e.scrollLeft=o
     ,e.scrollTop=l};if("smooth"===o.behavior)if(r)e.scroll(o);else{var n=Polymer.App
     Layout.scrollTimingFunction,a=Date.now(),p=e===l?window.pageYOffset:e.scrollTop,
     u=e===l?window.pageXOffset:e.scrollLeft,y=s-p,f=c-u,m=300,L=function o(){var l=D
     ate.now(),e=l-a;e<m?(i(n(e,u,f,m),n(e,p,y,m)),requestAnimationFrame(o)):i(c,s)}.
     bind(this);L()}else"silent"===o.behavior?(l.classList.add(t),clearInterval(Polym
     er.AppLayout._scrollTimer),Polymer.AppLayout._scrollTimer=setTimeout(function(){
     l.classList.remove(t),Polymer.AppLayout._scrollTimer=null},100),i(c,s)):i(c,s)}<
     /script> <style>[hidden]{display:none!important}</style> <style is="custom-style
     ">:root{--layout:{display:-ms-flexbox;display:-webkit-flex;display:flex};--layou
     t-inline:{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-
     flex};--layout-horizontal:{@apply(--layout);-ms-flex-direction:row;-webkit-flex-
     direction:row;flex-direction:row};--layout-horizontal-reverse:{@apply(--layout);
     -ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction
     :row-reverse};--layout-vertical:{@apply(--layout);-ms-flex-direction:column;-web
     kit-flex-direction:column;flex-direction:column};--layout-vertical-reverse:{@app
     ly(--layout);-ms-flex-direction:column-reverse;-webkit-flex-direction:column-rev
     erse;flex-direction:column-reverse};--layout-wrap:{-ms-flex-wrap:wrap;-webkit-fl
     ex-wrap:wrap;flex-wrap:wrap};--layout-wrap-reverse:{-ms-flex-wrap:wrap-reverse;-
     webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse};--layout-flex-auto:{-ms-fl
     ex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto};--layout-flex-none:{-ms-flex:no
     ne;-webkit-flex:none;flex:none};--layout-flex:{-ms-flex:1 1 0px;-webkit-flex:1;f
     lex:1;-webkit-flex-basis:0px;flex-basis:0px};--layout-flex-2:{-ms-flex:2;-webkit
     -flex:2;flex:2};--layout-flex-3:{-ms-flex:3;-webkit-flex:3;flex:3};--layout-flex
     -4:{-ms-flex:4;-webkit-flex:4;flex:4};--layout-flex-5:{-ms-flex:5;-webkit-flex:5
     ;flex:5};--layout-flex-6:{-ms-flex:6;-webkit-flex:6;flex:6};--layout-flex-7:{-ms
     -flex:7;-webkit-flex:7;flex:7};--layout-flex-8:{-ms-flex:8;-webkit-flex:8;flex:8
     };--layout-flex-9:{-ms-flex:9;-webkit-flex:9;flex:9};--layout-flex-10:{-ms-flex:
     10;-webkit-flex:10;flex:10};--layout-flex-11:{-ms-flex:11;-webkit-flex:11;flex:1
     1};--layout-flex-12:{-ms-flex:12;-webkit-flex:12;flex:12};--layout-start:{-ms-fl
     ex-align:start;-webkit-align-items:flex-start;align-items:flex-start};--layout-c
     enter:{-ms-flex-align:center;-webkit-align-items:center;align-items:center};--la
     yout-end:{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end};
     --layout-baseline:{-ms-flex-align:baseline;-webkit-align-items:baseline;align-it
     ems:baseline};--layout-start-justified:{-ms-flex-pack:start;-webkit-justify-cont
     ent:flex-start;justify-content:flex-start};--layout-center-justified:{-ms-flex-p
     ack:center;-webkit-justify-content:center;justify-content:center};--layout-end-j
     ustified:{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:fle
     x-end};--layout-around-justified:{-ms-flex-pack:distribute;-webkit-justify-conte
     nt:space-around;justify-content:space-around};--layout-justified:{-ms-flex-pack:
     justify;-webkit-justify-content:space-between;justify-content:space-between};--l
     ayout-center-center:{@apply(--layout-center);@apply(--layout-center-justified)};
     --layout-self-start:{-ms-align-self:flex-start;-webkit-align-self:flex-start;ali
     gn-self:flex-start};--layout-self-center:{-ms-align-self:center;-webkit-align-se
     lf:center;align-self:center};--layout-self-end:{-ms-align-self:flex-end;-webkit-
     align-self:flex-end;align-self:flex-end};--layout-self-stretch:{-ms-align-self:s
     tretch;-webkit-align-self:stretch;align-self:stretch};--layout-self-baseline:{-m
     s-align-self:baseline;-webkit-align-self:baseline;align-self:baseline};--layout-
     start-aligned:{-ms-flex-line-pack:start;-ms-align-content:flex-start;-webkit-ali
     gn-content:flex-start;align-content:flex-start};--layout-end-aligned:{-ms-flex-l
     ine-pack:end;-ms-align-content:flex-end;-webkit-align-content:flex-end;align-con
     tent:flex-end};--layout-center-aligned:{-ms-flex-line-pack:center;-ms-align-cont
     ent:center;-webkit-align-content:center;align-content:center};--layout-between-a
     ligned:{-ms-flex-line-pack:justify;-ms-align-content:space-between;-webkit-align
     -content:space-between;align-content:space-between};--layout-around-aligned:{-ms
     -flex-line-pack:distribute;-ms-align-content:space-around;-webkit-align-content:
     space-around;align-content:space-around};--layout-block:{display:block};--layout
     -invisible:{visibility:hidden!important};--layout-relative:{position:relative};-
     -layout-fit:{position:absolute;top:0;right:0;bottom:0;left:0};--layout-scroll:{-
     webkit-overflow-scrolling:touch;overflow:auto};--layout-fullbleed:{margin:0;heig
     ht:100vh};--layout-fixed-top:{position:fixed;top:0;left:0;right:0};--layout-fixe
     d-right:{position:fixed;top:0;right:0;bottom:0};--layout-fixed-bottom:{position:
     fixed;right:0;bottom:0;left:0};--layout-fixed-left:{position:fixed;top:0;bottom:
     0;left:0};}</style> <dom-module id="app-drawer" assetpath="/res/imp/bower_compon
     ents/app-layout/app-drawer/"> <template> <style>:host{position:fixed;top:-120px;
     right:0;bottom:-120px;left:0;visibility:hidden;transition-property:visibility}:h
     ost([opened]){visibility:visible}:host([persistent]){width:var(--app-drawer-widt
     h,256px)}:host([persistent][position=left]){right:auto}:host([persistent][positi
     on=right]){left:auto}#contentContainer{position:absolute;top:0;bottom:0;left:0;w
     idth:var(--app-drawer-width,256px);padding:120px 0;transition-property:-webkit-t
     ransform;transition-property:transform;-webkit-transform:translate3d(-100%,0,0);
     transform:translate3d(-100%,0,0);background-color:#FFF;@apply(--app-drawer-conte
     nt-container)}:host([position=right])>#contentContainer{right:0;left:auto;-webki
     t-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}:host([swipe-o
     pen])>#contentContainer::after{position:fixed;top:0;bottom:0;left:100%;visibilit
     y:visible;width:20px;content:''}:host([swipe-open][position=right])>#contentCont
     ainer::after{right:100%;left:auto}:host([opened])>#contentContainer{-webkit-tran
     sform:translate3d(0,0,0);transform:translate3d(0,0,0)}#scrim{position:absolute;t
     op:0;right:0;bottom:0;left:0;transition-property:opacity;-webkit-transform:trans
     lateZ(0);transform:translateZ(0);opacity:0;background:var(--app-drawer-scrim-bac
     kground,rgba(0,0,0,.5))}:host([opened])>#scrim{opacity:1}:host([opened][persiste
     nt])>#scrim{visibility:hidden;opacity:0}</style> <div id="scrim" on-tap="close">
     </div> <div id="contentContainer"> <content></content> </div> </template> <scrip
     t>Polymer({is:"app-drawer",properties:{opened:{type:Boolean,value:!1,notify:!0,r
     eflectToAttribute:!0},persistent:{type:Boolean,value:!1,reflectToAttribute:!0},t
     ransitionDuration:{type:Number,value:200},align:{type:String,value:"left"},posit
     ion:{type:String,readOnly:!0,reflectToAttribute:!0},swipeOpen:{type:Boolean,valu
     e:!1,reflectToAttribute:!0},noFocusTrap:{type:Boolean,value:!1}},observers:["res
     etLayout(position, isAttached)","_resetPosition(align, isAttached)","_styleTrans
     itionDuration(transitionDuration)","_openedPersistentChanged(opened, persistent)
     "],_translateOffset:0,_trackDetails:null,_drawerState:0,_boundEscKeydownHandler:
     null,_firstTabStop:null,_lastTabStop:null,attached:function(){this._styleTransit
     ionDuration(0),Polymer.RenderStatus.afterNextRender(this,function(){this._styleT
     ransitionDuration(this.transitionDuration),this._boundEscKeydownHandler=this._es
     cKeydownHandler.bind(this),this._resetDrawerState(),this.$.scrim.addEventListene
     r("transitionend",this._transitionend.bind(this)),this.$.contentContainer.addEve
     ntListener("transitionend",this._transitionend.bind(this)),this.addEventListener
     ("keydown",this._tabKeydownHandler.bind(this)),this.listen(this,"track","_track"
     ),this.setScrollDirection("y")}),this.fire("app-drawer-attached")},detached:func
     tion(){document.removeEventListener("keydown",this._boundEscKeydownHandler)},ope
     n:function(){this.opened=!0},close:function(){this.opened=!1},toggle:function(){
     this.opened=!this.opened},getWidth:function(){return this.$.contentContainer.off
     setWidth},resetLayout:function(){this.fire("app-drawer-reset-layout")},_isRTL:fu
     nction(){return"rtl"===window.getComputedStyle(this).direction},_resetPosition:f
     unction(){switch(this.align){case"start":return void this._setPosition(this._isR
     TL()?"right":"left");case"end":return void this._setPosition(this._isRTL()?"left
     ":"right")}this._setPosition(this.align)},_escKeydownHandler:function(t){var i=2
     7;t.keyCode===i&&(t.preventDefault(),this.close())},_track:function(t){if(!this.
     persistent)switch(t.preventDefault(),t.detail.state){case"start":this._trackStar
     t(t);break;case"track":this._trackMove(t);break;case"end":this._trackEnd(t)}},_t
     rackStart:function(t){this._drawerState=this._DRAWER_STATE.TRACKING,this._styleT
     ransitionDuration(0),this.style.visibility="visible";var i=this.$.contentContain
     er.getBoundingClientRect();"left"===this.position?this._translateOffset=i.left:t
     his._translateOffset=i.right-window.innerWidth,this._trackDetails=[]},_trackMove
     :function(t){this._translateDrawer(t.detail.dx+this._translateOffset),this._trac
     kDetails.push({dx:t.detail.dx,timeStamp:Date.now()})},_trackEnd:function(t){var 
     i=t.detail.dx+this._translateOffset,e=this.getWidth(),n="left"===this.position,s
     =n?i>=0||i<=-e:i<=0||i>=e;if(!s){var a=this._trackDetails;if(this._trackDetails=
     null,this._flingDrawer(t,a),this._drawerState===this._DRAWER_STATE.FLINGING)retu
     rn}var r=e/2;t.detail.dx<-r?this.opened="right"===this.position:t.detail.dx>r&&(
     this.opened="left"===this.position),s&&this._resetDrawerState(),this._styleTrans
     itionDuration(this.transitionDuration),this._resetDrawerTranslate(),this.style.v
     isibility=""},_calculateVelocity:function(t,i){for(var e,n=Date.now(),s=n-100,a=
     0,r=i.length-1;a<=r;){var o=a+r>>1,h=i[o];h.timeStamp>=s?(e=h,r=o-1):a=o+1}if(e)
     {var l=t.detail.dx-e.dx,d=n-e.timeStamp||1;return l/d}return 0},_flingDrawer:fun
     ction(t,i){var e=this._calculateVelocity(t,i);if(!(Math.abs(e)<this._MIN_FLING_T
     HRESHOLD)){this._drawerState=this._DRAWER_STATE.FLINGING;var n,s=t.detail.dx+thi
     s._translateOffset,a=this.getWidth(),r="left"===this.position,o=e>0,h=!o&&r,l=o&
     &!r;n=h?-(s+a):l?a-s:-s,o?(e=Math.max(e,this._MIN_TRANSITION_VELOCITY),this.open
     ed="left"===this.position):(e=Math.min(e,-this._MIN_TRANSITION_VELOCITY),this.op
     ened="right"===this.position),this._styleTransitionDuration(this._FLING_INITIAL_
     SLOPE*n/e),this._styleTransitionTimingFunction(this._FLING_TIMING_FUNCTION),this
     ._resetDrawerTranslate()}},_transitionend:function(){this._drawerState===this._D
     RAWER_STATE.FLINGING&&(this._styleTransitionDuration(this.transitionDuration),th
     is._styleTransitionTimingFunction(""),this.style.visibility=""),this._resetDrawe
     rState()},_styleTransitionDuration:function(t){this.style.transitionDuration=t+"
     ms",this.$.contentContainer.style.transitionDuration=t+"ms",this.$.scrim.style.t
     ransitionDuration=t+"ms"},_styleTransitionTimingFunction:function(t){this.$.cont
     entContainer.style.transitionTimingFunction=t,this.$.scrim.style.transitionTimin
     gFunction=t},_translateDrawer:function(t){var i=this.getWidth();"left"===this.po
     sition?(t=Math.max(-i,Math.min(t,0)),this.$.scrim.style.opacity=1+t/i):(t=Math.m
     ax(0,Math.min(t,i)),this.$.scrim.style.opacity=1-t/i),this.translate3d(t+"px","0
     ","0",this.$.contentContainer)},_resetDrawerTranslate:function(){this.$.scrim.st
     yle.opacity="",this.transform("",this.$.contentContainer)},_resetDrawerState:fun
     ction(){var t=this._drawerState;this.opened?this._drawerState=this.persistent?th
     is._DRAWER_STATE.OPENED_PERSISTENT:this._DRAWER_STATE.OPENED:this._drawerState=t
     his._DRAWER_STATE.CLOSED,t!==this._drawerState&&(this._drawerState===this._DRAWE
     R_STATE.OPENED?(this._setKeyboardFocusTrap(),document.addEventListener("keydown"
     ,this._boundEscKeydownHandler),document.body.style.overflow="hidden"):(document.
     removeEventListener("keydown",this._boundEscKeydownHandler),document.body.style.
     overflow=""),t!==this._DRAWER_STATE.INIT&&this.fire("app-drawer-transitioned"))}
     ,_setKeyboardFocusTrap:function(){if(!this.noFocusTrap){var t=['a[href]:not([tab
     index="-1"])','area[href]:not([tabindex="-1"])','input:not([disabled]):not([tabi
     ndex="-1"])','select:not([disabled]):not([tabindex="-1"])','textarea:not([disabl
     ed]):not([tabindex="-1"])','button:not([disabled]):not([tabindex="-1"])','iframe
     :not([tabindex="-1"])','[tabindex]:not([tabindex="-1"])','[contentEditable=true]
     :not([tabindex="-1"])'].join(","),i=Polymer.dom(this).querySelectorAll(t);i.leng
     th>0?(this._firstTabStop=i[0],this._lastTabStop=i[i.length-1]):(this._firstTabSt
     op=null,this._lastTabStop=null);var e=this.getAttribute("tabindex");e&&parseInt(
     e,10)>-1?this.focus():this._firstTabStop&&this._firstTabStop.focus()}},_tabKeydo
     wnHandler:function(t){if(!this.noFocusTrap){var i=9;this._drawerState===this._DR
     AWER_STATE.OPENED&&t.keyCode===i&&(t.shiftKey?this._firstTabStop&&Polymer.dom(t)
     .localTarget===this._firstTabStop&&(t.preventDefault(),this._lastTabStop.focus()
     ):this._lastTabStop&&Polymer.dom(t).localTarget===this._lastTabStop&&(t.preventD
     efault(),this._firstTabStop.focus()))}},_openedPersistentChanged:function(){0===
     this.transitionDuration&&this._resetDrawerState()},_MIN_FLING_THRESHOLD:.2,_MIN_
     TRANSITION_VELOCITY:1.2,_FLING_TIMING_FUNCTION:"cubic-bezier(0.667, 1, 0.667, 1)
     ",_FLING_INITIAL_SLOPE:1.5,_DRAWER_STATE:{INIT:0,OPENED:1,OPENED_PERSISTENT:2,CL
     OSED:3,TRACKING:4,FLINGING:5}})</script> </dom-module> <script>Polymer({is:"iron
     -media-query",properties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify
     :!0},query:{type:String,observer:"queryChanged"},full:{type:Boolean,value:!1},_b
     oundMQHandler:{value:function(){return this.queryHandler.bind(this)}},_mq:{value
     :null}},attached:function(){this.style.display="none",this.queryChanged()},detac
     hed:function(){this._remove()},_add:function(){this._mq&&this._mq.addListener(th
     is._boundMQHandler)},_remove:function(){this._mq&&this._mq.removeListener(this._
     boundMQHandler),this._mq=null},queryChanged:function(){this._remove();var e=this
     .query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),th
     is._add(),this.queryHandler(this._mq))},queryHandler:function(e){this._setQueryM
     atches(e.matches)}})</script> <script>Polymer.IronResizableBehavior={properties:
     {_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDes
     cendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":
     "_onIronRequestResizeNotifications"},created:function(){this._interestedResizabl
     es=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){
     this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancela
     ble:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNot
     ifyResize),this.notifyResize())},detached:function(){this._parentResizable?this.
     _parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("re
     size",this._boundNotifyResize),this._parentResizable=null},notifyResize:function
     (){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizer
     ShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignPar
     entResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:fun
     ction(e){var i=this._interestedResizables.indexOf(e);i>-1&&(this._interestedResi
     zables.splice(i,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},re
     sizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){retu
     rn this._notifyingDescendant?void e.stopPropagation():void(Polymer.Settings.useS
     hadow||this._fireResize())},_fireResize:function(){this.fire("iron-resize",null,
     {node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var i=e.p
     ath?e.path[0]:e.target;i!==this&&(this._interestedResizables.indexOf(i)===-1&&(t
     his._interestedResizables.push(i),this.listen(i,"iron-resize","_onDescendantIron
     Resize")),i.assignParentResizable(this),this._notifyDescendant(i),e.stopPropagat
     ion())},_parentResizableChanged:function(e){e&&window.removeEventListener("resiz
     e",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(thi
     s._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)}}</scri
     pt> <dom-module id="app-drawer-layout" assetpath="/res/imp/bower_components/app-
     layout/app-drawer-layout/"> <template> <style>:host{display:block}:host([fullble
     ed]){@apply(--layout-fit)}#contentContainer{position:relative;height:100%;transi
     tion:var(--app-drawer-layout-content-transition,none)}#contentContainer:not(.nar
     row)>::content [drawer-toggle]{display:none}</style> <div id="contentContainer">
      <content select=":not(app-drawer)"></content> </div> <content id="drawerContent
     " select="app-drawer"></content> <iron-media-query query="[[_computeMediaQuery(f
     orceNarrow, responsiveWidth)]]" on-query-matches-changed="_onQueryMatchesChanged
     "></iron-media-query> </template> <script>Polymer({is:"app-drawer-layout",behavi
     ors:[Polymer.IronResizableBehavior],properties:{forceNarrow:{type:Boolean,value:
     !1},responsiveWidth:{type:String,value:"640px"},narrow:{type:Boolean,readOnly:!0
     ,notify:!0},openedWhenNarrow:{type:Boolean,value:!1}},listeners:{tap:"_tapHandle
     r","app-drawer-attached":"_resetDrawerState","app-drawer-reset-layout":"resetLay
     out","iron-resize":"resetLayout"},observers:["resetLayout(narrow, isAttached)","
     _narrowChanged(narrow, isAttached)"],get drawer(){return Polymer.dom(this.$.draw
     erContent).getDistributedNodes()[0]},_tapHandler:function(e){var t=Polymer.dom(e
     ).localTarget;if(t&&t.hasAttribute("drawer-toggle")){var r=this.drawer;r&&!r.per
     sistent&&r.toggle()}},resetLayout:function(){this.debounce("_resetLayout",functi
     on(){var e=this.drawer,t=this.$.contentContainer;if(this.narrow||!e)t.style.marg
     inLeft="",t.style.marginRight="";else{var r=e.getWidth();"right"==e.position?(t.
     style.marginLeft="",t.style.marginRight=r+"px"):(t.style.marginLeft=r+"px",t.sty
     le.marginRight="")}})},_resetDrawerState:function(){this.debounce("_resetDrawerS
     tate",function(){var e=this.drawer;e&&(this.narrow?(e.opened=this.openedWhenNarr
     ow,e.persistent=!1):e.opened=e.persistent=!0)})},_narrowChanged:function(e){this
     .toggleClass("narrow",e,this.$.contentContainer),this._resetDrawerState(),this.n
     otifyResize()},_onQueryMatchesChanged:function(e){this._setNarrow(e.detail.value
     )},_computeMediaQuery:function(e,t){return e?"(min-width: 0px)":"(max-width: "+t
     +")"}})</script> </dom-module> <dom-module id="app-grid-style" assetpath="/res/i
     mp/bower_components/app-layout/app-grid/"> <template> <style>:host{--app-grid-ex
     pandible-item:{-webkit-flex-basis:calc((100% - .1px)/ var(--app-grid-columns,1) 
     * var(--app-grid-expandible-item-columns,1) - var(--app-grid-gutter,0px))!import
     ant;flex-basis:calc((100% - .1px)/ var(--app-grid-columns,1) * var(--app-grid-ex
     pandible-item-columns,1) - var(--app-grid-gutter,0px))!important;max-width:calc(
     (100% - .1px)/ var(--app-grid-columns,1) * var(--app-grid-expandible-item-column
     s,1) - var(--app-grid-gutter,0px))!important};}.app-grid{display:-ms-flexbox;dis
     play:-webkit-flex;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row
     ;flex-direction:row;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;pad
     ding-top:var(--app-grid-gutter,0);padding-left:var(--app-grid-gutter,0);box-sizi
     ng:border-box}.app-grid>*{-ms-flex:1 1 100%;-webkit-flex:1;flex:1;-webkit-flex-b
     asis:calc((100% - .1px - (var(--app-grid-gutter,0px) * var(--app-grid-columns,1)
     ))/ var(--app-grid-columns,1));flex-basis:calc((100% - .1px - (var(--app-grid-gu
     tter,0px) * var(--app-grid-columns,1)))/ var(--app-grid-columns,1));max-width:ca
     lc((100% - .1px - (var(--app-grid-gutter,0px) * var(--app-grid-columns,1)))/ var
     (--app-grid-columns,1));margin-bottom:var(--app-grid-gutter,0);margin-right:var(
     --app-grid-gutter,0);height:var(--app-grid-item-height);box-sizing:border-box}.a
     pp-grid[has-aspect-ratio]>*{position:relative}.app-grid[has-aspect-ratio]>::befo
     re{display:block;content:"";padding-top:var(--app-grid-item-height,100%)}.app-gr
     id[has-aspect-ratio]>*>*{position:absolute;top:0;right:0;bottom:0;left:0}</style
     > </template> </dom-module> <script>Polymer.IronScrollTargetBehavior={properties
     :{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarg
     et}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveLi
     stener:!0,_scrollTargetChanged:function(t,l){this._oldScrollTarget&&(this._toggl
     eScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),l&&("docum
     ent"===t?this.scrollTarget=this._doc:"string"==typeof t?this.scrollTarget=this.d
     omHost?this.domHost.$[t]:Polymer.dom(this.ownerDocument).querySelector("#"+t):th
     is._isValidScrollTarget()&&(this._boundScrollHandler=this._boundScrollHandler||t
     his._scrollHandler.bind(this),this._oldScrollTarget=t,this._toggleScrollListener
     (this._shouldHaveListener,t)))},_scrollHandler:function(){},get _defaultScrollTa
     rget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},g
     et _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc
     ?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this
     ._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.sc
     rollTarget.scrollLeft:0},set _scrollTop(t){this.scrollTarget===this._doc?window.
     scrollTo(window.pageXOffset,t):this._isValidScrollTarget()&&(this.scrollTarget.s
     crollTop=t)},set _scrollLeft(t){this.scrollTarget===this._doc?window.scrollTo(t,
     window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=t
     )},scroll:function(t,l){this.scrollTarget===this._doc?window.scrollTo(t,l):this.
     _isValidScrollTarget()&&(this.scrollTarget.scrollLeft=t,this.scrollTarget.scroll
     Top=l)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollT
     arget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scroll
     TargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?
     window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:functi
     on(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:func
     tion(t,l){if(this._boundScrollHandler){var e=l===this._doc?window:l;t?e.addEvent
     Listener("scroll",this._boundScrollHandler):e.removeEventListener("scroll",this.
     _boundScrollHandler)}},toggleScrollListener:function(t){this._shouldHaveListener
     =t,this._toggleScrollListener(t,this.scrollTarget)}}</script> <script>Polymer.Ap
     pScrollEffectsBehavior=[Polymer.IronScrollTargetBehavior,{properties:{effects:{t
     ype:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{typ
     e:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresh
     oldTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observe
     rs:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:fu
     nction(){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_
     effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._
     scrollTop)},detached:function(){this._tearDownEffects()},createEffect:function(t
     ,e){var f=Polymer.AppLayout._scrollEffects[t];if(!f)throw new ReferenceError(thi
     s._getUndefinedMsg(t));var n=this._boundEffect(f,e||{});return n.setUp(),n},_eff
     ectsChanged:function(t,e,f){this._tearDownEffects(),""!==t&&f&&(t.split(" ").for
     Each(function(t){var f;""!==t&&((f=Polymer.AppLayout._scrollEffects[t])?this._ef
     fects.push(this._boundEffect(f,e[t])):this._warn(this._logf("_effectsChanged",th
     is._getUndefinedMsg(t))))},this),this._setUpEffect())},_layoutIfDirty:function()
     {return this.offsetWidth},_boundEffect:function(t,e){e=e||{};var f=parseFloat(e.
     startsAt||0),n=parseFloat(e.endsAt||1),s=n-f,i=function(){},r=0===f&&1===n?t.run
     :function(e,n){t.run.call(this,Math.max(0,(e-f)/s),n)};return{setUp:t.setUp?t.se
     tUp.bind(this,e):i,run:t.run?r.bind(this):i,tearDown:t.tearDown?t.tearDown.bind(
     this):i}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effects
     RunFn=[],this._effects.forEach(function(t){t.setUp()!==!1&&this._effectsRunFn.pu
     sh(t.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forE
     ach(function(t){t.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffec
     ts:function(t,e){this._effectsRunFn&&this._effectsRunFn.forEach(function(f){f(t,
     e)})},_scrollHandler:function(){if(!this.disabled){var t=this._clampedScrollTop;
     this._updateScrollState(t),this.threshold>0&&this._setThresholdTriggered(t>=this
     .threshold)}},_getDOMRef:function(t){this._warn(this._logf("_getDOMRef","`"+t+"`
      is undefined"))},_getUndefinedMsg:function(t){return"Scroll effect `"+t+"` is u
     ndefined. Did you forget to import app-layout/app-scroll-effects/effects/"+t+".h
     tml ?"}}]</script> <dom-module id="app-header" assetpath="/res/imp/bower_compone
     nts/app-layout/app-header/"> <template> <style>:host{position:relative;display:b
     lock;transition-timing-function:linear;transition-property:-webkit-transform;tra
     nsition-property:transform}:host::after{position:absolute;right:0;bottom:-5px;le
     ft:0;width:100%;height:5px;content:"";transition:opacity .4s;pointer-events:none
     ;opacity:0;box-shadow:inset 0 5px 6px -3px rgba(0,0,0,.4);will-change:opacity;@a
     pply(--app-header-shadow)}:host([shadow])::after{opacity:1}::content [condensed-
     title],::content [main-title]{-webkit-transform-origin:left top;transform-origin
     :left top;white-space:nowrap}::content [condensed-title]{opacity:0}#background{@
     apply(--layout-fit);overflow:hidden}#backgroundFrontLayer,#backgroundRearLayer{@
     apply(--layout-fit);height:100%;pointer-events:none;background-size:cover}#backg
     roundFrontLayer{@apply(--app-header-background-front-layer)}#backgroundRearLayer
     {opacity:0;@apply(--app-header-background-rear-layer)}#contentContainer{position
     :relative;width:100%;height:100%}:host([disabled]),:host([disabled]) #background
     FrontLayer,:host([disabled]) #backgroundRearLayer,:host([disabled]) ::content>[s
     ticky],:host([disabled]) ::content>app-toolbar:first-of-type,:host([disabled])::
     after,:host-context(.app-layout-silent-scroll),:host-context(.app-layout-silent-
     scroll) #backgroundFrontLayer,:host-context(.app-layout-silent-scroll) #backgrou
     ndRearLayer,:host-context(.app-layout-silent-scroll) ::content>[sticky],:host-co
     ntext(.app-layout-silent-scroll) ::content>app-toolbar:first-of-type,:host-conte
     xt(.app-layout-silent-scroll)::after{transition:none!important}</style> <div id=
     "contentContainer"> <content id="content"></content> </div> </template> <script>
     Polymer({is:"app-header",behaviors:[Polymer.AppScrollEffectsBehavior,Polymer.Iro
     nResizableBehavior],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Bo
     olean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAt
     tribute:!0,value:!1}},observers:["resetLayout(isAttached, condenses, fixed)"],li
     steners:{"iron-resize":"_resizeHandler"},_height:0,_dHeight:0,_stickyElTop:0,_st
     ickyEl:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimest
     amp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?th
     is._dHeight:this._height+5},_getStickyEl:function(){for(var t,e=Polymer.dom(this
     .$.content).getDistributedNodes(),i=0;i<e.length;i++)if(e[i].nodeType===Node.ELE
     MENT_NODE){var s=e[i];if(s.hasAttribute("sticky")){t=s;break}t||(t=s)}return t},
     resetLayout:function(){this.fire("app-header-reset-layout"),this.debounce("_rese
     tLayout",function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var t=this._
     clampedScrollTop,e=0===this._height||0===t,i=this.disabled;this._height=this.off
     setHeight,this._stickyEl=this._getStickyEl(),this.disabled=!0,e||this._updateScr
     ollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._s
     tickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._st
     ickyEl.offsetTop:0,this._setUpEffect(),e?this._updateScrollState(t,!0):(this._up
     dateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=i}}
     )},_updateScrollState:function(t,e){if(0!==this._height){var i=0,s=0,o=this._top
     ,r=(this._lastScrollTop,this._maxHeaderTop),h=t-this._lastScrollTop,n=Math.abs(h
     ),a=t>this._lastScrollTop,l=Date.now();if(this._mayMove()&&(s=this._clamp(this.r
     eveals?o+h:t,0,r)),t>=this._dHeight&&(s=this.condenses&&!this.fixed?Math.max(thi
     s._dHeight,s):s,this.style.transitionDuration="0ms"),this.reveals&&!this.disable
     d&&n<100&&((l-this._initTimestamp>300||this._wasScrollingDown!==a)&&(this._initS
     crollTop=t,this._initTimestamp=l),t>=r))if(Math.abs(this._initScrollTop-t)>30||n
     >10){a&&t>=r?s=r:!a&&t>=this._dHeight&&(s=this.condenses&&!this.fixed?this._dHei
     ght:0);var _=h/(l-this._lastTimestamp);this.style.transitionDuration=this._clamp
     ((s-o)/_,0,300)+"ms"}else s=this._top;i=0===this._dHeight?t>0?1:0:s/this._dHeigh
     t,e||(this._lastScrollTop=t,this._top=s,this._wasScrollingDown=a,this._lastTimes
     tamp=l),(e||i!==this._progress||o!==s||0===t)&&(this._progress=i,this._runEffect
     s(i,s),this._transformHeader(s))}},_mayMove:function(){return this.condenses||!t
     his.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnS
     creen:function(){return 0!==this._height&&this._top<this._height},isContentBelow
     :function(){return 0===this._top?this._clampedScrollTop>0:this._clampedScrollTop
     -this._maxHeaderTop>=0},_transformHeader:function(t){this.translate3d(0,-t+"px",
     0),this._stickyEl&&this.condenses&&t>=this._stickyElTop&&this.translate3d(0,Math
     .min(t,this._dHeight)-this._stickyElTop+"px",0,this._stickyEl)},_resizeHandler:f
     unction(){this.resetLayout()},_clamp:function(t,e,i){return Math.min(i,Math.max(
     e,t))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=docu
     ment.createElement("div"),this._bgContainer.id="background",this._bgRear=documen
     t.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.a
     ppendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFro
     nt.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Polyme
     r.dom(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getD
     OMRef:function(t){switch(t){case"backgroundFrontLayer":return this._ensureBgCont
     ainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers
     (),this._bgRear;case"background":return this._ensureBgContainers(),this._bgConta
     iner;case"mainTitle":return Polymer.dom(this).querySelector("[main-title]");case
     "condensedTitle":return Polymer.dom(this).querySelector("[condensed-title]")}ret
     urn null},getScrollState:function(){return{progress:this._progress,top:this._top
     }}})</script> </dom-module> <dom-module id="app-header-layout" assetpath="/res/i
     mp/bower_components/app-layout/app-header-layout/"> <template> <style>:host{disp
     lay:block;position:relative;z-index:0}:host>::content>app-header{@apply(--layout
     -fixed-top);z-index:1}:host([has-scrolling-region]){height:100%}:host([has-scrol
     ling-region])>::content>app-header{position:absolute}:host([has-scrolling-region
     ])>#contentContainer{@apply(--layout-fit);overflow-y:auto;-webkit-overflow-scrol
     ling:touch}:host([fullbleed]){@apply(--layout-vertical);@apply(--layout-fit)}:ho
     st([fullbleed])>#contentContainer{@apply(--layout-vertical);@apply(--layout-flex
     )}#contentContainer{position:relative;z-index:0}</style> <content id="header" se
     lect="app-header"></content> <div id="contentContainer"> <content></content> </d
     iv> </template> <script>Polymer({is:"app-header-layout",behaviors:[Polymer.IronR
     esizableBehavior],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectT
     oAttribute:!0}},listeners:{"iron-resize":"_resizeHandler","app-header-reset-layo
     ut":"resetLayout"},observers:["resetLayout(isAttached, hasScrollingRegion)"],get
      header(){return Polymer.dom(this.$.header).getDistributedNodes()[0]},resetLayou
     t:function(){this._updateScroller(),this.debounce("_resetLayout",this._updateCon
     tentPosition)},_updateContentPosition:function(){var e=this.header;if(this.isAtt
     ached&&e){var t=e.offsetHeight;if(this.hasScrollingRegion)e.style.left="",e.styl
     e.right="";else{var i=this.getBoundingClientRect(),o=document.documentElement.cl
     ientWidth-i.right;e.style.left=i.left+"px",e.style.right=o+"px"}var n=this.$.con
     tentContainer.style;e.fixed&&!e.willCondense()&&this.hasScrollingRegion?(n.margi
     nTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}},_updateScrol
     ler:function(){if(this.isAttached){var e=this.header;e&&(e.scrollTarget=this.has
     ScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement)}},_r
     esizeHandler:function(){this.resetLayout()}})</script> </dom-module> <dom-module
      id="app-scrollpos-control" assetpath="/res/imp/bower_components/app-layout/app-
     scrollpos-control/"> <script>Polymer({is:"app-scrollpos-control",behaviors:[Poly
     mer.IronScrollTargetBehavior],properties:{selected:{type:String,observer:"_selec
     tedChanged"},reset:{type:Boolean,value:!1}},observers:["_updateScrollPos(selecte
     d, reset)"],created:function(){this._scrollposMap={}},_selectedChanged:function(
     e,s){null!=s&&(this._scrollposMap[s]={x:this._scrollLeft,y:this._scrollTop})},_u
     pdateScrollPos:function(e,s){this.debounce("_updateScrollPos",function(){var e=t
     his._scrollposMap[this.selected];null==e||this.reset?this.scroll(0,0):this.scrol
     l(e.x,e.y)})}})</script> </dom-module> <dom-module id="app-toolbar" assetpath="/
     res/imp/bower_components/app-layout/app-toolbar/"> <template> <style>:host{@appl
     y(--layout-horizontal);@apply(--layout-center);position:relative;height:64px;pad
     ding:0 16px;pointer-events:none;font-size:var(--app-toolbar-font-size,20px)}::co
     ntent>*{pointer-events:auto}::content>paper-icon-button{font-size:0}::content>[c
     ondensed-title],::content>[main-title]{pointer-events:none;@apply(--layout-flex)
     }::content>[bottom-item]{position:absolute;right:0;bottom:0;left:0}::content>[to
     p-item]{position:absolute;top:0;right:0;left:0}::content>[spacer]{margin-left:64
     px}</style> <content></content> </template> <script>Polymer({is:"app-toolbar"})<
     /script> </dom-module> <dom-module id="app-box" assetpath="/res/imp/bower_compon
     ents/app-layout/app-box/"> <template> <style>:host{position:relative;display:blo
     ck}#background{@apply(--layout-fit);overflow:hidden;height:100%}#backgroundFront
     Layer{min-height:100%;pointer-events:none;background-size:cover;@apply(--app-box
     -background-front-layer)}#contentContainer{position:relative;width:100%;height:1
     00%}:host([disabled]),:host([disabled]) #backgroundFrontLayer{transition:none!im
     portant}</style> <div id="background"> <div id="backgroundFrontLayer"> <content 
     select="[background]"></content> </div> </div> <div id="contentContainer"> <cont
     ent id="content"></content> </div> </template> <script>Polymer({is:"app-box",beh
     aviors:[Polymer.AppScrollEffectsBehavior,Polymer.IronResizableBehavior],listener
     s:{"iron-resize":"_resizeHandler"},_progress:0,attached:function(){this.resetLay
     out()},resetLayout:function(){this.debounce("_resetLayout",function(){if(0!==thi
     s.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=this.disabl
     ed;this.disabled=!0,this._elementTop=this._getElementTop(),this._elementHeight=t
     his.offsetHeight,this._cachedScrollTargetHeight=this._scrollTargetHeight,this._s
     etUpEffect(),this._updateScrollState(e),this.disabled=t}},1)},_getElementTop:fun
     ction(){for(var e=this,t=0;e&&e!==this.scrollTarget;)t+=e.offsetTop,e=e.offsetPa
     rent;return t},_updateScrollState:function(e){if(this.isOnScreen()){var t=this._
     elementTop-e;this._progress=1-(t+this._elementHeight)/this._cachedScrollTargetHe
     ight,this._runEffects(this._progress,e)}},isOnScreen:function(){return this._ele
     mentTop<this._scrollTop+this._cachedScrollTargetHeight&&this._elementTop+this._e
     lementHeight>this._scrollTop},_resizeHandler:function(){this.resetLayout()},_get
     DOMRef:function(e){return"background"===e?this.$.background:"backgroundFrontLaye
     r"===e?this.$.backgroundFrontLayer:void 0},getScrollState:function(){return{prog
     ress:this._progress}}})</script> </dom-module> <dom-module id="iron-flex" assetp
     ath="/res/imp/bower_components/iron-flex-layout/"> <template> <style>.layout.hor
     izontal,.layout.vertical{display:-ms-flexbox;display:-webkit-flex;display:flex}.
     layout.inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inl
     ine-flex}.layout.horizontal{-ms-flex-direction:row;-webkit-flex-direction:row;fl
     ex-direction:row}.layout.vertical{-ms-flex-direction:column;-webkit-flex-directi
     on:column;flex-direction:column}.layout.wrap{-ms-flex-wrap:wrap;-webkit-flex-wra
     p:wrap;flex-wrap:wrap}.layout.center,.layout.center-center{-ms-flex-align:center
     ;-webkit-align-items:center;align-items:center}.layout.center-center,.layout.cen
     ter-justified{-ms-flex-pack:center;-webkit-justify-content:center;justify-conten
     t:center}.flex{-ms-flex:1 1 0px;-webkit-flex:1;flex:1;-webkit-flex-basis:0px;fle
     x-basis:0px}.flex-auto{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}.fl
     ex-none{-ms-flex:none;-webkit-flex:none;flex:none}</style> </template> </dom-mod
     ule> <dom-module id="iron-flex-reverse" assetpath="/res/imp/bower_components/iro
     n-flex-layout/"> <template> <style>.layout.horizontal-reverse,.layout.vertical-r
     everse{display:-ms-flexbox;display:-webkit-flex;display:flex}.layout.horizontal-
     reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-d
     irection:row-reverse}.layout.vertical-reverse{-ms-flex-direction:column-reverse;
     -webkit-flex-direction:column-reverse;flex-direction:column-reverse}.layout.wrap
     -reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wra
     p-reverse}</style> </template> </dom-module> <dom-module id="iron-flex-alignment
     " assetpath="/res/imp/bower_components/iron-flex-layout/"> <template> <style>.la
     yout.start{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-
     start}.layout.center,.layout.center-center{-ms-flex-align:center;-webkit-align-i
     tems:center;align-items:center}.layout.end{-ms-flex-align:end;-webkit-align-item
     s:flex-end;align-items:flex-end}.layout.baseline{-ms-flex-align:baseline;-webkit
     -align-items:baseline;align-items:baseline}.layout.start-justified{-ms-flex-pack
     :start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout.cen
     ter-center,.layout.center-justified{-ms-flex-pack:center;-webkit-justify-content
     :center;justify-content:center}.layout.end-justified{-ms-flex-pack:end;-webkit-j
     ustify-content:flex-end;justify-content:flex-end}.layout.around-justified{-ms-fl
     ex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-ar
     ound}.layout.justified{-ms-flex-pack:justify;-webkit-justify-content:space-betwe
     en;justify-content:space-between}.self-start{-ms-align-self:flex-start;-webkit-a
     lign-self:flex-start;align-self:flex-start}.self-center{-ms-align-self:center;-w
     ebkit-align-self:center;align-self:center}.self-end{-ms-align-self:flex-end;-web
     kit-align-self:flex-end;align-self:flex-end}.self-stretch{-ms-align-self:stretch
     ;-webkit-align-self:stretch;align-self:stretch}.self-baseline{-ms-align-self:bas
     eline;-webkit-align-self:baseline;align-self:baseline}; .layout.start-aligned{-m
     s-flex-line-pack:start;-ms-align-content:flex-start;-webkit-align-content:flex-s
     tart;align-content:flex-start}.layout.end-aligned{-ms-flex-line-pack:end;-ms-ali
     gn-content:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layou
     t.center-aligned{-ms-flex-line-pack:center;-ms-align-content:center;-webkit-alig
     n-content:center;align-content:center}.layout.between-aligned{-ms-flex-line-pack
     :justify;-ms-align-content:space-between;-webkit-align-content:space-between;ali
     gn-content:space-between}.layout.around-aligned{-ms-flex-line-pack:distribute;-m
     s-align-content:space-around;-webkit-align-content:space-around;align-content:sp
     ace-around}</style> </template> </dom-module> <dom-module id="iron-flex-factors"
      assetpath="/res/imp/bower_components/iron-flex-layout/"> <template> <style>.fle
     x,.flex-1{-ms-flex:1 1 0px;-webkit-flex:1;flex:1;-webkit-flex-basis:0px;flex-bas
     is:0px}.flex-2{-ms-flex:2;-webkit-flex:2;flex:2}.flex-3{-ms-flex:3;-webkit-flex:
     3;flex:3}.flex-4{-ms-flex:4;-webkit-flex:4;flex:4}.flex-5{-ms-flex:5;-webkit-fle
     x:5;flex:5}.flex-6{-ms-flex:6;-webkit-flex:6;flex:6}.flex-7{-ms-flex:7;-webkit-f
     lex:7;flex:7}.flex-8{-ms-flex:8;-webkit-flex:8;flex:8}.flex-9{-ms-flex:9;-webkit
     -flex:9;flex:9}.flex-10{-ms-flex:10;-webkit-flex:10;flex:10}.flex-11{-ms-flex:11
     ;-webkit-flex:11;flex:11}.flex-12{-ms-flex:12;-webkit-flex:12;flex:12}</style> <
     /template> </dom-module> <dom-module id="iron-positioning" assetpath="/res/imp/b
     ower_components/iron-flex-layout/"> <template> <style>.block{display:block}[hidd
     en]{display:none!important}.invisible{visibility:hidden!important}.relative{posi
     tion:relative}.fit{position:absolute;top:0;right:0;bottom:0;left:0}body.fullblee
     d{margin:0;height:100vh}.scroll{-webkit-overflow-scrolling:touch;overflow:auto}.
     fixed-bottom,.fixed-left,.fixed-right,.fixed-top{position:fixed}.fixed-top{top:0
     ;left:0;right:0}.fixed-right{top:0;right:0;bottom:0}.fixed-bottom{right:0;bottom
     :0;left:0}.fixed-left{top:0;bottom:0;left:0}</style> </template> </dom-module> <
     script>!function(){var e={},t={},i=null;Polymer.IronMeta=Polymer({is:"iron-meta"
     ,properties:{type:{type:String,value:"default",observer:"_typeChanged"},key:{typ
     e:String,observer:"_keyChanged"},value:{type:Object,notify:!0,observer:"_valueCh
     anged"},self:{type:Boolean,observer:"_selfChanged"},list:{type:Array,notify:!0}}
     ,hostAttributes:{hidden:!0},factoryImpl:function(e){if(e)for(var t in e)switch(t
     ){case"type":case"key":case"value":this[t]=e[t]}},created:function(){this._metaD
     atas=e,this._metaArrays=t},_keyChanged:function(e,t){this._resetRegistration(t)}
     ,_valueChanged:function(e){this._resetRegistration(this.key)},_selfChanged:funct
     ion(e){e&&(this.value=this)},_typeChanged:function(i){this._unregisterKey(this.k
     ey),e[i]||(e[i]={}),this._metaData=e[i],t[i]||(t[i]=[]),this.list=t[i],this._reg
     isterKeyValue(this.key,this.value)},byKey:function(e){return this._metaData&&thi
     s._metaData[e]},_resetRegistration:function(e){this._unregisterKey(e),this._regi
     sterKeyValue(this.key,this.value)},_unregisterKey:function(e){this._unregister(e
     ,this._metaData,this.list)},_registerKeyValue:function(e,t){this._register(e,t,t
     his._metaData,this.list)},_register:function(e,t,i,a){e&&i&&void 0!==t&&(i[e]=t,
     a.push(t))},_unregister:function(e,t,i){if(e&&t&&e in t){var a=t[e];delete t[e],
     this.arrayDelete(i,a)}}}),Polymer.IronMeta.getIronMeta=function(){return null===
     i&&(i=new Polymer.IronMeta),i},Polymer.IronMetaQuery=Polymer({is:"iron-meta-quer
     y",properties:{type:{type:String,value:"default",observer:"_typeChanged"},key:{t
     ype:String,observer:"_keyChanged"},value:{type:Object,notify:!0,readOnly:!0},lis
     t:{type:Array,notify:!0}},factoryImpl:function(e){if(e)for(var t in e)switch(t){
     case"type":case"key":this[t]=e[t]}},created:function(){this._metaDatas=e,this._m
     etaArrays=t},_keyChanged:function(e){this._setValue(this._metaData&&this._metaDa
     ta[e])},_typeChanged:function(i){this._metaData=e[i],this.list=t[i],this.key&&th
     is._keyChanged(this.key)},byKey:function(e){return this._metaData&&this._metaDat
     a[e]}})}()</script> <dom-module id="iron-icon" assetpath="/res/imp/bower_compone
     nts/iron-icon/"> <template> <style>:host{@apply(--layout-inline);@apply(--layout
     -center-center);position:relative;vertical-align:middle;fill:var(--iron-icon-fil
     l-color,currentcolor);stroke:var(--iron-icon-stroke-color,none);width:var(--iron
     -icon-width,24px);height:var(--iron-icon-height,24px);@apply(--iron-icon)}</styl
     e> </template> <script>Polymer({is:"iron-icon",properties:{icon:{type:String,obs
     erver:"_iconChanged"},theme:{type:String,observer:"_updateIcon"},src:{type:Strin
     g,observer:"_srcChanged"},_meta:{value:Polymer.Base.create("iron-meta",{type:"ic
     onset"}),observer:"_updateIcon"}},_DEFAULT_ICONSET:"icons",_iconChanged:function
     (i){var t=(i||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||t
     his._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(i){this._updateIco
     n()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function()
     {this._usesIconset()?(this._img&&this._img.parentNode&&Polymer.dom(this.root).re
     moveChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon
     (this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._icon
     setName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),
     this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"ir
     on-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this
     ),this._img||(this._img=document.createElement("img"),this._img.style.width="100
     %",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,
     Polymer.dom(this.root).appendChild(this._img))}})</script> </dom-module> <script
     >Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameCha
     nged"},size:{type:Number,value:24}},attached:function(){this.style.display="none
     "},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(
     this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e
     ,t){e=e.root||e,this.removeIcon(e);var n=this._cloneIcon(t);if(n){var o=Polymer.
     dom(e);return o.insertBefore(n,o.childNodes[0]),e._svgIcon=n}return null},remove
     Icon:function(e){e._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=
     null)},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.nam
     e,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:w
     indow})})},_createIconMap:function(){var e=Object.create(null);return Polymer.do
     m(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:f
     unction(e){return this._icons=this._icons||this._createIconMap(),this._prepareSv
     gClone(this._icons[e],this.size)},_prepareSvgClone:function(e,t){if(e){var n=e.c
     loneNode(!0),o=document.createElementNS("http://www.w3.org/2000/svg","svg"),i=n.
     getAttribute("viewBox")||"0 0 "+t+" "+t;return o.setAttribute("viewBox",i),o.set
     Attribute("preserveAspectRatio","xMidYMid meet"),o.style.cssText="pointer-events
     : none; display: block; width: 100%; height: 100%;",o.appendChild(n).removeAttri
     bute("id"),o}return null}})</script> <iron-iconset-svg name="icons" size="24"> <
     svg><defs> <g id="3d-rotation"><path d="M7.52 21.48C4.25 19.94 1.91 16.76 1.55 1
     3H.05C.56 19.16 5.71 24 12 24l.66-.03-3.81-3.81-1.33 1.32zm.89-6.52c-.19 0-.37-.
     03-.52-.08-.16-.06-.29-.13-.4-.24-.11-.1-.2-.22-.26-.37-.06-.14-.09-.3-.09-.47h-
     1.3c0 .36.07.68.21.95.14.27.33.5.56.69.24.18.51.32.82.41.3.1.62.15.96.15.37 0 .7
     2-.05 1.03-.15.32-.1.6-.25.83-.44s.42-.43.55-.72c.13-.29.2-.61.2-.97 0-.19-.02-.
     38-.07-.56-.05-.18-.12-.35-.23-.51-.1-.16-.24-.3-.4-.43-.17-.13-.37-.23-.61-.31.
     2-.09.37-.2.52-.33.15-.13.27-.27.37-.42.1-.15.17-.3.22-.46.05-.16.07-.32.07-.48 
     0-.36-.06-.68-.18-.96-.12-.28-.29-.51-.51-.69-.2-.19-.47-.33-.77-.43C9.1 8.05 8.
     76 8 8.39 8c-.36 0-.69.05-1 .16-.3.11-.57.26-.79.45-.21.19-.38.41-.51.67-.12.26-
     .18.54-.18.85h1.3c0-.17.03-.32.09-.45s.14-.25.25-.34c.11-.09.23-.17.38-.22.15-.0
     5.3-.08.48-.08.4 0 .7.1.89.31.19.2.29.49.29.86 0 .18-.03.34-.08.49-.05.15-.14.27
     -.25.37-.11.1-.25.18-.41.24-.16.06-.36.09-.58.09H7.5v1.03h.77c.22 0 .42.02.6.07s
     .33.13.45.23c.12.11.22.24.29.4.07.16.1.35.1.57 0 .41-.12.72-.35.93-.23.23-.55.33
     -.95.33zm8.55-5.92c-.32-.33-.7-.59-1.14-.77-.43-.18-.92-.27-1.46-.27H12v8h2.3c.5
     5 0 1.06-.09 1.51-.27.45-.18.84-.43 1.16-.76.32-.33.57-.73.74-1.19.17-.47.26-.99
     .26-1.57v-.4c0-.58-.09-1.1-.26-1.57-.18-.47-.43-.87-.75-1.2zm-.39 3.16c0 .42-.05
     .79-.14 1.13-.1.33-.24.62-.43.85-.19.23-.43.41-.71.53-.29.12-.62.18-.99.18h-.91V
     9.12h.97c.72 0 1.27.23 1.64.69.38.46.57 1.12.57 1.99v.4zM12 0l-.66.03 3.81 3.81 
     1.33-1.33c3.27 1.55 5.61 4.72 5.96 8.48h1.5C23.44 4.84 18.29 0 12 0z"></path></g
     > <g id="accessibility"><path d="M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-
     2zm9 7h-6v13h-2v-6h-2v6H9V9H3V7h18v2z"></path></g> <g id="accessible"><circle cx
     ="12" cy="4" r="2"></circle><path d="M19 13v-2c-1.54.02-3.09-.75-4.07-1.83l-1.29
     -1.43c-.17-.19-.38-.34-.61-.45-.01 0-.01-.01-.02-.01H13c-.35-.2-.75-.3-1.19-.26C
     10.76 7.11 10 8.04 10 9.09V15c0 1.1.9 2 2 2h5v5h2v-5.5c0-1.1-.9-2-2-2h-3v-3.45c1
     .29 1.07 3.25 1.94 5 1.95zm-6.17 5c-.41 1.16-1.52 2-2.83 2-1.66 0-3-1.34-3-3 0-1
     .31.84-2.41 2-2.83V12.1c-2.28.46-4 2.48-4 4.9 0 2.76 2.24 5 5 5 2.42 0 4.44-1.72
      4.9-4h-2.07z"></path></g> <g id="account-balance"><path d="M4 10v7h3v-7H4zm6 0v
     7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></path></
     g> <g id="account-balance-wallet"><path d="M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.
     9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h
     9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.
     67 1.5-1.5 1.5z"></path></g> <g id="account-box"><path d="M3 5v14c0 1.1.89 2 2 2
     h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.11 0-2 .9-2 2zm12 4c0 1.66-1.34 3-3 3s-
     3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zm-9 8c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1H6v-1z"></pa
     th></g> <g id="account-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 1
     0-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3
     -3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08
     -1.29 1.94-3.5 3.22-6 3.22z"></path></g> <g id="add"><path d="M19 13h-6v6h-2v-6H
     5v-2h6V5h2v6h6v2z"></path></g> <g id="add-alert"><path d="M10.01 21.01c0 1.1.89 
     1.99 1.99 1.99s1.99-.89 1.99-1.99h-3.98zm8.87-4.19V11c0-3.25-2.25-5.97-5.29-6.69
     v-.72C13.59 2.71 12.88 2 12 2s-1.59.71-1.59 1.59v.72C7.37 5.03 5.12 7.75 5.12 11
     v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z">
     </path></g> <g id="add-box"><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h
     14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"></path><
     /g> <g id="add-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 1
     0-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"></path></g> <g id="add-cir
     cle-outline"><path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12
     s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 
     3.59 8 8-3.59 8-8 8z"></path></g> <g id="add-shopping-cart"><path d="M11 9h2V6h3
     V4h-3V1h-2v3H8v2h3v3zm-4 9c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm1
     0 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2zm-9.83-3.25l.03-.12.9-1.
     63h7.45c.75 0 1.41-.41 1.75-1.03l3.86-7.01L19.42 4h-.01l-1.1 2-2.76 5H8.53l-.13-
     .27L6.16 6l-.95-2-.94-2H1v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2
      2 2h12v-2H7.42c-.13 0-.25-.11-.25-.25z"></path></g> <g id="alarm"><path d="M22 
     5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4
     .59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9
      9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 
     7-3.13 7-7 7z"></path></g> <g id="alarm-add"><path d="M7.88 3.39L6.6 1.86 2 5.71
     l1.29 1.53 4.59-3.85zM22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM12 4c-4.97 0
     -9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.
     13-7 7-7 7 3.13 7 7-3.13 7-7 7zm1-11h-2v3H8v2h3v3h2v-3h3v-2h-3V9z"></path></g> <
     g id="alarm-off"><path d="M12 6c3.87 0 7 3.13 7 7 0 .84-.16 1.65-.43 2.4l1.52 1.
     52c.58-1.19.91-2.51.91-3.92 0-4.97-4.03-9-9-9-1.41 0-2.73.33-3.92.91L9.6 6.43C10
     .35 6.16 11.16 6 12 6zm10-.28l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM2.92 2.29L1.
     65 3.57 2.98 4.9l-1.11.93 1.42 1.42 1.11-.94.8.8C3.83 8.69 3 10.75 3 13c0 4.97 4
     .02 9 9 9 2.25 0 4.31-.83 5.89-2.2l2.2 2.2 1.27-1.27L3.89 3.27l-.97-.98zm13.55 1
     6.1C15.26 19.39 13.7 20 12 20c-3.87 0-7-3.13-7-7 0-1.7.61-3.26 1.61-4.47l9.86 9.
     86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z"></path></g> <g id="alarm-on"><
     path d="M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71
     l1.29 1.53 4.59-3.85zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03
     -9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-1.46-5.47L8.4
     1 12.4l-1.06 1.06 3.18 3.18 6-6-1.06-1.06-4.93 4.95z"></path></g> <g id="all-out
     "><path d="M16.21 4.16l4 4v-4zm4 12l-4 4h4zm-12 4l-4-4v4zm-4-12l4-4h-4zm12.95-.9
     5c-2.73-2.73-7.17-2.73-9.9 0s-2.73 7.17 0 9.9 7.17 2.73 9.9 0 2.73-7.16 0-9.9zm-
     1.1 8.8c-2.13 2.13-5.57 2.13-7.7 0s-2.13-5.57 0-7.7 5.57-2.13 7.7 0 2.13 5.57 0 
     7.7z"></path></g> <g id="android"><path d="M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1
     .5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.5
     5 0 1-.45 1-1V8H6v10zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17.33 5
      16.5v-7C5 8.67 4.33 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s
     1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5zm-4.97-5.84l1.3-1.3c.2-.2.2-.51 0-.71-.
     2-.2-.51-.2-.71 0l-1.48 1.48C13.85 1.23 12.95 1 12 1c-.96 0-1.86.23-2.66.63L7.85
     .15c-.2-.2-.51-.2-.71 0-.2.2-.2.51 0 .71l1.31 1.31C6.97 3.26 6 5.01 6 7h12c0-1.9
     9-.97-3.75-2.47-4.84zM10 5H9V4h1v1zm5 0h-1V4h1v1z"></path></g> <g id="announceme
     nt"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-
     2-2-2zm-7 9h-2V5h2v6zm0 4h-2v-2h2v2z"></path></g> <g id="apps"><path d="M4 8h4V4
     H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4z
     m-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"></path></g> <g id="archive"><path
      d="M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 
     5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93
     -.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z"></
     path></g> <g id="arrow-back"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1
     .41L7.83 13H20v-2z"></path></g> <g id="arrow-downward"><path d="M20 12l-1.41-1.4
     1L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"></path></g> <g id="arrow-drop-do
     wn"><path d="M7 10l5 5 5-5z"></path></g> <g id="arrow-drop-down-circle"><path d=
     "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 12l-4-4h8l
     -4 4z"></path></g> <g id="arrow-drop-up"><path d="M7 14l5-5 5 5z"></path></g> <g
      id="arrow-forward"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 2
     0l8-8z"></path></g> <g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20h2V7
     .83l5.58 5.59L20 12l-8-8-8 8z"></path></g> <g id="aspect-ratio"><path d="M19 12h
     -2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 
     0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g> <g id="assess
     ment"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.
     1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"></path></g> <g id="ass
     ignment"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 
     0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45
      1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z
     "></path></g> <g id="assignment-ind"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c
     -1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.
     1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.
     34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.
     1V19z"></path></g> <g id="assignment-late"><path d="M19 3h-4.18C14.4 1.84 13.3 1
      12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V
     5c0-1.1-.9-2-2-2zm-6 15h-2v-2h2v2zm0-4h-2V8h2v6zm-1-9c-.55 0-1-.45-1-1s.45-1 1-1
      1 .45 1 1-.45 1-1 1z"></path></g> <g id="assignment-return"><path d="M19 3h-4.1
     8C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h
     14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .4
     5-1 1-1zm4 12h-4v3l-5-5 5-5v3h4v4z"></path></g> <g id="assignment-returned"><pat
     h d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14
     c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1
      1-1-.45-1-1 .45-1 1-1zm0 15l-5-5h3V9h4v4h3l-5 5z"></path></g> <g id="assignment
     -turned-in"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1
     .1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 
     .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-2 14l-4-4 1.41-1.41L10 14.17l6.59-6.59L
     18 9l-8 8z"></path></g> <g id="attachment"><path d="M2 12.5C2 9.46 4.46 7 7.5 7H
     18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H
     9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57
      16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z"></path></g> <g id="autorenew"><path
      d="M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-
     .83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3
     .31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"></pa
     th></g> <g id="backspace"><path d="M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11
     c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13
     .41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 1
     9 15.59z"></path></g> <g id="backup"><path d="M19.35 10.04C18.67 6.59 15.64 4 12
      4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 
     5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path></g> 
     <g id="block"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.5
     2 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 
     13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 
     4.42-3.58 8-8 8z"></path></g> <g id="book"><path d="M18 2H6c-1.1 0-2 .9-2 2v16c0
      1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z"></pat
     h></g> <g id="bookmark"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1
     .1-.9-2-2-2z"></path></g> <g id="bookmark-border"><path d="M17 3H7c-1.1 0-1.99.9
     -1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z"></path></g> <
     g id="bug-report"><path d="M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.5
     9 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 
     1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04
     .67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.0
     9-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2
     z"></path></g> <g id="build"><path d="M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5
     -2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 
     9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z"></path></g> <g id="cached"><path
      d="M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 
     10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2
     .8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z"></path><
     /g> <g id="camera-enhance"><path d="M9 3L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2
      2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2h-3.17L15 3H9zm3 15c-2.76 0-5-2.24-5-5s2.24
     -5 5-5 5 2.24 5 5-2.24 5-5 5zm0-1l1.25-2.75L16 13l-2.75-1.25L12 9l-1.25 2.75L8 1
     3l2.75 1.25z"></path></g> <g id="cancel"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 
     10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 1
     0.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"></path></g> <
     g id="card-giftcard"><path d="M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-
     1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0
      .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-
     2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.
     55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 1
     0.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z"></path></g> 
     <g id="card-membership"><path d="M20 2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h4v
     5l4-2 4 2v-5h4c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 13H4v-2h16v2zm0-5H4V4h16v6
     z"></path></g> <g id="card-travel"><path d="M20 6h-3V4c0-1.11-.89-2-2-2H9c-1.11 
     0-2 .89-2 2v2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.1
     1-.89-2-2-2zM9 4h6v2H9V4zm11 15H4v-2h16v2zm0-5H4V8h3v2h2V8h6v2h2V8h3v6z"></path>
     </g> <g id="change-history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20
     L12 4z"></path></g> <g id="check"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7
     l-1.41-1.41z"></path></g> <g id="check-box"><path d="M19 3H5c-1.11 0-2 .9-2 2v14
     c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14
     .17l7.59-7.59L19 8l-9 9z"></path></g> <g id="check-box-outline-blank"><path d="M
     19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-
     .9-2-2-2z"></path></g> <g id="check-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.
     48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L
     19 8l-9 9z"></path></g> <g id="chevron-left"><path d="M15.41 7.41L14 6l-6 6 6 6 
     1.41-1.41L10.83 12z"></path></g> <g id="chevron-right"><path d="M10 6L8.59 7.41 
     13.17 12l-4.58 4.59L10 18l6-6z"></path></g> <g id="chrome-reader-mode"><path d="
     M13 12h7v1.5h-7zm0-2.5h7V11h-7zm0 5h7V16h-7zM21 4H3c-1.1 0-2 .9-2 2v13c0 1.1.9 2
      2 2h18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 15h-9V6h9v13z"></path></g> <g id="cla
     ss"><path d="M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-
     .9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z"></path></g> <g id="clear"><path d="M19 6.41L
     17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.
     59 13.41 12z"></path></g> <g id="close"><path d="M19 6.41L17.59 5 12 10.59 6.41 
     5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path><
     /g> <g id="cloud"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 
     5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2
     .05-4.78-4.65-4.96z"></path></g> <g id="cloud-circle"><path d="M12 2C6.48 2 2 6.
     48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.5 14H8c-1.66 0-3-1.34-3-3s1.
     34-3 3-3l.14.01C8.58 8.28 10.13 7 12 7c2.21 0 4 1.79 4 4h.5c1.38 0 2.5 1.12 2.5 
     2.5S17.88 16 16.5 16z"></path></g> <g id="cloud-done"><path d="M19.35 10.04C18.6
     7 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69
      6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM10 17l-3.5-3.5 1.41-1.41
     L10 14.17 15.18 9l1.41 1.41L10 17z"></path></g> <g id="cloud-download"><path d="
     M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91
      0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-
     5 5-5-5h3V9h4v4h3z"></path></g> <g id="cloud-off"><path d="M19.35 10.04C18.67 6.
     59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04
      0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C
     23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.1
     5 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6
     c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z"></path></g> <g id="cloud-queue"><path d="M
     19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 
     0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c
     -2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v
     .5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3z"></path></g> <g id="cloud-upload"><path d="
     M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91
      0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4
     h-4v-4H7l5-5 5 5h-3z"></path></g> <g id="code"><path d="M9.4 16.6L4.8 12l4.6-4.6
     L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></g> 
     <g id="compare-arrows"><path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H2
     2V8h-7.01V5L11 9l3.99 4z"></path></g> <g id="content-copy"><path d="M16 1H4c-1.1
      0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-
     2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path></g> <g id="content-cut"><path d="M9
     .64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.
     14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79
      4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2
     -.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.
     9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 
     2 7-7V3z"></path></g> <g id="content-paste"><path d="M19 2h-4.18C14.4.84 13.3 0 
     12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4
     c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2
     v3h10V4h2v16z"></path></g> <g id="copyright"><path d="M10.08 10.86c.05-.33.16-.6
     2.3-.87s.34-.46.59-.62c.24-.15.54-.22.91-.23.23.01.44.05.63.13.2.09.38.21.52.36s
     .25.33.34.53.13.42.14.64h1.79c-.02-.47-.11-.9-.28-1.29s-.4-.73-.7-1.01-.66-.5-1.
     08-.66-.88-.23-1.39-.23c-.65 0-1.22.11-1.7.34s-.88.53-1.2.92-.56.84-.71 1.36S8 1
     1.29 8 11.87v.27c0 .58.08 1.12.23 1.64s.39.97.71 1.35.72.69 1.2.91 1.05.34 1.7.3
     4c.47 0 .91-.08 1.32-.23s.77-.36 1.08-.63.56-.58.74-.94.29-.74.3-1.15h-1.79c-.01
     .21-.06.4-.15.58s-.21.33-.36.46-.32.23-.52.3c-.19.07-.39.09-.6.1-.36-.01-.66-.08
     -.89-.23-.25-.16-.45-.37-.59-.62s-.25-.55-.3-.88-.08-.67-.08-1v-.27c0-.35.03-.68
     .08-1.01zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18
     c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="create
     "><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39
     -1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z
     "></path></g> <g id="create-new-folder"><path d="M20 6h-8l-2-2H4c-1.11 0-1.99.89
     -1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3v3h-
     2v-3h-3v-2h3V9h2v3h3v2z"></path></g> <g id="credit-card"><path d="M20 4H4c-1.11 
     0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 
     14H4v-6h16v6zm0-10H4V6h16v2z"></path></g> <g id="dashboard"><path d="M3 13h8V3H3
     v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"></path></g> <g id="date-rang
     e"><path d="M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H
     5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm
     0 16H5V9h14v11z"></path></g> <g id="delete"><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0
      2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"></path></g> <g id="descripti
     on"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2
     -2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"></path></g> <g id="
     dns"><path d="M20 13H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0
     -.55-.45-1-1-1zM7 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM20 3H4c-.55 0-1
      .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM7 9c-1.1 0-2-.9-
     2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"></path></g> <g id="done"><path d="M9 16.2L4.8 1
     2l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"></path></g> <g id="done-all"><path d="M18
      7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41
     L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z"></path><
     /g> <g id="donut-large"><path d="M11 5.08V2c-5 .5-9 4.81-9 10s4 9.5 9 10v-3.08c-
     3-.48-6-3.4-6-6.92s3-6.44 6-6.92zM18.97 11H22c-.47-5-4-8.53-9-9v3.08C16 5.51 18.
     54 8 18.97 11zM13 18.92V22c5-.47 8.53-4 9-9h-3.03c-.43 3-2.97 5.49-5.97 5.92z"><
     /path></g> <g id="donut-small"><path d="M11 9.16V2c-5 .5-9 4.79-9 10s4 9.5 9 10v
     -7.16c-1-.41-2-1.52-2-2.84s1-2.43 2-2.84zM14.86 11H22c-.48-4.75-4-8.53-9-9v7.16c
     1 .3 1.52.98 1.86 1.84zM13 14.84V22c5-.47 8.52-4.25 9-9h-7.14c-.34.86-.86 1.54-1
     .86 1.84z"></path></g> <g id="drafts"><path d="M21.99 8c0-.72-.37-1.35-.94-1.7L1
     2 1 2.95 6.3C2.38 6.65 2 7.28 2 8v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2l-.01-10zM12
      13L3.74 7.84 12 3l8.26 4.84L12 13z"></path></g> <g id="eject"><path d="M5 17h14
     v2H5zm7-12L5.33 15h13.34z"></path></g> <g id="error"><path d="M12 2C6.48 2 2 6.4
     8 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z">
     </path></g> <g id="error-outline"><path d="M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47
      2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4
     .42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></g> <g id="event"><p
     ath d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 
     2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"></path></g> <g 
     id="event-seat"><path d="M4 18v3h3v-3h10v3h3v-6H4zm15-8h3v3h-3zM2 10h3v3H2zm15 3
     H7V5c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v8z"></path></g> <g id="exit-to-app"><path d=
     "M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.
     11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2
     -2-2z"></path></g> <g id="expand-less"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.
     59 4.58L18 14z"></path></g> <g id="expand-more"><path d="M16.59 8.59L12 13.17 7.
     41 8.59 6 10l6 6 6-6z"></path></g> <g id="explore"><path d="M12 10.9c-.61 0-1.1.
     49-1.1 1.1s.49 1.1 1.1 1.1c.61 0 1.1-.49 1.1-1.1s-.49-1.1-1.1-1.1zM12 2C6.48 2 2
      6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm2.19 12.19L6 18l3.81-8.19L1
     8 6l-3.81 8.19z"></path></g> <g id="extension"><path d="M20.5 11H19V7c0-1.1-.9-2
     -2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5
     c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.
     21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.
     12 2.5-2.5S21.88 11 20.5 11z"></path></g> <g id="face"><path d="M9 11.75c-.69 0-
     1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c
     -.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.2
     5zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 
     0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 
     10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"></
     path></g> <g id="favorite"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5
      2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 2
     2 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"></path></g> <g id="favorite-
     border"><path d="M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3
      2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 
     22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4
      6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5
      1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z"></path></g> <g id="feedback"><path d="
     M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 12h
     -2v-2h2v2zm0-4h-2V6h2v4z"></path></g> <g id="file-download"><path d="M19 9h-4V3H
     9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path></g> <g id="file-upload"><path d="M9 16h6
     v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"></path></g> <g id="filter-list"><path d="M10 18h
     4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"></path></g> <g id="find-in-page"><path 
     d="M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.
     15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24
      5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3
     -3-3-3 1.34-3 3z"></path></g> <g id="find-replace"><path d="M11 6c1.38 0 2.63.56
      3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6
     H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-
     2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11
      18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"></path></g> <g id="
     fingerprint"><path d="M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3
     c-1.98 0-3.86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 
     9.86 2 12.01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28zM
     3.5 9.72c-.1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9
     .98 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7-.23.16-
     .54.11-.7-.12-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 
     1.7-3.4 2.96-.08.14-.23.21-.39.21zm6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.3
     4-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.
     42 5.66 5.39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39-2.57 0-4.
     66 1.97-4.66 4.39 0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 
     0 .71-.11.1-.24.15-.37.15zm7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65
     -2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.5
     4.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-
     1.21.12zM14.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.
     17-3.24-2.17-5.22 0-1.62 1.38-2.94 3.08-2.94 1.7 0 3.08 1.32 3.08 2.94 0 1.07.93
      1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6
     .61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-
     .55-.04-.64-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-
     4.6 7.51-4.6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.
     08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95
     .94 1.86 1.46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38z"></path></g> <g 
     id="flag"><path d="M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z"></path></g> <g id="flig
     ht-land"><path d="M2.5 19h19v2h-19zm7.18-5.73l4.35 1.16 5.31 1.42c.8.21 1.62-.26
      1.84-1.06.21-.8-.26-1.62-1.06-1.84l-5.31-1.42-2.76-9.02L10.12 2v8.28L5.15 8.95l
     -.93-2.32-1.45-.39v5.17l1.6.43 5.31 1.43z"></path></g> <g id="flight-takeoff"><p
     ath d="M2.5 19h19v2h-19zm19.57-9.36c-.21-.8-1.04-1.28-1.84-1.06L14.92 10l-6.9-6.
     43-1.93.51 4.14 7.17-4.97 1.33-1.97-1.54-1.45.39 1.82 3.16.77 1.33 1.6-.43 5.31-
     1.42 4.35-1.16L21 11.49c.81-.23 1.28-1.05 1.07-1.85z"></path></g> <g id="flip-to
     -back"><path d="M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h
     2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-
     2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7
     zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z"></path></g> <g id="flip-to-front"><path d="M3 
     13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-2h-2v2
     zm4-18H9c-1.11 0-2 .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm
     0 12H9V5h10v10zm-8 6h2v-2h-2v2zm-4 0h2v-2H7v2z"></path></g> <g id="folder"><path
      d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9
     -2-2-2h-8l-2-2z"></path></g> <g id="folder-open"><path d="M20 6h-8l-2-2H4c-1.1 0
     -1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h1
     6v10z"></path></g> <g id="folder-shared"><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-
     1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 
     2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1z"></path>
     </g> <g id="font-download"><path d="M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-
     2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17
     l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z"></path></g> <g id="forward"><path d="
     M12 8V4l8 8-8 8v-4H4V8z"></path></g> <g id="fullscreen"><path d="M7 14H5v5h5v-2H
     7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></path></g> <g 
     id="fullscreen-exit"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-
     2h-5v5zm2-11V5h-2v5h5V8h-3z"></path></g> <g id="gavel"><path d="M1 21h12v2H1zM5.
     245 8.07l2.83-2.827 14.14 14.142-2.828 2.828zM12.317 1l5.657 5.656-2.83 2.83-5.6
     54-5.66zM3.825 9.485l5.657 5.657-2.828 2.828-5.657-5.657z"></path></g> <g id="ge
     sture"><path d="M4.59 6.89c.7-.71 1.4-1.35 1.71-1.22.5.2 0 1.03-.3 1.52-.25.42-2
     .86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-
     1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5
     .38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1H21v-2.5h-
     2.47c-.15-1.65-1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.2
     9 2.72-.25.3-.68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78
     -1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3 5.12 3 3.97 4 3.72 4.25c-.36.36-
     .66.66-.88.93l1.75 1.71zm9.29 11.66c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76
     -.3 2.69-1.43 3.48-2.13 3.48z"></path></g> <g id="get-app"><path d="M19 9h-4V3H9
     v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path></g> <g id="gif"><path d="M11.5 9H13v6h-1.
     5zM9 9H6c-.6 0-1 .5-1 1v4c0 .5.4 1 1 1h3c.6 0 1-.5 1-1v-2H8.5v1.5h-2v-3H10V10c0-
     .5-.4-1-1-1zm10 1.5V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g> <g id="grade"><pat
     h d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 
     4.73L5.82 21z"></path></g> <g id="group-work"><path d="M12 2C6.48 2 2 6.48 2 12s
     4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM8 17.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2
     .5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zM9.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 
     1.12 2.5 2.5-1.12 2.5-2.5 2.5S9.5 9.38 9.5 8zm6.5 9.5c-1.38 0-2.5-1.12-2.5-2.5s1
     .12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></g> <g id="help"><pa
     th d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2
     v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83
     l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4
      1.79 4 4c0 .88-.36 1.68-.93 2.25z"></path></g> <g id="help-outline"><path d="M1
     1 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2
     zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-
     4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4
     z"></path></g> <g id="highlight-off"><path d="M14.59 8L12 10.59 9.41 8 8 9.41 10
     .59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2
     C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.5
     9-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="history"><path d="M1
     3 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.1
     3 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9
     -4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></g> <g i
     d="home"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></g> <g id="hourgl
     ass-empty"><path d="M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16
     l-4-4 4-3.99-.01-.01H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5l-4-4V4h8v3.5l-4 4z"
     ></path></g> <g id="hourglass-full"><path d="M6 2v6h.01L6 8.01 10 12l-4 4 .01.01
     H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6z"></path></g> <g id="http">
     <path d="M4.5 11h-2V9H1v6h1.5v-2.5h2V15H6V9H4.5v2zm2.5-.5h1.5V15H10v-4.5h1.5V9H7
     v1.5zm5.5 0H14V15h1.5v-4.5H17V9h-4.5v1.5zm9-1.5H18v6h1.5v-2h2c.8 0 1.5-.7 1.5-1.
     5v-1c0-.8-.7-1.5-1.5-1.5zm0 2.5h-2v-1h2v1z"></path></g> <g id="https"><path d="M
     18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1
     .1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2
     zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"></path></g> <g
      id="important-devices"><path d="M23 11.01L18 11c-.55 0-1 .45-1 1v9c0 .55.45 1 1
      1h5c.55 0 1-.45 1-1v-9c0-.55-.45-.99-1-.99zM23 20h-5v-7h5v7zM20 2H2C.89 2 0 2.8
     9 0 4v12c0 1.1.89 2 2 2h7v2H7v2h8v-2h-2v-2h2v-2H2V4h18v5h2V4c0-1.11-.9-2-2-2zm-8
     .03 7L11 6l-.97 3H7l2.47 1.76-.94 2.91 2.47-1.8 2.47 1.8-.94-2.91L15 9h-3.03z"><
     /path></g> <g id="inbox"><path d="M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.8
     8 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.3
     4-3-3H4.99V5H19v10z"></path></g> <g id="indeterminate-check-box"><path d="M19 3H
     5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-
     2h10v2z"></path></g> <g id="info"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 1
     0 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"></path></g> <g id="
     info-outline"><path d="M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 1
     0-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-
     8 8zM11 9h2V7h-2v2z"></path></g> <g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2
      2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0
     -1.11-.9-2-2-2zM11 16l4-4-4-4v3H1v2h10v3z"></path></g> <g id="invert-colors"><pa
     th d="M17.66 7.93L12 2.27 6.34 7.93c-3.12 3.12-3.12 8.19 0 11.31C7.9 20.8 9.95 2
     1.58 12 21.58c2.05 0 4.1-.78 5.66-2.34 3.12-3.12 3.12-8.19 0-11.31zM12 19.59c-1.
     6 0-3.11-.62-4.24-1.76C6.62 16.69 6 15.19 6 13.59s.62-3.11 1.76-4.24L12 5.1v14.4
     9z"></path></g> <g id="label"><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.0
     1C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l
     -4.37-6.16z"></path></g> <g id="label-outline"><path d="M17.63 5.84C17.27 5.33 1
     6.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.3
     3 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z"></path></g> <g id="lang
     uage"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 
     12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 
     4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.9
     6zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68
     .06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33
     -3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 1
     9.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9
     .66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.0
     7 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33
      3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26
      2s-.1 1.36-.26 2h-3.38z"></path></g> <g id="launch"><path d="M19 19H5V5h7V3H5c-
     1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9
     .83 1.41 1.41L19 6.41V10h2V3h-7z"></path></g> <g id="lightbulb-outline"><path d=
     "M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.
     19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74
      0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-
     2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"></path></g> <g id="line-sty
     le"><path d="M3 16h5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v2zm4 
     0h2v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM3 12h8v-2H3v2zm10 0h8v-
     2h-8v2zM3 4v4h18V4H3z"></path></g> <g id="line-weight"><path d="M3 17h18v-2H3v2z
     m0 3h18v-1H3v1zm0-7h18v-3H3v3zm0-9v4h18V4H3z"></path></g> <g id="link"><path d="
     M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.
     71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39
      3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></g> <g id="list"><p
     ath d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM
     7 7v2h14V7H7z"></path></g> <g id="lock"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 
     3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-
     2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 
     3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"></path></g> <g id="lock-open"><path d="M12 1
     7c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 
     7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0
      1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"></path></g> 
     <g id="lock-outline"><path d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z
     m6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1
     .1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v
     2H8.9V6zM18 20H6V10h12v10z"></path></g> <g id="loyalty"><path d="M21.41 11.58l-9
     -9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.
     86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.
     59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7zm11.77
      8.27L13 19.54l-4.27-4.27C8.28 14.81 8 14.19 8 13.5c0-1.38 1.12-2.5 2.5-2.5.69 0
      1.32.28 1.77.74l.73.72.73-.73c.45-.45 1.08-.73 1.77-.73 1.38 0 2.5 1.12 2.5 2.5
      0 .69-.28 1.32-.73 1.77z"></path></g> <g id="mail"><path d="M20 4H4c-1.1 0-1.99
     .9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l
     8 5 8-5v2z"></path></g> <g id="markunread"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2
     L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2
     z"></path></g> <g id="markunread-mailbox"><path d="M20 6H10v6H8V4h6V0H6v6H4c-1.1
      0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z"></path></g> <g
      id="menu"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></g> <
     g id="more-horiz"><path d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 
     0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9
      2-2-.9-2-2-2z"></path></g> <g id="more-vert"><path d="M12 8c1.1 0 2-.9 2-2s-.9-
     2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.
     1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></path></g> <g id="motorcycle"><path d
     ="M19.44 9.03L15.41 5H11v2h3.59l2 2H5c-2.8 0-5 2.2-5 5s2.2 5 5 5c2.46 0 4.45-1.6
     9 4.9-4h1.65l2.77-2.77c-.21.54-.32 1.14-.32 1.77 0 2.8 2.2 5 5 5s5-2.2 5-5c0-2.6
     5-1.97-4.77-4.56-4.97zM7.82 15C7.4 16.15 6.28 17 5 17c-1.63 0-3-1.37-3-3s1.37-3 
     3-3c1.28 0 2.4.85 2.82 2H5v2h2.82zM19 17c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 
     3-1.34 3-3 3z"></path></g> <g id="move-to-inbox"><path d="M19 3H4.99c-1.11 0-1.9
     8.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12h-4c0 
     1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19v10zm-3-5h-2V7h-4v3H8l4 4 4-4z"></path></g>
      <g id="next-week"><path d="M20 7h-4V5c0-.55-.22-1.05-.59-1.41C15.05 3.22 14.55 
     3 14 3h-4c-1.1 0-2 .9-2 2v2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2
     V9c0-1.1-.9-2-2-2zM10 5h4v2h-4V5zm1 13.5l-1-1 3-3-3-3 1-1 4 4-4 4z"></path></g> 
     <g id="note-add"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18
     c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z">
     </path></g> <g id="offline-pin"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-
     4.5 10-10S17.5 2 12 2zm5 16H7v-2h10v2zm-6.7-4L7 10.7l1.4-1.4 1.9 1.9 5.3-5.3L17 
     7.3 10.3 14z"></path></g> <g id="opacity"><path d="M17.66 8L12 2.35 6.34 8C4.78 
     9.56 4 11.64 4 13.64s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20
      15.64 20 13.64 19.22 9.56 17.66 8zM6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.
     38C17.38 10.77 17.99 12 18 14H6z"></path></g> <g id="open-in-browser"><path d="M
     19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6
     c0-1.1-.89-2-2-2zm-7 6l-4 4h3v6h2v-6h3l-4-4z"></path></g> <g id="open-in-new"><p
     ath d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h
     -2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path></g> <g id="op
     en-with"><path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5
     v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"></path></g> <g id="pageview"><path 
     d="M11.5 9C10.12 9 9 10.12 9 11.5s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5S12.88 9 11.5
      9zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm
     -3.21 14.21l-2.91-2.91c-.69.44-1.51.7-2.39.7C9.01 16 7 13.99 7 11.5S9.01 7 11.5 
     7 16 9.01 16 11.5c0 .88-.26 1.69-.7 2.39l2.91 2.9-1.42 1.42z"></path></g> <g id=
     "pan-tool"><path d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 
     14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 
     4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .6
     7 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-
     1.5s1.5.67 1.5 1.5z"></path></g> <g id="payment"><path d="M20 4H4c-1.11 0-1.99.8
     9-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h
     16v6zm0-10H4V6h16v2z"></path></g> <g id="perm-camera-mic"><path d="M20 5h-3.17L1
     5 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7v-2.09c-2.83-.48-5-2.94-5-5.91h
     2c0 2.21 1.79 4 4 4s4-1.79 4-4h2c0 2.97-2.17 5.43-5 5.91V21h7c1.1 0 2-.9 2-2V7c0
     -1.1-.9-2-2-2zm-6 8c0 1.1-.9 2-2 2s-2-.9-2-2V9c0-1.1.9-2 2-2s2 .9 2 2v4z"></path
     ></g> <g id="perm-contact-calendar"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-2
      .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 3c1.66 0 3 1.34
      3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1z
     "></path></g> <g id="perm-data-setting"><path d="M18.99 11.5c.34 0 .67.03 1 .07L
     20 0 0 20h11.56c-.04-.33-.07-.66-.07-1 0-4.14 3.36-7.5 7.5-7.5zm3.71 7.99c.02-.1
     6.04-.32.04-.49 0-.17-.01-.33-.04-.49l1.06-.83c.09-.08.12-.21.06-.32l-1-1.73c-.0
     6-.11-.19-.15-.31-.11l-1.24.5c-.26-.2-.54-.37-.85-.49l-.19-1.32c-.01-.12-.12-.21
     -.24-.21h-2c-.12 0-.23.09-.25.21l-.19 1.32c-.3.13-.59.29-.85.49l-1.24-.5c-.11-.0
     4-.24 0-.31.11l-1 1.73c-.06.11-.04.24.06.32l1.06.83c-.02.16-.03.32-.03.49 0 .17.
     01.33.03.49l-1.06.83c-.09.08-.12.21-.06.32l1 1.73c.06.11.19.15.31.11l1.24-.5c.26
     .2.54.37.85.49l.19 1.32c.02.12.12.21.25.21h2c.12 0 .23-.09.25-.21l.19-1.32c.3-.1
     3.59-.29.84-.49l1.25.5c.11.04.24 0 .31-.11l1-1.73c.06-.11.03-.24-.06-.32l-1.07-.
     83zm-3.71 1.01c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5
      1.5z"></path></g> <g id="perm-device-information"><path d="M13 7h-2v2h2V7zm0 4h
     -2v6h2v-6zm4-9.99L7 1c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1
     -.9-1.99-2-1.99zM17 19H7V5h10v14z"></path></g> <g id="perm-identity"><path d="M1
     2 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c
     2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8
     s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-
     8-4z"></path></g> <g id="perm-media"><path d="M2 6H0v5h.01L0 20c0 1.1.9 2 2 2h18
     v-2H2V6zm20-2h-8l-2-2H6c-1.1 0-1.99.9-1.99 2L4 16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-
     2V6c0-1.1-.9-2-2-2zM7 15l4.5-6 3.5 4.51 2.5-3.01L21 15H7z"></path></g> <g id="pe
     rm-phone-msg"><path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24
     l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.4
     5 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1
     -.45 1-1v-3.5c0-.55-.45-1-1-1zM12 3v10l3-3h6V3h-9z"></path></g> <g id="perm-scan
     -wifi"><path d="M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 1
     2 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"></path></g> <g id="pets"><circle cx="4.5" c
     y="9.5" r="2.5"></circle><circle cx="9" cy="5.5" r="2.5"></circle><circle cx="15
     " cy="5.5" r="2.5"></circle><circle cx="19.5" cy="9.5" r="2.5"></circle><path d=
     "M17.34 14.86c-.87-1.02-1.6-1.89-2.48-2.91-.46-.54-1.05-1.08-1.75-1.32-.11-.04-.
     22-.07-.33-.09-.25-.04-.52-.04-.78-.04s-.53 0-.79.05c-.11.02-.22.05-.33.09-.7.24
     -1.28.78-1.75 1.32-.87 1.02-1.6 1.89-2.48 2.91-1.31 1.31-2.92 2.76-2.62 4.79.29 
     1.02 1.02 2.03 2.33 2.32.73.15 3.06-.44 5.54-.44h.18c2.48 0 4.81.58 5.54.44 1.31
     -.29 2.04-1.31 2.33-2.32.31-2.04-1.3-3.49-2.61-4.8z"></path></g> <g id="picture-
     in-picture"><path d="M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.9
     8h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z"></path></g> 
     <g id="picture-in-picture-alt"><path d="M19 11h-8v6h8v-6zm4 8V4.98C23 3.88 22.1 
     3 21 3H3c-1.1 0-2 .88-2 1.98V19c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H3V4.97h1
     8v14.05z"></path></g> <g id="play-for-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-
     4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H
     6z"></path></g> <g id="polymer"><path d="M19 4h-4L7.11 16.63 4.5 12 9 4H5L.5 12 
     5 20h4l7.89-12.63L19.5 12 15 20h4l4.5-8z"></path></g> <g id="power-settings-new"
     ><path d="M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-
     3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 1
     2c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z"></path></g> <g id="p
     regnant-woman"><path d="M9 4c0-1.11.89-2 2-2s2 .89 2 2-.89 2-2 2-2-.89-2-2zm7 9c
     -.01-1.34-.83-2.51-2-3 0-1.66-1.34-3-3-3s-3 1.34-3 3v7h2v5h3v-5h3v-4z"></path></
     g> <g id="print"><path d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.3
     4-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-
     9H6v4h12V3z"></path></g> <g id="query-builder"><path d="M11.99 2C6.47 2 2 6.48 2
      12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.5
     8-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z">
     </path></g> <g id="question-answer"><path d="M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 
     4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1
     -.45 1-1z"></path></g> <g id="radio-button-checked"><path d="M12 7c-2.76 0-5 2.2
     4-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-
     4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 
     8z"></path></g> <g id="radio-button-unchecked"><path d="M12 2C6.48 2 2 6.48 2 12
     s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 
     3.58 8 8-3.58 8-8 8z"></path></g> <g id="receipt"><path d="M18 17H6v-2h12v2zm0-4
     H6v-2h12v2zm0-4H6V7h12v2zM3 22l1.5-1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L1
     5 22l1.5-1.5L18 22l1.5-1.5L21 22V2l-1.5 1.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.
     5 1.5L9 2 7.5 3.5 6 2 4.5 3.5 3 2v20z"></path></g> <g id="record-voice-over"><ci
     rcle cx="9" cy="9" r="4"></circle><path d="M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.
     66-5.33-4-8-4zm7.76-9.64l-1.68 1.69c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 
     2.02-5.07 0-7.27zM20.07 2l-1.63 1.63c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.
     89 3.91-9.95 0-14z"></path></g> <g id="redeem"><path d="M20 6h-2.18c.11-.31.18-.
     65.18-1 0-1.66-1.34-3-3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05
      2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.8
     9 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-
     1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4
     v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 1
     4.92 8H20v6z"></path></g> <g id="redo"><path d="M18.4 10.6C16.55 8.99 14.15 8 11
     .5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.7
     2 5.12 1.88L13 16h9V7l-3.6 3.6z"></path></g> <g id="refresh"><path d="M17.65 6.3
     5C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 
     7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69
      4.22 1.78L13 11h7V4l-2.35 2.35z"></path></g> <g id="remove"><path d="M19 13H5v-
     2h14v2z"></path></g> <g id="remove-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.4
     8 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"></path></g> <g id="remov
     e-circle-outline"><path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10
      10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 
     8-8 8z"></path></g> <g id="reorder"><path d="M3 15h18v-2H3v2zm0 4h18v-2H3v2zm0-8
     h18V9H3v2zm0-6v2h18V5H3z"></path></g> <g id="reply"><path d="M10 9V5l-7 7 7 7v-4
     .1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z"></path></g> <g id="reply-all"><path d="M7
      8V5l-7 7 7 7v-3l-4-4 4-4zm6 1V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11
     z"></path></g> <g id="report"><path d="M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21
      15.73V8.27L15.73 3zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.
     3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3zm1-4.3h-2V7h2v6z"></path></g> <g id="report-p
     roblem"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"></path></g>
      <g id="restore"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.
     87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 1
     9.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-
     2.08V8H12z"></path></g> <g id="room"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 1
     3 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.
     5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></g> <g id="rounded-corner"><pa
     th d="M19 19h2v2h-2v-2zm0-2h2v-2h-2v2zM3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2z
     m0-4h2V3H3v2zm4 0h2V3H7v2zm8 16h2v-2h-2v2zm-4 0h2v-2h-2v2zm4 0h2v-2h-2v2zm-8 0h2
     v-2H7v2zm-4 0h2v-2H3v2zM21 8c0-2.76-2.24-5-5-5h-5v2h5c1.65 0 3 1.35 3 3v5h2V8z">
     </path></g> <g id="rowing"><path d="M8.5 14.5L4 19l1.5 1.5L9 17h2l-2.5-2.5zM15 1
     c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 20.01L18 24l-2.99-3.01V19.5l-7.1-
     7.09c-.31.05-.61.07-.91.07v-2.16c1.66.03 3.61-.87 4.67-2.04l1.4-1.55c.19-.21.43-
     .38.69-.5.29-.14.62-.23.96-.23h.03C15.99 6.01 17 7.02 17 8.26v5.75c0 .84-.35 1.6
     1-.92 2.16l-3.58-3.58v-2.27c-.63.52-1.43 1.02-2.29 1.39L16.5 18H18l3 3.01z"></pa
     th></g> <g id="save"><path d="M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 
     0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-
     10H5V5h10v4z"></path></g> <g id="schedule"><path d="M11.99 2C6.47 2 2 6.48 2 12s
     4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-
     8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"></pa
     th></g> <g id="search"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9
     .5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.
     27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.
     01 14 9.5 11.99 14 9.5 14z"></path></g> <g id="select-all"><path d="M3 5h2V3c-1.
     1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-
     1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v
     2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v
     -2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"></path></g> <g id="send"><
     path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"></path></g> <g id="settings"><pat
     h d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.4
     2.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-
     2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1
     .69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04
     .32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39
     .3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.1
     8.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.1
     2-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3
     .5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"></path></g> <g id="settings-applications"
     ><path d="M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm7-7H5c-1.11 0-2 .9-
     2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-1.75 9c0 .23-.02.46
     -.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.3
     6.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.
     26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.
     15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1
     .16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51
      1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82
     .41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c
     .03.23.05.46.05.69z"></path></g> <g id="settings-backup-restore"><path d="M14 12
     c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5
     c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.
     04 20.3 9.94 21 12 21c4.97 0 9-4.03 9-9s-4.03-9-9-9z"></path></g> <g id="setting
     s-bluetooth"><path d="M11 24h2v-2h-2v2zm-4 0h2v-2H7v2zm8 0h2v-2h-2v2zm2.71-18.29
     L12 0h-1v7.59L6.41 3 5 4.41 10.59 10 5 15.59 6.41 17 11 12.41V20h1l5.71-5.71-4.3
     -4.29 4.3-4.29zM13 3.83l1.88 1.88L13 7.59V3.83zm1.88 10.46L13 16.17v-3.76l1.88 1
     .88z"></path></g> <g id="settings-brightness"><path d="M21 3H3c-1.1 0-2 .9-2 2v1
     4c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02zM8 1
     6h2.5l1.5 1.5 1.5-1.5H16v-2.5l1.5-1.5-1.5-1.5V8h-2.5L12 6.5 10.5 8H8v2.5L6.5 12 
     8 13.5V16zm4-7c1.66 0 3 1.34 3 3s-1.34 3-3 3V9z"></path></g> <g id="settings-cel
     l"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM16 .01L8 0C6.9 0 6 .9 
     6 2v16c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V2c0-1.1-.9-1.99-2-1.99zM16 16H8V4h8v12z"><
     /path></g> <g id="settings-ethernet"><path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.
     52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6
     .77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z"></path><
     /g> <g id="settings-input-antenna"><path d="M12 5c-3.87 0-7 3.13-7 7h2c0-2.76 2.
     24-5 5-5s5 2.24 5 5h2c0-3.87-3.13-7-7-7zm1 9.29c.88-.39 1.5-1.26 1.5-2.29 0-1.38
     -1.12-2.5-2.5-2.5S9.5 10.62 9.5 12c0 1.02.62 1.9 1.5 2.29v3.3L7.59 21 9 22.41l3-
     3 3 3L16.41 21 13 17.59v-3.3zM12 1C5.93 1 1 5.93 1 12h2c0-4.97 4.03-9 9-9s9 4.03
      9 9h2c0-6.07-4.93-11-11-11z"></path></g> <g id="settings-input-component"><path
      d="M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2
     v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 1
     8.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-
     .55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.1
     6-.41 2-1.51 2-2.82v-2h-6v2z"></path></g> <g id="settings-input-composite"><path
      d="M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2
     v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 1
     8.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1-1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-
     .55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.1
     6-.41 2-1.51 2-2.82v-2h-6v2z"></path></g> <g id="settings-input-hdmi"><path d="M
     18 7V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h
     -1v2h-2V5h-1v2H8V4z"></path></g> <g id="settings-input-svideo"><path d="M8 11.5c
     0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 13 6.5 13 8 12.33 8 11.5zm7-5c0-.83-.6
     7-1.5-1.5-1.5h-3C9.67 5 9 5.67 9 6.5S9.67 8 10.5 8h3c.83 0 1.5-.67 1.5-1.5zM8.5 
     15c-.83 0-1.5.67-1.5 1.5S7.67 18 8.5 18s1.5-.67 1.5-1.5S9.33 15 8.5 15zM12 1C5.9
     3 1 1 5.93 1 12s4.93 11 11 11 11-4.93 11-11S18.07 1 12 1zm0 20c-4.96 0-9-4.04-9-
     9s4.04-9 9-9 9 4.04 9 9-4.04 9-9 9zm5.5-11c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5
      1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm-2 5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5
     -.67 1.5-1.5-.67-1.5-1.5-1.5z"></path></g> <g id="settings-overscan"><path d="M1
     2.01 5.5L10 8h4l-1.99-2.5zM18 10v4l2.5-1.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-
     4l2.01 2.5L14 16zm7-13H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-
     1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g> <g id="settings-phone"><path
      d="M13 9h-2v2h2V9zm4 0h-2v2h2V9zm3 6.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03
     -1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01
     C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17
      .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 9v2h2V9h-2z"></path></g> <g id="settin
     gs-power"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-2v2zm2-22h-2v10h2V2zm3.56 2.44l-1.4
     5 1.45C16.84 6.94 18 8.83 18 11c0 3.31-2.69 6-6 6s-6-2.69-6-6c0-2.17 1.16-4.06 2
     .88-5.12L7.44 4.44C5.36 5.88 4 8.28 4 11c0 4.42 3.58 8 8 8s8-3.58 8-8c0-2.72-1.3
     6-5.12-3.44-6.56zM15 24h2v-2h-2v2z"></path></g> <g id="settings-remote"><path d=
     "M15 9H9c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V10c0-.55-.45-1-1-1
     zm-3 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM7.05 6.05l1.41 1.41C9.37 6.56
      10.62 6 12 6s2.63.56 3.54 1.46l1.41-1.41C15.68 4.78 13.93 4 12 4s-3.68.78-4.95 
     2.05zM12 0C8.96 0 6.21 1.23 4.22 3.22l1.41 1.41C7.26 3.01 9.51 2 12 2s4.74 1.01 
     6.36 2.64l1.41-1.41C17.79 1.23 15.04 0 12 0z"></path></g> <g id="settings-voice"
     ><path d="M7 24h2v-2H7v2zm5-11c1.66 0 2.99-1.34 2.99-3L15 4c0-1.66-1.34-3-3-3S9 
     2.34 9 4v6c0 1.66 1.34 3 3 3zm-1 11h2v-2h-2v2zm4 0h2v-2h-2v2zm4-14h-1.7c0 3-2.54
      5.1-5.3 5.1S6.7 13 6.7 10H5c0 3.41 2.72 6.23 6 6.72V20h2v-3.28c3.28-.49 6-3.31 
     6-6.72z"></path></g> <g id="shop"><path d="M16 6V4c0-1.11-.89-2-2-2h-4c-1.11 0-2
      .89-2 2v2H2v13c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6h-6zm-6-2h4v2h-4V4zM9 18V9l
     7.5 4L9 18z"></path></g> <g id="shop-two"><path d="M3 9H1v11c0 1.11.89 2 2 2h14c
     1.11 0 2-.89 2-2H3V9zm15-4V3c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H5v11c0 1.11
     .89 2 2 2h14c1.11 0 2-.89 2-2V5h-5zm-6-2h4v2h-4V3zm0 12V8l5.5 3-5.5 4z"></path><
     /g> <g id="shopping-basket"><path d="M17.21 9l-4.38-6.56c-.19-.28-.51-.42-.83-.4
     2-.32 0-.64.14-.83.43L6.79 9H2c-.55 0-1 .45-1 1 0 .09.01.18.04.27l2.54 9.27c.23.
     84 1 1.46 1.92 1.46h13c.92 0 1.69-.62 1.93-1.46l2.54-9.27L23 10c0-.55-.45-1-1-1h
     -4.79zM9 9l3-4.4L15 9H9zm3 8c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"></path
     ></g> <g id="shopping-cart"><path d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9
      2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12
     v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.5
     8-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-
     1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"></path></g> <g id="sort"><path d="M3 18h
     6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"></path></g> <g id="speaker-notes"><path 
     d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 1
     4H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z
     "></path></g> <g id="spellcheck"><path d="M12.45 16h2.09L9.43 3H7.57L2.46 16h2.0
     9l1.12-3h5.64l1.14 3zm-6.02-5L8.5 5.48 10.57 11H6.43zm15.16.59l-8.09 8.09L9.83 1
     6l-1.41 1.41 5.09 5.09L23 13l-1.41-1.41z"></path></g> <g id="star"><path d="M12 
     17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82
      21z"></path></g> <g id="star-border"><path d="M22 9.24l-7.19-.62L12 2 9.19 8.63
      2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.
     27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"
     ></path></g> <g id="star-half"><path d="M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24
     l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4V6.1l1.71 4.04 4
     .38.38-3.32 2.88 1 4.28L12 15.4z"></path></g> <g id="stars"><path d="M11.99 2C6.
     47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm4.24 1
     6L12 15.45 7.77 18l1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.73 3.23
     L16.23 18z"></path></g> <g id="store"><path d="M20 4H4v2h16V4zm1 10v-2l-1-5H4l-1
      5v2h1v6h10v-6h4v6h2v-6h1zm-9 4H6v-4h6v4z"></path></g> <g id="subdirectory-arrow
     -left"><path d="M11 9l1.42 1.42L8.83 14H18V4h2v12H8.83l3.59 3.58L11 21l-6-6 6-6z
     "></path></g> <g id="subdirectory-arrow-right"><path d="M19 15l-6 6-1.42-1.42L15
     .17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z"></path></g> <g id="subject"><path d="
     M14 17H4v2h10v-2zm6-8H4v2h16V9zM4 15h16v-2H4v2zM4 5v2h16V5H4z"></path></g> <g id
     ="supervisor-account"><path d="M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7
     C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5zM9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9
      5C7.34 5 6 6.34 6 8s1.34 3 3 3zm7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.8
     3-3.67-2.75-5.5-2.75zM9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.
     47C10.5 13.1 9.66 13 9 13z"></path></g> <g id="swap-horiz"><path d="M6.99 11L3 1
     5l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z"></path></g> <g id="
     swap-vert"><path d="M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6
     .99h3L9 3z"></path></g> <g id="swap-vertical-circle"><path d="M12 2C6.48 2 2 6.4
     8 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM6.5 9L10 5.5 13.5 9H11v4H9V9H6.
     5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z"></path></g> <g id="system-update-alt"><p
     ath d="M12 16.5l4-4h-3v-9h-2v9H8l4 4zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0
     -2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2z"></path></g> <g
      id="tab"><path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c
     0-1.1-.9-2-2-2zm0 16H3V5h10v4h8v10z"></path></g> <g id="tab-unselected"><path d=
     "M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1
     v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2
     V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-8
      8h2v-2h-2v2zm4 0h2v-2h-2v2z"></path></g> <g id="text-format"><path d="M5 17v2h1
     4v-2H5zm4.5-4.2h5l.9 2.2h2.1L12.75 4h-1.5L6.5 15h2.1l.9-2.2zM12 5.98L13.87 11h-3
     .74L12 5.98z"></path></g> <g id="theaters"><path d="M18 3v2h-2V3H8v2H6V3H4v18h2v
     -2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2
     zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"></path></g> <g id="thumb-down"><path d="M15 3H6c
     -.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.
     9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.
     86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z"></path></g> <g id="thumb-up"><path 
     d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-
     1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.8
     4-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z"></path></g> <g id=
     "thumbs-up-down"><path d="M12 6c0-.55-.45-1-1-1H5.82l.66-3.18.02-.23c0-.31-.13-.
     59-.33-.8L5.38 0 .44 4.94C.17 5.21 0 5.59 0 6v6.5c0 .83.67 1.5 1.5 1.5h6.75c.62 
     0 1.15-.38 1.38-.91l2.26-5.29c.07-.17.11-.36.11-.55V6zm10.5 4h-6.75c-.62 0-1.15.
     38-1.38.91l-2.26 5.29c-.07.17-.11.36-.11.55V18c0 .55.45 1 1 1h5.18l-.66 3.18-.02
     .24c0 .31.13.59.33.8l.79.78 4.94-4.94c.27-.27.44-.65.44-1.06v-6.5c0-.83-.67-1.5-
     1.5-1.5z"></path></g> <g id="timeline"><path d="M23 8c0 1.1-.9 2-2 2-.18 0-.35-.
     02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.0
     7-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.
     07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8
      9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52
     -.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"></p
     ath></g> <g id="toc"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h
     2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"></path></g> <g id="today"><path d="M19
      3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2
     -2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"></path></g> <g id="toll"><path
      d="M15 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 14c-3.31 0-6-2.
     69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zM3 12c0-2.61 1.67-4.83 4-5.65V4.26C3.55 
     5.15 1 8.27 1 12s2.55 6.85 6 7.74v-2.09c-2.33-.82-4-3.04-4-5.65z"></path></g> <g
      id="touch-app"><path d="M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5v3.74c
     1.21-.81 2-2.18 2-3.74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74
     zm9.84 4.63l-4.54-2.26c-.17-.07-.35-.11-.54-.11H13v-6c0-.83-.67-1.5-1.5-1.5S10 6
     .67 10 7.5v10.74l-3.43-.72c-.08-.01-.15-.03-.24-.03-.31 0-.59.13-.79.33l-.79.8 4
     .94 4.94c.27.27.65.44 1.06.44h6.79c.75 0 1.33-.55 1.44-1.28l.75-5.27c.01-.07.02-
     .14.02-.2 0-.62-.38-1.16-.91-1.38z"></path></g> <g id="track-changes"><path d="M
     19.07 4.93l-1.41 1.41C19.1 7.79 20 9.79 20 12c0 4.42-3.58 8-8 8s-8-3.58-8-8c0-4.
     08 3.05-7.44 7-7.93v2.02C8.16 6.57 6 9.03 6 12c0 3.31 2.69 6 6 6s6-2.69 6-6c0-1.
     66-.67-3.16-1.76-4.24l-1.41 1.41C15.55 9.9 16 10.9 16 12c0 2.21-1.79 4-4 4s-4-1.
     79-4-4c0-1.86 1.28-3.41 3-3.86v2.14c-.6.35-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0
     -.74-.4-1.38-1-1.72V2h-1C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10c0-2.76-1
     .12-5.26-2.93-7.07z"></path></g> <g id="translate"><path d="M12.87 15.07l-2.54-2
     .51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10
     .44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.0
     9 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-1
     2zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></g> <g id="trending-down"><path d=
     "M16 18l2.29-2.29-4.88-4.88-4 4L2 7.41 3.41 6l6 6 4-4 6.3 6.29L22 12v6z"></path>
     </g> <g id="trending-flat"><path d="M22 12l-4-4v3H3v2h15v3z"></path></g> <g id="
     trending-up"><path d="M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-
     6.29L22 12V6z"></path></g> <g id="turned-in"><path d="M17 3H7c-1.1 0-1.99.9-1.99
      2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"></path></g> <g id="turned-in-not"><path d="M1
     7 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10
     v13z"></path></g> <g id="unarchive"><path d="M20.55 5.22l-1.39-1.68C18.88 3.21 1
     8.47 3 18 3H6c-.47 0-.88.21-1.15.55L3.46 5.22C3.17 5.57 3 6.01 3 6.5V19c0 1.1.89
      2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.49-.17-.93-.45-1.28zM12 9.5l5.5 5.5H14v2h-4v-2H6
     .5L12 9.5zM5.12 5l.82-1h12l.93 1H5.12z"></path></g> <g id="undo"><path d="M12.5 
     8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 
     0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></g> <g id="unf
     old-less"><path d="M7.41 18.59L8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4
     .59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"></path></g> <
     g id="unfold-more"><path d="M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 
     5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"></path></g>
      <g id="update"><path d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.
     73 2.71-2.73 7.08 0 9.79 2.73 2.71 7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1
     h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-
     12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13
     V8h1.5z"></path></g> <g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.84 10.7
     4 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 
     9l-8 8z"></path></g> <g id="view-agenda"><path d="M20 13H3c-.55 0-1 .45-1 1v6c0 
     .55.45 1 1 1h17c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zm0-10H3c-.55 0-1 .45-1 1v6c0 
     .55.45 1 1 1h17c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1z"></path></g> <g id="view-arra
     y"><path d="M4 18h3V5H4v13zM18 5v13h3V5h-3zM8 18h9V5H8v13z"></path></g> <g id="v
     iew-carousel"><path d="M7 19h10V4H7v15zm-5-2h4V6H2v11zM18 6v11h4V6h-4z"></path><
     /g> <g id="view-column"><path d="M10 18h5V5h-5v13zm-6 0h5V5H4v13zM16 5v13h5V5h-5
     z"></path></g> <g id="view-day"><path d="M2 21h19v-3H2v3zM20 8H3c-.55 0-1 .45-1 
     1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zM2 3v3h19V3H2z"></path><
     /g> <g id="view-headline"><path d="M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2z
     m0-6v2h16V5H4z"></path></g> <g id="view-list"><path d="M4 14h4v-4H4v4zm0 5h4v-4H
     4v4zM4 9h4V5H4v4zm5 5h12v-4H9v4zm0 5h12v-4H9v4zM9 5v4h12V5H9z"></path></g> <g id
     ="view-module"><path d="M4 11h5V5H4v6zm0 7h5v-6H4v6zm6 0h5v-6h-5v6zm6 0h5v-6h-5v
     6zm-6-7h5V5h-5v6zm6-6v6h5V5h-5z"></path></g> <g id="view-quilt"><path d="M10 18h
     5v-6h-5v6zm-6 0h5V5H4v13zm12 0h5v-6h-5v6zM10 5v6h11V5H10z"></path></g> <g id="vi
     ew-stream"><path d="M4 18h17v-6H4v6zM4 5v6h17V5H4z"></path></g> <g id="view-week
     "><path d="M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.
     45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.
     45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.
     45-1-1-1z"></path></g> <g id="visibility"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c
     1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5
     -2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-
     1.34 3-3-1.34-3-3-3z"></path></g> <g id="visibility-off"><path d="M12 7c2.76 0 5
      2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.
     39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2
     .28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.
     38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43
     -.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-
     2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3
     -3l-.17.01z"></path></g> <g id="warning"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2
     h2v2zm0-4h-2v-4h2v4z"></path></g> <g id="watch-later"><path d="M12 2C6.5 2 2 6.5
      2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8
      1.3z"></path></g> <g id="weekend"><path d="M21 10c-1.1 0-2 .9-2 2v3H5v-3c0-1.1-
     .9-2-2-2s-2 .9-2 2v5c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-5c0-1.1-.9-2-2-2zm-3-5H6c-
     1.1 0-2 .9-2 2v2.15c1.16.41 2 1.51 2 2.82V14h12v-2.03c0-1.3.84-2.4 2-2.82V7c0-1.
     1-.9-2-2-2z"></path></g> <g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1
     .11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 
     2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"></path></g> <g id="youtube-searched-for"
     ><path d="M17.01 14h-.8l-.27-.27c.98-1.14 1.57-2.61 1.57-4.23 0-3.59-2.91-6.5-6.
     5-6.5s-6.5 3-6.5 6.5H2l3.84 4 4.16-4H6.51C6.51 7 8.53 5 11.01 5s4.5 2.01 4.5 4.5
     c0 2.48-2.02 4.5-4.5 4.5-.65 0-1.26-.14-1.82-.38L7.71 15.1c.97.57 2.09.9 3.3.9 1
     .61 0 3.08-.59 4.22-1.57l.27.27v.79l5.01 4.99L22 19l-4.99-5z"></path></g> <g id=
     "zoom-in"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13
     .09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4
     .99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.
     99 14 9.5 14zm2.5-4h-2v2H9v-2H7V9h2V7h1v2h2v1z"></path></g> <g id="zoom-out"><pa
     th d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3
      5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l
     -4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z
     M7 9h5v1H7z"></path></g> </defs></svg> </iron-iconset-svg> <script>!function(){"
     use strict";function e(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||v.test
     (i)?n="space":f.test(i)?n="esc":1==i.length?t&&!u.test(i)||(n=i):n=c.test(i)?i.r
     eplace("arrow",""):"multiply"==i?"*":i}return n}function t(e){var t="";return e&
     &(e in o?t=o[e]:h.test(e)?(e=parseInt(e.replace("U+","0x"),16),t=String.fromChar
     Code(e).toLowerCase()):t=e.toLowerCase()),t}function n(e){var t="";return Number
     (e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112):e>=48&
     &e<=57?String(e-48):e>=96&&e<=105?String(e-96):d[e]),t}function i(i,r){return i.
     key?e(i.key,r):i.detail&&i.detail.key?e(i.detail.key,r):t(i.keyIdentifier)||n(i.
     keyCode)||""}function r(e,t){var n=i(t,e.hasModifiers);return n===e.key&&(!e.has
     Modifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e
     .altKey&&!!t.metaKey==!!e.metaKey)}function s(e){return 1===e.length?{combo:e,ke
     y:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0]
     ,r=n[1];return i in y?(e[y[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=r||"keydow
     n"),e},{combo:e.split(":").shift()})}function a(e){return e.trim().split(" ").ma
     p(function(e){return s(e)})}var o={"U+0008":"backspace","U+0009":"tab","U+001B":
     "esc","U+0020":"space","U+007F":"del"},d={8:"backspace",9:"tab",13:"enter",27:"e
     sc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39
     :"right",40:"down",46:"del",106:"*"},y={shift:"shiftKey",ctrl:"ctrlKey",alt:"alt
     Key",meta:"metaKey"},u=/[a-z0-9*]/,h=/U\+/,c=/^arrow/,v=/^space(bar)?/,f=/^escap
     e$/;Polymer.IronA11yKeysBehavior={properties:{keyEventTarget:{type:Object,value:
     function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_b
     oundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{
     type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(key
     EventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._pre
     pKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:fu
     nction(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this.
     _imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners
     ()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKey
     Bindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t
     ){for(var n=a(t),i=0;i<n.length;++i)if(r(n[i],e))return!0;return!1},_collectKeyB
     indings:function(){var e=this.behaviors.map(function(e){return e.keyBindings});r
     eturn e.indexOf(this.keyBindings)===-1&&e.push(this.keyBindings),e},_prepKeyBind
     ings:function(){this._keyBindings={},this._collectKeyBindings().forEach(function
     (e){for(var t in e)this._addKeyBinding(t,e[t])},this);for(var e in this._imperat
     iveKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t i
     n this._keyBindings)this._keyBindings[t].sort(function(e,t){var n=e[0].hasModifi
     ers,i=t[0].hasModifiers;return n===i?0:n?-1:1})},_addKeyBinding:function(e,t){a(
     e).forEach(function(e){this._keyBindings[e.event]=this._keyBindings[e.event]||[]
     ,this._keyBindings[e.event].push([e,t])},this)},_resetKeyEventListeners:function
     (){this._unlistenKeyEventListeners(),this.isAttached&&this._listenKeyEventListen
     ers()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.keys(this
     ._keyBindings).forEach(function(e){var t=this._keyBindings[e],n=this._onKeyBindi
     ngEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,n]),this
     .keyEventTarget.addEventListener(e,n)},this)},_unlistenKeyEventListeners:functio
     n(){for(var e,t,n,i;this._boundKeyHandlers.length;)e=this._boundKeyHandlers.pop(
     ),t=e[0],n=e[1],i=e[2],t.removeEventListener(n,i)},_onKeyBindingEvent:function(e
     ,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPrevente
     d)for(var n=0;n<e.length;n++){var i=e[n][0],s=e[n][1];if(r(i,t)&&(this._triggerK
     eyHandler(i,s,t),t.defaultPrevented))return}},_triggerKeyHandler:function(e,t,n)
     {var i=Object.create(e);i.keyboardEvent=n;var r=new CustomEvent(e.event,{detail:
     i,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&n.preventDefault()}}}
     ()</script> <script>Polymer.IronControlState={properties:{focused:{type:Boolean,
     value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,val
     ue:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:
     {type:Number},_boundFocusBlurHandler:{type:Function,value:function(){return this
     ._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disab
     led)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandle
     r,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHa
     ndler:function(e){if(e.target===this)this._setFocused("focus"===e.type);else if(
     !this.shadowRoot){var t=Polymer.dom(e).localTarget;this.isLightDescendant(t)||th
     is.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancela
     ble})}},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true
     ":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.tabInd
     ex,this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex
     &&(this.tabIndex=this._oldTabIndex)},_changedControlState:function(){this._contr
     olStateChanged&&this._controlStateChanged()}}</script> <script>Polymer.IronButto
     nStateImpl={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttr
     ibute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAtt
     ribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointe
     rDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolea
     n,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_
     ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap
     :"_tapHandler"},observers:["_detectKeyboardFocus(focused)","_activeChanged(activ
     e, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keyd
     own":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^
     mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this
     .active=!1},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(
     !this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e
     ,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._s
     etPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this
     ._setPointerDown(!1),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var 
     t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)|
     |(t.preventDefault(),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceK
     eyUpHandler:function(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarge
     t;this.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(
     !1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedCha
     nged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:functio
     n(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:fu
     nction(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"fa
     lse"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()}
     ,_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._change
     dButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._b
     uttonStateChanged()}},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Poly
     mer.IronButtonStateImpl]</script> <dom-module id="paper-ripple" assetpath="/res/
     imp/bower_components/paper-ripple/"> <template> <style>:host{display:block;posit
     ion:absolute;border-radius:inherit;overflow:hidden;top:0;left:0;right:0;bottom:0
     ;pointer-events:none}:host([animating]){-webkit-transform:translate(0,0);transfo
     rm:translate3d(0,0,0)}#background,#waves,.wave,.wave-container{pointer-events:no
     ne;position:absolute;top:0;left:0;width:100%;height:100%}#background,.wave{opaci
     ty:0}#waves,.wave{overflow:hidden}.wave,.wave-container{border-radius:50%}:host(
     .circle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wav
     e-container{overflow:hidden}</style> <div id="background"></div> <div id="waves"
     ></div> </template> </dom-module> <script>!function(){function t(t){this.element
     =t,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.
     size=Math.max(this.width,this.height)}function i(t){this.element=t,this.color=wi
     ndow.getComputedStyle(t).color,this.wave=document.createElement("div"),this.wave
     Container=document.createElement("div"),this.wave.style.backgroundColor=this.col
     or,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-contai
     ner"),Polymer.dom(this.waveContainer).appendChild(this.wave),this.resetInteracti
     onState()}var e={distance:function(t,i,e,n){var s=t-e,o=i-n;return Math.sqrt(s*s
     +o*o)},now:window.performance&&window.performance.now?window.performance.now.bin
     d(window.performance):Date.now};t.prototype={get boundingRect(){return this.elem
     ent.getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.di
     stance(t,i,0,0),s=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),a
     =e.distance(t,i,this.width,this.height);return Math.max(n,s,o,a)}},i.MAX_RADIUS=
     300,i.prototype={get recenters(){return this.element.recenters},get center(){ret
     urn this.element.center},get mouseDownElapsed(){var t;return this.mouseDownStart
     ?(t=e.now()-this.mouseDownStart,this.mouseUpStart&&(t-=this.mouseUpElapsed),t):0
     },get mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get
      mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedS
     econds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return th
     is.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){retu
     rn this.element.initialOpacity},get opacityDecayVelocity(){return this.element.o
     pacityDecayVelocity},get radius(){var t=this.containerMetrics.width*this.contain
     erMetrics.width,e=this.containerMetrics.height*this.containerMetrics.height,n=1.
     1*Math.min(Math.sqrt(t+e),i.MAX_RADIUS)+5,s=1.1-.2*(n/i.MAX_RADIUS),o=this.mouse
     InteractionSeconds/s,a=n*(1-Math.pow(80,-o));return Math.abs(a)},get opacity(){r
     eturn this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSecond
     s*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var t=.3*th
     is.mouseUpElapsedSeconds,i=this.opacity;return Math.max(0,Math.min(t,i))},get is
     OpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRad
     ius,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialO
     pacity&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isAnimationCompl
     ete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRad
     ius},get translationFraction(){return Math.min(1,this.radius/this.containerMetri
     cs.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translatio
     nFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.
     yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouse
     Down(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:fun
     ction(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0
     ,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetric
     s=new t(this.element)},draw:function(){var t,i,e;this.wave.style.opacity=this.op
     acity,t=this.radius/(this.containerMetrics.size/2),i=this.xNow-this.containerMet
     rics.width/2,e=this.yNow-this.containerMetrics.height/2,this.waveContainer.style
     .webkitTransform="translate("+i+"px, "+e+"px)",this.waveContainer.style.transfor
     m="translate3d("+i+"px, "+e+"px, 0)",this.wave.style.webkitTransform="scale("+t+
     ","+t+")",this.wave.style.transform="scale3d("+t+","+t+",1)"},downAction:functio
     n(t){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.r
     esetInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,th
     is.yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this
     .yEnd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.c
     ontainerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingR
     ect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n
     ,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),thi
     s.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yS
     tart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerM
     etrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-t
     his.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerM
     etrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"
     },upAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:fun
     ction(){Polymer.dom(this.waveContainer.parentNode).removeChild(this.waveContaine
     r)}},Polymer({is:"paper-ripple",behaviors:[Polymer.IronA11yKeysBehavior],propert
     ies:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,va
     lue:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples
     :{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,ref
     lectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDown
     Changed"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:
     {type:Function,value:function(){return this.animate.bind(this)}}},get target(){r
     eturn this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space
     :keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){1
     1==this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot()
     .host:this.keyEventTarget=this.parentNode;var t=this.keyEventTarget;this.listen(
     t,"up","uiUpAction"),this.listen(t,"down","uiDownAction")},detached:function(){t
     his.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventT
     arget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating()
     {for(var t=0;t<this.ripples.length;++t)if(!this.ripples[t].isAnimationComplete)r
     eturn!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(fu
     nction(){this.upAction()},1)},uiDownAction:function(t){this.noink||this.downActi
     on(t)},downAction:function(t){if(!(this.holdDown&&this.ripples.length>0)){var i=
     this.addRipple();i.downAction(t),this._animating||(this._animating=!0,this.anima
     te())}},uiUpAction:function(t){this.noink||this.upAction(t)},upAction:function(t
     ){this.holdDown||(this.ripples.forEach(function(i){i.upAction(t)}),this._animati
     ng=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.
     background.style.backgroundColor=null,this.fire("transitionend")},addRipple:func
     tion(){var t=new i(this);return Polymer.dom(this.$.waves).appendChild(t.waveCont
     ainer),this.$.background.style.backgroundColor=t.color,this.ripples.push(t),this
     ._setAnimating(!0),t},removeRipple:function(t){var i=this.ripples.indexOf(t);i<0
     ||(this.ripples.splice(i,1),t.remove(),this.ripples.length||this._setAnimating(!
     1))},animate:function(){if(this._animating){var t,i;for(t=0;t<this.ripples.lengt
     h;++t)i=this.ripples[t],i.draw(),this.$.background.style.opacity=i.outerOpacity,
     i.isOpacityFullyDecayed&&!i.isRestingAtMaxRadius&&this.removeRipple(i);this.shou
     ldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boun
     dAnimate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAct
     ion(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownActio
     n()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(t,i){
     void 0!==i&&(t?this.downAction():this.upAction())}})}()</script> <script>Polymer
     .PaperRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},
     _rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&thi
     s.ensureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHand
     ler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if
     (!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.no
     ink;var i=this._rippleContainer||this.root;if(i&&Polymer.dom(i).appendChild(this
     ._ripple),e){var n=Polymer.dom(this._rippleContainer||this),t=Polymer.dom(e).roo
     tTarget;n.deepContains(t)&&this._ripple.uiDownAction(e)}}},getRipple:function(){
     return this.ensureRipple(),this._ripple},hasRipple:function(){return Boolean(thi
     s._ripple)},_createRipple:function(){return document.createElement("paper-ripple
     ")},_noinkChanged:function(e){this.hasRipple()&&(this._ripple.noink=e)}}</script
     > <script>Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,re
     flectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disab
     led, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receive
     dFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_c
     alculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed
     ?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboa
     rdClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:f
     unction(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.ha
     sRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spac
     eKeyUpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(th
     is,e),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=
     [Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Po
     lymer.PaperButtonBehaviorImpl]</script> <style is="custom-style">:root{--shadow-
     transition:{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{b
     ox-shadow:none};--shadow-elevation-2dp:{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0
      1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)};--shadow-elevation-3dp
     :{box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12),0 3px 3px -
     2px rgba(0,0,0,.4)};--shadow-elevation-4dp:{box-shadow:0 4px 5px 0 rgba(0,0,0,.1
     4),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4)};--shadow-elevatio
     n-6dp:{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3p
     x 5px -1px rgba(0,0,0,.4)};--shadow-elevation-8dp:{box-shadow:0 8px 10px 1px rgb
     a(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4)};--sha
     dow-elevation-12dp:{box-shadow:0 12px 16px 1px rgba(0,0,0,.14),0 4px 22px 3px rg
     ba(0,0,0,.12),0 6px 7px -4px rgba(0,0,0,.4)};--shadow-elevation-16dp:{box-shadow
     :0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px 
     rgba(0,0,0,.4)};}</style> <dom-module id="paper-material-shared-styles" assetpat
     h="/res/imp/bower_components/paper-material/"> <template> <style>:host{display:b
     lock;position:relative}:host([elevation="1"]){@apply(--shadow-elevation-2dp)}:ho
     st([elevation="2"]){@apply(--shadow-elevation-4dp)}:host([elevation="3"]){@apply
     (--shadow-elevation-6dp)}:host([elevation="4"]){@apply(--shadow-elevation-8dp)}:
     host([elevation="5"]){@apply(--shadow-elevation-16dp)}</style> </template> </dom
     -module> <style is="custom-style">:root{--google-red-100:#f4c7c3;--google-red-30
     0:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-blue-100:#c
     6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#336
     7d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f
     9d58;--google-green-700:#0b8043;--google-yellow-100:#fce8b2;--google-yellow-300:
     #f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--google-grey-10
     0:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:
     #616161;--paper-red-50:#ffebee;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;-
     -paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-500:#f44336;--paper-r
     ed-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#
     b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff174
     4;--paper-red-a700:#d50000;--paper-pink-50:#fce4ec;--paper-pink-100:#f8bbd0;--pa
     per-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-p
     ink-500:#e91e63;--paper-pink-600:#d81b60;--paper-pink-700:#c2185b;--paper-pink-8
     00:#ad1457;--paper-pink-900:#880e4f;--paper-pink-a100:#ff80ab;--paper-pink-a200:
     #ff4081;--paper-pink-a400:#f50057;--paper-pink-a700:#c51162;--paper-purple-50:#f
     3e5f5;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#
     ba68c8;--paper-purple-400:#ab47bc;--paper-purple-500:#9c27b0;--paper-purple-600:
     #8e24aa;--paper-purple-700:#7b1fa2;--paper-purple-800:#6a1b9a;--paper-purple-900
     :#4a148c;--paper-purple-a100:#ea80fc;--paper-purple-a200:#e040fb;--paper-purple-
     a400:#d500f9;--paper-purple-a700:#aa00ff;--paper-deep-purple-50:#ede7f6;--paper-
     deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:
     #9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-500:#673ab7;--paper-
     deep-purple-600:#5e35b1;--paper-deep-purple-700:#512da8;--paper-deep-purple-800:
     #4527a0;--paper-deep-purple-900:#311b92;--paper-deep-purple-a100:#b388ff;--paper
     -deep-purple-a200:#7c4dff;--paper-deep-purple-a400:#651fff;--paper-deep-purple-a
     700:#6200ea;--paper-indigo-50:#e8eaf6;--paper-indigo-100:#c5cae9;--paper-indigo-
     200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo
     -500:#3f51b5;--paper-indigo-600:#3949ab;--paper-indigo-700:#303f9f;--paper-indig
     o-800:#283593;--paper-indigo-900:#1a237e;--paper-indigo-a100:#8c9eff;--paper-ind
     igo-a200:#536dfe;--paper-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper
     -blue-50:#e3f2fd;--paper-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-
     300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-500:#2196f3;--paper-blue-600:#
     1e88e5;--paper-blue-700:#1976d2;--paper-blue-800:#1565c0;--paper-blue-900:#0d47a
     1;--paper-blue-a100:#82b1ff;--paper-blue-a200:#448aff;--paper-blue-a400:#2979ff;
     --paper-blue-a700:#2962ff;--paper-light-blue-50:#e1f5fe;--paper-light-blue-100:#
     b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-lig
     ht-blue-400:#29b6f6;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be
     5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-bl
     ue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;-
     -paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-cyan-50:#
     e0f7fa;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e
     1;--paper-cyan-400:#26c6da;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--p
     aper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-
     cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cy
     an-a700:#00b8d4;--paper-teal-50:#e0f2f1;--paper-teal-100:#b2dfdb;--paper-teal-20
     0:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-500:#00
     9688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;
     --paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--p
     aper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-green-50:#e8f5e9;--pape
     r-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-
     green-400:#66bb6a;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-gr
     een-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-gree
     n-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-gre
     en-a700:#00c853;--paper-light-green-50:#f1f8e9;--paper-light-green-100:#dcedc8;-
     -paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-gre
     en-400:#9ccc65;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;-
     -paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-gre
     en-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59
     ;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-
     50:#f9fbe7;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#d
     ce775;--paper-lime-400:#d4e157;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33
     ;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--pa
     per-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--pape
     r-lime-a700:#aeea00;--paper-yellow-50:#fffde7;--paper-yellow-100:#fff9c4;--paper
     -yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--pape
     r-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--pap
     er-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--p
     aper-yellow-a200:#ffff00;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600
     ;--paper-amber-50:#fff8e1;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--
     paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-500:#ffc107;--pa
     per-amber-600:#ffb300;--paper-amber-700:#ffa000;--paper-amber-800:#ff8f00;--pape
     r-amber-900:#ff6f00;--paper-amber-a100:#ffe57f;--paper-amber-a200:#ffd740;--pape
     r-amber-a400:#ffc400;--paper-amber-a700:#ffab00;--paper-orange-50:#fff3e0;--pape
     r-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--pap
     er-orange-400:#ffa726;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--pa
     per-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--p
     aper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100
     ;--paper-orange-a700:#ff6500;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-
     100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--pa
     per-deep-orange-400:#ff7043;--paper-deep-orange-500:#ff5722;--paper-deep-orange-
     600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--pa
     per-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange
     -a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;
     --paper-brown-50:#efebe9;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--p
     aper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-500:#795548;--pap
     er-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper
     -brown-900:#3e2723;--paper-grey-50:#fafafa;--paper-grey-100:#f5f5f5;--paper-grey
     -200:#eeeeee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-500:
     #9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#4242
     42;--paper-grey-900:#212121;--paper-blue-grey-50:#eceff1;--paper-blue-grey-100:#
     cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-
     grey-400:#78909c;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--p
     aper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#
     263238;--dark-divider-opacity:0.12;--dark-disabled-opacity:0.38;--dark-secondary
     -opacity:0.54;--dark-primary-opacity:0.87;--light-divider-opacity:0.12;--light-d
     isabled-opacity:0.3;--light-secondary-opacity:0.7;--light-primary-opacity:1.0}</
     style> <style is="custom-style">:root{--primary-text-color:var(--light-theme-tex
     t-color);--primary-background-color:var(--light-theme-background-color);--second
     ary-text-color:var(--light-theme-secondary-color);--disabled-text-color:var(--li
     ght-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--err
     or-color:var(--paper-deep-orange-a700);--primary-color:var(--paper-indigo-500);-
     -light-primary-color:var(--paper-indigo-100);--dark-primary-color:var(--paper-in
     digo-700);--accent-color:var(--paper-pink-a200);--light-accent-color:var(--paper
     -pink-a100);--dark-accent-color:var(--paper-pink-a400);--light-theme-background-
     color:#ffffff;--light-theme-base-color:#000000;--light-theme-text-color:var(--pa
     per-grey-900);--light-theme-secondary-color:#737373;--light-theme-disabled-color
     :#9b9b9b;--light-theme-divider-color:#dbdbdb;--dark-theme-background-color:var(-
     -paper-grey-900);--dark-theme-base-color:#ffffff;--dark-theme-text-color:#ffffff
     ;--dark-theme-secondary-color:#bcbcbc;--dark-theme-disabled-color:#646464;--dark
     -theme-divider-color:#3c3c3c;--text-primary-color:var(--dark-theme-text-color);-
     -default-primary-color:var(--primary-color)}</style> <dom-module id="paper-fab" 
     assetpath="/res/imp/bower_components/paper-fab/"> <template strip-whitespace="">
      <style include="paper-material-shared-styles">:host{@apply(--layout-vertical);@
     apply(--layout-center-center);background:var(--paper-fab-background,--accent-col
     or);border-radius:50%;box-sizing:border-box;color:var(--text-primary-color);curs
     or:pointer;height:56px;min-width:0;outline:0;padding:16px;position:relative;-moz
     -user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none
     ;width:56px;z-index:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highli
     ght-color:transparent;@apply(--paper-fab)}[hidden]{display:none!important}:host(
     [mini]){width:40px;height:40px;padding:8px;@apply(--paper-fab-mini)}:host([disab
     led]){color:var(--paper-fab-disabled-text,--paper-grey-500);background:var(--pap
     er-fab-disabled-background,--paper-grey-300);@apply(--paper-fab-disabled)}iron-i
     con{@apply(--paper-fab-iron-icon)}span{width:100%;white-space:nowrap;overflow:hi
     dden;text-overflow:ellipsis;text-align:center}:host(.keyboard-focus){background:
     var(--paper-fab-keyboard-focus-background,--paper-pink-900)}</style> <iron-icon 
     id="icon" hidden$="{{!_computeIsIconFab(icon, src)}}" src="[[src]]" icon="[[icon
     ]]"></iron-icon> <span hidden$="{{_computeIsIconFab(icon, src)}}">{{label}}</spa
     n> </template> <script>Polymer({is:"paper-fab",behaviors:[Polymer.PaperButtonBeh
     avior],properties:{src:{type:String,value:""},icon:{type:String,value:""},mini:{
     type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,observer:"_label
     Changed"}},_labelChanged:function(){this.setAttribute("aria-label",this.label)},
     _computeIsIconFab:function(e,t){return e.length>0||t.length>0}})</script> </dom-
     module> <script>Polymer.PaperSpinnerBehavior={listeners:{animationend:"__reset",
     webkitAnimationEnd:"__reset"},properties:{active:{type:Boolean,value:!1,reflectT
     oAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",obser
     ver:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerCla
     sses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeC
     hanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altCha
     nged:function(e){e===this.getPropertyInfo("alt").value?this.alt=this.getAttribut
     e("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",
     e))},__setAriaHidden:function(e){var t="aria-hidden";e?this.setAttribute(t,"true
     "):this.removeAttribute(t)},__reset:function(){this.active=!1,this.__coolingDown
     =!1}}</script> <dom-module id="paper-spinner-styles" assetpath="/res/imp/bower_c
     omponents/paper-spinner/"> <template> <style>:host{display:inline-block;position
     :relative;width:28px;height:28px;--paper-spinner-container-rotation-duration:156
     8ms;--paper-spinner-expand-contract-duration:1333ms;--paper-spinner-full-cycle-d
     uration:5332ms;--paper-spinner-cooldown-duration:400ms}#spinnerContainer{width:1
     00%;height:100%;direction:ltr}#spinnerContainer.active{-webkit-animation:contain
     er-rotate var(--paper-spinner-container-rotation-duration) linear infinite;anima
     tion:container-rotate var(--paper-spinner-container-rotation-duration) linear in
     finite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}
     @keyframes container-rotate{to{transform:rotate(360deg)}}.spinner-layer{position
     :absolute;width:100%;height:100%;opacity:0;white-space:nowrap;border-color:var(-
     -paper-spinner-color,--google-blue-500)}.layer-1{border-color:var(--paper-spinne
     r-layer-1-color,--google-blue-500)}.layer-2{border-color:var(--paper-spinner-lay
     er-2-color,--google-red-500)}.layer-3{border-color:var(--paper-spinner-layer-3-c
     olor,--google-yellow-500)}.layer-4{border-color:var(--paper-spinner-layer-4-colo
     r,--google-green-500)}.active .spinner-layer{-webkit-animation-name:fill-unfill-
     rotate;-webkit-animation-duration:var(--paper-spinner-full-cycle-duration);-webk
     it-animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-iteration
     -count:infinite;animation-name:fill-unfill-rotate;animation-duration:var(--paper
     -spinner-full-cycle-duration);animation-timing-function:cubic-bezier(.4,0,.2,1);
     animation-iteration-count:infinite;opacity:1}.active .spinner-layer.layer-1{-web
     kit-animation-name:fill-unfill-rotate,layer-1-fade-in-out;animation-name:fill-un
     fill-rotate,layer-1-fade-in-out}.active .spinner-layer.layer-2{-webkit-animation
     -name:fill-unfill-rotate,layer-2-fade-in-out;animation-name:fill-unfill-rotate,l
     ayer-2-fade-in-out}.active .spinner-layer.layer-3{-webkit-animation-name:fill-un
     fill-rotate,layer-3-fade-in-out;animation-name:fill-unfill-rotate,layer-3-fade-i
     n-out}.active .spinner-layer.layer-4{-webkit-animation-name:fill-unfill-rotate,l
     ayer-4-fade-in-out;animation-name:fill-unfill-rotate,layer-4-fade-in-out}@-webki
     t-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webki
     t-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-tr
     ansform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transf
     orm:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:r
     otate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%
     {transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(54
     0deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transfor
     m:rotate(945deg)}to{transform:rotate(1080deg)}}@-webkit-keyframes layer-1-fade-i
     n-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{op
     acity:1}}@keyframes layer-1-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0
     }89%{opacity:0}90%{opacity:1}to{opacity:1}}@-webkit-keyframes layer-2-fade-in-ou
     t{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}to{opacit
     y:0}}@keyframes layer-2-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%
     {opacity:1}51%{opacity:0}to{opacity:0}}@-webkit-keyframes layer-3-fade-in-out{0%
     {opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}to{opacity:0}
     }@keyframes layer-3-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opa
     city:1}76%{opacity:0}to{opacity:0}}@-webkit-keyframes layer-4-fade-in-out{0%{opa
     city:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes layer-
     4-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:
     0}}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;
     overflow:hidden;border-color:inherit}.spinner-layer::after{left:45%;width:10%;bo
     rder-top-style:solid}.circle-clipper::after,.spinner-layer::after{content:'';box
     -sizing:border-box;position:absolute;top:0;border-width:var(--paper-spinner-stro
     ke-width,3px);border-color:inherit;border-radius:50%}.circle-clipper::after{bott
     om:0;width:200%;border-style:solid;border-bottom-color:transparent!important}.ci
     rcle-clipper.left::after{left:0;border-right-color:transparent!important;-webkit
     -transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right::after{
     left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129
     deg);transform:rotate(-129deg)}.active .circle-clipper::after,.active .gap-patch
     ::after{-webkit-animation-duration:var(--paper-spinner-expand-contract-duration)
     ;-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-ite
     ration-count:infinite;animation-duration:var(--paper-spinner-expand-contract-dur
     ation);animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-cou
     nt:infinite}.active .circle-clipper.left::after{-webkit-animation-name:left-spin
     ;animation-name:left-spin}.active .circle-clipper.right::after{-webkit-animation
     -name:right-spin;animation-name:right-spin}@-webkit-keyframes left-spin{0%{-webk
     it-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-trans
     form:rotate(130deg)}}@keyframes left-spin{0%{transform:rotate(130deg)}50%{transf
     orm:rotate(-5deg)}to{transform:rotate(130deg)}}@-webkit-keyframes right-spin{0%{
     -webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-
     transform:rotate(-130deg)}}@keyframes right-spin{0%{transform:rotate(-130deg)}50
     %{transform:rotate(5deg)}to{transform:rotate(-130deg)}}#spinnerContainer.cooldow
     n{-webkit-animation:container-rotate var(--paper-spinner-container-rotation-dura
     tion) linear infinite,fade-out var(--paper-spinner-cooldown-duration) cubic-bezi
     er(.4,0,.2,1);animation:container-rotate var(--paper-spinner-container-rotation-
     duration) linear infinite,fade-out var(--paper-spinner-cooldown-duration) cubic-
     bezier(.4,0,.2,1)}@-webkit-keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyfra
     mes fade-out{0%{opacity:1}to{opacity:0}}</style> </template> </dom-module> <dom-
     module id="paper-spinner-lite" assetpath="/res/imp/bower_components/paper-spinne
     r/"> <template strip-whitespace=""> <style include="paper-spinner-styles"></styl
     e> <div id="spinnerContainer" class-name="[[__computeContainerClasses(active, __
     coolingDown)]]"> <div class="spinner-layer"> <div class="circle-clipper left"></
     div> <div class="circle-clipper right"></div> </div> </div> </template> <script>
     Polymer({is:"paper-spinner-lite",behaviors:[Polymer.PaperSpinnerBehavior]})</scr
     ipt> </dom-module> <script>!function(){"use strict";Polymer.IronJsonpLibraryBeha
     vior={properties:{libraryLoaded:{type:Boolean,value:!1,notify:!0,readOnly:!0},li
     braryErrorMessage:{type:String,value:null,notify:!0,readOnly:!0}},observers:["_l
     ibraryUrlChanged(libraryUrl)"],_libraryUrlChanged:function(r){this._isReady&&thi
     s.libraryUrl&&this._loadLibrary()},_libraryLoadCallback:function(r,i){r?(console
     .warn("Library load failed:",r.message),this._setLibraryErrorMessage(r.message))
     :(this._setLibraryErrorMessage(null),this._setLibraryLoaded(!0),this.notifyEvent
     &&this.fire(this.notifyEvent,i))},_loadLibrary:function(){r.require(this.library
     Url,this._libraryLoadCallback.bind(this),this.callbackName)},ready:function(){th
     is._isReady=!0,this.libraryUrl&&this._loadLibrary()}};var r={apiMap:{},require:f
     unction(r,t,e){var a=this.nameFromUrl(r);this.apiMap[a]||(this.apiMap[a]=new i(a
     ,r,e)),this.apiMap[a].requestNotify(t)},nameFromUrl:function(r){return r.replace
     (/[\:\/\%\?\&\.\=\-\,]/g,"_")+"_api"}},i=function(r,i,t){if(this.notifiers=[],!t
     ){if(!(i.indexOf(this.callbackMacro)>=0))return void(this.error=new Error("IronJ
     sonpLibraryBehavior a %%callback%% parameter is required in libraryUrl"));t=r+"_
     loaded",i=i.replace(this.callbackMacro,t)}this.callbackName=t,window[this.callba
     ckName]=this.success.bind(this),this.addScript(i)};i.prototype={callbackMacro:"%
     %callback%%",loaded:!1,addScript:function(r){var i=document.createElement("scrip
     t");i.src=r,i.onerror=this.handleError.bind(this);var t=document.querySelector("
     script")||document.body;t.parentNode.insertBefore(i,t),this.script=i},removeScri
     pt:function(){this.script.parentNode&&this.script.parentNode.removeChild(this.sc
     ript),this.script=null},handleError:function(r){this.error=new Error("Library fa
     iled to load"),this.notifyAll(),this.cleanup()},success:function(){this.loaded=!
     0,this.result=Array.prototype.slice.call(arguments),this.notifyAll(),this.cleanu
     p()},cleanup:function(){delete window[this.callbackName]},notifyAll:function(){t
     his.notifiers.forEach(function(r){r(this.error,this.result)}.bind(this)),this.no
     tifiers=[]},requestNotify:function(r){this.loaded||this.error?r(this.error,this.
     result):this.notifiers.push(r)}}}()</script> <script>Polymer({is:"iron-jsonp-lib
     rary",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:String
     ,callbackName:String,notifyEvent:String}})</script> <script>Polymer({is:"google-
     js-api",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:{typ
     e:String,value:"https://apis.google.com/js/api.js?onload=%%callback%%"},notifyEv
     ent:{type:String,value:"js-api-load"}},get api(){return gapi}})</script> <script
     >!function(){var e={appPackageName:"apppackagename",clientId:"clientid",cookiePo
     licy:"cookiepolicy",hostedDomain:"hostedDomain",openidPrompt:"prompt",requestVis
     ibleActions:"requestvisibleactions"},t={_clientId:null,get clientId(){return thi
     s._clientId},set clientId(e){if(this._clientId&&e&&e!=this._clientId)throw new E
     rror("clientId cannot change. Values do not match. New: "+e+" Old:"+this._client
     Id);e&&e!=this._clientId&&(this._clientId=e,this.initAuth2())},_cookiePolicy:"si
     ngle_host_origin",get cookiePolicy(){return this._cookiePolicy},set cookiePolicy
     (e){e&&(this._cookiePolicy=e)},_appPackageName:"",get appPackageName(){return th
     is._appPackageName},set appPackageName(e){if(this._appPackageName&&e&&e!=this._a
     ppPackageName)throw new Error("appPackageName cannot change. Values do not match
     . New: "+e+" Old: "+this._appPackageName);e&&(this._appPackageName=e)},_requestV
     isibleActions:"",get requestVisibleactions(){return this._requestVisibleActions}
     ,set requestVisibleactions(e){if(this._requestVisibleActions&&e&&e!=this._reques
     tVisibleActions)throw new Error("requestVisibleactions cannot change. Values do 
     not match. New: "+e+" Old: "+this._requestVisibleActions);e&&(this._requestVisib
     leActions=e)},_hostedDomain:"",get hostedDomain(){return this._hostedDomain},set
      hostedDomain(e){if(this._hostedDomain&&e&&e!=this._hostedDomain)throw new Error
     ("hostedDomain cannot change. Values do not match. New: "+e+" Old: "+this._hoste
     dDomain);e&&(this._hostedDomain=e)},_openidPrompt:"",get openidPrompt(){return t
     his._openidPrompt},set openidPrompt(e){if("string"!=typeof e)throw new Error("op
     enidPrompt must be a string. Received "+typeof e);if(e){var t=e.split(" ");t=t.m
     ap(function(e){return e.trim()}),t=t.filter(function(e){return e});var i={none:0
     ,login:0,consent:0,select_account:0};t.forEach(function(e){if("none"==e&&t.lengt
     h>1)throw new Error("none cannot be combined with other openidPrompt values");if
     (!(e in i))throw new Error("invalid openidPrompt value "+e+". Valid values: "+Ob
     ject.keys(i).join(", "))})}this._openidPrompt=e},_offline:!1,get offline(){retur
     n this._offline},set offline(e){this._offline=e,this.updateAdditionalAuth()},_of
     flineAlwaysPrompt:!1,get offlineAlwaysPrompt(){return this._offlineAlwaysPrompt}
     ,set offlineAlwaysPrompt(e){this._offlineAlwaysPrompt=e,this.updateAdditionalAut
     h()},offlineGranted:!1,_apiLoader:null,_requestedScopeArray:[],get requestedScop
     es(){return this._requestedScopeArray.join(" ")},_signedIn:!1,_grantedScopeArray
     :[],_needAdditionalAuth:!0,_hasPlusScopes:!1,signinAwares:[],init:function(){thi
     s._apiLoader=document.createElement("google-js-api"),this._apiLoader.addEventLis
     tener("js-api-load",this.loadAuth2.bind(this))},loadAuth2:function(){gapi.load("
     auth2",this.initAuth2.bind(this))},initAuth2:function(){if("gapi"in window&&"aut
     h2"in window.gapi&&this.clientId){var e=gapi.auth2.init({client_id:this.clientId
     ,cookie_policy:this.cookiePolicy,scope:this.requestedScopes,hosted_domain:this.h
     ostedDomain});e.currentUser.listen(this.handleUserUpdate.bind(this)),e.then(func
     tion(){},function(e){console.error(e)})}},handleUserUpdate:function(e){var t=e.i
     sSignedIn();if(t!=this._signedIn){this._signedIn=t;for(var i=0;i<this.signinAwar
     es.length;i++)this.signinAwares[i]._setSignedIn(t)}this._grantedScopeArray=this.
     strToScopeArray(e.getGrantedScopes()),this.updateAdditionalAuth();for(var n=e.ge
     tAuthResponse(),i=0;i<this.signinAwares.length;i++)this.signinAwares[i]._updateS
     copeStatus(n)},setOfflineCode:function(e){for(var t=0;t<this.signinAwares.length
     ;t++)this.signinAwares[t]._updateOfflineCode(e)},strToScopeArray:function(e){if(
     !e)return[];for(var t=e.replace(/\ +/g," ").trim().split(" "),i=0;i<t.length;i++
     )t[i]=t[i].toLowerCase(),"https://www.googleapis.com/auth/userinfo.profile"===t[
     i]&&(t[i]="profile"),"https://www.googleapis.com/auth/userinfo.email"===t[i]&&(t
     [i]="email");return t.filter(function(e,t,i){return i.indexOf(e)===t})},isPlusSc
     ope:function(e){return e.indexOf("/auth/games")>-1||e.indexOf("auth/plus.")>-1&&
     e.indexOf("auth/plus.me")<0},hasGrantedScopes:function(e){for(var t=this.strToSc
     opeArray(e),i=0;i<t.length;i++)if(this._grantedScopeArray.indexOf(t[i])===-1)ret
     urn!1;return!0},requestScopes:function(e){for(var t=this.strToScopeArray(e),i=!1
     ,n=0;n<t.length;n++)this._requestedScopeArray.indexOf(t[n])===-1&&(this._request
     edScopeArray.push(t[n]),i=!0);i&&(this.updateAdditionalAuth(),this.updatePlusSco
     pes())},updateAdditionalAuth:function(){var e=!1;if(!this.offlineAlwaysPrompt&&!
     this.offline||this.offlineGranted){for(var t=0;t<this._requestedScopeArray.lengt
     h;t++)if(this._grantedScopeArray.indexOf(this._requestedScopeArray[t])===-1){e=!
     0;break}}else e=!0;if(this._needAdditionalAuth!=e){this._needAdditionalAuth=e;fo
     r(var t=0;t<this.signinAwares.length;t++)this.signinAwares[t]._setNeedAdditional
     Auth(e)}},updatePlusScopes:function(){for(var e=!1,t=0;t<this._requestedScopeArr
     ay.length;t++)if(this.isPlusScope(this._requestedScopeArray[t])){e=!0;break}if(t
     his._hasPlusScopes!=e){this._hasPlusScopes=e;for(var t=0;t<this.signinAwares.len
     gth;t++)this.signinAwares[t]._setHasPlusScopes(e)}},attachSigninAware:function(e
     ){this.signinAwares.indexOf(e)==-1?(this.signinAwares.push(e),e._setNeedAddition
     alAuth(this._needAdditionalAuth),e._setSignedIn(this._signedIn),e._setHasPlusSco
     pes(this._hasPlusScopes)):console.warn("signinAware attached more than once",e)}
     ,detachSigninAware:function(e){var t=this.signinAwares.indexOf(e);t!=-1?this.sig
     ninAwares.splice(t,1):console.warn("Trying to detach unattached signin-aware")},
     getMissingScopes:function(){return this._requestedScopeArray.filter(function(e){
     return this._grantedScopeArray.indexOf(e)===-1}.bind(this)).join(" ")},assertAut
     hInitialized:function(){if(!this.clientId)throw new Error("AuthEngine not initia
     lized. clientId has not been configured.");if(!("gapi"in window))throw new Error
     ("AuthEngine not initialized. gapi has not loaded.");if(!("auth2"in window.gapi)
     )throw new Error("AuthEngine not initialized. auth2 not loaded.")},signIn:functi
     on(){this.assertAuthInitialized();var i={scope:this.getMissingScopes()};Object.k
     eys(e).forEach(function(t){this[t]&&""!==this[t]&&(i[e[t]]=this[t])},this);var n
     ,o=gapi.auth2.getAuthInstance().currentUser.get();this.offline||this.offlineAlwa
     ysPrompt?(i.redirect_uri="postmessage",this.offlineAlwaysPrompt&&(i.approval_pro
     mpt="force"),n=gapi.auth2.getAuthInstance().grantOfflineAccess(i)):n=o.getGrante
     dScopes()?o.grant(i):gapi.auth2.getAuthInstance().signIn(i),n.then(function(e){v
     ar i;e.code?(t.offlineGranted=!0,i=gapi.auth2.getAuthInstance().currentUser.get(
     ),t.setOfflineCode(e.code)):i=e;i.getAuthResponse()},function(e){"Access denied.
     "!==e.reason&&this.signinAwares.forEach(function(t){t.errorNotify(e)})}.bind(thi
     s))},signOut:function(){this.assertAuthInitialized(),gapi.auth2.getAuthInstance(
     ).signOut().then(function(){},function(e){console.error(e)})}};t.init(),Polymer(
     {is:"google-signin-aware",properties:{appPackageName:{type:String,observer:"_app
     PackageNameChanged"},clientId:{type:String,observer:"_clientIdChanged"},cookiePo
     licy:{type:String,observer:"_cookiePolicyChanged"},requestVisibleActions:{type:S
     tring,observer:"_requestVisibleActionsChanged"},hostedDomain:{type:String,observ
     er:"_hostedDomainChanged"},offline:{type:Boolean,value:!1,observer:"_offlineChan
     ged"},offlineAlwaysPrompt:{type:Boolean,value:!1,observer:"_offlineAlwaysPromptC
     hanged"},scopes:{type:String,value:"profile",observer:"_scopesChanged"},openidPr
     ompt:{type:String,value:"",observer:"_openidPromptChanged"},signedIn:{type:Boole
     an,notify:!0,readOnly:!0},isAuthorized:{type:Boolean,notify:!0,readOnly:!0,value
     :!1},needAdditionalAuth:{type:Boolean,notify:!0,readOnly:!0},hasPlusScopes:{type
     :Boolean,value:!1,notify:!0,readOnly:!0}},attached:function(){t.attachSigninAwar
     e(this)},detached:function(){t.detachSigninAware(this)},signIn:function(){t.sign
     In()},signOut:function(){t.signOut()},errorNotify:function(e){this.fire("google-
     signin-aware-error",e)},_appPackageNameChanged:function(e,i){t.appPackageName=e}
     ,_clientIdChanged:function(e,i){t.clientId=e},_cookiePolicyChanged:function(e,i)
     {t.cookiePolicy=e},_requestVisibleActionsChanged:function(e,i){t.requestVisibleA
     ctions=e},_hostedDomainChanged:function(e,i){t.hostedDomain=e},_offlineChanged:f
     unction(e,i){t.offline=e},_offlineAlwaysPromptChanged:function(e,i){t.offlineAlw
     aysPrompt=e},_scopesChanged:function(e,i){t.requestScopes(e),this._updateScopeSt
     atus(void 0)},_openidPromptChanged:function(e,i){t.openidPrompt=e},_updateScopeS
     tatus:function(e){var i=this.signedIn&&t.hasGrantedScopes(this.scopes);i!==this.
     isAuthorized&&(this._setIsAuthorized(i),i?this.fire("google-signin-aware-success
     ",e):this.fire("google-signin-aware-signed-out",e))},_updateOfflineCode:function
     (e){e&&this.fire("google-signin-offline-success",{code:e})}})}()</script> <dom-m
     odule id="auth-signin" assetpath="/res/imp/common/"> <template> <style>#avatar{b
     order-radius:5px}a{color:#fff}.center{vertical-align:middle}</style> <google-sig
     nin-aware id="aware" client-id="[[client_id]]" scopes="email" on-google-signin-a
     ware-success="_onSignin" on-google-signin-aware-signed-out="_onSignout"> </googl
     e-signin-aware> <template is="dom-if" if="[[!signed_in]]"> <div id="signinContai
     ner"> <a on-tap="signIn" href="#">Sign in</a> </div> </template> <template is="d
     om-if" if="[[signed_in]]"> <img class="center" id="avatar" src="[[profile.imageU
     rl]]" width="30" height="30"> <span class="center">[[profile.email]]</span> <spa
     n class="center">|</span> <a class="center" on-tap="signOut" href="#">Sign out</
     a> </template> </template> <script>"use strict";Polymer({is:"auth-signin",proper
     ties:{auth_headers:{type:Object,computed:"_makeHeader(auth_response)",notify:!0}
     ,auth_response:{type:Object,notify:!0},client_id:{type:String},profile:{type:Obj
     ect,readOnly:!0,notify:!0},signed_in:{type:Boolean,readOnly:!0,value:!1,notify:!
     0}},attached:function(){if(this.client_id){window.setTimeout(function(){if("gapi
     "in window&&"auth2"in window.gapi&&!this.signed_in&&!this._signingIn){var i=gapi
     .auth2.getAuthInstance().currentUser.get();i&&i.getAuthResponse().access_token?t
     his._onSignin():this.$.aware.signIn()}else window.setTimeout(this.attached.bind(
     this))}.bind(this),300)}},_onSignin:function(){this._signingIn=!0;var i=gapi.aut
     h2.getAuthInstance().currentUser.get(),t=i.getBasicProfile();this._setProfile({e
     mail:t.getEmail(),imageUrl:t.getImageUrl()}),this.set("auth_response",i.getAuthR
     esponse()),this._setSigned_in(!0),this.fire("auth-signin"),this.async(function()
     {console.log("reloading credentials"),i.reloadAuthResponse(),this._onSignin()},1
     e3*this.auth_response.expires_in),this._signingIn=!1},_onSignout:function(i){thi
     s._setSigned_in(!1),this._setProfile(null)},_makeHeader:function(i){return i?{au
     thorization:i.token_type+" "+i.access_token}:{}},signIn:function(){this.$.aware.
     signIn()},signOut:function(){this.$.aware.signOut()}})</script> </dom-module><do
     m-module id="swarming-app" assetpath="/res/imp/common/"> <template> <style inclu
     de="iron-flex">:host{position:absolute;top:0;bottom:0;left:0;right:0}app-toolbar
     {background-color:#1F78B4;color:#fff}app-toolbar a{color:#fff}.left{margin-right
     :15px}.right{margin-left:15px}.main-content{padding:3px}.main-content a{color:#1
     F78B4}.small,auth-signin{font-size:.7em}paper-fab{position:fixed;bottom:5px;righ
     t:5px;background-color:#1F78B4}paper-spinner-lite{--paper-spinner-color:var(--go
     ogle-yellow-500)}</style> <app-header-layout> <app-header fixed=""> <app-toolbar
     > <div class="title left">[[name]]</div> <paper-spinner-lite class="left" active
     ="[[_or(busy,_busy1,_busy2)]]"></paper-spinner-lite> <a class="left" href="/newu
     i/">Home</a> <a class="left" href="/newui/botlist">Bot List</a> <a class="left" 
     href="/newui/tasklist">Task List</a> <div class="flex"></div> <div class="small 
     right"> Server: <a href$="[[_versionLink(server_version)]]"> [[server_version.se
     rver_version]] </a> </div> <auth-signin class="right" client_id="[[client_id]]" 
     auth_headers="{{auth_headers}}" profile="{{profile}}" signed_in="{{signed_in}}">
      </auth-signin> </app-toolbar> </app-header> <div class="main-content"> <content
     ></content> </div> <a target="_blank" rel="noopener" href="https://bugs.chromium
     .org/p/chromium/issues/entry?components=Infra%3EPlatform%3ESwarming&owner=kj
     lubick@chromium.org&status=Assigned"> <paper-fab mini="" icon="icons:bug-rep
     ort"></paper-fab> </a> </app-header-layout> </template> <script>Polymer({is:"swa
     rming-app",behaviors:[SwarmingBehaviors.CommonBehavior],properties:{busy:{type:B
     oolean},client_id:{type:String},name:{type:String},auth_headers:{type:Object,not
     ify:!0,observer:"_load"},permissions:{type:Object,value:function(){return{}},not
     ify:!0},profile:{type:Object,notify:!0},server_version:{type:Object,notify:!0},s
     igned_in:{type:Boolean,value:!1,notify:!0},_busy1:{type:Boolean,value:!1},_busy2
     :{type:Boolean,value:!1}},_load:function(){this._getJsonAsync("permissions","/_a
     h/api/swarming/v1/server/permissions","_busy1",this.auth_headers),this._getJsonA
     sync("server_version","/_ah/api/swarming/v1/server/details","_busy2",this.auth_h
     eaders)},_versionLink:function(e){if(e&&e.server_version){var i=e.server_version
     .split("-");if(2===i.length)return"https://github.com/luci/luci-py/commit/"+i[1]
     }}})</script> </dom-module> <dom-module id="swarming-app-style" assetpath="/res/
     imp/common/"> <style>*{font-family:sans-serif}a[href]{color:#1F78B4}button{min-w
     idth:5.14em;background-color:#fff;color:#1f78b4;text-align:center;text-transform
     :uppercase;outline:0;border-radius:3px;padding:.6em 1.2em;border:solid #d3d3d3 1
     px;margin:.6em;cursor:pointer}button:hover{background:#eee}button:focus{backgrou
     nd-color:#ddd;transition:background-color .1s cubic-bezier(.4,0,.2,1)}button.rai
     sed:active,button:active{background-color:#999;transition:background-color .1s c
     ubic-bezier(.4,0,.2,1)}button:disabled{color:#999}button:disabled:hover{backgrou
     nd:initial;cursor:initial}button.action:active{background-color:#A6CEE3;transiti
     on:background-color .1s color .1s cubic-bezier(.4,0,.2,1)}button.action{color:#f
     ff;background:#1f78b4;border:none}button.action:disabled{color:#fff;background:#
     999;border:none}button.raised{transition:box-shadow .1s cubic-bezier(.4,0,.2,1);
     box-shadow:5px 5px 18px 0 rgba(0,0,0,.3)}button.raised:active{box-shadow:2px 2px
      5px 0 rgba(0,0,0,.1)}option,select{padding:.4em 1.2em;background-color:#fff;bor
     der:none;line-height:20px;vertical-align:middle}select{overflow-y:auto}</style> 
     </dom-module> <dom-module id="swarming-index" assetpath="/res/imp/index/"> <temp
     late> <style include="swarming-app-style">.command{font-family:monospace;margin-
     bottom:10px;margin-top:10px;white-space:pre-wrap;background-color:#f5f5f5;border
     :1px solid #ccc;border-radius:4px}</style> <swarming-app client_id="[[client_id]
     ]" auth_headers="{{_auth_headers}}" permissions="{{_permissions}}" server_versio
     n="{{_server_version}}" name="Swarming Server" busy="[[_or(_busy1,busy2)]]"> <h2
     >Service Status</h2> <div>Server Version: [[_server_version.server_version]]</di
     v> <div>Bot Version: [[_server_version.bot_version]]</div> <ul> <li> <a href="/s
     tats">Usage statistics</a> </li> <li> <a href="/restricted/mapreduce/status">Map
      Reduce Jobs</a> </li> <li> <a href$="[[_makeInstancesUrl(_server_version,_proje
     ct_id)]]">View version's instances on Cloud Console</a> </li> <li> <a></a><a hre
     f$="[[_makeErrorUrl(_project_id)]]">View server errors on Cloud Console</a> </li
     > <li> <a></a><a href$="[[_makeLogUrl(_project_id)]]">View logs for HTTP 5xx on 
     Cloud Console</a> </li> </ul> <h2>Configuration</h2> <ul> <li> <a href="/restric
     ted/config">View server config</a> </li> <li> <a href="/restricted/upload/bootst
     rap">View/upload bootstrap.py</a> </li> <li> <a href="/restricted/upload/bot_con
     fig">View/upload bot_config.py</a> </li> <li> <a href="/auth/groups">View/edit u
     ser groups</a> </li> </ul> <div hidden$="[[_cannotBootstrap(_permissions)]]"> <h
     2>Bootstrapping a bot</h2> To bootstrap a bot, run one of these (all links are v
     alid for 1 hour): <ol> <li> <strong> TL;DR; </strong> <pre class="command">pytho
     n -c "import urllib; exec urllib.urlopen('[[_host_url]]/bootstrap?tok=[[_bootstr
     ap_token]]').read()"</pre> </li> <li> Escaped version to pass as a ssh argument:
      <pre class="command">'python -c "import urllib; exec urllib.urlopen('"'[[_host_
     url]]/bootstrap?tok=[[_bootstrap_token]]'"').read()"'</pre> </li> <li> Manually:
      <pre class="command" style="margin-bottom:0">mkdir bot; cd bot | 
|    5   rm -f swarming_bot.zip; curl -sSLOJ [[_host_url]]/bot_code?tok=[[_bootstrap_to
     ken]] |  144   rm -f swarming_bot.zip; curl -sSLOJ [[_host_url]]/bot_code?tok=[[_bootstrap_to
     ken]] | 
|    6   python swarming_bot.zip</pre> </li> </ol> </div> </swarming-app> </template> <
     script>Polymer({is:"swarming-index",behaviors:[SwarmingBehaviors.CommonBehavior]
     ,properties:{client_id:{type:String},_auth_headers:{type:String},_bootstrap_toke
     n:{type:String,value:"..."},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean,
     value:!1},_host_url:{type:String,value:function(){return location.origin}},_perm
     issions:{type:Object},_project_id:{type:String,value:function(){var t=location.h
     ostname.indexOf(".appspot.com");return location.hostname.substring(0,t)}},_serve
     r_version:{type:Object}},observers:["_fetchBootstrap(_permissions,_auth_headers)
     "],_cannotBootstrap:function(t){return!(t&&t.get_bootstrap_token)},_fetchBootstr
     ap:function(t,e){e&&t&&!this._cannotBootstrap(t)&&(this.set("_busy1",!0),sk.requ
     est("POST","/_ah/api/swarming/v1/server/token",void 0,e).then(JSON.parse).then(f
     unction(t){this.set("_bootstrap_token",t.bootstrap_token),this.set("_busy1",!1)}
     .bind(this)).catch(function(t){console.log("Could not get token",t),this.set("_b
     usy1",!1)}.bind(this)))},_makeInstancesUrl:function(t,e){return"https://console.
     cloud.google.com/appengine/instances?project="+e+"&versionId="+t.server_version}
     ,_makeErrorUrl:function(t){return"https://console.cloud.google.com/errors?projec
     t="+t},_makeLogUrl:function(t){return"https://pantheon.corp.google.com/logs/view
     er?filters=text:status:500..599&project="+t}})</script> </dom-module><dom-module
      id="dynamic-table-style" assetpath="/res/imp/common/"> <template> <style>table{
     border-collapse:collapse;margin-left:5px}td,th{border:1px solid #DDD;padding:5px
     }th{position:relative}sort-toggle{position:absolute;right:0;top:.4em}</style> </
     template> </dom-module> <script>!function(){SwarmingBehaviors.DynamicTableBehavi
     or=[SwarmingBehaviors.CommonBehavior,{properties:{_columns:{type:Array},_filter:
     {type:Function},_filteredSortedItems:{type:Array,computed:"_filterAndSort(_items
     .*,_filter.*,_sort.*)"},_items:{type:Array},_plainColumns:{type:Array,computed:"
     _stripSpecial(_columns.*)"},_sort:{type:Object,computed:"_makeSortObject(_sortst
     r)"},_sortstr:{type:String},_verbose:{type:Boolean}},_column:function(t,i){var n
     =this._columnMap[t];return n||(n=function(i){var n=this._attribute(i,t,"none");r
     eturn this._verbose?n.join(" | "):n[0]}),n.bind(this)(i)},_compare:function(t,i)
     {if(!this._sort)return 0;var n=1;"desc"===this._sort.direction&&(n=-1);var r=thi
     s._specialSort[this._sort.name];if(r)return r.bind(this)(n,t,i);var e=this._colu
     mn(this._sort.name,t),s=this._column(this._sort.name,i);return n*swarming.natura
     lCompare(e,s)},_filterAndSort:function(){swarming.stableSort(this._items,this._c
     ompare.bind(this));var t=this._items;return this._filter&&(t=t.filter(this._filt
     er.bind(this))),t},_header:function(t){return this._headerMap[t]||t},_hide:funct
     ion(t){return this._columns.indexOf(t)===-1},_makeSortObject:function(t){if(t){v
     ar i=t.split(":");return 2!=i.length?{name:"id",direction:"asc"}:{name:i[0],dire
     ction:i[1]}}},_sortChange:function(t){t&&t.detail&&t.detail.name&&this.set("_sor
     tstr",t.detail.name+":"+t.detail.direction)},_stripSpecial:function(){return thi
     s._columns.filter(function(t){return this._specialColumns.indexOf(t)===-1}.bind(
     this)).sort()},_commonColumns:function(){return{device_type:function(t){var i=th
     is._attribute(t,"device_type","none");i=i[0];var n=swarming.alias.android(i);ret
     urn"unknown"===n?i:swarming.alias.apply(i,n)},gpu:function(t){var i=this._attrib
     ute(t,"gpu","none"),n=[],r=[];return i.forEach(function(t){var i=swarming.alias.
     gpu(t);return"unknown"===i?(n.push(t),void(t.indexOf(":")===-1&&r.push(t))):(n.p
     ush(swarming.alias.apply(t,i)),void(t.indexOf(":")===-1&&r.push(swarming.alias.a
     pply(t,i))))}.bind(this)),this._verbose||!r.length?n.join(" | "):r.join(" | ")},
     pool:function(t){var i=this._attribute(t,"pool");return i.join(" | ")}}}}]}()</s
     cript> <dom-module id="iron-a11y-announcer" assetpath="/res/imp/bower_components
     /iron-a11y-announcer/"> <template> <style>:host{display:inline-block;position:fi
     xed;clip:rect(0,0,0,0)}</style> <div aria-live$="[[mode]]">[[_text]]</div> </tem
     plate> <script>!function(){"use strict";Polymer.IronA11yAnnouncer=Polymer({is:"i
     ron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:St
     ring,value:""}},created:function(){Polymer.IronA11yAnnouncer.instance||(Polymer.
     IronA11yAnnouncer.instance=this),document.body.addEventListener("iron-announce",
     this._onIronAnnounce.bind(this))},announce:function(n){this._text="",this.async(
     function(){this._text=n},100)},_onIronAnnounce:function(n){n.detail&&n.detail.te
     xt&&this.announce(n.detail.text)}}),Polymer.IronA11yAnnouncer.instance=null,Poly
     mer.IronA11yAnnouncer.requestAvailability=function(){Polymer.IronA11yAnnouncer.i
     nstance||(Polymer.IronA11yAnnouncer.instance=document.createElement("iron-a11y-a
     nnouncer")),document.body.appendChild(Polymer.IronA11yAnnouncer.instance)}}()</s
     cript> </dom-module> <script>Polymer.IronFitBehavior={properties:{sizingTarget:{
     type:Object,value:function(){return this}},fitInto:{type:Object,value:window},no
     Overlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:Strin
     g},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{typ
     e:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoF
     itOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){var t
     ;return t=this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBounding
     ClientRect().width},get _fitHeight(){var t;return t=this.fitInto===window?this.f
     itInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){v
     ar t;return t=this.fitInto===window?0:this.fitInto.getBoundingClientRect().left}
     ,get _fitTop(){var t;return t=this.fitInto===window?0:this.fitInto.getBoundingCl
     ientRect().top},get _defaultPositionTarget(){var t=Polymer.dom(this).parentNode;
     return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(t=t.host),t},get _localeHor
     izontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if
     ("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attach
     ed:function(){this._isRTL="rtl"==window.getComputedStyle(this).direction,this.po
     sitionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAtta
     ch&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.f
     it()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),t
     his.center()},_discoverInfo:function(){if(!this._fitInfo){var t=window.getComput
     edStyle(this),i=window.getComputedStyle(this.sizingTarget);this._fitInfo={inline
     Style:{top:this.style.top||"",left:this.style.left||"",position:this.style.posit
     ion||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeig
     ht:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSi
     zing||""},positionedBy:{vertically:"auto"!==t.top?"top":"auto"!==t.bottom?"botto
     m":null,horizontally:"auto"!==t.left?"left":"auto"!==t.right?"right":null},sized
     By:{height:"none"!==i.maxHeight,width:"none"!==i.maxWidth,minWidth:parseInt(i.mi
     nWidth,10)||0,minHeight:parseInt(i.minHeight,10)||0},margin:{top:parseInt(t.marg
     inTop,10)||0,right:parseInt(t.marginRight,10)||0,bottom:parseInt(t.marginBottom,
     10)||0,left:parseInt(t.marginLeft,10)||0}},this.verticalOffset&&(this._fitInfo.m
     argin.top=this._fitInfo.margin.bottom=this.verticalOffset,this._fitInfo.inlineSt
     yle.marginTop=this.style.marginTop||"",this._fitInfo.inlineStyle.marginBottom=th
     is.style.marginBottom||"",this.style.marginTop=this.style.marginBottom=this.vert
     icalOffset+"px"),this.horizontalOffset&&(this._fitInfo.margin.left=this._fitInfo
     .margin.right=this.horizontalOffset,this._fitInfo.inlineStyle.marginLeft=this.st
     yle.marginLeft||"",this._fitInfo.inlineStyle.marginRight=this.style.marginRight|
     |"",this.style.marginLeft=this.style.marginRight=this.horizontalOffset+"px")}},r
     esetFit:function(){var t=this._fitInfo||{};for(var i in t.sizerInlineStyle)this.
     sizingTarget.style[i]=t.sizerInlineStyle[i];for(var i in t.inlineStyle)this.styl
     e[i]=t.inlineStyle[i];this._fitInfo=null},refit:function(){var t=this.sizingTarg
     et.scrollLeft,i=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizi
     ngTarget.scrollLeft=t,this.sizingTarget.scrollTop=i},position:function(){if(this
     .horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="
     fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this
     .style.top="0px";var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(t
     his.positionTarget),e=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.mar
     gin,o={width:t.width+n.left+n.right,height:t.height+n.top+n.bottom},h=this.__get
     Position(this._localeHorizontalAlign,this.verticalAlign,o,i,e),s=h.left+n.left,l
     =h.top+n.top,r=Math.min(e.right-n.right,s+t.width),a=Math.min(e.bottom-n.bottom,
     l+t.height),g=this._fitInfo.sizedBy.minWidth,f=this._fitInfo.sizedBy.minHeight;s
     <n.left&&(s=n.left,r-s<g&&(s=r-g)),l<n.top&&(l=n.top,a-l<f&&(l=a-f)),this.sizing
     Target.style.maxWidth=r-s+"px",this.sizingTarget.style.maxHeight=a-l+"px",this.s
     tyle.left=s-t.left+"px",this.style.top=l-t.top+"px"}},constrain:function(){if(!t
     his.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitIn
     fo;t.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px")
     ,t.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"
     ),this.sizingTarget.style.boxSizing="border-box";var i=this.getBoundingClientRec
     t();t.sizedBy.height||this.__sizeDimension(i,t.positionedBy.vertically,"top","bo
     ttom","Height"),t.sizedBy.width||this.__sizeDimension(i,t.positionedBy.horizonta
     lly,"left","right","Width")}},_sizeDimension:function(t,i,e,n,o){this.__sizeDime
     nsion(t,i,e,n,o)},__sizeDimension:function(t,i,e,n,o){var h=this._fitInfo,s=this
     .__getNormalizedRect(this.fitInto),l="Width"===o?s.width:s.height,r=i===n,a=r?l-
     t[n]:t[e],g=h.margin[r?e:n],f="offset"+o,p=this[f]-this.sizingTarget[f];this.siz
     ingTarget.style["max"+o]=l-g-a-p+"px"},center:function(){if(!this.horizontalAlig
     n&&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo.positionedBy;if
     (!t.vertically||!t.horizontally){this.style.position="fixed",t.vertically||(this
     .style.top="0px"),t.horizontally||(this.style.left="0px");var i=this.getBounding
     ClientRect(),e=this.__getNormalizedRect(this.fitInto);if(!t.vertically){var n=e.
     top-i.top+(e.height-i.height)/2;this.style.top=n+"px"}if(!t.horizontally){var o=
     e.left-i.left+(e.width-i.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect
     :function(t){return t===document.documentElement||t===window?{top:0,left:0,width
     :window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:wind
     ow.innerHeight}:t.getBoundingClientRect()},__getCroppedArea:function(t,i,e){var 
     n=Math.min(0,t.top)+Math.min(0,e.bottom-(t.top+i.height)),o=Math.min(0,t.left)+M
     ath.min(0,e.right-(t.left+i.width));return Math.abs(n)*i.width+Math.abs(o)*i.hei
     ght},__getPosition:function(t,i,e,n,o){var h=[{verticalAlign:"top",horizontalAli
     gn:"left",top:n.top,left:n.left},{verticalAlign:"top",horizontalAlign:"right",to
     p:n.top,left:n.right-e.width},{verticalAlign:"bottom",horizontalAlign:"left",top
     :n.bottom-e.height,left:n.left},{verticalAlign:"bottom",horizontalAlign:"right",
     top:n.bottom-e.height,left:n.right-e.width}];if(this.noOverlap){for(var s=0,l=h.
     length;s<l;s++){var r={};for(var a in h[s])r[a]=h[s][a];h.push(r)}h[0].top=h[1].
     top+=n.height,h[2].top=h[3].top-=n.height,h[4].left=h[6].left+=n.width,h[5].left
     =h[7].left-=n.width}i="auto"===i?null:i,t="auto"===t?null:t;for(var g,s=0;s<h.le
     ngth;s++){var f=h[s];if(!this.dynamicAlign&&!this.noOverlap&&f.verticalAlign===i
     &&f.horizontalAlign===t){g=f;break}var p=!(i&&f.verticalAlign!==i||t&&f.horizont
     alAlign!==t);if(this.dynamicAlign||p){g=g||f,f.croppedArea=this.__getCroppedArea
     (f,e,o);var d=f.croppedArea-g.croppedArea;if((d<0||0===d&&p)&&(g=f),0===g.croppe
     dArea&&p)break}}return g}}</script> <dom-module id="iron-overlay-backdrop" asset
     path="/res/imp/bower_components/iron-overlay-behavior/"> <template> <style>:host
     {position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--iron-
     overlay-backdrop-background-color,#000);opacity:0;transition:opacity .2s;pointer
     -events:none;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-o
     verlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-o
     pened)}</style> <content></content> </template> </dom-module> <script>!function(
     ){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectTo
     Attribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transi
     tionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:f
     unction(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this
     .opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:fu
     nction(){this.opened=!0},close:function(){this.opened=!1},complete:function(){th
     is.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeC
     hild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_o
     penedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(
     this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached
     &&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__opene
     dRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimatio
     nFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.
     bind(this)))}})}()</script> <script>Polymer.IronOverlayManagerClass=function(){t
     his._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.
     add(document,"tap",this._onCaptureClick.bind(this)),document.addEventListener("f
     ocus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",th
     is._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={
     constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._b
     ackdropElement||(this._backdropElement=document.createElement("iron-overlay-back
     drop")),this._backdropElement},get deepActiveElement(){for(var e=document.active
     Element||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(
     e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=th
     is._overlays[e];if(t){var r=this._overlays.length-1,a=this._overlays[r];if(a&&th
     is._shouldBeBehindOverlay(t,a)&&r--,!(e>=r)){var n=Math.max(this.currentOverlayZ
     (),this._minimumZ);for(this._getZ(t)<=n&&this._applyOverlayZ(t,n);e<r;)this._ove
     rlays[e]=this._overlays[e+1],e++;this._overlays[r]=t}}},addOrRemoveOverlay:funct
     ion(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e)
     {var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront
     (t),void this.trackBackdrop();var r=this._overlays.length,a=this._overlays[r-1],
     n=Math.max(this._getZ(a),this._minimumZ),o=this._getZ(e);if(a&&this._shouldBeBeh
     indOverlay(e,a)){this._applyOverlayZ(a,n),r--;var i=this._overlays[r-1];n=Math.m
     ax(this._getZ(i),this._minimumZ)}o<=n&&this._applyOverlayZ(e,n),this._overlays.s
     plice(r,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlay
     s.indexOf(e);t!==-1&&(this._overlays.splice(t,1),this.trackBackdrop())},currentO
     verlay:function(){var e=this._overlays.length-1;return this._overlays[e]},curren
     tOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:fu
     nction(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var
      e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this
     ._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.
     zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e)},getBackdrops:function()
     {for(var e=[],t=0;t<this._overlays.length;t++)this._overlays[t].withBackdrop&&e.
     push(this._overlays[t]);return e},backdropZ:function(){return this._getZ(this._o
     verlayWithBackdrop())-1},_overlayWithBackdrop:function(){for(var e=0;e<this._ove
     rlays.length;e++)if(this._overlays[e].withBackdrop)return this._overlays[e]},_ge
     tZ:function(e){var t=this._minimumZ;if(e){var r=Number(e.style.zIndex||window.ge
     tComputedStyle(e).zIndex);r===r&&(t=r)}return t},_setZ:function(e,t){e.style.zIn
     dex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e
     ){e=e||[];for(var t=0;t<e.length;t++)if(e[t]._manager===this)return e[t]},_onCap
     tureClick:function(e){var t=this.currentOverlay();t&&this._overlayInPath(Polymer
     .dom(e).path)!==t&&t._onCaptureClick(e)},_onCaptureFocus:function(e){var t=this.
     currentOverlay();t&&t._onCaptureFocus(e)},_onCaptureKeyDown:function(e){var t=th
     is.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,
     "esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(
     e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alw
     aysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayMana
     gerClass</script> <script>!function(){"use strict";Polymer.IronOverlayBehaviorIm
     pl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!
     0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},with
     Backdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolea
     n,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{typ
     e:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolea
     n,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronO
     verlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronRes
     ize"},get backdropElement(){return this._manager.backdropElement},get _focusNode
     (){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||th
     is},get _focusableNodes(){var e=["a[href]","area[href]","iframe","[tabindex]","[
     contentEditable=true]"],t=["input","select","textarea","button"],i=e.join(':not(
     [tabindex="-1"]),')+':not([tabindex="-1"]),'+t.join(':not([disabled]):not([tabin
     dex="-1"]),')+':not([disabled]):not([tabindex="-1"])',n=Polymer.dom(this).queryS
     electorAll(i);return this.tabIndex>=0&&n.splice(0,0,this),n.sort(function(e,t){r
     eturn e.tabIndex===t.tabIndex?0:0===e.tabIndex||e.tabIndex>t.tabIndex?1:-1})},re
     ady:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__first
     FocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusN
     ode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChang
     ed(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChang
     e)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._o
     bserver=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=nul
     l),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),th
     is.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},cl
     ose:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){var t=th
     is.fire("iron-overlay-canceled",e,{cancelable:!0});t.defaultPrevented||(this._se
     tCanceled(!0),this.opened=!1)},_ensureSetup:function(){this._overlaySetup||(this
     ._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedC
     hanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria
     -hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__onNextAnimationF
     rame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this
     .closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChang
     ed:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribu
     te("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&
     &(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&
     this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){
     this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning
     (),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeEleme
     nt===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},
     _renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){th
     is._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),thi
     s.__isAnimating=!1;var e=this._focusableNodes;this.__firstFocusableNode=e[0],thi
     s.__lastFocusableNode=e[e.length-1],this.fire("iron-overlay-opened")},_finishRen
     derClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyR
     esize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason
     )},_preparePositioning:function(){this.style.transition=this.style.webkitTransit
     ion="none",this.style.transform=this.style.webkitTransform="none",this.style.dis
     play=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=
     this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.t
     ransform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this
     .scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusN
     ode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocu
     sOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),this.__restor
     eFocusNode=null;var e=this._manager.currentOverlay();e&&this!==e&&e._applyFocus(
     )}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_on
     CaptureFocus:function(e){if(this.withBackdrop){var t=Polymer.dom(e).path;t.index
     Of(this)===-1?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}}
     ,_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:
     function(e){if(this.withBackdrop){var t=e.shiftKey,i=t?this.__firstFocusableNode
     :this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode
     ,s=!1;if(i===n)s=!0;else{var o=this._manager.deepActiveElement;s=o===i||o===this
     }s&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize
     :function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.r
     efit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&this.notifyRe
     size()},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this
     ._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manag
     er.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimati
     onFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=th
     is;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}}
     ,Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehav
     ior,Polymer.IronOverlayBehaviorImpl]}()</script> <dom-module id="paper-toast" as
     setpath="/res/imp/bower_components/paper-toast/"> <template> <style>:host{displa
     y:block;position:fixed;background-color:var(--paper-toast-background-color,#3232
     32);color:var(--paper-toast-color,#f1f1f1);min-height:48px;min-width:288px;paddi
     ng:16px 24px;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border
     -radius:2px;margin:12px;font-size:14px;cursor:default;-webkit-transition:-webkit
     -transform .3s,opacity .3s;transition:transform .3s,opacity .3s;opacity:0;-webki
     t-transform:translateY(100px);transform:translateY(100px);@apply(--paper-font-co
     mmon-base)}:host(.capsule){border-radius:24px}:host(.fit-bottom){width:100%;min-
     width:0;border-radius:0;margin:0}:host(.paper-toast-open){opacity:1;-webkit-tran
     sform:translateY(0);transform:translateY(0)}</style> <span id="label">{{text}}</
     span> <content></content> </template> <script>!function(){var e=null;Polymer({is
     :"paper-toast",behaviors:[Polymer.IronOverlayBehavior],properties:{fitInto:{type
     :Object,value:window,observer:"_onFitIntoChanged"},horizontalAlign:{type:String,
     value:"left"},verticalAlign:{type:String,value:"bottom"},duration:{type:Number,v
     alue:3e3},text:{type:String,value:""},noCancelOnOutsideClick:{type:Boolean,value
     :!0},noAutoFocus:{type:Boolean,value:!0}},listeners:{transitionend:"__onTransiti
     onEnd"},get visible(){return Polymer.Base._warn("`visible` is deprecated, use `o
     pened` instead"),this.opened},get _canAutoClose(){return this.duration>0&&this.d
     uration!==1/0},created:function(){this._autoClose=null,Polymer.IronA11yAnnouncer
     .requestAvailability()},show:function(e){"string"==typeof e&&(e={text:e});for(va
     r t in e)0===t.indexOf("_")?Polymer.Base._warn('The property "'+t+'" is private 
     and was not set.'):t in this?this[t]=e[t]:Polymer.Base._warn('The property "'+t+
     '" is not valid.');this.open()},hide:function(){this.close()},__onTransitionEnd:
     function(e){e&&e.target===this&&"opacity"===e.propertyName&&(this.opened?this._f
     inishRenderOpened():this._finishRenderClosed())},_openedChanged:function(){null!
     ==this._autoClose&&(this.cancelAsync(this._autoClose),this._autoClose=null),this
     .opened?(e&&e!==this&&e.close(),e=this,this.fire("iron-announce",{text:this.text
     }),this._canAutoClose&&(this._autoClose=this.async(this.close,this.duration))):e
     ===this&&(e=null),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,argu
     ments)},_renderOpened:function(){this.classList.add("paper-toast-open")},_render
     Closed:function(){this.classList.remove("paper-toast-open")},_onFitIntoChanged:f
     unction(e){this.positionTarget=e}})}()</script> </dom-module> <dom-module id="er
     ror-toast" assetpath="/res/imp/common/"> <template> <paper-toast id="toast"></pa
     per-toast> </template> </dom-module> <script>Polymer({is:"error-toast",ready:fun
     ction(){document.addEventListener("error-sk",function(t){if(this.$.toast.close()
     ,t.detail.message){this.$.toast.text=t.detail.message;var e=1e4;void 0!==t.detai
     l.duration&&(e=t.detail.duration),this.$.toast.duration=e,this.$.toast.show()}el
     se console.log("Empty message?",t)}.bind(this))}})</script> <dom-module id="sort
     -toggle" assetpath="/res/imp/common/"> <template> <style>:host{display:inline-bl
     ock;position:relative;min-width:20px;min-height:16px;vertical-align:middle}iron-
     icon{position:absolute;left:0;cursor:pointer}.hidden{visibility:hidden}</style> 
     <span on-click="toggle"> <iron-icon style="top:0" class$="[[_hidden(direction,'a
     sc')]]" icon="icons:arrow-drop-down"> </iron-icon> <iron-icon style="bottom:0" c
     lass$="[[_hidden(direction,'desc')]]" icon="icons:arrow-drop-up"> </iron-icon> <
     /span> </template> <script>Polymer({is:"sort-toggle",properties:{current:{type:O
     bject,observer:"_resetSort"},name:{type:String,observer:"_resetSort"},direction:
     {type:String,value:"",notify:!0}},toggle:function(){"asc"===this.direction?this.
     set("direction","desc"):this.set("direction","asc"),this.fire("sort_change",{dir
     ection:this.direction,name:this.name})},_hidden:function(t,e){return t===e?"hidd
     en":""},_resetSort:function(){this.current&&this.current.name===this.name?this.s
     et("direction",this.current.direction):this.set("direction","")}})</script> </do
     m-module><dom-module id="url-param" assetpath="/res/imp/common/"> <template> <pa
     per-toast id="toast"></paper-toast> </template> <script>!function(){Polymer({is:
     "url-param",properties:{default_value:{type:String},default_values:{type:Array},
     multi:{type:Boolean,value:!1},name:{type:String},valid:{type:Array},value:{type:
     String,value:"",notify:!0,observer:"_valueChanged"},_loaded:{type:Boolean,value:
     !1}},observers:["_valueChanged(value.splices)"],ready:function(){this._loaded=!0
     ;var t=this._getURL();t&&this._isValid(t)?this.set("value",t):this.default_value
     &&this._isValid(this.default_value)?this.set("value",this.default_value):this.mu
     lti&&this.default_values&&this._isValid(this.default_values)?this.set("value",th
     is.default_values):this._putURL()},_getURL:function(){var t=sk.query.toParamSet(
     window.location.search.substring(1))[this.name];return t?this.multi?t:t.length>1
     ?(this._error("Multiple values provided for "+this.name+" but only one accepted:
      "+t),null):t[0]:null},_putURL:function(){var t=sk.query.toParamSet(window.locat
     ion.search.substring(1));delete t[this.name],!this.value||Array.isArray(this.val
     ue)&&0==this.value.length||(this.multi?t[this.name]=this.value:t[this.name]=[thi
     s.value]);var e=window.location.href.split("?")[0]+"?"+sk.query.fromParamSet(t);
     window.history.replaceState("","",e)},_isValid:function(t){var e=function(t){if(
     this.valid){for(var e=0;e<this.valid.length;e++)if(t==this.valid[e])return!0;ret
     urn this._error("Invalid value for "+this.name+': "'+t+'". Must be one of: '+thi
     s.valid),!1}return!0}.bind(this);if(!this.multi)return Array.isArray(t)&&this._e
     rror("Multiple values provided for "+this.name+" but only one accepted: "+t),e(t
     );if(!Array.isArray(t))return this._error("url-param-sk: Value is not an array: 
     "+t),!1;for(var i=0;i<t.length;i++)if(!e(t[i]))return!1;return!0},_valueChanged:
     function(){this._loaded&&this._putURL()},_error:function(t){console.log("[ERROR]
      "+t),this.set("$.toast.text",t),this.$.toast.show()}})}()</script> </dom-module
     > <dom-module id="pageable-data" assetpath="/res/imp/common/"> <template> <style
      include="swarming-app-style"></style> <button on-tap="page" disabled$="[[_noMor
     e(_cursor)]]"> [[label]] </button> </template> <script> (function(){ |  145   python swarming_bot.zip</pre> </li> </ol> </div> </swarming-app> </template> <
     script>Polymer({is:"swarming-index",behaviors:[SwarmingBehaviors.CommonBehavior]
     ,properties:{client_id:{type:String},_auth_headers:{type:String},_bootstrap_toke
     n:{type:String,value:"..."},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean,
     value:!1},_host_url:{type:String,value:function(){return location.origin}},_perm
     issions:{type:Object},_project_id:{type:String,value:function(){var t=location.h
     ostname.indexOf(".appspot.com");return location.hostname.substring(0,t)}},_serve
     r_version:{type:Object}},observers:["_fetchBootstrap(_permissions,_auth_headers)
     "],_cannotBootstrap:function(t){return!(t&&t.get_bootstrap_token)},_fetchBootstr
     ap:function(t,e){e&&t&&!this._cannotBootstrap(t)&&(this.set("_busy1",!0),sk.requ
     est("POST","/_ah/api/swarming/v1/server/token",void 0,e).then(JSON.parse).then(f
     unction(t){this.set("_bootstrap_token",t.bootstrap_token),this.set("_busy1",!1)}
     .bind(this)).catch(function(t){console.log("Could not get token",t),this.set("_b
     usy1",!1)}.bind(this)))},_makeInstancesUrl:function(t,e){return"https://console.
     cloud.google.com/appengine/instances?project="+e+"&versionId="+t.server_version}
     ,_makeErrorUrl:function(t){return"https://console.cloud.google.com/errors?projec
     t="+t},_makeLogUrl:function(t){return"https://pantheon.corp.google.com/logs/view
     er?filters=text:status:500..599&project="+t}})</script> </dom-module><dom-module
      id="dynamic-table-style" assetpath="/res/imp/common/"> <template> <style>table{
     border-collapse:collapse;margin-left:5px}td,th{border:1px solid #DDD;padding:5px
     }th{position:relative}sort-toggle{position:absolute;right:0;top:.4em}</style> </
     template> </dom-module> <script>!function(){SwarmingBehaviors.DynamicTableBehavi
     or=[SwarmingBehaviors.CommonBehavior,{properties:{_columns:{type:Array},_filter:
     {type:Function},_filteredSortedItems:{type:Array,computed:"_filterAndSort(_items
     .*,_filter.*,_sort.*)"},_items:{type:Array},_plainColumns:{type:Array,computed:"
     _stripSpecial(_columns.*)"},_sort:{type:Object,computed:"_makeSortObject(_sortst
     r)"},_sortstr:{type:String},_verbose:{type:Boolean}},_column:function(t,i){var n
     =this._columnMap[t];return n||(n=function(i){var n=this._attribute(i,t,"none");r
     eturn this._verbose?n.join(" | "):n[0]}),n.bind(this)(i)},_compare:function(t,i)
     {if(!this._sort)return 0;var n=1;"desc"===this._sort.direction&&(n=-1);var r=thi
     s._specialSort[this._sort.name];if(r)return r.bind(this)(n,t,i);var e=this._colu
     mn(this._sort.name,t),s=this._column(this._sort.name,i);return n*swarming.natura
     lCompare(e,s)},_filterAndSort:function(){swarming.stableSort(this._items,this._c
     ompare.bind(this));var t=this._items;return this._filter&&(t=t.filter(this._filt
     er.bind(this))),t},_header:function(t){return this._headerMap[t]||t},_hide:funct
     ion(t){return this._columns.indexOf(t)===-1},_makeSortObject:function(t){if(t){v
     ar i=t.split(":");return 2!=i.length?{name:"id",direction:"asc"}:{name:i[0],dire
     ction:i[1]}}},_sortChange:function(t){t&&t.detail&&t.detail.name&&this.set("_sor
     tstr",t.detail.name+":"+t.detail.direction)},_stripSpecial:function(){return thi
     s._columns.filter(function(t){return this._specialColumns.indexOf(t)===-1}.bind(
     this)).sort()},_commonColumns:function(){return{device_type:function(t){var i=th
     is._attribute(t,"device_type","none");i=i[0];var n=swarming.alias.android(i);ret
     urn"unknown"===n?i:swarming.alias.apply(i,n)},gpu:function(t){var i=this._attrib
     ute(t,"gpu","none"),n=[],r=[];return i.forEach(function(t){var i=swarming.alias.
     gpu(t);return"unknown"===i?(n.push(t),void(t.indexOf(":")===-1&&r.push(t))):(n.p
     ush(swarming.alias.apply(t,i)),void(t.indexOf(":")===-1&&r.push(swarming.alias.a
     pply(t,i))))}.bind(this)),this._verbose||!r.length?n.join(" | "):r.join(" | ")},
     pool:function(t){var i=this._attribute(t,"pool");return i.join(" | ")}}}}]}()</s
     cript> <dom-module id="iron-a11y-announcer" assetpath="/res/imp/bower_components
     /iron-a11y-announcer/"> <template> <style>:host{display:inline-block;position:fi
     xed;clip:rect(0,0,0,0)}</style> <div aria-live$="[[mode]]">[[_text]]</div> </tem
     plate> <script>!function(){"use strict";Polymer.IronA11yAnnouncer=Polymer({is:"i
     ron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:St
     ring,value:""}},created:function(){Polymer.IronA11yAnnouncer.instance||(Polymer.
     IronA11yAnnouncer.instance=this),document.body.addEventListener("iron-announce",
     this._onIronAnnounce.bind(this))},announce:function(n){this._text="",this.async(
     function(){this._text=n},100)},_onIronAnnounce:function(n){n.detail&&n.detail.te
     xt&&this.announce(n.detail.text)}}),Polymer.IronA11yAnnouncer.instance=null,Poly
     mer.IronA11yAnnouncer.requestAvailability=function(){Polymer.IronA11yAnnouncer.i
     nstance||(Polymer.IronA11yAnnouncer.instance=document.createElement("iron-a11y-a
     nnouncer")),document.body.appendChild(Polymer.IronA11yAnnouncer.instance)}}()</s
     cript> </dom-module> <script>Polymer.IronFitBehavior={properties:{sizingTarget:{
     type:Object,value:function(){return this}},fitInto:{type:Object,value:window},no
     Overlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:Strin
     g},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{typ
     e:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoF
     itOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){var t
     ;return t=this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBounding
     ClientRect().width},get _fitHeight(){var t;return t=this.fitInto===window?this.f
     itInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){v
     ar t;return t=this.fitInto===window?0:this.fitInto.getBoundingClientRect().left}
     ,get _fitTop(){var t;return t=this.fitInto===window?0:this.fitInto.getBoundingCl
     ientRect().top},get _defaultPositionTarget(){var t=Polymer.dom(this).parentNode;
     return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(t=t.host),t},get _localeHor
     izontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if
     ("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attach
     ed:function(){this._isRTL="rtl"==window.getComputedStyle(this).direction,this.po
     sitionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAtta
     ch&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.f
     it()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),t
     his.center()},_discoverInfo:function(){if(!this._fitInfo){var t=window.getComput
     edStyle(this),i=window.getComputedStyle(this.sizingTarget);this._fitInfo={inline
     Style:{top:this.style.top||"",left:this.style.left||"",position:this.style.posit
     ion||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeig
     ht:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSi
     zing||""},positionedBy:{vertically:"auto"!==t.top?"top":"auto"!==t.bottom?"botto
     m":null,horizontally:"auto"!==t.left?"left":"auto"!==t.right?"right":null},sized
     By:{height:"none"!==i.maxHeight,width:"none"!==i.maxWidth,minWidth:parseInt(i.mi
     nWidth,10)||0,minHeight:parseInt(i.minHeight,10)||0},margin:{top:parseInt(t.marg
     inTop,10)||0,right:parseInt(t.marginRight,10)||0,bottom:parseInt(t.marginBottom,
     10)||0,left:parseInt(t.marginLeft,10)||0}},this.verticalOffset&&(this._fitInfo.m
     argin.top=this._fitInfo.margin.bottom=this.verticalOffset,this._fitInfo.inlineSt
     yle.marginTop=this.style.marginTop||"",this._fitInfo.inlineStyle.marginBottom=th
     is.style.marginBottom||"",this.style.marginTop=this.style.marginBottom=this.vert
     icalOffset+"px"),this.horizontalOffset&&(this._fitInfo.margin.left=this._fitInfo
     .margin.right=this.horizontalOffset,this._fitInfo.inlineStyle.marginLeft=this.st
     yle.marginLeft||"",this._fitInfo.inlineStyle.marginRight=this.style.marginRight|
     |"",this.style.marginLeft=this.style.marginRight=this.horizontalOffset+"px")}},r
     esetFit:function(){var t=this._fitInfo||{};for(var i in t.sizerInlineStyle)this.
     sizingTarget.style[i]=t.sizerInlineStyle[i];for(var i in t.inlineStyle)this.styl
     e[i]=t.inlineStyle[i];this._fitInfo=null},refit:function(){var t=this.sizingTarg
     et.scrollLeft,i=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizi
     ngTarget.scrollLeft=t,this.sizingTarget.scrollTop=i},position:function(){if(this
     .horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="
     fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this
     .style.top="0px";var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(t
     his.positionTarget),e=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.mar
     gin,o={width:t.width+n.left+n.right,height:t.height+n.top+n.bottom},h=this.__get
     Position(this._localeHorizontalAlign,this.verticalAlign,o,i,e),s=h.left+n.left,l
     =h.top+n.top,r=Math.min(e.right-n.right,s+t.width),a=Math.min(e.bottom-n.bottom,
     l+t.height),g=this._fitInfo.sizedBy.minWidth,f=this._fitInfo.sizedBy.minHeight;s
     <n.left&&(s=n.left,r-s<g&&(s=r-g)),l<n.top&&(l=n.top,a-l<f&&(l=a-f)),this.sizing
     Target.style.maxWidth=r-s+"px",this.sizingTarget.style.maxHeight=a-l+"px",this.s
     tyle.left=s-t.left+"px",this.style.top=l-t.top+"px"}},constrain:function(){if(!t
     his.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitIn
     fo;t.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px")
     ,t.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"
     ),this.sizingTarget.style.boxSizing="border-box";var i=this.getBoundingClientRec
     t();t.sizedBy.height||this.__sizeDimension(i,t.positionedBy.vertically,"top","bo
     ttom","Height"),t.sizedBy.width||this.__sizeDimension(i,t.positionedBy.horizonta
     lly,"left","right","Width")}},_sizeDimension:function(t,i,e,n,o){this.__sizeDime
     nsion(t,i,e,n,o)},__sizeDimension:function(t,i,e,n,o){var h=this._fitInfo,s=this
     .__getNormalizedRect(this.fitInto),l="Width"===o?s.width:s.height,r=i===n,a=r?l-
     t[n]:t[e],g=h.margin[r?e:n],f="offset"+o,p=this[f]-this.sizingTarget[f];this.siz
     ingTarget.style["max"+o]=l-g-a-p+"px"},center:function(){if(!this.horizontalAlig
     n&&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo.positionedBy;if
     (!t.vertically||!t.horizontally){this.style.position="fixed",t.vertically||(this
     .style.top="0px"),t.horizontally||(this.style.left="0px");var i=this.getBounding
     ClientRect(),e=this.__getNormalizedRect(this.fitInto);if(!t.vertically){var n=e.
     top-i.top+(e.height-i.height)/2;this.style.top=n+"px"}if(!t.horizontally){var o=
     e.left-i.left+(e.width-i.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect
     :function(t){return t===document.documentElement||t===window?{top:0,left:0,width
     :window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:wind
     ow.innerHeight}:t.getBoundingClientRect()},__getCroppedArea:function(t,i,e){var 
     n=Math.min(0,t.top)+Math.min(0,e.bottom-(t.top+i.height)),o=Math.min(0,t.left)+M
     ath.min(0,e.right-(t.left+i.width));return Math.abs(n)*i.width+Math.abs(o)*i.hei
     ght},__getPosition:function(t,i,e,n,o){var h=[{verticalAlign:"top",horizontalAli
     gn:"left",top:n.top,left:n.left},{verticalAlign:"top",horizontalAlign:"right",to
     p:n.top,left:n.right-e.width},{verticalAlign:"bottom",horizontalAlign:"left",top
     :n.bottom-e.height,left:n.left},{verticalAlign:"bottom",horizontalAlign:"right",
     top:n.bottom-e.height,left:n.right-e.width}];if(this.noOverlap){for(var s=0,l=h.
     length;s<l;s++){var r={};for(var a in h[s])r[a]=h[s][a];h.push(r)}h[0].top=h[1].
     top+=n.height,h[2].top=h[3].top-=n.height,h[4].left=h[6].left+=n.width,h[5].left
     =h[7].left-=n.width}i="auto"===i?null:i,t="auto"===t?null:t;for(var g,s=0;s<h.le
     ngth;s++){var f=h[s];if(!this.dynamicAlign&&!this.noOverlap&&f.verticalAlign===i
     &&f.horizontalAlign===t){g=f;break}var p=!(i&&f.verticalAlign!==i||t&&f.horizont
     alAlign!==t);if(this.dynamicAlign||p){g=g||f,f.croppedArea=this.__getCroppedArea
     (f,e,o);var d=f.croppedArea-g.croppedArea;if((d<0||0===d&&p)&&(g=f),0===g.croppe
     dArea&&p)break}}return g}}</script> <dom-module id="iron-overlay-backdrop" asset
     path="/res/imp/bower_components/iron-overlay-behavior/"> <template> <style>:host
     {position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--iron-
     overlay-backdrop-background-color,#000);opacity:0;transition:opacity .2s;pointer
     -events:none;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-o
     verlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-o
     pened)}</style> <content></content> </template> </dom-module> <script>!function(
     ){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectTo
     Attribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transi
     tionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:f
     unction(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this
     .opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:fu
     nction(){this.opened=!0},close:function(){this.opened=!1},complete:function(){th
     is.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeC
     hild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_o
     penedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(
     this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached
     &&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__opene
     dRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimatio
     nFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.
     bind(this)))}})}()</script> <script>Polymer.IronOverlayManagerClass=function(){t
     his._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.
     add(document,"tap",this._onCaptureClick.bind(this)),document.addEventListener("f
     ocus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",th
     is._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={
     constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._b
     ackdropElement||(this._backdropElement=document.createElement("iron-overlay-back
     drop")),this._backdropElement},get deepActiveElement(){for(var e=document.active
     Element||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(
     e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=th
     is._overlays[e];if(t){var r=this._overlays.length-1,a=this._overlays[r];if(a&&th
     is._shouldBeBehindOverlay(t,a)&&r--,!(e>=r)){var n=Math.max(this.currentOverlayZ
     (),this._minimumZ);for(this._getZ(t)<=n&&this._applyOverlayZ(t,n);e<r;)this._ove
     rlays[e]=this._overlays[e+1],e++;this._overlays[r]=t}}},addOrRemoveOverlay:funct
     ion(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e)
     {var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront
     (t),void this.trackBackdrop();var r=this._overlays.length,a=this._overlays[r-1],
     n=Math.max(this._getZ(a),this._minimumZ),o=this._getZ(e);if(a&&this._shouldBeBeh
     indOverlay(e,a)){this._applyOverlayZ(a,n),r--;var i=this._overlays[r-1];n=Math.m
     ax(this._getZ(i),this._minimumZ)}o<=n&&this._applyOverlayZ(e,n),this._overlays.s
     plice(r,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlay
     s.indexOf(e);t!==-1&&(this._overlays.splice(t,1),this.trackBackdrop())},currentO
     verlay:function(){var e=this._overlays.length-1;return this._overlays[e]},curren
     tOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:fu
     nction(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var
      e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this
     ._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.
     zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e)},getBackdrops:function()
     {for(var e=[],t=0;t<this._overlays.length;t++)this._overlays[t].withBackdrop&&e.
     push(this._overlays[t]);return e},backdropZ:function(){return this._getZ(this._o
     verlayWithBackdrop())-1},_overlayWithBackdrop:function(){for(var e=0;e<this._ove
     rlays.length;e++)if(this._overlays[e].withBackdrop)return this._overlays[e]},_ge
     tZ:function(e){var t=this._minimumZ;if(e){var r=Number(e.style.zIndex||window.ge
     tComputedStyle(e).zIndex);r===r&&(t=r)}return t},_setZ:function(e,t){e.style.zIn
     dex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e
     ){e=e||[];for(var t=0;t<e.length;t++)if(e[t]._manager===this)return e[t]},_onCap
     tureClick:function(e){var t=this.currentOverlay();t&&this._overlayInPath(Polymer
     .dom(e).path)!==t&&t._onCaptureClick(e)},_onCaptureFocus:function(e){var t=this.
     currentOverlay();t&&t._onCaptureFocus(e)},_onCaptureKeyDown:function(e){var t=th
     is.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,
     "esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(
     e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alw
     aysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayMana
     gerClass</script> <script>!function(){"use strict";Polymer.IronOverlayBehaviorIm
     pl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!
     0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},with
     Backdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolea
     n,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{typ
     e:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolea
     n,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronO
     verlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronRes
     ize"},get backdropElement(){return this._manager.backdropElement},get _focusNode
     (){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||th
     is},get _focusableNodes(){var e=["a[href]","area[href]","iframe","[tabindex]","[
     contentEditable=true]"],t=["input","select","textarea","button"],i=e.join(':not(
     [tabindex="-1"]),')+':not([tabindex="-1"]),'+t.join(':not([disabled]):not([tabin
     dex="-1"]),')+':not([disabled]):not([tabindex="-1"])',n=Polymer.dom(this).queryS
     electorAll(i);return this.tabIndex>=0&&n.splice(0,0,this),n.sort(function(e,t){r
     eturn e.tabIndex===t.tabIndex?0:0===e.tabIndex||e.tabIndex>t.tabIndex?1:-1})},re
     ady:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__first
     FocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusN
     ode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChang
     ed(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChang
     e)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._o
     bserver=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=nul
     l),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),th
     is.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},cl
     ose:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){var t=th
     is.fire("iron-overlay-canceled",e,{cancelable:!0});t.defaultPrevented||(this._se
     tCanceled(!0),this.opened=!1)},_ensureSetup:function(){this._overlaySetup||(this
     ._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedC
     hanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria
     -hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__onNextAnimationF
     rame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this
     .closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChang
     ed:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribu
     te("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&
     &(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&
     this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){
     this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning
     (),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeEleme
     nt===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},
     _renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){th
     is._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),thi
     s.__isAnimating=!1;var e=this._focusableNodes;this.__firstFocusableNode=e[0],thi
     s.__lastFocusableNode=e[e.length-1],this.fire("iron-overlay-opened")},_finishRen
     derClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyR
     esize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason
     )},_preparePositioning:function(){this.style.transition=this.style.webkitTransit
     ion="none",this.style.transform=this.style.webkitTransform="none",this.style.dis
     play=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=
     this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.t
     ransform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this
     .scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusN
     ode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocu
     sOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),this.__restor
     eFocusNode=null;var e=this._manager.currentOverlay();e&&this!==e&&e._applyFocus(
     )}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_on
     CaptureFocus:function(e){if(this.withBackdrop){var t=Polymer.dom(e).path;t.index
     Of(this)===-1?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}}
     ,_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:
     function(e){if(this.withBackdrop){var t=e.shiftKey,i=t?this.__firstFocusableNode
     :this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode
     ,s=!1;if(i===n)s=!0;else{var o=this._manager.deepActiveElement;s=o===i||o===this
     }s&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize
     :function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.r
     efit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&this.notifyRe
     size()},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this
     ._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manag
     er.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimati
     onFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=th
     is;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}}
     ,Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehav
     ior,Polymer.IronOverlayBehaviorImpl]}()</script> <dom-module id="paper-toast" as
     setpath="/res/imp/bower_components/paper-toast/"> <template> <style>:host{displa
     y:block;position:fixed;background-color:var(--paper-toast-background-color,#3232
     32);color:var(--paper-toast-color,#f1f1f1);min-height:48px;min-width:288px;paddi
     ng:16px 24px;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border
     -radius:2px;margin:12px;font-size:14px;cursor:default;-webkit-transition:-webkit
     -transform .3s,opacity .3s;transition:transform .3s,opacity .3s;opacity:0;-webki
     t-transform:translateY(100px);transform:translateY(100px);@apply(--paper-font-co
     mmon-base)}:host(.capsule){border-radius:24px}:host(.fit-bottom){width:100%;min-
     width:0;border-radius:0;margin:0}:host(.paper-toast-open){opacity:1;-webkit-tran
     sform:translateY(0);transform:translateY(0)}</style> <span id="label">{{text}}</
     span> <content></content> </template> <script>!function(){var e=null;Polymer({is
     :"paper-toast",behaviors:[Polymer.IronOverlayBehavior],properties:{fitInto:{type
     :Object,value:window,observer:"_onFitIntoChanged"},horizontalAlign:{type:String,
     value:"left"},verticalAlign:{type:String,value:"bottom"},duration:{type:Number,v
     alue:3e3},text:{type:String,value:""},noCancelOnOutsideClick:{type:Boolean,value
     :!0},noAutoFocus:{type:Boolean,value:!0}},listeners:{transitionend:"__onTransiti
     onEnd"},get visible(){return Polymer.Base._warn("`visible` is deprecated, use `o
     pened` instead"),this.opened},get _canAutoClose(){return this.duration>0&&this.d
     uration!==1/0},created:function(){this._autoClose=null,Polymer.IronA11yAnnouncer
     .requestAvailability()},show:function(e){"string"==typeof e&&(e={text:e});for(va
     r t in e)0===t.indexOf("_")?Polymer.Base._warn('The property "'+t+'" is private 
     and was not set.'):t in this?this[t]=e[t]:Polymer.Base._warn('The property "'+t+
     '" is not valid.');this.open()},hide:function(){this.close()},__onTransitionEnd:
     function(e){e&&e.target===this&&"opacity"===e.propertyName&&(this.opened?this._f
     inishRenderOpened():this._finishRenderClosed())},_openedChanged:function(){null!
     ==this._autoClose&&(this.cancelAsync(this._autoClose),this._autoClose=null),this
     .opened?(e&&e!==this&&e.close(),e=this,this.fire("iron-announce",{text:this.text
     }),this._canAutoClose&&(this._autoClose=this.async(this.close,this.duration))):e
     ===this&&(e=null),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,argu
     ments)},_renderOpened:function(){this.classList.add("paper-toast-open")},_render
     Closed:function(){this.classList.remove("paper-toast-open")},_onFitIntoChanged:f
     unction(e){this.positionTarget=e}})}()</script> </dom-module> <dom-module id="er
     ror-toast" assetpath="/res/imp/common/"> <template> <paper-toast id="toast"></pa
     per-toast> </template> </dom-module> <script>Polymer({is:"error-toast",ready:fun
     ction(){document.addEventListener("error-sk",function(t){if(this.$.toast.close()
     ,t.detail.message){this.$.toast.text=t.detail.message;var e=1e4;void 0!==t.detai
     l.duration&&(e=t.detail.duration),this.$.toast.duration=e,this.$.toast.show()}el
     se console.log("Empty message?",t)}.bind(this))}})</script> <dom-module id="sort
     -toggle" assetpath="/res/imp/common/"> <template> <style>:host{display:inline-bl
     ock;position:relative;min-width:20px;min-height:16px;vertical-align:middle}iron-
     icon{position:absolute;left:0;cursor:pointer}.hidden{visibility:hidden}</style> 
     <span on-click="toggle"> <iron-icon style="top:0" class$="[[_hidden(direction,'a
     sc')]]" icon="icons:arrow-drop-down"> </iron-icon> <iron-icon style="bottom:0" c
     lass$="[[_hidden(direction,'desc')]]" icon="icons:arrow-drop-up"> </iron-icon> <
     /span> </template> <script>Polymer({is:"sort-toggle",properties:{current:{type:O
     bject,observer:"_resetSort"},name:{type:String,observer:"_resetSort"},direction:
     {type:String,value:"",notify:!0}},toggle:function(){"asc"===this.direction?this.
     set("direction","desc"):this.set("direction","asc"),this.fire("sort_change",{dir
     ection:this.direction,name:this.name})},_hidden:function(t,e){return t===e?"hidd
     en":""},_resetSort:function(){this.current&&this.current.name===this.name?this.s
     et("direction",this.current.direction):this.set("direction","")}})</script> </do
     m-module><dom-module id="url-param" assetpath="/res/imp/common/"> <template> <pa
     per-toast id="toast"></paper-toast> </template> <script>!function(){Polymer({is:
     "url-param",properties:{default_value:{type:String},default_values:{type:Array},
     multi:{type:Boolean,value:!1},name:{type:String},valid:{type:Array},value:{type:
     String,value:"",notify:!0,observer:"_valueChanged"},_loaded:{type:Boolean,value:
     !1}},observers:["_valueChanged(value.splices)"],ready:function(){this._loaded=!0
     ;var t=this._getURL();t&&this._isValid(t)?this.set("value",t):this.default_value
     &&this._isValid(this.default_value)?this.set("value",this.default_value):this.mu
     lti&&this.default_values&&this._isValid(this.default_values)?this.set("value",th
     is.default_values):this._putURL()},_getURL:function(){var t=sk.query.toParamSet(
     window.location.search.substring(1))[this.name];return t?this.multi?t:t.length>1
     ?(this._error("Multiple values provided for "+this.name+" but only one accepted:
      "+t),null):t[0]:null},_putURL:function(){var t=sk.query.toParamSet(window.locat
     ion.search.substring(1));delete t[this.name],!this.value||Array.isArray(this.val
     ue)&&0==this.value.length||(this.multi?t[this.name]=this.value:t[this.name]=[thi
     s.value]);var e=window.location.href.split("?")[0]+"?"+sk.query.fromParamSet(t);
     window.history.replaceState("","",e)},_isValid:function(t){var e=function(t){if(
     this.valid){for(var e=0;e<this.valid.length;e++)if(t==this.valid[e])return!0;ret
     urn this._error("Invalid value for "+this.name+': "'+t+'". Must be one of: '+thi
     s.valid),!1}return!0}.bind(this);if(!this.multi)return Array.isArray(t)&&this._e
     rror("Multiple values provided for "+this.name+" but only one accepted: "+t),e(t
     );if(!Array.isArray(t))return this._error("url-param-sk: Value is not an array: 
     "+t),!1;for(var i=0;i<t.length;i++)if(!e(t[i]))return!1;return!0},_valueChanged:
     function(){this._loaded&&this._putURL()},_error:function(t){console.log("[ERROR]
      "+t),this.set("$.toast.text",t),this.$.toast.show()}})}()</script> </dom-module
     > <dom-module id="pageable-data" assetpath="/res/imp/common/"> <template> <style
      include="swarming-app-style"></style> <button on-tap="page" disabled$="[[_noMor
     e(_cursor)]]"> [[label]] </button> </template> <script> (function(){ | 
|    7     var END = "END"; |  146     var END = "END"; | 
|    8     Polymer({ |  147     Polymer({ | 
|    9       is: 'pageable-data', |  148       is: 'pageable-data', | 
|   10  |  149  | 
|   11       properties: { |  150       properties: { | 
|   12         // input |  151         // input | 
|   13         label: { |  152         label: { | 
|   14           type: String, |  153           type: String, | 
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  102           console.log("Reason for failure of request to " + this._url, reason); |  241           console.log("Reason for failure of request to " + this._url, reason); | 
|  103           sk.errorMessage("Could not get next set of results. Try reloading the 
     page?", 0); |  242           sk.errorMessage("Could not get next set of results. Try reloading the 
     page?", 0); | 
|  104           this.set("busy", false); |  243           this.set("busy", false); | 
|  105         }.bind(this)); |  244         }.bind(this)); | 
|  106       }, |  245       }, | 
|  107  |  246  | 
|  108       _noMore: function(cursor) { |  247       _noMore: function(cursor) { | 
|  109         return cursor === END; |  248         return cursor === END; | 
|  110       } |  249       } | 
|  111     }); |  250     }); | 
|  112   })(); </script> </dom-module><script>Polymer({is:"iron-a11y-keys",behaviors:[P
     olymer.IronA11yKeysBehavior],properties:{target:{type:Object,observer:"_targetCh
     anged"},keys:{type:String,reflectToAttribute:!0,observer:"_keysChanged"}},attach
     ed:function(){this.target||(this.target=this.parentNode)},_targetChanged:functio
     n(e){this.keyEventTarget=e},_keysChanged:function(){this.removeOwnKeyBindings(),
     this.addOwnKeyBinding(this.keys,"_fireKeysPressed")},_fireKeysPressed:function(e
     ){this.fire("keys-pressed",e.detail,{})}})</script> <script>Polymer.IronSelectio
     n=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.pro
     totype={get:function(){return this.multi?this.selection.slice():this.selection[0
     ]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t
     )<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.sele
     ction.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelect
     ed(e)){if(t)this.selection.push(e);else{var i=this.selection.indexOf(e);i>=0&&th
     is.selection.splice(i,1)}this.selectCallback&&this.selectCallback(e,t)}},select:
     function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this
     .get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(
     e,!this.isSelected(e))}}</script> <script>Polymer.IronSelectableBehavior={proper
     ties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},
     selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,valu
     e:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:
     String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbac
     kSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,valu
     e:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return
     {template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSel
     ected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._b
     indFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelect
     ion(this._applySelection.bind(this))},attached:function(){this._observer=this._o
     bserveItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateS
     elected(),this._addListener(this.activateEvent)},detached:function(){this._obser
     ver&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.
     activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:functio
     n(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Numbe
     r(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)}
     ,selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.
     items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.s
     elect(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._update
     Items()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback
     :function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:fu
     nction(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){th
     is.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this
     ._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.
     dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filte
     r.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:functio
     n(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(
     this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selec
     ted)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.
     selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.g
     et()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!thi
     s._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null
     :this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSe
     lected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(
     t)==e)return i},_indexToValue:function(e){if(!this.attrForSelected)return e;var 
     t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e)
     {var t=e[Polymer.CaseMap.dashToCamelCase(this.attrForSelected)];return void 0!=t
     ?t:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.sele
     ctedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this
     .toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("
     iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setS
     electedItem(this._selection.get())},_observeItems:function(e){return Polymer.dom
     (e).observeNodes(function(e){this._updateItems(),this._shouldUpdateSelection&&th
     is._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1}
     )})},_activateHandler:function(e){for(var t=e.target,i=this.items;t&&t!=this;){v
     ar s=i.indexOf(t);if(s>=0){var n=this._indexToValue(s);return void this._itemAct
     ivate(n,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate
     ",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}</scrip
     t> <script>Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Bool
     ean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},sele
     ctedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(select
     edValues.splices)"],select:function(e){this.multi?this.selectedValues?this._togg
     leSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){
     this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected
     ||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:
     function(){this.multi?this._shouldUpdateSelection&&(this.selectedValues=this.sel
     ectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).fil
     ter(function(e){return null!=e},this)):Polymer.IronSelectableBehavior._updateAtt
     rForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMult
     i(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:functio
     n(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var l=0;l<t
     .length;l++)this._selection.setItemSelected(t[l],!0);if(this.fallbackSelection&&
     this.items.length&&!this._selection.get().length){var s=this._valueToItem(this.f
     allbackSelection);s&&(this.selectedValues=[this.fallbackSelection])}}else this._
     selection.clear()},_selectionChange:function(){var e=this._selection.get();this.
     multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedIt
     em(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e),l=t<0;l
     ?this.push("selectedValues",e):this.splice("selectedValues",t,1)},_valuesToItems
     :function(e){return null==e?null:e.map(function(e){return this._valueToItem(e)},
     this)}},Polymer.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Poly
     mer.IronMultiSelectableBehaviorImpl]</script> <script>Polymer({is:"iron-selector
     ",behaviors:[Polymer.IronMultiSelectableBehavior]})</script> <script>Polymer.Iro
     nValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{valid
     ator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!
     1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_v
     alidator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_in
     validChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMet
     a=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.inva
     lid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid"
     )},hasValidator:function(){return null!=this._validator},validate:function(a){re
     turn this.invalid=!this._getValidity(a),!this.invalid},_getValidity:function(a){
     return!this.hasValidator()||this._validator.validate(a)},__computeValidator:func
     tion(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehavi
     orMeta.byKey(this.validator)}}</script> <script>Polymer.IronFormElementBehavior=
     {properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boo
     lean,value:!1},_parentForm:{type:Object}},attached:function(){this.fire("iron-fo
     rm-element-register")},detached:function(){this._parentForm&&this._parentForm.fi
     re("iron-form-element-unregister",{target:this})}}</script> <script>Polymer.Iron
     CheckedElementBehaviorImpl={properties:{checked:{type:Boolean,value:!1,reflectTo
     Attribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!
     0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}
     },observers:["_requiredChanged(required)"],created:function(){this._hasIronCheck
     edElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.requi
     red||this.checked},_requiredChanged:function(){this.required?this.setAttribute("
     aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:fu
     nction(){this.active=this.checked,this.fire("iron-change")},_valueChanged:functi
     on(){void 0!==this.value&&null!==this.value||(this.value="on")}},Polymer.IronChe
     ckedElementBehavior=[Polymer.IronFormElementBehavior,Polymer.IronValidatableBeha
     vior,Polymer.IronCheckedElementBehaviorImpl]</script> <script>Polymer.PaperInkyF
     ocusBehaviorImpl={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focu
     sedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.ho
     ldDown=e)},_createRipple:function(){var e=Polymer.PaperRippleBehavior._createRip
     ple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}
     },Polymer.PaperInkyFocusBehavior=[Polymer.IronButtonState,Polymer.IronControlSta
     te,Polymer.PaperRippleBehavior,Polymer.PaperInkyFocusBehaviorImpl]</script> <scr
     ipt>Polymer.PaperCheckedElementBehaviorImpl={_checkedChanged:function(){Polymer.
     IronCheckedElementBehaviorImpl._checkedChanged.call(this),this.hasRipple()&&(thi
     s.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("
     checked"))},_buttonStateChanged:function(){Polymer.PaperRippleBehavior._buttonSt
     ateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)
     }},Polymer.PaperCheckedElementBehavior=[Polymer.PaperInkyFocusBehavior,Polymer.I
     ronCheckedElementBehavior,Polymer.PaperCheckedElementBehaviorImpl]</script> <dom
     -module id="paper-checkbox" assetpath="/res/imp/bower_components/paper-checkbox/
     "> <template strip-whitespace=""> <style>:host{display:inline-block;white-space:
     nowrap;cursor:pointer;--calculated-paper-checkbox-size:var(--paper-checkbox-size
     , 18px);--calculated-paper-checkbox-ink-size:var(--paper-checkbox-ink-size, -1px
     );@apply(--paper-font-common-base);line-height:0;-webkit-tap-highlight-color:tra
     nsparent}:host([hidden]){display:none!important}:host(:focus){outline:0}.hidden{
     display:none}#checkboxContainer{display:inline-block;position:relative;width:var
     (--calculated-paper-checkbox-size);height:var(--calculated-paper-checkbox-size);
     min-width:var(--calculated-paper-checkbox-size);margin:var(--paper-checkbox-marg
     in,initial);vertical-align:var(--paper-checkbox-vertical-align,middle);backgroun
     d-color:var(--paper-checkbox-unchecked-background-color,transparent)}#ink{positi
     on:absolute;top:calc(0px - (var(--calculated-paper-checkbox-ink-size) - var(--ca
     lculated-paper-checkbox-size))/ 2);left:calc(0px - (var(--calculated-paper-check
     box-ink-size) - var(--calculated-paper-checkbox-size))/ 2);width:var(--calculate
     d-paper-checkbox-ink-size);height:var(--calculated-paper-checkbox-ink-size);colo
     r:var(--paper-checkbox-unchecked-ink-color,var(--primary-text-color));opacity:.6
     ;pointer-events:none}:host-context([dir=rtl]) #ink{right:calc(0px - (var(--calcu
     lated-paper-checkbox-ink-size) - var(--calculated-paper-checkbox-size))/ 2);left
     :auto}#ink[checked]{color:var(--paper-checkbox-checked-ink-color,var(--primary-c
     olor))}#checkbox{position:relative;box-sizing:border-box;height:100%;border:soli
     d 2px;border-color:var(--paper-checkbox-unchecked-color,var(--primary-text-color
     ));border-radius:2px;pointer-events:none;-webkit-transition:background-color 140
     ms,border-color 140ms;transition:background-color 140ms,border-color 140ms}#chec
     kbox.checked #checkmark{-webkit-animation:checkmark-expand 140ms ease-out forwar
     ds;animation:checkmark-expand 140ms ease-out forwards}@-webkit-keyframes checkma
     rk-expand{0%{-webkit-transform:scale(0,0) rotate(45deg)}100%{-webkit-transform:s
     cale(1,1) rotate(45deg)}}@keyframes checkmark-expand{0%{transform:scale(0,0) rot
     ate(45deg)}100%{transform:scale(1,1) rotate(45deg)}}#checkbox.checked{background
     -color:var(--paper-checkbox-checked-color,var(--primary-color));border-color:var
     (--paper-checkbox-checked-color,var(--primary-color))}#checkmark{position:absolu
     te;width:36%;height:70%;border-style:solid;border-top:none;border-left:none;bord
     er-right-width:calc(2/15 * var(--calculated-paper-checkbox-size));border-bottom-
     width:calc(2/15 * var(--calculated-paper-checkbox-size));border-color:var(--pape
     r-checkbox-checkmark-color,#fff);-webkit-transform-origin:97% 86%;transform-orig
     in:97% 86%;box-sizing:content-box}:host-context([dir=rtl]) #checkmark{-webkit-tr
     ansform-origin:50% 14%;transform-origin:50% 14%}#checkboxLabel{position:relative
     ;display:inline-block;vertical-align:middle;padding-left:var(--paper-checkbox-la
     bel-spacing,8px);white-space:normal;line-height:normal;color:var(--paper-checkbo
     x-label-color,var(--primary-text-color));@apply(--paper-checkbox-label)}:host([c
     hecked]) #checkboxLabel{color:var(--paper-checkbox-label-checked-color,var(--pap
     er-checkbox-label-color,var(--primary-text-color)));@apply(--paper-checkbox-labe
     l-checked)}:host-context([dir=rtl]) #checkboxLabel{padding-right:var(--paper-che
     ckbox-label-spacing,8px);padding-left:0}#checkboxLabel[hidden]{display:none}:hos
     t([disabled]) #checkbox{opacity:.5;border-color:var(--paper-checkbox-unchecked-c
     olor,var(--primary-text-color))}:host([disabled][checked]) #checkbox{background-
     color:var(--paper-checkbox-unchecked-color,var(--primary-text-color));opacity:.5
     }:host([disabled]) #checkboxLabel{opacity:.65}#checkbox.invalid:not(.checked){bo
     rder-color:var(--paper-checkbox-error-color,var(--error-color))}</style> <div id
     ="checkboxContainer"> <div id="checkbox" class$="[[_computeCheckboxClass(checked
     , invalid)]]"> <div id="checkmark" class$="[[_computeCheckmarkClass(checked)]]">
     </div> </div> </div> <div id="checkboxLabel"><content></content></div> </templat
     e> <script>Polymer({is:"paper-checkbox",behaviors:[Polymer.PaperCheckedElementBe
     havior],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties
     :{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){va
     r e=this.getComputedStyleValue("--calculated-paper-checkbox-ink-size");if("-1px"
     ===e){var t=parseFloat(this.getComputedStyleValue("--calculated-paper-checkbox-s
     ize")),a=Math.floor(8/3*t);a%2!==t%2&&a++,this.customStyle["--paper-checkbox-ink
     -size"]=a+"px",this.updateStyles()}},_computeCheckboxClass:function(e,t){var a="
     ";return e&&(a+="checked "),t&&(a+="invalid"),a},_computeCheckmarkClass:function
     (e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=
     this.$.checkboxContainer,Polymer.PaperInkyFocusBehaviorImpl._createRipple.call(t
     his)}})</script> </dom-module> <dom-module id="paper-icon-button" assetpath="/re
     s/imp/bower_components/paper-icon-button/"> <template strip-whitespace=""> <styl
     e>:host{display:inline-block;position:relative;padding:8px;outline:0;-webkit-use
     r-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor
     :pointer;z-index:0;line-height:1;width:40px;height:40px;-webkit-tap-highlight-co
     lor:transparent;-webkit-tap-highlight-color:transparent;box-sizing:border-box!im
     portant;@apply(--paper-icon-button)}:host #ink{color:var(--paper-icon-button-ink
     -color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-icon
     -button-disabled-text,--disabled-text-color);pointer-events:none;cursor:auto;@ap
     ply(--paper-icon-button-disabled)}:host(:hover){@apply(--paper-icon-button-hover
     )}iron-icon{--iron-icon-width:100%;--iron-icon-height:100%}</style> <iron-icon i
     d="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon> </template> <
     script>Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0
     "},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String},icon
     :{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(t,
     e){var r=this.getAttribute("aria-label");r&&e!=r||this.setAttribute("aria-label"
     ,t)}})</script> </dom-module> <script>Polymer({is:"iron-input",extends:"input",b
     ehaviors:[Polymer.IronValidatableBehavior],properties:{bindValue:{observer:"_bin
     dValueChanged",type:String},preventInvalidInput:{type:Boolean},allowedPattern:{t
     ype:String,observer:"_allowedPatternChanged"},_previousValidInput:{type:String,v
     alue:""},_patternAlreadyChecked:{type:Boolean,value:!1}},listeners:{input:"_onIn
     put",keypress:"_onKeypress"},registered:function(){this._canDispatchEventOnDisab
     led()||(this._origDispatchEvent=this.dispatchEvent,this.dispatchEvent=this._disp
     atchEventFirefoxIE)},created:function(){Polymer.IronA11yAnnouncer.requestAvailab
     ility()},_canDispatchEventOnDisabled:function(){var e=document.createElement("in
     put"),t=!1;e.disabled=!0,e.addEventListener("feature-check-dispatch-event",funct
     ion(){t=!0});try{e.dispatchEvent(new Event("feature-check-dispatch-event"))}catc
     h(e){}return t},_dispatchEventFirefoxIE:function(){var e=this.disabled;this.disa
     bled=!1,this._origDispatchEvent.apply(this,arguments),this.disabled=e},get _patt
     ernRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else 
     switch(this.type){case"number":e=/[0-9.,e-]/}return e},ready:function(){this.bin
     dValue=this.value},_bindValueChanged:function(){this.value!==this.bindValue&&(th
     is.value=this.bindValue||0===this.bindValue||this.bindValue===!1?this.bindValue:
     ""),this.fire("bind-value-changed",{value:this.bindValue})},_allowedPatternChang
     ed:function(){this.preventInvalidInput=!!this.allowedPattern},_onInput:function(
     ){if(this.preventInvalidInput&&!this._patternAlreadyChecked){var e=this._checkPa
     tternValidity();e||(this._announceInvalidCharacter("Invalid string of characters
      not entered."),this.value=this._previousValidInput)}this.bindValue=this.value,t
     his._previousValidInput=this.value,this._patternAlreadyChecked=!1},_isPrintable:
     function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,i=19=
     =e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.
     keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==
     e.charCode&&i)},_onKeypress:function(e){if(this.preventInvalidInput||"number"===
     this.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){th
     is._patternAlreadyChecked=!0;var i=String.fromCharCode(e.charCode);this._isPrint
     able(e)&&!t.test(i)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid
      character "+i+" not entered."))}}},_checkPatternValidity:function(){var e=this.
     _patternRegExp;if(!e)return!0;for(var t=0;t<this.value.length;t++)if(!e.test(thi
     s.value[t]))return!1;return!0},validate:function(){var e=this.checkValidity();re
     turn e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Polymer.Iro
     nValidatableBehavior.validate.call(this,this.value))),this.invalid=!e,this.fire(
     "iron-input-validate"),e},_announceInvalidCharacter:function(e){this.fire("iron-
     announce",{text:e})}})</script> <script>Polymer.PaperInputHelper={},Polymer.Pape
     rInputHelper.NextLabelID=1,Polymer.PaperInputHelper.NextAddonID=1,Polymer.PaperI
     nputBehaviorImpl={properties:{label:{type:String},value:{notify:!0,type:String},
     disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},preve
     ntInvalidInput:{type:Boolean},allowedPattern:{type:String},type:{type:String},li
     st:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMes
     sage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolea
     n,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,
     value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofoc
     us:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength
     :{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:
     {type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{ty
     pe:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"
     },autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Num
     ber},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,
     value:""},_ariaLabelledBy:{type:String,value:""}},listeners:{"addon-attached":"_
     onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttrib
     utes:{tabindex:0},get inputElement(){return this.$.input},get _focusableElement(
     ){return this.inputElement},registered:function(){this._typesThatHaveText=["date
     ","datetime","datetime-local","month","time","week","file"]},attached:function()
     {this._updateAriaLabelledBy(),this.inputElement&&this._typesThatHaveText.indexOf
     (this.inputElement.type)!==-1&&(this.alwaysFloatLabel=!0)},_appendStringWithSpac
     e:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t=e.path?
     e.path[0]:e.target;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(thi
     s._ariaDescribedBy,t.id);else{var a="paper-input-add-on-"+Polymer.PaperInputHelp
     er.NextAddonID++;t.id=a,this._ariaDescribedBy=this._appendStringWithSpace(this._
     ariaDescribedBy,a)}},validate:function(){return this.inputElement.validate()},_f
     ocusBlurHandler:function(e){Polymer.IronControlState._focusBlurHandler.call(this
     ,e),this.focused&&!this._shiftTabPressed&&this._focusableElement.focus()},_onShi
     ftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=
     !0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("t
     abindex",t),this._shiftTabPressed=!1},1)},_handleAutoValidate:function(){this.au
     toValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{var t=t
     his.inputElement.selectionStart;this.value=e,this.inputElement.selectionStart=t,
     this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFloatLabe
     l:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e=Polymer.dom(
     this.root).querySelector("label");if(!e)return void(this._ariaLabelledBy="");var
      t;e.id?t=e.id:(t="paper-input-label-"+Polymer.PaperInputHelper.NextLabelID++,e.
     id=t),this._ariaLabelledBy=t},_onChange:function(e){this.shadowRoot&&this.fire(e
     .type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_a
     utofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=docu
     ment.activeElement,t=e instanceof HTMLElement,a=t&&e!==document.body&&e!==docume
     nt.documentElement;a||this._focusableElement.focus()}}},Polymer.PaperInputBehavi
     or=[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.PaperInputBeha
     viorImpl]</script> <link rel="stylesheet" href="https://fonts.googleapis.com/css
     ?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic"> <link r
     el="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,70
     0"> <style is="custom-style">:root{--paper-font-common-base:{font-family:Roboto,
     Noto,sans-serif;-webkit-font-smoothing:antialiased};--paper-font-common-code:{fo
     nt-family:'Roboto Mono',Consolas,Menlo,monospace;-webkit-font-smoothing:antialia
     sed};--paper-font-common-expensive-kerning:{text-rendering:optimizeLegibility};-
     -paper-font-common-nowrap:{white-space:nowrap;overflow:hidden;text-overflow:elli
     psis};--paper-font-display4:{@apply(--paper-font-common-base);@apply(--paper-fon
     t-common-nowrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-hei
     ght:120px};--paper-font-display3:{@apply(--paper-font-common-base);@apply(--pape
     r-font-common-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line
     -height:60px};--paper-font-display2:{@apply(--paper-font-common-base);font-size:
     45px;font-weight:400;letter-spacing:-.018em;line-height:48px};--paper-font-displ
     ay1:{@apply(--paper-font-common-base);font-size:34px;font-weight:400;letter-spac
     ing:-.01em;line-height:40px};--paper-font-headline:{@apply(--paper-font-common-b
     ase);font-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--p
     aper-font-title:{@apply(--paper-font-common-base);@apply(--paper-font-common-now
     rap);font-size:20px;font-weight:500;line-height:28px};--paper-font-subhead:{@app
     ly(--paper-font-common-base);font-size:16px;font-weight:400;line-height:24px};--
     paper-font-body2:{@apply(--paper-font-common-base);font-size:14px;font-weight:50
     0;line-height:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-si
     ze:14px;font-weight:400;line-height:20px};--paper-font-caption:{@apply(--paper-f
     ont-common-base);@apply(--paper-font-common-nowrap);font-size:12px;font-weight:4
     00;letter-spacing:0.011em;line-height:20px};--paper-font-menu:{@apply(--paper-fo
     nt-common-base);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:50
     0;line-height:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply
     (--paper-font-common-nowrap);font-size:14px;font-weight:500;letter-spacing:0.018
     em;line-height:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper
     -font-common-code);font-size:14px;font-weight:700;line-height:20px};--paper-font
     -code1:{@apply(--paper-font-common-code);font-size:14px;font-weight:500;line-hei
     ght:20px};}</style> <script>Polymer.PaperInputAddonBehavior={hostAttributes:{"ad
     d-on":""},attached:function(){this.fire("addon-attached")},update:function(t){}}
     </script> <dom-module id="paper-input-char-counter" assetpath="/res/imp/bower_co
     mponents/paper-input/"> <template> <style>:host{display:inline-block;float:right
     ;@apply(--paper-font-caption);@apply(--paper-input-char-counter)}:host([hidden])
     {display:none!important}:host-context([dir=rtl]){float:left}</style> <span>[[_ch
     arCounterStr]]</span> </template> </dom-module> <script>Polymer({is:"paper-input
     -char-counter",behaviors:[Polymer.PaperInputAddonBehavior],properties:{_charCoun
     terStr:{type:String,value:"0"}},update:function(t){if(t.inputElement){t.value=t.
     value||"";var e=t.value.toString().length.toString();t.inputElement.hasAttribute
     ("maxlength")&&(e+="/"+t.inputElement.getAttribute("maxlength")),this._charCount
     erStr=e}}})</script> <dom-module id="paper-input-container" assetpath="/res/imp/
     bower_components/paper-input/"> <template> <style>:host{display:block;padding:8p
     x 0;@apply(--paper-input-container)}:host([inline]){display:inline-block}:host([
     disabled]){pointer-events:none;opacity:.33;@apply(--paper-input-container-disabl
     ed)}:host([hidden]){display:none!important}.floated-label-placeholder{@apply(--p
     aper-font-caption)}.underline{position:relative}.focused-line{@apply(--layout-fi
     t);background:var(--paper-input-container-focus-color,--primary-color);height:2p
     x;-webkit-transform-origin:center center;transform-origin:center center;-webkit-
     transform:scale3d(0,1,1);transform:scale3d(0,1,1);@apply(--paper-input-container
     -underline-focus)}.underline.is-highlighted .focused-line{-webkit-transform:none
     ;transform:none;-webkit-transition:-webkit-transform .25s;transition:transform .
     25s;@apply(--paper-transition-easing)}.underline.is-invalid .focused-line{backgr
     ound:var(--paper-input-container-invalid-color,--error-color);-webkit-transform:
     none;transform:none;-webkit-transition:-webkit-transform .25s;transition:transfo
     rm .25s;@apply(--paper-transition-easing)}.unfocused-line{@apply(--layout-fit);b
     ackground:var(--paper-input-container-color,--secondary-text-color);height:1px;@
     apply(--paper-input-container-underline)}:host([disabled]) .unfocused-line{borde
     r-bottom:1px dashed;border-color:var(--paper-input-container-color,--secondary-t
     ext-color);background:0 0;@apply(--paper-input-container-underline-disabled)}.la
     bel-and-input-container{@apply(--layout-flex-auto);@apply(--layout-relative);wid
     th:100%;max-width:100%}.input-content{@apply(--layout-horizontal);@apply(--layou
     t-center);position:relative}.input-content ::content .paper-input-label,.input-c
     ontent ::content label{position:absolute;top:0;right:0;left:0;width:100%;font:in
     herit;color:var(--paper-input-container-color,--secondary-text-color);-webkit-tr
     ansition:-webkit-transform .25s,width .25s;transition:transform .25s,width .25s;
     -webkit-transform-origin:left top;transform-origin:left top;@apply(--paper-font-
     common-nowrap);@apply(--paper-font-subhead);@apply(--paper-input-container-label
     );@apply(--paper-transition-easing)}.input-content.label-is-floating ::content .
     paper-input-label,.input-content.label-is-floating ::content label{-webkit-trans
     form:translateY(-75%) scale(.75);transform:translateY(-75%) scale(.75);width:133
     %;@apply(--paper-input-container-label-floating)}:host-context([dir=rtl]) .input
     -content.label-is-floating ::content .paper-input-label,:host-context([dir=rtl])
      .input-content.label-is-floating ::content label{width:100%;-webkit-transform-o
     rigin:right top;transform-origin:right top}.input-content.label-is-highlighted :
     :content .paper-input-label,.input-content.label-is-highlighted ::content label{
     color:var(--paper-input-container-focus-color,--primary-color);@apply(--paper-in
     put-container-label-focus)}.input-content.is-invalid ::content .paper-input-labe
     l,.input-content.is-invalid ::content label{color:var(--paper-input-container-in
     valid-color,--error-color)}.input-content.label-is-hidden ::content .paper-input
     -label,.input-content.label-is-hidden ::content label{visibility:hidden}.input-c
     ontent ::content .paper-input-input,.input-content ::content input,.input-conten
     t ::content iron-autogrow-textarea,.input-content ::content textarea{position:re
     lative;outline:0;box-shadow:none;padding:0;width:100%;max-width:100%;background:
     0 0;border:none;color:var(--paper-input-container-input-color,--primary-text-col
     or);-webkit-appearance:none;text-align:inherit;vertical-align:bottom;@apply(--pa
     per-font-subhead);@apply(--paper-input-container-input)}::content [prefix]{@appl
     y(--paper-font-subhead);@apply(--paper-input-prefix);@apply(--layout-flex-none)}
     ::content [suffix]{@apply(--paper-font-subhead);@apply(--paper-input-suffix);@ap
     ply(--layout-flex-none)}.input-content ::content input{min-width:0}.input-conten
     t ::content textarea{resize:none}.add-on-content{position:relative}.add-on-conte
     nt.is-invalid ::content *{color:var(--paper-input-container-invalid-color,--erro
     r-color)}.add-on-content.is-highlighted ::content *{color:var(--paper-input-cont
     ainer-focus-color,--primary-color)}</style> <template is="dom-if" if="[[!noLabel
     Float]]"> <div class="floated-label-placeholder" aria-hidden="true"> </div>
      </template> <div class$="[[_computeInputContentClass(noLabelFloat,alwaysFloatLa
     bel,focused,invalid,_inputHasContent)]]"> <content select="[prefix]" id="prefix"
     ></content> <div class="label-and-input-container" id="labelAndInputContainer"> 
     <content select=":not([add-on]):not([prefix]):not([suffix])"></content> </div> <
     content select="[suffix]"></content> </div> <div class$="[[_computeUnderlineClas
     s(focused,invalid)]]"> <div class="unfocused-line"></div> <div class="focused-li
     ne"></div> </div> <div class$="[[_computeAddOnContentClass(focused,invalid)]]"> 
     <content id="addOnContent" select="[add-on]"></content> </div> </template> </dom
     -module> <script>Polymer({is:"paper-input-container",properties:{noLabelFloat:{t
     ype:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{typ
     e:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{obser
     ver:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,v
     alue:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1}
     ,_inputSelector:{type:String,value:"input,textarea,.paper-input-input"},_boundOn
     Focus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOn
     Blur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnIn
     put:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValu
     eChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}
     }},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIron
     InputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},ge
     t _propertyForValue(){return Polymer.CaseMap.dashToCamelCase(this.attrForValue)}
     ,get _inputElement(){return Polymer.dom(this).querySelector(this._inputSelector)
     },get _inputElementValue(){return this._inputElement[this._propertyForValue]||th
     is._inputElement.value},ready:function(){this._addons||(this._addons=[]),this.ad
     dEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this.
     _boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEv
     entListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListen
     er("input",this._onInput),""!=this._inputElementValue?this._handleValueAndAutoVa
     lidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttach
     ed:function(t){this._addons||(this._addons=[]);var n=t.target;this._addons.index
     Of(n)===-1&&(this._addons.push(n),this.isAttached&&this._handleValue(this._input
     Element))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._se
     tFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:func
     tion(t){this._handleValueAndAutoValidate(t.target)},_onValueChanged:function(t){
     this._handleValueAndAutoValidate(t.target)},_handleValue:function(t){var n=this.
     _inputElementValue;n||0===n||"number"===t.type&&!t.checkValidity()?this._inputHa
     sContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:t,value:n,i
     nvalid:this.invalid})},_handleValueAndAutoValidate:function(t){if(this.autoValid
     ate){var n;n=t.validate?t.validate(this._inputElementValue):t.checkValidity(),th
     is.invalid=!n}this._handleValue(t)},_onIronInputValidate:function(t){this.invali
     d=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.upda
     teAddons({invalid:this.invalid})},updateAddons:function(t){for(var n,e=0;n=this.
     _addons[e];e++)n.update(t)},_computeInputContentClass:function(t,n,e,i,a){var u=
     "input-content";if(t)a&&(u+=" label-is-hidden");else{var o=this.querySelector("l
     abel");n||a?(u+=" label-is-floating",this.$.labelAndInputContainer.style.positio
     n="static",i?u+=" is-invalid":e&&(u+=" label-is-highlighted")):o&&(this.$.labelA
     ndInputContainer.style.position="relative")}return u},_computeUnderlineClass:fun
     ction(t,n){var e="underline";return n?e+=" is-invalid":t&&(e+=" is-highlighted")
     ,e},_computeAddOnContentClass:function(t,n){var e="add-on-content";return n?e+="
      is-invalid":t&&(e+=" is-highlighted"),e}})</script> <dom-module id="paper-input
     -error" assetpath="/res/imp/bower_components/paper-input/"> <template> <style>:h
     ost{display:inline-block;visibility:hidden;color:var(--paper-input-container-inv
     alid-color,--error-color);@apply(--paper-font-caption);@apply(--paper-input-erro
     r);position:absolute;left:0;right:0}:host([invalid]){visibility:visible};</style
     > <content></content> </template> </dom-module> <script>Polymer({is:"paper-input
     -error",behaviors:[Polymer.PaperInputAddonBehavior],properties:{invalid:{readOnl
     y:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.
     invalid)}})</script> <dom-module id="paper-input" assetpath="/res/imp/bower_comp
     onents/paper-input/"> <template> <style>:host{display:block}:host([focused]){out
     line:0}:host([hidden]){display:none!important}input::-webkit-input-placeholder{c
     olor:var(--paper-input-container-color,--secondary-text-color)}input:-moz-placeh
     older{color:var(--paper-input-container-color,--secondary-text-color)}input::-mo
     z-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}in
     put:-ms-input-placeholder{color:var(--paper-input-container-color,--secondary-te
     xt-color)}label{pointer-events:none}</style> <paper-input-container no-label-flo
     at="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloat
     Label,placeholder)]]" auto-validate$="[[autoValidate]]" disabled$="[[disabled]]"
      invalid="[[invalid]]"> <content select="[prefix]"></content> <label hidden$="[[
     !label]]" aria-hidden="true" for="input">[[label]]</label> <input is="iron-input
     " id="input" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDe
     scribedBy]]" disabled$="[[disabled]]" title$="[[title]]" bind-value="{{value}}" 
     invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pa
     ttern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="
     [[pattern]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus
     $="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" maxlengt
     h$="[[maxlength]]" min$="[[min]]" max$="[[max]]" step$="[[step]]" name$="[[name]
     ]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" list$="[[list]]" size
     $="[[size]]" autocapitalize$="[[autocapitalize]]" autocorrect$="[[autocorrect]]"
      on-change="_onChange" tabindex$="[[tabindex]]" autosave$="[[autosave]]" results
     $="[[results]]" accept$="[[accept]]" multiple$="[[multiple]]"> <content select="
     [suffix]"></content> <template is="dom-if" if="[[errorMessage]]"> <paper-input-e
     rror aria-live="assertive">[[errorMessage]]</paper-input-error> </template> <tem
     plate is="dom-if" if="[[charCounter]]"> <paper-input-char-counter></paper-input-
     char-counter> </template> </paper-input-container> </template> </dom-module> <sc
     ript>Polymer({is:"paper-input",behaviors:[Polymer.IronFormElementBehavior,Polyme
     r.PaperInputBehavior]})</script> <dom-module id="query-column-filter-style" asse
     tpath="/res/imp/common/"> <template> <style>:host{display:block;font-family:sans
     -serif}#filter{margin:0 5px}.container{min-height:120px;width:100%}.item{border-
     bottom:1px solid #EEE;max-width:250px;min-height:1em;min-width:100px;padding:.1e
     m .2em;line-height:1.5em}.header{height:2em;padding:.25em;line-height:2em}.selec
     tor{border:1px solid #000;margin:0 5px;max-height:200px;min-height:130px;min-wid
     th:200px;overflow-y:auto}.selectable{cursor:pointer}.selectable:hover{background
     -color:#A6CEE3}.iron-selected{background-color:#1F78B4;color:#fff}.icons{cursor:
     pointer;height:20px;margin:2px;width:20px;flex-shrink:0}.side-by-side{display:in
     line-block;vertical-align:top}.bold{font-weight:700}paper-checkbox{max-height:2e
     m;margin:2px;--paper-checkbox-checked-color:black;--paper-checkbox-checked-ink-c
     olor:black;--paper-checkbox-unchecked-color:black;--paper-checkbox-unchecked-ink
     -color:black;--paper-checkbox-label-color:black}</style> </template> </dom-modul
     e> <script>!function(){var r=function(r,i){if(!i)return{idx:0,part:""};if(!r)ret
     urn{idx:-1};i=i.trim().toLocaleLowerCase(),r=r.toLocaleLowerCase();for(var t=i.s
     plit(" "),e=0;e<t.length;e++){var n=r.indexOf(t[e]);if(n!==-1)return{idx:n,part:
     t[e]}}return{idx:-1}};SwarmingBehaviors.QueryColumnFilter=[SwarmingBehaviors.Com
     monBehavior,{properties:{primary_map:{type:Object},primary_arr:{type:Array},dime
     nsions:{type:Array},filter:{type:Function,computed:"_makeFilter(_filters.*)",not
     ify:!0},FILTER_SEP:{type:String,value:":"},_filters:{type:Array},_limit:{type:Nu
     mber},_primaryItems:{type:Array,computed:"_primary(_query, primary_map, primary_
     arr, columns.*)"},_primarySelected:{type:String,value:""},_query:{type:String},_
     secondaryItems:{type:Array,computed:"_secondary(_primarySelected, _query, primar
     y_map)"}},_addFilter:function(r){var i=r.model.item;if(!this._cantAddFilter(this
     ._primarySelected,i)){var t=this._primarySelected+this.FILTER_SEP+i;this.push("_
     filters",t)}},_removeFilter:function(r){var i=r.model.fil;if(!this._cantRemoveFi
     lter(i)){var t=this._filters.indexOf(i);t!==-1&&this.splice("_filters",t,1)}},_c
     antAddFilter:function(r,i){if(!r||!i)return!0;var t=r+this.FILTER_SEP+i;return t
     his._filters.indexOf(t)!==-1},_cantRemoveFilter:function(r){return!r||this._filt
     ers.indexOf(r)===-1},_makeFilter:function(){var r={};this._filters.forEach(funct
     ion(i){var t=i.indexOf(this.FILTER_SEP),e=i.slice(0,t),n=i.slice(t+this.FILTER_S
     EP.length),a=r[e]||[];a.push(n),r[e]=a}.bind(this));var i=this._filterMap||{};re
     turn function(t){var e=!0;for(primary in r){var n=r[primary],a=i[primary];a||(a=
     function(r,i){var t=this._attribute(r,primary);return t.indexOf(i)!==-1}.bind(th
     is)),a&&n.forEach(function(r){e=e&&a.bind(this)(t,r)}.bind(this))}return e}},_ma
     nuallyAddFilter:function(){var r=this._query.trim().split(":");if(2!=r.length)re
     turn void sk.errorMessage('Invalid filter.  Should be like "foo:bar"',5e3);var i
     =r.join(":");return this._filters.indexOf(i)!==-1?void sk.errorMessage('Filter "
     '+i+'" is already active',5e3):(this.push("_filters",i),void this.set("_query","
     "))},_toggleColumn:function(r){var i=r.model.item;if(!this._cantToggleColumn(i))
     {if(this._columnState(i)){var t=this.columns.indexOf(i);return void(t!==-1&&this
     .splice("columns",t,1))}this.push("columns",i)}},_cantToggleColumn:function(r){r
     eturn!1},_columnState:function(r){return!!r&&this.columns.indexOf(r)!==-1},_prim
     ary:function(i,t,e){var n=this.primary_arr.filter(function(e){if(r(e,i).idx!==-1
     )return!0;for(var n=t[e]||[],a=0;a<n.length;a++)if(r(n[a],i).idx!==-1)return!0;r
     eturn!1});return i&&n.length>0&&n.indexOf(this._primarySelected)===-1&&this.set(
     "_primarySelected",n[0]),n},_secondary:function(i,t,e){if(requestAnimationFrame(
     function(){this.$.secondaryList.render()}.bind(this)),!i)return[];var n=e[i]||[]
     ;return r(i,t).idx!==-1?n.sort(function(i,e){var n=r(i,t).idx!==-1,a=r(e,t).idx!
     ==-1;return n===a?swarming.naturalCompare(i,e):a-n}):n.filter(function(i){return
      r(i,t).idx!==-1})},_beforeBold:function(i,t){var e=r(i,t);return e.idx===-1?i:i
     .substring(0,e.idx)},_bold:function(i,t){var e=r(i,t);return e.idx===-1?"":i.sub
     string(e.idx,e.idx+e.part.length)},_afterBold:function(i,t){var e=r(i,t);return 
     e.idx===-1?"":i.substring(e.idx+e.part.length)},_commonFilters:function(){return
     {android_devices:function(r,i){var t=this._attribute(r,"android_devices","0");re
     turn t.indexOf(i)!==-1},device_os:function(r,i){var t=this._attribute(r,"device_
     os","none");return t.indexOf(i)!==-1},device_type:function(r,i){var t=this._attr
     ibute(r,"device_type","none");return t.indexOf(swarming.alias.unapply(i))!==-1},
     gpu:function(r,i){var t=this._attribute(r,"gpu","none");return t.indexOf(swarmin
     g.alias.unapply(i))!==-1}}}}]}()</script> <script>!function(){var e="unknown";Sw
     armingBehaviors.BotListBehavior=[SwarmingBehaviors.CommonBehavior,{properties:{B
     OT_PROPERTIES:{type:Array,value:function(){return["disk_space","uptime","running
     _time","task","status","version","external_ip","last_seen","first_seen","battery
     _level","battery_voltage","battery_temperature","battery_status","battery_health
     ","bot_temperature","device_temperature"]}}},_attribute:function(t,i,n){return n
     =n||e,this._dimension(t,i)||this._state(t,i)||[n]},_devices:function(e){return e
     .state.devices},_deviceType:function(e){return e.device_type.toLowerCase()},_dim
     ension:function(e,t){if(e&&e.dimensions&&t)for(var i=0;i<e.dimensions.length;i++
     )if(e.dimensions[i].key===t)return e.dimensions[i].value},_state:function(e,t){i
     f(e&&e.state&&e.state[t]){var i=e.state[t];return Array.isArray(i)?i:[i]}},_task
     Id:function(e){return e&&e.task_id?e.task_id:"idle"}}]}()</script> <dom-module i
     d="bot-filters" assetpath="/res/imp/botlist/"> <template> <style is="custom-styl
     e" include="iron-flex iron-flex-alignment iron-positioning query-column-filter-s
     tyle"></style> <url-param name="f" value="{{_filters}}" default_values="[]" mult
     i=""> </url-param> <url-param name="c" value="{{columns}}" default_values="[&quo
     t;id","os","task","status"]" multi=""> </url-
     param> <url-param name="q" value="{{_query}}" default_value=""> </url-param> <ur
     l-param name="v" value="{{verbose}}"> </url-param> <url-param name="l" default_v
     alue="100" value="{{_limit}}"> </url-param> <div class="container horizontal lay
     out"> <div class="narrow-down-selector"> <div> <iron-a11y-keys target="[[_filter
     _input]]" keys="enter" on-keys-pressed="_manuallyAddFilter"></iron-a11y-keys> <p
     aper-input id="filter" label="Search columns and filters or supply a filter and 
     press enter" placeholder="gpu nvidia pool:Chrome" value="{{_query::input}}"> </p
     aper-input> </div> <div class="selector side-by-side" title="This shows all bot 
     dimension names and other interesting bot properties. Mark the check box to add 
     as a column. Select the row to see filter options."> <iron-selector attr-for-sel
     ected="label" selected="{{_primarySelected}}"> <template is="dom-repeat" items="
     [[_primaryItems]]" as="item"> <div class="selectable item horizontal layout" lab
     el="[[item]]"> <span>[[_beforeBold(item,_query)]]<span class="bold">[[_bold(item
     ,_query)]]</span>[[_afterBold(item,_query)]]</span> <span class="flex"></span> <
     paper-checkbox noink="" disabled$="[[_cantToggleColumn(item)]]" checked="[[_colu
     mnState(item,columns.*)]]" on-change="_toggleColumn"> </paper-checkbox> </div> <
     /template> </iron-selector> </div> <div class="selector side-by-side" title="The
     se are all options (if any) that the bot list can be filtered on."> <template is
     ="dom-repeat" id="secondaryList" items="[[_secondaryItems]]" as="item"> <div cla
     ss="item horizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_query)]]
     <span class="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query)]]</spa
     n> <span class="flex"></span> <iron-icon class="icons" icon="icons:arrow-forward
     " hidden="[[_cantAddFilter(_primarySelected,item,_filters.*)]]" on-tap="_addFilt
     er"> </iron-icon> </div> </template> </div> <div class="selector side-by-side" t
     itle="These filters are AND'd together and applied to all bots in |  251   })(); </script> </dom-module><script>Polymer({is:"iron-a11y-keys",behaviors:[P
     olymer.IronA11yKeysBehavior],properties:{target:{type:Object,observer:"_targetCh
     anged"},keys:{type:String,reflectToAttribute:!0,observer:"_keysChanged"}},attach
     ed:function(){this.target||(this.target=this.parentNode)},_targetChanged:functio
     n(e){this.keyEventTarget=e},_keysChanged:function(){this.removeOwnKeyBindings(),
     this.addOwnKeyBinding(this.keys,"_fireKeysPressed")},_fireKeysPressed:function(e
     ){this.fire("keys-pressed",e.detail,{})}})</script> <script>Polymer.IronSelectio
     n=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.pro
     totype={get:function(){return this.multi?this.selection.slice():this.selection[0
     ]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t
     )<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.sele
     ction.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelect
     ed(e)){if(t)this.selection.push(e);else{var i=this.selection.indexOf(e);i>=0&&th
     is.selection.splice(i,1)}this.selectCallback&&this.selectCallback(e,t)}},select:
     function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this
     .get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(
     e,!this.isSelected(e))}}</script> <script>Polymer.IronSelectableBehavior={proper
     ties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},
     selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,valu
     e:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:
     String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbac
     kSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,valu
     e:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return
     {template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSel
     ected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._b
     indFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelect
     ion(this._applySelection.bind(this))},attached:function(){this._observer=this._o
     bserveItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateS
     elected(),this._addListener(this.activateEvent)},detached:function(){this._obser
     ver&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.
     activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:functio
     n(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Numbe
     r(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)}
     ,selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.
     items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.s
     elect(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._update
     Items()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback
     :function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:fu
     nction(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){th
     is.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this
     ._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.
     dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filte
     r.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:functio
     n(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(
     this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selec
     ted)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.
     selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.g
     et()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!thi
     s._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null
     :this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSe
     lected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(
     t)==e)return i},_indexToValue:function(e){if(!this.attrForSelected)return e;var 
     t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e)
     {var t=e[Polymer.CaseMap.dashToCamelCase(this.attrForSelected)];return void 0!=t
     ?t:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.sele
     ctedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this
     .toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("
     iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setS
     electedItem(this._selection.get())},_observeItems:function(e){return Polymer.dom
     (e).observeNodes(function(e){this._updateItems(),this._shouldUpdateSelection&&th
     is._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1}
     )})},_activateHandler:function(e){for(var t=e.target,i=this.items;t&&t!=this;){v
     ar s=i.indexOf(t);if(s>=0){var n=this._indexToValue(s);return void this._itemAct
     ivate(n,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate
     ",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}</scrip
     t> <script>Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Bool
     ean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},sele
     ctedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(select
     edValues.splices)"],select:function(e){this.multi?this.selectedValues?this._togg
     leSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){
     this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected
     ||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:
     function(){this.multi?this._shouldUpdateSelection&&(this.selectedValues=this.sel
     ectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).fil
     ter(function(e){return null!=e},this)):Polymer.IronSelectableBehavior._updateAtt
     rForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMult
     i(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:functio
     n(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var l=0;l<t
     .length;l++)this._selection.setItemSelected(t[l],!0);if(this.fallbackSelection&&
     this.items.length&&!this._selection.get().length){var s=this._valueToItem(this.f
     allbackSelection);s&&(this.selectedValues=[this.fallbackSelection])}}else this._
     selection.clear()},_selectionChange:function(){var e=this._selection.get();this.
     multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedIt
     em(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e),l=t<0;l
     ?this.push("selectedValues",e):this.splice("selectedValues",t,1)},_valuesToItems
     :function(e){return null==e?null:e.map(function(e){return this._valueToItem(e)},
     this)}},Polymer.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Poly
     mer.IronMultiSelectableBehaviorImpl]</script> <script>Polymer({is:"iron-selector
     ",behaviors:[Polymer.IronMultiSelectableBehavior]})</script> <script>Polymer.Iro
     nValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{valid
     ator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!
     1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_v
     alidator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_in
     validChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMet
     a=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.inva
     lid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid"
     )},hasValidator:function(){return null!=this._validator},validate:function(a){re
     turn this.invalid=!this._getValidity(a),!this.invalid},_getValidity:function(a){
     return!this.hasValidator()||this._validator.validate(a)},__computeValidator:func
     tion(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehavi
     orMeta.byKey(this.validator)}}</script> <script>Polymer.IronFormElementBehavior=
     {properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boo
     lean,value:!1},_parentForm:{type:Object}},attached:function(){this.fire("iron-fo
     rm-element-register")},detached:function(){this._parentForm&&this._parentForm.fi
     re("iron-form-element-unregister",{target:this})}}</script> <script>Polymer.Iron
     CheckedElementBehaviorImpl={properties:{checked:{type:Boolean,value:!1,reflectTo
     Attribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!
     0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}
     },observers:["_requiredChanged(required)"],created:function(){this._hasIronCheck
     edElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.requi
     red||this.checked},_requiredChanged:function(){this.required?this.setAttribute("
     aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:fu
     nction(){this.active=this.checked,this.fire("iron-change")},_valueChanged:functi
     on(){void 0!==this.value&&null!==this.value||(this.value="on")}},Polymer.IronChe
     ckedElementBehavior=[Polymer.IronFormElementBehavior,Polymer.IronValidatableBeha
     vior,Polymer.IronCheckedElementBehaviorImpl]</script> <script>Polymer.PaperInkyF
     ocusBehaviorImpl={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focu
     sedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.ho
     ldDown=e)},_createRipple:function(){var e=Polymer.PaperRippleBehavior._createRip
     ple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}
     },Polymer.PaperInkyFocusBehavior=[Polymer.IronButtonState,Polymer.IronControlSta
     te,Polymer.PaperRippleBehavior,Polymer.PaperInkyFocusBehaviorImpl]</script> <scr
     ipt>Polymer.PaperCheckedElementBehaviorImpl={_checkedChanged:function(){Polymer.
     IronCheckedElementBehaviorImpl._checkedChanged.call(this),this.hasRipple()&&(thi
     s.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("
     checked"))},_buttonStateChanged:function(){Polymer.PaperRippleBehavior._buttonSt
     ateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)
     }},Polymer.PaperCheckedElementBehavior=[Polymer.PaperInkyFocusBehavior,Polymer.I
     ronCheckedElementBehavior,Polymer.PaperCheckedElementBehaviorImpl]</script> <dom
     -module id="paper-checkbox" assetpath="/res/imp/bower_components/paper-checkbox/
     "> <template strip-whitespace=""> <style>:host{display:inline-block;white-space:
     nowrap;cursor:pointer;--calculated-paper-checkbox-size:var(--paper-checkbox-size
     , 18px);--calculated-paper-checkbox-ink-size:var(--paper-checkbox-ink-size, -1px
     );@apply(--paper-font-common-base);line-height:0;-webkit-tap-highlight-color:tra
     nsparent}:host([hidden]){display:none!important}:host(:focus){outline:0}.hidden{
     display:none}#checkboxContainer{display:inline-block;position:relative;width:var
     (--calculated-paper-checkbox-size);height:var(--calculated-paper-checkbox-size);
     min-width:var(--calculated-paper-checkbox-size);margin:var(--paper-checkbox-marg
     in,initial);vertical-align:var(--paper-checkbox-vertical-align,middle);backgroun
     d-color:var(--paper-checkbox-unchecked-background-color,transparent)}#ink{positi
     on:absolute;top:calc(0px - (var(--calculated-paper-checkbox-ink-size) - var(--ca
     lculated-paper-checkbox-size))/ 2);left:calc(0px - (var(--calculated-paper-check
     box-ink-size) - var(--calculated-paper-checkbox-size))/ 2);width:var(--calculate
     d-paper-checkbox-ink-size);height:var(--calculated-paper-checkbox-ink-size);colo
     r:var(--paper-checkbox-unchecked-ink-color,var(--primary-text-color));opacity:.6
     ;pointer-events:none}:host-context([dir=rtl]) #ink{right:calc(0px - (var(--calcu
     lated-paper-checkbox-ink-size) - var(--calculated-paper-checkbox-size))/ 2);left
     :auto}#ink[checked]{color:var(--paper-checkbox-checked-ink-color,var(--primary-c
     olor))}#checkbox{position:relative;box-sizing:border-box;height:100%;border:soli
     d 2px;border-color:var(--paper-checkbox-unchecked-color,var(--primary-text-color
     ));border-radius:2px;pointer-events:none;-webkit-transition:background-color 140
     ms,border-color 140ms;transition:background-color 140ms,border-color 140ms}#chec
     kbox.checked #checkmark{-webkit-animation:checkmark-expand 140ms ease-out forwar
     ds;animation:checkmark-expand 140ms ease-out forwards}@-webkit-keyframes checkma
     rk-expand{0%{-webkit-transform:scale(0,0) rotate(45deg)}100%{-webkit-transform:s
     cale(1,1) rotate(45deg)}}@keyframes checkmark-expand{0%{transform:scale(0,0) rot
     ate(45deg)}100%{transform:scale(1,1) rotate(45deg)}}#checkbox.checked{background
     -color:var(--paper-checkbox-checked-color,var(--primary-color));border-color:var
     (--paper-checkbox-checked-color,var(--primary-color))}#checkmark{position:absolu
     te;width:36%;height:70%;border-style:solid;border-top:none;border-left:none;bord
     er-right-width:calc(2/15 * var(--calculated-paper-checkbox-size));border-bottom-
     width:calc(2/15 * var(--calculated-paper-checkbox-size));border-color:var(--pape
     r-checkbox-checkmark-color,#fff);-webkit-transform-origin:97% 86%;transform-orig
     in:97% 86%;box-sizing:content-box}:host-context([dir=rtl]) #checkmark{-webkit-tr
     ansform-origin:50% 14%;transform-origin:50% 14%}#checkboxLabel{position:relative
     ;display:inline-block;vertical-align:middle;padding-left:var(--paper-checkbox-la
     bel-spacing,8px);white-space:normal;line-height:normal;color:var(--paper-checkbo
     x-label-color,var(--primary-text-color));@apply(--paper-checkbox-label)}:host([c
     hecked]) #checkboxLabel{color:var(--paper-checkbox-label-checked-color,var(--pap
     er-checkbox-label-color,var(--primary-text-color)));@apply(--paper-checkbox-labe
     l-checked)}:host-context([dir=rtl]) #checkboxLabel{padding-right:var(--paper-che
     ckbox-label-spacing,8px);padding-left:0}#checkboxLabel[hidden]{display:none}:hos
     t([disabled]) #checkbox{opacity:.5;border-color:var(--paper-checkbox-unchecked-c
     olor,var(--primary-text-color))}:host([disabled][checked]) #checkbox{background-
     color:var(--paper-checkbox-unchecked-color,var(--primary-text-color));opacity:.5
     }:host([disabled]) #checkboxLabel{opacity:.65}#checkbox.invalid:not(.checked){bo
     rder-color:var(--paper-checkbox-error-color,var(--error-color))}</style> <div id
     ="checkboxContainer"> <div id="checkbox" class$="[[_computeCheckboxClass(checked
     , invalid)]]"> <div id="checkmark" class$="[[_computeCheckmarkClass(checked)]]">
     </div> </div> </div> <div id="checkboxLabel"><content></content></div> </templat
     e> <script>Polymer({is:"paper-checkbox",behaviors:[Polymer.PaperCheckedElementBe
     havior],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties
     :{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){va
     r e=this.getComputedStyleValue("--calculated-paper-checkbox-ink-size");if("-1px"
     ===e){var t=parseFloat(this.getComputedStyleValue("--calculated-paper-checkbox-s
     ize")),a=Math.floor(8/3*t);a%2!==t%2&&a++,this.customStyle["--paper-checkbox-ink
     -size"]=a+"px",this.updateStyles()}},_computeCheckboxClass:function(e,t){var a="
     ";return e&&(a+="checked "),t&&(a+="invalid"),a},_computeCheckmarkClass:function
     (e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=
     this.$.checkboxContainer,Polymer.PaperInkyFocusBehaviorImpl._createRipple.call(t
     his)}})</script> </dom-module> <dom-module id="paper-icon-button" assetpath="/re
     s/imp/bower_components/paper-icon-button/"> <template strip-whitespace=""> <styl
     e>:host{display:inline-block;position:relative;padding:8px;outline:0;-webkit-use
     r-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor
     :pointer;z-index:0;line-height:1;width:40px;height:40px;-webkit-tap-highlight-co
     lor:transparent;-webkit-tap-highlight-color:transparent;box-sizing:border-box!im
     portant;@apply(--paper-icon-button)}:host #ink{color:var(--paper-icon-button-ink
     -color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-icon
     -button-disabled-text,--disabled-text-color);pointer-events:none;cursor:auto;@ap
     ply(--paper-icon-button-disabled)}:host(:hover){@apply(--paper-icon-button-hover
     )}iron-icon{--iron-icon-width:100%;--iron-icon-height:100%}</style> <iron-icon i
     d="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon> </template> <
     script>Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0
     "},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String},icon
     :{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(t,
     e){var r=this.getAttribute("aria-label");r&&e!=r||this.setAttribute("aria-label"
     ,t)}})</script> </dom-module> <script>Polymer({is:"iron-input",extends:"input",b
     ehaviors:[Polymer.IronValidatableBehavior],properties:{bindValue:{observer:"_bin
     dValueChanged",type:String},preventInvalidInput:{type:Boolean},allowedPattern:{t
     ype:String,observer:"_allowedPatternChanged"},_previousValidInput:{type:String,v
     alue:""},_patternAlreadyChecked:{type:Boolean,value:!1}},listeners:{input:"_onIn
     put",keypress:"_onKeypress"},registered:function(){this._canDispatchEventOnDisab
     led()||(this._origDispatchEvent=this.dispatchEvent,this.dispatchEvent=this._disp
     atchEventFirefoxIE)},created:function(){Polymer.IronA11yAnnouncer.requestAvailab
     ility()},_canDispatchEventOnDisabled:function(){var e=document.createElement("in
     put"),t=!1;e.disabled=!0,e.addEventListener("feature-check-dispatch-event",funct
     ion(){t=!0});try{e.dispatchEvent(new Event("feature-check-dispatch-event"))}catc
     h(e){}return t},_dispatchEventFirefoxIE:function(){var e=this.disabled;this.disa
     bled=!1,this._origDispatchEvent.apply(this,arguments),this.disabled=e},get _patt
     ernRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else 
     switch(this.type){case"number":e=/[0-9.,e-]/}return e},ready:function(){this.bin
     dValue=this.value},_bindValueChanged:function(){this.value!==this.bindValue&&(th
     is.value=this.bindValue||0===this.bindValue||this.bindValue===!1?this.bindValue:
     ""),this.fire("bind-value-changed",{value:this.bindValue})},_allowedPatternChang
     ed:function(){this.preventInvalidInput=!!this.allowedPattern},_onInput:function(
     ){if(this.preventInvalidInput&&!this._patternAlreadyChecked){var e=this._checkPa
     tternValidity();e||(this._announceInvalidCharacter("Invalid string of characters
      not entered."),this.value=this._previousValidInput)}this.bindValue=this.value,t
     his._previousValidInput=this.value,this._patternAlreadyChecked=!1},_isPrintable:
     function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,i=19=
     =e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.
     keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==
     e.charCode&&i)},_onKeypress:function(e){if(this.preventInvalidInput||"number"===
     this.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){th
     is._patternAlreadyChecked=!0;var i=String.fromCharCode(e.charCode);this._isPrint
     able(e)&&!t.test(i)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid
      character "+i+" not entered."))}}},_checkPatternValidity:function(){var e=this.
     _patternRegExp;if(!e)return!0;for(var t=0;t<this.value.length;t++)if(!e.test(thi
     s.value[t]))return!1;return!0},validate:function(){var e=this.checkValidity();re
     turn e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Polymer.Iro
     nValidatableBehavior.validate.call(this,this.value))),this.invalid=!e,this.fire(
     "iron-input-validate"),e},_announceInvalidCharacter:function(e){this.fire("iron-
     announce",{text:e})}})</script> <script>Polymer.PaperInputHelper={},Polymer.Pape
     rInputHelper.NextLabelID=1,Polymer.PaperInputHelper.NextAddonID=1,Polymer.PaperI
     nputBehaviorImpl={properties:{label:{type:String},value:{notify:!0,type:String},
     disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},preve
     ntInvalidInput:{type:Boolean},allowedPattern:{type:String},type:{type:String},li
     st:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMes
     sage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolea
     n,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,
     value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofoc
     us:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength
     :{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:
     {type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{ty
     pe:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"
     },autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Num
     ber},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,
     value:""},_ariaLabelledBy:{type:String,value:""}},listeners:{"addon-attached":"_
     onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttrib
     utes:{tabindex:0},get inputElement(){return this.$.input},get _focusableElement(
     ){return this.inputElement},registered:function(){this._typesThatHaveText=["date
     ","datetime","datetime-local","month","time","week","file"]},attached:function()
     {this._updateAriaLabelledBy(),this.inputElement&&this._typesThatHaveText.indexOf
     (this.inputElement.type)!==-1&&(this.alwaysFloatLabel=!0)},_appendStringWithSpac
     e:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t=e.path?
     e.path[0]:e.target;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(thi
     s._ariaDescribedBy,t.id);else{var a="paper-input-add-on-"+Polymer.PaperInputHelp
     er.NextAddonID++;t.id=a,this._ariaDescribedBy=this._appendStringWithSpace(this._
     ariaDescribedBy,a)}},validate:function(){return this.inputElement.validate()},_f
     ocusBlurHandler:function(e){Polymer.IronControlState._focusBlurHandler.call(this
     ,e),this.focused&&!this._shiftTabPressed&&this._focusableElement.focus()},_onShi
     ftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=
     !0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("t
     abindex",t),this._shiftTabPressed=!1},1)},_handleAutoValidate:function(){this.au
     toValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{var t=t
     his.inputElement.selectionStart;this.value=e,this.inputElement.selectionStart=t,
     this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFloatLabe
     l:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e=Polymer.dom(
     this.root).querySelector("label");if(!e)return void(this._ariaLabelledBy="");var
      t;e.id?t=e.id:(t="paper-input-label-"+Polymer.PaperInputHelper.NextLabelID++,e.
     id=t),this._ariaLabelledBy=t},_onChange:function(e){this.shadowRoot&&this.fire(e
     .type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_a
     utofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=docu
     ment.activeElement,t=e instanceof HTMLElement,a=t&&e!==document.body&&e!==docume
     nt.documentElement;a||this._focusableElement.focus()}}},Polymer.PaperInputBehavi
     or=[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.PaperInputBeha
     viorImpl]</script> <link rel="stylesheet" href="https://fonts.googleapis.com/css
     ?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic"> <link r
     el="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,70
     0"> <style is="custom-style">:root{--paper-font-common-base:{font-family:Roboto,
     Noto,sans-serif;-webkit-font-smoothing:antialiased};--paper-font-common-code:{fo
     nt-family:'Roboto Mono',Consolas,Menlo,monospace;-webkit-font-smoothing:antialia
     sed};--paper-font-common-expensive-kerning:{text-rendering:optimizeLegibility};-
     -paper-font-common-nowrap:{white-space:nowrap;overflow:hidden;text-overflow:elli
     psis};--paper-font-display4:{@apply(--paper-font-common-base);@apply(--paper-fon
     t-common-nowrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-hei
     ght:120px};--paper-font-display3:{@apply(--paper-font-common-base);@apply(--pape
     r-font-common-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line
     -height:60px};--paper-font-display2:{@apply(--paper-font-common-base);font-size:
     45px;font-weight:400;letter-spacing:-.018em;line-height:48px};--paper-font-displ
     ay1:{@apply(--paper-font-common-base);font-size:34px;font-weight:400;letter-spac
     ing:-.01em;line-height:40px};--paper-font-headline:{@apply(--paper-font-common-b
     ase);font-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--p
     aper-font-title:{@apply(--paper-font-common-base);@apply(--paper-font-common-now
     rap);font-size:20px;font-weight:500;line-height:28px};--paper-font-subhead:{@app
     ly(--paper-font-common-base);font-size:16px;font-weight:400;line-height:24px};--
     paper-font-body2:{@apply(--paper-font-common-base);font-size:14px;font-weight:50
     0;line-height:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-si
     ze:14px;font-weight:400;line-height:20px};--paper-font-caption:{@apply(--paper-f
     ont-common-base);@apply(--paper-font-common-nowrap);font-size:12px;font-weight:4
     00;letter-spacing:0.011em;line-height:20px};--paper-font-menu:{@apply(--paper-fo
     nt-common-base);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:50
     0;line-height:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply
     (--paper-font-common-nowrap);font-size:14px;font-weight:500;letter-spacing:0.018
     em;line-height:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper
     -font-common-code);font-size:14px;font-weight:700;line-height:20px};--paper-font
     -code1:{@apply(--paper-font-common-code);font-size:14px;font-weight:500;line-hei
     ght:20px};}</style> <script>Polymer.PaperInputAddonBehavior={hostAttributes:{"ad
     d-on":""},attached:function(){this.fire("addon-attached")},update:function(t){}}
     </script> <dom-module id="paper-input-char-counter" assetpath="/res/imp/bower_co
     mponents/paper-input/"> <template> <style>:host{display:inline-block;float:right
     ;@apply(--paper-font-caption);@apply(--paper-input-char-counter)}:host([hidden])
     {display:none!important}:host-context([dir=rtl]){float:left}</style> <span>[[_ch
     arCounterStr]]</span> </template> </dom-module> <script>Polymer({is:"paper-input
     -char-counter",behaviors:[Polymer.PaperInputAddonBehavior],properties:{_charCoun
     terStr:{type:String,value:"0"}},update:function(t){if(t.inputElement){t.value=t.
     value||"";var e=t.value.toString().length.toString();t.inputElement.hasAttribute
     ("maxlength")&&(e+="/"+t.inputElement.getAttribute("maxlength")),this._charCount
     erStr=e}}})</script> <dom-module id="paper-input-container" assetpath="/res/imp/
     bower_components/paper-input/"> <template> <style>:host{display:block;padding:8p
     x 0;@apply(--paper-input-container)}:host([inline]){display:inline-block}:host([
     disabled]){pointer-events:none;opacity:.33;@apply(--paper-input-container-disabl
     ed)}:host([hidden]){display:none!important}.floated-label-placeholder{@apply(--p
     aper-font-caption)}.underline{position:relative}.focused-line{@apply(--layout-fi
     t);background:var(--paper-input-container-focus-color,--primary-color);height:2p
     x;-webkit-transform-origin:center center;transform-origin:center center;-webkit-
     transform:scale3d(0,1,1);transform:scale3d(0,1,1);@apply(--paper-input-container
     -underline-focus)}.underline.is-highlighted .focused-line{-webkit-transform:none
     ;transform:none;-webkit-transition:-webkit-transform .25s;transition:transform .
     25s;@apply(--paper-transition-easing)}.underline.is-invalid .focused-line{backgr
     ound:var(--paper-input-container-invalid-color,--error-color);-webkit-transform:
     none;transform:none;-webkit-transition:-webkit-transform .25s;transition:transfo
     rm .25s;@apply(--paper-transition-easing)}.unfocused-line{@apply(--layout-fit);b
     ackground:var(--paper-input-container-color,--secondary-text-color);height:1px;@
     apply(--paper-input-container-underline)}:host([disabled]) .unfocused-line{borde
     r-bottom:1px dashed;border-color:var(--paper-input-container-color,--secondary-t
     ext-color);background:0 0;@apply(--paper-input-container-underline-disabled)}.la
     bel-and-input-container{@apply(--layout-flex-auto);@apply(--layout-relative);wid
     th:100%;max-width:100%}.input-content{@apply(--layout-horizontal);@apply(--layou
     t-center);position:relative}.input-content ::content .paper-input-label,.input-c
     ontent ::content label{position:absolute;top:0;right:0;left:0;width:100%;font:in
     herit;color:var(--paper-input-container-color,--secondary-text-color);-webkit-tr
     ansition:-webkit-transform .25s,width .25s;transition:transform .25s,width .25s;
     -webkit-transform-origin:left top;transform-origin:left top;@apply(--paper-font-
     common-nowrap);@apply(--paper-font-subhead);@apply(--paper-input-container-label
     );@apply(--paper-transition-easing)}.input-content.label-is-floating ::content .
     paper-input-label,.input-content.label-is-floating ::content label{-webkit-trans
     form:translateY(-75%) scale(.75);transform:translateY(-75%) scale(.75);width:133
     %;@apply(--paper-input-container-label-floating)}:host-context([dir=rtl]) .input
     -content.label-is-floating ::content .paper-input-label,:host-context([dir=rtl])
      .input-content.label-is-floating ::content label{width:100%;-webkit-transform-o
     rigin:right top;transform-origin:right top}.input-content.label-is-highlighted :
     :content .paper-input-label,.input-content.label-is-highlighted ::content label{
     color:var(--paper-input-container-focus-color,--primary-color);@apply(--paper-in
     put-container-label-focus)}.input-content.is-invalid ::content .paper-input-labe
     l,.input-content.is-invalid ::content label{color:var(--paper-input-container-in
     valid-color,--error-color)}.input-content.label-is-hidden ::content .paper-input
     -label,.input-content.label-is-hidden ::content label{visibility:hidden}.input-c
     ontent ::content .paper-input-input,.input-content ::content input,.input-conten
     t ::content iron-autogrow-textarea,.input-content ::content textarea{position:re
     lative;outline:0;box-shadow:none;padding:0;width:100%;max-width:100%;background:
     0 0;border:none;color:var(--paper-input-container-input-color,--primary-text-col
     or);-webkit-appearance:none;text-align:inherit;vertical-align:bottom;@apply(--pa
     per-font-subhead);@apply(--paper-input-container-input)}::content [prefix]{@appl
     y(--paper-font-subhead);@apply(--paper-input-prefix);@apply(--layout-flex-none)}
     ::content [suffix]{@apply(--paper-font-subhead);@apply(--paper-input-suffix);@ap
     ply(--layout-flex-none)}.input-content ::content input{min-width:0}.input-conten
     t ::content textarea{resize:none}.add-on-content{position:relative}.add-on-conte
     nt.is-invalid ::content *{color:var(--paper-input-container-invalid-color,--erro
     r-color)}.add-on-content.is-highlighted ::content *{color:var(--paper-input-cont
     ainer-focus-color,--primary-color)}</style> <template is="dom-if" if="[[!noLabel
     Float]]"> <div class="floated-label-placeholder" aria-hidden="true"> </div>
      </template> <div class$="[[_computeInputContentClass(noLabelFloat,alwaysFloatLa
     bel,focused,invalid,_inputHasContent)]]"> <content select="[prefix]" id="prefix"
     ></content> <div class="label-and-input-container" id="labelAndInputContainer"> 
     <content select=":not([add-on]):not([prefix]):not([suffix])"></content> </div> <
     content select="[suffix]"></content> </div> <div class$="[[_computeUnderlineClas
     s(focused,invalid)]]"> <div class="unfocused-line"></div> <div class="focused-li
     ne"></div> </div> <div class$="[[_computeAddOnContentClass(focused,invalid)]]"> 
     <content id="addOnContent" select="[add-on]"></content> </div> </template> </dom
     -module> <script>Polymer({is:"paper-input-container",properties:{noLabelFloat:{t
     ype:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{typ
     e:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{obser
     ver:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,v
     alue:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1}
     ,_inputSelector:{type:String,value:"input,textarea,.paper-input-input"},_boundOn
     Focus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOn
     Blur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnIn
     put:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValu
     eChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}
     }},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIron
     InputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},ge
     t _propertyForValue(){return Polymer.CaseMap.dashToCamelCase(this.attrForValue)}
     ,get _inputElement(){return Polymer.dom(this).querySelector(this._inputSelector)
     },get _inputElementValue(){return this._inputElement[this._propertyForValue]||th
     is._inputElement.value},ready:function(){this._addons||(this._addons=[]),this.ad
     dEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this.
     _boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEv
     entListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListen
     er("input",this._onInput),""!=this._inputElementValue?this._handleValueAndAutoVa
     lidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttach
     ed:function(t){this._addons||(this._addons=[]);var n=t.target;this._addons.index
     Of(n)===-1&&(this._addons.push(n),this.isAttached&&this._handleValue(this._input
     Element))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._se
     tFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:func
     tion(t){this._handleValueAndAutoValidate(t.target)},_onValueChanged:function(t){
     this._handleValueAndAutoValidate(t.target)},_handleValue:function(t){var n=this.
     _inputElementValue;n||0===n||"number"===t.type&&!t.checkValidity()?this._inputHa
     sContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:t,value:n,i
     nvalid:this.invalid})},_handleValueAndAutoValidate:function(t){if(this.autoValid
     ate){var n;n=t.validate?t.validate(this._inputElementValue):t.checkValidity(),th
     is.invalid=!n}this._handleValue(t)},_onIronInputValidate:function(t){this.invali
     d=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.upda
     teAddons({invalid:this.invalid})},updateAddons:function(t){for(var n,e=0;n=this.
     _addons[e];e++)n.update(t)},_computeInputContentClass:function(t,n,e,i,a){var u=
     "input-content";if(t)a&&(u+=" label-is-hidden");else{var o=this.querySelector("l
     abel");n||a?(u+=" label-is-floating",this.$.labelAndInputContainer.style.positio
     n="static",i?u+=" is-invalid":e&&(u+=" label-is-highlighted")):o&&(this.$.labelA
     ndInputContainer.style.position="relative")}return u},_computeUnderlineClass:fun
     ction(t,n){var e="underline";return n?e+=" is-invalid":t&&(e+=" is-highlighted")
     ,e},_computeAddOnContentClass:function(t,n){var e="add-on-content";return n?e+="
      is-invalid":t&&(e+=" is-highlighted"),e}})</script> <dom-module id="paper-input
     -error" assetpath="/res/imp/bower_components/paper-input/"> <template> <style>:h
     ost{display:inline-block;visibility:hidden;color:var(--paper-input-container-inv
     alid-color,--error-color);@apply(--paper-font-caption);@apply(--paper-input-erro
     r);position:absolute;left:0;right:0}:host([invalid]){visibility:visible};</style
     > <content></content> </template> </dom-module> <script>Polymer({is:"paper-input
     -error",behaviors:[Polymer.PaperInputAddonBehavior],properties:{invalid:{readOnl
     y:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.
     invalid)}})</script> <dom-module id="paper-input" assetpath="/res/imp/bower_comp
     onents/paper-input/"> <template> <style>:host{display:block}:host([focused]){out
     line:0}:host([hidden]){display:none!important}input::-webkit-input-placeholder{c
     olor:var(--paper-input-container-color,--secondary-text-color)}input:-moz-placeh
     older{color:var(--paper-input-container-color,--secondary-text-color)}input::-mo
     z-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}in
     put:-ms-input-placeholder{color:var(--paper-input-container-color,--secondary-te
     xt-color)}label{pointer-events:none}</style> <paper-input-container no-label-flo
     at="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloat
     Label,placeholder)]]" auto-validate$="[[autoValidate]]" disabled$="[[disabled]]"
      invalid="[[invalid]]"> <content select="[prefix]"></content> <label hidden$="[[
     !label]]" aria-hidden="true" for="input">[[label]]</label> <input is="iron-input
     " id="input" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDe
     scribedBy]]" disabled$="[[disabled]]" title$="[[title]]" bind-value="{{value}}" 
     invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pa
     ttern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="
     [[pattern]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus
     $="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" maxlengt
     h$="[[maxlength]]" min$="[[min]]" max$="[[max]]" step$="[[step]]" name$="[[name]
     ]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" list$="[[list]]" size
     $="[[size]]" autocapitalize$="[[autocapitalize]]" autocorrect$="[[autocorrect]]"
      on-change="_onChange" tabindex$="[[tabindex]]" autosave$="[[autosave]]" results
     $="[[results]]" accept$="[[accept]]" multiple$="[[multiple]]"> <content select="
     [suffix]"></content> <template is="dom-if" if="[[errorMessage]]"> <paper-input-e
     rror aria-live="assertive">[[errorMessage]]</paper-input-error> </template> <tem
     plate is="dom-if" if="[[charCounter]]"> <paper-input-char-counter></paper-input-
     char-counter> </template> </paper-input-container> </template> </dom-module> <sc
     ript>Polymer({is:"paper-input",behaviors:[Polymer.IronFormElementBehavior,Polyme
     r.PaperInputBehavior]})</script> <dom-module id="query-column-filter-style" asse
     tpath="/res/imp/common/"> <template> <style>:host{display:block;font-family:sans
     -serif}#filter{margin:0 5px}.container{min-height:120px;width:100%}.item{border-
     bottom:1px solid #EEE;max-width:250px;min-height:1em;min-width:100px;padding:.1e
     m .2em;line-height:1.5em}.header{height:2em;padding:.25em;line-height:2em}.selec
     tor{border:1px solid #000;margin:0 5px;max-height:200px;min-height:130px;min-wid
     th:200px;overflow-y:auto}.selectable{cursor:pointer}.selectable:hover{background
     -color:#A6CEE3}.iron-selected{background-color:#1F78B4;color:#fff}.icons{cursor:
     pointer;height:20px;margin:2px;width:20px;flex-shrink:0}.side-by-side{display:in
     line-block;vertical-align:top}.bold{font-weight:700}paper-checkbox{max-height:2e
     m;margin:2px;--paper-checkbox-checked-color:black;--paper-checkbox-checked-ink-c
     olor:black;--paper-checkbox-unchecked-color:black;--paper-checkbox-unchecked-ink
     -color:black;--paper-checkbox-label-color:black}</style> </template> </dom-modul
     e> <script>!function(){var r=function(r,i){if(!i)return{idx:0,part:""};if(!r)ret
     urn{idx:-1};i=i.trim().toLocaleLowerCase(),r=r.toLocaleLowerCase();for(var t=i.s
     plit(" "),e=0;e<t.length;e++){var n=r.indexOf(t[e]);if(n!==-1)return{idx:n,part:
     t[e]}}return{idx:-1}};SwarmingBehaviors.QueryColumnFilter=[SwarmingBehaviors.Com
     monBehavior,{properties:{primary_map:{type:Object},primary_arr:{type:Array},dime
     nsions:{type:Array},filter:{type:Function,computed:"_makeFilter(_filters.*)",not
     ify:!0},FILTER_SEP:{type:String,value:":"},_filters:{type:Array},_limit:{type:Nu
     mber},_primaryItems:{type:Array,computed:"_primary(_query, primary_map, primary_
     arr, columns.*)"},_primarySelected:{type:String,value:""},_query:{type:String},_
     secondaryItems:{type:Array,computed:"_secondary(_primarySelected, _query, primar
     y_map)"}},_addFilter:function(r){var i=r.model.item;if(!this._cantAddFilter(this
     ._primarySelected,i)){var t=this._primarySelected+this.FILTER_SEP+i;this.push("_
     filters",t)}},_removeFilter:function(r){var i=r.model.fil;if(!this._cantRemoveFi
     lter(i)){var t=this._filters.indexOf(i);t!==-1&&this.splice("_filters",t,1)}},_c
     antAddFilter:function(r,i){if(!r||!i)return!0;var t=r+this.FILTER_SEP+i;return t
     his._filters.indexOf(t)!==-1},_cantRemoveFilter:function(r){return!r||this._filt
     ers.indexOf(r)===-1},_makeFilter:function(){var r={};this._filters.forEach(funct
     ion(i){var t=i.indexOf(this.FILTER_SEP),e=i.slice(0,t),n=i.slice(t+this.FILTER_S
     EP.length),a=r[e]||[];a.push(n),r[e]=a}.bind(this));var i=this._filterMap||{};re
     turn function(t){var e=!0;for(primary in r){var n=r[primary],a=i[primary];a||(a=
     function(r,i){var t=this._attribute(r,primary);return t.indexOf(i)!==-1}.bind(th
     is)),a&&n.forEach(function(r){e=e&&a.bind(this)(t,r)}.bind(this))}return e}},_ma
     nuallyAddFilter:function(){var r=this._query.trim().split(":");if(2!=r.length)re
     turn void sk.errorMessage('Invalid filter.  Should be like "foo:bar"',5e3);var i
     =r.join(":");return this._filters.indexOf(i)!==-1?void sk.errorMessage('Filter "
     '+i+'" is already active',5e3):(this.push("_filters",i),void this.set("_query","
     "))},_toggleColumn:function(r){var i=r.model.item;if(!this._cantToggleColumn(i))
     {if(this._columnState(i)){var t=this.columns.indexOf(i);return void(t!==-1&&this
     .splice("columns",t,1))}this.push("columns",i)}},_cantToggleColumn:function(r){r
     eturn!1},_columnState:function(r){return!!r&&this.columns.indexOf(r)!==-1},_prim
     ary:function(i,t,e){var n=this.primary_arr.filter(function(e){if(r(e,i).idx!==-1
     )return!0;for(var n=t[e]||[],a=0;a<n.length;a++)if(r(n[a],i).idx!==-1)return!0;r
     eturn!1});return i&&n.length>0&&n.indexOf(this._primarySelected)===-1&&this.set(
     "_primarySelected",n[0]),n},_secondary:function(i,t,e){if(requestAnimationFrame(
     function(){this.$.secondaryList.render()}.bind(this)),!i)return[];var n=e[i]||[]
     ;return r(i,t).idx!==-1?n.sort(function(i,e){var n=r(i,t).idx!==-1,a=r(e,t).idx!
     ==-1;return n===a?swarming.naturalCompare(i,e):a-n}):n.filter(function(i){return
      r(i,t).idx!==-1})},_beforeBold:function(i,t){var e=r(i,t);return e.idx===-1?i:i
     .substring(0,e.idx)},_bold:function(i,t){var e=r(i,t);return e.idx===-1?"":i.sub
     string(e.idx,e.idx+e.part.length)},_afterBold:function(i,t){var e=r(i,t);return 
     e.idx===-1?"":i.substring(e.idx+e.part.length)},_commonFilters:function(){return
     {android_devices:function(r,i){var t=this._attribute(r,"android_devices","0");re
     turn t.indexOf(i)!==-1},device_os:function(r,i){var t=this._attribute(r,"device_
     os","none");return t.indexOf(i)!==-1},device_type:function(r,i){var t=this._attr
     ibute(r,"device_type","none");return t.indexOf(swarming.alias.unapply(i))!==-1},
     gpu:function(r,i){var t=this._attribute(r,"gpu","none");return t.indexOf(swarmin
     g.alias.unapply(i))!==-1}}}}]}()</script> <script>!function(){var e="unknown";Sw
     armingBehaviors.BotListBehavior=[SwarmingBehaviors.CommonBehavior,{properties:{B
     OT_PROPERTIES:{type:Array,value:function(){return["disk_space","uptime","running
     _time","task","status","version","external_ip","cloud_console_link","last_seen",
     "first_seen","battery_level","battery_voltage","battery_temperature","battery_st
     atus","battery_health","bot_temperature","device_temperature"]}}},_attribute:fun
     ction(t,i,n){return n=n||e,this._dimension(t,i)||this._state(t,i)||[n]},_devices
     :function(e){return e.state.devices},_deviceType:function(e){return e.device_typ
     e.toLowerCase()},_dimension:function(e,t){if(e&&e.dimensions&&t)for(var i=0;i<e.
     dimensions.length;i++)if(e.dimensions[i].key===t)return e.dimensions[i].value},_
     state:function(e,t){if(e&&e.state&&e.state[t]){var i=e.state[t];return Array.isA
     rray(i)?i:[i]}},_taskId:function(e){return e&&e.task_id?e.task_id:"idle"}}]}()</
     script> <dom-module id="bot-filters" assetpath="/res/imp/botlist/"> <template> <
     style is="custom-style" include="iron-flex iron-flex-alignment iron-positioning 
     query-column-filter-style"></style> <url-param name="f" value="{{_filters}}" def
     ault_values="[]" multi=""> </url-param> <url-param name="c" value="{{columns}}" 
     default_values="["id","os","task","status&quo
     t;]" multi=""> </url-param> <url-param name="q" value="{{_query}}" default_value
     =""> </url-param> <url-param name="v" value="{{verbose}}"> </url-param> <url-par
     am name="l" default_value="100" value="{{_limit}}"> </url-param> <div class="con
     tainer horizontal layout"> <div class="narrow-down-selector"> <div> <iron-a11y-k
     eys target="[[_filter_input]]" keys="enter" on-keys-pressed="_manuallyAddFilter"
     ></iron-a11y-keys> <paper-input id="filter" label="Search columns and filters or
      supply a filter and press enter" placeholder="gpu nvidia pool:Chrome" value="{{
     _query::input}}"> </paper-input> </div> <div class="selector side-by-side" title
     ="This shows all bot dimension names and other interesting bot properties. Mark 
     the check box to add as a column. Select the row to see filter options."> <iron-
     selector attr-for-selected="label" selected="{{_primarySelected}}"> <template is
     ="dom-repeat" items="[[_primaryItems]]" as="item"> <div class="selectable item h
     orizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_query)]]<span clas
     s="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query)]]</span> <span c
     lass="flex"></span> <paper-checkbox noink="" disabled$="[[_cantToggleColumn(item
     )]]" checked="[[_columnState(item,columns.*)]]" on-change="_toggleColumn"> </pap
     er-checkbox> </div> </template> </iron-selector> </div> <div class="selector sid
     e-by-side" title="These are all options (if any) that the bot list can be filter
     ed on."> <template is="dom-repeat" id="secondaryList" items="[[_secondaryItems]]
     " as="item"> <div class="item horizontal layout" label="[[item]]"> <span>[[_befo
     reBold(item,_query)]]<span class="bold">[[_bold(item,_query)]]</span>[[_afterBol
     d(item,_query)]]</span> <span class="flex"></span> <iron-icon class="icons" icon
     ="icons:arrow-forward" hidden="[[_cantAddFilter(_primarySelected,item,_filters.*
     )]]" on-tap="_addFilter"> </iron-icon> </div> </template> </div> <div class="sel
     ector side-by-side" title="These filters are AND'd together and applied to all b
     ots in | 
|  113 the fleet."> <template is="dom-repeat" items="[[_filters]]" as="fil"> <div class
     ="item horizontal layout" label="[[fil]]"> <span>[[fil]]</span> <span class="fle
     x"></span> <iron-icon class="icons" icon="icons:remove-circle-outline" hidden="[
     [_cantRemoveFilter(fil,_filters.*)]]" on-tap="_removeFilter"> </iron-icon> </div
     > </template> </div> <div class="side-by-side"> <paper-checkbox checked="{{verbo
     se}}">Verbose Entries</paper-checkbox> <paper-input id="_limit" label="Limit Res
     ults" auto-validate="" min="0" max="1000" pattern="[0-9]+" value="{{_limit}}"> <
     /paper-input> </div> </div> </div> </template> <script>!function(){var t={disk_s
     pace:function(t,i){return!0},id:function(t,i){return!0},status:function(t,i){ret
     urn"quarantined"===i?t.quarantined:"dead"===i?t.is_dead:!t.quarantined&&!t.is_de
     ad},task:function(t,i){return"idle"===i?"idle"===this._taskId(t):"idle"!==this._
     taskId(t)}};Polymer({is:"bot-filters",behaviors:[SwarmingBehaviors.BotListBehavi
     or,SwarmingBehaviors.QueryColumnFilter],properties:{columns:{type:Array,notify:!
     0},query_params:{type:Object,computed:"_extractQueryParams(dimensions.*,_filters
     .*, _limit)",notify:!0},verbose:{type:Boolean,notify:!0},_filter_input:{type:Obj
     ect,value:function(){return this.$.filter}},_filterMap:{type:Object,value:functi
     on(){var i=this._commonFilters();for(var e in t)i[e]=t[e];return i}}},_cantToggl
     eColumn:function(t){return!t||"id"===t},_extractQueryParams:function(){var t={},
     i=[];this._filters.forEach(function(e){var n=e.split(this.FILTER_SEP,1),r=n[0];i
     f(this.dimensions.indexOf(r)!==-1){var a=e.substring(r.length+this.FILTER_SEP.le
     ngth);i.push(r+this.FILTER_SEP+swarming.alias.unapply(a))}else if("status"===r){
     var a=e.substring(r.length+this.FILTER_SEP.length);"alive"===a?(t.is_dead=["FALS
     E"],t.quarantined=["FALSE"]):"quarantined"===a?t.quarantined=["TRUE"]:"dead"===a
     &&(t.is_dead=["TRUE"])}}.bind(this)),t.dimensions=i;var e=parseInt(this._limit);
     return Number.isInteger(e)&&(e=Math.max(e,1),e=Math.min(1e3,e),t.limit=[e],this.
     _limit!=e&&this.set("_limit",e)),t}})}()</script> </dom-module><dom-module id="b
     ot-list-data" assetpath="/res/imp/botlist/"> <script>!function(){function e(e){i
     f(!e)return{};var t=[],s=0;for(k in e)t.push(k+": "+e[k]),s+=e[k];return s/=t.le
     ngth,s=s?s.toFixed(1):"unknown",{average:s,zones:t.join(" | ")||"unknown"}}var t
     ="available",s=["quarantined","error"];Polymer({is:"bot-list-data",behaviors:[Sw
     armingBehaviors.BotListBehavior],properties:{auth_headers:{type:Object,observer:
     "signIn"},bots:{type:Array,computed:"parseBots(_list)",notify:!0},busy:{type:Boo
     lean,computed:"_or(_busy2,_busy1)",notify:!0},dimensions:{type:Array,computed:"_
     makeArray(_dimensions)",notify:!0},fleet:{type:Object,computed:"_fleet(_count)",
     notify:!0},primary_map:{type:Object,computed:"_primaryMap(_dimensions)",notify:!
     0},primary_arr:{type:Array,computed:"_primaryArr(dimensions, BOT_PROPERTIES)",no
     tify:!0},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean,value:!1},_count:{t
     ype:Object},_dimensions:{type:Object},_list:{type:Object}},signIn:function(){thi
     s._getJsonAsync("_count","/_ah/api/swarming/v1/bots/count","_busy2",this.auth_he
     aders),this._getJsonAsync("_dimensions","/_ah/api/swarming/v1/bots/dimensions","
     _busy1",this.auth_headers)},parseBots:function(s){return s&&s.items?(s.items.for
     Each(function(s){s.state=s.state||"{}",s.state=JSON.parse(s.state);var n=s.state
     .disks||{},i=Object.keys(n);if(i.length){s.disks=[];for(var a=0;a<i.length;a++)s
     .disks.push({id:i[a],mb:n[i[a]].free_mb});s.disks.sort(function(e,t){return t.mb
     -e.mb})}else s.disks=[{id:"unknown",mb:0}];s.state.temp=e(s.state.temp);var o=[]
     ,r=s&&s.state&&s.state.devices||{};for(key in r){var u=r[key];u.serial=key,u.oka
     y=u.state===t,u.device_type=this._dimension(s,"device_type")[0],u.temp=e(u.temp)
     ,o.push(u)}s.state.devices=o,s.last_seen_ts&&(s.last_seen_ts=new Date(s.last_see
     n_ts)),s.first_seen_ts&&(s.first_seen_ts=new Date(s.first_seen_ts))}.bind(this))
     ,s.items):[]},_fleet:function(){return this._count?{all:this._count.count||-1,al
     ive:this._count.count-this._count.dead||-1,busy:this._count.busy||-1,idle:this._
     count.count-this._count.busy||-1,dead:this._count.dead||-1,quarantined:this._cou
     nt.quarantined||-1}:{}},_makeArray:function(e){if(!e||!e.bots_dimensions)return[
     ];var t=[];return e.bots_dimensions.forEach(function(e){s.indexOf(e.key)===-1&&t
     .push(e.key)}),t.push("id"),t.sort(),t},_primaryArr:function(e,t){return e.conca
     t(t)},_primaryMap:function(e){e=e.bots_dimensions;var t={};return e.forEach(func
     tion(e){if(swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(e.key)===-1)t[e.key]=e
     .value;else{var s=[];e.value.forEach(function(t){s.push(swarming.alias.apply(t,e
     .key))}),t[e.key]=s}}),t.android_devices.push("0"),t.device_os.push("none"),t.de
     vice_type.push("none"),t.id=[],t.disk_space=[],t.task=["busy","idle"],t.status=[
     "alive","dead","quarantined"],t}})}()</script> </dom-module><dom-module id="bot-
     list-summary" assetpath="/res/imp/botlist/"> <template> <style include="swarming
     -app-style">:host{display:block;border-left:1px solid #000;padding:5px 5px;font-
     family:sans-serif}.header{font-size:1.2em;font-weight:700}.right{text-align:righ
     t}.left{text-align:left}</style> <div class="header">Fleet</div> <table> <tbody>
     <tr> <td class="right"> <a href$="[[_makeURL('','',columns.*,filtered_bots.*,sor
     t,verbose)]]">All</a>: </td> <td class="left">[[fleet.all]]</td> </tr> <tr> <td 
     class="right"> <a href$="[[_makeURL('alive','',columns.*,filtered_bots.*,sort,ve
     rbose)]]">Alive</a>: </td> <td class="left">[[fleet.alive]]</td> </tr> <tr> <td 
     class="right"> <a href$="[[_makeURL('busy','',columns.*,filtered_bots.*,sort,ver
     bose)]]">Busy</a>: </td> <td class="left">[[fleet.busy]]</td> </tr> <tr> <td cla
     ss="right"> <a href$="[[_makeURL('idle','',columns.*,filtered_bots.*,sort,verbos
     e)]]">Idle</a>: </td> <td class="left">[[fleet.idle]]</td> </tr> <tr> <td class=
     "right"> <a href$="[[_makeURL('dead','',columns.*,filtered_bots.*,sort,verbose)]
     ]">Dead</a>: </td> <td class="left">[[fleet.dead]]</td> </tr> <tr> <td class="ri
     ght"> <a href$="[[_makeURL('quarantined','',columns.*,filtered_bots.*,sort,verbo
     se)]]">Quarantined</a>: </td> <td class="left">[[fleet.quarantined]]</td> </tr> 
     </tbody></table> <div class="header">Displayed</div> <table> <tbody><tr> <td cla
     ss="right"> All: </td> <td class="left">[[_currently_showing.all]]</td> </tr> <t
     r> <td class="right"> <a href$="[[_makeURL('alive','true',columns.*,filtered_bot
     s.*,sort,verbose)]]">Alive</a>: </td> <td class="left">[[_currently_showing.aliv
     e]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('busy','true',column
     s.*,filtered_bots.*,sort,verbose)]]">Busy</a>: </td> <td class="left">[[_current
     ly_showing.busy]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('idle'
     ,'true',columns.*,filtered_bots.*,sort,verbose)]]">Idle</a>: </td> <td class="le
     ft">[[_currently_showing.idle]]</td> </tr> <tr> <td class="right"> <a href$="[[_
     makeURL('dead','true',columns.*,filtered_bots.*,sort,verbose)]]">Dead</a>: </td>
      <td class="left">[[_currently_showing.dead]]</td> </tr> <tr> <td class="right">
      <a href$="[[_makeURL('quarantined','true',columns.*,filtered_bots.*,sort,verbos
     e)]]">Quarantined</a>: </td> <td class="left">[[_currently_showing.quarantined]]
     </td> </tr> </tbody></table> </template> <script>Polymer({is:"bot-list-summary",
     behaviors:[SwarmingBehaviors.BotListBehavior],properties:{columns:{type:Array},f
     iltered_bots:{type:Array},fleet:{type:Object},sort:{type:String},verbose:{type:B
     oolean},_currently_showing:{type:Object,value:function(){return{all:-1,alive:-1,
     busy:-1,idle:-1,dead:-1,quarantined:-1}}}},observers:["_recount(filtered_bots.*)
     "],_getFilterStr:function(e){return e?"alive"===e||"dead"===e||"quarantined"===e
     ?"status:"+e:"task:"+e:""},_makeURL:function(e,t){if(!t){var r={s:[this.sort],c:
     this.columns,v:[this.verbose]};return e&&(r.f=[this._getFilterStr(e)]),window.lo
     cation.href.split("?")[0]+"?"+sk.query.fromParamSet(r)}var i=encodeURIComponent(
     this._getFilterStr(e));if(window.location.href.indexOf(i)===-1)return window.loc
     ation.href+"&f="+i},_recount:function(){var e={all:0,alive:0,busy:0,idle:0,dead:
     0,quarantined:0};return this.filtered_bots?(this.filtered_bots.forEach(function(
     t){"idle"===this._taskId(t)?e.idle++:e.busy++,t.quarantined&&e.quarantined++,t.i
     s_dead?e.dead++:e.alive++,e.all++}.bind(this)),void this.set("_currently_showing
     ",e)):e}})</script> </dom-module><dom-module id="bot-list" assetpath="/res/imp/b
     otlist/"> <template> <style include="iron-flex iron-flex-alignment iron-position
     ing swarming-app-style dynamic-table-style">bot-filters,bot-list-summary{margin-
     bottom:8px;margin-right:10px}.bad-device,.quarantined{background-color:#fdd}.dea
     d{background-color:#ccc}.bot-list th>span{padding-right:30px}</style> <url-param
      name="s" value="{{_sortstr}}" default_value="id:asc"> </url-param> <swarming-ap
     p client_id="[[client_id]]" auth_headers="{{_auth_headers}}" signed_in="{{_signe
     d_in}}" busy="[[_or(_busy1,_busy2)]]" name="Swarming Bot List"> <h2 hidden$="[[_
     signed_in]]">You must sign in to see anything useful.</h2> <div hidden$="[[_not(
     _signed_in)]]"> <div class="horizontal layout"> <bot-filters dimensions="[[_dime
     nsions]]" primary_map="[[_primary_map]]" primary_arr="[[_primary_arr]]" columns=
     "{{_columns}}" query_params="{{_query_params}}" filter="{{_filter}}" verbose="{{
     _verbose}}"> </bot-filters> <bot-list-summary columns="[[_columns]]" fleet="[[_f
     leet]]" filtered_bots="[[_filteredSortedItems]]" sort="[[_sortstr]]" verbose="[[
     _verbose]]"> </bot-list-summary> </div> <bot-list-data id="data" auth_headers="[
     [_auth_headers]]" query_params="[[_query_params]]" busy="{{_busy1}}" dimensions=
     "{{_dimensions}}" fleet="{{_fleet}}" primary_map="{{_primary_map}}" primary_arr=
     "{{_primary_arr}}"> </bot-list-data> <table class="bot-list"> <thead on-sort_cha
     nge="_sortChange"> <tr> <th> <span>Bot Id</span> <sort-toggle name="id" current=
     "[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('task', _columns.*)]]"> <
     span>Current Task</span> <sort-toggle name="task" current="[[_sort]]"> </sort-to
     ggle> </th> <template is="dom-repeat" items="[[_plainColumns]]" as="c"> <th hidd
     en$="[[_hide(c)]]"> <span>[[_header(c)]]</span> <sort-toggle name="[[c]]" curren
     t="[[_sort]]"> </sort-toggle> </th> </template> </tr> </thead> <tbody> <template
      id="bot_table" is="dom-repeat" items="[[_filteredSortedItems]]" as="bot" initia
     l-count="50"> <tr class$="[[_botClass(bot)]]"> <td> <a class="center" href$="[[_
     botLink(bot.bot_id)]]" target="_blank"> [[bot.bot_id]] </a> </td> <td hidden$="[
     [_hide('task', _columns.*)]]"> <a href$="[[_taskLink(bot.task_id)]]">[[_taskId(b
     ot)]]</a> </td> <template is="dom-repeat" items="[[_plainColumns]]" as="c"> <td 
     hidden$="[[_hide(c)]]"> [[_column(c, bot, _verbose)]] </td> </template> </tr> <t
     emplate is="dom-repeat" items="[[_devices(bot)]]" as="device"> <tr hidden$="[[_h
     ide('android_devices', _columns.*)]]" class$="[[_deviceClass(device)]]"> <td></t
     d> <td hidden$="[[_hide('task', _columns.*)]]"></td> <template is="dom-repeat" i
     tems="[[_plainColumns]]" as="c"> <td hidden$="[[_hide(c)]]"> [[_deviceColumn(c, 
     device, _verbose)]] </td> </template> </tr> </template> </template> </tbody> </t
     able> <pageable-data id="page_bots" busy="{{_busy2}}" label="Show more bots" out
     put="{{_items}}" parse="[[_parseBots]]"> </pageable-data> </div> <error-toast></
     error-toast> </swarming-app> </template> <script> (function(){ |  252 the fleet."> <template is="dom-repeat" items="[[_filters]]" as="fil"> <div class
     ="item horizontal layout" label="[[fil]]"> <span>[[fil]]</span> <span class="fle
     x"></span> <iron-icon class="icons" icon="icons:remove-circle-outline" hidden="[
     [_cantRemoveFilter(fil,_filters.*)]]" on-tap="_removeFilter"> </iron-icon> </div
     > </template> </div> <div class="side-by-side"> <paper-checkbox checked="{{verbo
     se}}">Verbose Entries</paper-checkbox> <paper-input id="_limit" label="Limit Res
     ults" auto-validate="" min="0" max="1000" pattern="[0-9]+" value="{{_limit}}"> <
     /paper-input> </div> </div> </div> </template> <script>!function(){var t={disk_s
     pace:function(t,i){return!0},id:function(t,i){return!0},status:function(t,i){ret
     urn"quarantined"===i?t.quarantined:"dead"===i?t.is_dead:!t.quarantined&&!t.is_de
     ad},task:function(t,i){return"idle"===i?"idle"===this._taskId(t):"idle"!==this._
     taskId(t)}};Polymer({is:"bot-filters",behaviors:[SwarmingBehaviors.BotListBehavi
     or,SwarmingBehaviors.QueryColumnFilter],properties:{columns:{type:Array,notify:!
     0},query_params:{type:Object,computed:"_extractQueryParams(dimensions.*,_filters
     .*, _limit)",notify:!0},verbose:{type:Boolean,notify:!0},_filter_input:{type:Obj
     ect,value:function(){return this.$.filter}},_filterMap:{type:Object,value:functi
     on(){var i=this._commonFilters();for(var e in t)i[e]=t[e];return i}}},_cantToggl
     eColumn:function(t){return!t||"id"===t},_extractQueryParams:function(){var t={},
     i=[];this._filters.forEach(function(e){var n=e.split(this.FILTER_SEP,1),r=n[0];i
     f(this.dimensions.indexOf(r)!==-1){var a=e.substring(r.length+this.FILTER_SEP.le
     ngth);i.push(r+this.FILTER_SEP+swarming.alias.unapply(a))}else if("status"===r){
     var a=e.substring(r.length+this.FILTER_SEP.length);"alive"===a?(t.is_dead=["FALS
     E"],t.quarantined=["FALSE"]):"quarantined"===a?t.quarantined=["TRUE"]:"dead"===a
     &&(t.is_dead=["TRUE"])}}.bind(this)),t.dimensions=i;var e=parseInt(this._limit);
     return Number.isInteger(e)&&(e=Math.max(e,1),e=Math.min(1e3,e),t.limit=[e],this.
     _limit!=e&&this.set("_limit",e)),t}})}()</script> </dom-module><dom-module id="b
     ot-list-data" assetpath="/res/imp/botlist/"> <script>!function(){function e(e){i
     f(!e)return{};var t=[],s=0;for(k in e)t.push(k+": "+e[k]),s+=e[k];return s/=t.le
     ngth,s=s?s.toFixed(1):"unknown",{average:s,zones:t.join(" | ")||"unknown"}}var t
     ="available",s=["quarantined","error"];Polymer({is:"bot-list-data",behaviors:[Sw
     armingBehaviors.BotListBehavior],properties:{auth_headers:{type:Object,observer:
     "signIn"},bots:{type:Array,computed:"parseBots(_list)",notify:!0},busy:{type:Boo
     lean,computed:"_or(_busy2,_busy1)",notify:!0},dimensions:{type:Array,computed:"_
     makeArray(_dimensions)",notify:!0},fleet:{type:Object,computed:"_fleet(_count)",
     notify:!0},primary_map:{type:Object,computed:"_primaryMap(_dimensions)",notify:!
     0},primary_arr:{type:Array,computed:"_primaryArr(dimensions, BOT_PROPERTIES)",no
     tify:!0},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean,value:!1},_count:{t
     ype:Object},_dimensions:{type:Object},_list:{type:Object}},signIn:function(){thi
     s._getJsonAsync("_count","/_ah/api/swarming/v1/bots/count","_busy2",this.auth_he
     aders),this._getJsonAsync("_dimensions","/_ah/api/swarming/v1/bots/dimensions","
     _busy1",this.auth_headers)},parseBots:function(s){return s&&s.items?(s.items.for
     Each(function(s){s.state=s.state||"{}",s.state=JSON.parse(s.state);var n=s.state
     .disks||{},i=Object.keys(n);if(i.length){s.disks=[];for(var a=0;a<i.length;a++)s
     .disks.push({id:i[a],mb:n[i[a]].free_mb});s.disks.sort(function(e,t){return t.mb
     -e.mb})}else s.disks=[{id:"unknown",mb:0}];s.state.temp=e(s.state.temp);var o=[]
     ,r=s&&s.state&&s.state.devices||{};for(key in r){var u=r[key];u.serial=key,u.oka
     y=u.state===t,u.device_type=this._dimension(s,"device_type")[0],u.temp=e(u.temp)
     ,o.push(u)}s.state.devices=o,s.last_seen_ts&&(s.last_seen_ts=new Date(s.last_see
     n_ts)),s.first_seen_ts&&(s.first_seen_ts=new Date(s.first_seen_ts))}.bind(this))
     ,s.items):[]},_fleet:function(){return this._count?{all:this._count.count||-1,al
     ive:this._count.count-this._count.dead||-1,busy:this._count.busy||-1,idle:this._
     count.count-this._count.busy||-1,dead:this._count.dead||-1,quarantined:this._cou
     nt.quarantined||-1}:{}},_makeArray:function(e){if(!e||!e.bots_dimensions)return[
     ];var t=[];return e.bots_dimensions.forEach(function(e){s.indexOf(e.key)===-1&&t
     .push(e.key)}),t.push("id"),t.sort(),t},_primaryArr:function(e,t){return e.conca
     t(t)},_primaryMap:function(e){e=e.bots_dimensions;var t={};return e.forEach(func
     tion(e){if(swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(e.key)===-1)t[e.key]=e
     .value;else{var s=[];e.value.forEach(function(t){s.push(swarming.alias.apply(t,e
     .key))}),t[e.key]=s}}),t.android_devices.push("0"),t.device_os.push("none"),t.de
     vice_type.push("none"),t.id=[],t.disk_space=[],t.task=["busy","idle"],t.status=[
     "alive","dead","quarantined"],t}})}()</script> </dom-module><dom-module id="bot-
     list-summary" assetpath="/res/imp/botlist/"> <template> <style include="swarming
     -app-style">:host{display:block;border-left:1px solid #000;padding:5px 5px;font-
     family:sans-serif}.header{font-size:1.2em;font-weight:700}.right{text-align:righ
     t}.left{text-align:left}</style> <div class="header">Fleet</div> <table> <tbody>
     <tr> <td class="right"> <a href$="[[_makeURL('','',columns.*,filtered_bots.*,sor
     t,verbose)]]">All</a>: </td> <td class="left">[[fleet.all]]</td> </tr> <tr> <td 
     class="right"> <a href$="[[_makeURL('alive','',columns.*,filtered_bots.*,sort,ve
     rbose)]]">Alive</a>: </td> <td class="left">[[fleet.alive]]</td> </tr> <tr> <td 
     class="right"> <a href$="[[_makeURL('busy','',columns.*,filtered_bots.*,sort,ver
     bose)]]">Busy</a>: </td> <td class="left">[[fleet.busy]]</td> </tr> <tr> <td cla
     ss="right"> <a href$="[[_makeURL('idle','',columns.*,filtered_bots.*,sort,verbos
     e)]]">Idle</a>: </td> <td class="left">[[fleet.idle]]</td> </tr> <tr> <td class=
     "right"> <a href$="[[_makeURL('dead','',columns.*,filtered_bots.*,sort,verbose)]
     ]">Dead</a>: </td> <td class="left">[[fleet.dead]]</td> </tr> <tr> <td class="ri
     ght"> <a href$="[[_makeURL('quarantined','',columns.*,filtered_bots.*,sort,verbo
     se)]]">Quarantined</a>: </td> <td class="left">[[fleet.quarantined]]</td> </tr> 
     </tbody></table> <div class="header">Displayed</div> <table> <tbody><tr> <td cla
     ss="right"> All: </td> <td class="left">[[_currently_showing.all]]</td> </tr> <t
     r> <td class="right"> <a href$="[[_makeURL('alive','true',columns.*,filtered_bot
     s.*,sort,verbose)]]">Alive</a>: </td> <td class="left">[[_currently_showing.aliv
     e]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('busy','true',column
     s.*,filtered_bots.*,sort,verbose)]]">Busy</a>: </td> <td class="left">[[_current
     ly_showing.busy]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('idle'
     ,'true',columns.*,filtered_bots.*,sort,verbose)]]">Idle</a>: </td> <td class="le
     ft">[[_currently_showing.idle]]</td> </tr> <tr> <td class="right"> <a href$="[[_
     makeURL('dead','true',columns.*,filtered_bots.*,sort,verbose)]]">Dead</a>: </td>
      <td class="left">[[_currently_showing.dead]]</td> </tr> <tr> <td class="right">
      <a href$="[[_makeURL('quarantined','true',columns.*,filtered_bots.*,sort,verbos
     e)]]">Quarantined</a>: </td> <td class="left">[[_currently_showing.quarantined]]
     </td> </tr> </tbody></table> </template> <script>Polymer({is:"bot-list-summary",
     behaviors:[SwarmingBehaviors.BotListBehavior],properties:{columns:{type:Array},f
     iltered_bots:{type:Array},fleet:{type:Object},sort:{type:String},verbose:{type:B
     oolean},_currently_showing:{type:Object,value:function(){return{all:-1,alive:-1,
     busy:-1,idle:-1,dead:-1,quarantined:-1}}}},observers:["_recount(filtered_bots.*)
     "],_getFilterStr:function(e){return e?"alive"===e||"dead"===e||"quarantined"===e
     ?"status:"+e:"task:"+e:""},_makeURL:function(e,t){if(!t){var r={s:[this.sort],c:
     this.columns,v:[this.verbose]};return e&&(r.f=[this._getFilterStr(e)]),window.lo
     cation.href.split("?")[0]+"?"+sk.query.fromParamSet(r)}var i=encodeURIComponent(
     this._getFilterStr(e));if(window.location.href.indexOf(i)===-1)return window.loc
     ation.href+"&f="+i},_recount:function(){var e={all:0,alive:0,busy:0,idle:0,dead:
     0,quarantined:0};return this.filtered_bots?(this.filtered_bots.forEach(function(
     t){"idle"===this._taskId(t)?e.idle++:e.busy++,t.quarantined&&e.quarantined++,t.i
     s_dead?e.dead++:e.alive++,e.all++}.bind(this)),void this.set("_currently_showing
     ",e)):e}})</script> </dom-module><dom-module id="bot-list" assetpath="/res/imp/b
     otlist/"> <template> <style include="iron-flex iron-flex-alignment iron-position
     ing swarming-app-style dynamic-table-style">bot-filters,bot-list-summary{margin-
     bottom:8px;margin-right:10px}.bad-device,.quarantined{background-color:#fdd}.dea
     d{background-color:#ccc}.bot-list th>span{padding-right:30px}</style> <url-param
      name="s" value="{{_sortstr}}" default_value="id:asc"> </url-param> <swarming-ap
     p client_id="[[client_id]]" auth_headers="{{_auth_headers}}" signed_in="{{_signe
     d_in}}" busy="[[_or(_busy1,_busy2)]]" name="Swarming Bot List"> <h2 hidden$="[[_
     signed_in]]">You must sign in to see anything useful.</h2> <div hidden$="[[_not(
     _signed_in)]]"> <div class="horizontal layout"> <bot-filters dimensions="[[_dime
     nsions]]" primary_map="[[_primary_map]]" primary_arr="[[_primary_arr]]" columns=
     "{{_columns}}" query_params="{{_query_params}}" filter="{{_filter}}" verbose="{{
     _verbose}}"> </bot-filters> <bot-list-summary columns="[[_columns]]" fleet="[[_f
     leet]]" filtered_bots="[[_filteredSortedItems]]" sort="[[_sortstr]]" verbose="[[
     _verbose]]"> </bot-list-summary> </div> <bot-list-data id="data" auth_headers="[
     [_auth_headers]]" query_params="[[_query_params]]" busy="{{_busy1}}" dimensions=
     "{{_dimensions}}" fleet="{{_fleet}}" primary_map="{{_primary_map}}" primary_arr=
     "{{_primary_arr}}"> </bot-list-data> <table class="bot-list"> <thead on-sort_cha
     nge="_sortChange"> <tr> <th> <span>Bot Id</span> <sort-toggle name="id" current=
     "[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('cloud_console_link', _co
     lumns.*)]]"> <span>Bot in Cloud Console</span> <sort-toggle name="cloud_console_
     link" current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('task', _co
     lumns.*)]]"> <span>Current Task</span> <sort-toggle name="task" current="[[_sort
     ]]"> </sort-toggle> </th> <template is="dom-repeat" items="[[_plainColumns]]" as
     ="c"> <th hidden$="[[_hide(c)]]"> <span>[[_header(c)]]</span> <sort-toggle name=
     "[[c]]" current="[[_sort]]"> </sort-toggle> </th> </template> </tr> </thead> <tb
     ody> <template id="bot_table" is="dom-repeat" items="[[_filteredSortedItems]]" a
     s="bot" initial-count="50"> <tr class$="[[_botClass(bot)]]"> <td> <a class="cent
     er" href$="[[_botLink(bot.bot_id)]]" target="_blank" rel="noopener"> [[bot.bot_i
     d]] </a> </td> <td hidden$="[[_hide('cloud_console_link', _columns.*)]]"> <a hre
     f$="[[_ccLink(bot)]]">[[_ccText(bot)]]</a> </td> <td hidden$="[[_hide('task', _c
     olumns.*)]]"> <a href$="[[_taskLink(bot.task_id)]]">[[_taskId(bot)]]</a> </td> <
     template is="dom-repeat" items="[[_plainColumns]]" as="c"> <td hidden$="[[_hide(
     c)]]"> [[_column(c, bot, _verbose)]] </td> </template> </tr> <template is="dom-r
     epeat" items="[[_devices(bot)]]" as="device"> <tr hidden$="[[_hide('android_devi
     ces', _columns.*)]]" class$="[[_deviceClass(device)]]"> <td></td> <td hidden$="[
     [_hide('task', _columns.*)]]"></td> <template is="dom-repeat" items="[[_plainCol
     umns]]" as="c"> <td hidden$="[[_hide(c)]]"> [[_deviceColumn(c, device, _verbose)
     ]] </td> </template> </tr> </template> </template> </tbody> </table> <pageable-d
     ata id="page_bots" busy="{{_busy2}}" label="Show more bots" output="{{_items}}" 
     parse="[[_parseBots]]"> </pageable-data> </div> <error-toast></error-toast> </sw
     arming-app> </template> <script> (function(){ | 
|  114     var UNKNOWN = "unknown"; |  253     var UNKNOWN = "unknown"; | 
|  115     // see dynamic-table for more information on specialColumns, headerMap, |  254     // see dynamic-table for more information on specialColumns, headerMap, | 
|  116     // columnMap, and specialSort |  255     // columnMap, and specialSort | 
|  117     var specialColumns = ["id", "task"]; |  256     var specialColumns = ["id", "task"]; | 
|  118  |  257  | 
|  119     var headerMap = { |  258     var headerMap = { | 
|  120       // "id" and "task" are special, so they don't go here. They have their |  259       // "id" and "task" are special, so they don't go here. They have their | 
|  121       // headers hard-coded above. |  260       // headers hard-coded above. | 
|  122       "android_devices": "Android Devices", |  261       "android_devices": "Android Devices", | 
|  123       "battery_health": "Battery Health", |  262       "battery_health": "Battery Health", | 
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  424       _botClass: function(bot) { |  563       _botClass: function(bot) { | 
|  425         if (bot.is_dead) { |  564         if (bot.is_dead) { | 
|  426           return "dead"; |  565           return "dead"; | 
|  427         } |  566         } | 
|  428         if (bot.quarantined) { |  567         if (bot.quarantined) { | 
|  429           return "quarantined"; |  568           return "quarantined"; | 
|  430         } |  569         } | 
|  431         return ""; |  570         return ""; | 
|  432       }, |  571       }, | 
|  433  |  572  | 
 |  573       _ccLink: function(bot){ | 
 |  574         var z = this._attribute(bot, "zone")[0]; | 
 |  575         if (z === "unknown") { | 
 |  576           return undefined; | 
 |  577         } | 
 |  578         return this._cloudConsoleLink(z, bot.bot_id); | 
 |  579       }, | 
 |  580  | 
 |  581       _ccText: function(bot){ | 
 |  582         var z = this._attribute(bot, "zone")[0]; | 
 |  583         if (z === "unknown") { | 
 |  584           return "Not on GCE"; | 
 |  585         } | 
 |  586         return "View Bot"; | 
 |  587       }, | 
 |  588  | 
|  434       _androidAliasDevice: function(device) { |  589       _androidAliasDevice: function(device) { | 
|  435         if (device.notReady) { |  590         if (device.notReady) { | 
|  436           return UNAUTHENTICATED.toUpperCase(); |  591           return UNAUTHENTICATED.toUpperCase(); | 
|  437         } |  592         } | 
|  438         return swarming.alias.android(this._deviceType(device)); |  593         return swarming.alias.android(this._deviceType(device)); | 
|  439       }, |  594       }, | 
|  440  |  595  | 
|  441       _deviceColumn: function(col, device) { |  596       _deviceColumn: function(col, device) { | 
|  442         var f = deviceColumnMap[col]; |  597         var f = deviceColumnMap[col]; | 
|  443         if (!f || !device) { |  598         if (!f || !device) { | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|  455  |  610  | 
|  456       reload: function() { |  611       reload: function() { | 
|  457         if (!this._auth_headers || !this._query_params) { |  612         if (!this._auth_headers || !this._query_params) { | 
|  458           return; |  613           return; | 
|  459         } |  614         } | 
|  460         var url = "/_ah/api/swarming/v1/bots/list?" + sk.query.fromParamSet(this
     ._query_params); |  615         var url = "/_ah/api/swarming/v1/bots/list?" + sk.query.fromParamSet(this
     ._query_params); | 
|  461         this.$.page_bots.load(url,this._auth_headers); |  616         this.$.page_bots.load(url,this._auth_headers); | 
|  462       } |  617       } | 
|  463  |  618  | 
|  464     }); |  619     }); | 
|  465   })(); </script> </dom-module> <dom-module id="paper-button" assetpath="/res/im
     p/bower_components/paper-button/"> <template strip-whitespace=""> <style include
     ="paper-material-shared-styles">:host{@apply(--layout-inline);@apply(--layout-ce
     nter-center);position:relative;box-sizing:border-box;min-width:5.14em;margin:0 .
     29em;background:0 0;-webkit-tap-highlight-color:transparent;-webkit-tap-highligh
     t-color:transparent;font:inherit;text-transform:uppercase;outline-width:0;border
     -radius:3px;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;
     user-select:none;cursor:pointer;z-index:0;padding:.7em .57em;@apply(--paper-font
     -common-base);@apply(--paper-button)}:host([hidden]){display:none!important}:hos
     t([raised].keyboard-focus){font-weight:700;@apply(--paper-button-raised-keyboard
     -focus)}:host(:not([raised]).keyboard-focus){font-weight:700;@apply(--paper-butt
     on-flat-keyboard-focus)}:host([disabled]){background:#eaeaea;color:#a8a8a8;curso
     r:auto;pointer-events:none;@apply(--paper-button-disabled)}:host([animated]){@ap
     ply(--shadow-transition)}paper-ripple{color:var(--paper-button-ink-color)}</styl
     e> <content></content> </template> <script>Polymer({is:"paper-button",behaviors:
     [Polymer.PaperButtonBehavior],properties:{raised:{type:Boolean,reflectToAttribut
     e:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){th
     is.raised?Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this):this._
     setElevation(0)}})</script> </dom-module> <script>Polymer.NeonAnimatableBehavior
     ={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnim
     ationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:
     String}},_entryAnimationChanged:function(){this.animationConfig=this.animationCo
     nfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exi
     tAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.
     animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:func
     tion(i,n){for(var t in n)i[t]=n[t]},_cloneConfig:function(i){var n={isClone:!0};
     return this._copyProperties(n,i),n},_getAnimationConfigRecursive:function(i,n,t)
     {if(this.animationConfig){if(this.animationConfig.value&&"function"==typeof this
     .animationConfig.value)return void this._warn(this._logf("playAnimation","Please
      put 'animationConfig' inside of your components 'properties' object instead of 
     outside of it."));var o;if(o=i?this.animationConfig[i]:this.animationConfig,Arra
     y.isArray(o)||(o=[o]),o)for(var e,a=0;e=o[a];a++)if(e.animatable)e.animatable._g
     etAnimationConfigRecursive(e.type||i,n,t);else if(e.id){var r=n[e.id];r?(r.isClo
     ne||(n[e.id]=this._cloneConfig(r),r=n[e.id]),this._copyProperties(r,e)):n[e.id]=
     e}else t.push(e)}},getAnimationConfig:function(i){var n={},t=[];this._getAnimati
     onConfigRecursive(i,n,t);for(var o in n)t.push(n[o]);return t}}</script> <script
     >Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(n){var i
     =[];if(n.length>0)for(var e,t=0;e=n[t];t++){var o=document.createElement(e.name)
     ;if(o.isNeonAnimation){var a=null;try{a=o.configure(e),"function"!=typeof a.canc
     el&&(a=document.timeline.play(a))}catch(n){a=null,console.warn("Couldnt play","(
     ",e.name,").",n)}a&&i.push({neonAnimation:o,config:e,animation:a})}else console.
     warn(this.is+":",e.name,"not found!")}return i},_shouldComplete:function(n){for(
     var i=!0,e=0;e<n.length;e++)if("finished"!=n[e].animation.playState){i=!1;break}
     return i},_complete:function(n){for(var i=0;i<n.length;i++)n[i].neonAnimation.co
     mplete(n[i].config);for(var i=0;i<n.length;i++)n[i].animation.cancel()},playAnim
     ation:function(n,i){var e=this.getAnimationConfig(n);if(e){this._active=this._ac
     tive||{},this._active[n]&&(this._complete(this._active[n]),delete this._active[n
     ]);var t=this._configureAnimations(e);if(0==t.length)return void this.fire("neon
     -animation-finish",i,{bubbles:!1});this._active[n]=t;for(var o=0;o<t.length;o++)
     t[o].animation.onfinish=function(){this._shouldComplete(t)&&(this._complete(t),d
     elete this._active[n],this.fire("neon-animation-finish",i,{bubbles:!1}))}.bind(t
     his)}},cancelAnimation:function(){for(var n in this._animations)this._animations
     [n].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.
     NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl]</script> <script
     >Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog",tabindex:"-1"},p
     roperties:{modal:{type:Boolean,value:!1}},observers:["_modalChanged(modal, _read
     ied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOu
     tsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancel
     OnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChanged:function(i,e){
     e&&(i?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prev
     NoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop
     ,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(
     this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOu
     tsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEsc
     Key,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosi
     ngReasonConfirmed:function(i){this.closingReason=this.closingReason||{},this.clo
     singReason.confirmed=i},_onDialogClick:function(i){for(var e=Polymer.dom(i).path
     ,o=0;o<e.indexOf(this);o++){var t=e[o];if(t.hasAttribute&&(t.hasAttribute("dialo
     g-dismiss")||t.hasAttribute("dialog-confirm"))){this._updateClosingReasonConfirm
     ed(t.hasAttribute("dialog-confirm")),this.close(),i.stopPropagation();break}}}},
     Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polymer.PaperDialogBeha
     viorImpl]</script> <dom-module id="paper-dialog-shared-styles" assetpath="/res/i
     mp/bower_components/paper-dialog-behavior/"> <template> <style>:host{display:blo
     ck;margin:24px 40px;background:var(--paper-dialog-background-color,--primary-bac
     kground-color);color:var(--paper-dialog-color,--primary-text-color);@apply(--pap
     er-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-dialog)}:host>::co
     ntent>*{margin-top:20px;padding:0 24px}:host>::content>.no-padding{padding:0}:ho
     st>::content>:first-child{margin-top:24px}:host>::content>:last-child{margin-bot
     tom:24px}:host>::content h2{position:relative;margin:0;@apply(--paper-font-title
     );@apply(--paper-dialog-title)}:host>::content .buttons{position:relative;paddin
     g:8px 8px 8px 24px;margin:0;color:var(--paper-dialog-button-color,--primary-colo
     r);@apply(--layout-horizontal);@apply(--layout-end-justified)}</style> </templat
     e> </dom-module> <dom-module id="paper-dialog" assetpath="/res/imp/bower_compone
     nts/paper-dialog/"> <template> <style include="paper-dialog-shared-styles"></sty
     le> <content></content> </template> </dom-module> <script>!function(){Polymer({i
     s:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Polymer.NeonAnimationRun
     nerBehavior],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_rende
     rOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderCl
     osed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimat
     ionFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderCl
     osed()}})}()</script> <script>window.SwarmingBehaviors=window.SwarmingBehaviors|
     |{},function(){SwarmingBehaviors.TaskBehavior={properties:{BOT_DIED:{type:String
     ,value:"BOT_DIED"},CANCELED:{type:String,value:"CANCELED"},COMPLETED:{type:Strin
     g,value:"COMPLETED"},COMPLETED_DEDUPED:{type:String,value:"COMPLETED (DEDUPED)"}
     ,COMPLETED_FAILURE:{type:String,value:"COMPLETED (FAILURE)"},COMPLETED_SUCCESS:{
     type:String,value:"COMPLETED (SUCCESS)"},EXPIRED:{type:String,value:"EXPIRED"},P
     ENDING:{type:String,value:"PENDING"},RUNNING:{type:String,value:"RUNNING"},TIMED
     _OUT:{type:String,value:"TIMED_OUT"}},stateClass:function(E){return E===this.CAN
     CELED||E===this.TIMED_OUT||E===this.EXPIRED?"exception":E===this.BOT_DIED?"bot_d
     ied":E===this.COMPLETED_FAILURE?"failed_task":E===this.RUNNING||E===this.PENDING
     ?"pending_task":""}}}()</script> <dom-module id="task-style" assetpath="/res/imp
     /common/"> <template> <style>.failed_task{background-color:#fdd}.bot_died{backgr
     ound-color:#ccc}.exception{background-color:#edd2ff}.pending_task{background-col
     or:#fffc6c}</style> </template> </dom-module><dom-module id="task-filters" asset
     path="/res/imp/tasklist/"> <template> <style is="custom-style" include="iron-fle
     x iron-flex-alignment iron-positioning query-column-filter-style">.item.wide{max
     -width:400px}.selector.wide{min-width:275px}</style> <url-param name="f" value="
     {{_filters}}" default_values="[]" multi=""> </url-param> <url-param name="c" val
     ue="{{columns}}" default_values="["name","state","creat
     ed_ts","user"]" multi=""> </url-param> <url-param name="q" value=
     "{{_query}}" default_value=""> </url-param> <url-param name="l" default_value="5
     0" value="{{_limit}}"> </url-param> <div class="container horizontal layout"> <d
     iv class="narrow-down-selector"> <div> <iron-a11y-keys target="[[_filter_input]]
     " keys="enter" on-keys-pressed="_manuallyAddFilter"></iron-a11y-keys> <paper-inp
     ut id="filter" label="Search columns and filters or supply a filter and press en
     ter" placeholder="gpu nvidia pool:Chrome" value="{{_query::input}}"> </paper-inp
     ut> </div> <div class="wide selector side-by-side" title="This shows all task ta
     gs and other interesting task properties. Mark the check box to add as a column.
      Select the row to see filter options."> <iron-selector attr-for-selected="label
     " selected="{{_primarySelected}}"> <template is="dom-repeat" items="[[_primaryIt
     ems]]" as="item"> <div class="selectable item horizontal layout" label="[[item]]
     "> <span>[[_beforeBold(item,_query)]]<span class="bold">[[_bold(item,_query)]]</
     span>[[_afterBold(item,_query)]]</span> <span class="flex"></span> <paper-checkb
     ox noink="" disabled$="[[_cantToggleColumn(item)]]" checked="[[_columnState(item
     ,columns.*)]]" on-change="_toggleColumn"> </paper-checkbox> </div> </template> <
     /iron-selector> </div> <div class="selector side-by-side" title="These are all o
     ptions (if any) that the task list can be filtered on."> <template is="dom-repea
     t" id="secondaryList" items="[[_secondaryItems]]" as="item"> <div class="item ho
     rizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_query)]]<span class
     ="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query)]]</span> <span cl
     ass="flex"></span> <iron-icon class="icons" icon="icons:arrow-forward" hidden="[
     [_cantAddFilter(_primarySelected,item,_filters.*)]]" on-tap="_addFilter"> </iron
     -icon> </div> </template> </div> <div class="selector side-by-side" title="These
      tag filters are AND'd together and applied to all tasks."> <template is="dom-re
     peat" items="[[_filters]]" as="fil"> <div class="item horizontal layout" label="
     [[fil]]"> <span>[[fil]]</span> <span class="flex"></span> <iron-icon class="icon
     s" icon="icons:remove-circle-outline" hidden="[[_cantRemoveFilter(fil,_filters.*
     )]]" on-tap="_removeFilter"> </iron-icon> </div> </template> </div> <div class="
     side-by-side"> <paper-input id="_limit" label="Limit Results" auto-validate="" m
     in="0" max="1000" pattern="[0-9]+" value="{{_limit}}"> </paper-input> </div> </d
     iv> </div> </template> <script>!function(){var t={state:function(t,i){var r=this
     ._attribute(t,"state")[0];if(i===r||"ALL"===i)return!0;if("PENDING_RUNNING"===i)
     return r===this.PENDING||r===this.RUNNING;var e=this._attribute(t,"failure",!1)[
     0];if("COMPLETED_SUCCESS"===i)return r===this.COMPLETED&&!e;if("COMPLETED_FAILUR
     E"===i)return r===this.COMPLETED&&e;var a=this._attribute(t,"try_number","-1")[0
     ];return"DEDUPED"===i?r===this.COMPLETED&&"0"===a:void 0}};Polymer({is:"task-fil
     ters",behaviors:[SwarmingBehaviors.QueryColumnFilter,SwarmingBehaviors.TaskBehav
     ior],properties:{columns:{type:Array,notify:!0},query_params:{type:Object,comput
     ed:"_extractQueryParams(_filters.*, _limit)",notify:!0},_filterMap:{type:Object,
     value:function(){var i=this._commonFilters();for(var r in t)i[r]=t[r];return i}}
     },_cantToggleColumn:function(t){return!t||"name"===t},_extractQueryParams:functi
     on(){var t={},i=[];this._filters.forEach(function(r){var e=r.split(this.FILTER_S
     EP,1),a=e[0],s=r.substring(a.length+this.FILTER_SEP.length);"state"===a?t.state=
     [s]:("user"===a&&"none"===s&&(s=""),i.push(a+this.FILTER_SEP+swarming.alias.unap
     ply(s)))}.bind(this)),t.tags=i;var r=parseInt(this._limit);return Number.isInteg
     er(r)&&(r=Math.max(r,1),r=Math.min(1e3,r),t.limit=[r],this._limit!=r&&this.set("
     _limit",r)),t}})}()</script> </dom-module><dom-module id="task-list-data" assetp
     ath="/res/imp/tasklist/"> <script>!function(){var t=["abandoned_ts","completed_t
     s","created_ts","modified_ts","started_ts"];Polymer({is:"task-list-data",behavio
     rs:[SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:
     {auth_headers:{type:Object,observer:"signIn"},query_params:{type:Object},tasks:{
     type:Array},busy:{type:Boolean,computed:"_or(_busy2,_busy1)",notify:!0},primary_
     map:{type:Object,computed:"_primaryMap(_tags,_dimensions,tasks.*)",notify:!0},pr
     imary_arr:{type:Array,computed:"_primaryArr(primary_map)",notify:!0},_busy2:{typ
     e:Boolean,value:!1},_busy1:{type:Boolean,value:!1},_dimensions:{type:Object},_li
     st:{type:Object},_tags:{type:Object}},signIn:function(){this._getJsonAsync("_tag
     s","/_ah/api/swarming/v1/tasks/tags","_busy2",this.auth_headers),this._getJsonAs
     ync("_dimensions","/_ah/api/swarming/v1/bots/dimensions","_busy1",this.auth_head
     ers)},_primaryArr:function(t){var a=Object.keys(t);return a.sort(),a},_primaryMa
     p:function(a,s){a=a&&a.tasks_tags||[],s=s&&s.bots_dimensions||[],tasks=this.task
     s||[];var e={};a.forEach(function(t){e[t.key]||(e[t.key]={});var a=t.value||[];a
     .forEach(function(a){e[t.key][a]=!0})}),s.forEach(function(t){var a=t.value;e[t.
     key]||(e[t.key]={}),a.forEach(function(a){e[t.key][a]=!0})}),tasks.forEach(funct
     ion(t){Object.keys(t.tagMap).forEach(function(a){var s=t.tagMap[a];e[a]||(e[a]={
     }),e[a][s]=!0})}),delete e.user[""],e.user.none=!0;var r={};for(key in e){var i=
     Object.keys(e[key]);if(swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(key)===-1)
     r[key]=i;else{var n=[];i.forEach(function(t){n.push(swarming.alias.apply(t,key))
     }),r[key]=n}}return r.name=[],r.state=[this.PENDING,this.RUNNING,"PENDING_RUNNIN
     G",this.COMPLETED,"COMPLETED_SUCCESS","COMPLETED_FAILURE",this.EXPIRED,this.TIME
     D_OUT,this.BOT_DIED,this.CANCELED,"DEDUPED","ALL"],r.costs_usd=[],r.deduped_from
     =[],r.duration=[],r.server_versions=[],r.bot=[],t.forEach(function(t){r[t]=[]}),
     r},parseTasks:function(a){if(console.log("ping",a),!a||!a.items)return[];var s=n
     ew Date;return a.items.forEach(function(a){var e={};a.tags=a.tags||[],a.tags.for
     Each(function(t){var a=t.split(":",1),s=a[0],r=t.substring(s.length+1);e[s]=r}),
     a.tagMap=e,t.forEach(function(t){a[t]&&(a[t]=new Date(a[t]),a["human_"+t]=sk.hum
     an.localeTime(a[t]))}),!a.duration&&a.state===this.RUNNING&&a.started_ts&&(a.dur
     ation=(s-a.started_ts)/1e3),a.duration&&(a.human_duration=this._humanDuration(a.
     duration))}.bind(this)),a.items}})}()</script> </dom-module> <dom-module id="tas
     k-list" assetpath="/res/imp/tasklist/"> <template> <style include="iron-flex iro
     n-flex-alignment iron-positioning swarming-app-style dynamic-table-style task-st
     yle">task-filters{margin-bottom:8px;margin-right:10px}.task-list th>span{padding
     -right:30px}</style> <url-param name="s" value="{{_sortstr}}" default_value="cre
     ated_ts:desc"> </url-param> <swarming-app client_id="[[client_id]]" auth_headers
     ="{{_auth_headers}}" permissions="{{_permissions}}" signed_in="{{_signed_in}}" b
     usy="[[_or(_busy1,_busy2)]]" name="Swarming Task List"> <h2 hidden$="[[_signed_i
     n]]">You must sign in to see anything useful.</h2> <div hidden$="[[_not(_signed_
     in)]]"> <task-list-data id="data" auth_headers="[[_auth_headers]]" query_params=
     "[[_query_params]]" tasks="[[_items]]" busy="{{_busy1)}}" primary_map="{{_primar
     y_map}}" primary_arr="{{_primary_arr}}"> </task-list-data> <div class="horizonta
     l layout"> <task-filters primary_map="[[_primary_map]]" primary_arr="[[_primary_
     arr]]" columns="{{_columns}}" query_params="{{_query_params}}" filter="{{_filter
     }}"> </task-filters> </div> <table class="task-list"> <thead on-sort_change="_so
     rtChange"> <tr> <th> <span>Task Name</span> <sort-toggle name="name" current="[[
     _sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('state', _columns.*)]]"> <sp
     an>State</span> <sort-toggle name="state" current="[[_sort]]"> </sort-toggle> </
     th> <th hidden$="[[_hide('bot', _columns.*)]]"> <span>Bot Assigned</span> <sort-
     toggle name="bot" current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide
     ('deduped_from', _columns.*)]]"> <span>Deduped from</span> <sort-toggle name="de
     duped_from" current="[[_sort]]"> </sort-toggle> </th> <template is="dom-repeat" 
     items="[[_plainColumns]]" as="c"> <th hidden$="[[_hide(c)]]"> <span>[[_header(c)
     ]]</span> <sort-toggle name="[[c]]" current="[[_sort]]"> </sort-toggle> </th> </
     template> </tr> </thead> <tbody> <template id="tasks_table" is="dom-repeat" item
     s="[[_filteredSortedItems]]" as="task" initial-count="50"> <tr class$="[[_taskCl
     ass(task)]]"> <td> <a class="center" href$="[[_taskLink(task.task_id)]]" target=
     "_blank"> [[task.name]] </a> </td> <td hidden$="[[_hide('state', _columns.*)]]">
      [[_column('state', task)]] <paper-button raised="" hidden$="[[_cannotCancel(tas
     k,_permissions)]]" on-tap="_promptCancel"> Cancel </paper-button> </td> <td hidd
     en$="[[_hide('bot', _columns.*)]]"> <a class="center" href$="[[_botLink(task.bot
     _id)]]" target="_blank"> [[_column('bot',task)]] </a> </td> <td hidden$="[[_hide
     ('deduped_from', _columns.*)]]"> <a class="center" href$="[[_taskLink(task.dedup
     ed_from)]]" target="_blank"> [[_column('deduped_from',task)]] </a> </td> <templa
     te is="dom-repeat" items="[[_plainColumns]]" as="c"> <td hidden$="[[_hide(c)]]">
      [[_column(c, task)]] </td> </template> </tr> </template> </tbody> </table> <pag
     eable-data id="page_tasks" busy="{{_busy2}}" label="Show more tasks" output="{{_
     items}}" parse="[[_parseTasks]]"> </pageable-data> </div> </swarming-app> <paper
     -dialog id="prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2>Are you
      sure?</h2> <div>Are you sure you want to [[_dialogPrompt]]?</div> <div class="b
     uttons"> <paper-button dialog-dismiss="" autofocus="">No</paper-button> <paper-b
     utton dialog-confirm="">Yes</paper-button> </div> </paper-dialog> <error-toast><
     /error-toast> </template> <script>!function(){function t(t){return function(a){r
     eturn this._attribute(a,"human_"+t)[0]}}function a(t){return function(a,e,s){var
      r=this._attribute(e,t,"0")[0],i=this._attribute(s,t,"0")[0];return a*(r-i)}}var
      e=["deduped_from","name","state","bot"],s={abandoned_ts:t("abandoned_ts"),bot:f
     unction(t){return this._attribute(t,"bot_id")[0]},completed_ts:t("completed_ts")
     ,costs_usd:function(t){return this._attribute(t,"costs_usd",0)[0]},created_ts:t(
     "created_ts"),duration:t("duration"),modified_ts:t("modified_ts"),started_ts:t("
     started_ts"),state:function(t){var a=this._attribute(t,"state")[0];if("COMPLETED
     "===a){if(this._attribute(t,"failure",!1)[0])return"COMPLETED (FAILURE)";var e=t
     his._attribute(t,"try_number","-1")[0];return"0"===e?"COMPLETED (DEDUPED)":"COMP
     LETED (SUCCESS)"}return a}},r={user:"Requesting User"},i={abandoned_ts:a("abando
     ned_ts"),completed_ts:a("completed_ts"),created_ts:a("created_ts"),duration:a("d
     uration"),modified_ts:a("modified_ts"),started_ts:a("started_ts")};Polymer({is:"
     task-list",behaviors:[SwarmingBehaviors.DynamicTableBehavior,SwarmingBehaviors.T
     askBehavior],properties:{client_id:{type:String},_busy1:{type:Boolean,value:!1},
     _busy2:{type:Boolean,value:!1},_parseTasks:{type:Function,value:function(){retur
     n this.$.data.parseTasks.bind(this)}},_toCancel:{type:String},_columnMap:{type:O
     bject,value:function(){var t=this._commonColumns();for(var a in s)t[a]=s[a];retu
     rn t}},_headerMap:{type:Object,value:r},_specialColumns:{type:Array,value:e},_sp
     ecialSort:{type:Object,value:i}},observers:["reload(_query_params,_auth_headers)
     "],_attribute:function(t,a,e){void 0===e&&(e="none");var s=this._tag(t,a)||t[a]|
     |[e];return Array.isArray(s)?s:[s]},_cannotCancel:function(t,a){return!(a&&a.can
     cel_task&&"PENDING"===this._column("state",t))},_cancelTask:function(){var t="/_
     ah/api/swarming/v1/task/"+this._toCancel+"/cancel";swarming.postWithToast(t,"Can
     celing task "+this._toCancel,this._auth_headers),this.set("_toCancel","")},_prom
     ptClosed:function(t){t.detail.confirmed&&this._cancelTask()},_promptCancel:funct
     ion(t){var a=t.model.task;return a&&a.task_id?(this.set("_toCancel",a.task_id),t
     his.set("_dialogPrompt",'cancel task "'+a.name+'"'),void this.$.prompt.open()):v
     oid console.log("Missing task info",a)},reload:function(){if(this._auth_headers&
     &this._query_params){var t="/_ah/api/swarming/v1/tasks/list?"+sk.query.fromParam
     Set(this._query_params);this.$.page_tasks.load(t,this._auth_headers)}},_tag:func
     tion(t,a){if(t&&t.tagMap)return t.tagMap[a]},_taskClass:function(t){return this.
     stateClass(this._column("state",t))}})}()</script> </dom-module> <dom-module id=
     "iron-collapse" assetpath="/res/imp/bower_components/iron-collapse/"> <template>
      <style>:host{display:block;transition-duration:var(--iron-collapse-transition-d
     uration,300ms);overflow:visible}:host(.iron-collapse-closed){display:none}:host(
     :not(.iron-collapse-opened)){overflow:hidden}</style> <content></content> </temp
     late> </dom-module> <script>Polymer({is:"iron-collapse",behaviors:[Polymer.IronR
     esizableBehavior],properties:{horizontal:{type:Boolean,value:!1,observer:"_horiz
     ontalChanged"},opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"
     },noAnimation:{type:Boolean},_desiredSize:{type:String,value:""}},get dimension(
     ){return this.horizontal?"width":"height"},get _dimensionMax(){return this.horiz
     ontal?"maxWidth":"maxHeight"},get _dimensionMaxCss(){return this.horizontal?"max
     -width":"max-height"},hostAttributes:{role:"group","aria-hidden":"true","aria-ex
     panded":"false"},listeners:{transitionend:"_transitionEnd"},attached:function(){
     this._transitionEnd()},toggle:function(){this.opened=!this.opened},show:function
     (){this.opened=!0},hide:function(){this.opened=!1},updateSize:function(i,t){if(i
     ="auto"===i?"":i,this._desiredSize!==i){this._desiredSize=i,this._updateTransiti
     on(!1);var e=t&&!this.noAnimation&&this._isDisplayed;if(e){var n=this._calcSize(
     );""===i&&(this.style[this._dimensionMax]="",i=this._calcSize()),this.style[this
     ._dimensionMax]=n,this.scrollTop=this.scrollTop,this._updateTransition(!0),e=i!=
     =n}this.style[this._dimensionMax]=i,e||this._transitionEnd()}},enableTransition:
     function(i){Polymer.Base._warn("`enableTransition()` is deprecated, use `noAnima
     tion` instead."),this.noAnimation=!i},_updateTransition:function(i){this.style.t
     ransitionDuration=i&&!this.noAnimation?"":"0s"},_horizontalChanged:function(){th
     is.style.transitionProperty=this._dimensionMaxCss;var i="maxWidth"===this._dimen
     sionMax?"maxHeight":"maxWidth";this.style[i]="",this.updateSize(this.opened?"aut
     o":"0px",!1)},_openedChanged:function(){this.setAttribute("aria-expanded",this.o
     pened),this.setAttribute("aria-hidden",!this.opened),this.toggleClass("iron-coll
     apse-closed",!1),this.toggleClass("iron-collapse-opened",!1),this.updateSize(thi
     s.opened?"auto":"0px",!0),this.opened&&this.focus()},_transitionEnd:function(){t
     his.style[this._dimensionMax]=this._desiredSize,this.toggleClass("iron-collapse-
     closed",!this.opened),this.toggleClass("iron-collapse-opened",this.opened),this.
     _updateTransition(!1),this.notifyResize()},get _isDisplayed(){var i=this.getBoun
     dingClientRect();for(var t in i)if(0!==i[t])return!0;return!1},_calcSize:functio
     n(){return this.getBoundingClientRect()[this.dimension]+"px"}})</script> <script
     >Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemCh
     anged",readOnly:!0,type:Object},attrForItemTitle:{type:String}},hostAttributes:{
     role:"menu",tabindex:"0"},observers:["_updateMultiselectable(multi)"],listeners:
     {focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged
     "},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydo
     wn":"_onShiftTabDown"},attached:function(){this._resetTabindices()},select:funct
     ion(e){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this.
     _defaultFocusAsync=null);var t=this._valueToItem(e);t&&t.hasAttribute("disabled"
     )||(this._setFocusedItem(t),Polymer.IronMultiSelectableBehaviorImpl.select.apply
     (this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedIte
     ms&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.set
     Attribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){
     e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-mu
     ltiselectable")},_focusWithKeyboardEvent:function(e){for(var t,i=0;t=this.items[
     i];i++){var s=this.attrForItemTitle||"textContent",o=t[s]||t.getAttribute(s);if(
     !t.hasAttribute("disabled")&&o&&o.trim().charAt(0).toLowerCase()===String.fromCh
     arCode(e.keyCode).toLowerCase()){this._setFocusedItem(t);break}}},_focusPrevious
     :function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem))
     ,i=1;i<e+1;i++){var s=this.items[(t-i+e)%e];if(!s.hasAttribute("disabled")){var 
     o=Polymer.dom(s).getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer.dom
     (o).activeElement==s)return}}},_focusNext:function(){for(var e=this.items.length
     ,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t+i)%
     e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||document
     ;if(this._setFocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_applySele
     ction:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("
     aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,argume
     nts)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),e&&(e
     .setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.deta
     il.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t
     =this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,
     this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(functio
     n(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPresse
     d=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed
     ){var t=Polymer.dom(e).rootTarget;(t===this||"undefined"==typeof t.tabIndex||thi
     s.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=th
     is.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFo
     cusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},
     _onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault
     ()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefau
     lt()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this
     .keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.st
     opPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._ac
     tivateHandler.call(this,e),e.stopPropagation()}},Polymer.IronMenuBehaviorImpl._s
     hiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,
     Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl]</script> <script>Poly
     mer.IronMenubarBehaviorImpl={hostAttributes:{role:"menubar"},keyBindings:{left:"
     _onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e
     .detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.
     click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===wind
     ow.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._fo
     cusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRigh
     tKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.ke
     yboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKe
     ys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},Polymer.IronMe
     nubarBehavior=[Polymer.IronMenuBehavior,Polymer.IronMenubarBehaviorImpl]</script
     > <iron-iconset-svg name="paper-tabs" size="24"> <svg><defs> <g id="chevron-left
     "><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"></path></g> <g id="che
     vron-right"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></g>
      </defs></svg> </iron-iconset-svg> <dom-module id="paper-tab" assetpath="/res/im
     p/bower_components/paper-tabs/"> <template> <style>:host{@apply(--layout-inline)
     ;@apply(--layout-center);@apply(--layout-center-justified);@apply(--layout-flex-
     auto);position:relative;padding:0 12px;overflow:hidden;cursor:pointer;vertical-a
     lign:middle;@apply(--paper-font-common-base);@apply(--paper-tab)}:host(:focus){o
     utline:0}:host([link]){padding:0}.tab-content{height:100%;transform:translateZ(0
     );-webkit-transform:translateZ(0);transition:opacity .1s cubic-bezier(.4,0,1,1);
     @apply(--layout-horizontal);@apply(--layout-center-center);@apply(--layout-flex-
     auto);@apply(--paper-tab-content)}:host(:not(.iron-selected))>.tab-content{opaci
     ty:.8;@apply(--paper-tab-content-unselected)}:host(:focus) .tab-content{opacity:
     1;font-weight:700}paper-ripple{color:var(--paper-tab-ink,--paper-yellow-a100)}.t
     ab-content>::content>a{@apply(--layout-flex-auto);height:100%}</style> <div clas
     s="tab-content"> <content></content> </div> </template> <script>Polymer({is:"pap
     er-tab",behaviors:[Polymer.IronControlState,Polymer.IronButtonState,Polymer.Pape
     rRippleBehavior],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}}
     ,hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attach
     ed:function(){this._updateNoink()},get _parentNoink(){var t=Polymer.dom(this).pa
     rentNode;return!!t&&!!t.noink},_updateNoink:function(){this.noink=!!this.noink||
     !!this._parentNoink},_onTap:function(t){if(this.link){var e=this.queryEffectiveC
     hildren("a");if(!e)return;if(t.target===e)return;e.click()}}})</script> </dom-mo
     dule> <dom-module id="paper-tabs" assetpath="/res/imp/bower_components/paper-tab
     s/"> <template> <style>:host{@apply(--layout);@apply(--layout-center);height:48p
     x;font-size:14px;font-weight:500;overflow:hidden;-moz-user-select:none;-ms-user-
     select:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-colo
     r:transparent;-webkit-tap-highlight-color:transparent;@apply(--paper-tabs)}:host
     -context([dir=rtl]){@apply(--layout-horizontal-reverse)}#tabsContainer{position:
     relative;height:100%;white-space:nowrap;overflow:hidden;@apply(--layout-flex-aut
     o)}#tabsContent{height:100%;-moz-flex-basis:auto;-ms-flex-basis:auto;flex-basis:
     auto}#tabsContent.scrollable{position:absolute;white-space:nowrap}#tabsContent.s
     crollable.fit-container,#tabsContent:not(.scrollable){@apply(--layout-horizontal
     )}#tabsContent.scrollable.fit-container{min-width:100%}#tabsContent.scrollable.f
     it-container>::content>*{-ms-flex:1 0 auto;-webkit-flex:1 0 auto;flex:1 0 auto}.
     hidden{display:none}.not-visible{opacity:0;cursor:default}paper-icon-button{widt
     h:48px;height:48px;padding:12px;margin:0 4px}#selectionBar{position:absolute;hei
     ght:2px;bottom:0;left:0;right:0;background-color:var(--paper-tabs-selection-bar-
     color,--paper-yellow-a100);-webkit-transform:scale(0);transform:scale(0);-webkit
     -transform-origin:left center;transform-origin:left center;transition:-webkit-tr
     ansform;transition:transform;@apply(--paper-tabs-selection-bar)}#selectionBar.al
     ign-bottom{top:0;bottom:auto}#selectionBar.expand{transition-duration:.15s;trans
     ition-timing-function:cubic-bezier(.4,0,1,1)}#selectionBar.contract{transition-d
     uration:.18s;transition-timing-function:cubic-bezier(0,0,.2,1)}#tabsContent>::co
     ntent>:not(#selectionBar){height:100%}</style> <paper-icon-button icon="paper-ta
     bs:chevron-left" class$="[[_computeScrollButtonClass(_leftHidden, scrollable, hi
     deScrollButtons)]]" on-up="_onScrollButtonUp" on-down="_onLeftScrollButtonDown" 
     tabindex="-1"></paper-icon-button> <div id="tabsContainer" on-track="_scroll" on
     -down="_down"> <div id="tabsContent" class$="[[_computeTabsContentClass(scrollab
     le, fitContainer)]]"> <div id="selectionBar" class$="[[_computeSelectionBarClass
     (noBar, alignBottom)]]" on-transitionend="_onBarTransitionEnd"></div> <content s
     elect="*"></content> </div> </div> <paper-icon-button icon="paper-tabs:chevron-r
     ight" class$="[[_computeScrollButtonClass(_rightHidden, scrollable, hideScrollBu
     ttons)]]" on-up="_onScrollButtonUp" on-down="_onRightScrollButtonDown" tabindex=
     "-1"></paper-icon-button> </template> <script>Polymer({is:"paper-tabs",behaviors
     :[Polymer.IronResizableBehavior,Polymer.IronMenubarBehavior],properties:{noink:{
     type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},no
     Slide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{t
     ype:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{typ
     e:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,
     value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Numb
     er,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftH
     idden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:
     {type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabS
     izingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronS
     elect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":
     "_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationIt
     em=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandl
     er=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._
     onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.
     $.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkCha
     nged:function(t){var e=Polymer.dom(this).querySelectorAll("paper-tab");e.forEach
     (t?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:funct
     ion(t){t.setAttribute("noink","")},_removeNoinkAttribute:function(t){t.removeAtt
     ribute("noink")},_computeScrollButtonClass:function(t,e,i){return!e||i?"hidden":
     t?"not-visible":""},_computeTabsContentClass:function(t,e){return t?"scrollable"
     +(e?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(t,
     e){return t?"hidden":e?"align-bottom":""},_onTabSizingChanged:function(){this.de
     bounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.sel
     ectedItem)},10)},_onIronSelect:function(t){this._tabChanged(t.detail.item,this._
     previousTab),this._previousTab=t.detail.item,this.cancelDebouncer("tab-changed")
     },_onIronDeselect:function(t){this.debounce("tab-changed",function(){this._tabCh
     anged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:funct
     ion(){this._cancelPendingActivation(),Polymer.IronMenuBehaviorImpl._activateHand
     ler.apply(this,arguments)},_scheduleActivation:function(t,e){this._pendingActiva
     tionItem=t,this._pendingActivationTimeout=this.async(this._bindDelayedActivation
     Handler,e)},_delayedActivationHandler:function(){var t=this._pendingActivationIt
     em;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,t.fi
     re(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation
     :function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pen
     dingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivatio
     nTimeout=void 0)},_onArrowKeyup:function(t){this.autoselect&&this._scheduleActiv
     ation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(t){t.targe
     t===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContai
     nerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsCo
     ntainer.offsetWidth)},_scroll:function(t,e){if(this.scrollable){var i=e&&-e.ddx|
     |0;this._affectScroll(i)}},_down:function(t){this.async(function(){this._default
     FocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=n
     ull)},1)},_affectScroll:function(t){this.$.tabsContainer.scrollLeft+=t;var e=thi
     s.$.tabsContainer.scrollLeft;this._leftHidden=0===e,this._rightHidden=e===this._
     tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),
     this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRig
     htScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(th
     is._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clea
     rInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affe
     ctScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)}
     ,_tabChanged:function(t,e){if(!t)return this.$.selectionBar.classList.remove("ex
     pand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0
     ,0);var i=this.$.tabsContent.getBoundingClientRect(),n=i.width,o=t.getBoundingCl
     ientRect(),s=o.left-i.left;if(this._pos={width:this._calcPercent(o.width,n),left
     :this._calcPercent(s,n)},this.noSlide||null==e)return this.$.selectionBar.classL
     ist.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this.
     _positionBar(this._pos.width,this._pos.left);var a=e.getBoundingClientRect(),l=t
     his.items.indexOf(e),c=this.items.indexOf(t),r=5;this.$.selectionBar.classList.a
     dd("expand");var h=l<c,d=this._isRTL;d&&(h=!h),h?this._positionBar(this._calcPer
     cent(o.left+o.width-a.left,n)-r,this._left):this._positionBar(this._calcPercent(
     a.left+a.width-o.left,n)-r,this._calcPercent(s,n)+r),this.scrollable&&this._scro
     llToSelectedIfNeeded(o.width,s)},_scrollToSelectedIfNeeded:function(t,e){var i=e
     -this.$.tabsContainer.scrollLeft;i<0?this.$.tabsContainer.scrollLeft+=i:(i+=t-th
     is.$.tabsContainer.offsetWidth,i>0&&(this.$.tabsContainer.scrollLeft+=i))},_calc
     Percent:function(t,e){return 100*t/e},_positionBar:function(t,e){t=t||0,e=e||0,t
     his._width=t,this._left=e,this.transform("translateX("+e+"%) scaleX("+t/100+")",
     this.$.selectionBar)},_onBarTransitionEnd:function(t){var e=this.$.selectionBar.
     classList;e.contains("expand")?(e.remove("expand"),e.add("contract"),this._posit
     ionBar(this._pos.width,this._pos.left)):e.contains("contract")&&e.remove("contra
     ct")}})</script> </dom-module> <dom-module id="single-page-style" assetpath="/re
     s/imp/common/"> <template> <style>.header{max-width:450px}.title{font-size:1.5em
     ;font-weight:700;margin:5px}.id_input{margin-left:5px;--paper-input-container-in
     put:{font-size:2em};}.refresh{max-width:40px;max-height:40px;width:initial;heigh
     t:initial}button{min-width:4em;max-height:55px}table{border-collapse:collapse;ma
     rgin-left:5px;margin-bottom:8px}td,th{border:1px solid #BBB;padding:5px}.tabs{ba
     ckground-color:#1F78B4;color:#fff;max-width:600px;margin-left:5px;--paper-checkb
     ox-label-color:#fff}paper-tab{background-color:#A6CEE3;color:#000}paper-tab.iron
     -selected{background-color:#1F78B4;color:#fff;font-weight:700;text-decoration:un
     derline}paper-tab[disabled]{background-color:#AAA;text-decoration:line-through}.
     quarantined{background-color:#fdd}.dead{background-color:#ccc}</style> </templat
     e> </dom-module><script>!function(){SwarmingBehaviors.BotPageBehavior=[SwarmingB
     ehaviors.CommonBehavior,{}]}()</script> <dom-module id="bot-page-data" assetpath
     ="/res/imp/botpage/"> <script>!function(){function t(t){if(!s){var e=t.toString(
     );s=e.substring(e.indexOf("("))}return t.toLocaleString()+" "+s}var e,s,n=400,i=
     ["first_seen_ts","last_seen_ts"],a=["started_ts","completed_ts","abandoned_ts","
     modified_ts"];Polymer({is:"bot-page-data",behaviors:[SwarmingBehaviors.BotPageBe
     havior],properties:{auth_headers:{type:Object},bot_id:{type:String},busy:{type:B
     oolean,computed:"_or(_busy1)",notify:!0},bot:{type:Object,computed:"_parseBot(_b
     ot)",notify:!0},_busy1:{type:Boolean,value:!1},_bot:{type:Object},_events:{type:
     Object},_tasks:{type:Object}},observers:["request(auth_headers,bot_id)"],request
     :function(){this.bot_id&&this.auth_headers&&(e&&this.cancelAsync(e),e=this.async
     (function(){e=void 0;var t="/_ah/api/swarming/v1/bot/"+this.bot_id;this._getJson
     Async("_bot",t+"/get","_busy1",this.auth_headers),this.fire("reload",{id:this.bo
     t_id})},n))},_parseBot:function(e){if(!e)return{};e.state=e.state||"{}",e.state=
     JSON.parse(e.state);var s=e.state.disks||{},n=Object.keys(s);if(n.length){e.disk
     s=[];for(var a=0;a<n.length;a++)e.disks.push({id:n[a],mb:s[n[a]].free_mb});e.dis
     ks.sort(function(t,e){return e.mb-t.mb})}else e.disks=[{id:"unknown",mb:0}];retu
     rn e.dimensions=e.dimensions||[],e.dimensions.forEach(function(t){swarming.alias
     .DIMENSIONS_WITH_ALIASES.indexOf(t.key)!==-1&&t.value.forEach(function(e,s){t.va
     lue[s]=swarming.alias.apply(e,t.key)})}),i.forEach(function(s){e[s]&&(e[s]=new D
     ate(e[s]),e["human_"+s]=t(e[s]))}),e},parseEvents:function(e){if(!e||!e.items)re
     turn[];var e=e.items;return e.forEach(function(e){e.ts&&(e.ts=new Date(e.ts),e.h
     uman_ts=t(e.ts))}),e.sort(function(t,e){return e.ts-t.ts}),e},parseTasks:functio
     n(e){if(!e||!e.items)return[];var e=e.items;return e.forEach(function(e){if(a.fo
     rEach(function(s){e[s]&&(e[s]=new Date(e[s]),e["human_"+s]=t(e[s]))}),e.duration
     )e.human_duration=this._humanDuration(e.duration);else{var s=e.completed_ts||e.a
     bandoned_ts||e.modified_ts||new Date;e.human_duration=this._timeDiffExact(e.star
     ted_ts,s),e.duration=(s.getTime()-e.started_ts)/1e3}e.state=e.state||"UNKNOWN","
     COMPLETED"===e.state&&(e.failure?e.state="FAILURE":e.state="SUCCESS")}.bind(this
     )),e.sort(function(t,e){return e.started_ts-t.started_ts}),e}})}()</script> </do
     m-module> <dom-module id="bot-page-summary" assetpath="/res/imp/botpage/"> <temp
     late> <style include="single-page-style">.wrapper{display:table;margin-left:auto
     ;margin-bottom:10px}paper-checkbox{margin-left:5px}.thick{border-top-style:solid
     }</style> <url-param name="show_full_names" value="{{_show_full_names}}"> </url-
     param> <url-param name="show_all_tasks" value="{{_show_all_tasks}}"> </url-param
     > <url-param name="sort_stats" value="{{_sortstr}}" default_value="total:desc"> 
     </url-param> <div class="wrapper"> <table> <thead on-sort_change="_sortChange"> 
     <tr> <th> <span>Name</span> <sort-toggle name="full_name" current="[[_sort]]"> <
     /sort-toggle> </th> <th> <span>Total</span> <sort-toggle name="total" current="[
     [_sort]]"> </sort-toggle> </th> <th> <span>Success</span> <sort-toggle name="suc
     cess" current="[[_sort]]"> </sort-toggle> </th> <th> <span>Failed</span> <sort-t
     oggle name="failed" current="[[_sort]]"> </sort-toggle> </th> <th> <span>Died</s
     pan> <sort-toggle name="bot_died" current="[[_sort]]"> </sort-toggle> </th> <th>
      <span>Average Duration</span> <sort-toggle name="avg_duration" current="[[_sort
     ]]"> </sort-toggle> </th> <th> <span>Total Duration</span> <sort-toggle name="to
     tal_time" current="[[_sort]]"> </sort-toggle> </th> <th>Percent of Total</th> </
     tr> </thead> <tbody> <template is="dom-repeat" items="[[_tasksToShow]]" as="task
     "> <tr> <td hidden$="[[_truthy(_show_full_names)]]" title="[[task.full_name]]">[
     [task.name]]</td> <td hidden$="[[_not(_show_full_names)]]" title="[[task.full_na
     me]]">[[task.full_name]]</td> <td>[[task.total]]</td> <td>[[task.success]]</td> 
     <td>[[task.failed]]</td> <td>[[task.bot_died]]</td> <td>[[_humanDuration(task.av
     g_duration)]]</td> <td>[[_humanDuration(task.total_time)]]</td> <td>[[task.total
     _time_percent]]%</td> </tr> </template> </tbody> <tbody><tr class="thick"> <td>T
     otal</td> <td>[[_totalStats.total]]</td> <td>[[_totalStats.success]]</td> <td>[[
     _totalStats.failed]]</td> <td>[[_totalStats.bot_died]]</td> <td>[[_humanDuration
     (_totalStats.avg_duration)]]</td> <td>[[_humanDuration(_totalStats.total_time)]]
     </td> <td>100.0%</td> </tr> </tbody></table> <div> <table> <thead> <tr> <th titl
     e="How much time passed between the oldest task fetched and now."> Total Wall Ti
     me </th> <th title="How much of the wall time this bot was busy with a task."> W
     all Time Utilization </th> </tr> </thead> <tbody> <tr> <td>[[_humanDuration(_tot
     alStats.wall_time)]]</td> <td>[[_totalStats.wall_time_utilization]]%</td> </tr> 
     </tbody> </table> <paper-checkbox checked="{{_show_full_names}}"> Show Full Name
     s </paper-checkbox> <paper-checkbox hidden$="[[_cannotExpand]]" checked="{{_show
     _all_tasks}}"> Show All Tasks </paper-checkbox> </div> </div> </template> <scrip
     t>!function(){var t=15;Polymer({is:"bot-page-summary",behaviors:[SwarmingBehavio
     rs.BotPageBehavior],properties:{tasks:{type:Array},_cannotExpand:{type:Boolean,c
     omputed:"_countTasks(_taskStats.*)"},_show_all_tasks:{type:Boolean},_show_full_n
     ames:{type:Boolean},_sortstr:{type:String},_sort:{type:Object,computed:"_makeSor
     tObject(_sortstr)"},_taskStats:{type:Array},_tasksToShow:{type:Array,computed:"_
     sortAndLimitTasks(_taskStats.*,_sort.*,_show_all_tasks)"},_totalStats:{type:Obje
     ct}},observers:["_aggregate(tasks.*)"],_aggregate:function(){if(this.tasks&&this
     .tasks.length){var t=new Date(1e3*sk.now()),a={},e={total:this.tasks.length,succ
     ess:0,failed:0,bot_died:0,avg_duration:0,total_time:0,wall_time:(t-this.tasks[th
     is.tasks.length-1].started_ts)/1e3};this.tasks.forEach(function(t){var s=t.name.
     trim(),i=s.split("/");5===i.length&&(s=i[0]+"/"+i[3]),a[s]||(a[s]={full_name:s,n
     ame:s,total:0,success:0,failed:0,bot_died:0,avg_duration:0,total_time:0}),a[s].t
     otal++,t.failure?(e.failed++,a[s].failed++):t.internal_failure?(e.bot_died++,a[s
     ].bot_died++):(e.success++,a[s].success++),e.total_time+=t.duration,a[s].total_t
     ime+=t.duration}),e.avg_duration=e.total_time/e.total,e.wall_time_utilization=(1
     00*e.total_time/e.wall_time).toFixed(1),this.set("_totalStats",e);var s=Object.k
     eys(a),i=[];s.forEach(function(t){a[t].avg_duration=a[t].total_time/a[t].total,a
     [t].total_time_percent=(100*a[t].total_time/e.total_time).toFixed(1),i.push(a[t]
     )});var o=new Substrings({minOccurrence:Math.max(2,s.length-1),minLength:6});o.b
     uild(s);var n=o.weighByAverage()||[];n.length&&n[0].source.forEach(function(t){v
     ar a=i[t].full_name;i[t].name=a.replace(n[0].name,"...")}),this.set("_taskStats"
     ,i)}},_compare:function(t,a){if(!this._sort)return 0;var e=1;return"desc"===this
     ._sort.direction&&(e=-1),e*swarming.naturalCompare(t[this._sort.name],a[this._so
     rt.name])},_countTasks:function(){return this._taskStats.length<=t},_makeSortObj
     ect:function(t){if(t){var a=t.split(":");return 2!=a.length?{name:"full_name",di
     rection:"asc"}:{name:a[0],direction:a[1]}}},_sortAndLimitTasks:function(){swarmi
     ng.stableSort(this._taskStats,this._compare.bind(this));var a=this._taskStats.le
     ngth;return!this._show_all_tasks&&this._taskStats.length>t&&(a=t),this._taskStat
     s.slice(0,a)},_sortChange:function(t){t&&t.detail&&t.detail.name&&(t.preventDefa
     ult(),t.stopPropagation(),this.set("_sortstr",t.detail.name+":"+t.detail.directi
     on))}})}()</script> </dom-module><dom-module id="bot-page" assetpath="/res/imp/b
     otpage/"> <template> <style include="iron-flex iron-flex-alignment iron-position
     ing swarming-app-style single-page-style task-style">.message{white-space:pre-li
     ne;font-family:monospace}.bot_state{white-space:pre;font-family:monospace;margin
     -bottom:10px}.events_table,.tasks_table{border:3px solid #1F78B4}.old_version{ba
     ckground-color:#ffd}.stats{min-width:700px;flex-grow:2}#collapse{max-width:700px
     }paper-checkbox{--paper-checkbox-label-color:#fff;--paper-checkbox-checked-color
     :#fff;--paper-checkbox-checkmark-color:#000;--paper-checkbox-unchecked-color:#ff
     f;padding:3px}paper-dialog{border-radius:6px}</style> <url-param name="id" value
     ="{{bot_id}}"> </url-param> <url-param name="show_all_events" value="{{_show_all
     }}"> </url-param> <url-param name="selected" value="{{_selected}}"> </url-param>
      <url-param name="show_state" value="{{_show_state}}"> </url-param> <swarming-ap
     p client_id="[[client_id]]" auth_headers="{{_auth_headers}}" permissions="{{_per
     missions}}" server_version="{{_server_version}}" signed_in="{{_signed_in}}" busy
     ="[[_or(_busy1,_busy2,_busy3)]]" name="Swarming Bot Page"> <h2 hidden$="[[_signe
     d_in]]">You must sign in to see anything useful.</h2> <div hidden$="[[_not(_sign
     ed_in)]]"> <bot-page-data id="data" auth_headers="[[_auth_headers]]" bot_id="[[b
     ot_id]]" bot="{{_bot}}" busy="{{_busy1}}" events="{{_events}}" tasks="{{_tasks}}
     " on-reload="_clearAndReload"> </bot-page-data> <div class="header horizontal la
     yout"> <paper-input class="id_input" label="Bot id" value="{{bot_id}}"></paper-i
     nput> <button on-click="_refresh"> <iron-icon class="refresh" icon="icons:refres
     h"></iron-icon> </button> </div> <div class="horizontal wrap layout"> <div class
     ="flex"> <table> <tbody><tr class$="[[_isDead(_bot)]]" title="Last time the bot 
     contacted the server."> <td>Last Seen</td> <td title="[[_bot.human_last_seen_ts]
     ]"> [[_timeDiffExact(_bot.last_seen_ts)]] ago</td> <td> <template is="dom-if" if
     ="[[_canShutdown(_bot,_permissions)]]"> <button class="raised" on-click="_prompt
     Shutdown"> Shut Down Gracefully </button> </template> <template is="dom-if" if="
     [[_canDelete(_bot,_permissions)]]"> <button class="raised" on-click="_promptDele
     te"> Delete </button> </template> </td> </tr> <template is="dom-if" if="[[_bot.q
     uarantined]]"> <tr class="quarantined"> <td>Quarantined</td> <td colspan="2" cla
     ss="message">[[_quarantineMessage(_bot)]]</td> </tr> </template> <tr> <td>Curren
     t Task</td> <td> <a target="_blank" href$="[[_taskLink(_bot.task_id)]]"> [[_task
     (_bot)]] </a> </td> <td> </td> </tr> <tr> <td rowspan$="[[_numRows(_bot.dimensio
     ns)]]">Dimensions</td> </tr> <template is="dom-repeat" items="[[_bot.dimensions]
     ]" as="dim"> <tr> <td>[[dim.key]]</td> <td>[[_concat(dim.value)]]</td> </tr> </t
     emplate> <tr title="IP address that the server saw the connection from."> <td>Ex
     ternal IP</td> <td><a href$="[[_bot.external_ip]]">[[_bot.external_ip]]</a></td>
      <td></td> </tr> <tr class$="[[_classVersion(_server_version.bot_version,_bot.ve
     rsion)]]" title="Version is based on the content of swarming_bot.zip which is th
     e swarming bot code. The bot won't update if quarantined, dead, or busy."> <td>B
     ot Version</td> <td>[[_shorten(_bot.version,'8')]]</td> <td></td> </tr> <tr titl
     e="The version the server expects the bot to be using."> <td>Expected Bot Versio
     n</td> <td>[[_shorten(_server_version.bot_version,'8')]]</td> <td></td> </tr> <t
     r title="First time ever a bot with this id contacted the server."> <td>First se
     en</td> <td title="[[_bot.human_first_seen_ts]]"> [[_timeDiffApprox(_bot.first_s
     een_ts)]] ago </td> <td></td> </tr> <tr title="How the bot is authenticated by t
     he server."> <td>Authenticated as</td> <td colspan="2">[[_bot.authenticated_as]]
     </td> </tr> </tbody></table> <span class="title">State</span> <template is="dom-
     if" if="[[_not(_show_state)]]"> <button on-click="_toggleState"> <iron-icon icon
     ="icons:add-circle-outline"></iron-icon> </button> </template> <template is="dom
     -if" if="[[_show_state]]"> <button on-click="_toggleState"> <iron-icon icon="ico
     ns:remove-circle-outline"></iron-icon> </button> </template> <iron-collapse id="
     collapse" opened="[[_show_state]]"> <div class="bot_state">[[_prettyPrint(_bot.s
     tate)]]</div> </iron-collapse> </div> <div class="stats flex"> <bot-page-summary
      tasks="[[_tasks]]"> </bot-page-summary> </div> </div> <div class="tabs"> <paper
     -tabs selected="{{_selected}}" no-bar=""> <paper-tab>Tasks</paper-tab> <paper-ta
     b>Events</paper-tab> </paper-tabs> <template is="dom-if" if="[[_showEvents]]"> <
     paper-checkbox checked="{{_show_all}}"> Show all events </paper-checkbox> </temp
     late> </div> <template is="dom-if" if="[[_not(_showEvents)]]"> <table class="tas
     ks_table"> <thead> <tr> <th>Task</th> <th>Started</th> <th>Duration</th> <th>Res
     ult</th> </tr> </thead> <tbody> <template is="dom-repeat" items="{{_tasks}}" as=
     "task"> <tr class$="[[_taskClass(task)]]"> <td><a target="_blank" href$="[[_task
     Link(task.task_id)]]">[[task.name]]</a></td> <td>[[task.human_started_ts]]</td> 
     <td title="[[task.human_completed_ts]]">[[task.human_duration]]</td> <td>[[task.
     state]]</td> </tr> </template> </tbody> </table> </template> <template is="dom-i
     f" if="[[_showEvents]]"> <table class="events_table"> <thead> <tr> <th>Message</
     th> <th>Type</th> <th>Timestamp</th> <th>Task ID</th> <th>Version</th> </tr> </t
     head> <tbody> <template is="dom-repeat" items="{{_eventList(_show_all,_events.*)
     }}" as="event"> <tr> <td class="message">[[event.message]]</td> <td>[[event.even
     t_type]]</td> <td>[[event.human_ts]]</td> <td><a target="_blank" href$="[[_taskL
     ink(event.task_id)]]">[[event.task_id]]</a></td> <td class$="[[_classVersion(_se
     rver_version.bot_version,event.version)]]"> <a target="_blank" href$="[[_luciLin
     k(event.version)]]">[[_shorten(event.version,'8')]]</a> </td> </tr> </template> 
     </tbody> </table> </template> <pageable-data id="page_tasks" hidden$="[[_showEve
     nts]]" busy="{{_busy2}}" label="Show more tasks" output="{{_tasks}}" parse="[[_p
     arseTasks]]"> </pageable-data> <pageable-data id="page_events" hidden$="[[_not(_
     showEvents)]]" busy="{{_busy3}}" label="Show more events" output="{{_events}}" p
     arse="[[_parseEvents]]"> </pageable-data> </div> </swarming-app> <paper-dialog i
     d="prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2>Are you sure?</h
     2> <div>Are you sure you want to [[_dialogPrompt]]?</div> <div class="buttons"> 
     <paper-button dialog-dismiss="" autofocus="">No</paper-button> <paper-button dia
     log-confirm="">Yes</paper-button> </div> </paper-dialog> <error-toast></error-to
     ast> </template> <script> (function(){ |  620   })(); </script> </dom-module> <dom-module id="paper-button" assetpath="/res/im
     p/bower_components/paper-button/"> <template strip-whitespace=""> <style include
     ="paper-material-shared-styles">:host{@apply(--layout-inline);@apply(--layout-ce
     nter-center);position:relative;box-sizing:border-box;min-width:5.14em;margin:0 .
     29em;background:0 0;-webkit-tap-highlight-color:transparent;-webkit-tap-highligh
     t-color:transparent;font:inherit;text-transform:uppercase;outline-width:0;border
     -radius:3px;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;
     user-select:none;cursor:pointer;z-index:0;padding:.7em .57em;@apply(--paper-font
     -common-base);@apply(--paper-button)}:host([hidden]){display:none!important}:hos
     t([raised].keyboard-focus){font-weight:700;@apply(--paper-button-raised-keyboard
     -focus)}:host(:not([raised]).keyboard-focus){font-weight:700;@apply(--paper-butt
     on-flat-keyboard-focus)}:host([disabled]){background:#eaeaea;color:#a8a8a8;curso
     r:auto;pointer-events:none;@apply(--paper-button-disabled)}:host([animated]){@ap
     ply(--shadow-transition)}paper-ripple{color:var(--paper-button-ink-color)}</styl
     e> <content></content> </template> <script>Polymer({is:"paper-button",behaviors:
     [Polymer.PaperButtonBehavior],properties:{raised:{type:Boolean,reflectToAttribut
     e:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){th
     is.raised?Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this):this._
     setElevation(0)}})</script> </dom-module> <script>Polymer.NeonAnimatableBehavior
     ={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnim
     ationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:
     String}},_entryAnimationChanged:function(){this.animationConfig=this.animationCo
     nfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exi
     tAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.
     animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:func
     tion(i,n){for(var t in n)i[t]=n[t]},_cloneConfig:function(i){var n={isClone:!0};
     return this._copyProperties(n,i),n},_getAnimationConfigRecursive:function(i,n,t)
     {if(this.animationConfig){if(this.animationConfig.value&&"function"==typeof this
     .animationConfig.value)return void this._warn(this._logf("playAnimation","Please
      put 'animationConfig' inside of your components 'properties' object instead of 
     outside of it."));var o;if(o=i?this.animationConfig[i]:this.animationConfig,Arra
     y.isArray(o)||(o=[o]),o)for(var e,a=0;e=o[a];a++)if(e.animatable)e.animatable._g
     etAnimationConfigRecursive(e.type||i,n,t);else if(e.id){var r=n[e.id];r?(r.isClo
     ne||(n[e.id]=this._cloneConfig(r),r=n[e.id]),this._copyProperties(r,e)):n[e.id]=
     e}else t.push(e)}},getAnimationConfig:function(i){var n={},t=[];this._getAnimati
     onConfigRecursive(i,n,t);for(var o in n)t.push(n[o]);return t}}</script> <script
     >Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(n){var i
     =[];if(n.length>0)for(var e,t=0;e=n[t];t++){var o=document.createElement(e.name)
     ;if(o.isNeonAnimation){var a=null;try{a=o.configure(e),"function"!=typeof a.canc
     el&&(a=document.timeline.play(a))}catch(n){a=null,console.warn("Couldnt play","(
     ",e.name,").",n)}a&&i.push({neonAnimation:o,config:e,animation:a})}else console.
     warn(this.is+":",e.name,"not found!")}return i},_shouldComplete:function(n){for(
     var i=!0,e=0;e<n.length;e++)if("finished"!=n[e].animation.playState){i=!1;break}
     return i},_complete:function(n){for(var i=0;i<n.length;i++)n[i].neonAnimation.co
     mplete(n[i].config);for(var i=0;i<n.length;i++)n[i].animation.cancel()},playAnim
     ation:function(n,i){var e=this.getAnimationConfig(n);if(e){this._active=this._ac
     tive||{},this._active[n]&&(this._complete(this._active[n]),delete this._active[n
     ]);var t=this._configureAnimations(e);if(0==t.length)return void this.fire("neon
     -animation-finish",i,{bubbles:!1});this._active[n]=t;for(var o=0;o<t.length;o++)
     t[o].animation.onfinish=function(){this._shouldComplete(t)&&(this._complete(t),d
     elete this._active[n],this.fire("neon-animation-finish",i,{bubbles:!1}))}.bind(t
     his)}},cancelAnimation:function(){for(var n in this._animations)this._animations
     [n].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.
     NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl]</script> <script
     >Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog",tabindex:"-1"},p
     roperties:{modal:{type:Boolean,value:!1}},observers:["_modalChanged(modal, _read
     ied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOu
     tsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancel
     OnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChanged:function(i,e){
     e&&(i?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prev
     NoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop
     ,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(
     this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOu
     tsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEsc
     Key,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosi
     ngReasonConfirmed:function(i){this.closingReason=this.closingReason||{},this.clo
     singReason.confirmed=i},_onDialogClick:function(i){for(var e=Polymer.dom(i).path
     ,o=0;o<e.indexOf(this);o++){var t=e[o];if(t.hasAttribute&&(t.hasAttribute("dialo
     g-dismiss")||t.hasAttribute("dialog-confirm"))){this._updateClosingReasonConfirm
     ed(t.hasAttribute("dialog-confirm")),this.close(),i.stopPropagation();break}}}},
     Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polymer.PaperDialogBeha
     viorImpl]</script> <dom-module id="paper-dialog-shared-styles" assetpath="/res/i
     mp/bower_components/paper-dialog-behavior/"> <template> <style>:host{display:blo
     ck;margin:24px 40px;background:var(--paper-dialog-background-color,--primary-bac
     kground-color);color:var(--paper-dialog-color,--primary-text-color);@apply(--pap
     er-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-dialog)}:host>::co
     ntent>*{margin-top:20px;padding:0 24px}:host>::content>.no-padding{padding:0}:ho
     st>::content>:first-child{margin-top:24px}:host>::content>:last-child{margin-bot
     tom:24px}:host>::content h2{position:relative;margin:0;@apply(--paper-font-title
     );@apply(--paper-dialog-title)}:host>::content .buttons{position:relative;paddin
     g:8px 8px 8px 24px;margin:0;color:var(--paper-dialog-button-color,--primary-colo
     r);@apply(--layout-horizontal);@apply(--layout-end-justified)}</style> </templat
     e> </dom-module> <dom-module id="paper-dialog" assetpath="/res/imp/bower_compone
     nts/paper-dialog/"> <template> <style include="paper-dialog-shared-styles"></sty
     le> <content></content> </template> </dom-module> <script>!function(){Polymer({i
     s:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Polymer.NeonAnimationRun
     nerBehavior],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_rende
     rOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderCl
     osed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimat
     ionFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderCl
     osed()}})}()</script> <script>window.SwarmingBehaviors=window.SwarmingBehaviors|
     |{},function(){SwarmingBehaviors.TaskBehavior={properties:{BOT_DIED:{type:String
     ,value:"BOT_DIED"},CANCELED:{type:String,value:"CANCELED"},COMPLETED:{type:Strin
     g,value:"COMPLETED"},COMPLETED_DEDUPED:{type:String,value:"COMPLETED (DEDUPED)"}
     ,COMPLETED_FAILURE:{type:String,value:"COMPLETED (FAILURE)"},COMPLETED_SUCCESS:{
     type:String,value:"COMPLETED (SUCCESS)"},EXPIRED:{type:String,value:"EXPIRED"},P
     ENDING:{type:String,value:"PENDING"},RUNNING:{type:String,value:"RUNNING"},TIMED
     _OUT:{type:String,value:"TIMED_OUT"}},stateClass:function(E){return E===this.CAN
     CELED||E===this.TIMED_OUT||E===this.EXPIRED?"exception":E===this.BOT_DIED?"bot_d
     ied":E===this.COMPLETED_FAILURE?"failed_task":E===this.RUNNING||E===this.PENDING
     ?"pending_task":""}}}()</script> <dom-module id="task-style" assetpath="/res/imp
     /common/"> <template> <style>.failed_task{background-color:#fdd}.bot_died{backgr
     ound-color:#ccc}.exception{background-color:#edd2ff}.pending_task{background-col
     or:#fffc6c}</style> </template> </dom-module><dom-module id="task-filters" asset
     path="/res/imp/tasklist/"> <template> <style is="custom-style" include="iron-fle
     x iron-flex-alignment iron-positioning query-column-filter-style">.item.wide{max
     -width:400px}.selector.wide{min-width:275px}</style> <url-param name="f" value="
     {{_filters}}" default_values="[]" multi=""> </url-param> <url-param name="c" val
     ue="{{columns}}" default_values="["name","state","creat
     ed_ts","user"]" multi=""> </url-param> <url-param name="q" value=
     "{{_query}}" default_value=""> </url-param> <url-param name="l" default_value="5
     0" value="{{_limit}}"> </url-param> <div class="container horizontal layout"> <d
     iv class="narrow-down-selector"> <div> <iron-a11y-keys target="[[_filter_input]]
     " keys="enter" on-keys-pressed="_manuallyAddFilter"></iron-a11y-keys> <paper-inp
     ut id="filter" label="Search columns and filters or supply a filter and press en
     ter" placeholder="gpu nvidia pool:Chrome" value="{{_query::input}}"> </paper-inp
     ut> </div> <div class="wide selector side-by-side" title="This shows all task ta
     gs and other interesting task properties. Mark the check box to add as a column.
      Select the row to see filter options."> <iron-selector attr-for-selected="label
     " selected="{{_primarySelected}}"> <template is="dom-repeat" items="[[_primaryIt
     ems]]" as="item"> <div class="selectable item horizontal layout" label="[[item]]
     "> <span>[[_beforeBold(item,_query)]]<span class="bold">[[_bold(item,_query)]]</
     span>[[_afterBold(item,_query)]]</span> <span class="flex"></span> <paper-checkb
     ox noink="" disabled$="[[_cantToggleColumn(item)]]" checked="[[_columnState(item
     ,columns.*)]]" on-change="_toggleColumn"> </paper-checkbox> </div> </template> <
     /iron-selector> </div> <div class="selector side-by-side" title="These are all o
     ptions (if any) that the task list can be filtered on."> <template is="dom-repea
     t" id="secondaryList" items="[[_secondaryItems]]" as="item"> <div class="item ho
     rizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_query)]]<span class
     ="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query)]]</span> <span cl
     ass="flex"></span> <iron-icon class="icons" icon="icons:arrow-forward" hidden="[
     [_cantAddFilter(_primarySelected,item,_filters.*)]]" on-tap="_addFilter"> </iron
     -icon> </div> </template> </div> <div class="selector side-by-side" title="These
      tag filters are AND'd together and applied to all tasks."> <template is="dom-re
     peat" items="[[_filters]]" as="fil"> <div class="item horizontal layout" label="
     [[fil]]"> <span>[[fil]]</span> <span class="flex"></span> <iron-icon class="icon
     s" icon="icons:remove-circle-outline" hidden="[[_cantRemoveFilter(fil,_filters.*
     )]]" on-tap="_removeFilter"> </iron-icon> </div> </template> </div> <div class="
     side-by-side"> <paper-input id="_limit" label="Limit Results" auto-validate="" m
     in="0" max="1000" pattern="[0-9]+" value="{{_limit}}"> </paper-input> </div> </d
     iv> </div> </template> <script>!function(){var t={state:function(t,i){var r=this
     ._attribute(t,"state")[0];if(i===r||"ALL"===i)return!0;if("PENDING_RUNNING"===i)
     return r===this.PENDING||r===this.RUNNING;var e=this._attribute(t,"failure",!1)[
     0];if("COMPLETED_SUCCESS"===i)return r===this.COMPLETED&&!e;if("COMPLETED_FAILUR
     E"===i)return r===this.COMPLETED&&e;var a=this._attribute(t,"try_number","-1")[0
     ];return"DEDUPED"===i?r===this.COMPLETED&&"0"===a:void 0}};Polymer({is:"task-fil
     ters",behaviors:[SwarmingBehaviors.QueryColumnFilter,SwarmingBehaviors.TaskBehav
     ior],properties:{columns:{type:Array,notify:!0},query_params:{type:Object,comput
     ed:"_extractQueryParams(_filters.*, _limit)",notify:!0},_filterMap:{type:Object,
     value:function(){var i=this._commonFilters();for(var r in t)i[r]=t[r];return i}}
     },_cantToggleColumn:function(t){return!t||"name"===t},_extractQueryParams:functi
     on(){var t={},i=[];this._filters.forEach(function(r){var e=r.split(this.FILTER_S
     EP,1),a=e[0],s=r.substring(a.length+this.FILTER_SEP.length);"state"===a?t.state=
     [s]:("user"===a&&"none"===s&&(s=""),i.push(a+this.FILTER_SEP+swarming.alias.unap
     ply(s)))}.bind(this)),t.tags=i;var r=parseInt(this._limit);return Number.isInteg
     er(r)&&(r=Math.max(r,1),r=Math.min(1e3,r),t.limit=[r],this._limit!=r&&this.set("
     _limit",r)),t}})}()</script> </dom-module><dom-module id="task-list-data" assetp
     ath="/res/imp/tasklist/"> <script>!function(){var t=["abandoned_ts","completed_t
     s","created_ts","modified_ts","started_ts"];Polymer({is:"task-list-data",behavio
     rs:[SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:
     {auth_headers:{type:Object,observer:"signIn"},query_params:{type:Object},tasks:{
     type:Array},busy:{type:Boolean,computed:"_or(_busy2,_busy1)",notify:!0},primary_
     map:{type:Object,computed:"_primaryMap(_tags,_dimensions,tasks.*)",notify:!0},pr
     imary_arr:{type:Array,computed:"_primaryArr(primary_map)",notify:!0},_busy2:{typ
     e:Boolean,value:!1},_busy1:{type:Boolean,value:!1},_dimensions:{type:Object},_li
     st:{type:Object},_tags:{type:Object}},signIn:function(){this._getJsonAsync("_tag
     s","/_ah/api/swarming/v1/tasks/tags","_busy2",this.auth_headers),this._getJsonAs
     ync("_dimensions","/_ah/api/swarming/v1/bots/dimensions","_busy1",this.auth_head
     ers)},_primaryArr:function(t){var a=Object.keys(t);return a.sort(),a},_primaryMa
     p:function(a,s){a=a&&a.tasks_tags||[],s=s&&s.bots_dimensions||[],tasks=this.task
     s||[];var e={};a.forEach(function(t){e[t.key]||(e[t.key]={});var a=t.value||[];a
     .forEach(function(a){e[t.key][a]=!0})}),s.forEach(function(t){var a=t.value;e[t.
     key]||(e[t.key]={}),a.forEach(function(a){e[t.key][a]=!0})}),tasks.forEach(funct
     ion(t){Object.keys(t.tagMap).forEach(function(a){var s=t.tagMap[a];e[a]||(e[a]={
     }),e[a][s]=!0})}),delete e.user[""],e.user.none=!0;var r={};for(key in e){var i=
     Object.keys(e[key]);if(swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(key)===-1)
     r[key]=i;else{var n=[];i.forEach(function(t){n.push(swarming.alias.apply(t,key))
     }),r[key]=n}}return r.name=[],r.state=[this.PENDING,this.RUNNING,"PENDING_RUNNIN
     G",this.COMPLETED,"COMPLETED_SUCCESS","COMPLETED_FAILURE",this.EXPIRED,this.TIME
     D_OUT,this.BOT_DIED,this.CANCELED,"DEDUPED","ALL"],r.costs_usd=[],r.deduped_from
     =[],r.duration=[],r.server_versions=[],r.bot=[],t.forEach(function(t){r[t]=[]}),
     r},parseTasks:function(a){if(console.log("ping",a),!a||!a.items)return[];var s=n
     ew Date;return a.items.forEach(function(a){var e={};a.tags=a.tags||[],a.tags.for
     Each(function(t){var a=t.split(":",1),s=a[0],r=t.substring(s.length+1);e[s]=r}),
     a.tagMap=e,t.forEach(function(t){a[t]&&(a[t]=new Date(a[t]),a["human_"+t]=sk.hum
     an.localeTime(a[t]))}),!a.duration&&a.state===this.RUNNING&&a.started_ts&&(a.dur
     ation=(s-a.started_ts)/1e3),a.duration&&(a.human_duration=this._humanDuration(a.
     duration))}.bind(this)),a.items}})}()</script> </dom-module> <dom-module id="tas
     k-list" assetpath="/res/imp/tasklist/"> <template> <style include="iron-flex iro
     n-flex-alignment iron-positioning swarming-app-style dynamic-table-style task-st
     yle">task-filters{margin-bottom:8px;margin-right:10px}.task-list th>span{padding
     -right:30px}</style> <url-param name="s" value="{{_sortstr}}" default_value="cre
     ated_ts:desc"> </url-param> <swarming-app client_id="[[client_id]]" auth_headers
     ="{{_auth_headers}}" permissions="{{_permissions}}" signed_in="{{_signed_in}}" b
     usy="[[_or(_busy1,_busy2)]]" name="Swarming Task List"> <h2 hidden$="[[_signed_i
     n]]">You must sign in to see anything useful.</h2> <div hidden$="[[_not(_signed_
     in)]]"> <task-list-data id="data" auth_headers="[[_auth_headers]]" query_params=
     "[[_query_params]]" tasks="[[_items]]" busy="{{_busy1)}}" primary_map="{{_primar
     y_map}}" primary_arr="{{_primary_arr}}"> </task-list-data> <div class="horizonta
     l layout"> <task-filters primary_map="[[_primary_map]]" primary_arr="[[_primary_
     arr]]" columns="{{_columns}}" query_params="{{_query_params}}" filter="{{_filter
     }}"> </task-filters> </div> <table class="task-list"> <thead on-sort_change="_so
     rtChange"> <tr> <th> <span>Task Name</span> <sort-toggle name="name" current="[[
     _sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('state', _columns.*)]]"> <sp
     an>State</span> <sort-toggle name="state" current="[[_sort]]"> </sort-toggle> </
     th> <th hidden$="[[_hide('bot', _columns.*)]]"> <span>Bot Assigned</span> <sort-
     toggle name="bot" current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide
     ('deduped_from', _columns.*)]]"> <span>Deduped from</span> <sort-toggle name="de
     duped_from" current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('sk_r
     evision', _columns.*)]]"> <span>Skia Revision</span> <sort-toggle name="sk_revis
     ion" current="[[_sort]]"> </sort-toggle> </th> <template is="dom-repeat" items="
     [[_plainColumns]]" as="c"> <th hidden$="[[_hide(c)]]"> <span>[[_header(c)]]</spa
     n> <sort-toggle name="[[c]]" current="[[_sort]]"> </sort-toggle> </th> </templat
     e> </tr> </thead> <tbody> <template id="tasks_table" is="dom-repeat" items="[[_f
     ilteredSortedItems]]" as="task" initial-count="50"> <tr class$="[[_taskClass(tas
     k)]]"> <td> <a class="center" href$="[[_taskLink(task.task_id)]]" target="_blank
     "> [[task.name]] </a> </td> <td hidden$="[[_hide('state', _columns.*)]]"> [[_col
     umn('state', task)]] <paper-button raised="" hidden$="[[_cannotCancel(task,_perm
     issions)]]" on-tap="_promptCancel"> Cancel </paper-button> </td> <td hidden$="[[
     _hide('bot', _columns.*)]]"> <a class="center" href$="[[_botLink(task.bot_id)]]"
      target="_blank"> [[_column('bot',task)]] </a> </td> <td hidden$="[[_hide('dedup
     ed_from', _columns.*)]]"> <a class="center" href$="[[_taskLink(task.deduped_from
     )]]" target="_blank"> [[_column('deduped_from',task)]] </a> </td> <td hidden$="[
     [_hide('sk_revision', _columns.*)]]"> <a class="center" href$="[[_skLink(task)]]
     " target="_blank"> [[_column('sk_revision',task)]] </a> </td> <template is="dom-
     repeat" items="[[_plainColumns]]" as="c"> <td hidden$="[[_hide(c)]]"> [[_column(
     c, task)]] </td> </template> </tr> </template> </tbody> </table> <pageable-data 
     id="page_tasks" busy="{{_busy2}}" label="Show more tasks" output="{{_items}}" pa
     rse="[[_parseTasks]]"> </pageable-data> </div> </swarming-app> <paper-dialog id=
     "prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2>Are you sure?</h2>
      <div>Are you sure you want to [[_dialogPrompt]]?</div> <div class="buttons"> <p
     aper-button dialog-dismiss="" autofocus="">No</paper-button> <paper-button dialo
     g-confirm="">Yes</paper-button> </div> </paper-dialog> <error-toast></error-toas
     t> </template> <script>!function(){function t(t){return function(e){return this.
     _attribute(e,"human_"+t)[0]}}function e(t){return function(e,a,s){var i=this._at
     tribute(a,t,"0")[0],r=this._attribute(s,t,"0")[0];return e*(i-r)}}var a=["dedupe
     d_from","name","state","bot"],s={abandoned_ts:t("abandoned_ts"),bot:function(t){
     return this._attribute(t,"bot_id")[0]},completed_ts:t("completed_ts"),costs_usd:
     function(t){return this._attribute(t,"costs_usd",0)[0]},created_ts:t("created_ts
     "),duration:t("duration"),modified_ts:t("modified_ts"),sk_revision:function(t){v
     ar e=this._attribute(t,"sk_revision")[0];return e.substring(0,8)},started_ts:t("
     started_ts"),state:function(t){var e=this._attribute(t,"state")[0];if("COMPLETED
     "===e){if(this._attribute(t,"failure",!1)[0])return"COMPLETED (FAILURE)";var a=t
     his._attribute(t,"try_number","-1")[0];return"0"===a?"COMPLETED (DEDUPED)":"COMP
     LETED (SUCCESS)"}return e}},i={user:"Requesting User"},r={abandoned_ts:e("abando
     ned_ts"),completed_ts:e("completed_ts"),created_ts:e("created_ts"),duration:e("d
     uration"),modified_ts:e("modified_ts"),started_ts:e("started_ts")};Polymer({is:"
     task-list",behaviors:[SwarmingBehaviors.DynamicTableBehavior,SwarmingBehaviors.T
     askBehavior],properties:{client_id:{type:String},_busy1:{type:Boolean,value:!1},
     _busy2:{type:Boolean,value:!1},_parseTasks:{type:Function,value:function(){retur
     n this.$.data.parseTasks.bind(this)}},_toCancel:{type:String},_columnMap:{type:O
     bject,value:function(){var t=this._commonColumns();for(var e in s)t[e]=s[e];retu
     rn t}},_headerMap:{type:Object,value:i},_specialColumns:{type:Array,value:a},_sp
     ecialSort:{type:Object,value:r}},observers:["reload(_query_params,_auth_headers)
     "],_attribute:function(t,e,a){void 0===a&&(a="none");var s=this._tag(t,e)||t[e]|
     |[a];return Array.isArray(s)?s:[s]},_cannotCancel:function(t,e){return!(e&&e.can
     cel_task&&"PENDING"===this._column("state",t))},_cancelTask:function(){var t="/_
     ah/api/swarming/v1/task/"+this._toCancel+"/cancel";swarming.postWithToast(t,"Can
     celing task "+this._toCancel,this._auth_headers),this.set("_toCancel","")},_prom
     ptClosed:function(t){t.detail.confirmed&&this._cancelTask()},_promptCancel:funct
     ion(t){var e=t.model.task;return e&&e.task_id?(this.set("_toCancel",e.task_id),t
     his.set("_dialogPrompt",'cancel task "'+e.name+'"'),void this.$.prompt.open()):v
     oid console.log("Missing task info",e)},reload:function(){if(this._auth_headers&
     &this._query_params){var t="/_ah/api/swarming/v1/tasks/list?"+sk.query.fromParam
     Set(this._query_params);this.$.page_tasks.load(t,this._auth_headers)}},_skLink:f
     unction(t){var e=this._attribute(t,"sk_revision")[0];if("none"!==e)return"https:
     //skia.googlesource.com/skia/+/"+e},_tag:function(t,e){if(t&&t.tagMap)return t.t
     agMap[e]},_taskClass:function(t){return this.stateClass(this._column("state",t))
     }})}()</script> </dom-module> <dom-module id="iron-collapse" assetpath="/res/imp
     /bower_components/iron-collapse/"> <template> <style>:host{display:block;transit
     ion-duration:var(--iron-collapse-transition-duration,300ms);overflow:visible}:ho
     st(.iron-collapse-closed){display:none}:host(:not(.iron-collapse-opened)){overfl
     ow:hidden}</style> <content></content> </template> </dom-module> <script>Polymer
     ({is:"iron-collapse",behaviors:[Polymer.IronResizableBehavior],properties:{horiz
     ontal:{type:Boolean,value:!1,observer:"_horizontalChanged"},opened:{type:Boolean
     ,value:!1,notify:!0,observer:"_openedChanged"},noAnimation:{type:Boolean},_desir
     edSize:{type:String,value:""}},get dimension(){return this.horizontal?"width":"h
     eight"},get _dimensionMax(){return this.horizontal?"maxWidth":"maxHeight"},get _
     dimensionMaxCss(){return this.horizontal?"max-width":"max-height"},hostAttribute
     s:{role:"group","aria-hidden":"true","aria-expanded":"false"},listeners:{transit
     ionend:"_transitionEnd"},attached:function(){this._transitionEnd()},toggle:funct
     ion(){this.opened=!this.opened},show:function(){this.opened=!0},hide:function(){
     this.opened=!1},updateSize:function(i,t){if(i="auto"===i?"":i,this._desiredSize!
     ==i){this._desiredSize=i,this._updateTransition(!1);var e=t&&!this.noAnimation&&
     this._isDisplayed;if(e){var n=this._calcSize();""===i&&(this.style[this._dimensi
     onMax]="",i=this._calcSize()),this.style[this._dimensionMax]=n,this.scrollTop=th
     is.scrollTop,this._updateTransition(!0),e=i!==n}this.style[this._dimensionMax]=i
     ,e||this._transitionEnd()}},enableTransition:function(i){Polymer.Base._warn("`en
     ableTransition()` is deprecated, use `noAnimation` instead."),this.noAnimation=!
     i},_updateTransition:function(i){this.style.transitionDuration=i&&!this.noAnimat
     ion?"":"0s"},_horizontalChanged:function(){this.style.transitionProperty=this._d
     imensionMaxCss;var i="maxWidth"===this._dimensionMax?"maxHeight":"maxWidth";this
     .style[i]="",this.updateSize(this.opened?"auto":"0px",!1)},_openedChanged:functi
     on(){this.setAttribute("aria-expanded",this.opened),this.setAttribute("aria-hidd
     en",!this.opened),this.toggleClass("iron-collapse-closed",!1),this.toggleClass("
     iron-collapse-opened",!1),this.updateSize(this.opened?"auto":"0px",!0),this.open
     ed&&this.focus()},_transitionEnd:function(){this.style[this._dimensionMax]=this.
     _desiredSize,this.toggleClass("iron-collapse-closed",!this.opened),this.toggleCl
     ass("iron-collapse-opened",this.opened),this._updateTransition(!1),this.notifyRe
     size()},get _isDisplayed(){var i=this.getBoundingClientRect();for(var t in i)if(
     0!==i[t])return!0;return!1},_calcSize:function(){return this.getBoundingClientRe
     ct()[this.dimension]+"px"}})</script> <script>Polymer.IronMenuBehaviorImpl={prop
     erties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},att
     rForItemTitle:{type:String}},hostAttributes:{role:"menu",tabindex:"0"},observers
     :["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydo
     wn","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:
     "_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:fun
     ction(){this._resetTabindices()},select:function(e){this._defaultFocusAsync&&(th
     is.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null);var t=this
     ._valueToItem(e);t&&t.hasAttribute("disabled")||(this._setFocusedItem(t),Polymer
     .IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices
     :function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.sele
     ctedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1"
     )},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multisele
     ctable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboard
     Event:function(e){for(var t,i=0;t=this.items[i];i++){var s=this.attrForItemTitle
     ||"textContent",o=t[s]||t.getAttribute(s);if(!t.hasAttribute("disabled")&&o&&o.t
     rim().charAt(0).toLowerCase()===String.fromCharCode(e.keyCode).toLowerCase()){th
     is._setFocusedItem(t);break}}},_focusPrevious:function(){for(var e=this.items.le
     ngth,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t
     -i+e)%e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||do
     cument;if(this._setFocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_foc
     usNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focused
     Item)),i=1;i<e+1;i++){var s=this.items[(t+i)%e];if(!s.hasAttribute("disabled")){
     var o=Polymer.dom(s).getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer
     .dom(o).activeElement==s)return}}},_applySelection:function(e,t){t?e.setAttribut
     e("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelecta
     bleBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(
     e,t){t&&t.setAttribute("tabindex","-1"),e&&(e.setAttribute("tabindex","0"),e.foc
     us())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTa
     bindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Poly
     mer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.set
     Attribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t)
     ,Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!
     Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(
     t===this||"undefined"==typeof t.tabIndex||this.isLightDescendant(t))&&(this._def
     aultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.s
     electedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedI
     tem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPre
     vious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._fo
     cusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.fo
     cusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up dow
     n esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:f
     unction(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPr
     opagation()}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuB
     ehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polyme
     r.IronMenuBehaviorImpl]</script> <script>Polymer.IronMenubarBehaviorImpl={hostAt
     tributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_o
     nUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefaul
     t()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.prev
     entDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction
     },_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.d
     etail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._
     focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKe
     ydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||thi
     s._focusWithKeyboardEvent(e)}},Polymer.IronMenubarBehavior=[Polymer.IronMenuBeha
     vior,Polymer.IronMenubarBehaviorImpl]</script> <iron-iconset-svg name="paper-tab
     s" size="24"> <svg><defs> <g id="chevron-left"><path d="M15.41 7.41L14 6l-6 6 6 
     6 1.41-1.41L10.83 12z"></path></g> <g id="chevron-right"><path d="M10 6L8.59 7.4
     1 13.17 12l-4.58 4.59L10 18l6-6z"></path></g> </defs></svg> </iron-iconset-svg> 
     <dom-module id="paper-tab" assetpath="/res/imp/bower_components/paper-tabs/"> <t
     emplate> <style>:host{@apply(--layout-inline);@apply(--layout-center);@apply(--l
     ayout-center-justified);@apply(--layout-flex-auto);position:relative;padding:0 1
     2px;overflow:hidden;cursor:pointer;vertical-align:middle;@apply(--paper-font-com
     mon-base);@apply(--paper-tab)}:host(:focus){outline:0}:host([link]){padding:0}.t
     ab-content{height:100%;transform:translateZ(0);-webkit-transform:translateZ(0);t
     ransition:opacity .1s cubic-bezier(.4,0,1,1);@apply(--layout-horizontal);@apply(
     --layout-center-center);@apply(--layout-flex-auto);@apply(--paper-tab-content)}:
     host(:not(.iron-selected))>.tab-content{opacity:.8;@apply(--paper-tab-content-un
     selected)}:host(:focus) .tab-content{opacity:1;font-weight:700}paper-ripple{colo
     r:var(--paper-tab-ink,--paper-yellow-a100)}.tab-content>::content>a{@apply(--lay
     out-flex-auto);height:100%}</style> <div class="tab-content"> <content></content
     > </div> </template> <script>Polymer({is:"paper-tab",behaviors:[Polymer.IronCont
     rolState,Polymer.IronButtonState,Polymer.PaperRippleBehavior],properties:{link:{
     type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listen
     ers:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},
     get _parentNoink(){var t=Polymer.dom(this).parentNode;return!!t&&!!t.noink},_upd
     ateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:functio
     n(t){if(this.link){var e=this.queryEffectiveChildren("a");if(!e)return;if(t.targ
     et===e)return;e.click()}}})</script> </dom-module> <dom-module id="paper-tabs" a
     ssetpath="/res/imp/bower_components/paper-tabs/"> <template> <style>:host{@apply
     (--layout);@apply(--layout-center);height:48px;font-size:14px;font-weight:500;ov
     erflow:hidden;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:non
     e;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight
     -color:transparent;@apply(--paper-tabs)}:host-context([dir=rtl]){@apply(--layout
     -horizontal-reverse)}#tabsContainer{position:relative;height:100%;white-space:no
     wrap;overflow:hidden;@apply(--layout-flex-auto)}#tabsContent{height:100%;-moz-fl
     ex-basis:auto;-ms-flex-basis:auto;flex-basis:auto}#tabsContent.scrollable{positi
     on:absolute;white-space:nowrap}#tabsContent.scrollable.fit-container,#tabsConten
     t:not(.scrollable){@apply(--layout-horizontal)}#tabsContent.scrollable.fit-conta
     iner{min-width:100%}#tabsContent.scrollable.fit-container>::content>*{-ms-flex:1
      0 auto;-webkit-flex:1 0 auto;flex:1 0 auto}.hidden{display:none}.not-visible{op
     acity:0;cursor:default}paper-icon-button{width:48px;height:48px;padding:12px;mar
     gin:0 4px}#selectionBar{position:absolute;height:2px;bottom:0;left:0;right:0;bac
     kground-color:var(--paper-tabs-selection-bar-color,--paper-yellow-a100);-webkit-
     transform:scale(0);transform:scale(0);-webkit-transform-origin:left center;trans
     form-origin:left center;transition:-webkit-transform;transition:transform;@apply
     (--paper-tabs-selection-bar)}#selectionBar.align-bottom{top:0;bottom:auto}#selec
     tionBar.expand{transition-duration:.15s;transition-timing-function:cubic-bezier(
     .4,0,1,1)}#selectionBar.contract{transition-duration:.18s;transition-timing-func
     tion:cubic-bezier(0,0,.2,1)}#tabsContent>::content>:not(#selectionBar){height:10
     0%}</style> <paper-icon-button icon="paper-tabs:chevron-left" class$="[[_compute
     ScrollButtonClass(_leftHidden, scrollable, hideScrollButtons)]]" on-up="_onScrol
     lButtonUp" on-down="_onLeftScrollButtonDown" tabindex="-1"></paper-icon-button> 
     <div id="tabsContainer" on-track="_scroll" on-down="_down"> <div id="tabsContent
     " class$="[[_computeTabsContentClass(scrollable, fitContainer)]]"> <div id="sele
     ctionBar" class$="[[_computeSelectionBarClass(noBar, alignBottom)]]" on-transiti
     onend="_onBarTransitionEnd"></div> <content select="*"></content> </div> </div> 
     <paper-icon-button icon="paper-tabs:chevron-right" class$="[[_computeScrollButto
     nClass(_rightHidden, scrollable, hideScrollButtons)]]" on-up="_onScrollButtonUp"
      on-down="_onRightScrollButtonDown" tabindex="-1"></paper-icon-button> </templat
     e> <script>Polymer({is:"paper-tabs",behaviors:[Polymer.IronResizableBehavior,Pol
     ymer.IronMenubarBehavior],properties:{noink:{type:Boolean,value:!1,observer:"_no
     inkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrol
     lable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{
     type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{ty
     pe:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type
     :Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,valu
     e:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_righ
     tHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role
     :"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":
     "_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDese
     lect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function()
     {this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTi
     meout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.b
     ind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready
     :function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function
     (){this._cancelPendingActivation()},_noinkChanged:function(t){var e=Polymer.dom(
     this).querySelectorAll("paper-tab");e.forEach(t?this._setNoinkAttribute:this._re
     moveNoinkAttribute)},_setNoinkAttribute:function(t){t.setAttribute("noink","")},
     _removeNoinkAttribute:function(t){t.removeAttribute("noink")},_computeScrollButt
     onClass:function(t,e,i){return!e||i?"hidden":t?"not-visible":""},_computeTabsCon
     tentClass:function(t,e){return t?"scrollable"+(e?" fit-container":""):" fit-cont
     ainer"},_computeSelectionBarClass:function(t,e){return t?"hidden":e?"align-botto
     m":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",functi
     on(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:func
     tion(t){this._tabChanged(t.detail.item,this._previousTab),this._previousTab=t.de
     tail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(t){this.
     debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this.
     _previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation
     (),Polymer.IronMenuBehaviorImpl._activateHandler.apply(this,arguments)},_schedul
     eActivation:function(t,e){this._pendingActivationItem=t,this._pendingActivationT
     imeout=this.async(this._bindDelayedActivationHandler,e)},_delayedActivationHandl
     er:function(){var t=this._pendingActivationItem;this._pendingActivationItem=void
      0,this._pendingActivationTimeout=void 0,t.fire(this.activateEvent,null,{bubbles
     :!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingA
     ctivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendin
     gActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:fun
     ction(t){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autosel
     ectDelay)},_onBlurCapture:function(t){t.target===this._pendingActivationItem&&th
     is._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,t
     his.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:funct
     ion(t,e){if(this.scrollable){var i=e&&-e.ddx||0;this._affectScroll(i)}},_down:fu
     nction(t){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this.
     _defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(t)
     {this.$.tabsContainer.scrollLeft+=t;var e=this.$.tabsContainer.scrollLeft;this._
     leftHidden=0===e,this._rightHidden=e===this._tabContainerScrollSize},_onLeftScro
     llButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scr
     ollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this.
     _scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._
     holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._hold
     Job=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRig
     ht:function(){this._affectScroll(this._step)},_tabChanged:function(t,e){if(!t)re
     turn this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classLis
     t.remove("contract"),void this._positionBar(0,0);var i=this.$.tabsContent.getBou
     ndingClientRect(),n=i.width,o=t.getBoundingClientRect(),s=o.left-i.left;if(this.
     _pos={width:this._calcPercent(o.width,n),left:this._calcPercent(s,n)},this.noSli
     de||null==e)return this.$.selectionBar.classList.remove("expand"),this.$.selecti
     onBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._
     pos.left);var a=e.getBoundingClientRect(),l=this.items.indexOf(e),c=this.items.i
     ndexOf(t),r=5;this.$.selectionBar.classList.add("expand");var h=l<c,d=this._isRT
     L;d&&(h=!h),h?this._positionBar(this._calcPercent(o.left+o.width-a.left,n)-r,thi
     s._left):this._positionBar(this._calcPercent(a.left+a.width-o.left,n)-r,this._ca
     lcPercent(s,n)+r),this.scrollable&&this._scrollToSelectedIfNeeded(o.width,s)},_s
     crollToSelectedIfNeeded:function(t,e){var i=e-this.$.tabsContainer.scrollLeft;i<
     0?this.$.tabsContainer.scrollLeft+=i:(i+=t-this.$.tabsContainer.offsetWidth,i>0&
     &(this.$.tabsContainer.scrollLeft+=i))},_calcPercent:function(t,e){return 100*t/
     e},_positionBar:function(t,e){t=t||0,e=e||0,this._width=t,this._left=e,this.tran
     sform("translateX("+e+"%) scaleX("+t/100+")",this.$.selectionBar)},_onBarTransit
     ionEnd:function(t){var e=this.$.selectionBar.classList;e.contains("expand")?(e.r
     emove("expand"),e.add("contract"),this._positionBar(this._pos.width,this._pos.le
     ft)):e.contains("contract")&&e.remove("contract")}})</script> </dom-module> <dom
     -module id="single-page-style" assetpath="/res/imp/common/"> <template> <style>.
     header{max-width:450px}.title{font-size:1.5em;font-weight:700;margin:5px}.id_inp
     ut{margin-left:5px;--paper-input-container-input:{font-size:2em};}.refresh{max-w
     idth:40px;max-height:40px;width:initial;height:initial}button{min-width:4em;max-
     height:55px}table{border-collapse:collapse;margin-left:5px;margin-bottom:8px}td,
     th{border:1px solid #BBB;padding:5px}.tabs{background-color:#1F78B4;color:#fff;m
     ax-width:600px;margin-left:5px;--paper-checkbox-label-color:#fff}paper-tab{backg
     round-color:#A6CEE3;color:#000}paper-tab.iron-selected{background-color:#1F78B4;
     color:#fff;font-weight:700;text-decoration:underline}paper-tab[disabled]{backgro
     und-color:#AAA;text-decoration:line-through}.quarantined{background-color:#fdd}.
     dead{background-color:#ccc}</style> </template> </dom-module><script>!function()
     {SwarmingBehaviors.BotPageBehavior=[SwarmingBehaviors.CommonBehavior,{}]}()</scr
     ipt> <dom-module id="bot-page-data" assetpath="/res/imp/botpage/"> <script>!func
     tion(){function t(t){if(!s){var e=t.toString();s=e.substring(e.indexOf("("))}ret
     urn t.toLocaleString()+" "+s}var e,s,n=400,i=["first_seen_ts","last_seen_ts"],a=
     ["started_ts","completed_ts","abandoned_ts","modified_ts"];Polymer({is:"bot-page
     -data",behaviors:[SwarmingBehaviors.BotPageBehavior],properties:{auth_headers:{t
     ype:Object},bot_id:{type:String},busy:{type:Boolean,computed:"_or(_busy1)",notif
     y:!0},bot:{type:Object,computed:"_parseBot(_bot)",notify:!0},_busy1:{type:Boolea
     n,value:!1},_bot:{type:Object},_events:{type:Object},_tasks:{type:Object}},obser
     vers:["request(auth_headers,bot_id)"],request:function(){this.bot_id&&this.auth_
     headers&&(e&&this.cancelAsync(e),e=this.async(function(){e=void 0;var t="/_ah/ap
     i/swarming/v1/bot/"+this.bot_id;this._getJsonAsync("_bot",t+"/get","_busy1",this
     .auth_headers),this.fire("reload",{id:this.bot_id})},n))},_parseBot:function(e){
     if(!e)return{};e.state=e.state||"{}",e.state=JSON.parse(e.state);var s=e.state.d
     isks||{},n=Object.keys(s);if(n.length){e.disks=[];for(var a=0;a<n.length;a++)e.d
     isks.push({id:n[a],mb:s[n[a]].free_mb});e.disks.sort(function(t,e){return e.mb-t
     .mb})}else e.disks=[{id:"unknown",mb:0}];return e.dimensions=e.dimensions||[],e.
     dimensions.forEach(function(t){swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(t.
     key)!==-1&&t.value.forEach(function(e,s){t.value[s]=swarming.alias.apply(e,t.key
     )})}),i.forEach(function(s){e[s]&&(e[s]=new Date(e[s]),e["human_"+s]=t(e[s]))}),
     e},parseEvents:function(e){if(!e||!e.items)return[];var e=e.items;return e.forEa
     ch(function(e){e.ts&&(e.ts=new Date(e.ts),e.human_ts=t(e.ts))}),e.sort(function(
     t,e){return e.ts-t.ts}),e},parseTasks:function(e){if(!e||!e.items)return[];var e
     =e.items;return e.forEach(function(e){if(a.forEach(function(s){e[s]&&(e[s]=new D
     ate(e[s]),e["human_"+s]=t(e[s]))}),e.duration)e.human_duration=this._humanDurati
     on(e.duration);else{var s=e.completed_ts||e.abandoned_ts||e.modified_ts||new Dat
     e;e.human_duration=this._timeDiffExact(e.started_ts,s),e.duration=(s.getTime()-e
     .started_ts)/1e3}e.state=e.state||"UNKNOWN","COMPLETED"===e.state&&(e.failure?e.
     state="FAILURE":e.state="SUCCESS")}.bind(this)),e.sort(function(t,e){return e.st
     arted_ts-t.started_ts}),e}})}()</script> </dom-module> <dom-module id="bot-page-
     summary" assetpath="/res/imp/botpage/"> <template> <style include="single-page-s
     tyle">.wrapper{display:table;margin-left:auto;margin-bottom:10px}paper-checkbox{
     margin-left:5px}.thick{border-top-style:solid}</style> <url-param name="show_ful
     l_names" value="{{_show_full_names}}"> </url-param> <url-param name="show_all_ta
     sks" value="{{_show_all_tasks}}"> </url-param> <url-param name="sort_stats" valu
     e="{{_sortstr}}" default_value="total:desc"> </url-param> <div class="wrapper"> 
     <table> <thead on-sort_change="_sortChange"> <tr> <th> <span>Name</span> <sort-t
     oggle name="full_name" current="[[_sort]]"> </sort-toggle> </th> <th> <span>Tota
     l</span> <sort-toggle name="total" current="[[_sort]]"> </sort-toggle> </th> <th
     > <span>Success</span> <sort-toggle name="success" current="[[_sort]]"> </sort-t
     oggle> </th> <th> <span>Failed</span> <sort-toggle name="failed" current="[[_sor
     t]]"> </sort-toggle> </th> <th> <span>Died</span> <sort-toggle name="bot_died" c
     urrent="[[_sort]]"> </sort-toggle> </th> <th> <span>Average Duration</span> <sor
     t-toggle name="avg_duration" current="[[_sort]]"> </sort-toggle> </th> <th> <spa
     n>Total Duration</span> <sort-toggle name="total_time" current="[[_sort]]"> </so
     rt-toggle> </th> <th>Percent of Total</th> </tr> </thead> <tbody> <template is="
     dom-repeat" items="[[_tasksToShow]]" as="task"> <tr> <td hidden$="[[_truthy(_sho
     w_full_names)]]" title="[[task.full_name]]">[[task.name]]</td> <td hidden$="[[_n
     ot(_show_full_names)]]" title="[[task.full_name]]">[[task.full_name]]</td> <td>[
     [task.total]]</td> <td>[[task.success]]</td> <td>[[task.failed]]</td> <td>[[task
     .bot_died]]</td> <td>[[_humanDuration(task.avg_duration)]]</td> <td>[[_humanDura
     tion(task.total_time)]]</td> <td>[[task.total_time_percent]]%</td> </tr> </templ
     ate> </tbody> <tbody><tr class="thick"> <td>Total</td> <td>[[_totalStats.total]]
     </td> <td>[[_totalStats.success]]</td> <td>[[_totalStats.failed]]</td> <td>[[_to
     talStats.bot_died]]</td> <td>[[_humanDuration(_totalStats.avg_duration)]]</td> <
     td>[[_humanDuration(_totalStats.total_time)]]</td> <td>100.0%</td> </tr> </tbody
     ></table> <div> <table> <thead> <tr> <th title="How much time passed between the
      oldest task fetched and now."> Total Wall Time </th> <th title="How much of the
      wall time this bot was busy with a task."> Wall Time Utilization </th> </tr> </
     thead> <tbody> <tr> <td>[[_humanDuration(_totalStats.wall_time)]]</td> <td>[[_to
     talStats.wall_time_utilization]]%</td> </tr> </tbody> </table> <paper-checkbox c
     hecked="{{_show_full_names}}"> Show Full Names </paper-checkbox> <paper-checkbox
      hidden$="[[_cannotExpand]]" checked="{{_show_all_tasks}}"> Show All Tasks </pap
     er-checkbox> </div> </div> </template> <script>!function(){var t=15;Polymer({is:
     "bot-page-summary",behaviors:[SwarmingBehaviors.BotPageBehavior],properties:{tas
     ks:{type:Array},_cannotExpand:{type:Boolean,computed:"_countTasks(_taskStats.*)"
     },_show_all_tasks:{type:Boolean},_show_full_names:{type:Boolean},_sortstr:{type:
     String},_sort:{type:Object,computed:"_makeSortObject(_sortstr)"},_taskStats:{typ
     e:Array},_tasksToShow:{type:Array,computed:"_sortAndLimitTasks(_taskStats.*,_sor
     t.*,_show_all_tasks)"},_totalStats:{type:Object}},observers:["_aggregate(tasks.*
     )"],_aggregate:function(){if(this.tasks&&this.tasks.length){var t=new Date(1e3*s
     k.now()),a={},e={total:this.tasks.length,success:0,failed:0,bot_died:0,avg_durat
     ion:0,total_time:0,wall_time:(t-this.tasks[this.tasks.length-1].started_ts)/1e3}
     ;this.tasks.forEach(function(t){var s=t.name.trim(),i=s.split("/");5===i.length&
     &(s=i[0]+"/"+i[3]),a[s]||(a[s]={full_name:s,name:s,total:0,success:0,failed:0,bo
     t_died:0,avg_duration:0,total_time:0}),a[s].total++,t.failure?(e.failed++,a[s].f
     ailed++):t.internal_failure?(e.bot_died++,a[s].bot_died++):(e.success++,a[s].suc
     cess++),e.total_time+=t.duration,a[s].total_time+=t.duration}),e.avg_duration=e.
     total_time/e.total,e.wall_time_utilization=(100*e.total_time/e.wall_time).toFixe
     d(1),this.set("_totalStats",e);var s=Object.keys(a),i=[];s.forEach(function(t){a
     [t].avg_duration=a[t].total_time/a[t].total,a[t].total_time_percent=(100*a[t].to
     tal_time/e.total_time).toFixed(1),i.push(a[t])});var o=new Substrings({minOccurr
     ence:Math.max(2,s.length-1),minLength:6});o.build(s);var n=o.weighByAverage()||[
     ];n.length&&n[0].source.forEach(function(t){var a=i[t].full_name;i[t].name=a.rep
     lace(n[0].name,"...")}),this.set("_taskStats",i)}},_compare:function(t,a){if(!th
     is._sort)return 0;var e=1;return"desc"===this._sort.direction&&(e=-1),e*swarming
     .naturalCompare(t[this._sort.name],a[this._sort.name])},_countTasks:function(){r
     eturn this._taskStats.length<=t},_makeSortObject:function(t){if(t){var a=t.split
     (":");return 2!=a.length?{name:"full_name",direction:"asc"}:{name:a[0],direction
     :a[1]}}},_sortAndLimitTasks:function(){swarming.stableSort(this._taskStats,this.
     _compare.bind(this));var a=this._taskStats.length;return!this._show_all_tasks&&t
     his._taskStats.length>t&&(a=t),this._taskStats.slice(0,a)},_sortChange:function(
     t){t&&t.detail&&t.detail.name&&(t.preventDefault(),t.stopPropagation(),this.set(
     "_sortstr",t.detail.name+":"+t.detail.direction))}})}()</script> </dom-module><d
     om-module id="bot-page" assetpath="/res/imp/botpage/"> <template> <style include
     ="iron-flex iron-flex-alignment iron-positioning swarming-app-style single-page-
     style task-style">.message{white-space:pre-line;font-family:monospace}.bot_state
     {white-space:pre;font-family:monospace;margin-bottom:10px}.events_table,.tasks_t
     able{border:3px solid #1F78B4}.old_version{background-color:#ffd}.stats{min-widt
     h:700px;flex-grow:2}#collapse{max-width:700px}.cloud{white-space:nowrap;margin-b
     ottom:5px;margin-top:auto}paper-checkbox{--paper-checkbox-label-color:#fff;--pap
     er-checkbox-checked-color:#fff;--paper-checkbox-checkmark-color:#000;--paper-che
     ckbox-unchecked-color:#fff;padding:3px}paper-dialog{border-radius:6px}</style> <
     url-param name="id" value="{{bot_id}}"> </url-param> <url-param name="show_all_e
     vents" value="{{_show_all}}"> </url-param> <url-param name="selected" value="{{_
     selected}}"> </url-param> <url-param name="show_state" value="{{_show_state}}"> 
     </url-param> <swarming-app client_id="[[client_id]]" auth_headers="{{_auth_heade
     rs}}" permissions="{{_permissions}}" server_version="{{_server_version}}" signed
     _in="{{_signed_in}}" busy="[[_or(_busy1,_busy2,_busy3)]]" name="Swarming Bot Pag
     e"> <h2 hidden$="[[_signed_in]]">You must sign in to see anything useful.</h2> <
     div hidden$="[[_not(_signed_in)]]"> <bot-page-data id="data" auth_headers="[[_au
     th_headers]]" bot_id="[[bot_id]]" bot="{{_bot}}" busy="{{_busy1}}" events="{{_ev
     ents}}" tasks="{{_tasks}}" on-reload="_clearAndReload"> </bot-page-data> <div cl
     ass="header horizontal layout"> <paper-input class="id_input" label="Bot id" val
     ue="{{bot_id}}"></paper-input> <template is="dom-if" if="[[_cloudConsoleLink(_bo
     t)]]"> <div class="vertical layout"> <a href$="[[_cloudConsoleLink(_bot)]]" clas
     s="cloud">Cloud Console</a> </div> </template> <button on-click="_refresh"> <iro
     n-icon class="refresh" icon="icons:refresh"></iron-icon> </button> </div> <div c
     lass="horizontal wrap layout"> <div class="flex"> <table> <tbody><tr class$="[[_
     isDead(_bot)]]" title="Last time the bot contacted the server."> <td>Last Seen</
     td> <td title="[[_bot.human_last_seen_ts]]"> [[_timeDiffExact(_bot.last_seen_ts)
     ]] ago</td> <td> <template is="dom-if" if="[[_canShutdown(_bot,_permissions)]]">
      <button class="raised" on-click="_promptShutdown"> Shut Down Gracefully </butto
     n> </template> <template is="dom-if" if="[[_canDelete(_bot,_permissions)]]"> <bu
     tton class="raised" on-click="_promptDelete"> Delete </button> </template> </td>
      </tr> <template is="dom-if" if="[[_bot.quarantined]]"> <tr class="quarantined">
      <td>Quarantined</td> <td colspan="2" class="message">[[_quarantineMessage(_bot)
     ]]</td> </tr> </template> <tr> <td>Current Task</td> <td> <a target="_blank" rel
     ="noopener" href$="[[_taskLink(_bot.task_id)]]"> [[_task(_bot)]] </a> </td> <td>
      </td> </tr> <tr> <td rowspan$="[[_numRows(_bot.dimensions)]]">Dimensions</td> <
     /tr> <template is="dom-repeat" items="[[_bot.dimensions]]" as="dim"> <tr> <td>[[
     dim.key]]</td> <td>[[_concat(dim.value)]]</td> </tr> </template> <tr title="IP a
     ddress that the server saw the connection from."> <td>External IP</td> <td><a hr
     ef$="[[_bot.external_ip]]">[[_bot.external_ip]]</a></td> <td></td> </tr> <tr cla
     ss$="[[_classVersion(_server_version.bot_version,_bot.version)]]" title="Version
      is based on the content of swarming_bot.zip which is the swarming bot code. The
      bot won't update if quarantined, dead, or busy."> <td>Bot Version</td> <td>[[_s
     horten(_bot.version,'8')]]</td> <td></td> </tr> <tr title="The version the serve
     r expects the bot to be using."> <td>Expected Bot Version</td> <td>[[_shorten(_s
     erver_version.bot_version,'8')]]</td> <td></td> </tr> <tr title="First time ever
      a bot with this id contacted the server."> <td>First seen</td> <td title="[[_bo
     t.human_first_seen_ts]]"> [[_timeDiffApprox(_bot.first_seen_ts)]] ago </td> <td>
     </td> </tr> <tr title="How the bot is authenticated by the server."> <td>Authent
     icated as</td> <td colspan="2">[[_bot.authenticated_as]]</td> </tr> </tbody></ta
     ble> <span class="title">State</span> <template is="dom-if" if="[[_not(_show_sta
     te)]]"> <button on-click="_toggleState"> <iron-icon icon="icons:add-circle-outli
     ne"></iron-icon> </button> </template> <template is="dom-if" if="[[_show_state]]
     "> <button on-click="_toggleState"> <iron-icon icon="icons:remove-circle-outline
     "></iron-icon> </button> </template> <iron-collapse id="collapse" opened="[[_sho
     w_state]]"> <div class="bot_state">[[_prettyPrint(_bot.state)]]</div> </iron-col
     lapse> </div> <div class="stats flex"> <bot-page-summary tasks="[[_tasks]]"> </b
     ot-page-summary> </div> </div> <div class="tabs"> <paper-tabs selected="{{_selec
     ted}}" no-bar=""> <paper-tab>Tasks</paper-tab> <paper-tab>Events</paper-tab> </p
     aper-tabs> <template is="dom-if" if="[[_showEvents]]"> <paper-checkbox checked="
     {{_show_all}}"> Show all events </paper-checkbox> </template> </div> <template i
     s="dom-if" if="[[_not(_showEvents)]]"> <table class="tasks_table"> <thead> <tr> 
     <th>Task</th> <th>Started</th> <th>Duration</th> <th>Result</th> </tr> </thead> 
     <tbody> <template is="dom-repeat" items="{{_tasks}}" as="task"> <tr class$="[[_t
     askClass(task)]]"> <td> <a target="_blank" rel="noopener" href$="[[_taskLink(tas
     k.task_id)]]"> [[task.name]] </a> </td> <td>[[task.human_started_ts]]</td> <td t
     itle="[[task.human_completed_ts]]">[[task.human_duration]]</td> <td>[[task.state
     ]]</td> </tr> </template> </tbody> </table> </template> <template is="dom-if" if
     ="[[_showEvents]]"> <table class="events_table"> <thead> <tr> <th>Message</th> <
     th>Type</th> <th>Timestamp</th> <th>Task ID</th> <th>Version</th> </tr> </thead>
      <tbody> <template is="dom-repeat" items="{{_eventList(_show_all,_events.*)}}" a
     s="event"> <tr> <td class="message">[[event.message]]</td> <td>[[event.event_typ
     e]]</td> <td>[[event.human_ts]]</td> <td> <a target="_blank" rel="noopener" href
     $="[[_taskLink(event.task_id)]]"> [[event.task_id]] </a> </td> <td class$="[[_cl
     assVersion(_server_version.bot_version,event.version)]]"> <a target="_blank" rel
     ="noopener" href$="[[_luciLink(event.version)]]"> [[_shorten(event.version,'8')]
     ] </a> </td> </tr> </template> </tbody> </table> </template> <pageable-data id="
     page_tasks" hidden$="[[_showEvents]]" busy="{{_busy2}}" label="Show more tasks" 
     output="{{_tasks}}" parse="[[_parseTasks]]"> </pageable-data> <pageable-data id=
     "page_events" hidden$="[[_not(_showEvents)]]" busy="{{_busy3}}" label="Show more
      events" output="{{_events}}" parse="[[_parseEvents]]"> </pageable-data> </div> 
     </swarming-app> <paper-dialog id="prompt" modal="" on-iron-overlay-closed="_prom
     ptClosed"> <h2>Are you sure?</h2> <div>Are you sure you want to [[_dialogPrompt]
     ]?</div> <div class="buttons"> <paper-button dialog-dismiss="" autofocus="">No</
     paper-button> <paper-button dialog-confirm="">Yes</paper-button> </div> </paper-
     dialog> <error-toast></error-toast> </template> <script> (function(){ | 
|  466  |  621  | 
|  467     Polymer({ |  622     Polymer({ | 
|  468       is: 'bot-page', |  623       is: 'bot-page', | 
|  469  |  624  | 
|  470       behaviors: [ |  625       behaviors: [ | 
|  471           SwarmingBehaviors.BotPageBehavior, |  626           SwarmingBehaviors.BotPageBehavior, | 
|  472       ], |  627       ], | 
|  473  |  628  | 
|  474       properties: { |  629       properties: { | 
|  475         bot_id: { |  630         bot_id: { | 
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  536         } |  691         } | 
|  537         return ""; |  692         return ""; | 
|  538       }, |  693       }, | 
|  539  |  694  | 
|  540       _clearAndReload: function(botID) { |  695       _clearAndReload: function(botID) { | 
|  541         this.$.page_tasks.clear(); |  696         this.$.page_tasks.clear(); | 
|  542         this.$.page_events.clear(); |  697         this.$.page_events.clear(); | 
|  543         this._reload(); |  698         this._reload(); | 
|  544       }, |  699       }, | 
|  545  |  700  | 
 |  701       _cloudConsoleLink(bot) { | 
 |  702         // We create a link to this bot in cloud console if we detect it is | 
 |  703         // on GCE.  We look for the zone dimension and create the link using | 
 |  704         // that. | 
 |  705         if (!bot || !bot.dimensions) { | 
 |  706           return undefined; | 
 |  707         } | 
 |  708         var link; | 
 |  709         bot.dimensions.forEach(function(d){ | 
 |  710           if (d.key === "zone") { | 
 |  711             link = this._cloudConsoleLink(d.value[0], bot.bot_id); | 
 |  712           } | 
 |  713         }.bind(this)) | 
 |  714         return link; | 
 |  715       }, | 
 |  716  | 
|  546       _concat: function(arr) { |  717       _concat: function(arr) { | 
|  547         if (!arr) { |  718         if (!arr) { | 
|  548           return ""; |  719           return ""; | 
|  549         } |  720         } | 
|  550         return arr.join(" | "); |  721         return arr.join(" | "); | 
|  551       }, |  722       }, | 
|  552  |  723  | 
|  553       _deleteBot: function() { |  724       _deleteBot: function() { | 
|  554         swarming.postWithToast("/_ah/api/swarming/v1/bot/"+this.bot_id+"/delete"
     , |  725         swarming.postWithToast("/_ah/api/swarming/v1/bot/"+this.bot_id+"/delete"
     , | 
|  555           "Deleting "+this.bot_id, this._auth_headers); |  726           "Deleting "+this.bot_id, this._auth_headers); | 
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  664           return "failed_task"; |  835           return "failed_task"; | 
|  665         } |  836         } | 
|  666         return ""; |  837         return ""; | 
|  667       }, |  838       }, | 
|  668  |  839  | 
|  669       _toggleState: function() { |  840       _toggleState: function() { | 
|  670         this.set("_show_state", !this._show_state); |  841         this.set("_show_state", !this._show_state); | 
|  671       } |  842       } | 
|  672  |  843  | 
|  673     }); |  844     }); | 
|  674   })(); </script> </dom-module><dom-module id="interval-timer" assetpath="/res/i
     mp/common/"> <script>!function(){Polymer({is:"interval-timer",properties:{period
     :{type:Number,value:-1,observer:"_periodChanged"}},_periodChanged:function(e){th
     is._timeout&&window.clearTimeout(this._timeout),e>0&&(this._timeout=window.setTi
     meout(function(){this.fire("trigger"),this._periodChanged(e)}.bind(this),1e3*e))
     }})}()</script> </dom-module> <dom-module id="task-page-data" assetpath="/res/im
     p/taskpage/"> <script>!function(){var t,e=400,s=["abandoned_ts","completed_ts","
     created_ts","modified_ts","started_ts"];Polymer({is:"task-page-data",behaviors:[
     SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:{aut
     h_headers:{type:Object},task_id:{type:String},busy:{type:Boolean,computed:"_or(_
     busy1,_busy2,_busy3)",notify:!0},request:{type:Object,computed:"_parseRequest(_r
     equest)",notify:!0},result:{type:Object,computed:"_parseResult(_result)",notify:
     !0},stdout:{type:String,computed:"_parseStdout(_stdout)",notify:!0},_busy1:{type
     :Boolean,value:!1},_busy2:{type:Boolean,value:!1},_busy3:{type:Boolean,value:!1}
     ,_request:{type:Object},_result:{type:Object},_stdout:{type:Object}},observers:[
     "reload(auth_headers,task_id)"],reload:function(){if(!this.task_id||!this.auth_h
     eaders)return void console.log("task_id and auth_headers can't be empty");t&&thi
     s.cancelAsync(t);var s="/_ah/api/swarming/v1/task/"+this.task_id;t=this.async(fu
     nction(){t=void 0,this._getJsonAsync("_request",s+"/request","_busy1",this.auth_
     headers),this._getJsonAsync("_result",s+"/result?include_performance_stats=true"
     ,"_busy2",this.auth_headers),this.reloadStdout()},e)},_parseRequest:function(t){
     return t?(t.tagMap={},t.tags=t.tags||[],t.tags.forEach(function(e){var s=e.split
     (":",1),a=s[0],u=e.substring(a.length+1);t.tagMap[a]=u}),s.forEach(function(e){t
     [e]&&(t[e]=new Date(t[e]),t["human_"+e]=sk.human.localeTime(t[e]))}),t):{}},_par
     seResult:function(t){if(!t)return{};var e=new Date;return s.forEach(function(e){
     t[e]&&(t[e]=new Date(t[e]),t["human_"+e]=sk.human.localeTime(t[e]))}),!t.duratio
     n&&t.state===this.RUNNING&&t.started_ts&&(t.duration=(e-t.started_ts)/1e3),t.dur
     ation&&(t.human_duration=this._humanDuration(t.duration)),t},_parseStdout:functi
     on(t){return t&&t.output?t.output:"[No output yet]"},reloadStdout:function(){thi
     s._getJsonAsync("_stdout","/_ah/api/swarming/v1/task/"+this.task_id+"/stdout","_
     busy3",this.auth_headers)}})}()</script> </dom-module><dom-module id="task-page"
      assetpath="/res/imp/taskpage/"> <template> <style include="iron-flex iron-flex-
     alignment swarming-app-style single-page-style task-style">.milo{width:calc(100%
      - 11px);height:2000px}.left{min-width:550px}.right{min-width:500px;margin-top:8
     px}.expand{min-width:3em;vertical-align:middle;padding:.5em}.code{font-family:mo
     nospace}.stdout{white-space:pre-line;padding:2px}.refresh_input{padding:0 5px}.t
     abbed{border:3px solid #1F78B4;margin-left:5px;min-height:80vh}</style> <url-par
     am name="id" value="{{task_id}}"> </url-param> <url-param name="request_detail" 
     value="{{_request_detail}}"> </url-param> <url-param name="show_raw" value="{{_s
     how_raw}}"> </url-param> <url-param name="refresh" value="{{_refresh_interval}}"
      default_value="10"> </url-param> <swarming-app client_id="[[client_id]]" auth_h
     eaders="{{_auth_headers}}" permissions="{{_permissions}}" profile="{{_profile}}"
      signed_in="{{_signed_in}}" busy="[[_busy]]" name="Swarming Task Page"> <h2 hidd
     en$="[[_signed_in]]">You must sign in to see anything useful.</h2> <div hidden$=
     "[[_not(_signed_in)]]"> <task-page-data id="data" auth_headers="[[_auth_headers]
     ]" refresh_interval="[[_refresh_interval]]" task_id="[[task_id]]" busy="{{_busy}
     }" request="{{_request}}" result="{{_result}}" stdout="{{_stdout}}"> </task-page
     -data> <div class="horizontal layout wrap"> <div class="left flex"> <div class="
     horizontal layout"> <paper-input class="id_input" label="Task id" value="{{task_
     id}}"></paper-input> <button on-click="_refresh"> <iron-icon class="refresh" ico
     n="icons:refresh"></iron-icon> </button> <button on-click="_promptRetry">Retry</
     button> <template is="dom-if" if="[[_canCancelTask(_result,_permissions)]]"> <bu
     tton on-click="_promptCancel">Cancel</button> </template> </div> <table> <tbody>
     <tr> <td>Name</td> <td>[[_request.name]]</td> </tr> <tr> <td>State</td> <td clas
     s$="[[_stateClass(_result)]]">[[_state(_result)]]</td> </tr> <tr> <td>Created</t
     d> <td title$="[[_request.created_ts]]">[[_request.human_created_ts]]</td> </tr>
      <template is="dom-if" if="[[_wasPickedUp(_result)]]"> <tr> <td>Started</td> <td
      title$="[[_result.started_ts]]">[[_result.human_started_ts]]</td> </tr> </templ
     ate> <template is="dom-if" if="[[_wasNotPickedUp(_result)]]"> <tr> <td>Expires</
     td> <td>[[_expires(_request)]]</td> </tr> </template> <template is="dom-if" if="
     [[_result.human_completed_ts]]"> <tr> <td>Completed</td> <td title$="[[_result.c
     ompleted_ts]]">[[_result.human_completed_ts]]</td> </tr> </template> <template i
     s="dom-if" if="[[_result.human_abandoned_ts]]"> <tr> <td>Abandoned</td> <td titl
     e$="[[_result.abandoned_ts]]">[[_result.human_abandoned_ts]]</td> </tr> </templa
     te> <tr> <td>Last Updated</td> <td title$="[[_result.modified_ts]]">[[_result.hu
     man_modified_ts]]</td> </tr> <template is="dom-if" if="[[_result.deduped_from]]"
     > <tr> <td><b>Deduped from</b></td> <td> <a href$="[[_taskLink(_result.deduped_f
     rom)]]"> [[_result.deduped_from]] </a> </td> </tr> </template> <tr> <td>Pending 
     Time</td> <td>[[_pending(_result)]]</td> </tr> <tr> <td>Duration</td> <td>[[_res
     ult.human_duration]]</td> </tr> <tr> <td>Priority</td> <td>[[_request.priority]]
     </td> </tr> <tr> <td>User</td> <td>[[_request.user]]</td> </tr> <tr> <td>Authent
     icated</td> <td>[[_request.authenticated]]</td> </tr> <template is="dom-if" if="
     [[_request.service_account]]"> <tr> <td>Service Account</td> <td>[[_request.serv
     ice_account]]</td> </tr> </template> <template is="dom-if" if="[[_request.proper
     ties.secret_bytes]]"> <tr> <td>Secret Bytes</td> <td>[[_request.properties.secre
     t_bytes]]</td> </tr> </template> <template is="dom-if" if="[[_request.parent_tas
     k_id]]"> <tr> <td>Parent Task</td> <td> <a href$="[[_taskLink(_request.parent_ta
     sk_id)]]">[[_request.parent_task_id]]</a> </td> </tr> </template> <tr> <td rowsp
     an$="[[_rowspan(_request.properties.dimensions)]]"> <a title="The list of bots t
     hat matches the list of dimensions" href$="[[_botListLink(_request.properties.di
     mensions)]]"> Requested Dimensions </a> </td> </tr> <template is="dom-repeat" it
     ems="{{_request.properties.dimensions}}" as="dimension"> <tr> <td><b>[[dimension
     .key]]:</b> [[_alias(dimension)]]</td> </tr> </template> <tr> <td>Isolated Input
     s</td> <td> <a href$="[[_isolateLink(_request.properties.inputs_ref)]]"> [[_requ
     est.properties.inputs_ref.isolated]] </a> </td> </tr> <template is="dom-if" if="
     [[_not(_request_detail)]]"> <tr> <td>More Details</td> <td> <button on-click="_t
     oggleDetails"> <iron-icon icon="icons:add-circle-outline"></iron-icon> </button>
      </td> </tr> </template> <template is="dom-if" if="[[_request_detail]]"> <tr> <t
     d>Hide Details</td> <td> <button on-click="_toggleDetails"> <iron-icon icon="ico
     ns:remove-circle-outline"></iron-icon> </button> </td> </tr> </template> <templa
     te is="dom-if" if="[[_request_detail]]"> <tr> <td>Extra Args</td> <td class="cod
     e">[[_extraArgs(_request)]]</td> </tr> <tr> <td rowspan$="[[_rowspan(_request.ta
     gs)]]">Tags</td> </tr> <template is="dom-repeat" items="{{_request.tags}}" as="t
     ag"> <tr> <td>[[tag]]</td> </tr> </template> <tr> <td>Execution timeout</td> <td
     >[[_humanDuration(_request.properties.execution_timeout_secs)]]</td> </tr> <tr> 
     <td>I/O timeout</td> <td>[[_humanDuration(_request.properties.io_timeout_secs)]]
     </td> </tr> <tr> <td>Grace period</td> <td>[[_humanDuration(_request.properties.
     grace_period_secs)]]</td> </tr> <tr> <td>CIPD server</td> <td> <a href$="[[_requ
     est.properties.cipd_input.server]]"> [[_request.properties.cipd_input.server]] <
     /a> </td> </tr> <tr> <td>CIPD version</td> <td>[[_request.properties.cipd_input.
     client_package.version]]</td> </tr> <template is="dom-if" if="[[_wasPickedUp(_re
     sult)]]"> <tr> <td>CIPD package name</td> <td>[[_result.cipd_pins.client_package
     .package_name]]</td> </tr> </template> <tr hidden$="[[_not(_request.properties.c
     ipd_input)]]"> <td rowspan$="[[_cipdRowspan(_request,_result)]]">CIPD packages</
     td> </tr> <template is="dom-repeat" items="[[_cipdPackages(_request,_result)]]" 
     as="cipd"> <tr> <td>[[cipd.path]]/</td> </tr> <tr> <td><b>Requested:</b>[[cipd.r
     equested]]</td> </tr> <tr hidden$="[[_wasNotPickedUp(_result)]]"> <td><b>Actual:
     </b>[[cipd.actual]]</td> </tr> </template> </template> </tbody></table> <div cla
     ss="title">Task Execution</div> <template is="dom-if" if="[[_wasPickedUp(_result
     )]]"> <table> <tbody><tr> <td>Bot assigned to task</td> <td><a href$="[[_botLink
     (_result.bot_id)]]">[[_result.bot_id]]</a></td> </tr> <tr> <td rowspan$="[[_rows
     pan(_result.bot_dimensions)]]"> <a>Bot Dimensions</a> </td> </tr> <template is="
     dom-repeat" items="[[_result.bot_dimensions]]" as="dimension"> <tr> <td><b>[[dim
     ension.key]]:</b> [[_alias(dimension)]]</td> </tr> </template> <tr> <td>Exit cod
     e</td> <td>[[_result.exit_code]]</td> </tr> <tr> <td>Try number</td> <td>[[_resu
     lt.try_number]]</td> </tr> <tr> <td>Failure</td> <td class$="[[_failureClass(_re
     sult.failure)]]">[[_result.failure]]</td> </tr> <tr> <td>Internal Failure</td> <
     td class$="[[_internalClass(_result.internal_failure)]]">[[_result.internal_fail
     ure]]</td> </tr> <tr> <td>Isolated Outputs</td> <td> <a href$="[[_isolateLink(_r
     esult.outputs_ref)]]"> [[_result.outputs_ref.isolated]] </a> </td> </tr> <tr> <t
     d>Bot version</td> <td>[[_result.bot_version]]</td> </tr> <tr> <td>Server versio
     n</td> <td>[[_result.server_versions]]</td> </tr> </tbody></table> </template> <
     template is="dom-if" if="[[_wasNotPickedUp(_result)]]"> This space left blank un
     til a bot is assigned to the task. </template> <template is="dom-if" if="[[_resu
     lt.performance_stats]]"> <div class="title">Performance Stats</div> <table> <tbo
     dy><tr> <td title="This includes time taken to download inputs, isolate outputs,
      and setup CIPD">Total Overhead</td> <td>[[_humanDuration(_result.performance_st
     ats.bot_overhead)]]</td> </tr> <tr> <td>Downloading Inputs From Isolate</td> <td
     >[[_humanDuration(_result.performance_stats.isolated_download.duration)]]</td> <
     /tr> <tr> <td>Uploading Outputs To Isolate</td> <td>[[_humanDuration(_result.per
     formance_stats.isolated_upload.duration)]]</td> </tr> <tr> <td>Initial bot cache
     </td> <td>[[_result.performance_stats.isolated_download.initial_number_items]] i
     tems; [[_bytes(_result.performance_stats.isolated_download.initial_size)]]</td> 
     </tr> </tbody></table> </template> </div> <div class="flex right"> <div class="h
     orizontal layout"> <div class="tabs"> <paper-tabs selected="{{_show_raw}}" no-ba
     r=""> <paper-tab disabled$="[[_noMilo(_request)]]">Milo Output</paper-tab> <pape
     r-tab>Raw Output</paper-tab> </paper-tabs> </div> <paper-input class="refresh_in
     put" label="Refresh Interval (seconds)" value="{{_refresh_interval}}" auto-valid
     ate="" min="1" max="1000" pattern="[0-9]+"> </paper-input> </div> <template is="
     dom-if" if="[[_supportsMilo(_request,_show_raw)]]"> <iframe id="miloFrame" class
     ="milo tabbed" src$="[[_getMiloLink(milo_prefix,task_id)]]"></iframe> </template
     > <template is="dom-if" if="[[_show_raw]]"> <div class="code stdout tabbed">[[_s
     tdout]]</div> </template> </div> </div> </div> </swarming-app> <paper-dialog id=
     "prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2>Are you sure?</h2>
      <div>Are you sure you want to [[_dialogPrompt]]?</div> <div class="buttons"> <p
     aper-button dialog-dismiss="" autofocus="">No</paper-button> <paper-button dialo
     g-confirm="">Yes</paper-button> </div> </paper-dialog> <error-toast></error-toas
     t> <interval-timer period="[[_refresh_interval]]" on-trigger="_refreshOutput"> <
     /interval-timer> </template> <script>!function(){Polymer({is:"task-page",behavio
     rs:[SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:
     {task_id:{type:String},client_id:{type:String},milo_prefix:{type:String},_dialog
     Prompt:{type:String,value:""},_refresh_interval:{type:Number},_request:{type:Obj
     ect,observer:"_requestUpdated"},_request_detail:{type:Boolean},_result:{type:Obj
     ect},_stdout:{type:String}},_alias:function(t){var e=t.value;return Array.isArra
     y(e)||(e=[e]),swarming.alias.has(t.key)&&e.forEach(function(i,s){e[s]=swarming.a
     lias.apply(i,t.key)}),e.join(" | ")},_bytes:function(t){return sk.human.bytes(t)
     },_canCancelTask:function(t,e){return t&&"PENDING"===t.state&&e.cancel_task},_ca
     ncelTask:function(){var t="/_ah/api/swarming/v1/task/"+this.task_id+"/cancel";sw
     arming.postWithToast(t,"Canceling task "+this.task_id,this._auth_headers)},_cipd
     Rowspan:function(t,e){if(!t||!t.properties||!t.properties.cipd_input)return 0;va
     r i=(t.properties.cipd_input.packages||[]).length;return i*=e&&e.cipd_pins&&e.ci
     pd_pins.packages?3:2,i+1},_cipdPackages:function(t,e){if(!t||!t.properties||!t.p
     roperties.cipd_input)return[];var i=t.properties.cipd_input.packages||[],s=e&&e.
     cipd_pins&&e.cipd_pins.packages||[];return i.forEach(function(t){t.requested=t.p
     ackage_name+":"+t.version,s.forEach(function(e){e.path===t.path&&(t.actual=e.pac
     kage_name+":"+e.version)})}),i},_expires:function(t){var e=parseInt(t.expiration
     _secs);return e?sk.human.localeTime(new Date(t.created_ts.getTime()+1e3*e)):t.ex
     piration_secs+" seconds from created time"},_extraArgs:function(t){if(!t||!t.pro
     perties)return"";var e=t.properties.extra_args||[];return e.join(" ")},_failureC
     lass:function(t){return t?"failed_task":""},_getMiloLink:function(t,e){if(t)retu
     rn t+e},_internalClass:function(t){return t?"exception":""},_isolateLink:functio
     n(t){if(t&&t.isolatedserver)return t.isolatedserver+"/browse?namespace="+t.names
     pace+"&hash="+t.isolated},_noMilo:function(t){return!this._tag(t,"allow_milo")},
     _pending:function(t){if(!t.created_ts)return"";var e=t.started_ts||t.abandoned_t
     s||new Date;return e<=t.created_ts?"0s":this._timeDiffExact(t.created_ts,e)},_pr
     omptClosed:function(t){t.detail.confirmed&&(this._dialogPrompt.startsWith("cance
     l")?this._cancelTask():this._retryTask())},_promptCancel:function(){this.set("_d
     ialogPrompt","cancel task "+this.task_id),this.$.prompt.open()},_promptRetry:fun
     ction(){this.set("_dialogPrompt","retry task "+this.task_id),this.$.prompt.open(
     )},_refresh:function(){this.$.data.reload()},_refreshOutput:function(){this.$.da
     ta.reloadStdout();var t=this.$$("iframe");t&&(t.src=this._getMiloLink(this.milo_
     prefix,this.task_id))},_requestUpdated:function(t){this._noMilo(t)&&this.set("_s
     how_raw",1)},_retryTask:function(){if(!this._request)return void sk.errorMessage
     ("Task not yet loaded",3e3);var t={expiration_secs:this._request.expiration_secs
     ,name:this._request.name+" (retry)",parent_task_id:this._request.parent_task_id,
     priority:this._request.priority,properties:this._request.properties,tags:this._r
     equest.tags,user:this._profile.email,service_account:this._request.service_accou
     nt};swarming.postWithToast("/_ah/api/swarming/v1/tasks/new","Retrying task "+thi
     s.task_id,this._auth_headers,t).then(function(t){t=JSON.parse(t),t&&t.task_id&&t
     his.set("task_id",t.task_id)}.bind(this),function(t){console.log("Task could not
      be retried",t)})},_rowspan:function(t){return t=t||[],t.length+1},_supportsMilo
     :function(t,e){return!e&&t&&this._tag(t,"allow_milo")},_state:function(t){return
      t?t.state===this.COMPLETED?t.failure?this.COMPLETED_FAILURE:"0"===t.try_number?
     this.COMPLETED_DEDUPED:this.COMPLETED_SUCCESS:t.state:""},_stateClass:function(t
     ){return this.stateClass(this._state(t))},_toggleDetails:function(){this.set("_r
     equest_detail",!this._request_detail)},_tag:function(t,e){if(t&&t.tagMap)return 
     t.tagMap[e]},_wasPickedUp:function(t){return t&&t.state!==this.PENDING&&t.state!
     ==this.CANCELED&&t.state!=this.EXPIRED},_wasNotPickedUp:function(t){return t&&!t
     his._wasPickedUp(t)}})}()</script> </dom-module></div></body></html> |  845   })(); </script> </dom-module><dom-module id="interval-timer" assetpath="/res/i
     mp/common/"> <script>!function(){Polymer({is:"interval-timer",properties:{period
     :{type:Number,value:-1,observer:"_periodChanged"}},_periodChanged:function(e){th
     is._timeout&&window.clearTimeout(this._timeout),e>0&&(this._timeout=window.setTi
     meout(function(){this.fire("trigger"),this._periodChanged(e)}.bind(this),1e3*e))
     }})}()</script> </dom-module> <dom-module id="task-page-data" assetpath="/res/im
     p/taskpage/"> <script>!function(){var t,e=400,s=["abandoned_ts","completed_ts","
     created_ts","modified_ts","started_ts"];Polymer({is:"task-page-data",behaviors:[
     SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:{aut
     h_headers:{type:Object},task_id:{type:String},busy:{type:Boolean,computed:"_or(_
     busy1,_busy2,_busy3)",notify:!0},request:{type:Object,computed:"_parseRequest(_r
     equest)",notify:!0},result:{type:Object,computed:"_parseResult(_result)",notify:
     !0},stdout:{type:String,computed:"_parseStdout(_stdout)",notify:!0},_busy1:{type
     :Boolean,value:!1},_busy2:{type:Boolean,value:!1},_busy3:{type:Boolean,value:!1}
     ,_request:{type:Object},_result:{type:Object},_stdout:{type:Object}},observers:[
     "reload(auth_headers,task_id)"],reload:function(){if(!this.task_id||!this.auth_h
     eaders)return void console.log("task_id and auth_headers can't be empty");t&&thi
     s.cancelAsync(t);var s="/_ah/api/swarming/v1/task/"+this.task_id;t=this.async(fu
     nction(){t=void 0,this._getJsonAsync("_request",s+"/request","_busy1",this.auth_
     headers),this._getJsonAsync("_result",s+"/result?include_performance_stats=true"
     ,"_busy2",this.auth_headers),this.reloadStdout()},e)},_parseRequest:function(t){
     return t?(t.tagMap={},t.tags=t.tags||[],t.tags.forEach(function(e){var s=e.split
     (":",1),a=s[0],u=e.substring(a.length+1);t.tagMap[a]=u}),s.forEach(function(e){t
     [e]&&(t[e]=new Date(t[e]),t["human_"+e]=sk.human.localeTime(t[e]))}),t):{}},_par
     seResult:function(t){if(!t)return{};var e=new Date;return s.forEach(function(e){
     t[e]&&(t[e]=new Date(t[e]),t["human_"+e]=sk.human.localeTime(t[e]))}),!t.duratio
     n&&t.state===this.RUNNING&&t.started_ts&&(t.duration=(e-t.started_ts)/1e3),t.dur
     ation&&(t.human_duration=this._humanDuration(t.duration)),t},_parseStdout:functi
     on(t){return t&&t.output?t.output:"[No output yet]"},reloadStdout:function(){thi
     s._getJsonAsync("_stdout","/_ah/api/swarming/v1/task/"+this.task_id+"/stdout","_
     busy3",this.auth_headers)}})}()</script> </dom-module><dom-module id="task-page"
      assetpath="/res/imp/taskpage/"> <template> <style include="iron-flex iron-flex-
     alignment swarming-app-style single-page-style task-style">.milo{width:calc(100%
      - 11px);height:2000px}.left{min-width:550px}.right{min-width:500px;margin-top:8
     px}.expand{min-width:3em;vertical-align:middle;padding:.5em}.code{font-family:mo
     nospace}.stdout{white-space:pre-line;padding:2px}.refresh_input{padding:0 5px}.t
     abbed{border:3px solid #1F78B4;margin-left:5px;min-height:80vh}</style> <url-par
     am name="id" value="{{task_id}}"> </url-param> <url-param name="request_detail" 
     value="{{_request_detail}}"> </url-param> <url-param name="show_raw" value="{{_s
     how_raw}}"> </url-param> <url-param name="refresh" value="{{_refresh_interval}}"
      default_value="10"> </url-param> <swarming-app client_id="[[client_id]]" auth_h
     eaders="{{_auth_headers}}" permissions="{{_permissions}}" profile="{{_profile}}"
      signed_in="{{_signed_in}}" busy="[[_busy]]" name="Swarming Task Page"> <h2 hidd
     en$="[[_signed_in]]">You must sign in to see anything useful.</h2> <div hidden$=
     "[[_not(_signed_in)]]"> <task-page-data id="data" auth_headers="[[_auth_headers]
     ]" task_id="[[task_id]]" busy="{{_busy}}" request="{{_request}}" result="{{_resu
     lt}}" stdout="{{_stdout}}"> </task-page-data> <div class="horizontal layout wrap
     "> <div class="left flex"> <div class="horizontal layout"> <paper-input class="i
     d_input" label="Task id" value="{{task_id}}"></paper-input> <button on-click="_r
     efresh"> <iron-icon class="refresh" icon="icons:refresh"></iron-icon> </button> 
     <button on-click="_promptRetry">Retry</button> <template is="dom-if" if="[[_canC
     ancelTask(_result,_permissions)]]"> <button on-click="_promptCancel">Cancel</but
     ton> </template> </div> <table> <tbody><tr> <td>Name</td> <td>[[_request.name]]<
     /td> </tr> <tr> <td>State</td> <td class$="[[_stateClass(_result)]]">[[_state(_r
     esult)]]</td> </tr> <tr> <td>Created</td> <td title$="[[_request.created_ts]]">[
     [_request.human_created_ts]]</td> </tr> <template is="dom-if" if="[[_wasPickedUp
     (_result)]]"> <tr> <td>Started</td> <td title$="[[_result.started_ts]]">[[_resul
     t.human_started_ts]]</td> </tr> </template> <template is="dom-if" if="[[_wasNotP
     ickedUp(_result)]]"> <tr> <td>Expires</td> <td>[[_expires(_request)]]</td> </tr>
      </template> <template is="dom-if" if="[[_result.human_completed_ts]]"> <tr> <td
     >Completed</td> <td title$="[[_result.completed_ts]]">[[_result.human_completed_
     ts]]</td> </tr> </template> <template is="dom-if" if="[[_result.human_abandoned_
     ts]]"> <tr> <td>Abandoned</td> <td title$="[[_result.abandoned_ts]]">[[_result.h
     uman_abandoned_ts]]</td> </tr> </template> <tr> <td>Last Updated</td> <td title$
     ="[[_result.modified_ts]]">[[_result.human_modified_ts]]</td> </tr> <template is
     ="dom-if" if="[[_result.deduped_from]]"> <tr> <td><b>Deduped from</b></td> <td> 
     <a href$="[[_taskLink(_result.deduped_from)]]"> [[_result.deduped_from]] </a> </
     td> </tr> </template> <tr> <td>Pending Time</td> <td>[[_pending(_result)]]</td> 
     </tr> <tr> <td>Duration</td> <td>[[_result.human_duration]]</td> </tr> <tr> <td>
     Priority</td> <td>[[_request.priority]]</td> </tr> <tr> <td>User</td> <td>[[_req
     uest.user]]</td> </tr> <tr> <td>Authenticated</td> <td>[[_request.authenticated]
     ]</td> </tr> <template is="dom-if" if="[[_request.service_account]]"> <tr> <td>S
     ervice Account</td> <td>[[_request.service_account]]</td> </tr> </template> <tem
     plate is="dom-if" if="[[_request.properties.secret_bytes]]"> <tr> <td>Secret Byt
     es</td> <td>[[_request.properties.secret_bytes]]</td> </tr> </template> <templat
     e is="dom-if" if="[[_request.parent_task_id]]"> <tr> <td>Parent Task</td> <td> <
     a href$="[[_taskLink(_request.parent_task_id)]]">[[_request.parent_task_id]]</a>
      </td> </tr> </template> <tr> <td rowspan$="[[_rowspan(_request.properties.dimen
     sions)]]"> <a title="The list of bots that matches the list of dimensions" href$
     ="[[_botListLink(_request.properties.dimensions)]]"> Requested Dimensions </a> <
     /td> </tr> <template is="dom-repeat" items="{{_request.properties.dimensions}}" 
     as="dimension"> <tr> <td><b>[[dimension.key]]:</b> [[_alias(dimension)]]</td> </
     tr> </template> <tr> <td>Isolated Inputs</td> <td> <a href$="[[_isolateLink(_req
     uest.properties.inputs_ref)]]"> [[_request.properties.inputs_ref.isolated]] </a>
      </td> </tr> <template is="dom-if" if="[[_not(_request_detail)]]"> <tr> <td>More
      Details</td> <td> <button on-click="_toggleDetails"> <iron-icon icon="icons:add
     -circle-outline"></iron-icon> </button> </td> </tr> </template> <template is="do
     m-if" if="[[_request_detail]]"> <tr> <td>Hide Details</td> <td> <button on-click
     ="_toggleDetails"> <iron-icon icon="icons:remove-circle-outline"></iron-icon> </
     button> </td> </tr> </template> <template is="dom-if" if="[[_request_detail]]"> 
     <tr> <td>Extra Args</td> <td class="code">[[_extraArgs(_request)]]</td> </tr> <t
     r> <td rowspan$="[[_rowspan(_request.tags)]]">Tags</td> </tr> <template is="dom-
     repeat" items="{{_request.tags}}" as="tag"> <tr> <td>[[tag]]</td> </tr> </templa
     te> <tr> <td>Execution timeout</td> <td>[[_humanDuration(_request.properties.exe
     cution_timeout_secs)]]</td> </tr> <tr> <td>I/O timeout</td> <td>[[_humanDuration
     (_request.properties.io_timeout_secs)]]</td> </tr> <tr> <td>Grace period</td> <t
     d>[[_humanDuration(_request.properties.grace_period_secs)]]</td> </tr> <tr> <td>
     CIPD server</td> <td> <a href$="[[_request.properties.cipd_input.server]]"> [[_r
     equest.properties.cipd_input.server]] </a> </td> </tr> <tr> <td>CIPD version</td
     > <td>[[_request.properties.cipd_input.client_package.version]]</td> </tr> <temp
     late is="dom-if" if="[[_wasPickedUp(_result)]]"> <tr> <td>CIPD package name</td>
      <td>[[_result.cipd_pins.client_package.package_name]]</td> </tr> </template> <t
     r hidden$="[[_not(_request.properties.cipd_input)]]"> <td rowspan$="[[_cipdRowsp
     an(_request,_result)]]">CIPD packages</td> </tr> <template is="dom-repeat" items
     ="[[_cipdPackages(_request,_result)]]" as="cipd"> <tr> <td>[[cipd.path]]/</td> <
     /tr> <tr> <td><b>Requested:</b>[[cipd.requested]]</td> </tr> <tr hidden$="[[_was
     NotPickedUp(_result)]]"> <td><b>Actual:</b>[[cipd.actual]]</td> </tr> </template
     > </template> </tbody></table> <div class="title">Task Execution</div> <template
      is="dom-if" if="[[_wasPickedUp(_result)]]"> <table> <tbody><tr> <td>Bot assigne
     d to task</td> <td><a href$="[[_botLink(_result.bot_id)]]">[[_result.bot_id]]</a
     ></td> </tr> <tr> <td rowspan$="[[_rowspan(_result.bot_dimensions)]]"> <a>Bot Di
     mensions</a> </td> </tr> <template is="dom-repeat" items="[[_result.bot_dimensio
     ns]]" as="dimension"> <tr> <td><b>[[dimension.key]]:</b> [[_alias(dimension)]]</
     td> </tr> </template> <tr> <td>Exit code</td> <td>[[_result.exit_code]]</td> </t
     r> <tr> <td>Try number</td> <td>[[_result.try_number]]</td> </tr> <tr> <td>Failu
     re</td> <td class$="[[_failureClass(_result.failure)]]">[[_result.failure]]</td>
      </tr> <tr> <td>Internal Failure</td> <td class$="[[_internalClass(_result.inter
     nal_failure)]]">[[_result.internal_failure]]</td> </tr> <tr> <td>Isolated Output
     s</td> <td> <a href$="[[_isolateLink(_result.outputs_ref)]]"> [[_result.outputs_
     ref.isolated]] </a> </td> </tr> <tr> <td>Bot version</td> <td>[[_result.bot_vers
     ion]]</td> </tr> <tr> <td>Server version</td> <td>[[_result.server_versions]]</t
     d> </tr> </tbody></table> </template> <template is="dom-if" if="[[_wasNotPickedU
     p(_result)]]"> This space left blank until a bot is assigned to the task. </temp
     late> <template is="dom-if" if="[[_result.performance_stats]]"> <div class="titl
     e">Performance Stats</div> <table> <tbody><tr> <td title="This includes time tak
     en to download inputs, isolate outputs, and setup CIPD">Total Overhead</td> <td>
     [[_humanDuration(_result.performance_stats.bot_overhead)]]</td> </tr> <tr> <td>D
     ownloading Inputs From Isolate</td> <td>[[_humanDuration(_result.performance_sta
     ts.isolated_download.duration)]]</td> </tr> <tr> <td>Uploading Outputs To Isolat
     e</td> <td>[[_humanDuration(_result.performance_stats.isolated_upload.duration)]
     ]</td> </tr> <tr> <td>Initial bot cache</td> <td>[[_result.performance_stats.iso
     lated_download.initial_number_items]] items; [[_bytes(_result.performance_stats.
     isolated_download.initial_size)]]</td> </tr> </tbody></table> </template> </div>
      <div class="flex right"> <div class="horizontal layout"> <div class="tabs"> <pa
     per-tabs selected="{{_show_raw}}" no-bar=""> <paper-tab disabled$="[[_noMilo(_re
     quest)]]">Milo Output</paper-tab> <paper-tab>Raw Output</paper-tab> </paper-tabs
     > </div> <paper-input class="refresh_input" label="Refresh Interval (seconds)" v
     alue="{{_refresh_interval}}" title="How often to refresh all information about t
     he task" auto-validate="" min="1" max="1000" pattern="[0-9]+"> </paper-input> </
     div> <template is="dom-if" if="[[_supportsMilo(_request,_show_raw)]]"> <iframe i
     d="miloFrame" class="milo tabbed" src$="[[_getMiloLink(milo_prefix,task_id)]]"><
     /iframe> </template> <template is="dom-if" if="[[_show_raw]]"> <div class="code 
     stdout tabbed">[[_stdout]]</div> </template> </div> </div> </div> </swarming-app
     > <paper-dialog id="prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2
     >Are you sure?</h2> <div>Are you sure you want to [[_dialogPrompt]]?</div> <div 
     class="buttons"> <paper-button dialog-dismiss="" autofocus="">No</paper-button> 
     <paper-button dialog-confirm="">Yes</paper-button> </div> </paper-dialog> <error
     -toast></error-toast> <interval-timer period="[[_refresh_interval]]" on-trigger=
     "_softRefresh"> </interval-timer> </template> <script>!function(){Polymer({is:"t
     ask-page",behaviors:[SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBeha
     vior],properties:{task_id:{type:String},client_id:{type:String},milo_prefix:{typ
     e:String},_dialogPrompt:{type:String,value:""},_refresh_interval:{type:Number},_
     request:{type:Object,observer:"_requestUpdated"},_request_detail:{type:Boolean},
     _result:{type:Object},_stdout:{type:String}},_alias:function(t){var e=t.value;re
     turn Array.isArray(e)||(e=[e]),swarming.alias.has(t.key)&&e.forEach(function(i,s
     ){e[s]=swarming.alias.apply(i,t.key)}),e.join(" | ")},_bytes:function(t){return 
     sk.human.bytes(t)},_canCancelTask:function(t,e){return t&&"PENDING"===t.state&&e
     .cancel_task},_cancelTask:function(){var t="/_ah/api/swarming/v1/task/"+this.tas
     k_id+"/cancel";swarming.postWithToast(t,"Canceling task "+this.task_id,this._aut
     h_headers)},_cipdRowspan:function(t,e){if(!t||!t.properties||!t.properties.cipd_
     input)return 0;var i=(t.properties.cipd_input.packages||[]).length;return i*=e&&
     e.cipd_pins&&e.cipd_pins.packages?3:2,i+1},_cipdPackages:function(t,e){if(!t||!t
     .properties||!t.properties.cipd_input)return[];var i=t.properties.cipd_input.pac
     kages||[],s=e&&e.cipd_pins&&e.cipd_pins.packages||[];return i.forEach(function(t
     ){t.requested=t.package_name+":"+t.version,s.forEach(function(e){e.path===t.path
     &&(t.actual=e.package_name+":"+e.version)})}),i},_expires:function(t){var e=pars
     eInt(t.expiration_secs);return e?sk.human.localeTime(new Date(t.created_ts.getTi
     me()+1e3*e)):t.expiration_secs+" seconds from created time"},_extraArgs:function
     (t){if(!t||!t.properties)return"";var e=t.properties.extra_args||[];return e.joi
     n(" ")},_failureClass:function(t){return t?"failed_task":""},_getMiloLink:functi
     on(t,e){if(t)return t+e},_internalClass:function(t){return t?"exception":""},_is
     olateLink:function(t){if(t&&t.isolatedserver)return t.isolatedserver+"/browse?na
     mespace="+t.namespace+"&hash="+t.isolated},_noMilo:function(t){return!this._tag(
     t,"allow_milo")},_pending:function(t){if(!t.created_ts)return"";var e=t.started_
     ts||t.abandoned_ts||new Date;return e<=t.created_ts?"0s":this._timeDiffExact(t.c
     reated_ts,e)},_promptClosed:function(t){t.detail.confirmed&&(this._dialogPrompt.
     startsWith("cancel")?this._cancelTask():this._retryTask())},_promptCancel:functi
     on(){this.set("_dialogPrompt","cancel task "+this.task_id),this.$.prompt.open()}
     ,_promptRetry:function(){this.set("_dialogPrompt","retry task "+this.task_id),th
     is.$.prompt.open()},_refresh:function(){this.$.data.reload()},_requestUpdated:fu
     nction(t){this._noMilo(t)&&this.set("_show_raw",1)},_softRefresh:function(){if(t
     his._result&&"RUNNING"!==this._result.state&&"PENDING"!==this._result.state)retu
     rn void console.log("Don't reload because not running");this.$.data.reload();var
      t=this.$$("iframe");t&&(t.src=this._getMiloLink(this.milo_prefix,this.task_id))
     },_retryTask:function(){if(!this._request)return void sk.errorMessage("Task not 
     yet loaded",3e3);var t={expiration_secs:this._request.expiration_secs,name:this.
     _request.name+" (retry)",parent_task_id:this._request.parent_task_id,priority:th
     is._request.priority,properties:this._request.properties,tags:this._request.tags
     ,user:this._profile.email,service_account:this._request.service_account};swarmin
     g.postWithToast("/_ah/api/swarming/v1/tasks/new","Retrying task "+this.task_id,t
     his._auth_headers,t).then(function(t){t=JSON.parse(t),t&&t.task_id&&this.set("ta
     sk_id",t.task_id)}.bind(this),function(t){console.log("Task could not be retried
     ",t)})},_rowspan:function(t){return t=t||[],t.length+1},_supportsMilo:function(t
     ,e){return!e&&t&&this._tag(t,"allow_milo")},_state:function(t){return t?t.state=
     ==this.COMPLETED?t.failure?this.COMPLETED_FAILURE:"0"===t.try_number?this.COMPLE
     TED_DEDUPED:this.COMPLETED_SUCCESS:t.state:""},_stateClass:function(t){return th
     is.stateClass(this._state(t))},_toggleDetails:function(){this.set("_request_deta
     il",!this._request_detail)},_tag:function(t,e){if(t&&t.tagMap)return t.tagMap[e]
     },_wasPickedUp:function(t){return t&&t.state!==this.PENDING&&t.state!==this.CANC
     ELED&&t.state!=this.EXPIRED},_wasNotPickedUp:function(t){return t&&!this._wasPic
     kedUp(t)}})}()</script> </dom-module></div></body></html> | 
| OLD | NEW |