function e(e,n,r,s,o,a){function l(e,t,i){return function(n,r){return i&&i(n),e[t].call(n,r)}}function d(e,t){for(var i=0;i<e.length;i++)e[i].call(t);return t}function c(e,t,i,n){if("function"!=typeof e&&(n||void 0!==e))throw new TypeError(t+" must "+(i||"be")+" a function"+(n?"":" or undefined"));return e}function h(e,i,n,r,s,o,a,d,h,u,p,g,m){function f(e){if(!m(e))throw new TypeError("Attempted to access private element on non-instance")}var y,v=i[0],_=i[3],b=!d;if(!b){n||Array.isArray(v)||(v=[v]);var w={},x=[],k=3===s?"get":4===s||g?"set":"value";u?(p||g?w={get:t((function(){return _(this)}),r,"get"),set:function(e){i[4](this,e)}}:w[k]=_,p||t(w[k],r,2===s?"":k)):p||(w=Object.getOwnPropertyDescriptor(e,r))}for(var S=e,A=v.length-1;A>=0;A-=n?2:1){var E=v[A],C=n?v[A-1]:void 0,T={},I={kind:["field","accessor","method","getter","setter","class"][s],name:r,metadata:o,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");c(t,"An initializer","be",!0),a.push(t)}.bind(null,T)};try{if(b)(y=c(E.call(C,S,I),"class decorators","return"))&&(S=y);else{var D,P;I.static=h,I.private=u,u?2===s?D=function(e){return f(e),w.value}:(s<4&&(D=l(w,"get",f)),3!==s&&(P=l(w,"set",f))):(D=function(e){return e[r]},(s<2||4===s)&&(P=function(e,t){e[r]=t}));var F=I.access={has:u?m.bind():function(e){return r in e}};if(D&&(F.get=D),P&&(F.set=P),S=E.call(C,g?{get:w.get,set:w.set}:w[k],I),g){if("object"==typeof S&&S)(y=c(S.get,"accessor.get"))&&(w.get=y),(y=c(S.set,"accessor.set"))&&(w.set=y),(y=c(S.init,"accessor.init"))&&x.push(y);else if(void 0!==S)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0")}else c(S,(p?"field":"method")+" decorators","return")&&(p?x.push(S):w[k]=S)}}finally{T.v=!0}}return(p||g)&&d.push((function(e,t){for(var i=x.length-1;i>=0;i--)t=x[i].call(e,t);return t})),p||b||(u?g?d.push(l(w,"get"),l(w,"set")):d.push(2===s?w[k]:l.call.bind(w[k])):Object.defineProperty(e,r,w)),S}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for("Symbol.metadata"),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var p=a[Symbol.metadata||Symbol.for("Symbol.metadata")];var g=Object.create(null==p?null:p),m=function(e,t,n,r){var s,o,a=[],l=function(t){return function(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?typeof e:"null"));return e}(t)===e},c=new Map;function u(e){e&&a.push(d.bind(null,e))}for(var p=0;p<t.length;p++){var g=t[p];if(Array.isArray(g)){var m=g[1],f=g[2],y=g.length>3,v=16&m,_=!!(8&m),b=0==(m&=7),w=f+"/"+_;if(!b&&!y){var x=c.get(w);if(!0===x||3===x&&4!==m||4===x&&3!==m)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+f);c.set(w,!(m>2)||m)}h(_?e:e.prototype,g,v,y?"#"+f:i(f),m,r,_?o=o||[]:s=s||[],a,_,y,b,1===m,_&&y?l:n)}}return u(s),u(o),a}(e,n,o,g);return r.length||u(e,g),{e:m,get c(){var t=[];return r.length&&[u(h(e,[r],s,e.name,5,g,t),g),d.bind(null,t,e)]}}}function t(e,t,i){"symbol"==typeof t&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:i?i+" "+t:t})}catch(e){}return e}function i(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var n=0;function r(e){return"__private_"+n+++"_"+e}function s(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}function o(e){return e}const a=globalThis,l=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,d=Symbol(),c=new WeakMap;let h=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==d)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(l&&void 0===e){const i=void 0!==t&&1===t.length;i&&(e=c.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&c.set(t,e))}return e}toString(){return this.cssText}};const u=(e,...t)=>{const i=1===e.length?e[0]:t.reduce(((t,i,n)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[n+1]),e[0]);return new h(i,e,d)},p=(e,t)=>{if(l)e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const i of t){const t=document.createElement("style"),n=a.litNonce;void 0!==n&&t.setAttribute("nonce",n),t.textContent=i.cssText,e.appendChild(t)}},g=l?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new h("string"==typeof e?e:e+"",void 0,d))(t)})(e):e,{is:m,defineProperty:f,getOwnPropertyDescriptor:y,getOwnPropertyNames:v,getOwnPropertySymbols:_,getPrototypeOf:b}=Object,w=globalThis,x=w.trustedTypes,k=x?x.emptyScript:"",S=w.reactiveElementPolyfillSupport,A=(e,t)=>e,E={toAttribute(e,t){switch(t){case Boolean:e=e?k:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},C=(e,t)=>!m(e,t),T={attribute:!0,type:String,converter:E,reflect:!1,hasChanged:C};Symbol.metadata??=Symbol("metadata"),w.litPropertyMetadata??=new WeakMap;let I=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=T){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const i=Symbol(),n=this.getPropertyDescriptor(e,i,t);void 0!==n&&f(this.prototype,e,n)}}static getPropertyDescriptor(e,t,i){const{get:n,set:r}=y(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return null==n?void 0:n.call(this)},set(t){const s=null==n?void 0:n.call(this);r.call(this,t),this.requestUpdate(e,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??T}static _$Ei(){if(this.hasOwnProperty(A("elementProperties")))return;const e=b(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(A("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(A("properties"))){const e=this.properties,t=[...v(e),..._(e)];for(const i of t)this.createProperty(i,e[i])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,i]of t)this.elementProperties.set(e,i)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const i=this._$Eu(e,t);void 0!==i&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(g(e))}else void 0!==e&&t.push(g(e));return t}static _$Eu(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),null===(e=this.constructor.l)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t;(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&(null===(t=e.hostConnected)||void 0===t||t.call(e))}removeController(e){var t;null===(t=this._$EO)||void 0===t||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return p(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),null===(e=this._$EO)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$EO)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$EC(e,t){const i=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,i);if(void 0!==n&&!0===i.reflect){var r;const s=(void 0!==(null===(r=i.converter)||void 0===r?void 0:r.toAttribute)?i.converter:E).toAttribute(t,i.type);this._$Em=e,null==s?this.removeAttribute(n):this.setAttribute(n,s),this._$Em=null}}_$AK(e,t){const i=this.constructor,n=i._$Eh.get(e);if(void 0!==n&&this._$Em!==n){var r;const e=i.getPropertyOptions(n),s="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(r=e.converter)||void 0===r?void 0:r.fromAttribute)?e.converter:E;this._$Em=n,this[n]=s.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,i){if(void 0!==e){if(i??=this.constructor.getPropertyOptions(e),!(i.hasChanged??C)(this[e],t))return;this.P(e,t,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,i){this._$AL.has(e)||this._$AL.set(e,t),!0===i.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,i]of e)!0!==i.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],i)}let e=!1;const t=this._$AL;try{var i;e=this.shouldUpdate(t),e?(this.willUpdate(t),null!==(i=this._$EO)&&void 0!==i&&i.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;null!==(t=this._$EO)&&void 0!==t&&t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}};I.elementStyles=[],I.shadowRootOptions={mode:"open"},I[A("elementProperties")]=new Map,I[A("finalized")]=new Map,null!=S&&S({ReactiveElement:I}),(w.reactiveElementVersions??=[]).push("2.0.4");const D=globalThis,P=D.trustedTypes,F=P?P.createPolicy("lit-html",{createHTML:e=>e}):void 0,N="$lit$",R=`lit$${Math.random().toFixed(9).slice(2)}$`,O="?"+R,M=`<${O}>`,L=document,B=()=>L.createComment(""),z=e=>null===e||"object"!=typeof e&&"function"!=typeof e,j=Array.isArray,H=e=>j(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]),U="[ \t\n\f\r]",$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,V=/-->/g,W=/>/g,G=RegExp(`>|${U}(?:([^\\s"'>=/]+)(${U}*=${U}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),q=/'/g,Y=/"/g,K=/^(?:script|style|textarea|title)$/i,J=e=>(t,...i)=>({_$litType$:e,strings:t,values:i}),Z=J(1),Q=J(2),X=Symbol.for("lit-noChange"),ee=Symbol.for("lit-nothing"),te=new WeakMap,ie=L.createTreeWalker(L,129);function ne(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==F?F.createHTML(t):t}const re=(e,t)=>{const i=e.length-1,n=[];let r,s=2===t?"<svg>":"",o=$;for(let t=0;t<i;t++){const i=e[t];let a,l,d=-1,c=0;for(;c<i.length&&(o.lastIndex=c,l=o.exec(i),null!==l);)c=o.lastIndex,o===$?"!--"===l[1]?o=V:void 0!==l[1]?o=W:void 0!==l[2]?(K.test(l[2])&&(r=RegExp("</"+l[2],"g")),o=G):void 0!==l[3]&&(o=G):o===G?">"===l[0]?(o=r??$,d=-1):void 0===l[1]?d=-2:(d=o.lastIndex-l[2].length,a=l[1],o=void 0===l[3]?G:'"'===l[3]?Y:q):o===Y||o===q?o=G:o===V||o===W?o=$:(o=G,r=void 0);const h=o===G&&e[t+1].startsWith("/>")?" ":"";s+=o===$?i+M:d>=0?(n.push(a),i.slice(0,d)+N+i.slice(d)+R+h):i+R+(-2===d?t:h)}return[ne(e,s+(e[i]||"<?>")+(2===t?"</svg>":"")),n]};class se{constructor({strings:e,_$litType$:t},i){let n;this.parts=[];let r=0,s=0;const o=e.length-1,a=this.parts,[l,d]=re(e,t);if(this.el=se.createElement(l,i),ie.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=ie.nextNode())&&a.length<o;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(N)){const t=d[s++],i=n.getAttribute(e).split(R),o=/([.?@])?(.*)/.exec(t);a.push({type:1,index:r,name:o[2],strings:i,ctor:"."===o[1]?ce:"?"===o[1]?he:"@"===o[1]?ue:de}),n.removeAttribute(e)}else e.startsWith(R)&&(a.push({type:6,index:r}),n.removeAttribute(e));if(K.test(n.tagName)){const e=n.textContent.split(R),t=e.length-1;if(t>0){n.textContent=P?P.emptyScript:"";for(let i=0;i<t;i++)n.append(e[i],B()),ie.nextNode(),a.push({type:2,index:++r});n.append(e[t],B())}}}else if(8===n.nodeType)if(n.data===O)a.push({type:2,index:r});else{let e=-1;for(;-1!==(e=n.data.indexOf(R,e+1));)a.push({type:7,index:r}),e+=R.length-1}r++}}static createElement(e,t){const i=L.createElement("template");return i.innerHTML=e,i}}function oe(e,t,i=e,n){var r,s,o,a;if(t===X)return t;let l=void 0!==n?null===(r=i._$Co)||void 0===r?void 0:r[n]:i._$Cl;const d=z(t)?void 0:t._$litDirective$;return(null===(s=l)||void 0===s?void 0:s.constructor)!==d&&(null!==(o=l)&&void 0!==o&&null!==(a=o._$AO)&&void 0!==a&&a.call(o,!1),void 0===d?l=void 0:(l=new d(e),l._$AT(e,i,n)),void 0!==n?(i._$Co??=[])[n]=l:i._$Cl=l),void 0!==l&&(t=oe(e,l._$AS(e,t.values),l,n)),t}class ae{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:i}=this._$AD,n=((null==e?void 0:e.creationScope)??L).importNode(t,!0);ie.currentNode=n;let r=ie.nextNode(),s=0,o=0,a=i[0];for(;void 0!==a;){var l;if(s===a.index){let t;2===a.type?t=new le(r,r.nextSibling,this,e):1===a.type?t=new a.ctor(r,a.name,a.strings,this,e):6===a.type&&(t=new pe(r,this,e)),this._$AV.push(t),a=i[++o]}s!==(null===(l=a)||void 0===l?void 0:l.index)&&(r=ie.nextNode(),s++)}return ie.currentNode=L,n}p(e){let t=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(e,i,t),t+=i.strings.length-2):i._$AI(e[t])),t++}}class le{get _$AU(){var e;return(null===(e=this._$AM)||void 0===e?void 0:e._$AU)??this._$Cv}constructor(e,t,i,n){this.type=2,this._$AH=ee,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=i,this.options=n,this._$Cv=(null==n?void 0:n.isConnected)??!0}get parentNode(){var e;let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null===(e=t)||void 0===e?void 0:e.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=oe(this,e,t),z(e)?e===ee||null==e||""===e?(this._$AH!==ee&&this._$AR(),this._$AH=ee):e!==this._$AH&&e!==X&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):H(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==ee&&z(this._$AH)?this._$AA.nextSibling.data=e:this.T(L.createTextNode(e)),this._$AH=e}$(e){var t;const{values:i,_$litType$:n}=e,r="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=se.createElement(ne(n.h,n.h[0]),this.options)),n);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===r)this._$AH.p(i);else{const e=new ae(r,this),t=e.u(this.options);e.p(i),this.T(t),this._$AH=e}}_$AC(e){let t=te.get(e.strings);return void 0===t&&te.set(e.strings,t=new se(e)),t}k(e){j(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,n=0;for(const r of e)n===t.length?t.push(i=new le(this.S(B()),this.S(B()),this,this.options)):i=t[n],i._$AI(r),n++;n<t.length&&(this._$AR(i&&i._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,t);e&&e!==this._$AB;){var i;const t=e.nextSibling;e.remove(),e=t}}setConnected(e){var t;void 0===this._$AM&&(this._$Cv=e,null===(t=this._$AP)||void 0===t||t.call(this,e))}}class de{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,i,n,r){this.type=1,this._$AH=ee,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ee}_$AI(e,t=this,i,n){const r=this.strings;let s=!1;if(void 0===r)e=oe(this,e,t,0),s=!z(e)||e!==this._$AH&&e!==X,s&&(this._$AH=e);else{const n=e;let o,a;for(e=r[0],o=0;o<r.length-1;o++)a=oe(this,n[i+o],t,o),a===X&&(a=this._$AH[o]),s||=!z(a)||a!==this._$AH[o],a===ee?e=ee:e!==ee&&(e+=(a??"")+r[o+1]),this._$AH[o]=a}s&&!n&&this.j(e)}j(e){e===ee?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class ce extends de{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===ee?void 0:e}}class he extends de{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==ee)}}class ue extends de{constructor(e,t,i,n,r){super(e,t,i,n,r),this.type=5}_$AI(e,t=this){if((e=oe(this,e,t,0)??ee)===X)return;const i=this._$AH,n=e===ee&&i!==ee||e.capture!==i.capture||e.once!==i.once||e.passive!==i.passive,r=e!==ee&&(i===ee||n);n&&this.element.removeEventListener(this.name,this,i),r&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;"function"==typeof this._$AH?this._$AH.call((null===(t=this.options)||void 0===t?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}}class pe{constructor(e,t,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){oe(this,e)}}const ge={P:N,A:R,C:O,M:1,L:re,R:ae,D:H,V:oe,I:le,H:de,N:he,U:ue,B:ce,F:pe},me=D.litHtmlPolyfillSupport;null!=me&&me(se,le),(D.litHtmlVersions??=[]).push("3.1.3");const fe=(e,t,i)=>{const n=(null==i?void 0:i.renderBefore)??t;let r=n._$litPart$;if(void 0===r){const e=(null==i?void 0:i.renderBefore)??null;n._$litPart$=r=new le(t.insertBefore(B(),e),e,void 0,i??{})}return r._$AI(e),r};var ye;let ve=class extends I{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=fe(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return X}};ve._$litElement$=!0,ve.finalized=!0,null===(ye=globalThis.litElementHydrateSupport)||void 0===ye||ye.call(globalThis,{LitElement:ve});const _e=globalThis.litElementPolyfillSupport;null==_e||_e({LitElement:ve}),(globalThis.litElementVersions??=[]).push("4.0.5");const be=e=>(t,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)},we={attribute:!0,type:String,converter:E,reflect:!1,hasChanged:C},xe=(e=we,t,i)=>{const{kind:n,metadata:r}=i;let s=globalThis.litPropertyMetadata.get(r);if(void 0===s&&globalThis.litPropertyMetadata.set(r,s=new Map),s.set(i.name,e),"accessor"===n){const{name:n}=i;return{set(i){const r=t.get.call(this);t.set.call(this,i),this.requestUpdate(n,r,e)},init(t){return void 0!==t&&this.P(n,void 0,e),t}}}if("setter"===n){const{name:n}=i;return function(i){const r=this[n];t.call(this,i),this.requestUpdate(n,r,e)}}throw Error("Unsupported decorator location: "+n)};function ke(e){return(t,i)=>"object"==typeof i?xe(e,t,i):((e,t,i)=>{const n=t.hasOwnProperty(i);return t.constructor.createProperty(i,n?{...e,wrapped:!0}:e),n?Object.getOwnPropertyDescriptor(t,i):void 0})(e,t,i)}function Se(e){return ke({...e,state:!0,attribute:!1})}const Ae=(e,t,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i);function Ee(e,t){return(i,n,r)=>{const s=t=>{var i;return(null===(i=t.renderRoot)||void 0===i?void 0:i.querySelector(e))??null};if(t){const{get:e,set:t}="object"==typeof n?i:r??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return Ae(i,n,{get(){let i=e.call(this);return void 0===i&&(i=s(this),(null!==i||this.hasUpdated)&&t.call(this,i)),i}})}return Ae(i,n,{get(){return s(this)}})}}function Ce(e){return(t,i)=>{const{slot:n,selector:r}=e??{},s="slot"+(n?`[name=${n}]`:":not([name])");return Ae(t,i,{get(){var t;const i=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(s),n=(null==i?void 0:i.assignedElements(e))??[];return void 0===r?n:n.filter((e=>e.matches(r)))}})}}let Te=class extends Event{constructor(e,t,i){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.callback=t,this.subscribe=i??!1}};let Ie=class{constructor(e,t,i,n){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,void 0!==t.context){const e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=i,this.subscribe=n??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new Te(this.context,this.t,this.subscribe))}},De=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){const i=t||!Object.is(e,this.o);this.o=e,i&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(const[e,{disposer:t}]of this.subscriptions)e(this.o,t)},void 0!==e&&(this.value=e)}addCallback(e,t,i){if(!i)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});const{disposer:n}=this.subscriptions.get(e);e(this.value,n)}clearCallbacks(){this.subscriptions.clear()}},Pe=class extends Event{constructor(e){super("context-provider",{bubbles:!0,composed:!0}),this.context=e}},Fe=class extends De{constructor(e,t,i){var n,r;super(void 0!==t.context?t.initialValue:i),this.onContextRequest=e=>{const t=e.composedPath()[0];e.context===this.context&&t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{const t=e.composedPath()[0];if(e.context!==this.context||t===this.host)return;const i=new Set;for(const[e,{consumerHost:t}]of this.subscriptions)i.has(e)||(i.add(e),t.dispatchEvent(new Te(this.context,e,!0)));e.stopPropagation()},this.host=e,void 0!==t.context?this.context=t.context:this.context=t,this.attachListeners(),null===(n=(r=this.host).addController)||void 0===n||n.call(r,this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Pe(this.context))}};const Ne=!(window.ShadyDOM&&window.ShadyDOM.inUse);let Re,Oe;function Me(e){Re=(!e||!e.shimcssproperties)&&(Ne||Boolean(!navigator.userAgent.match(/AppleWebKit\/601|Edge\/15/)&&window.CSS&&CSS.supports&&CSS.supports("box-shadow","0 0 0 var(--foo)")))}window.ShadyCSS&&void 0!==window.ShadyCSS.cssBuild&&(Oe=window.ShadyCSS.cssBuild);const Le=Boolean(window.ShadyCSS&&window.ShadyCSS.disableRuntime);window.ShadyCSS&&void 0!==window.ShadyCSS.nativeCss?Re=window.ShadyCSS.nativeCss:window.ShadyCSS?(Me(window.ShadyCSS),window.ShadyCSS=void 0):Me(window.WebComponents&&window.WebComponents.flags);const Be=Re;class ze{constructor(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector=""}}function je(e){return He(function(e){let t=new ze;t.start=0,t.end=e.length;let i=t;for(let n=0,r=e.length;n<r;n++)if(e[n]===Ve){i.rules||(i.rules=[]);let e=i,t=e.rules[e.rules.length-1]||null;i=new ze,i.start=n+1,i.parent=e,i.previous=t,e.rules.push(i)}else e[n]===We&&(i.end=n+1,i=i.parent||t);return t}(e=e.replace(Ge.comments,"").replace(Ge.port,"")),e)}function He(e,t){let i=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=i.trim(),e.parent){let n=e.previous?e.previous.end:e.parent.start;i=t.substring(n,e.start-1),i=function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,(function(){let e=arguments[1],t=6-e.length;for(;t--;)e="0"+e;return"\\"+e}))}(i),i=i.replace(Ge.multipleSpaces," "),i=i.substring(i.lastIndexOf(";")+1);let r=e.parsedSelector=e.selector=i.trim();e.atRule=0===r.indexOf(Ke),e.atRule?0===r.indexOf(Ye)?e.type=$e.MEDIA_RULE:r.match(Ge.keyframesRule)&&(e.type=$e.KEYFRAMES_RULE,e.keyframesName=e.selector.split(Ge.multipleSpaces).pop()):0===r.indexOf(qe)?e.type=$e.MIXIN_RULE:e.type=$e.STYLE_RULE}let n=e.rules;if(n)for(let e,i=0,r=n.length;i<r&&(e=n[i]);i++)He(e,t);return e}function Ue(e,t,i=""){let n="";if(e.cssText||e.rules){let i=e.rules;if(i&&!function(e){let t=e[0];return Boolean(t)&&Boolean(t.selector)&&0===t.selector.indexOf(qe)}(i))for(let e,r=0,s=i.length;r<s&&(e=i[r]);r++)n=Ue(e,t,n);else n=t?e.cssText:function(e){return e=function(e){return e.replace(Ge.customProp,"").replace(Ge.mixinProp,"")}(e),function(e){return e.replace(Ge.mixinApply,"").replace(Ge.varApply,"")}(e)}(e.cssText),n=n.trim(),n&&(n="  "+n+"\n")}return n&&(e.selector&&(i+=e.selector+" "+Ve+"\n"),i+=n,e.selector&&(i+=We+"\n\n")),i}const $e={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},Ve="{",We="}",Ge={comments:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},qe="--",Ye="@media",Ke="@",Je=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gi,Ze=/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,Qe=/@media\s(.*)/,Xe=new Set,et="shady-unscoped";function tt(e){const t=e.textContent;if(!Xe.has(t)){Xe.add(t);const e=document.createElement("style");e.setAttribute("shady-unscoped",""),e.textContent=t,document.head.appendChild(e)}}function it(e){return e.hasAttribute(et)}function nt(e,t){return e?("string"==typeof e&&(e=je(e)),t&&st(e,t),Ue(e,Be)):""}function rt(e){return!e.__cssRules&&e.textContent&&(e.__cssRules=je(e.textContent)),e.__cssRules||null}function st(e,t,i,n){if(!e)return;let r=!1,s=e.type;if(n&&s===$e.MEDIA_RULE){let t=e.selector.match(Qe);t&&(window.matchMedia(t[1]).matches||(r=!0))}s===$e.STYLE_RULE?t(e):i&&s===$e.KEYFRAMES_RULE?i(e):s===$e.MIXIN_RULE&&(r=!0);let o=e.rules;if(o&&!r)for(let e,r=0,s=o.length;r<s&&(e=o[r]);r++)st(e,t,i,n)}function ot(e,t){let i=e.indexOf("var(");if(-1===i)return t(e,"","","");let n=function(e,t){let i=0;for(let n=t,r=e.length;n<r;n++)if("("===e[n])i++;else if(")"===e[n]&&0==--i)return n;return-1}(e,i+3),r=e.substring(i+4,n),s=e.substring(0,i),o=ot(e.substring(n+1),t),a=r.indexOf(",");return-1===a?t(s,r.trim(),"",o):t(s,r.substring(0,a).trim(),r.substring(a+1).trim(),o)}window.ShadyDOM&&window.ShadyDOM.wrap;const at="css-build";function lt(e){if(void 0!==Oe)return Oe;if(void 0===e.__cssBuild){const t=e.getAttribute(at);if(t)e.__cssBuild=t;else{const t=function(e){const t="template"===e.localName?e.content.firstChild:e.firstChild;if(t instanceof Comment){const e=t.textContent.trim().split(":");if(e[0]===at)return e[1]}return""}(e);""!==t&&function(e){const t="template"===e.localName?e.content.firstChild:e.firstChild;t.parentNode.removeChild(t)}(e),e.__cssBuild=t}}return e.__cssBuild||""}function dt(e){return""!==lt(e)}function ct(e,t){for(let i in t)null===i?e.style.removeProperty(i):e.style.setProperty(i,t[i])}function ht(e,t){const i=window.getComputedStyle(e).getPropertyValue(t);return i?i.trim():""}const ut=/;\s*/m,pt=/^\s*(initial)|(inherit)\s*$/,gt=/\s*!important/,mt="_-_";class ft{constructor(){this._map={}}set(e,t){e=e.trim(),this._map[e]={properties:t,dependants:{}}}get(e){return e=e.trim(),this._map[e]||null}}let yt=null;class vt{constructor(){this._currentElement=null,this._measureElement=null,this._map=new ft}detectMixin(e){return function(e){const t=Ze.test(e)||Je.test(e);return Ze.lastIndex=0,Je.lastIndex=0,t}(e)}gatherStyles(e){const t=function(e){const t=[],i=e.querySelectorAll("style");for(let e=0;e<i.length;e++){const n=i[e];it(n)?Ne||(tt(n),n.parentNode.removeChild(n)):(t.push(n.textContent),n.parentNode.removeChild(n))}return t.join("").trim()}(e.content);if(t){const i=document.createElement("style");return i.textContent=t,e.content.insertBefore(i,e.content.firstChild),i}return null}transformTemplate(e,t){void 0===e._gatheredStyle&&(e._gatheredStyle=this.gatherStyles(e));const i=e._gatheredStyle;return i?this.transformStyle(i,t):null}transformStyle(e,t=""){let i=rt(e);return this.transformRules(i,t),e.textContent=nt(i),i}transformCustomStyle(e){let t=rt(e);return st(t,(e=>{":root"===e.selector&&(e.selector="html"),this.transformRule(e)})),e.textContent=nt(t),t}transformRules(e,t){this._currentElement=t,st(e,(e=>{this.transformRule(e)})),this._currentElement=null}transformRule(e){e.cssText=this.transformCssText(e.parsedCssText,e),":root"===e.selector&&(e.selector=":host > *")}transformCssText(e,t){return e=e.replace(Je,((e,i,n,r)=>this._produceCssProperties(e,i,n,r,t))),this._consumeCssProperties(e,t)}_getInitialValueForProperty(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}_fallbacksFromPreviousRules(e){let t=e;for(;t.parent;)t=t.parent;const i={};let n=!1;return st(t,(t=>{n=n||t===e,n||t.selector===e.selector&&Object.assign(i,this._cssTextToMap(t.parsedCssText))})),i}_consumeCssProperties(e,t){let i=null;for(;i=Ze.exec(e);){let n=i[0],r=i[1],s=i.index,o=s+n.indexOf("@apply"),a=s+n.length,l=e.slice(0,o),d=e.slice(a),c=t?this._fallbacksFromPreviousRules(t):{};Object.assign(c,this._cssTextToMap(l));let h=this._atApplyToCssProperties(r,c);e=`${l}${h}${d}`,Ze.lastIndex=s+h.length}return e}_atApplyToCssProperties(e,t){e=e.replace(ut,"");let i=[],n=this._map.get(e);if(n||(this._map.set(e,{}),n=this._map.get(e)),n){let r,s,o;this._currentElement&&(n.dependants[this._currentElement]=!0);const a=n.properties;for(r in a)o=t&&t[r],s=[r,": var(",e,mt,r],o&&s.push(",",o.replace(gt,"")),s.push(")"),gt.test(a[r])&&s.push(" !important"),i.push(s.join(""))}return i.join("; ")}_replaceInitialOrInherit(e,t){let i=pt.exec(t);return i&&(t=i[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}_cssTextToMap(e,t=!1){let i,n,r=e.split(";"),s={};for(let e,o,a=0;a<r.length;a++)e=r[a],e&&(o=e.split(":"),o.length>1&&(i=o[0].trim(),n=o.slice(1).join(":"),t&&(n=this._replaceInitialOrInherit(i,n)),s[i]=n));return s}_invalidateMixinEntry(e){if(yt)for(let t in e.dependants)t!==this._currentElement&&yt(t)}_produceCssProperties(e,t,i,n,r){if(i&&ot(i,((e,t)=>{t&&this._map.get(t)&&(n=`@apply ${t};`)})),!n)return e;let s=this._consumeCssProperties(""+n,r),o=e.slice(0,e.indexOf("--")),a=this._cssTextToMap(s,!0),l=a,d=this._map.get(t),c=d&&d.properties;c?l=Object.assign(Object.create(c),a):this._map.set(t,l);let h,u,p=[],g=!1;for(h in l)u=a[h],void 0===u&&(u="initial"),c&&!(h in c)&&(g=!0),p.push(`${t}${mt}${h}: ${u}`);return g&&this._invalidateMixinEntry(d),d&&(d.properties=l),i&&(o=`${e};${o}`),`${o}${p.join("; ")};`}}vt.prototype.detectMixin=vt.prototype.detectMixin,vt.prototype.transformStyle=vt.prototype.transformStyle,vt.prototype.transformCustomStyle=vt.prototype.transformCustomStyle,vt.prototype.transformRules=vt.prototype.transformRules,vt.prototype.transformRule=vt.prototype.transformRule,vt.prototype.transformTemplate=vt.prototype.transformTemplate,vt.prototype._separator=mt,Object.defineProperty(vt.prototype,"invalidCallback",{get:()=>yt,set(e){yt=e}});const _t={},bt="_applyShimCurrentVersion",wt="_applyShimNextVersion",xt="_applyShimValidatingVersion",kt=Promise.resolve();function St(e){let t=_t[e];t&&function(e){e[bt]=e[bt]||0,e[xt]=e[xt]||0,e[wt]=(e[wt]||0)+1}(t)}function At(e){return e[bt]===e[wt]}let Et,Ct=null,Tt=window.HTMLImports&&window.HTMLImports.whenReady||null;function It(e){requestAnimationFrame((function(){Tt?Tt(e):(Ct||(Ct=new Promise((e=>{Et=e})),"complete"===document.readyState?Et():document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&Et()}))),Ct.then((function(){e&&e()})))}))}const Dt="__seenByShadyCSS",Pt="__shadyCSSCachedStyle";let Ft=null,Nt=null,Rt=class{constructor(){this.customStyles=[],this.enqueued=!1,It((()=>{window.ShadyCSS.flushCustomStyles&&window.ShadyCSS.flushCustomStyles()}))}enqueueDocumentValidation(){!this.enqueued&&Nt&&(this.enqueued=!0,It(Nt))}addCustomStyle(e){e[Dt]||(e[Dt]=!0,this.customStyles.push(e),this.enqueueDocumentValidation())}getStyleForCustomStyle(e){if(e[Pt])return e[Pt];let t;return t=e.getStyle?e.getStyle():e,t}processStyles(){const e=this.customStyles;for(let t=0;t<e.length;t++){const i=e[t];if(i[Pt])continue;const n=this.getStyleForCustomStyle(i);if(n){const e=n.__appliedElement||n;Ft&&Ft(e),i[Pt]=e}}return e}};Rt.prototype.addCustomStyle=Rt.prototype.addCustomStyle,Rt.prototype.getStyleForCustomStyle=Rt.prototype.getStyleForCustomStyle,Rt.prototype.processStyles=Rt.prototype.processStyles,Object.defineProperties(Rt.prototype,{transformCallback:{get:()=>Ft,set(e){Ft=e}},validateCallback:{get:()=>Nt,set(e){let t=!1;Nt||(t=!0),Nt=e,t&&this.enqueueDocumentValidation()}}});const Ot=new vt;class Mt{constructor(){this.customStyleInterface=null,Ot.invalidCallback=St}ensure(){this.customStyleInterface||window.ShadyCSS.CustomStyleInterface&&(this.customStyleInterface=window.ShadyCSS.CustomStyleInterface,this.customStyleInterface.transformCallback=e=>{Ot.transformCustomStyle(e)},this.customStyleInterface.validateCallback=()=>{requestAnimationFrame((()=>{this.customStyleInterface.enqueued&&this.flushCustomStyles()}))})}prepareTemplate(e,t){if(this.ensure(),dt(e))return;_t[t]=e;let i=Ot.transformTemplate(e,t);e._styleAst=i}flushCustomStyles(){if(this.ensure(),!this.customStyleInterface)return;let e=this.customStyleInterface.processStyles();if(this.customStyleInterface.enqueued){for(let t=0;t<e.length;t++){let i=e[t],n=this.customStyleInterface.getStyleForCustomStyle(i);n&&Ot.transformCustomStyle(n)}this.customStyleInterface.enqueued=!1}}styleSubtree(e,t){if(this.ensure(),t&&ct(e,t),e.shadowRoot){this.styleElement(e);let t=e.shadowRoot.children||e.shadowRoot.childNodes;for(let e=0;e<t.length;e++)this.styleSubtree(t[e])}else{let t=e.children||e.childNodes;for(let e=0;e<t.length;e++)this.styleSubtree(t[e])}}styleElement(e){this.ensure();let{is:t}=function(e){let t=e.localName,i="",n="";return t?t.indexOf("-")>-1?i=t:(n=t,i=e.getAttribute&&e.getAttribute("is")||""):(i=e.is,n=e.extends),{is:i,typeExtension:n}}(e),i=_t[t];if((!i||!dt(i))&&i&&!At(i)){(function(e){return!At(e)&&e[xt]===e[wt]})(i)||(this.prepareTemplate(i,t),function(e){e[xt]=e[wt],e._validating||(e._validating=!0,kt.then((function(){e[bt]=e[wt],e._validating=!1})))}(i));let n=e.shadowRoot;if(n){let e=n.querySelector("style");e&&(e.__cssRules=i._styleAst,e.textContent=nt(i._styleAst))}}}styleDocument(e){this.ensure(),this.styleSubtree(document.body,e)}}if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){const e=new Mt;let t=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate(t,i,n){e.flushCustomStyles(),e.prepareTemplate(t,i)},prepareTemplateStyles(e,t,i){window.ShadyCSS.prepareTemplate(e,t,i)},prepareTemplateDom(e,t){},styleSubtree(t,i){e.flushCustomStyles(),e.styleSubtree(t,i)},styleElement(t){e.flushCustomStyles(),e.styleElement(t)},styleDocument(t){e.flushCustomStyles(),e.styleDocument(t)},getComputedStyleValue:(e,t)=>ht(e,t),flushCustomStyles(){e.flushCustomStyles()},nativeCss:Be,nativeShadow:Ne,cssBuild:Oe,disableRuntime:Le},t&&(window.ShadyCSS.CustomStyleInterface=t)}window.ShadyCSS.ApplyShim=Ot,window.JSCompiler_renameProperty=function(e,t){return e};let Lt,Bt,zt=/(url\()([^)]*)(\))/g,jt=/(^\/[^\/])|(^#)|(^[\w-\d]*:)/;function Ht(e,t){if(e&&jt.test(e))return e;if("//"===e)return e;if(void 0===Lt){Lt=!1;try{const e=new URL("b","http://a");e.pathname="c%20d",Lt="http://a/c%20d"===e.href}catch(e){}}if(t||(t=document.baseURI||window.location.href),Lt)try{return new URL(e,t).href}catch(t){return e}return Bt||(Bt=document.implementation.createHTMLDocument("temp"),Bt.base=Bt.createElement("base"),Bt.head.appendChild(Bt.base),Bt.anchor=Bt.createElement("a"),Bt.body.appendChild(Bt.anchor)),Bt.base.href=t,Bt.anchor.href=e,Bt.anchor.href||e}function Ut(e,t){return e.replace(zt,(function(e,i,n,r){return i+"'"+Ht(n.replace(/["']/g,""),t)+"'"+r}))}function $t(e){return e.substring(0,e.lastIndexOf("/")+1)}const Vt=!window.ShadyDOM||!window.ShadyDOM.inUse;Boolean(!window.ShadyCSS||window.ShadyCSS.nativeCss);const Wt=Vt&&"adoptedStyleSheets"in Document.prototype&&"replaceSync"in CSSStyleSheet.prototype&&(()=>{try{const e=new CSSStyleSheet;e.replaceSync("");const t=document.createElement("div");return t.attachShadow({mode:"open"}),t.shadowRoot.adoptedStyleSheets=[e],t.shadowRoot.adoptedStyleSheets[0]===e}catch(e){return!1}})();let Gt=window.Polymer&&window.Polymer.rootPath||$t(document.baseURI||window.location.href),qt=window.Polymer&&window.Polymer.sanitizeDOMValue||void 0,Yt=window.Polymer&&window.Polymer.setPassiveTouchGestures||!1,Kt=window.Polymer&&window.Polymer.strictTemplatePolicy||!1,Jt=window.Polymer&&window.Polymer.allowTemplateFromDomModule||!1,Zt=window.Polymer&&window.Polymer.legacyOptimizations||!1,Qt=window.Polymer&&window.Polymer.legacyWarnings||!1,Xt=window.Polymer&&window.Polymer.syncInitialRender||!1,ei=window.Polymer&&window.Polymer.legacyUndefined||!1,ti=window.Polymer&&window.Polymer.orderedComputed||!1,ii=!0;const ni=function(e){ii=e};let ri=window.Polymer&&window.Polymer.removeNestedTemplates||!1,si=window.Polymer&&window.Polymer.fastDomIf||!1,oi=window.Polymer&&window.Polymer.suppressTemplateNotifications||!1,ai=window.Polymer&&window.Polymer.legacyNoObservedAttributes||!1,li=window.Polymer&&window.Polymer.useAdoptedStyleSheetsWithBuiltCSS||!1,di=0;const ci=function(e){let t=e.__mixinApplications;t||(t=new WeakMap,e.__mixinApplications=t);let i=di++;return function(n){let r=n.__mixinSet;if(r&&r[i])return n;let s=t,o=s.get(n);if(!o){o=e(n),s.set(n,o);let t=Object.create(o.__mixinSet||r||null);t[i]=!0,o.__mixinSet=t}return o}};let hi={},ui={};function pi(e,t){hi[e]=ui[e.toLowerCase()]=t}function gi(e){return hi[e]||ui[e.toLowerCase()]}class mi extends HTMLElement{static get observedAttributes(){return["id"]}static import(e,t){if(e){let i=gi(e);return i&&t?i.querySelector(t):i}return null}attributeChangedCallback(e,t,i,n){t!==i&&this.register()}get assetpath(){if(!this.__assetpath){const e=window.HTMLImports&&HTMLImports.importForElement?HTMLImports.importForElement(this)||document:this.ownerDocument,t=Ht(this.getAttribute("assetpath")||"",e.baseURI);this.__assetpath=$t(t)}return this.__assetpath}register(e){if(e=e||this.id){if(Kt&&void 0!==gi(e))throw pi(e,null),new Error(`strictTemplatePolicy: dom-module ${e} re-registered`);this.id=e,pi(e,this),(t=this).querySelector("style")&&console.warn("dom-module %s has style outside template",t.id)}var t}}mi.prototype.modules=hi,customElements.define("dom-module",mi);const fi="link[rel=import][type~=css]",yi="include",vi="shady-unscoped";function _i(e){return mi.import(e)}function bi(e){const t=Ut((e.body?e.body:e).textContent,e.baseURI),i=document.createElement("style");return i.textContent=t,i}function wi(e){const t=e.trim().split(/\s+/),i=[];for(let e=0;e<t.length;e++)i.push(...xi(t[e]));return i}function xi(e){const t=_i(e);if(!t)return console.warn("Could not find style data in module named",e),[];if(void 0===t._styles){const e=[];e.push(...Si(t));const i=t.querySelector("template");i&&e.push(...ki(i,t.assetpath)),t._styles=e}return t._styles}function ki(e,t){if(!e._styles){const i=[],n=e.content.querySelectorAll("style");for(let e=0;e<n.length;e++){let r=n[e],s=r.getAttribute(yi);s&&i.push(...wi(s).filter((function(e,t,i){return i.indexOf(e)===t}))),t&&(r.textContent=Ut(r.textContent,t)),i.push(r)}e._styles=i}return e._styles}function Si(e){const t=[],i=e.querySelectorAll(fi);for(let e=0;e<i.length;e++){let n=i[e];if(n.import){const e=n.import,i=n.hasAttribute(vi);if(i&&!e._unscopedStyle){const t=bi(e);t.setAttribute(vi,""),e._unscopedStyle=t}else e._style||(e._style=bi(e));t.push(i?e._unscopedStyle:e._style)}}return t}function Ai(e){let t=_i(e);if(t&&void 0===t._cssText){let e=function(e){let t="",i=Si(e);for(let e=0;e<i.length;e++)t+=i[e].textContent;return t}(t),i=t.querySelector("template");i&&(e+=function(e,t){let i="";const n=ki(e,t);for(let e=0;e<n.length;e++){let t=n[e];t.parentNode&&t.parentNode.removeChild(t),i+=t.textContent}return i}(i,t.assetpath)),t._cssText=e||null}return t||console.warn("Could not find style data in module named",e),t&&t._cssText||""}const Ei=window.ShadyDOM&&window.ShadyDOM.noPatch&&window.ShadyDOM.wrap?window.ShadyDOM.wrap:window.ShadyDOM?e=>ShadyDOM.patch(e):e=>e;function Ci(e){return e.indexOf(".")>=0}function Ti(e){let t=e.indexOf(".");return-1===t?e:e.slice(0,t)}function Ii(e,t){return 0===e.indexOf(t+".")}function Di(e,t){return 0===t.indexOf(e+".")}function Pi(e,t,i){return t+i.slice(e.length)}function Fi(e,t){return e===t||Ii(e,t)||Di(e,t)}function Ni(e){if(Array.isArray(e)){let t=[];for(let i=0;i<e.length;i++){let n=e[i].toString().split(".");for(let e=0;e<n.length;e++)t.push(n[e])}return t.join(".")}return e}function Ri(e){return Array.isArray(e)?Ni(e).split("."):e.toString().split(".")}function Oi(e,t,i){let n=e,r=Ri(t);for(let e=0;e<r.length;e++){if(!n)return;n=n[r[e]]}return i&&(i.path=r.join(".")),n}function Mi(e,t,i){let n=e,r=Ri(t),s=r[r.length-1];if(r.length>1){for(let e=0;e<r.length-1;e++){if(n=n[r[e]],!n)return}n[s]=i}else n[t]=i;return r.join(".")}const Li={},Bi=/-[a-z]/g,zi=/([A-Z])/g;function ji(e){return Li[e]||(Li[e]=e.indexOf("-")<0?e:e.replace(Bi,(e=>e[1].toUpperCase())))}function Hi(e){return Li[e]||(Li[e]=e.replace(zi,"-$1").toLowerCase())}let Ui=0,$i=0,Vi=[],Wi=0,Gi=!1,qi=document.createTextNode("");new window.MutationObserver((function(){Gi=!1;const e=Vi.length;for(let t=0;t<e;t++){let e=Vi[t];if(e)try{e()}catch(e){setTimeout((()=>{throw e}))}}Vi.splice(0,e),$i+=e})).observe(qi,{characterData:!0});const Yi={after:e=>({run:t=>window.setTimeout(t,e),cancel(e){window.clearTimeout(e)}}),run:(e,t)=>window.setTimeout(e,t),cancel(e){window.clearTimeout(e)}},Ki={run:e=>window.requestAnimationFrame(e),cancel(e){window.cancelAnimationFrame(e)}},Ji={run:e=>window.requestIdleCallback?window.requestIdleCallback(e):window.setTimeout(e,16),cancel(e){window.cancelIdleCallback?window.cancelIdleCallback(e):window.clearTimeout(e)}},Zi={run:e=>(Gi||(Gi=!0,qi.textContent=Wi++),Vi.push(e),Ui++),cancel(e){const t=e-$i;if(t>=0){if(!Vi[t])throw new Error("invalid async handle: "+e);Vi[t]=null}}},Qi=Zi,Xi=ci((e=>class extends e{static createProperties(e){const t=this.prototype;for(let i in e)i in t||t._createPropertyAccessor(i)}static attributeNameForProperty(e){return e.toLowerCase()}static typeForProperty(e){}_createPropertyAccessor(e,t){this._addPropertyToAttributeMap(e),this.hasOwnProperty(JSCompiler_renameProperty("__dataHasAccessor",this))||(this.__dataHasAccessor=Object.assign({},this.__dataHasAccessor)),this.__dataHasAccessor[e]||(this.__dataHasAccessor[e]=!0,this._definePropertyAccessor(e,t))}_addPropertyToAttributeMap(e){this.hasOwnProperty(JSCompiler_renameProperty("__dataAttributes",this))||(this.__dataAttributes=Object.assign({},this.__dataAttributes));let t=this.__dataAttributes[e];return t||(t=this.constructor.attributeNameForProperty(e),this.__dataAttributes[t]=e),t}_definePropertyAccessor(e,t){Object.defineProperty(this,e,{get(){return this.__data[e]},set:t?function(){}:function(t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}})}constructor(){super(),this.__dataEnabled=!1,this.__dataReady=!1,this.__dataInvalid=!1,this.__data={},this.__dataPending=null,this.__dataOld=null,this.__dataInstanceProps=null,this.__dataCounter=0,this.__serializing=!1,this._initializeProperties()}ready(){this.__dataReady=!0,this._flushProperties()}_initializeProperties(){for(let e in this.__dataHasAccessor)this.hasOwnProperty(e)&&(this.__dataInstanceProps=this.__dataInstanceProps||{},this.__dataInstanceProps[e]=this[e],delete this[e])}_initializeInstanceProperties(e){Object.assign(this,e)}_setProperty(e,t){this._setPendingProperty(e,t)&&this._invalidateProperties()}_getProperty(e){return this.__data[e]}_setPendingProperty(e,t,i){let n=this.__data[e],r=this._shouldPropertyChange(e,t,n);return r&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),this.__dataOld&&!(e in this.__dataOld)&&(this.__dataOld[e]=n),this.__data[e]=t,this.__dataPending[e]=t),r}_isPropertyPending(e){return!(!this.__dataPending||!this.__dataPending.hasOwnProperty(e))}_invalidateProperties(){!this.__dataInvalid&&this.__dataReady&&(this.__dataInvalid=!0,Qi.run((()=>{this.__dataInvalid&&(this.__dataInvalid=!1,this._flushProperties())})))}_enableProperties(){this.__dataEnabled||(this.__dataEnabled=!0,this.__dataInstanceProps&&(this._initializeInstanceProperties(this.__dataInstanceProps),this.__dataInstanceProps=null),this.ready())}_flushProperties(){this.__dataCounter++;const e=this.__data,t=this.__dataPending,i=this.__dataOld;this._shouldPropertiesChange(e,t,i)&&(this.__dataPending=null,this.__dataOld=null,this._propertiesChanged(e,t,i)),this.__dataCounter--}_shouldPropertiesChange(e,t,i){return Boolean(t)}_propertiesChanged(e,t,i){}_shouldPropertyChange(e,t,i){return i!==t&&(i==i||t==t)}attributeChangedCallback(e,t,i,n){t!==i&&this._attributeToProperty(e,i),super.attributeChangedCallback&&super.attributeChangedCallback(e,t,i,n)}_attributeToProperty(e,t,i){if(!this.__serializing){const n=this.__dataAttributes,r=n&&n[e]||e;this[r]=this._deserializeValue(t,i||this.constructor.typeForProperty(r))}}_propertyToAttribute(e,t,i){this.__serializing=!0,i=arguments.length<3?this[e]:i,this._valueToNodeAttribute(this,i,t||this.constructor.attributeNameForProperty(e)),this.__serializing=!1}_valueToNodeAttribute(e,t,i){const n=this._serializeValue(t);"class"!==i&&"name"!==i&&"slot"!==i||(e=Ei(e)),void 0===n?e.removeAttribute(i):e.setAttribute(i,""===n&&window.trustedTypes?window.trustedTypes.emptyScript:n)}_serializeValue(e){return"boolean"==typeof e?e?"":void 0:null!=e?e.toString():void 0}_deserializeValue(e,t){switch(t){case Boolean:return null!==e;case Number:return Number(e);default:return e}}})),en={};let tn=HTMLElement.prototype;for(;tn;){let e=Object.getOwnPropertyNames(tn);for(let t=0;t<e.length;t++)en[e[t]]=!0;tn=Object.getPrototypeOf(tn)}const nn=window.trustedTypes?e=>trustedTypes.isHTML(e)||trustedTypes.isScript(e)||trustedTypes.isScriptURL(e):()=>!1;const rn=ci((e=>{const t=Xi(e);return class extends t{static createPropertiesForAttributes(){let e=this.observedAttributes;for(let t=0;t<e.length;t++)this.prototype._createPropertyAccessor(ji(e[t]))}static attributeNameForProperty(e){return Hi(e)}_initializeProperties(){this.__dataProto&&(this._initializeProtoProperties(this.__dataProto),this.__dataProto=null),super._initializeProperties()}_initializeProtoProperties(e){for(let t in e)this._setProperty(t,e[t])}_ensureAttribute(e,t){const i=this;i.hasAttribute(e)||this._valueToNodeAttribute(i,t,e)}_serializeValue(e){if("object"==typeof e){if(e instanceof Date)return e.toString();if(e){if(nn(e))return e;try{return JSON.stringify(e)}catch(e){return""}}}return super._serializeValue(e)}_deserializeValue(e,t){let i;switch(t){case Object:try{i=JSON.parse(e)}catch(t){i=e}break;case Array:try{i=JSON.parse(e)}catch(t){i=null,console.warn(`Polymer::Attributes: couldn't decode Array as JSON: ${e}`)}break;case Date:i=isNaN(e)?String(e):Number(e),i=new Date(i);break;default:i=super._deserializeValue(e,t)}return i}_definePropertyAccessor(e,t){!function(e,t){if(!en[t]){let i=e[t];void 0!==i&&(e.__data?e._setPendingProperty(t,i):(e.__dataProto?e.hasOwnProperty(JSCompiler_renameProperty("__dataProto",e))||(e.__dataProto=Object.create(e.__dataProto)):e.__dataProto={},e.__dataProto[t]=i))}}(this,e),super._definePropertyAccessor(e,t)}_hasAccessor(e){return this.__dataHasAccessor&&this.__dataHasAccessor[e]}_isPropertyPending(e){return Boolean(this.__dataPending&&e in this.__dataPending)}}})),sn={"dom-if":!0,"dom-repeat":!0};let on=!1,an=!1;function ln(e){(function(){if(!on){on=!0;const e=document.createElement("textarea");e.placeholder="a",an=e.placeholder===e.textContent}return an})()&&"textarea"===e.localName&&e.placeholder&&e.placeholder===e.textContent&&(e.textContent=null)}const dn=(()=>{const e=window.trustedTypes&&window.trustedTypes.createPolicy("polymer-template-event-attribute-policy",{createScript:e=>e});return(t,i,n)=>{const r=i.getAttribute(n);e&&n.startsWith("on-")?t.setAttribute(n,e.createScript(r,n)):t.setAttribute(n,r)}})();function cn(e){let t=e.getAttribute("is");if(t&&sn[t]){let i=e;for(i.removeAttribute("is"),e=i.ownerDocument.createElement(t),i.parentNode.replaceChild(e,i),e.appendChild(i);i.attributes.length;){const{name:t}=i.attributes[0];dn(e,i,t),i.removeAttribute(t)}}return e}function hn(e,t){let i=t.parentInfo&&hn(e,t.parentInfo);if(!i)return e;for(let e=i.firstChild,n=0;e;e=e.nextSibling)if(t.parentIndex===n++)return e}function un(e,t,i,n){n.id&&(t[n.id]=i)}function pn(e,t,i){if(i.events&&i.events.length)for(let n,r=0,s=i.events;r<s.length&&(n=s[r]);r++)e._addMethodEventListenerToNode(t,n.name,n.value,e)}function gn(e,t,i,n){i.templateInfo&&(t._templateInfo=i.templateInfo,t._parentTemplateInfo=n)}const mn=ci((e=>class extends e{static _parseTemplate(e,t){if(!e._templateInfo){let i=e._templateInfo={};i.nodeInfoList=[],i.nestedTemplate=Boolean(t),i.stripWhiteSpace=t&&t.stripWhiteSpace||e.hasAttribute&&e.hasAttribute("strip-whitespace"),this._parseTemplateContent(e,i,{parent:null})}return e._templateInfo}static _parseTemplateContent(e,t,i){return this._parseTemplateNode(e.content,t,i)}static _parseTemplateNode(e,t,i){let n=!1,r=e;return"template"!=r.localName||r.hasAttribute("preserve-content")?"slot"===r.localName&&(t.hasInsertionPoint=!0):n=this._parseTemplateNestedTemplate(r,t,i)||n,ln(r),r.firstChild&&this._parseTemplateChildNodes(r,t,i),r.hasAttributes&&r.hasAttributes()&&(n=this._parseTemplateNodeAttributes(r,t,i)||n),n||i.noted}static _parseTemplateChildNodes(e,t,i){if("script"!==e.localName&&"style"!==e.localName)for(let n,r=e.firstChild,s=0;r;r=n){if("template"==r.localName&&(r=cn(r)),n=r.nextSibling,r.nodeType===Node.TEXT_NODE){let i=n;for(;i&&i.nodeType===Node.TEXT_NODE;)r.textContent+=i.textContent,n=i.nextSibling,e.removeChild(i),i=n;if(t.stripWhiteSpace&&!r.textContent.trim()){e.removeChild(r);continue}}let o={parentIndex:s,parentInfo:i};this._parseTemplateNode(r,t,o)&&(o.infoIndex=t.nodeInfoList.push(o)-1),r.parentNode&&s++}}static _parseTemplateNestedTemplate(e,t,i){let n=e,r=this._parseTemplate(n,t);return(r.content=n.content.ownerDocument.createDocumentFragment()).appendChild(n.content),i.templateInfo=r,!0}static _parseTemplateNodeAttributes(e,t,i){let n=!1,r=Array.from(e.attributes);for(let s,o=r.length-1;s=r[o];o--)n=this._parseTemplateNodeAttribute(e,t,i,s.name,s.value)||n;return n}static _parseTemplateNodeAttribute(e,t,i,n,r){return"on-"===n.slice(0,3)?(e.removeAttribute(n),i.events=i.events||[],i.events.push({name:n.slice(3),value:r}),!0):"id"===n&&(i.id=r,!0)}static _contentForTemplate(e){let t=e._templateInfo;return t&&t.content||e.content}_stampTemplate(e,t){e&&!e.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(e);let i=(t=t||this.constructor._parseTemplate(e)).nodeInfoList,n=t.content||e.content,r=document.importNode(n,!0);r.__noInsertionPoint=!t.hasInsertionPoint;let s=r.nodeList=new Array(i.length);r.$={};for(let e,n=0,o=i.length;n<o&&(e=i[n]);n++){let i=s[n]=hn(r,e);un(0,r.$,i,e),gn(0,i,e,t),pn(this,i,e)}return r}_addMethodEventListenerToNode(e,t,i,n){let r=function(e,t,i){return e=e._methodHost||e,function(t){e[i]?e[i](t,t.detail):console.warn("listener method `"+i+"` not defined")}}(n=n||e,0,i);return this._addEventListenerToNode(e,t,r),r}_addEventListenerToNode(e,t,i){e.addEventListener(t,i)}_removeEventListenerFromNode(e,t,i){e.removeEventListener(t,i)}}));let fn=0;const yn=[],vn={COMPUTE:"__computeEffects",REFLECT:"__reflectEffects",NOTIFY:"__notifyEffects",PROPAGATE:"__propagateEffects",OBSERVE:"__observeEffects",READ_ONLY:"__readOnly"},_n="__computeInfo",bn=/[A-Z]/;function wn(e,t,i){let n=e[t];if(n){if(!e.hasOwnProperty(t)&&(n=e[t]=Object.create(e[t]),i))for(let e in n){let t=n[e],i=n[e]=Array(t.length);for(let e=0;e<t.length;e++)i[e]=t[e]}}else n=e[t]={};return n}function xn(e,t,i,n,r,s){if(t){let o=!1;const a=fn++;for(let l in i){let d=t[r?Ti(l):l];if(d)for(let t,c=0,h=d.length;c<h&&(t=d[c]);c++)t.info&&t.info.lastRun===a||r&&!Sn(l,t.trigger)||(t.info&&(t.info.lastRun=a),t.fn(e,l,i,n,t.info,r,s),o=!0)}return o}return!1}function kn(e,t,i,n,r,s,o,a){let l=!1,d=t[o?Ti(n):n];if(d)for(let t,c=0,h=d.length;c<h&&(t=d[c]);c++)t.info&&t.info.lastRun===i||o&&!Sn(n,t.trigger)||(t.info&&(t.info.lastRun=i),t.fn(e,n,r,s,t.info,o,a),l=!0);return l}function Sn(e,t){if(t){let i=t.name;return i==e||!(!t.structured||!Ii(i,e))||!(!t.wildcard||!Di(i,e))}return!0}function An(e,t,i,n,r){let s="string"==typeof r.method?e[r.method]:r.method,o=r.property;s?s.call(e,e.__data[o],n[o]):r.dynamicFn||console.warn("observer method `"+r.method+"` not defined")}function En(e,t,i){let n=Ti(t);if(n!==t){return Cn(e,Hi(n)+"-changed",i[t],t),!0}return!1}function Cn(e,t,i,n){let r={value:i,queueProperty:!0};n&&(r.path=n),Ei(e).dispatchEvent(new CustomEvent(t,{detail:r}))}function Tn(e,t,i,n,r,s){let o=(s?Ti(t):t)!=t?t:null,a=o?Oi(e,o):e.__data[t];o&&void 0===a&&(a=i[t]),Cn(e,r.eventName,a,o)}function In(e,t,i,n,r){let s=e.__data[t];qt&&(s=qt(s,r.attrName,"attribute",e)),e._propertyToAttribute(t,r.attrName,s)}function Dn(e,t,i,n){let r=e[vn.COMPUTE];if(r)if(ti){fn++;const s=function(e){let t=e.constructor.__orderedComputedDeps;if(!t){t=new Map;const i=e[vn.COMPUTE];let n,{counts:r,ready:s,total:o}=function(e){const t=e[_n],i={},n=e[vn.COMPUTE],r=[];let s=0;for(let e in t){const n=t[e];s+=i[e]=n.args.filter((e=>!e.literal)).length+(n.dynamicFn?1:0)}for(let e in n)t[e]||r.push(e);return{counts:i,ready:r,total:s}}(e);for(;n=s.shift();){t.set(n,t.size);const e=i[n];e&&e.forEach((e=>{const t=e.info.methodInfo;--o,0==--r[t]&&s.push(t)}))}if(0!==o){const t=e;console.warn(`Computed graph for ${t.localName} incomplete; circular?`)}e.constructor.__orderedComputedDeps=t}return t}(e),o=[];for(let e in t)Fn(e,r,o,s,n);let a;for(;a=o.shift();)Nn(e,"",t,i,a)&&Fn(a.methodInfo,r,o,s,n);Object.assign(i,e.__dataOld),Object.assign(t,e.__dataPending),e.__dataPending=null}else{let s=t;for(;xn(e,r,s,i,n);)Object.assign(i,e.__dataOld),Object.assign(t,e.__dataPending),s=e.__dataPending,e.__dataPending=null}}const Pn=(e,t,i)=>{let n=0,r=t.length-1,s=-1;for(;n<=r;){const o=n+r>>1,a=i.get(t[o].methodInfo)-i.get(e.methodInfo);if(a<0)n=o+1;else{if(!(a>0)){s=o;break}r=o-1}}s<0&&(s=r+1),t.splice(s,0,e)},Fn=(e,t,i,n,r)=>{const s=t[r?Ti(e):e];if(s)for(let t=0;t<s.length;t++){const o=s[t];o.info.lastRun===fn||r&&!Sn(e,o.trigger)||(o.info.lastRun=fn,Pn(o.info,i,n))}};function Nn(e,t,i,n,r){let s=jn(e,t,i,n,r);if(s===yn)return!1;let o=r.methodInfo;return e.__dataHasAccessor&&e.__dataHasAccessor[o]?e._setPendingProperty(o,s,!0):(e[o]=s,!1)}function Rn(e,t,i,n,r,s,o){i.bindings=i.bindings||[];let a={kind:n,target:r,parts:s,literal:o,isCompound:1!==s.length};if(i.bindings.push(a),function(e){return Boolean(e.target)&&"attribute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode}(a)){let{event:e,negate:t}=a.parts[0];a.listenerEvent=e||Hi(r)+"-changed",a.listenerNegate=t}let l=t.nodeInfoList.length;for(let i=0;i<a.parts.length;i++){let n=a.parts[i];n.compoundIndex=i,On(e,t,a,n,l)}}function On(e,t,i,n,r){if(!n.literal)if("attribute"===i.kind&&"-"===i.target[0])console.warn("Cannot set attribute "+i.target+' because "-" is not a valid attribute starting character');else{let s=n.dependencies,o={index:r,binding:i,part:n,evaluator:e};for(let i=0;i<s.length;i++){let n=s[i];"string"==typeof n&&(n=qn(n),n.wildcard=!0),e._addTemplatePropertyEffect(t,n.rootProperty,{fn:Mn,info:o,trigger:n})}}}function Mn(e,t,i,n,r,s,o){let a=o[r.index],l=r.binding,d=r.part;if(s&&d.source&&t.length>d.source.length&&"property"==l.kind&&!l.isCompound&&a.__isPropertyEffectsClient&&a.__dataHasAccessor&&a.__dataHasAccessor[l.target]){let n=i[t];t=Pi(d.source,l.target,t),a._setPendingPropertyOrPath(t,n,!1,!0)&&e._enqueueClient(a)}else{let o=r.evaluator._evaluateBinding(e,d,t,i,n,s);o!==yn&&function(e,t,i,n,r){r=function(e,t,i,n){if(i.isCompound){let r=e.__dataCompoundStorage[i.target];r[n.compoundIndex]=t,t=r.join("")}"attribute"!==i.kind&&("textContent"!==i.target&&("value"!==i.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=null==t?"":t));return t}(t,r,i,n),qt&&(r=qt(r,i.target,i.kind,t));if("attribute"==i.kind)e._valueToNodeAttribute(t,r,i.target);else{let n=i.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[n]?t[vn.READ_ONLY]&&t[vn.READ_ONLY][n]||t._setPendingProperty(n,r)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,n,r)}}(e,a,l,d,o)}}function Ln(e,t){if(t.isCompound){let i=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),n=t.parts,r=new Array(n.length);for(let e=0;e<n.length;e++)r[e]=n[e].literal;let s=t.target;i[s]=r,t.literal&&"property"==t.kind&&("className"===s&&(e=Ei(e)),e[s]=t.literal)}}function Bn(e,t,i){if(i.listenerEvent){let n=i.parts[0];e.addEventListener(i.listenerEvent,(function(e){!function(e,t,i,n,r){let s,o=e.detail,a=o&&o.path;a?(n=Pi(i,n,a),s=o&&o.value):s=e.currentTarget[i],s=r?!s:s,t[vn.READ_ONLY]&&t[vn.READ_ONLY][n]||!t._setPendingPropertyOrPath(n,s,!0,Boolean(a))||o&&o.queueProperty||t._invalidateProperties()}(e,t,i.target,n.source,n.negate)}))}}function zn(e,t,i,n,r,s){s=t.static||s&&("object"!=typeof s||s[t.methodName]);let o={methodName:t.methodName,args:t.args,methodInfo:r,dynamicFn:s};for(let r,s=0;s<t.args.length&&(r=t.args[s]);s++)r.literal||e._addPropertyEffect(r.rootProperty,i,{fn:n,info:o,trigger:r});return s&&e._addPropertyEffect(t.methodName,i,{fn:n,info:o}),o}function jn(e,t,i,n,r){let s=e._methodHost||e,o=s[r.methodName];if(o){let n=e._marshalArgs(r.args,t,i);return n===yn?yn:o.apply(s,n)}r.dynamicFn||console.warn("method `"+r.methodName+"` not defined")}const Hn=[],Un="(?:[a-zA-Z_$][\\w.:$\\-*]*)",$n="(?:("+Un+"|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\")))\\s*)",Vn=new RegExp("(\\[\\[|{{)\\s*(?:(!)\\s*)?"+("("+Un+"\\s*"+("(?:\\(\\s*(?:"+("(?:"+$n+"(?:,\\s*"+$n+")*)")+"?)\\)\\s*)")+"?)")+"(?:]]|}})","g");function Wn(e){let t="";for(let i=0;i<e.length;i++){t+=e[i].literal||""}return t}function Gn(e){let t=e.match(/([^\s]+?)\(([\s\S]*)\)/);if(t){let e={methodName:t[1],static:!0,args:Hn};if(t[2].trim()){return function(e,t){return t.args=e.map((function(e){let i=qn(e);return i.literal||(t.static=!1),i}),this),t}(t[2].replace(/\\,/g,"&comma;").split(","),e)}return e}return null}function qn(e){let t=e.trim().replace(/&comma;/g,",").replace(/\\(.)/g,"$1"),i={name:t,value:"",literal:!1},n=t[0];switch("-"===n&&(n=t[1]),n>="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.rootProperty=Ti(t),i.structured=Ci(t),i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i}function Yn(e,t,i){let n=Oi(e,i);return void 0===n&&(n=t[i]),n}function Kn(e,t,i,n){const r={indexSplices:n};ei&&!e._overrideLegacyUndefined&&(t.splices=r),e.notifyPath(i+".splices",r),e.notifyPath(i+".length",t.length),ei&&!e._overrideLegacyUndefined&&(r.indexSplices=[])}function Jn(e,t,i,n,r,s){Kn(e,t,i,[{index:n,addedCount:r,removed:s,object:t,type:"splice"}])}const Zn=ci((e=>{const t=mn(rn(e));return class extends t{constructor(){super(),this.__isPropertyEffectsClient=!0,this.__dataClientsReady,this.__dataPendingClients,this.__dataToNotify,this.__dataLinkedPaths,this.__dataHasPaths,this.__dataCompoundStorage,this.__dataHost,this.__dataTemp,this.__dataClientsInitialized,this.__data,this.__dataPending,this.__dataOld,this.__computeEffects,this.__computeInfo,this.__reflectEffects,this.__notifyEffects,this.__propagateEffects,this.__observeEffects,this.__readOnly,this.__templateInfo,this._overrideLegacyUndefined}get PROPERTY_EFFECT_TYPES(){return vn}_initializeProperties(){super._initializeProperties(),this._registerHost(),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}_registerHost(){if(Qn.length){let e=Qn[Qn.length-1];e._enqueueClient(this),this.__dataHost=e}}_initializeProtoProperties(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}_initializeInstanceProperties(e){let t=this[vn.READ_ONLY];for(let i in e)t&&t[i]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[i]=this.__dataPending[i]=e[i])}_addPropertyEffect(e,t,i){this._createPropertyAccessor(e,t==vn.READ_ONLY);let n=wn(this,t,!0)[e];n||(n=this[t][e]=[]),n.push(i)}_removePropertyEffect(e,t,i){let n=wn(this,t,!0)[e],r=n.indexOf(i);r>=0&&n.splice(r,1)}_hasPropertyEffect(e,t){let i=this[t];return Boolean(i&&i[e])}_hasReadOnlyEffect(e){return this._hasPropertyEffect(e,vn.READ_ONLY)}_hasNotifyEffect(e){return this._hasPropertyEffect(e,vn.NOTIFY)}_hasReflectEffect(e){return this._hasPropertyEffect(e,vn.REFLECT)}_hasComputedEffect(e){return this._hasPropertyEffect(e,vn.COMPUTE)}_setPendingPropertyOrPath(e,t,i,n){if(n||Ti(Array.isArray(e)?e[0]:e)!==e){if(!n){let i=Oi(this,e);if(!(e=Mi(this,e,t))||!super._shouldPropertyChange(e,t,i))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,i){let n=e.__dataLinkedPaths;if(n){let r;for(let s in n){let o=n[s];Di(s,t)?(r=Pi(s,o,t),e._setPendingPropertyOrPath(r,i,!0,!0)):Di(o,t)&&(r=Pi(o,s,t),e._setPendingPropertyOrPath(r,i,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}_setUnmanagedPropertyToNode(e,t,i){i===e[t]&&"object"!=typeof i||("className"===t&&(e=Ei(e)),e[t]=i)}_setPendingProperty(e,t,i){let n=this.__dataHasPaths&&Ci(e),r=n?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,r[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),n?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(n||this[vn.NOTIFY]&&this[vn.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=i),!0)}_setProperty(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}_invalidateProperties(){this.__dataReady&&this._flushProperties()}_enqueueClient(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}_flushClients(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}__enableOrFlushClients(){let e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(let t=0;t<e.length;t++){let i=e[t];i.__dataEnabled?i.__dataPending&&i._flushProperties():i._enableProperties()}}}_readyClients(){this.__enableOrFlushClients()}setProperties(e,t){for(let i in e)!t&&this[vn.READ_ONLY]&&this[vn.READ_ONLY][i]||this._setPendingPropertyOrPath(i,e[i],!0);this._invalidateProperties()}ready(){this._flushProperties(),this.__dataClientsReady||this._flushClients(),this.__dataPending&&this._flushProperties()}_propertiesChanged(e,t,i){let n,r=this.__dataHasPaths;this.__dataHasPaths=!1,Dn(this,t,i,r),n=this.__dataToNotify,this.__dataToNotify=null,this._propagatePropertyChanges(t,i,r),this._flushClients(),xn(this,this[vn.REFLECT],t,i,r),xn(this,this[vn.OBSERVE],t,i,r),n&&function(e,t,i,n,r){let s,o,a=e[vn.NOTIFY],l=fn++;for(let o in t)t[o]&&(a&&kn(e,a,l,o,i,n,r)||r&&En(e,o,i))&&(s=!0);s&&(o=e.__dataHost)&&o._invalidateProperties&&o._invalidateProperties()}(this,n,t,i,r),1==this.__dataCounter&&(this.__dataTemp={})}_propagatePropertyChanges(e,t,i){this[vn.PROPAGATE]&&xn(this,this[vn.PROPAGATE],e,t,i),this.__templateInfo&&this._runEffectsForTemplate(this.__templateInfo,e,t,i)}_runEffectsForTemplate(e,t,i,n){const r=(t,n)=>{xn(this,e.propertyEffects,t,i,n,e.nodeList);for(let r=e.firstChild;r;r=r.nextSibling)this._runEffectsForTemplate(r,t,i,n)};e.runEffects?e.runEffects(r,t,n):r(t,n)}linkPaths(e,t){e=Ni(e),t=Ni(t),this.__dataLinkedPaths=this.__dataLinkedPaths||{},this.__dataLinkedPaths[e]=t}unlinkPaths(e){e=Ni(e),this.__dataLinkedPaths&&delete this.__dataLinkedPaths[e]}notifySplices(e,t){let i={path:""};Kn(this,Oi(this,e,i),i.path,t)}get(e,t){return Oi(t||this,e)}set(e,t,i){i?Mi(i,e,t):this[vn.READ_ONLY]&&this[vn.READ_ONLY][e]||this._setPendingPropertyOrPath(e,t,!0)&&this._invalidateProperties()}push(e,...t){let i={path:""},n=Oi(this,e,i),r=n.length,s=n.push(...t);return t.length&&Jn(this,n,i.path,r,t.length,[]),s}pop(e){let t={path:""},i=Oi(this,e,t),n=Boolean(i.length),r=i.pop();return n&&Jn(this,i,t.path,i.length,0,[r]),r}splice(e,t,i,...n){let r,s={path:""},o=Oi(this,e,s);return t<0?t=o.length-Math.floor(-t):t&&(t=Math.floor(t)),r=2===arguments.length?o.splice(t):o.splice(t,i,...n),(n.length||r.length)&&Jn(this,o,s.path,t,n.length,r),r}shift(e){let t={path:""},i=Oi(this,e,t),n=Boolean(i.length),r=i.shift();return n&&Jn(this,i,t.path,0,0,[r]),r}unshift(e,...t){let i={path:""},n=Oi(this,e,i),r=n.unshift(...t);return t.length&&Jn(this,n,i.path,0,t.length,[]),r}notifyPath(e,t){let i;if(1==arguments.length){let n={path:""};t=Oi(this,e,n),i=n.path}else i=Array.isArray(e)?Ni(e):e;this._setPendingPropertyOrPath(i,t,!0,!0)&&this._invalidateProperties()}_createReadOnlyProperty(e,t){var i;this._addPropertyEffect(e,vn.READ_ONLY),t&&(this["_set"+(i=e,i[0].toUpperCase()+i.substring(1))]=function(t){this._setProperty(e,t)})}_createPropertyObserver(e,t,i){let n={property:e,method:t,dynamicFn:Boolean(i)};this._addPropertyEffect(e,vn.OBSERVE,{fn:An,info:n,trigger:{name:e}}),i&&this._addPropertyEffect(t,vn.OBSERVE,{fn:An,info:n,trigger:{name:t}})}_createMethodObserver(e,t){let i=Gn(e);if(!i)throw new Error("Malformed observer expression '"+e+"'");zn(this,i,vn.OBSERVE,jn,null,t)}_createNotifyingProperty(e){this._addPropertyEffect(e,vn.NOTIFY,{fn:Tn,info:{eventName:Hi(e)+"-changed",property:e}})}_createReflectedProperty(e){let t=this.constructor.attributeNameForProperty(e);"-"===t[0]?console.warn("Property "+e+" cannot be reflected to attribute "+t+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.'):this._addPropertyEffect(e,vn.REFLECT,{fn:In,info:{attrName:t}})}_createComputedProperty(e,t,i){let n=Gn(t);if(!n)throw new Error("Malformed computed expression '"+t+"'");const r=zn(this,n,vn.COMPUTE,Nn,e,i);wn(this,_n)[e]=r}_marshalArgs(e,t,i){const n=this.__data,r=[];for(let s=0,o=e.length;s<o;s++){let{name:o,structured:a,wildcard:l,value:d,literal:c}=e[s];if(!c)if(l){const e=Di(o,t),r=Yn(n,i,e?t:o);d={path:e?t:o,value:r,base:e?Oi(n,o):r}}else d=a?Yn(n,i,o):n[o];if(ei&&!this._overrideLegacyUndefined&&void 0===d&&e.length>1)return yn;r[s]=d}return r}static addPropertyEffect(e,t,i){this.prototype._addPropertyEffect(e,t,i)}static createPropertyObserver(e,t,i){this.prototype._createPropertyObserver(e,t,i)}static createMethodObserver(e,t){this.prototype._createMethodObserver(e,t)}static createNotifyingProperty(e){this.prototype._createNotifyingProperty(e)}static createReadOnlyProperty(e,t){this.prototype._createReadOnlyProperty(e,t)}static createReflectedProperty(e){this.prototype._createReflectedProperty(e)}static createComputedProperty(e,t,i){this.prototype._createComputedProperty(e,t,i)}static bindTemplate(e){return this.prototype._bindTemplate(e)}_bindTemplate(e,t){let i=this.constructor._parseTemplate(e),n=this.__preBoundTemplateInfo==i;if(!n)for(let e in i.propertyEffects)this._createPropertyAccessor(e);if(t)if(i=Object.create(i),i.wasPreBound=n,this.__templateInfo){const t=e._parentTemplateInfo||this.__templateInfo,n=t.lastChild;i.parent=t,t.lastChild=i,i.previousSibling=n,n?n.nextSibling=i:t.firstChild=i}else this.__templateInfo=i;else this.__preBoundTemplateInfo=i;return i}static _addTemplatePropertyEffect(e,t,i){(e.hostProps=e.hostProps||{})[t]=!0;let n=e.propertyEffects=e.propertyEffects||{};(n[t]=n[t]||[]).push(i)}_stampTemplate(e,t){t=t||this._bindTemplate(e,!0),Qn.push(this);let i=super._stampTemplate(e,t);if(Qn.pop(),t.nodeList=i.nodeList,!t.wasPreBound){let e=t.childNodes=[];for(let t=i.firstChild;t;t=t.nextSibling)e.push(t)}return i.templateInfo=t,function(e,t){let{nodeList:i,nodeInfoList:n}=t;if(n.length)for(let t=0;t<n.length;t++){let r=n[t],s=i[t],o=r.bindings;if(o)for(let t=0;t<o.length;t++){let i=o[t];Ln(s,i),Bn(s,e,i)}s.__dataHost=e}}(this,t),this.__dataClientsReady&&(this._runEffectsForTemplate(t,this.__data,null,!1),this._flushClients()),i}_removeBoundDom(e){const t=e.templateInfo,{previousSibling:i,nextSibling:n,parent:r}=t;i?i.nextSibling=n:r&&(r.firstChild=n),n?n.previousSibling=i:r&&(r.lastChild=i),t.nextSibling=t.previousSibling=null;let s=t.childNodes;for(let e=0;e<s.length;e++){let t=s[e];Ei(Ei(t).parentNode).removeChild(t)}}static _parseTemplateNode(e,i,n){let r=t._parseTemplateNode.call(this,e,i,n);if(e.nodeType===Node.TEXT_NODE){let t=this._parseBindings(e.textContent,i);t&&(e.textContent=Wn(t)||" ",Rn(this,i,n,"text","textContent",t),r=!0)}return r}static _parseTemplateNodeAttribute(e,i,n,r,s){let o=this._parseBindings(s,i);if(o){let t=r,s="property";bn.test(r)?s="attribute":"$"==r[r.length-1]&&(r=r.slice(0,-1),s="attribute");let a=Wn(o);return a&&"attribute"==s&&("class"==r&&e.hasAttribute("class")&&(a+=" "+e.getAttribute(r)),e.setAttribute(r,a)),"attribute"==s&&"disable-upgrade$"==t&&e.setAttribute(r,""),"input"===e.localName&&"value"===t&&e.setAttribute(t,""),e.removeAttribute(t),"property"===s&&(r=ji(r)),Rn(this,i,n,s,r,o,a),!0}return t._parseTemplateNodeAttribute.call(this,e,i,n,r,s)}static _parseTemplateNestedTemplate(e,i,n){let r=t._parseTemplateNestedTemplate.call(this,e,i,n);const s=e.parentNode,o=n.templateInfo,a="dom-if"===s.localName,l="dom-repeat"===s.localName;ri&&(a||l)&&(s.removeChild(e),(n=n.parentInfo).templateInfo=o,n.noted=!0,r=!1);let d=o.hostProps;if(si&&a)d&&(i.hostProps=Object.assign(i.hostProps||{},d),ri||(n.parentInfo.noted=!0));else{let e="{";for(let t in d){Rn(this,i,n,"property","_host_"+t,[{mode:e,source:t,dependencies:[t],hostProp:!0}])}}return r}static _parseBindings(e,t){let i,n=[],r=0;for(;null!==(i=Vn.exec(e));){i.index>r&&n.push({literal:e.slice(r,i.index)});let s=i[1][0],o=Boolean(i[2]),a=i[3].trim(),l=!1,d="",c=-1;"{"==s&&(c=a.indexOf("::"))>0&&(d=a.substring(c+2),a=a.substring(0,c),l=!0);let h=Gn(a),u=[];if(h){let{args:e,methodName:i}=h;for(let t=0;t<e.length;t++){let i=e[t];i.literal||u.push(i)}let n=t.dynamicFns;(n&&n[i]||h.static)&&(u.push(i),h.dynamicFn=!0)}else u.push(a);n.push({source:a,mode:s,negate:o,customEvent:l,signature:h,dependencies:u,event:d}),r=Vn.lastIndex}if(r&&r<e.length){let t=e.substring(r);t&&n.push({literal:t})}return n.length?n:null}static _evaluateBinding(e,t,i,n,r,s){let o;return o=t.signature?jn(e,i,n,0,t.signature):i!=t.source?Oi(e,t.source):s&&Ci(i)?Oi(e,i):e.__data[i],t.negate&&(o=!o),o}}})),Qn=[];const Xn=ci((e=>{const t=Xi(e);function i(e){const t=Object.getPrototypeOf(e);return t.prototype instanceof r?t:null}function n(e){if(!e.hasOwnProperty(JSCompiler_renameProperty("__ownProperties",e))){let t=null;if(e.hasOwnProperty(JSCompiler_renameProperty("properties",e))){const i=e.properties;i&&(t=function(e){const t={};for(let i in e){const n=e[i];t[i]="function"==typeof n?{type:n}:n}return t}(i))}e.__ownProperties=t}return e.__ownProperties}class r extends t{static get observedAttributes(){if(!this.hasOwnProperty(JSCompiler_renameProperty("__observedAttributes",this))){this.prototype;const e=this._properties;this.__observedAttributes=e?Object.keys(e).map((e=>this.prototype._addPropertyToAttributeMap(e))):[]}return this.__observedAttributes}static finalize(){if(!this.hasOwnProperty(JSCompiler_renameProperty("__finalized",this))){const e=i(this);e&&e.finalize(),this.__finalized=!0,this._finalizeClass()}}static _finalizeClass(){const e=n(this);e&&this.createProperties(e)}static get _properties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("__properties",this))){const e=i(this);this.__properties=Object.assign({},e&&e._properties,n(this))}return this.__properties}static typeForProperty(e){const t=this._properties[e];return t&&t.type}_initializeProperties(){this.constructor.finalize(),super._initializeProperties()}connectedCallback(){super.connectedCallback&&super.connectedCallback(),this._enableProperties()}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback()}}return r})),er=window.ShadyCSS&&window.ShadyCSS.cssBuild,tr=ci((e=>{const t=Xn(Zn(e));function i(e,t,i,n){i.computed&&(i.readOnly=!0),i.computed&&(e._hasReadOnlyEffect(t)?console.warn(`Cannot redefine computed property '${t}'.`):e._createComputedProperty(t,i.computed,n)),i.readOnly&&!e._hasReadOnlyEffect(t)?e._createReadOnlyProperty(t,!i.computed):!1===i.readOnly&&e._hasReadOnlyEffect(t)&&console.warn(`Cannot make readOnly property '${t}' non-readOnly.`),i.reflectToAttribute&&!e._hasReflectEffect(t)?e._createReflectedProperty(t):!1===i.reflectToAttribute&&e._hasReflectEffect(t)&&console.warn(`Cannot make reflected property '${t}' non-reflected.`),i.notify&&!e._hasNotifyEffect(t)?e._createNotifyingProperty(t):!1===i.notify&&e._hasNotifyEffect(t)&&console.warn(`Cannot make notify property '${t}' non-notify.`),i.observer&&e._createPropertyObserver(t,i.observer,n[i.observer]),e._addPropertyToAttributeMap(t)}function n(e,t,i,n){if(!er){const r=t.content.querySelectorAll("style"),s=ki(t),o=function(e){let t=_i(e);return t?Si(t):[]}(i),a=t.content.firstElementChild;for(let i=0;i<o.length;i++){let r=o[i];r.textContent=e._processStyleText(r.textContent,n),t.content.insertBefore(r,a)}let l=0;for(let t=0;t<s.length;t++){let i=s[t],o=r[l];o!==i?(i=i.cloneNode(!0),o.parentNode.insertBefore(i,o)):l++,i.textContent=e._processStyleText(i.textContent,n)}}if(window.ShadyCSS&&window.ShadyCSS.prepareTemplate(t,i),li&&er&&Wt){const i=t.content.querySelectorAll("style");if(i){let t="";Array.from(i).forEach((e=>{t+=e.textContent,e.parentNode.removeChild(e)})),e._styleSheet=new CSSStyleSheet,e._styleSheet.replaceSync(t)}}}return class extends t{static get polymerElementVersion(){return"3.5.1"}static _finalizeClass(){t._finalizeClass.call(this);const e=((i=this).hasOwnProperty(JSCompiler_renameProperty("__ownObservers",i))||(i.__ownObservers=i.hasOwnProperty(JSCompiler_renameProperty("observers",i))?i.observers:null),i.__ownObservers);var i;e&&this.createObservers(e,this._properties),this._prepareTemplate()}static _prepareTemplate(){let e=this.template;e&&("string"==typeof e?(console.error("template getter must return HTMLTemplateElement"),e=null):Zt||(e=e.cloneNode(!0))),this.prototype._template=e}static createProperties(e){for(let t in e)i(this.prototype,t,e[t],e)}static createObservers(e,t){const i=this.prototype;for(let n=0;n<e.length;n++)i._createMethodObserver(e[n],t)}static get template(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_template",this))){let e=this.prototype.hasOwnProperty(JSCompiler_renameProperty("_template",this.prototype))?this.prototype._template:void 0;"function"==typeof e&&(e=e()),this._template=void 0!==e?e:this.hasOwnProperty(JSCompiler_renameProperty("is",this))&&function(e){let t=null;if(e&&(!Kt||Jt)&&(t=mi.import(e,"template"),Kt&&!t))throw new Error(`strictTemplatePolicy: expecting dom-module or null template for ${e}`);return t}(this.is)||Object.getPrototypeOf(this.prototype).constructor.template}return this._template}static set template(e){this._template=e}static get importPath(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_importPath",this))){const e=this.importMeta;if(e)this._importPath=$t(e.url);else{const e=mi.import(this.is);this._importPath=e&&e.assetpath||Object.getPrototypeOf(this.prototype).constructor.importPath}}return this._importPath}constructor(){super(),this._template,this._importPath,this.rootPath,this.importPath,this.root,this.$}_initializeProperties(){this.constructor.finalize(),this.constructor._finalizeTemplate(this.localName),super._initializeProperties(),this.rootPath=Gt,this.importPath=this.constructor.importPath;let e=function(e){if(!e.hasOwnProperty(JSCompiler_renameProperty("__propertyDefaults",e))){e.__propertyDefaults=null;let t=e._properties;for(let i in t){let n=t[i];"value"in n&&(e.__propertyDefaults=e.__propertyDefaults||{},e.__propertyDefaults[i]=n)}}return e.__propertyDefaults}(this.constructor);if(e)for(let t in e){let i=e[t];if(this._canApplyPropertyDefault(t)){let e="function"==typeof i.value?i.value.call(this):i.value;this._hasAccessor(t)?this._setPendingProperty(t,e,!0):this[t]=e}}}_canApplyPropertyDefault(e){return!this.hasOwnProperty(e)}static _processStyleText(e,t){return Ut(e,t)}static _finalizeTemplate(e){const t=this.prototype._template;if(t&&!t.__polymerFinalized){t.__polymerFinalized=!0;const i=this.importPath;n(this,t,e,i?Ht(i):""),this.prototype._bindTemplate(t)}}connectedCallback(){window.ShadyCSS&&this._template&&window.ShadyCSS.styleElement(this),super.connectedCallback()}ready(){this._template&&(this.root=this._stampTemplate(this._template),this.$=this.root.$),super.ready()}_readyClients(){this._template&&(this.root=this._attachDom(this.root)),super._readyClients()}_attachDom(e){const t=Ei(this);if(t.attachShadow)return e?(t.shadowRoot||(t.attachShadow({mode:"open",shadyUpgradeFragment:e}),t.shadowRoot.appendChild(e),this.constructor._styleSheet&&(t.shadowRoot.adoptedStyleSheets=[this.constructor._styleSheet])),Xt&&window.ShadyDOM&&window.ShadyDOM.flushInitial(t.shadowRoot),t.shadowRoot):null;throw new Error("ShadowDOM not available. PolymerElement can create dom as children instead of in ShadowDOM by setting `this.root = this;` before `ready`.")}updateStyles(e){window.ShadyCSS&&window.ShadyCSS.styleSubtree(this,e)}resolveUrl(e,t){return!t&&this.importPath&&(t=Ht(this.importPath)),Ht(e,t)}static _parseTemplateContent(e,i,n){return i.dynamicFns=i.dynamicFns||this._properties,t._parseTemplateContent.call(this,e,i,n)}static _addTemplatePropertyEffect(e,i,n){return!Qt||i in this._properties||n.info.part.signature&&n.info.part.signature.static||n.info.part.hostProp||e.nestedTemplate||console.warn(`Property '${i}' used in template but not declared in 'properties'; attribute will not be observed.`),t._addTemplatePropertyEffect.call(this,e,i,n)}}}));let ir=class e{constructor(){this._asyncModule=null,this._callback=null,this._timer=null}setConfig(e,t){this._asyncModule=e,this._callback=t,this._timer=this._asyncModule.run((()=>{this._timer=null,nr.delete(this),this._callback()}))}cancel(){this.isActive()&&(this._cancelAsync(),nr.delete(this))}_cancelAsync(){this.isActive()&&(this._asyncModule.cancel(this._timer),this._timer=null)}flush(){this.isActive()&&(this.cancel(),this._callback())}isActive(){return null!=this._timer}static debounce(t,i,n){return t instanceof e?t._cancelAsync():t=new e,t.setConfig(i,n),t}},nr=new Set;const rr=function(e){nr.add(e)},sr=function(){const e=Boolean(nr.size);return nr.forEach((e=>{try{e.flush()}catch(e){setTimeout((()=>{throw e}))}})),e};let or="string"==typeof document.head.style.touchAction,ar="__polymerGestures",lr="__polymerGesturesHandled",dr="__polymerGesturesTouchAction",cr=["mousedown","mousemove","mouseup","click"],hr=[0,1,4,2],ur=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}();function pr(e){return cr.indexOf(e)>-1}let gr=!1;function mr(e){if(!pr(e)&&"touchend"!==e)return or&&gr&&Yt?{passive:!0}:void 0}!function(){try{let e=Object.defineProperty({},"passive",{get(){gr=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();let fr=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);const yr=[],vr={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0},_r={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function br(e){let t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];try{let i=e.getRootNode();if(e.id){let n=i.querySelectorAll(`label[for = '${e.id}']`);for(let e=0;e<n.length;e++)t.push(n[e])}}catch(e){}}return t}let wr=function(e){let t=e.sourceCapabilities;var i;if((!t||t.firesTouchEvents)&&(e[lr]={skip:!0},"click"===e.type)){let t=!1,n=Cr(e);for(let e=0;e<n.length;e++){if(n[e].nodeType===Node.ELEMENT_NODE)if("label"===n[e].localName)yr.push(n[e]);else if(i=n[e],vr[i.localName]){let i=br(n[e]);for(let e=0;e<i.length;e++)t=t||yr.indexOf(i[e])>-1}if(n[e]===Sr.mouse.target)return}if(t)return;e.preventDefault(),e.stopPropagation()}};function xr(e){let t=fr?["click"]:cr;for(let i,n=0;n<t.length;n++)i=t[n],e?(yr.length=0,document.addEventListener(i,wr,!0)):document.removeEventListener(i,wr,!0)}function kr(e){let t=e.type;if(!pr(t))return!1;if("mousemove"===t){let t=void 0===e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!ur&&(t=hr[e.which]||0),Boolean(1&t)}return 0===(void 0===e.button?0:e.button)}let Sr={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function Ar(e,t,i){e.movefn=t,e.upfn=i,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i)}function Er(e){document.removeEventListener("mousemove",e.movefn),document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}ii&&document.addEventListener("touchend",(function(e){if(!ii)return;Sr.mouse.mouseIgnoreJob||xr(!0),Sr.mouse.target=Cr(e)[0],Sr.mouse.mouseIgnoreJob=ir.debounce(Sr.mouse.mouseIgnoreJob,Yi.after(2500),(function(){xr(),Sr.mouse.target=null,Sr.mouse.mouseIgnoreJob=null}))}),!!gr&&{passive:!0});const Cr=window.ShadyDOM&&window.ShadyDOM.noPatch?window.ShadyDOM.composedPath:e=>e.composedPath&&e.composedPath()||[],Tr={},Ir=[];function Dr(e){const t=Cr(e);return t.length>0?t[0]:e.target}function Pr(e){let t,i=e.type,n=e.currentTarget[ar];if(!n)return;let r=n[i];if(r){if(!e[lr]&&(e[lr]={},"touch"===i.slice(0,5))){let t=e.changedTouches[0];if("touchstart"===i&&1===e.touches.length&&(Sr.touch.id=t.identifier),Sr.touch.id!==t.identifier)return;or||"touchstart"!==i&&"touchmove"!==i||function(e){let t=e.changedTouches[0],i=e.type;if("touchstart"===i)Sr.touch.x=t.clientX,Sr.touch.y=t.clientY,Sr.touch.scrollDecided=!1;else if("touchmove"===i){if(Sr.touch.scrollDecided)return;Sr.touch.scrollDecided=!0;let i=function(e){let t="auto",i=Cr(e);for(let e,n=0;n<i.length;n++)if(e=i[n],e[dr]){t=e[dr];break}return t}(e),n=!1,r=Math.abs(Sr.touch.x-t.clientX),s=Math.abs(Sr.touch.y-t.clientY);e.cancelable&&("none"===i?n=!0:"pan-x"===i?n=s>r:"pan-y"===i&&(n=r>s)),n?e.preventDefault():Lr("track")}}(e)}if(t=e[lr],!t.skip){for(let i,n=0;n<Ir.length;n++)i=Ir[n],r[i.name]&&!t[i.name]&&i.flow&&i.flow.start.indexOf(e.type)>-1&&i.reset&&i.reset();for(let n,s=0;s<Ir.length;s++)n=Ir[s],r[n.name]&&!t[n.name]&&(t[n.name]=!0,n[i](e))}}}function Fr(e,t,i){return!!Tr[t]&&(function(e,t,i){let n=Tr[t],r=n.deps,s=n.name,o=e[ar];o||(e[ar]=o={});for(let t,i,n=0;n<r.length;n++)t=r[n],fr&&pr(t)&&"click"!==t||(i=o[t],i||(o[t]=i={_count:0}),0===i._count&&e.addEventListener(t,Pr,mr(t)),i[s]=(i[s]||0)+1,i._count=(i._count||0)+1);e.addEventListener(t,i),n.touchAction&&Or(e,n.touchAction)}(e,t,i),!0)}function Nr(e,t,i){return!!Tr[t]&&(function(e,t,i){let n=Tr[t],r=n.deps,s=n.name,o=e[ar];if(o)for(let t,i,n=0;n<r.length;n++)t=r[n],i=o[t],i&&i[s]&&(i[s]=(i[s]||1)-1,i._count=(i._count||1)-1,0===i._count&&e.removeEventListener(t,Pr,mr(t)));e.removeEventListener(t,i)}(e,t,i),!0)}function Rr(e){Ir.push(e);for(let t=0;t<e.emits.length;t++)Tr[e.emits[t]]=e}function Or(e,t){or&&e instanceof HTMLElement&&Zi.run((()=>{e.style.touchAction=t})),e[dr]=t}function Mr(e,t,i){let n=new Event(t,{bubbles:!0,cancelable:!0,composed:!0});if(n.detail=i,Ei(e).dispatchEvent(n),n.defaultPrevented){let e=i.preventer||i.sourceEvent;e&&e.preventDefault&&e.preventDefault()}}function Lr(e){let t=function(e){for(let t,i=0;i<Ir.length;i++){t=Ir[i];for(let i,n=0;n<t.emits.length;n++)if(i=t.emits[n],i===e)return t}return null}(e);t.info&&(t.info.prevent=!0)}function Br(e,t,i,n){t&&Mr(t,e,{x:i.clientX,y:i.clientY,sourceEvent:i,preventer:n,prevent:function(e){return Lr(e)}})}function zr(e,t,i){if(e.prevent)return!1;if(e.started)return!0;let n=Math.abs(e.x-t),r=Math.abs(e.y-i);return n>=5||r>=5}function jr(e,t,i){if(!t)return;let n,r=e.moves[e.moves.length-2],s=e.moves[e.moves.length-1],o=s.x-e.x,a=s.y-e.y,l=0;r&&(n=s.x-r.x,l=s.y-r.y),Mr(t,"track",{state:e.state,x:i.clientX,y:i.clientY,dx:o,dy:a,ddx:n,ddy:l,sourceEvent:i,hover:function(){return function(e,t){let i=document.elementFromPoint(e,t),n=i;for(;n&&n.shadowRoot&&!window.ShadyDOM;){let r=n;if(n=n.shadowRoot.elementFromPoint(e,t),r===n)break;n&&(i=n)}return i}(i.clientX,i.clientY)}})}function Hr(e,t,i){let n=Math.abs(t.clientX-e.x),r=Math.abs(t.clientY-e.y),s=Dr(i||t);!s||_r[s.localName]&&s.hasAttribute("disabled")||(isNaN(n)||isNaN(r)||n<=25&&r<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;let t=Dr(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;let i=t.getBoundingClientRect(),n=e.pageX,r=e.pageY;return!(n>=i.left&&n<=i.right&&r>=i.top&&r<=i.bottom)}return!1}(t))&&(e.prevent||Mr(s,"tap",{x:t.clientX,y:t.clientY,sourceEvent:t,preventer:i}))}Rr({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){Er(this.info)},mousedown:function(e){if(!kr(e))return;let t=Dr(e),i=this;Ar(this.info,(function(e){kr(e)||(Br("up",t,e),Er(i.info))}),(function(e){kr(e)&&Br("up",t,e),Er(i.info)})),Br("down",t,e)},touchstart:function(e){Br("down",Dr(e),e.changedTouches[0],e)},touchend:function(e){Br("up",Dr(e),e.changedTouches[0],e)}}),Rr({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function(e){this.moves.length>2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,Er(this.info)},mousedown:function(e){if(!kr(e))return;let t=Dr(e),i=this,n=function(e){let n=e.clientX,r=e.clientY;zr(i.info,n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&Lr("tap"),i.info.addMove({x:n,y:r}),kr(e)||(i.info.state="end",Er(i.info)),t&&jr(i.info,t,e),i.info.started=!0)};Ar(this.info,n,(function(e){i.info.started&&n(e),Er(i.info)})),this.info.x=e.clientX,this.info.y=e.clientY},touchstart:function(e){let t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){let t=Dr(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;zr(this.info,n,r)&&("start"===this.info.state&&Lr("tap"),this.info.addMove({x:n,y:r}),jr(this.info,t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){let t=Dr(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),jr(this.info,t,i))}}),Rr({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown:function(e){kr(e)&&(this.info.x=e.clientX,this.info.y=e.clientY)},click:function(e){kr(e)&&Hr(this.info,e)},touchstart:function(e){const t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchend:function(e){Hr(this.info,e.changedTouches[0],e)}});const Ur=Dr,$r=ci((e=>class extends e{_addEventListenerToNode(e,t,i){Fr(e,t,i)||super._addEventListenerToNode(e,t,i)}_removeEventListenerFromNode(e,t,i){Nr(e,t,i)||super._removeEventListenerFromNode(e,t,i)}})),Vr=/:host\(:dir\((ltr|rtl)\)\)/g,Wr=/([\s\w-#\.\[\]\*]*):dir\((ltr|rtl)\)/g,Gr=/:dir\((?:ltr|rtl)\)/,qr=Boolean(window.ShadyDOM&&window.ShadyDOM.inUse),Yr=[];let Kr=null,Jr="";function Zr(){Jr=document.documentElement.getAttribute("dir")}function Qr(e){if(!e.__autoDirOptOut){e.setAttribute("dir",Jr)}}function Xr(){Zr(),Jr=document.documentElement.getAttribute("dir");for(let e=0;e<Yr.length;e++)Qr(Yr[e])}const es=ci((e=>{qr||Kr||(Zr(),Kr=new MutationObserver(Xr),Kr.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}));const t=rn(e);class i extends t{static _processStyleText(e,i){return e=t._processStyleText.call(this,e,i),!qr&&Gr.test(e)&&(e=this._replaceDirInCssText(e),this.__activateDir=!0),e}static _replaceDirInCssText(e){let t=e;return t=t.replace(Vr,':host([dir="$1"])'),t=t.replace(Wr,':host([dir="$2"]) $1'),t}constructor(){super(),this.__autoDirOptOut=!1}ready(){super.ready(),this.__autoDirOptOut=this.hasAttribute("dir")}connectedCallback(){t.prototype.connectedCallback&&super.connectedCallback(),this.constructor.__activateDir&&(Kr&&Kr.takeRecords().length&&Xr(),Yr.push(this),Qr(this))}disconnectedCallback(){if(t.prototype.disconnectedCallback&&super.disconnectedCallback(),this.constructor.__activateDir){const e=Yr.indexOf(this);e>-1&&Yr.splice(e,1)}}}return i.__activateDir=!1,i}));let ts=!1,is=[],ns=[];function rs(){ts=!0,requestAnimationFrame((function(){ts=!1,function(e){for(;e.length;)ss(e.shift())}(is),setTimeout((function(){!function(e){for(let t=0,i=e.length;t<i;t++)ss(e.shift())}(ns)}))}))}function ss(e){const t=e[0],i=e[1],n=e[2];try{i.apply(t,n)}catch(e){setTimeout((()=>{throw e}))}}function os(e,t,i){ts||rs(),ns.push([e,t,i])}function as(){document.body.removeAttribute("unresolved")}function ls(e,t,i){return{index:e,removed:t,addedCount:i}}"interactive"===document.readyState||"complete"===document.readyState?as():window.addEventListener("DOMContentLoaded",as);const ds=0,cs=1,hs=2,us=3;function ps(e,t,i,n,r,s){let o,a=0,l=0,d=Math.min(i-t,s-r);if(0==t&&0==r&&(a=function(e,t,i){for(let n=0;n<i;n++)if(!ms(e[n],t[n]))return n;return i}(e,n,d)),i==e.length&&s==n.length&&(l=function(e,t,i){let n=e.length,r=t.length,s=0;for(;s<i&&ms(e[--n],t[--r]);)s++;return s}(e,n,d-a)),r+=a,s-=l,(i-=l)-(t+=a)==0&&s-r==0)return[];if(t==i){for(o=ls(t,[],0);r<s;)o.removed.push(n[r++]);return[o]}if(r==s)return[ls(t,[],i-t)];let c=function(e){let t=e.length-1,i=e[0].length-1,n=e[t][i],r=[];for(;t>0||i>0;){if(0==t){r.push(hs),i--;continue}if(0==i){r.push(us),t--;continue}let s,o=e[t-1][i-1],a=e[t-1][i],l=e[t][i-1];s=a<l?a<o?a:o:l<o?l:o,s==o?(o==n?r.push(ds):(r.push(cs),n=o),t--,i--):s==a?(r.push(us),t--,n=a):(r.push(hs),i--,n=l)}return r.reverse(),r}(function(e,t,i,n,r,s){let o=s-r+1,a=i-t+1,l=new Array(o);for(let e=0;e<o;e++)l[e]=new Array(a),l[e][0]=e;for(let e=0;e<a;e++)l[0][e]=e;for(let i=1;i<o;i++)for(let s=1;s<a;s++)if(ms(e[t+s-1],n[r+i-1]))l[i][s]=l[i-1][s-1];else{let e=l[i-1][s]+1,t=l[i][s-1]+1;l[i][s]=e<t?e:t}return l}(e,t,i,n,r,s));o=void 0;let h=[],u=t,p=r;for(let e=0;e<c.length;e++)switch(c[e]){case ds:o&&(h.push(o),o=void 0),u++,p++;break;case cs:o||(o=ls(u,[],0)),o.addedCount++,u++,o.removed.push(n[p]),p++;break;case hs:o||(o=ls(u,[],0)),o.addedCount++,u++;break;case us:o||(o=ls(u,[],0)),o.removed.push(n[p]),p++}return o&&h.push(o),h}function gs(e,t){return ps(e,0,e.length,t,0,t.length)}function ms(e,t){return e===t}function fs(e){return"slot"===e.localName}let ys=class{static getFlattenedNodes(e){const t=Ei(e);return fs(e)?t.assignedNodes({flatten:!0}):Array.from(t.childNodes).map((e=>fs(e)?Ei(e).assignedNodes({flatten:!0}):[e])).reduce(((e,t)=>e.concat(t)),[])}constructor(e,t){this._shadyChildrenObserver=null,this._nativeChildrenObserver=null,this._connected=!1,this._target=e,this.callback=t,this._effectiveNodes=[],this._observer=null,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){fs(this._target)?this._listenSlots([this._target]):Ei(this._target).children&&(this._listenSlots(Ei(this._target).children),window.ShadyDOM?this._shadyChildrenObserver=window.ShadyDOM.observeChildren(this._target,(e=>{this._processMutations(e)})):(this._nativeChildrenObserver=new MutationObserver((e=>{this._processMutations(e)})),this._nativeChildrenObserver.observe(this._target,{childList:!0}))),this._connected=!0}disconnect(){fs(this._target)?this._unlistenSlots([this._target]):Ei(this._target).children&&(this._unlistenSlots(Ei(this._target).children),window.ShadyDOM&&this._shadyChildrenObserver?(window.ShadyDOM.unobserveChildren(this._shadyChildrenObserver),this._shadyChildrenObserver=null):this._nativeChildrenObserver&&(this._nativeChildrenObserver.disconnect(),this._nativeChildrenObserver=null)),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,Zi.run((()=>this.flush())))}_processMutations(e){this._processSlotMutations(e),this.flush()}_processSlotMutations(e){if(e)for(let t=0;t<e.length;t++){let i=e[t];i.addedNodes&&this._listenSlots(i.addedNodes),i.removedNodes&&this._unlistenSlots(i.removedNodes)}}flush(){if(!this._connected)return!1;window.ShadyDOM&&ShadyDOM.flush(),this._nativeChildrenObserver?this._processSlotMutations(this._nativeChildrenObserver.takeRecords()):this._shadyChildrenObserver&&this._processSlotMutations(this._shadyChildrenObserver.takeRecords()),this._scheduled=!1;let e={target:this._target,addedNodes:[],removedNodes:[]},t=this.constructor.getFlattenedNodes(this._target),i=gs(t,this._effectiveNodes);for(let t,n=0;n<i.length&&(t=i[n]);n++)for(let i,n=0;n<t.removed.length&&(i=t.removed[n]);n++)e.removedNodes.push(i);for(let n,r=0;r<i.length&&(n=i[r]);r++)for(let i=n.index;i<n.index+n.addedCount;i++)e.addedNodes.push(t[i]);this._effectiveNodes=t;let n=!1;return(e.addedNodes.length||e.removedNodes.length)&&(n=!0,this.callback.call(this._target,e)),n}_listenSlots(e){for(let t=0;t<e.length;t++){let i=e[t];fs(i)&&i.addEventListener("slotchange",this._boundSchedule)}}_unlistenSlots(e){for(let t=0;t<e.length;t++){let i=e[t];fs(i)&&i.removeEventListener("slotchange",this._boundSchedule)}}};const vs=function(){let e,t;do{e=window.ShadyDOM&&ShadyDOM.flush(),window.ShadyCSS&&window.ShadyCSS.ScopingShim&&window.ShadyCSS.ScopingShim.flush(),t=sr()}while(e||t)},_s=Element.prototype,bs=_s.matches||_s.matchesSelector||_s.mozMatchesSelector||_s.msMatchesSelector||_s.oMatchesSelector||_s.webkitMatchesSelector,ws=function(e,t){return bs.call(e,t)};class xs{constructor(e){window.ShadyDOM&&window.ShadyDOM.inUse&&window.ShadyDOM.patch(e),this.node=e}observeNodes(e){return new ys(this.node,e)}unobserveNodes(e){e.disconnect()}notifyObserver(){}deepContains(e){if(Ei(this.node).contains(e))return!0;let t=e,i=e.ownerDocument;for(;t&&t!==i&&t!==this.node;)t=Ei(t).parentNode||Ei(t).host;return t===this.node}getOwnerRoot(){return Ei(this.node).getRootNode()}getDistributedNodes(){return"slot"===this.node.localName?Ei(this.node).assignedNodes({flatten:!0}):[]}getDestinationInsertionPoints(){let e=[],t=Ei(this.node).assignedSlot;for(;t;)e.push(t),t=Ei(t).assignedSlot;return e}importNode(e,t){let i=this.node instanceof Document?this.node:this.node.ownerDocument;return Ei(i).importNode(e,t)}getEffectiveChildNodes(){return ys.getFlattenedNodes(this.node)}queryDistributedElements(e){let t=this.getEffectiveChildNodes(),i=[];for(let n,r=0,s=t.length;r<s&&(n=t[r]);r++)n.nodeType===Node.ELEMENT_NODE&&ws(n,e)&&i.push(n);return i}get activeElement(){let e=this.node;return void 0!==e._activeElement?e._activeElement:e.activeElement}}function ks(e,t){for(let i=0;i<t.length;i++){let n=t[i];Object.defineProperty(e,n,{get:function(){return this.node[n]},configurable:!0})}}class Ss{constructor(e){this.event=e}get rootTarget(){return this.path[0]}get localTarget(){return this.event.target}get path(){return this.event.composedPath()}}xs.prototype.cloneNode,xs.prototype.appendChild,xs.prototype.insertBefore,xs.prototype.removeChild,xs.prototype.replaceChild,xs.prototype.setAttribute,xs.prototype.removeAttribute,xs.prototype.querySelector,xs.prototype.querySelectorAll,xs.prototype.parentNode,xs.prototype.firstChild,xs.prototype.lastChild,xs.prototype.nextSibling,xs.prototype.previousSibling,xs.prototype.firstElementChild,xs.prototype.lastElementChild,xs.prototype.nextElementSibling,xs.prototype.previousElementSibling,xs.prototype.childNodes,xs.prototype.children,xs.prototype.classList,xs.prototype.textContent,xs.prototype.innerHTML;let As=xs;if(window.ShadyDOM&&window.ShadyDOM.inUse&&window.ShadyDOM.noPatch&&window.ShadyDOM.Wrapper){class e extends window.ShadyDOM.Wrapper{}Object.getOwnPropertyNames(xs.prototype).forEach((t=>{"activeElement"!=t&&(e.prototype[t]=xs.prototype[t])})),ks(e.prototype,["classList"]),As=e,Object.defineProperties(Ss.prototype,{localTarget:{get(){const e=this.event.currentTarget,t=e&&Es(e).getOwnerRoot(),i=this.path;for(let e=0;e<i.length;e++){const n=i[e];if(Es(n).getOwnerRoot()===t)return n}},configurable:!0},path:{get(){return window.ShadyDOM.composedPath(this.event)},configurable:!0}})}else!function(e,t){for(let i=0;i<t.length;i++){let n=t[i];e[n]=function(){return this.node[n].apply(this.node,arguments)}}}(xs.prototype,["cloneNode","appendChild","insertBefore","removeChild","replaceChild","setAttribute","removeAttribute","querySelector","querySelectorAll","attachShadow"]),ks(xs.prototype,["parentNode","firstChild","lastChild","nextSibling","previousSibling","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling","childNodes","children","classList","shadowRoot"]),function(e,t){for(let i=0;i<t.length;i++){let n=t[i];Object.defineProperty(e,n,{get:function(){return this.node[n]},set:function(e){this.node[n]=e},configurable:!0})}}(xs.prototype,["textContent","innerHTML","className"]);const Es=function(e){if((e=e||document)instanceof As)return e;if(e instanceof Ss)return e;let t=e.__domApi;return t||(t=e instanceof Event?new Ss(e):new As(e),e.__domApi=t),t},Cs=window.ShadyDOM,Ts=window.ShadyCSS;function Is(e,t){return Ei(e).getRootNode()===t}const Ds="disable-upgrade",Ps=e=>{for(;e;){const t=Object.getOwnPropertyDescriptor(e,"observedAttributes");if(t)return t.get;e=Object.getPrototypeOf(e.prototype).constructor}return()=>[]};ci((e=>{const t=tr(e);let i=Ps(t);return class extends t{constructor(){super(),this.__isUpgradeDisabled}static get observedAttributes(){return i.call(this).concat(Ds)}_initializeProperties(){this.hasAttribute(Ds)?this.__isUpgradeDisabled=!0:super._initializeProperties()}_enableProperties(){this.__isUpgradeDisabled||super._enableProperties()}_canApplyPropertyDefault(e){return super._canApplyPropertyDefault(e)&&!(this.__isUpgradeDisabled&&this._isPropertyPending(e))}attributeChangedCallback(e,t,i,n){e==Ds?this.__isUpgradeDisabled&&null==i&&(super._initializeProperties(),this.__isUpgradeDisabled=!1,Ei(this).isConnected&&super.connectedCallback()):super.attributeChangedCallback(e,t,i,n)}connectedCallback(){this.__isUpgradeDisabled||super.connectedCallback()}disconnectedCallback(){this.__isUpgradeDisabled||super.disconnectedCallback()}}}));const Fs="disable-upgrade";let Ns=window.ShadyCSS;const Rs=ci((e=>{const t=$r(tr(e)),i=er?t:es(t),n=Ps(i),r={x:"pan-x",y:"pan-y",none:"none",all:"auto"};class s extends i{constructor(){super(),this.isAttached,this.__boundListeners,this._debouncers,this.__isUpgradeDisabled,this.__needsAttributesAtConnected,this._legacyForceObservedAttributes}static get importMeta(){return this.prototype.importMeta}created(){}__attributeReaction(e,t,i){(this.__dataAttributes&&this.__dataAttributes[e]||e===Fs)&&this.attributeChangedCallback(e,t,i,null)}setAttribute(e,t){if(ai&&!this._legacyForceObservedAttributes){const i=this.getAttribute(e);super.setAttribute(e,t),this.__attributeReaction(e,i,String(t))}else super.setAttribute(e,t)}removeAttribute(e){if(ai&&!this._legacyForceObservedAttributes){const t=this.getAttribute(e);super.removeAttribute(e),this.__attributeReaction(e,t,null)}else super.removeAttribute(e)}static get observedAttributes(){return ai&&!this.prototype._legacyForceObservedAttributes?(this.hasOwnProperty(JSCompiler_renameProperty("__observedAttributes",this))||(this.__observedAttributes=[],this.prototype),this.__observedAttributes):n.call(this).concat(Fs)}_enableProperties(){this.__isUpgradeDisabled||super._enableProperties()}_canApplyPropertyDefault(e){return super._canApplyPropertyDefault(e)&&!(this.__isUpgradeDisabled&&this._isPropertyPending(e))}connectedCallback(){this.__needsAttributesAtConnected&&this._takeAttributes(),this.__isUpgradeDisabled||(super.connectedCallback(),this.isAttached=!0,this.attached())}attached(){}disconnectedCallback(){this.__isUpgradeDisabled||(super.disconnectedCallback(),this.isAttached=!1,this.detached())}detached(){}attributeChangedCallback(e,t,i,n){t!==i&&(e==Fs?this.__isUpgradeDisabled&&null==i&&(this._initializeProperties(),this.__isUpgradeDisabled=!1,Ei(this).isConnected&&this.connectedCallback()):(super.attributeChangedCallback(e,t,i,n),this.attributeChanged(e,t,i)))}attributeChanged(e,t,i){}_initializeProperties(){if(Zt&&this.hasAttribute(Fs))this.__isUpgradeDisabled=!0;else{let e=Object.getPrototypeOf(this);e.hasOwnProperty(JSCompiler_renameProperty("__hasRegisterFinished",e))||(this._registered(),e.__hasRegisterFinished=!0),super._initializeProperties(),this.root=this,this.created(),ai&&!this._legacyForceObservedAttributes&&(this.hasAttributes()?this._takeAttributes():this.parentNode||(this.__needsAttributesAtConnected=!0)),this._applyListeners()}}_takeAttributes(){const e=this.attributes;for(let t=0,i=e.length;t<i;t++){const i=e[t];this.__attributeReaction(i.name,null,i.value)}}_registered(){}ready(){this._ensureAttributes(),super.ready()}_ensureAttributes(){}_applyListeners(){}serialize(e){return this._serializeValue(e)}deserialize(e,t){return this._deserializeValue(e,t)}reflectPropertyToAttribute(e,t,i){this._propertyToAttribute(e,t,i)}serializeValueToAttribute(e,t,i){this._valueToNodeAttribute(i||this,e,t)}extend(e,t){if(!e||!t)return e||t;let i=Object.getOwnPropertyNames(t);for(let n,r=0;r<i.length&&(n=i[r]);r++){let i=Object.getOwnPropertyDescriptor(t,n);i&&Object.defineProperty(e,n,i)}return e}mixin(e,t){for(let i in t)e[i]=t[i];return e}chainObject(e,t){return e&&t&&e!==t&&(e.__proto__=t),e}instanceTemplate(e){let t=this.constructor._contentForTemplate(e);return document.importNode(t,!0)}fire(e,t,i){i=i||{},t=null==t?{}:t;let n=new Event(e,{bubbles:void 0===i.bubbles||i.bubbles,cancelable:Boolean(i.cancelable),composed:void 0===i.composed||i.composed});n.detail=t;let r=i.node||this;return Ei(r).dispatchEvent(n),n}listen(e,t,i){e=e||this;let n=this.__boundListeners||(this.__boundListeners=new WeakMap),r=n.get(e);r||(r={},n.set(e,r));let s=t+i;r[s]||(r[s]=this._addMethodEventListenerToNode(e,t,i,this))}unlisten(e,t,i){e=e||this;let n=this.__boundListeners&&this.__boundListeners.get(e),r=t+i,s=n&&n[r];s&&(this._removeEventListenerFromNode(e,t,s),n[r]=null)}setScrollDirection(e,t){Or(t||this,r[e]||"auto")}$$(e){return this.root.querySelector(e)}get domHost(){let e=Ei(this).getRootNode();return e instanceof DocumentFragment?e.host:e}distributeContent(){const e=Es(this);window.ShadyDOM&&e.shadowRoot&&ShadyDOM.flush()}getEffectiveChildNodes(){return Es(this).getEffectiveChildNodes()}queryDistributedElements(e){return Es(this).queryDistributedElements(e)}getEffectiveChildren(){return this.getEffectiveChildNodes().filter((function(e){return e.nodeType===Node.ELEMENT_NODE}))}getEffectiveTextContent(){let e=this.getEffectiveChildNodes(),t=[];for(let i,n=0;i=e[n];n++)i.nodeType!==Node.COMMENT_NODE&&t.push(i.textContent);return t.join("")}queryEffectiveChildren(e){let t=this.queryDistributedElements(e);return t&&t[0]}queryAllEffectiveChildren(e){return this.queryDistributedElements(e)}getContentChildNodes(e){let t=this.root.querySelector(e||"slot");return t?Es(t).getDistributedNodes():[]}getContentChildren(e){let t=this.getContentChildNodes(e).filter((function(e){return e.nodeType===Node.ELEMENT_NODE}));return t}isLightDescendant(e){const t=this;return t!==e&&Ei(t).contains(e)&&Ei(t).getRootNode()===Ei(e).getRootNode()}isLocalDescendant(e){return this.root===Ei(e).getRootNode()}scopeSubtree(e,t=!1){return function(e,t=!1){if(!Cs||!Ts)return null;if(!Cs.handlesDynamicScoping)return null;const i=Ts.ScopingShim;if(!i)return null;const n=i.scopeForNode(e),r=Ei(e).getRootNode(),s=e=>{if(!Is(e,r))return;const t=Array.from(Cs.nativeMethods.querySelectorAll.call(e,"*"));t.push(e);for(let e=0;e<t.length;e++){const s=t[e];if(!Is(s,r))continue;const o=i.currentScopeForNode(s);o!==n&&(""!==o&&i.unscopeNode(s,o),i.scopeNode(s,n))}};if(s(e),t){const t=new MutationObserver((e=>{for(let t=0;t<e.length;t++){const i=e[t];for(let e=0;e<i.addedNodes.length;e++){const t=i.addedNodes[e];t.nodeType===Node.ELEMENT_NODE&&s(t)}}}));return t.observe(e,{childList:!0,subtree:!0}),t}return null}(e,t)}getComputedStyleValue(e){return Ns.getComputedStyleValue(this,e)}debounce(e,t,i){return this._debouncers=this._debouncers||{},this._debouncers[e]=ir.debounce(this._debouncers[e],i>0?Yi.after(i):Zi,t.bind(this))}isDebouncerActive(e){this._debouncers=this._debouncers||{};let t=this._debouncers[e];return!(!t||!t.isActive())}flushDebouncer(e){this._debouncers=this._debouncers||{};let t=this._debouncers[e];t&&t.flush()}cancelDebouncer(e){this._debouncers=this._debouncers||{};let t=this._debouncers[e];t&&t.cancel()}async(e,t){return t>0?Yi.run(e.bind(this),t):~Zi.run(e.bind(this))}cancelAsync(e){e<0?Zi.cancel(~e):Yi.cancel(e)}create(e,t){let i=document.createElement(e);if(t)if(i.setProperties)i.setProperties(t);else for(let e in t)i[e]=t[e];return i}elementMatches(e,t){return ws(t||this,e)}toggleAttribute(e,t){let i=this;return 3===arguments.length&&(i=arguments[2]),1==arguments.length&&(t=!i.hasAttribute(e)),t?(Ei(i).setAttribute(e,""),!0):(Ei(i).removeAttribute(e),!1)}toggleClass(e,t,i){i=i||this,1==arguments.length&&(t=!i.classList.contains(e)),t?i.classList.add(e):i.classList.remove(e)}transform(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e}translate3d(e,t,i,n){n=n||this,this.transform("translate3d("+e+","+t+","+i+")",n)}arrayDelete(e,t){let i;if(Array.isArray(e)){if(i=e.indexOf(t),i>=0)return e.splice(i,1)}else{if(i=Oi(this,e).indexOf(t),i>=0)return this.splice(e,i,1)}return null}_logger(e,t){switch(Array.isArray(t)&&1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"error":console[e](...t)}}_log(...e){this._logger("log",e)}_warn(...e){this._logger("warn",e)}_error(...e){this._logger("error",e)}_logf(e,...t){return["[%s::%s]",this.is,e,...t]}}return s.prototype.is="",s})),Os={attached:!0,detached:!0,ready:!0,created:!0,beforeRegister:!0,registered:!0,attributeChanged:!0,listeners:!0,hostAttributes:!0},Ms={attached:!0,detached:!0,ready:!0,created:!0,beforeRegister:!0,registered:!0,attributeChanged:!0,behaviors:!0,_noAccessors:!0},Ls=Object.assign({listeners:!0,hostAttributes:!0,properties:!0,observers:!0},Ms);function Bs(e,t){return $s({},Rs(t),e)}function zs(e,t,i,n){!function(e,t,i){const n=e._noAccessors,r=Object.getOwnPropertyNames(e);for(let s=0;s<r.length;s++){let o=r[s];if(!(o in i))if(n)t[o]=e[o];else{let i=Object.getOwnPropertyDescriptor(e,o);i&&(i.configurable=!0,Object.defineProperty(t,o,i))}}}(t,e,n);for(let e in Os)t[e]&&(i[e]=i[e]||[],i[e].push(t[e]))}function js(e,t,i){t=t||[];for(let n=e.length-1;n>=0;n--){let r=e[n];r?Array.isArray(r)?js(r,t):t.indexOf(r)<0&&(!i||i.indexOf(r)<0)&&t.unshift(r):console.warn("behavior is null, check for missing or 404 import")}return t}function Hs(e,t){for(const i in t){const n=e[i],r=t[i];e[i]=!("value"in r)&&n&&"value"in n?Object.assign({value:n.value},r):r}}const Us=Rs(HTMLElement);function $s(e,t,i){let n;const r={};class s extends t{static _finalizeClass(){if(this.hasOwnProperty(JSCompiler_renameProperty("generatedFrom",this))){if(n)for(let e,t=0;t<n.length;t++)e=n[t],e.properties&&this.createProperties(e.properties),e.observers&&this.createObservers(e.observers,e.properties);e.properties&&this.createProperties(e.properties),e.observers&&this.createObservers(e.observers,e.properties),this._prepareTemplate()}else t._finalizeClass.call(this)}static get properties(){const t={};if(n)for(let e=0;e<n.length;e++)Hs(t,n[e].properties);return Hs(t,e.properties),t}static get observers(){let t=[];if(n)for(let e,i=0;i<n.length;i++)e=n[i],e.observers&&(t=t.concat(e.observers));return e.observers&&(t=t.concat(e.observers)),t}created(){super.created();const e=r.created;if(e)for(let t=0;t<e.length;t++)e[t].call(this)}_registered(){const e=s.prototype;if(!e.hasOwnProperty(JSCompiler_renameProperty("__hasRegisterFinished",e))){e.__hasRegisterFinished=!0,super._registered(),Zt&&o(e);const t=Object.getPrototypeOf(this);let i=r.beforeRegister;if(i)for(let e=0;e<i.length;e++)i[e].call(t);if(i=r.registered,i)for(let e=0;e<i.length;e++)i[e].call(t)}}_applyListeners(){super._applyListeners();const e=r.listeners;if(e)for(let t=0;t<e.length;t++){const i=e[t];if(i)for(let e in i)this._addMethodEventListenerToNode(this,e,i[e])}}_ensureAttributes(){const e=r.hostAttributes;if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];for(let e in i)this._ensureAttribute(e,i[e])}super._ensureAttributes()}ready(){super.ready();let e=r.ready;if(e)for(let t=0;t<e.length;t++)e[t].call(this)}attached(){super.attached();let e=r.attached;if(e)for(let t=0;t<e.length;t++)e[t].call(this)}detached(){super.detached();let e=r.detached;if(e)for(let t=0;t<e.length;t++)e[t].call(this)}attributeChanged(e,t,i){super.attributeChanged();let n=r.attributeChanged;if(n)for(let r=0;r<n.length;r++)n[r].call(this,e,t,i)}}if(i){Array.isArray(i)||(i=[i]);let e=t.prototype.behaviors;n=js(i,null,e),s.prototype.behaviors=e?e.concat(i):n}const o=t=>{n&&function(e,t,i){for(let n=0;n<t.length;n++)zs(e,t[n],i,Ls)}(t,n,r),zs(t,e,r,Ms)};return Zt||o(s.prototype),s.generatedFrom=e,s}const Vs=function(e){let t;return t="function"==typeof e?e:Vs.Class(e),e._legacyForceObservedAttributes&&(t.prototype._legacyForceObservedAttributes=e._legacyForceObservedAttributes),customElements.define(t.is,t),t};function Ws(e,t,i,n,r){let s;r&&(s="object"==typeof i&&null!==i,s&&(n=e.__dataTemp[t]));let o=n!==i&&(n==n||i==i);return s&&o&&(e.__dataTemp[t]=i),o}Vs.Class=function(e,t){e||console.warn("Polymer.Class requires `info` argument");let i=t?t(Us):Us;return i=$s(e,i,e.behaviors),i.is=i.prototype.is=e.is,i};const Gs=ci((e=>class extends e{_shouldPropertyChange(e,t,i){return Ws(this,e,t,i,!0)}})),qs=ci((e=>class extends e{static get properties(){return{mutableData:Boolean}}_shouldPropertyChange(e,t,i){return Ws(this,e,t,i,this.mutableData)}}));Gs._mutablePropertyChange=Ws;let Ys=null;function Ks(){return Ys}Ks.prototype=Object.create(HTMLTemplateElement.prototype,{constructor:{value:Ks,writable:!0}});const Js=Zn(Ks),Zs=Gs(Js);const Qs=Zn(class{});function Xs(e,t){for(let i=0;i<t.length;i++){let n=t[i];if(Boolean(e)!=Boolean(n.__hideTemplateChildren__))if(n.nodeType===Node.TEXT_NODE)e?(n.__polymerTextContent__=n.textContent,n.textContent=""):n.textContent=n.__polymerTextContent__;else if("slot"===n.localName)if(e)n.__polymerReplaced__=document.createComment("hidden-slot"),Ei(Ei(n).parentNode).replaceChild(n.__polymerReplaced__,n);else{const e=n.__polymerReplaced__;e&&Ei(Ei(e).parentNode).replaceChild(n,e)}else n.style&&(e?(n.__polymerDisplay__=n.style.display,n.style.display="none"):n.style.display=n.__polymerDisplay__);n.__hideTemplateChildren__=e,n._showHideChildren&&n._showHideChildren(e)}}class eo extends Qs{constructor(e){super(),this._configureProperties(e),this.root=this._stampTemplate(this.__dataHost);let t=[];this.children=t;for(let e=this.root.firstChild;e;e=e.nextSibling)t.push(e),e.__templatizeInstance=this;this.__templatizeOwner&&this.__templatizeOwner.__hideTemplateChildren__&&this._showHideChildren(!0);let i=this.__templatizeOptions;(e&&i.instanceProps||!i.instanceProps)&&this._enableProperties()}_configureProperties(e){if(this.__templatizeOptions.forwardHostProp)for(let e in this.__hostProps)this._setPendingProperty(e,this.__dataHost["_host_"+e]);for(let t in e)this._setPendingProperty(t,e[t])}forwardHostProp(e,t){this._setPendingPropertyOrPath(e,t,!1,!0)&&this.__dataHost._enqueueClient(this)}_addEventListenerToNode(e,t,i){if(this._methodHost&&this.__templatizeOptions.parentModel)this._methodHost._addEventListenerToNode(e,t,(e=>{e.model=this,i(e)}));else{let n=this.__dataHost.__dataHost;n&&n._addEventListenerToNode(e,t,i)}}_showHideChildren(e){Xs(e,this.children)}_setUnmanagedPropertyToNode(e,t,i){e.__hideTemplateChildren__&&e.nodeType==Node.TEXT_NODE&&"textContent"==t?e.__polymerTextContent__=i:super._setUnmanagedPropertyToNode(e,t,i)}get parentModel(){let e=this.__parentModel;if(!e){let t;e=this;do{e=e.__dataHost.__dataHost}while((t=e.__templatizeOptions)&&!t.parentModel);this.__parentModel=e}return e}dispatchEvent(e){return!0}}eo.prototype.__dataHost,eo.prototype.__templatizeOptions,eo.prototype._methodHost,eo.prototype.__templatizeOwner,eo.prototype.__hostProps;const to=Gs(eo);function io(e){let t=e.__dataHost;return t&&t._methodHost||t}function no(e,t,i){let n=i.mutableData?to:eo;ao.mixin&&(n=ao.mixin(n));let r=class extends n{};return r.prototype.__templatizeOptions=i,r.prototype._bindTemplate(e),function(e,t,i,n){let r=i.hostProps||{};for(let t in n.instanceProps){delete r[t];let i=n.notifyInstanceProp;i&&e.prototype._addPropertyEffect(t,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:oo(t,i)})}if(n.forwardHostProp&&t.__dataHost)for(let t in r)i.hasHostProps||(i.hasHostProps=!0),e.prototype._addPropertyEffect(t,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:function(e,t,i){e.__dataHost._setPendingPropertyOrPath("_host_"+t,i[t],!0,!0)}})}(r,e,t,i),r}function ro(e,t,i,n){let r=i.forwardHostProp;if(r&&t.hasHostProps){const s="template"==e.localName;let o=t.templatizeTemplateClass;if(!o){if(s){let e=i.mutableData?Zs:Js;class n extends e{}o=t.templatizeTemplateClass=n}else{const i=e.constructor;class n extends i{}o=t.templatizeTemplateClass=n}let a=t.hostProps;for(let e in a)o.prototype._addPropertyEffect("_host_"+e,o.prototype.PROPERTY_EFFECT_TYPES.PROPAGATE,{fn:so(e,r)}),o.prototype._createNotifyingProperty("_host_"+e);Qt&&n&&function(e,t,i){const n=i.constructor._properties,{propertyEffects:r}=e,{instanceProps:s}=t;for(let e in r)if(!(n[e]||s&&s[e])){const t=r[e];for(let i=0;i<t.length;i++){const{part:n}=t[i].info;if(!n.signature||!n.signature.static){console.warn(`Property '${e}' used in template but not declared in 'properties'; attribute will not be observed.`);break}}}}(t,i,n)}if(e.__dataProto&&Object.assign(e.__data,e.__dataProto),s)!function(e,t){Ys=e,Object.setPrototypeOf(e,t.prototype),new t,Ys=null}(e,o),e.__dataTemp={},e.__dataPending=null,e.__dataOld=null,e._enableProperties();else{Object.setPrototypeOf(e,o.prototype);const i=t.hostProps;for(let t in i)if(t="_host_"+t,t in e){const i=e[t];delete e[t],e.__data[t]=i}}}}function so(e,t){return function(e,i,n){t.call(e.__templatizeOwner,i.substring(6),n[i])}}function oo(e,t){return function(e,i,n){t.call(e.__templatizeOwner,e,i,n[i])}}function ao(e,t,i){if(Kt&&!io(e))throw new Error("strictTemplatePolicy: template owner not trusted");if(i=i||{},e.__templatizeOwner)throw new Error("A <template> can only be templatized once");e.__templatizeOwner=t;let n=(t?t.constructor:eo)._parseTemplate(e),r=n.templatizeInstanceClass;r||(r=no(e,n,i),n.templatizeInstanceClass=r);const s=io(e);ro(e,n,i,s);let o=class extends r{};return o.prototype._methodHost=s,o.prototype.__dataHost=e,o.prototype.__templatizeOwner=t,o.prototype.__hostProps=n.hostProps,o}function lo(e,t){let i;for(;t;)if(i=t.__dataHost?t:t.__templatizeInstance){if(i.__dataHost==e)return i;t=i.__dataHost}else t=Ei(t).parentNode;return null}let co=!1;function ho(){if(Zt&&!Vt){if(!co){co=!0;const e=document.createElement("style");e.textContent="dom-bind,dom-if,dom-repeat{display:none;}",document.head.appendChild(e)}return!0}return!1}const uo=$r(qs(Zn(HTMLElement)));customElements.define("dom-bind",class extends uo{static get observedAttributes(){return["mutable-data"]}constructor(){if(super(),Kt)throw new Error("strictTemplatePolicy: dom-bind not allowed");this.root=null,this.$=null,this.__children=null}attributeChangedCallback(e,t,i,n){this.mutableData=!0}connectedCallback(){ho()||(this.style.display="none"),this.render()}disconnectedCallback(){this.__removeChildren()}__insertChildren(){Ei(Ei(this).parentNode).insertBefore(this.root,this)}__removeChildren(){if(this.__children)for(let e=0;e<this.__children.length;e++)this.root.appendChild(this.__children[e])}render(){let e;if(!this.__children){if(e=e||this.querySelector("template"),!e){let t=new MutationObserver((()=>{if(e=this.querySelector("template"),!e)throw new Error("dom-bind requires a <template> child");t.disconnect(),this.render()}));return void t.observe(this,{childList:!0})}this.root=this._stampTemplate(e),this.$=this.root.$,this.__children=[];for(let e=this.root.firstChild;e;e=e.nextSibling)this.__children[this.__children.length]=e;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}});const po=window.trustedTypes&&trustedTypes.createPolicy("polymer-html-literal",{createHTML:e=>e});class go{constructor(e,t){yo(e,t);const i=t.reduce(((t,i,n)=>t+mo(i)+e[n+1]),e[0]);this.value=i.toString()}toString(){return this.value}}function mo(e){if(e instanceof go)return e.value;throw new Error(`non-literal value passed to Polymer's htmlLiteral function: ${e}`)}const fo=function(e,...t){yo(e,t);const i=document.createElement("template");let n=t.reduce(((t,i,n)=>t+function(e){if(e instanceof HTMLTemplateElement)return e.innerHTML;if(e instanceof go)return mo(e);throw new Error(`non-template value passed to Polymer's html function: ${e}`)}(i)+e[n+1]),e[0]);return po&&(n=po.createHTML(n)),i.innerHTML=n,i},yo=(e,t)=>{if(!Array.isArray(e)||!Array.isArray(e.raw)||t.length!==e.length-1)throw new TypeError("Invalid call to the html template tag")},vo=tr(HTMLElement),_o=qs(vo);class bo extends _o{static get is(){return"dom-repeat"}static get template(){return null}static get properties(){return{items:{type:Array},as:{type:String,value:"item"},indexAs:{type:String,value:"index"},itemsIndexAs:{type:String,value:"itemsIndex"},sort:{type:Function,observer:"__sortChanged"},filter:{type:Function,observer:"__filterChanged"},observe:{type:String,observer:"__observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!oi,readOnly:!0},initialCount:{type:Number},targetFramerate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"__computeFrameTime(targetFramerate)"},notifyDomChange:{type:Boolean},reuseChunkedInstances:{type:Boolean}}}static get observers(){return["__itemsChanged(items.*)"]}constructor(){super(),this.__instances=[],this.__renderDebouncer=null,this.__itemsIdxToInstIdx={},this.__chunkCount=null,this.__renderStartTime=null,this.__itemsArrayChanged=!1,this.__shouldMeasureChunk=!1,this.__shouldContinueChunking=!1,this.__chunkingId=0,this.__sortFn=null,this.__filterFn=null,this.__observePaths=null,this.__ctor=null,this.__isDetached=!0,this.template=null,this._templateInfo}disconnectedCallback(){super.disconnectedCallback(),this.__isDetached=!0;for(let e=0;e<this.__instances.length;e++)this.__detachInstance(e);this.__chunkingId&&cancelAnimationFrame(this.__chunkingId)}connectedCallback(){if(super.connectedCallback(),ho()||(this.style.display="none"),this.__isDetached){this.__isDetached=!1;let e=Ei(Ei(this).parentNode);for(let t=0;t<this.__instances.length;t++)this.__attachInstance(t,e);this.__chunkingId&&this.__render()}}__ensureTemplatized(){if(!this.__ctor){const e=this;let t=this.template=e._templateInfo?e:this.querySelector("template");if(!t){let e=new MutationObserver((()=>{if(!this.querySelector("template"))throw new Error("dom-repeat requires a <template> child");e.disconnect(),this.__render()}));return e.observe(this,{childList:!0}),!1}let i={};i[this.as]=!0,i[this.indexAs]=!0,i[this.itemsIndexAs]=!0,this.__ctor=ao(t,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:i,forwardHostProp:function(e,t){let i=this.__instances;for(let n,r=0;r<i.length&&(n=i[r]);r++)n.forwardHostProp(e,t)},notifyInstanceProp:function(e,t,i){if(Fi(this.as,t)){let n=e[this.itemsIndexAs];t==this.as&&(this.items[n]=i);let r=Pi(this.as,`${JSCompiler_renameProperty("items",this)}.${n}`,t);this.notifyPath(r,i)}}})}return!0}__getMethodHost(){return this.__dataHost._methodHost||this.__dataHost}__functionFromPropertyValue(e){if("string"==typeof e){let t=e,i=this.__getMethodHost();return function(){return i[t].apply(i,arguments)}}return e}__sortChanged(e){this.__sortFn=this.__functionFromPropertyValue(e),this.items&&this.__debounceRender(this.__render)}__filterChanged(e){this.__filterFn=this.__functionFromPropertyValue(e),this.items&&this.__debounceRender(this.__render)}__computeFrameTime(e){return Math.ceil(1e3/e)}__observeChanged(){this.__observePaths=this.observe&&this.observe.replace(".*",".").split(" ")}__handleObservedPaths(e){if(this.__sortFn||this.__filterFn)if(e){if(this.__observePaths){let t=this.__observePaths;for(let i=0;i<t.length;i++)0===e.indexOf(t[i])&&this.__debounceRender(this.__render,this.delay)}}else this.__debounceRender(this.__render,this.delay)}__itemsChanged(e){this.items&&!Array.isArray(this.items)&&console.warn("dom-repeat expected array for `items`, found",this.items),this.__handleItemPath(e.path,e.value)||("items"===e.path&&(this.__itemsArrayChanged=!0),this.__debounceRender(this.__render))}__debounceRender(e,t=0){this.__renderDebouncer=ir.debounce(this.__renderDebouncer,t>0?Yi.after(t):Zi,e.bind(this)),rr(this.__renderDebouncer)}render(){this.__debounceRender(this.__render),vs()}__render(){if(!this.__ensureTemplatized())return;let e=this.items||[];const t=this.__sortAndFilterItems(e),i=this.__calculateLimit(t.length);this.__updateInstances(e,i,t),this.initialCount&&(this.__shouldMeasureChunk||this.__shouldContinueChunking)&&(cancelAnimationFrame(this.__chunkingId),this.__chunkingId=requestAnimationFrame((()=>{this.__chunkingId=null,this.__continueChunking()}))),this._setRenderedItemCount(this.__instances.length),oi&&!this.notifyDomChange||this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}__sortAndFilterItems(e){let t=new Array(e.length);for(let i=0;i<e.length;i++)t[i]=i;return this.__filterFn&&(t=t.filter(((t,i,n)=>this.__filterFn(e[t],i,n)))),this.__sortFn&&t.sort(((t,i)=>this.__sortFn(e[t],e[i]))),t}__calculateLimit(e){let t=e;const i=this.__instances.length;if(this.initialCount){let n;!this.__chunkCount||this.__itemsArrayChanged&&!this.reuseChunkedInstances?(t=Math.min(e,this.initialCount),n=Math.max(t-i,0),this.__chunkCount=n||1):(n=Math.min(Math.max(e-i,0),this.__chunkCount),t=Math.min(i+n,e)),this.__shouldMeasureChunk=n===this.__chunkCount,this.__shouldContinueChunking=t<e,this.__renderStartTime=performance.now()}return this.__itemsArrayChanged=!1,t}__continueChunking(){if(this.__shouldMeasureChunk){const e=performance.now()-this.__renderStartTime,t=this._targetFrameTime/e;this.__chunkCount=Math.round(this.__chunkCount*t)||1}this.__shouldContinueChunking&&this.__debounceRender(this.__render)}__updateInstances(e,t,i){const n=this.__itemsIdxToInstIdx={};let r;for(r=0;r<t;r++){let t=this.__instances[r],s=i[r],o=e[s];n[s]=r,t?(t._setPendingProperty(this.as,o),t._setPendingProperty(this.indexAs,r),t._setPendingProperty(this.itemsIndexAs,s),t._flushProperties()):this.__insertInstance(o,r,s)}for(let e=this.__instances.length-1;e>=r;e--)this.__detachAndRemoveInstance(e)}__detachInstance(e){let t=this.__instances[e];const i=Ei(t.root);for(let e=0;e<t.children.length;e++){let n=t.children[e];i.appendChild(n)}return t}__attachInstance(e,t){let i=this.__instances[e];t.insertBefore(i.root,this)}__detachAndRemoveInstance(e){this.__detachInstance(e),this.__instances.splice(e,1)}__stampInstance(e,t,i){let n={};return n[this.as]=e,n[this.indexAs]=t,n[this.itemsIndexAs]=i,new this.__ctor(n)}__insertInstance(e,t,i){const n=this.__stampInstance(e,t,i);let r=this.__instances[t+1],s=r?r.children[0]:this;return Ei(Ei(this).parentNode).insertBefore(n.root,s),this.__instances[t]=n,n}_showHideChildren(e){for(let t=0;t<this.__instances.length;t++)this.__instances[t]._showHideChildren(e)}__handleItemPath(e,t){let i=e.slice(6),n=i.indexOf("."),r=n<0?i:i.substring(0,n);if(r==parseInt(r,10)){let e=n<0?"":i.substring(n+1);this.__handleObservedPaths(e);let s=this.__itemsIdxToInstIdx[r],o=this.__instances[s];if(o){let i=this.as+(e?"."+e:"");o._setPendingPropertyOrPath(i,t,!1,!0),o._flushProperties()}return!0}}itemForElement(e){let t=this.modelForElement(e);return t&&t[this.as]}indexForElement(e){let t=this.modelForElement(e);return t&&t[this.indexAs]}modelForElement(e){return lo(this.template,e)}}customElements.define(bo.is,bo);class wo extends vo{static get is(){return"dom-if"}static get template(){return null}static get properties(){return{if:{type:Boolean,observer:"__debounceRender"},restamp:{type:Boolean,observer:"__debounceRender"},notifyDomChange:{type:Boolean}}}constructor(){super(),this.__renderDebouncer=null,this._lastIf=!1,this.__hideTemplateChildren__=!1,this.__template,this._templateInfo}__debounceRender(){this.__renderDebouncer=ir.debounce(this.__renderDebouncer,Zi,(()=>this.__render())),rr(this.__renderDebouncer)}disconnectedCallback(){super.disconnectedCallback();const e=Ei(this).parentNode;e&&(e.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Ei(e).host)||this.__teardownInstance()}connectedCallback(){super.connectedCallback(),ho()||(this.style.display="none"),this.if&&this.__debounceRender()}__ensureTemplate(){if(!this.__template){const e=this;let t=e._templateInfo?e:Ei(e).querySelector("template");if(!t){let e=new MutationObserver((()=>{if(!Ei(this).querySelector("template"))throw new Error("dom-if requires a <template> child");e.disconnect(),this.__render()}));return e.observe(this,{childList:!0}),!1}this.__template=t}return!0}__ensureInstance(){let e=Ei(this).parentNode;if(this.__hasInstance()){let t=this.__getInstanceNodes();if(t&&t.length){if(Ei(this).previousSibling!==t[t.length-1])for(let i,n=0;n<t.length&&(i=t[n]);n++)Ei(e).insertBefore(i,this)}}else{if(!e)return!1;if(!this.__ensureTemplate())return!1;this.__createAndInsertInstance(e)}return!0}render(){vs()}__render(){if(this.if){if(!this.__ensureInstance())return}else this.restamp&&this.__teardownInstance();this._showHideChildren(),oi&&!this.notifyDomChange||this.if==this._lastIf||(this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this._lastIf=this.if)}__hasInstance(){}__getInstanceNodes(){}__createAndInsertInstance(e){}__teardownInstance(){}_showHideChildren(){}}const xo=si?class extends wo{constructor(){super(),this.__instance=null,this.__syncInfo=null}__hasInstance(){return Boolean(this.__instance)}__getInstanceNodes(){return this.__instance.templateInfo.childNodes}__createAndInsertInstance(e){const t=this.__dataHost||this;if(Kt&&!this.__dataHost)throw new Error("strictTemplatePolicy: template owner not trusted");const i=t._bindTemplate(this.__template,!0);i.runEffects=(e,t,i)=>{let n=this.__syncInfo;if(this.if)n&&(this.__syncInfo=null,this._showHideChildren(),t=Object.assign(n.changedProps,t)),e(t,i);else if(this.__instance)if(n||(n=this.__syncInfo={runEffects:e,changedProps:{}}),i)for(const e in t){const t=Ti(e);n.changedProps[t]=this.__dataHost[t]}else Object.assign(n.changedProps,t)},this.__instance=t._stampTemplate(this.__template,i),Ei(e).insertBefore(this.__instance,this)}__syncHostProperties(){const e=this.__syncInfo;e&&(this.__syncInfo=null,e.runEffects(e.changedProps,!1))}__teardownInstance(){const e=this.__dataHost||this;this.__instance&&(e._removeBoundDom(this.__instance),this.__instance=null,this.__syncInfo=null)}_showHideChildren(){const e=this.__hideTemplateChildren__||!this.if;this.__instance&&Boolean(this.__instance.__hidden)!==e&&(this.__instance.__hidden=e,Xs(e,this.__instance.templateInfo.childNodes)),e||this.__syncHostProperties()}}:class extends wo{constructor(){super(),this.__ctor=null,this.__instance=null,this.__invalidProps=null}__hasInstance(){return Boolean(this.__instance)}__getInstanceNodes(){return this.__instance.children}__createAndInsertInstance(e){this.__ctor||(this.__ctor=ao(this.__template,this,{mutableData:!0,forwardHostProp:function(e,t){this.__instance&&(this.if?this.__instance.forwardHostProp(e,t):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[Ti(e)]=!0))}})),this.__instance=new this.__ctor,Ei(e).insertBefore(this.__instance.root,this)}__teardownInstance(){if(this.__instance){let e=this.__instance.children;if(e&&e.length){let t=Ei(e[0]).parentNode;if(t){t=Ei(t);for(let i,n=0;n<e.length&&(i=e[n]);n++)t.removeChild(i)}}this.__invalidProps=null,this.__instance=null}}__syncHostProperties(){let e=this.__invalidProps;if(e){this.__invalidProps=null;for(let t in e)this.__instance._setPendingProperty(t,this.__dataHost[t]);this.__instance._flushProperties()}}_showHideChildren(){const e=this.__hideTemplateChildren__||!this.if;this.__instance&&Boolean(this.__instance.__hidden)!==e&&(this.__instance.__hidden=e,this.__instance._showHideChildren(e)),e||this.__syncHostProperties()}};customElements.define(xo.is,xo);let ko=ci((e=>{let t=tr(e);return class extends t{static get properties(){return{items:{type:Array},multi:{type:Boolean,value:!1},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}}}static get observers(){return["__updateSelection(multi, items.*)"]}constructor(){super(),this.__lastItems=null,this.__lastMulti=null,this.__selectedMap=null}__updateSelection(e,t){let i=t.path;if(i==JSCompiler_renameProperty("items",this)){let i=t.base||[],n=this.__lastItems;if(e!==this.__lastMulti&&this.clearSelection(),n){let e=gs(i,n);this.__applySplices(e)}this.__lastItems=i,this.__lastMulti=e}else if(t.path==`${JSCompiler_renameProperty("items",this)}.splices`)this.__applySplices(t.value.indexSplices);else{let e=i.slice(`${JSCompiler_renameProperty("items",this)}.`.length),t=parseInt(e,10);e.indexOf(".")<0&&e==t&&this.__deselectChangedIdx(t)}}__applySplices(e){let t=this.__selectedMap;for(let i=0;i<e.length;i++){let n=e[i];t.forEach(((e,i)=>{e<n.index||(e>=n.index+n.removed.length?t.set(i,e+n.addedCount-n.removed.length):t.set(i,-1))}));for(let e=0;e<n.addedCount;e++){let i=n.index+e;t.has(this.items[i])&&t.set(this.items[i],i)}}this.__updateLinks();let i=0;t.forEach(((e,n)=>{e<0?(this.multi?this.splice(JSCompiler_renameProperty("selected",this),i,1):this.selected=this.selectedItem=null,t.delete(n)):i++}))}__updateLinks(){if(this.__dataLinkedPaths={},this.multi){let e=0;this.__selectedMap.forEach((t=>{t>=0&&this.linkPaths(`${JSCompiler_renameProperty("items",this)}.${t}`,`${JSCompiler_renameProperty("selected",this)}.${e++}`)}))}else this.__selectedMap.forEach((e=>{this.linkPaths(JSCompiler_renameProperty("selected",this),`${JSCompiler_renameProperty("items",this)}.${e}`),this.linkPaths(JSCompiler_renameProperty("selectedItem",this),`${JSCompiler_renameProperty("items",this)}.${e}`)}))}clearSelection(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}isSelected(e){return this.__selectedMap.has(e)}isIndexSelected(e){return this.isSelected(this.items[e])}__deselectChangedIdx(e){let t=this.__selectedIndexForItemIndex(e);if(t>=0){let e=0;this.__selectedMap.forEach(((i,n)=>{t==e++&&this.deselect(n)}))}}__selectedIndexForItemIndex(e){let t=this.__dataLinkedPaths[`${JSCompiler_renameProperty("items",this)}.${e}`];if(t)return parseInt(t.slice(`${JSCompiler_renameProperty("selected",this)}.`.length),10)}deselect(e){let t=this.__selectedMap.get(e);if(t>=0){let i;this.__selectedMap.delete(e),this.multi&&(i=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice(JSCompiler_renameProperty("selected",this),i,1):this.selected=this.selectedItem=null}}deselectIndex(e){this.deselect(this.items[e])}select(e){this.selectIndex(this.items.indexOf(e))}selectIndex(e){let t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push(JSCompiler_renameProperty("selected",this),t):this.selected=this.selectedItem=t)}}})),So=ko(vo);class Ao extends So{static get is(){return"array-selector"}static get template(){return null}}customElements.define(Ao.is,Ao);const Eo=new Rt;window.ShadyCSS||(window.ShadyCSS={prepareTemplate(e,t,i){},prepareTemplateDom(e,t){},prepareTemplateStyles(e,t,i){},styleSubtree(e,t){Eo.processStyles(),ct(e,t)},styleElement(e){Eo.processStyles()},styleDocument(e){Eo.processStyles(),ct(document.body,e)},getComputedStyleValue:(e,t)=>ht(e,t),flushCustomStyles(){},nativeCss:Be,nativeShadow:Ne,cssBuild:Oe,disableRuntime:Le}),window.ShadyCSS.CustomStyleInterface=Eo;const Co="include",To=window.ShadyCSS.CustomStyleInterface;class Io extends HTMLElement{constructor(){super(),this._style=null,To.addCustomStyle(this)}getStyle(){if(this._style)return this._style;const e=this.querySelector("style");if(!e)return null;this._style=e;const t=e.getAttribute(Co);return t&&(e.removeAttribute(Co),e.textContent=function(e){let t=e.trim().split(/\s+/),i="";for(let e=0;e<t.length;e++)i+=Ai(t[e]);return i}(t)+e.textContent),this.ownerDocument!==window.document&&window.document.head.appendChild(this),this._style}}let Do;window.customElements.define("custom-style",Io),Do=Gs._mutablePropertyChange;const Po={properties:{mutableData:Boolean},_shouldPropertyChange(e,t,i){return Do(this,e,t,i,this.mutableData)}},Fo=Rs(HTMLElement).prototype;let No={debug(){},info(){},warn(){},error(){}};let Ro,Oo;class Mo{static get NONE(){return 0}static get ERROR(){return 1}static get WARN(){return 2}static get INFO(){return 3}static get DEBUG(){return 4}static reset(){Oo=3,Ro=No}static get level(){return Oo}static set level(e){if(!(0<=e&&e<=4))throw new Error("Invalid log level");Oo=e}static get logger(){return Ro}static set logger(e){if(!e.debug&&e.info&&(e.debug=e.info),!(e.debug&&e.info&&e.warn&&e.error))throw new Error("Invalid logger");Ro=e}static debug(...e){Oo>=4&&Ro.debug.apply(Ro,Array.from(e))}static info(...e){Oo>=3&&Ro.info.apply(Ro,Array.from(e))}static warn(...e){Oo>=2&&Ro.warn.apply(Ro,Array.from(e))}static error(...e){Oo>=1&&Ro.error.apply(Ro,Array.from(e))}}Mo.reset();class Lo{getEpochTime(){return Promise.resolve(Date.now()/1e3|0)}}const Bo={setInterval:function(e,t){return setInterval(e,t)},clearInterval:function(e){return clearInterval(e)}};let zo=!1,jo=null;class Ho{static _testing(){zo=!0}static get location(){if(!zo)return location}static get localStorage(){if(!zo&&"undefined"!=typeof window)return localStorage}static get sessionStorage(){if(!zo&&"undefined"!=typeof window)return sessionStorage}static setXMLHttpRequest(e){jo=e}static get XMLHttpRequest(){if(!zo&&"undefined"!=typeof window)return jo||XMLHttpRequest}static get timer(){if(!zo)return Bo}}class Uo{constructor({prefix:e="oidc.",store:t=Ho.localStorage}={}){this._store=t,this._prefix=e}set(e,t){return Mo.debug("WebStorageStateStore.set",e),e=this._prefix+e,this._store.setItem(e,t),Promise.resolve()}get(e){Mo.debug("WebStorageStateStore.get",e),e=this._prefix+e;let t=this._store.getItem(e);return Promise.resolve(t)}remove(e){Mo.debug("WebStorageStateStore.remove",e),e=this._prefix+e;let t=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(t)}getAllKeys(){Mo.debug("WebStorageStateStore.getAllKeys");var e=[];for(let t=0;t<this._store.length;t++){let i=this._store.key(t);0===i.indexOf(this._prefix)&&e.push(i.substr(this._prefix.length))}return Promise.resolve(e)}}class $o{constructor(e=null,t=Ho.XMLHttpRequest,i=null){e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),i&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=t,this._jwtHandler=i}getJson(e,t){if(!e)throw Mo.error("JsonService.getJson: No url passed"),new Error("url");return Mo.debug("JsonService.getJson, url: ",e),new Promise(((i,n)=>{var r=new this._XMLHttpRequest;r.open("GET",e);var s=this._contentTypes,o=this._jwtHandler;r.onload=function(){if(Mo.debug("JsonService.getJson: HTTP response received, status",r.status),200===r.status){var t=r.getResponseHeader("Content-Type");if(t){var a=s.find((e=>{if(t.startsWith(e))return!0}));if("application/jwt"==a)return void o(r).then(i,n);if(a)try{return void i(JSON.parse(r.responseText))}catch(e){return Mo.error("JsonService.getJson: Error parsing JSON response",e.message),void n(e)}}n(Error("Invalid response Content-Type: "+t+", from URL: "+e))}else n(Error(r.statusText+" ("+r.status+")"))},r.onerror=function(){Mo.error("JsonService.getJson: network error"),n(Error("Network Error"))},t&&(Mo.debug("JsonService.getJson: token passed, setting Authorization header"),r.setRequestHeader("Authorization","Bearer "+t)),r.send()}))}postForm(e,t,i){if(!e)throw Mo.error("JsonService.postForm: No url passed"),new Error("url");return Mo.debug("JsonService.postForm, url: ",e),new Promise(((n,r)=>{var s=new this._XMLHttpRequest;s.open("POST",e);var o=this._contentTypes;s.onload=function(){if(Mo.debug("JsonService.postForm: HTTP response received, status",s.status),200!==s.status){if(400===s.status)if(i=s.getResponseHeader("Content-Type"))if(o.find((e=>{if(i.startsWith(e))return!0})))try{var t=JSON.parse(s.responseText);if(t&&t.error)return Mo.error("JsonService.postForm: Error from server: ",t.error),void r(new Error(t.error))}catch(e){return Mo.error("JsonService.postForm: Error parsing JSON response",e.message),void r(e)}r(Error(s.statusText+" ("+s.status+")"))}else{var i;if((i=s.getResponseHeader("Content-Type"))&&o.find((e=>{if(i.startsWith(e))return!0})))try{return void n(JSON.parse(s.responseText))}catch(e){return Mo.error("JsonService.postForm: Error parsing JSON response",e.message),void r(e)}r(Error("Invalid response Content-Type: "+i+", from URL: "+e))}},s.onerror=function(){Mo.error("JsonService.postForm: network error"),r(Error("Network Error"))};let a="";for(let e in t){let i=t[e];i&&(a.length>0&&(a+="&"),a+=encodeURIComponent(e),a+="=",a+=encodeURIComponent(i))}s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==i&&s.setRequestHeader("Authorization","Basic "+btoa(i)),s.send(a)}))}}const Vo=".well-known/openid-configuration";class Wo{constructor(e,t=$o){if(!e)throw Mo.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new t(["application/jwk-set+json"])}get metadataUrl(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(Vo)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=Vo))),this._metadataUrl}resetSigningKeys(){this._settings=this._settings||{},this._settings.signingKeys=void 0}getMetadata(){return this._settings.metadata?(Mo.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(Mo.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((e=>{Mo.debug("MetadataService.getMetadata: json received");var t=this._settings.metadataSeed||{};return this._settings.metadata=Object.assign({},t,e),this._settings.metadata}))):(Mo.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))}getIssuer(){return this._getMetadataProperty("issuer")}getAuthorizationEndpoint(){return this._getMetadataProperty("authorization_endpoint")}getUserInfoEndpoint(){return this._getMetadataProperty("userinfo_endpoint")}getTokenEndpoint(e=!0){return this._getMetadataProperty("token_endpoint",e)}getCheckSessionIframe(){return this._getMetadataProperty("check_session_iframe",!0)}getEndSessionEndpoint(){return this._getMetadataProperty("end_session_endpoint",!0)}getRevocationEndpoint(){return this._getMetadataProperty("revocation_endpoint",!0)}getKeysEndpoint(){return this._getMetadataProperty("jwks_uri",!0)}_getMetadataProperty(e,t=!1){return Mo.debug("MetadataService.getMetadataProperty for: "+e),this.getMetadata().then((i=>{if(Mo.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===i[e]){if(!0===t)return void Mo.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+e);throw Mo.error("MetadataService.getMetadataProperty: Metadata does not contain property "+e),new Error("Metadata does not contain property "+e)}return i[e]}))}getSigningKeys(){return this._settings.signingKeys?(Mo.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((e=>(Mo.debug("MetadataService.getSigningKeys: jwks_uri received",e),this._jsonService.getJson(e).then((e=>{if(Mo.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw Mo.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return this._settings.signingKeys=e.keys,this._settings.signingKeys})))))}}var Go={userAgent:!1},qo={};if(void 0===Yo)var Yo={};Yo.lang={extend:function(e,t,i){if(!t||!e)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var n=function(){};if(n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t),i){var r;for(r in i)e.prototype[r]=i[r];var s=function(){},o=["toString","valueOf"];try{/MSIE/.test(Go.userAgent)&&(s=function(e,t){for(r=0;r<o.length;r+=1){var i=o[r],n=t[i];"function"==typeof n&&n!=Object.prototype[i]&&(e[i]=n)}})}catch(e){}s(e.prototype,i)}}};var Ko=Ko||function(e,t){var i={},n=i.lib={},r=n.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var i=new e;return t&&i.mixIn(t),i.hasOwnProperty("init")||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),s=n.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).stringify(this)},concat:function(e){var t=this.words,i=e.words,n=this.sigBytes,r=e.sigBytes;if(this.clamp(),n%4)for(var s=0;s<r;s++){var o=i[s>>>2]>>>24-s%4*8&255;t[n+s>>>2]|=o<<24-(n+s)%4*8}else for(s=0;s<r;s+=4)t[n+s>>>2]=i[s>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var i=[],n=0;n<t;n+=4)i.push(4294967296*e.random()|0);return new s.init(i,t)}}),o=i.enc={},a=o.Hex={stringify:function(e){for(var t=e.words,i=e.sigBytes,n=[],r=0;r<i;r++){var s=t[r>>>2]>>>24-r%4*8&255;n.push((s>>>4).toString(16)),n.push((15&s).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,i=[],n=0;n<t;n+=2)i[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new s.init(i,t/2)}},l=o.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,n=[],r=0;r<i;r++){var s=t[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(s))}return n.join("")},parse:function(e){for(var t=e.length,i=[],n=0;n<t;n++)i[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new s.init(i,t)}},d=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},c=n.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=d.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i=this._data,n=i.words,r=i.sigBytes,o=this.blockSize,a=r/(4*o),l=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,d=e.min(4*l,r);if(l){for(var c=0;c<l;c+=o)this._doProcessBlock(n,c);var h=n.splice(0,l);i.sigBytes-=d}return new s.init(h,d)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=c.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){c.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,i){return new e.init(i).finalize(t)}},_createHmacHelper:function(e){return function(t,i){return new h.HMAC.init(e,i).finalize(t)}}});var h=i.algo={};return i}(Math);!function(e){var t,i=(t=Ko).lib,n=i.Base,r=i.WordArray;(t=t.x64={}).Word=n.extend({init:function(e,t){this.high=e,this.low=t}}),t.WordArray=n.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,i=[],n=0;n<t;n++){var s=e[n];i.push(s.high),i.push(s.low)}return r.create(i,this.sigBytes)},clone:function(){for(var e=n.clone.call(this),t=e.words=this.words.slice(0),i=t.length,r=0;r<i;r++)t[r]=t[r].clone();return e}})}(),function(){var e=Ko,t=e.lib.WordArray;e.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,n=this._map;e.clamp(),e=[];for(var r=0;r<i;r+=3)for(var s=(t[r>>>2]>>>24-r%4*8&255)<<16|(t[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|t[r+2>>>2]>>>24-(r+2)%4*8&255,o=0;4>o&&r+.75*o<i;o++)e.push(n.charAt(s>>>6*(3-o)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var i=e.length,n=this._map;(r=n.charAt(64))&&(-1!=(r=e.indexOf(r))&&(i=r));for(var r=[],s=0,o=0;o<i;o++)if(o%4){var a=n.indexOf(e.charAt(o-1))<<o%4*2,l=n.indexOf(e.charAt(o))>>>6-o%4*2;r[s>>>2]|=(a|l)<<24-s%4*8,s++}return t.create(r,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(e){for(var t=Ko,i=(r=t.lib).WordArray,n=r.Hasher,r=t.algo,s=[],o=[],a=function(e){return 4294967296*(e-(0|e))|0},l=2,d=0;64>d;){var c;e:{c=l;for(var h=e.sqrt(c),u=2;u<=h;u++)if(!(c%u)){c=!1;break e}c=!0}c&&(8>d&&(s[d]=a(e.pow(l,.5))),o[d]=a(e.pow(l,1/3)),d++),l++}var p=[];r=r.SHA256=n.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,n=i[0],r=i[1],s=i[2],a=i[3],l=i[4],d=i[5],c=i[6],h=i[7],u=0;64>u;u++){if(16>u)p[u]=0|e[t+u];else{var g=p[u-15],m=p[u-2];p[u]=((g<<25|g>>>7)^(g<<14|g>>>18)^g>>>3)+p[u-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+p[u-16]}g=h+((l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25))+(l&d^~l&c)+o[u]+p[u],m=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&r^n&s^r&s),h=c,c=d,d=l,l=a+g|0,a=s,s=r,r=n,n=g+m|0}i[0]=i[0]+n|0,i[1]=i[1]+r|0,i[2]=i[2]+s|0,i[3]=i[3]+a|0,i[4]=i[4]+l|0,i[5]=i[5]+d|0,i[6]=i[6]+c|0,i[7]=i[7]+h|0},_doFinalize:function(){var t=this._data,i=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;return i[r>>>5]|=128<<24-r%32,i[14+(r+64>>>9<<4)]=e.floor(n/4294967296),i[15+(r+64>>>9<<4)]=n,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=n._createHelper(r),t.HmacSHA256=n._createHmacHelper(r)}(Math),function(){function e(){return n.create.apply(n,arguments)}for(var t=Ko,i=t.lib.Hasher,n=(s=t.x64).Word,r=s.WordArray,s=t.algo,o=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],a=[],l=0;80>l;l++)a[l]=e();s=s.SHA512=i.extend({_doReset:function(){this._hash=new r.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=(h=this._hash.words)[0],n=h[1],r=h[2],s=h[3],l=h[4],d=h[5],c=h[6],h=h[7],u=i.high,p=i.low,g=n.high,m=n.low,f=r.high,y=r.low,v=s.high,_=s.low,b=l.high,w=l.low,x=d.high,k=d.low,S=c.high,A=c.low,E=h.high,C=h.low,T=u,I=p,D=g,P=m,F=f,N=y,R=v,O=_,M=b,L=w,B=x,z=k,j=S,H=A,U=E,$=C,V=0;80>V;V++){var W=a[V];if(16>V)var G=W.high=0|e[t+2*V],q=W.low=0|e[t+2*V+1];else{G=((q=(G=a[V-15]).high)>>>1|(Y=G.low)<<31)^(q>>>8|Y<<24)^q>>>7;var Y=(Y>>>1|q<<31)^(Y>>>8|q<<24)^(Y>>>7|q<<25),K=((q=(K=a[V-2]).high)>>>19|(J=K.low)<<13)^(q<<3|J>>>29)^q>>>6,J=(J>>>19|q<<13)^(J<<3|q>>>29)^(J>>>6|q<<26),Z=(q=a[V-7]).high,Q=(X=a[V-16]).high,X=X.low;G=(G=(G=G+Z+((q=Y+q.low)>>>0<Y>>>0?1:0))+K+((q=q+J)>>>0<J>>>0?1:0))+Q+((q=q+X)>>>0<X>>>0?1:0);W.high=G,W.low=q}Z=M&B^~M&j,X=L&z^~L&H,W=T&D^T&F^D&F;var ee=I&P^I&N^P&N,te=(Y=(T>>>28|I<<4)^(T<<30|I>>>2)^(T<<25|I>>>7),K=(I>>>28|T<<4)^(I<<30|T>>>2)^(I<<25|T>>>7),(J=o[V]).high),ie=J.low;Q=U+((M>>>14|L<<18)^(M>>>18|L<<14)^(M<<23|L>>>9))+((J=$+((L>>>14|M<<18)^(L>>>18|M<<14)^(L<<23|M>>>9)))>>>0<$>>>0?1:0),U=j,$=H,j=B,H=z,B=M,z=L,M=R+(Q=(Q=(Q=Q+Z+((J=J+X)>>>0<X>>>0?1:0))+te+((J=J+ie)>>>0<ie>>>0?1:0))+G+((J=J+q)>>>0<q>>>0?1:0))+((L=O+J|0)>>>0<O>>>0?1:0)|0,R=F,O=N,F=D,N=P,D=T,P=I,T=Q+(W=Y+W+((q=K+ee)>>>0<K>>>0?1:0))+((I=J+q|0)>>>0<J>>>0?1:0)|0}p=i.low=p+I,i.high=u+T+(p>>>0<I>>>0?1:0),m=n.low=m+P,n.high=g+D+(m>>>0<P>>>0?1:0),y=r.low=y+N,r.high=f+F+(y>>>0<N>>>0?1:0),_=s.low=_+O,s.high=v+R+(_>>>0<O>>>0?1:0),w=l.low=w+L,l.high=b+M+(w>>>0<L>>>0?1:0),k=d.low=k+z,d.high=x+B+(k>>>0<z>>>0?1:0),A=c.low=A+H,c.high=S+j+(A>>>0<H>>>0?1:0),C=h.low=C+$,h.high=E+U+(C>>>0<$>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),t[31+(n+128>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=i._createHelper(s),t.HmacSHA512=i._createHmacHelper(s)}(),function(){var e=Ko,t=(r=e.x64).Word,i=r.WordArray,n=(r=e.algo).SHA512,r=r.SHA384=n.extend({_doReset:function(){this._hash=new i.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});e.SHA384=n._createHelper(r),e.HmacSHA384=n._createHmacHelper(r)}();var Jo,Zo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qo="=";function Xo(e){var t,i,n="";for(t=0;t+3<=e.length;t+=3)i=parseInt(e.substring(t,t+3),16),n+=Zo.charAt(i>>6)+Zo.charAt(63&i);for(t+1==e.length?(i=parseInt(e.substring(t,t+1),16),n+=Zo.charAt(i<<2)):t+2==e.length&&(i=parseInt(e.substring(t,t+2),16),n+=Zo.charAt(i>>2)+Zo.charAt((3&i)<<4));(3&n.length)>0;)n+=Qo;return n}function ea(e){var t,i,n,r="",s=0;for(t=0;t<e.length&&e.charAt(t)!=Qo;++t)(n=Zo.indexOf(e.charAt(t)))<0||(0==s?(r+=aa(n>>2),i=3&n,s=1):1==s?(r+=aa(i<<2|n>>4),i=15&n,s=2):2==s?(r+=aa(i),r+=aa(n>>2),i=3&n,s=3):(r+=aa(i<<2|n>>4),r+=aa(15&n),s=0));return 1==s&&(r+=aa(i<<2)),r}function ta(e,t,i){null!=e&&("number"==typeof e?this.fromNumber(e,t,i):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function ia(){return new ta(null)}"Microsoft Internet Explorer"==Go.appName?(ta.prototype.am=function(e,t,i,n,r,s){for(var o=32767&t,a=t>>15;--s>=0;){var l=32767&this[e],d=this[e++]>>15,c=a*l+d*o;r=((l=o*l+((32767&c)<<15)+i[n]+(1073741823&r))>>>30)+(c>>>15)+a*d+(r>>>30),i[n++]=1073741823&l}return r},Jo=30):"Netscape"!=Go.appName?(ta.prototype.am=function(e,t,i,n,r,s){for(;--s>=0;){var o=t*this[e++]+i[n]+r;r=Math.floor(o/67108864),i[n++]=67108863&o}return r},Jo=26):(ta.prototype.am=function(e,t,i,n,r,s){for(var o=16383&t,a=t>>14;--s>=0;){var l=16383&this[e],d=this[e++]>>14,c=a*l+d*o;r=((l=o*l+((16383&c)<<14)+i[n]+r)>>28)+(c>>14)+a*d,i[n++]=268435455&l}return r},Jo=28),ta.prototype.DB=Jo,ta.prototype.DM=(1<<Jo)-1,ta.prototype.DV=1<<Jo;ta.prototype.FV=Math.pow(2,52),ta.prototype.F1=52-Jo,ta.prototype.F2=2*Jo-52;var na,ra,sa="0123456789abcdefghijklmnopqrstuvwxyz",oa=new Array;for(na="0".charCodeAt(0),ra=0;ra<=9;++ra)oa[na++]=ra;for(na="a".charCodeAt(0),ra=10;ra<36;++ra)oa[na++]=ra;for(na="A".charCodeAt(0),ra=10;ra<36;++ra)oa[na++]=ra;function aa(e){return sa.charAt(e)}function la(e,t){var i=oa[e.charCodeAt(t)];return null==i?-1:i}function da(e){var t=ia();return t.fromInt(e),t}function ca(e){var t,i=1;return 0!=(t=e>>>16)&&(e=t,i+=16),0!=(t=e>>8)&&(e=t,i+=8),0!=(t=e>>4)&&(e=t,i+=4),0!=(t=e>>2)&&(e=t,i+=2),0!=(t=e>>1)&&(e=t,i+=1),i}function ha(e){this.m=e}function ua(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function pa(e,t){return e&t}function ga(e,t){return e|t}function ma(e,t){return e^t}function fa(e,t){return e&~t}function ya(e){if(0==e)return-1;var t=0;return 65535&e||(e>>=16,t+=16),255&e||(e>>=8,t+=8),15&e||(e>>=4,t+=4),3&e||(e>>=2,t+=2),1&e||++t,t}function va(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function _a(){}function ba(e){return e}function wa(e){this.r2=ia(),this.q3=ia(),ta.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}ha.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},ha.prototype.revert=function(e){return e},ha.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},ha.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},ha.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},ua.prototype.convert=function(e){var t=ia();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(ta.ZERO)>0&&this.m.subTo(t,t),t},ua.prototype.revert=function(e){var t=ia();return e.copyTo(t),this.reduce(t),t},ua.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var i=32767&e[t],n=i*this.mpl+((i*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[i=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[i]>=e.DV;)e[i]-=e.DV,e[++i]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},ua.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},ua.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},ta.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},ta.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},ta.prototype.fromString=function(e,t){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var n=e.length,r=!1,s=0;--n>=0;){var o=8==i?255&e[n]:la(e,n);o<0?"-"==e.charAt(n)&&(r=!0):(r=!1,0==s?this[this.t++]=o:s+i>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=i)>=this.DB&&(s-=this.DB))}8==i&&128&e[0]&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),r&&ta.ZERO.subTo(this,this)},ta.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},ta.prototype.dlShiftTo=function(e,t){var i;for(i=this.t-1;i>=0;--i)t[i+e]=this[i];for(i=e-1;i>=0;--i)t[i]=0;t.t=this.t+e,t.s=this.s},ta.prototype.drShiftTo=function(e,t){for(var i=e;i<this.t;++i)t[i-e]=this[i];t.t=Math.max(this.t-e,0),t.s=this.s},ta.prototype.lShiftTo=function(e,t){var i,n=e%this.DB,r=this.DB-n,s=(1<<r)-1,o=Math.floor(e/this.DB),a=this.s<<n&this.DM;for(i=this.t-1;i>=0;--i)t[i+o+1]=this[i]>>r|a,a=(this[i]&s)<<n;for(i=o-1;i>=0;--i)t[i]=0;t[o]=a,t.t=this.t+o+1,t.s=this.s,t.clamp()},ta.prototype.rShiftTo=function(e,t){t.s=this.s;var i=Math.floor(e/this.DB);if(i>=this.t)t.t=0;else{var n=e%this.DB,r=this.DB-n,s=(1<<n)-1;t[0]=this[i]>>n;for(var o=i+1;o<this.t;++o)t[o-i-1]|=(this[o]&s)<<r,t[o-i]=this[o]>>n;n>0&&(t[this.t-i-1]|=(this.s&s)<<r),t.t=this.t-i,t.clamp()}},ta.prototype.subTo=function(e,t){for(var i=0,n=0,r=Math.min(e.t,this.t);i<r;)n+=this[i]-e[i],t[i++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;i<this.t;)n+=this[i],t[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;i<e.t;)n-=e[i],t[i++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[i++]=this.DV+n:n>0&&(t[i++]=n),t.t=i,t.clamp()},ta.prototype.multiplyTo=function(e,t){var i=this.abs(),n=e.abs(),r=i.t;for(t.t=r+n.t;--r>=0;)t[r]=0;for(r=0;r<n.t;++r)t[r+i.t]=i.am(0,n[r],t,r,0,i.t);t.s=0,t.clamp(),this.s!=e.s&&ta.ZERO.subTo(t,t)},ta.prototype.squareTo=function(e){for(var t=this.abs(),i=e.t=2*t.t;--i>=0;)e[i]=0;for(i=0;i<t.t-1;++i){var n=t.am(i,t[i],e,2*i,0,1);(e[i+t.t]+=t.am(i+1,2*t[i],e,2*i+1,n,t.t-i-1))>=t.DV&&(e[i+t.t]-=t.DV,e[i+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(i,t[i],e,2*i,0,1)),e.s=0,e.clamp()},ta.prototype.divRemTo=function(e,t,i){var n=e.abs();if(!(n.t<=0)){var r=this.abs();if(r.t<n.t)return null!=t&&t.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=ia());var s=ia(),o=this.s,a=e.s,l=this.DB-ca(n[n.t-1]);l>0?(n.lShiftTo(l,s),r.lShiftTo(l,i)):(n.copyTo(s),r.copyTo(i));var d=s.t,c=s[d-1];if(0!=c){var h=c*(1<<this.F1)+(d>1?s[d-2]>>this.F2:0),u=this.FV/h,p=(1<<this.F1)/h,g=1<<this.F2,m=i.t,f=m-d,y=null==t?ia():t;for(s.dlShiftTo(f,y),i.compareTo(y)>=0&&(i[i.t++]=1,i.subTo(y,i)),ta.ONE.dlShiftTo(d,y),y.subTo(s,s);s.t<d;)s[s.t++]=0;for(;--f>=0;){var v=i[--m]==c?this.DM:Math.floor(i[m]*u+(i[m-1]+g)*p);if((i[m]+=s.am(0,v,i,f,0,d))<v)for(s.dlShiftTo(f,y),i.subTo(y,i);i[m]<--v;)i.subTo(y,i)}null!=t&&(i.drShiftTo(d,t),o!=a&&ta.ZERO.subTo(t,t)),i.t=d,i.clamp(),l>0&&i.rShiftTo(l,i),o<0&&ta.ZERO.subTo(i,i)}}},ta.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},ta.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},ta.prototype.exp=function(e,t){if(e>4294967295||e<1)return ta.ONE;var i=ia(),n=ia(),r=t.convert(this),s=ca(e)-1;for(r.copyTo(i);--s>=0;)if(t.sqrTo(i,n),(e&1<<s)>0)t.mulTo(n,r,i);else{var o=i;i=n,n=o}return t.revert(i)},ta.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var i,n=(1<<t)-1,r=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(i=this[o]>>a)>0&&(r=!0,s=aa(i));o>=0;)a<t?(i=(this[o]&(1<<a)-1)<<t-a,i|=this[--o]>>(a+=this.DB-t)):(i=this[o]>>(a-=t)&n,a<=0&&(a+=this.DB,--o)),i>0&&(r=!0),r&&(s+=aa(i));return r?s:"0"},ta.prototype.negate=function(){var e=ia();return ta.ZERO.subTo(this,e),e},ta.prototype.abs=function(){return this.s<0?this.negate():this},ta.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var i=this.t;if(0!=(t=i-e.t))return this.s<0?-t:t;for(;--i>=0;)if(0!=(t=this[i]-e[i]))return t;return 0},ta.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+ca(this[this.t-1]^this.s&this.DM)},ta.prototype.mod=function(e){var t=ia();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(ta.ZERO)>0&&e.subTo(t,t),t},ta.prototype.modPowInt=function(e,t){var i;return i=e<256||t.isEven()?new ha(t):new ua(t),this.exp(e,i)},ta.ZERO=da(0),ta.ONE=da(1),_a.prototype.convert=ba,_a.prototype.revert=ba,_a.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i)},_a.prototype.sqrTo=function(e,t){e.squareTo(t)},wa.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ia();return e.copyTo(t),this.reduce(t),t},wa.prototype.revert=function(e){return e},wa.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},wa.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},wa.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var xa=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],ka=(1<<26)/xa[xa.length-1];function Sa(){this.i=0,this.j=0,this.S=new Array}ta.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},ta.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),i=Math.pow(e,t),n=da(i),r=ia(),s=ia(),o="";for(this.divRemTo(n,r,s);r.signum()>0;)o=(i+s.intValue()).toString(e).substr(1)+o,r.divRemTo(n,r,s);return s.intValue().toString(e)+o},ta.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var i=this.chunkSize(t),n=Math.pow(t,i),r=!1,s=0,o=0,a=0;a<e.length;++a){var l=la(e,a);l<0?"-"==e.charAt(a)&&0==this.signum()&&(r=!0):(o=t*o+l,++s>=i&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0))}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),r&&ta.ZERO.subTo(this,this)},ta.prototype.fromNumber=function(e,t,i){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,i),this.testBit(e-1)||this.bitwiseTo(ta.ONE.shiftLeft(e-1),ga,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(ta.ONE.shiftLeft(e-1),this);else{var n=new Array,r=7&e;n.length=1+(e>>3),t.nextBytes(n),r>0?n[0]&=(1<<r)-1:n[0]=0,this.fromString(n,256)}},ta.prototype.bitwiseTo=function(e,t,i){var n,r,s=Math.min(e.t,this.t);for(n=0;n<s;++n)i[n]=t(this[n],e[n]);if(e.t<this.t){for(r=e.s&this.DM,n=s;n<this.t;++n)i[n]=t(this[n],r);i.t=this.t}else{for(r=this.s&this.DM,n=s;n<e.t;++n)i[n]=t(r,e[n]);i.t=e.t}i.s=t(this.s,e.s),i.clamp()},ta.prototype.changeBit=function(e,t){var i=ta.ONE.shiftLeft(e);return this.bitwiseTo(i,t,i),i},ta.prototype.addTo=function(e,t){for(var i=0,n=0,r=Math.min(e.t,this.t);i<r;)n+=this[i]+e[i],t[i++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;i<this.t;)n+=this[i],t[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;i<e.t;)n+=e[i],t[i++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[i++]=n:n<-1&&(t[i++]=this.DV+n),t.t=i,t.clamp()},ta.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},ta.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},ta.prototype.multiplyLowerTo=function(e,t,i){var n,r=Math.min(this.t+e.t,t);for(i.s=0,i.t=r;r>0;)i[--r]=0;for(n=i.t-this.t;r<n;++r)i[r+this.t]=this.am(0,e[r],i,r,0,this.t);for(n=Math.min(e.t,t);r<n;++r)this.am(0,e[r],i,r,0,t-r);i.clamp()},ta.prototype.multiplyUpperTo=function(e,t,i){--t;var n=i.t=this.t+e.t-t;for(i.s=0;--n>=0;)i[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)i[this.t+n-t]=this.am(t-n,e[n],i,0,0,this.t+n-t);i.clamp(),i.drShiftTo(1,i)},ta.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,i=this.s<0?e-1:0;if(this.t>0)if(0==t)i=this[0]%e;else for(var n=this.t-1;n>=0;--n)i=(t*i+this[n])%e;return i},ta.prototype.millerRabin=function(e){var t=this.subtract(ta.ONE),i=t.getLowestSetBit();if(i<=0)return!1;var n=t.shiftRight(i);(e=e+1>>1)>xa.length&&(e=xa.length);for(var r=ia(),s=0;s<e;++s){r.fromInt(xa[Math.floor(Math.random()*xa.length)]);var o=r.modPow(n,this);if(0!=o.compareTo(ta.ONE)&&0!=o.compareTo(t)){for(var a=1;a++<i&&0!=o.compareTo(t);)if(0==(o=o.modPowInt(2,this)).compareTo(ta.ONE))return!1;if(0!=o.compareTo(t))return!1}}return!0},ta.prototype.clone=function(){var e=ia();return this.copyTo(e),e},ta.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},ta.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},ta.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},ta.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},ta.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var i,n=this.DB-e*this.DB%8,r=0;if(e-- >0)for(n<this.DB&&(i=this[e]>>n)!=(this.s&this.DM)>>n&&(t[r++]=i|this.s<<this.DB-n);e>=0;)n<8?(i=(this[e]&(1<<n)-1)<<8-n,i|=this[--e]>>(n+=this.DB-8)):(i=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),128&i&&(i|=-256),0==r&&(128&this.s)!=(128&i)&&++r,(r>0||i!=this.s)&&(t[r++]=i);return t},ta.prototype.equals=function(e){return 0==this.compareTo(e)},ta.prototype.min=function(e){return this.compareTo(e)<0?this:e},ta.prototype.max=function(e){return this.compareTo(e)>0?this:e},ta.prototype.and=function(e){var t=ia();return this.bitwiseTo(e,pa,t),t},ta.prototype.or=function(e){var t=ia();return this.bitwiseTo(e,ga,t),t},ta.prototype.xor=function(e){var t=ia();return this.bitwiseTo(e,ma,t),t},ta.prototype.andNot=function(e){var t=ia();return this.bitwiseTo(e,fa,t),t},ta.prototype.not=function(){for(var e=ia(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e},ta.prototype.shiftLeft=function(e){var t=ia();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},ta.prototype.shiftRight=function(e){var t=ia();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},ta.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+ya(this[e]);return this.s<0?this.t*this.DB:-1},ta.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,i=0;i<this.t;++i)e+=va(this[i]^t);return e},ta.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<e%this.DB)},ta.prototype.setBit=function(e){return this.changeBit(e,ga)},ta.prototype.clearBit=function(e){return this.changeBit(e,fa)},ta.prototype.flipBit=function(e){return this.changeBit(e,ma)},ta.prototype.add=function(e){var t=ia();return this.addTo(e,t),t},ta.prototype.subtract=function(e){var t=ia();return this.subTo(e,t),t},ta.prototype.multiply=function(e){var t=ia();return this.multiplyTo(e,t),t},ta.prototype.divide=function(e){var t=ia();return this.divRemTo(e,t,null),t},ta.prototype.remainder=function(e){var t=ia();return this.divRemTo(e,null,t),t},ta.prototype.divideAndRemainder=function(e){var t=ia(),i=ia();return this.divRemTo(e,t,i),new Array(t,i)},ta.prototype.modPow=function(e,t){var i,n,r=e.bitLength(),s=da(1);if(r<=0)return s;i=r<18?1:r<48?3:r<144?4:r<768?5:6,n=r<8?new ha(t):t.isEven()?new wa(t):new ua(t);var o=new Array,a=3,l=i-1,d=(1<<i)-1;if(o[1]=n.convert(this),i>1){var c=ia();for(n.sqrTo(o[1],c);a<=d;)o[a]=ia(),n.mulTo(c,o[a-2],o[a]),a+=2}var h,u,p=e.t-1,g=!0,m=ia();for(r=ca(e[p])-1;p>=0;){for(r>=l?h=e[p]>>r-l&d:(h=(e[p]&(1<<r+1)-1)<<l-r,p>0&&(h|=e[p-1]>>this.DB+r-l)),a=i;!(1&h);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--p),g)o[h].copyTo(s),g=!1;else{for(;a>1;)n.sqrTo(s,m),n.sqrTo(m,s),a-=2;a>0?n.sqrTo(s,m):(u=s,s=m,m=u),n.mulTo(m,o[h],s)}for(;p>=0&&!(e[p]&1<<r);)n.sqrTo(s,m),u=s,s=m,m=u,--r<0&&(r=this.DB-1,--p)}return n.revert(s)},ta.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return ta.ZERO;for(var i=e.clone(),n=this.clone(),r=da(1),s=da(0),o=da(0),a=da(1);0!=i.signum();){for(;i.isEven();)i.rShiftTo(1,i),t?(r.isEven()&&s.isEven()||(r.addTo(this,r),s.subTo(e,s)),r.rShiftTo(1,r)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?(o.isEven()&&a.isEven()||(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);i.compareTo(n)>=0?(i.subTo(n,i),t&&r.subTo(o,r),s.subTo(a,s)):(n.subTo(i,n),t&&o.subTo(r,o),a.subTo(s,a))}return 0!=n.compareTo(ta.ONE)?ta.ZERO:a.compareTo(e)>=0?a.subtract(e):a.signum()<0?(a.addTo(e,a),a.signum()<0?a.add(e):a):a},ta.prototype.pow=function(e){return this.exp(e,new _a)},ta.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),i=e.s<0?e.negate():e.clone();if(t.compareTo(i)<0){var n=t;t=i,i=n}var r=t.getLowestSetBit(),s=i.getLowestSetBit();if(s<0)return t;for(r<s&&(s=r),s>0&&(t.rShiftTo(s,t),i.rShiftTo(s,i));t.signum()>0;)(r=t.getLowestSetBit())>0&&t.rShiftTo(r,t),(r=i.getLowestSetBit())>0&&i.rShiftTo(r,i),t.compareTo(i)>=0?(t.subTo(i,t),t.rShiftTo(1,t)):(i.subTo(t,i),i.rShiftTo(1,i));return s>0&&i.lShiftTo(s,i),i},ta.prototype.isProbablePrime=function(e){var t,i=this.abs();if(1==i.t&&i[0]<=xa[xa.length-1]){for(t=0;t<xa.length;++t)if(i[0]==xa[t])return!0;return!1}if(i.isEven())return!1;for(t=1;t<xa.length;){for(var n=xa[t],r=t+1;r<xa.length&&n<ka;)n*=xa[r++];for(n=i.modInt(n);t<r;)if(n%xa[t++]==0)return!1}return i.millerRabin(e)},ta.prototype.square=function(){var e=ia();return this.squareTo(e),e},Sa.prototype.init=function(e){var t,i,n;for(t=0;t<256;++t)this.S[t]=t;for(i=0,t=0;t<256;++t)i=i+this.S[t]+e[t%e.length]&255,n=this.S[t],this.S[t]=this.S[i],this.S[i]=n;this.i=0,this.j=0},Sa.prototype.next=function(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]};var Aa,Ea,Ca,Ta=256;function Ia(){!function(e){Ea[Ca++]^=255&e,Ea[Ca++]^=e>>8&255,Ea[Ca++]^=e>>16&255,Ea[Ca++]^=e>>24&255,Ca>=Ta&&(Ca-=Ta)}((new Date).getTime())}if(null==Ea){var Da;if(Ea=new Array,Ca=0,void 0!==qo&&(void 0!==qo.crypto||void 0!==qo.msCrypto)){var Pa=qo.crypto||qo.msCrypto;if(Pa.getRandomValues){var Fa=new Uint8Array(32);for(Pa.getRandomValues(Fa),Da=0;Da<32;++Da)Ea[Ca++]=Fa[Da]}else if("Netscape"==Go.appName&&Go.appVersion<"5"){var Na=qo.crypto.random(32);for(Da=0;Da<Na.length;++Da)Ea[Ca++]=255&Na.charCodeAt(Da)}}for(;Ca<Ta;)Da=Math.floor(65536*Math.random()),Ea[Ca++]=Da>>>8,Ea[Ca++]=255&Da;Ca=0,Ia()}function Ra(){if(null==Aa){for(Ia(),(Aa=new Sa).init(Ea),Ca=0;Ca<Ea.length;++Ca)Ea[Ca]=0;Ca=0}return Aa.next()}function Oa(){}function Ma(e,t){return new ta(e,t)}function La(e,t,i){for(var n="",r=0;n.length<t;)n+=i(String.fromCharCode.apply(String,e.concat([(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r]))),r+=1;return n}function Ba(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function za(e,t){this.x=t,this.q=e}function ja(e,t,i,n){this.curve=e,this.x=t,this.y=i,this.z=null==n?ta.ONE:n,this.zinv=null}function Ha(e,t,i){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(i),this.infinity=new ja(this,null,null)}Oa.prototype.nextBytes=function(e){var t;for(t=0;t<e.length;++t)e[t]=Ra()},Ba.prototype.doPublic=function(e){return e.modPowInt(this.e,this.n)},Ba.prototype.setPublic=function(e,t){if(this.isPublic=!0,this.isPrivate=!1,"string"!=typeof e)this.n=e,this.e=t;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA public key";this.n=Ma(e,16),this.e=parseInt(t,16)}},Ba.prototype.encrypt=function(e){var t=function(e,t){if(t<e.length+11)throw"Message too long for RSA";for(var i=new Array,n=e.length-1;n>=0&&t>0;){var r=e.charCodeAt(n--);r<128?i[--t]=r:r>127&&r<2048?(i[--t]=63&r|128,i[--t]=r>>6|192):(i[--t]=63&r|128,i[--t]=r>>6&63|128,i[--t]=r>>12|224)}i[--t]=0;for(var s=new Oa,o=new Array;t>2;){for(o[0]=0;0==o[0];)s.nextBytes(o);i[--t]=o[0]}return i[--t]=2,i[--t]=0,new ta(i)}(e,this.n.bitLength()+7>>3);if(null==t)return null;var i=this.doPublic(t);if(null==i)return null;var n=i.toString(16);return 1&n.length?"0"+n:n},Ba.prototype.encryptOAEP=function(e,t,i){var n=function(e,t,i,n){var r=$a.crypto.MessageDigest,s=$a.crypto.Util,o=null;if(i||(i="sha1"),"string"==typeof i&&(o=r.getCanonicalAlgName(i),n=r.getHashLength(o),i=function(e){return tl(s.hashHex(il(e),o))}),e.length+2*n+2>t)throw"Message too long for RSA";var a,l="";for(a=0;a<t-e.length-2*n-2;a+=1)l+="\0";var d=i("")+l+""+e,c=new Array(n);(new Oa).nextBytes(c);var h=La(c,d.length,i),u=[];for(a=0;a<d.length;a+=1)u[a]=d.charCodeAt(a)^h.charCodeAt(a);var p=La(u,c.length,i),g=[0];for(a=0;a<c.length;a+=1)g[a+1]=c[a]^p.charCodeAt(a);return new ta(g.concat(u))}(e,this.n.bitLength()+7>>3,t,i);if(null==n)return null;var r=this.doPublic(n);if(null==r)return null;var s=r.toString(16);return 1&s.length?"0"+s:s},Ba.prototype.type="RSA",za.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.x.equals(e.x)},za.prototype.toBigInteger=function(){return this.x},za.prototype.negate=function(){return new za(this.q,this.x.negate().mod(this.q))},za.prototype.add=function(e){return new za(this.q,this.x.add(e.toBigInteger()).mod(this.q))},za.prototype.subtract=function(e){return new za(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))},za.prototype.multiply=function(e){return new za(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))},za.prototype.square=function(){return new za(this.q,this.x.square().mod(this.q))},za.prototype.divide=function(e){return new za(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))},ja.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},ja.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},ja.prototype.equals=function(e){return e==this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():!!e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(ta.ZERO)&&e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(ta.ZERO))},ja.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(ta.ZERO)&&!this.y.toBigInteger().equals(ta.ZERO)},ja.prototype.negate=function(){return new ja(this.curve,this.x,this.y.negate(),this.z)},ja.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),i=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);if(ta.ZERO.equals(i))return ta.ZERO.equals(t)?this.twice():this.curve.getInfinity();var n=new ta("3"),r=this.x.toBigInteger(),s=this.y.toBigInteger();e.x.toBigInteger(),e.y.toBigInteger();var o=i.square(),a=o.multiply(i),l=r.multiply(o),d=t.square().multiply(this.z),c=d.subtract(l.shiftLeft(1)).multiply(e.z).subtract(a).multiply(i).mod(this.curve.q),h=l.multiply(n).multiply(t).subtract(s.multiply(a)).subtract(d.multiply(t)).multiply(e.z).add(t.multiply(a)).mod(this.curve.q),u=a.multiply(this.z).multiply(e.z).mod(this.curve.q);return new ja(this.curve,this.curve.fromBigInteger(c),this.curve.fromBigInteger(h),u)},ja.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=new ta("3"),t=this.x.toBigInteger(),i=this.y.toBigInteger(),n=i.multiply(this.z),r=n.multiply(i).mod(this.curve.q),s=this.curve.a.toBigInteger(),o=t.square().multiply(e);ta.ZERO.equals(s)||(o=o.add(this.z.square().multiply(s)));var a=(o=o.mod(this.curve.q)).square().subtract(t.shiftLeft(3).multiply(r)).shiftLeft(1).multiply(n).mod(this.curve.q),l=o.multiply(e).multiply(t).subtract(r.shiftLeft(1)).shiftLeft(2).multiply(r).subtract(o.square().multiply(o)).mod(this.curve.q),d=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new ja(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(l),d)},ja.prototype.multiply=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,i=e,n=i.multiply(new ta("3")),r=this.negate(),s=this,o=this.curve.q.subtract(e),a=o.multiply(new ta("3")),l=new ja(this.curve,this.x,this.y),d=l.negate();for(t=n.bitLength()-2;t>0;--t){s=s.twice();var c=n.testBit(t);c!=i.testBit(t)&&(s=s.add(c?this:r))}for(t=a.bitLength()-2;t>0;--t){l=l.twice();var h=a.testBit(t);h!=o.testBit(t)&&(l=l.add(h?l:d))}return s},ja.prototype.multiplyTwo=function(e,t,i){var n;n=e.bitLength()>i.bitLength()?e.bitLength()-1:i.bitLength()-1;for(var r=this.curve.getInfinity(),s=this.add(t);n>=0;)r=r.twice(),e.testBit(n)?r=i.testBit(n)?r.add(s):r.add(this):i.testBit(n)&&(r=r.add(t)),--n;return r},Ha.prototype.getQ=function(){return this.q},Ha.prototype.getA=function(){return this.a},Ha.prototype.getB=function(){return this.b},Ha.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)},Ha.prototype.getInfinity=function(){return this.infinity},Ha.prototype.fromBigInteger=function(e){return new za(this.q,e)},Ha.prototype.decodePointHex=function(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var t=(e.length-2)/2,i=e.substr(2,t),n=e.substr(t+2,t);return new ja(this,this.fromBigInteger(new ta(i,16)),this.fromBigInteger(new ta(n,16)))}},za.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},ja.prototype.getEncoded=function(e){var t=function(e,t){var i=e.toByteArrayUnsigned();if(t<i.length)i=i.slice(i.length-t);else for(;t>i.length;)i.unshift(0);return i},i=this.getX().toBigInteger(),n=this.getY().toBigInteger(),r=t(i,32);return e?n.isEven()?r.unshift(2):r.unshift(3):(r.unshift(4),r=r.concat(t(n,32))),r},ja.decodeFrom=function(e,t){t[0];var i=t.length-1,n=t.slice(1,1+i/2),r=t.slice(1+i/2,1+i);n.unshift(0),r.unshift(0);var s=new ta(n),o=new ta(r);return new ja(e,e.fromBigInteger(s),e.fromBigInteger(o))},ja.decodeFromHex=function(e,t){t.substr(0,2);var i=t.length-2,n=t.substr(2,i/2),r=t.substr(2+i/2,i/2),s=new ta(n,16),o=new ta(r,16);return new ja(e,e.fromBigInteger(s),e.fromBigInteger(o))},ja.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),i=e.y.subtract(this.y).divide(t),n=i.square().subtract(this.x).subtract(e.x),r=i.multiply(this.x.subtract(n)).subtract(this.y);return new ja(this.curve,n,r)},ja.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=this.curve.fromBigInteger(ta.valueOf(2)),t=this.curve.fromBigInteger(ta.valueOf(3)),i=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=i.square().subtract(this.x.multiply(e)),r=i.multiply(this.x.subtract(n)).subtract(this.y);return new ja(this.curve,n,r)},ja.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,i=e,n=i.multiply(new ta("3")),r=this.negate(),s=this;for(t=n.bitLength()-2;t>0;--t){s=s.twice();var o=n.testBit(t);o!=i.testBit(t)&&(s=s.add2D(o?this:r))}return s},ja.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),i=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),r=this.curve.getQ(),s=t.multiply(t).mod(r),o=e.multiply(e).multiply(e).add(i.multiply(e)).add(n).mod(r);return s.equals(o)},ja.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},ja.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),i=this.getY().toBigInteger();if(t.compareTo(ta.ONE)<0||t.compareTo(e.subtract(ta.ONE))>0)throw new Error("x coordinate out of bounds");if(i.compareTo(ta.ONE)<0||i.compareTo(e.subtract(ta.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var Ua=function(){var e=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),t=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),i={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function n(e,t,n){return t?i[t]:String.fromCharCode(parseInt(n,16))}var r=new String(""),s=Object.hasOwnProperty;return function(i,o){var a,l,d=i.match(e),c=d[0],h=!1;"{"===c?a={}:"["===c?a=[]:(a=[],h=!0);for(var u=[a],p=1-h,g=d.length;p<g;++p){var m;switch((c=d[p]).charCodeAt(0)){default:(m=u[0])[l||m.length]=+c,l=void 0;break;case 34:if(-1!==(c=c.substring(1,c.length-1)).indexOf("\\")&&(c=c.replace(t,n)),m=u[0],!l){if(!(m instanceof Array)){l=c||r;break}l=m.length}m[l]=c,l=void 0;break;case 91:m=u[0],u.unshift(m[l||m.length]=[]),l=void 0;break;case 93:case 125:u.shift();break;case 102:(m=u[0])[l||m.length]=!1,l=void 0;break;case 110:(m=u[0])[l||m.length]=null,l=void 0;break;case 116:(m=u[0])[l||m.length]=!0,l=void 0;break;case 123:m=u[0],u.unshift(m[l||m.length]={}),l=void 0}}if(h){if(1!==u.length)throw new Error;a=a[0]}else if(u.length)throw new Error;if(o){var f=function(e,t){var i=e[t];if(i&&"object"==typeof i){var n=null;for(var r in i)if(s.call(i,r)&&i!==e){var a=f(i,r);void 0!==a?i[r]=a:(n||(n=[]),n.push(r))}if(n)for(var l=n.length;--l>=0;)delete i[n[l]]}return o.call(e,t,i)};a=f({"":a},"")}return a}}();void 0!==$a&&$a||($a={}),void 0!==$a.asn1&&$a.asn1||($a.asn1={}),$a.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var i=t.substr(1).length;i%2==1?i+=1:t.match(/^[0-7]/)||(i+=2);for(var n="",r=0;r<i;r++)n+="f";t=new ta(n,16).xor(e).add(ta.ONE).toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(e,t){return rl(e,t)},this.newObject=function(e){var t=$a.asn1,i=t.ASN1Object,n=t.DERBoolean,r=t.DERInteger,s=t.DERBitString,o=t.DEROctetString,a=t.DERNull,l=t.DERObjectIdentifier,d=t.DEREnumerated,c=t.DERUTF8String,h=t.DERNumericString,u=t.DERPrintableString,p=t.DERTeletexString,g=t.DERIA5String,m=t.DERUTCTime,f=t.DERGeneralizedTime,y=t.DERVisibleString,v=t.DERBMPString,_=t.DERSequence,b=t.DERSet,w=t.DERTaggedObject,x=t.ASN1Util.newObject;if(e instanceof t.ASN1Object)return e;var k=Object.keys(e);if(1!=k.length)throw new Error("key of param shall be only one.");var S=k[0];if(-1==":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+S+":"))throw new Error("undefined key: "+S);if("bool"==S)return new n(e[S]);if("int"==S)return new r(e[S]);if("bitstr"==S)return new s(e[S]);if("octstr"==S)return new o(e[S]);if("null"==S)return new a(e[S]);if("oid"==S)return new l(e[S]);if("enum"==S)return new d(e[S]);if("utf8str"==S)return new c(e[S]);if("numstr"==S)return new h(e[S]);if("prnstr"==S)return new u(e[S]);if("telstr"==S)return new p(e[S]);if("ia5str"==S)return new g(e[S]);if("utctime"==S)return new m(e[S]);if("gentime"==S)return new f(e[S]);if("visstr"==S)return new y(e[S]);if("bmpstr"==S)return new v(e[S]);if("asn1"==S)return new i(e[S]);if("seq"==S){for(var A=e[S],E=[],C=0;C<A.length;C++){var T=x(A[C]);E.push(T)}return new _({array:E})}if("set"==S){for(A=e[S],E=[],C=0;C<A.length;C++){T=x(A[C]);E.push(T)}return new b({array:E})}if("tag"==S){var I=e[S];if("[object Array]"===Object.prototype.toString.call(I)&&3==I.length){var D=x(I[2]);return new w({tag:I[0],explicit:I[1],obj:D})}return new w(I)}},this.jsonToASN1HEX=function(e){return this.newObject(e).getEncodedHex()}},$a.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",i=parseInt(e.substr(0,2),16),n=(t=Math.floor(i/40)+"."+i%40,""),r=2;r<e.length;r+=2){var s=("00000000"+parseInt(e.substr(r,2),16).toString(2)).slice(-8);if(n+=s.substr(1,7),"0"==s.substr(0,1))t=t+"."+new ta(n,2).toString(10),n=""}return t},$a.asn1.ASN1Util.oidIntToHex=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},i=function(e){var i="",n=new ta(e,10).toString(2),r=7-n.length%7;7==r&&(r=0);for(var s="",o=0;o<r;o++)s+="0";n=s+n;for(o=0;o<n.length-1;o+=7){var a=n.substr(o,7);o!=n.length-7&&(a="1"+a),i+=t(parseInt(a,2))}return i};if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var n="",r=e.split("."),s=40*parseInt(r[0])+parseInt(r[1]);n+=t(s),r.splice(0,2);for(var o=0;o<r.length;o++)n+=i(r[o]);return n},$a.asn1.ASN1Object=function(e){this.params=null,this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n=0,v="+this.hV);var e=this.hV.length/2,t=e.toString(16);if(t.length%2==1&&(t="0"+t),e<128)return t;var i=t.length/2;if(i>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+i).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(e){this.params=e},null!=e&&null!=e.tlv&&(this.hTLV=e.tlv,this.isModified=!1)},$a.asn1.DERAbstractString=function(e){$a.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=Xa(this.s).toLowerCase()},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?this.setString(e):void 0!==e.str?this.setString(e.str):void 0!==e.hex&&this.setStringHex(e.hex))},Yo.lang.extend($a.asn1.DERAbstractString,$a.asn1.ASN1Object),$a.asn1.DERAbstractTime=function(e){$a.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(e){var t=e.getTime()+6e4*e.getTimezoneOffset();return new Date(t)},this.formatDate=function(e,t,i){var n=this.zeroPadding,r=this.localDateToUTC(e),s=String(r.getFullYear());"utc"==t&&(s=s.substr(2,2));var o=s+n(String(r.getMonth()+1),2)+n(String(r.getDate()),2)+n(String(r.getHours()),2)+n(String(r.getMinutes()),2)+n(String(r.getSeconds()),2);if(!0===i){var a=r.getMilliseconds();if(0!=a){var l=n(String(a),3);o=o+"."+(l=l.replace(/[0]+$/,""))}}return o+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=Ya(e)},this.setByDateValue=function(e,t,i,n,r,s){var o=new Date(Date.UTC(e,t-1,i,n,r,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},Yo.lang.extend($a.asn1.DERAbstractTime,$a.asn1.ASN1Object),$a.asn1.DERAbstractStructured=function(e){$a.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,void 0!==e&&void 0!==e.array&&(this.asn1Array=e.array)},Yo.lang.extend($a.asn1.DERAbstractStructured,$a.asn1.ASN1Object),$a.asn1.DERBoolean=function(e){$a.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==e?"010100":"0101ff"},Yo.lang.extend($a.asn1.DERBoolean,$a.asn1.ASN1Object),$a.asn1.DERInteger=function(e){$a.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=$a.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new ta(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.bigint?this.setByBigInteger(e.bigint):void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},Yo.lang.extend($a.asn1.DERInteger,$a.asn1.ASN1Object),$a.asn1.DERBitString=function(e){if(void 0!==e&&void 0!==e.obj){var t=$a.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}$a.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7<e)throw"unused bits shall be from 0 to 7: u = "+e;var i="0"+e;this.hTLV=null,this.isModified=!0,this.hV=i+t},this.setByBinaryString=function(e){var t=8-(e=e.replace(/0+$/,"")).length%8;8==t&&(t=0);for(var i=0;i<=t;i++)e+="0";var n="";for(i=0;i<e.length-1;i+=8){var r=e.substr(i,8),s=parseInt(r,2).toString(16);1==s.length&&(s="0"+s),n+=s}this.hTLV=null,this.isModified=!0,this.hV="0"+t+n},this.setByBooleanArray=function(e){for(var t="",i=0;i<e.length;i++)1==e[i]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(e){for(var t=new Array(e),i=0;i<e;i++)t[i]=!1;return t},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e&&e.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(e):void 0!==e.hex?this.setHexValueIncludingUnusedBits(e.hex):void 0!==e.bin?this.setByBinaryString(e.bin):void 0!==e.array&&this.setByBooleanArray(e.array))},Yo.lang.extend($a.asn1.DERBitString,$a.asn1.ASN1Object),$a.asn1.DEROctetString=function(e){if(void 0!==e&&void 0!==e.obj){var t=$a.asn1.ASN1Util.newObject(e.obj);e.hex=t.getEncodedHex()}$a.asn1.DEROctetString.superclass.constructor.call(this,e),this.hT="04"},Yo.lang.extend($a.asn1.DEROctetString,$a.asn1.DERAbstractString),$a.asn1.DERNull=function(){$a.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},Yo.lang.extend($a.asn1.DERNull,$a.asn1.ASN1Object),$a.asn1.DERObjectIdentifier=function(e){$a.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueOidString=function(e){var t=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},i=function(e){var i="",n=parseInt(e,10).toString(2),r=7-n.length%7;7==r&&(r=0);for(var s="",o=0;o<r;o++)s+="0";n=s+n;for(o=0;o<n.length-1;o+=7){var a=n.substr(o,7);o!=n.length-7&&(a="1"+a),i+=t(parseInt(a,2))}return i};try{if(!e.match(/^[0-9.]+$/))return null;var n="",r=e.split("."),s=40*parseInt(r[0],10)+parseInt(r[1],10);n+=t(s),r.splice(0,2);for(var o=0;o<r.length;o++)n+=i(r[o]);return n}catch(e){return null}}(e);if(null==t)throw new Error("malformed oid string: "+e);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueName=function(e){var t=$a.asn1.x509.OID.name2oid(e);if(""===t)throw new Error("DERObjectIdentifier oidName undefined: "+e);this.setValueOidString(t)},this.setValueNameOrOid=function(e){e.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(e):this.setValueName(e)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(e){"string"==typeof e?this.setValueNameOrOid(e):void 0!==e.oid?this.setValueNameOrOid(e.oid):void 0!==e.name?this.setValueNameOrOid(e.name):void 0!==e.hex&&this.setValueHex(e.hex)},void 0!==e&&this.setByParam(e)},Yo.lang.extend($a.asn1.DERObjectIdentifier,$a.asn1.ASN1Object),$a.asn1.DEREnumerated=function(e){$a.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=$a.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new ta(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},Yo.lang.extend($a.asn1.DEREnumerated,$a.asn1.ASN1Object),$a.asn1.DERUTF8String=function(e){$a.asn1.DERUTF8String.superclass.constructor.call(this,e),this.hT="0c"},Yo.lang.extend($a.asn1.DERUTF8String,$a.asn1.DERAbstractString),$a.asn1.DERNumericString=function(e){$a.asn1.DERNumericString.superclass.constructor.call(this,e),this.hT="12"},Yo.lang.extend($a.asn1.DERNumericString,$a.asn1.DERAbstractString),$a.asn1.DERPrintableString=function(e){$a.asn1.DERPrintableString.superclass.constructor.call(this,e),this.hT="13"},Yo.lang.extend($a.asn1.DERPrintableString,$a.asn1.DERAbstractString),$a.asn1.DERTeletexString=function(e){$a.asn1.DERTeletexString.superclass.constructor.call(this,e),this.hT="14"},Yo.lang.extend($a.asn1.DERTeletexString,$a.asn1.DERAbstractString),$a.asn1.DERIA5String=function(e){$a.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="16"},Yo.lang.extend($a.asn1.DERIA5String,$a.asn1.DERAbstractString),$a.asn1.DERVisibleString=function(e){$a.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="1a"},Yo.lang.extend($a.asn1.DERVisibleString,$a.asn1.DERAbstractString),$a.asn1.DERBMPString=function(e){$a.asn1.DERBMPString.superclass.constructor.call(this,e),this.hT="1e"},Yo.lang.extend($a.asn1.DERBMPString,$a.asn1.DERAbstractString),$a.asn1.DERUTCTime=function(e){$a.asn1.DERUTCTime.superclass.constructor.call(this,e),this.hT="17",this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"utc"),this.hV=Ya(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=Ya(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{12}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date))},Yo.lang.extend($a.asn1.DERUTCTime,$a.asn1.DERAbstractTime),$a.asn1.DERGeneralizedTime=function(e){$a.asn1.DERGeneralizedTime.superclass.constructor.call(this,e),this.hT="18",this.withMillis=!1,this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=Ya(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=Ya(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{14}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date),!0===e.millis&&(this.withMillis=!0))},Yo.lang.extend($a.asn1.DERGeneralizedTime,$a.asn1.DERAbstractTime),$a.asn1.DERSequence=function(e){$a.asn1.DERSequence.superclass.constructor.call(this,e),this.hT="30",this.getFreshValueHex=function(){for(var e="",t=0;t<this.asn1Array.length;t++){e+=this.asn1Array[t].getEncodedHex()}return this.hV=e,this.hV}},Yo.lang.extend($a.asn1.DERSequence,$a.asn1.DERAbstractStructured),$a.asn1.DERSet=function(e){$a.asn1.DERSet.superclass.constructor.call(this,e),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var e=new Array,t=0;t<this.asn1Array.length;t++){var i=this.asn1Array[t];e.push(i.getEncodedHex())}return 1==this.sortFlag&&e.sort(),this.hV=e.join(""),this.hV},void 0!==e&&void 0!==e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},Yo.lang.extend($a.asn1.DERSet,$a.asn1.DERAbstractStructured),$a.asn1.DERTaggedObject=function(e){$a.asn1.DERTaggedObject.superclass.constructor.call(this);var t=$a.asn1;this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(e,t,i){this.hT=t,this.isExplicit=e,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(e){null!=e.tag&&(this.hT=e.tag),null!=e.explicit&&(this.isExplicit=e.explicit),null!=e.tage&&(this.hT=e.tage,this.isExplicit=!0),null!=e.tagi&&(this.hT=e.tagi,this.isExplicit=!1),null!=e.obj&&(e.obj instanceof t.ASN1Object?(this.asn1Object=e.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)):"object"==typeof e.obj&&(this.asn1Object=t.ASN1Util.newObject(e.obj),this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},null!=e&&this.setByParam(e)},Yo.lang.extend($a.asn1.DERTaggedObject,$a.asn1.ASN1Object);var $a,Va,Wa,Ga=new function(){};function qa(e){for(var t="",i=0;i<e.length;i++){var n=e[i].toString(16);1==n.length&&(n="0"+n),t+=n}return t}function Ya(e){return qa(function(e){for(var t=new Array,i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}(e))}function Ka(e){return e=(e=(e=e.replace(/\=/g,"")).replace(/\+/g,"-")).replace(/\//g,"_")}function Ja(e){return e.length%4==2?e+="==":e.length%4==3&&(e+="="),e=(e=e.replace(/-/g,"+")).replace(/_/g,"/")}function Za(e){return e.length%2==1&&(e="0"+e),Ka(Xo(e))}function Qa(e){return ea(Ja(e))}function Xa(e){return al(cl(e))}function el(e){return decodeURIComponent(ll(e))}function tl(e){for(var t="",i=0;i<e.length-1;i+=2)t+=String.fromCharCode(parseInt(e.substr(i,2),16));return t}function il(e){for(var t="",i=0;i<e.length;i++)t+=("0"+e.charCodeAt(i).toString(16)).slice(-2);return t}function nl(e){var t=function(e){return Xo(e)}(e).replace(/(.{64})/g,"$1\r\n");return t=t.replace(/\r\n$/,"")}function rl(e,t){return"-----BEGIN "+t+"-----\r\n"+nl(e)+"\r\n-----END "+t+"-----\r\n"}function sl(e,t){if(-1==e.indexOf("-----BEGIN "))throw"can't find PEM header: "+t;return function(e){return ea(e.replace(/[^0-9A-Za-z\/+=]*/g,""))}(e=void 0!==t?(e=e.replace(new RegExp("^[^]*-----BEGIN "+t+"-----"),"")).replace(new RegExp("-----END "+t+"-----[^]*$"),""):(e=e.replace(/^[^]*-----BEGIN [^-]+-----/,"")).replace(/-----END [^-]+-----[^]*$/,""))}function ol(e){var t=function(e){var t,i,n,r,s,o,a,l,d,c,h;if(h=e.match(/^(\d{2}|\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(|\.\d+)Z$/))return l=h[1],t=parseInt(l),2===l.length&&(50<=t&&t<100?t=1900+t:0<=t&&t<50&&(t=2e3+t)),i=parseInt(h[2])-1,n=parseInt(h[3]),r=parseInt(h[4]),s=parseInt(h[5]),o=parseInt(h[6]),a=0,""!==(d=h[7])&&(c=(d.substr(1)+"00").substr(0,3),a=parseInt(c)),Date.UTC(t,i,n,r,s,o,a);throw"unsupported zulu format: "+e}(e);return~~(t/1e3)}function al(e){return e.replace(/%/g,"")}function ll(e){return e.replace(/(..)/g,"%$1")}function dl(e){var t="malformed hex value";if(!e.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(8!=e.length)return 32==e.length?function(e){if(!e.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";for(var t=(e=e.toLowerCase()).match(/.{1,4}/g),i=0;i<8;i++)t[i]=t[i].replace(/^0+/,""),""==t[i]&&(t[i]="0");var n=(e=":"+t.join(":")+":").match(/:(0:){2,}/g);if(null===n)return e.slice(1,-1);var r="";for(i=0;i<n.length;i++)n[i].length>r.length&&(r=n[i]);return(e=e.replace(r,"::")).slice(1,-1)}(e):e;try{return parseInt(e.substr(0,2),16)+"."+parseInt(e.substr(2,2),16)+"."+parseInt(e.substr(4,2),16)+"."+parseInt(e.substr(6,2),16)}catch(e){throw t}}function cl(e){for(var t=encodeURIComponent(e),i="",n=0;n<t.length;n++)"%"==t[n]?(i+=t.substr(n,3),n+=2):i=i+"%"+Ya(t[n]);return i}function hl(e){return!(e.length%2!=0||!e.match(/^[0-9a-f]+$/)&&!e.match(/^[0-9A-F]+$/))}function ul(e){return e.length%2==1?"0"+e:e.substr(0,1)>"7"?"00"+e:e}Ga.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var i=parseInt(e.substr(t+3,1));return 0==i?-1:0<i&&i<10?i+1:-2},Ga.getL=function(e,t){var i=Ga.getLblen(e,t);return i<1?"":e.substr(t+2,2*i)},Ga.getVblen=function(e,t){var i;return""==(i=Ga.getL(e,t))?-1:("8"===i.substr(0,1)?new ta(i.substr(2),16):new ta(i,16)).intValue()},Ga.getVidx=function(e,t){var i=Ga.getLblen(e,t);return i<0?i:t+2*(i+1)},Ga.getV=function(e,t){var i=Ga.getVidx(e,t),n=Ga.getVblen(e,t);return e.substr(i,2*n)},Ga.getTLV=function(e,t){return e.substr(t,2)+Ga.getL(e,t)+Ga.getV(e,t)},Ga.getTLVblen=function(e,t){return 2+2*Ga.getLblen(e,t)+2*Ga.getVblen(e,t)},Ga.getNextSiblingIdx=function(e,t){return Ga.getVidx(e,t)+2*Ga.getVblen(e,t)},Ga.getChildIdx=function(e,t){var i,n,r,s=Ga,o=[];i=s.getVidx(e,t),n=2*s.getVblen(e,t),"03"==e.substr(t,2)&&(i+=2,n-=2),r=0;for(var a=i;r<=n;){var l=s.getTLVblen(e,a);if((r+=l)<=n&&o.push(a),a+=l,r>=n)break}return o},Ga.getNthChildIdx=function(e,t,i){return Ga.getChildIdx(e,t)[i]},Ga.getIdxbyList=function(e,t,i,n){var r,s,o=Ga;return 0==i.length?void 0!==n&&e.substr(t,2)!==n?-1:t:(r=i.shift())>=(s=o.getChildIdx(e,t)).length?-1:o.getIdxbyList(e,s[r],i,n)},Ga.getIdxbyListEx=function(e,t,i,n){var r,s,o=Ga;if(0==i.length)return void 0!==n&&e.substr(t,2)!==n?-1:t;r=i.shift(),s=o.getChildIdx(e,t);for(var a=0,l=0;l<s.length;l++){var d=e.substr(s[l],2);if("number"==typeof r&&!o.isContextTag(d)&&a==r||"string"==typeof r&&o.isContextTag(d,r))return o.getIdxbyListEx(e,s[l],i,n);o.isContextTag(d)||a++}return-1},Ga.getTLVbyList=function(e,t,i,n){var r=Ga,s=r.getIdxbyList(e,t,i,n);return-1==s||s>=e.length?null:r.getTLV(e,s)},Ga.getTLVbyListEx=function(e,t,i,n){var r=Ga,s=r.getIdxbyListEx(e,t,i,n);return-1==s?null:r.getTLV(e,s)},Ga.getVbyList=function(e,t,i,n,r){var s,o,a=Ga;return-1==(s=a.getIdxbyList(e,t,i,n))||s>=e.length?null:(o=a.getV(e,s),!0===r&&(o=o.substr(2)),o)},Ga.getVbyListEx=function(e,t,i,n,r){var s,o,a=Ga;return-1==(s=a.getIdxbyListEx(e,t,i,n))?null:(o=a.getV(e,s),"03"==e.substr(s,2)&&!1!==r&&(o=o.substr(2)),o)},Ga.getInt=function(e,t,i){null==i&&(i=-1);try{var n=e.substr(t,2);if("02"!=n&&"03"!=n)return i;var r=Ga.getV(e,t);return"02"==n?parseInt(r,16):function(e){try{var t=e.substr(0,2);if("00"==t)return parseInt(e.substr(2),16);var i=parseInt(t,16),n=e.substr(2),r=parseInt(n,16).toString(2);return"0"==r&&(r="00000000"),r=r.slice(0,0-i),parseInt(r,2)}catch(e){return-1}}(r)}catch(e){return i}},Ga.getOID=function(e,t,i){null==i&&(i=null);try{return"06"!=e.substr(t,2)?i:function(e){if(!hl(e))return null;try{var t=[],i=e.substr(0,2),n=parseInt(i,16);t[0]=new String(Math.floor(n/40)),t[1]=new String(n%40);for(var r=e.substr(2),s=[],o=0;o<r.length/2;o++)s.push(parseInt(r.substr(2*o,2),16));var a=[],l="";for(o=0;o<s.length;o++)128&s[o]?l+=pl((127&s[o]).toString(2),7):(l+=pl((127&s[o]).toString(2),7),a.push(new String(parseInt(l,2))),l="");var d=t.join(".");return a.length>0&&(d=d+"."+a.join(".")),d}catch(e){return null}}(Ga.getV(e,t))}catch(e){return i}},Ga.getOIDName=function(e,t,i){null==i&&(i=null);try{var n=Ga.getOID(e,t,i);if(n==i)return i;var r=$a.asn1.x509.OID.oid2name(n);return""==r?n:r}catch(e){return i}},Ga.getString=function(e,t,i){null==i&&(i=null);try{return tl(Ga.getV(e,t))}catch(e){return i}},Ga.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},i=[],n=e.substr(0,2),r=parseInt(n,16);i[0]=new String(Math.floor(r/40)),i[1]=new String(r%40);for(var s=e.substr(2),o=[],a=0;a<s.length/2;a++)o.push(parseInt(s.substr(2*a,2),16));var l=[],d="";for(a=0;a<o.length;a++)128&o[a]?d+=t((127&o[a]).toString(2),7):(d+=t((127&o[a]).toString(2),7),l.push(new String(parseInt(d,2))),d="");var c=i.join(".");return l.length>0&&(c=c+"."+l.join(".")),c},Ga.dump=function(e,t,i,n){var r=Ga,s=r.getV,o=r.dump,a=r.getChildIdx,l=e;e instanceof $a.asn1.ASN1Object&&(l=e.getEncodedHex());var d=function(e,t){return e.length<=2*t?e:e.substr(0,t)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-t,t)};void 0===t&&(t={ommit_long_octet:32}),void 0===i&&(i=0),void 0===n&&(n="");var c,h=t.ommit_long_octet;if("01"==(c=l.substr(i,2)))return"00"==(u=s(l,i))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==c)return n+"INTEGER "+d(u=s(l,i),h)+"\n";if("03"==c){var u=s(l,i);if(r.isASN1HEX(u.substr(2))){var p=n+"BITSTRING, encapsulates\n";return p+=o(u.substr(2),t,0,n+"  ")}return n+"BITSTRING "+d(u,h)+"\n"}if("04"==c){u=s(l,i);if(r.isASN1HEX(u)){p=n+"OCTETSTRING, encapsulates\n";return p+=o(u,t,0,n+"  ")}return n+"OCTETSTRING "+d(u,h)+"\n"}if("05"==c)return n+"NULL\n";if("06"==c){var g=s(l,i),m=$a.asn1.ASN1Util.oidHexToInt(g),f=$a.asn1.x509.OID.oid2name(m),y=m.replace(/\./g," ");return""!=f?n+"ObjectIdentifier "+f+" ("+y+")\n":n+"ObjectIdentifier ("+y+")\n"}if("0a"==c)return n+"ENUMERATED "+parseInt(s(l,i))+"\n";if("0c"==c)return n+"UTF8String '"+el(s(l,i))+"'\n";if("13"==c)return n+"PrintableString '"+el(s(l,i))+"'\n";if("14"==c)return n+"TeletexString '"+el(s(l,i))+"'\n";if("16"==c)return n+"IA5String '"+el(s(l,i))+"'\n";if("17"==c)return n+"UTCTime "+el(s(l,i))+"\n";if("18"==c)return n+"GeneralizedTime "+el(s(l,i))+"\n";if("1a"==c)return n+"VisualString '"+el(s(l,i))+"'\n";if("1e"==c)return n+"BMPString '"+el(s(l,i))+"'\n";if("30"==c){if("3000"==l.substr(i,4))return n+"SEQUENCE {}\n";p=n+"SEQUENCE\n";var v=t;if((2==(w=a(l,i)).length||3==w.length)&&"06"==l.substr(w[0],2)&&"04"==l.substr(w[w.length-1],2)){f=r.oidname(s(l,w[0]));var _=JSON.parse(JSON.stringify(t));_.x509ExtName=f,v=_}for(var b=0;b<w.length;b++)p+=o(l,v,w[b],n+"  ");return p}if("31"==c){p=n+"SET\n";var w=a(l,i);for(b=0;b<w.length;b++)p+=o(l,t,w[b],n+"  ");return p}if(128&(c=parseInt(c,16))){var x=31&c;if(32&c){for(p=n+"["+x+"]\n",w=a(l,i),b=0;b<w.length;b++)p+=o(l,t,w[b],n+"  ");return p}u=s(l,i);if(Ga.isASN1HEX(u)){var p=n+"["+x+"]\n";return p+=o(u,t,0,n+"  ")}return("68747470"==u.substr(0,8)||"subjectAltName"===t.x509ExtName&&2==x)&&(u=el(u)),p=n+"["+x+"] "+u+"\n"}return n+"UNKNOWN("+c+") "+s(l,i)+"\n"},Ga.isContextTag=function(e,t){var i,n;e=e.toLowerCase();try{i=parseInt(e,16)}catch(e){return-1}if(void 0===t)return 128==(192&i);try{return null!=t.match(/^\[[0-9]+\]$/)&&(!((n=parseInt(t.substr(1,t.length-1),10))>31)&&(128==(192&i)&&(31&i)==n))}catch(e){return!1}},Ga.isASN1HEX=function(e){var t=Ga;if(e.length%2==1)return!1;var i=t.getVblen(e,0),n=e.substr(0,2),r=t.getL(e,0);return e.length-n.length-r.length==2*i},Ga.checkStrictDER=function(e,t,i,n,r){var s=Ga;if(void 0===i){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!$a.lang.String.isHex(e))throw new Error("not hex string");i=e.length,r=(n=e.length/2)<128?1:Math.ceil(n.toString(16))+1}if(s.getL(e,t).length>2*r)throw new Error("L of TLV too long: idx="+t);var o=s.getVblen(e,t);if(o>n)throw new Error("value of L too long than hex: idx="+t);var a=s.getTLV(e,t),l=a.length-2-s.getL(e,t).length;if(l!==2*o)throw new Error("V string length and L's value not the same:"+l+"/"+2*o);if(0===t&&e.length!=a.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+a.length);var d=e.substr(t,2);if("02"===d){var c=s.getVidx(e,t);if("00"==e.substr(c,2)&&e.charCodeAt(c+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(d,16)){for(var h=s.getVblen(e,t),u=0,p=s.getChildIdx(e,t),g=0;g<p.length;g++){u+=s.getTLV(e,p[g]).length,s.checkStrictDER(e,p[g],i,n,r)}if(2*h!=u)throw new Error("sum of children's TLV length and L unmatch: "+2*h+"!="+u)}},Ga.oidname=function(e){var t=$a.asn1;$a.lang.String.isHex(e)&&(e=t.ASN1Util.oidHexToInt(e));var i=t.x509.OID.oid2name(e);return""===i&&(i=e),i},void 0!==$a&&$a||($a={}),void 0!==$a.lang&&$a.lang||($a.lang={}),$a.lang.String=function(){},"function"==typeof Buffer?(Va=function(e){return Ka(Buffer.from(e,"utf8").toString("base64"))},Wa=function(e){return Buffer.from(Ja(e),"base64").toString("utf8")}):(Va=function(e){return Za(al(cl(e)))},Wa=function(e){return decodeURIComponent(ll(Qa(e)))}),$a.lang.String.isInteger=function(e){return!!e.match(/^[0-9]+$/)||!!e.match(/^-[0-9]+$/)},$a.lang.String.isHex=function(e){return hl(e)},$a.lang.String.isBase64=function(e){return!(!(e=e.replace(/\s+/g,"")).match(/^[0-9A-Za-z+\/]+={0,3}$/)||e.length%4!=0)},$a.lang.String.isBase64URL=function(e){return!e.match(/[+/=]/)&&(e=Ja(e),$a.lang.String.isBase64(e))},$a.lang.String.isIntegerArray=function(e){return!!(e=e.replace(/\s+/g,"")).match(/^\[[0-9,]+\]$/)},$a.lang.String.isPrintable=function(e){return null!==e.match(/^[0-9A-Za-z '()+,-./:=?]*$/)},$a.lang.String.isIA5=function(e){return null!==e.match(/^[\x20-\x21\x23-\x7f]*$/)},$a.lang.String.isMail=function(e){return null!==e.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var pl=function(e,t,i){return null==i&&(i="0"),e.length>=t?e:new Array(t-e.length+1).join(i)+e};void 0!==$a&&$a||($a={}),void 0!==$a.crypto&&$a.crypto||($a.crypto={}),$a.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:Ko.algo.MD5,sha1:Ko.algo.SHA1,sha224:Ko.algo.SHA224,sha256:Ko.algo.SHA256,sha384:Ko.algo.SHA384,sha512:Ko.algo.SHA512,ripemd160:Ko.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(void 0===this.DIGESTINFOHEAD[t])throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,i){var n=this.getDigestInfoHex(e,t),r=i/4;if(n.length+22>r)throw"key is too short for SigAlg: keylen="+i+","+t;for(var s="0001",o="00"+n,a="",l=r-4-o.length,d=0;d<l;d+=2)a+="ff";return s+a+o},this.hashString=function(e,t){return new $a.crypto.MessageDigest({alg:t}).digestString(e)},this.hashHex=function(e,t){return new $a.crypto.MessageDigest({alg:t}).digestHex(e)},this.sha1=function(e){return this.hashString(e,"sha1")},this.sha256=function(e){return this.hashString(e,"sha256")},this.sha256Hex=function(e){return this.hashHex(e,"sha256")},this.sha512=function(e){return this.hashString(e,"sha512")},this.sha512Hex=function(e){return this.hashHex(e,"sha512")},this.isKey=function(e){return e instanceof Ba||e instanceof $a.crypto.DSA||e instanceof $a.crypto.ECDSA}},$a.crypto.Util.md5=function(e){return new $a.crypto.MessageDigest({alg:"md5",prov:"cryptojs"}).digestString(e)},$a.crypto.Util.ripemd160=function(e){return new $a.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"}).digestString(e)},$a.crypto.Util.SECURERANDOMGEN=new Oa,$a.crypto.Util.getRandomHexOfNbytes=function(e){var t=new Array(e);return $a.crypto.Util.SECURERANDOMGEN.nextBytes(t),qa(t)},$a.crypto.Util.getRandomBigIntegerOfNbytes=function(e){return new ta($a.crypto.Util.getRandomHexOfNbytes(e),16)},$a.crypto.Util.getRandomHexOfNbits=function(e){var t=e%8,i=new Array((e-t)/8+1);return $a.crypto.Util.SECURERANDOMGEN.nextBytes(i),i[0]=(255<<t&255^255)&i[0],qa(i)},$a.crypto.Util.getRandomBigIntegerOfNbits=function(e){return new ta($a.crypto.Util.getRandomHexOfNbits(e),16)},$a.crypto.Util.getRandomBigIntegerZeroToMax=function(e){for(var t=e.bitLength();;){var i=$a.crypto.Util.getRandomBigIntegerOfNbits(t);if(-1!=e.compareTo(i))return i}},$a.crypto.Util.getRandomBigIntegerMinToMax=function(e,t){var i=e.compareTo(t);if(1==i)throw"biMin is greater than biMax";if(0==i)return e;var n=t.subtract(e);return $a.crypto.Util.getRandomBigIntegerZeroToMax(n).add(e)},$a.crypto.MessageDigest=function(e){this.setAlgAndProvider=function(e,t){if(null!==(e=$a.crypto.MessageDigest.getCanonicalAlgName(e))&&void 0===t&&(t=$a.crypto.Util.DEFAULTPROVIDER[e]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(e)&&"cryptojs"==t){try{this.md=$a.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[e].create()}catch(t){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+t}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=Ko.enc.Hex.parse(e);this.md.update(t)},this.digest=function(){return this.md.finalize().toString(Ko.enc.Hex)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}if(-1!=":sha256:".indexOf(e)&&"sjcl"==t){try{this.md=new sjcl.hash.sha256}catch(t){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+t}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=sjcl.codec.hex.toBits(e);this.md.update(t)},this.digest=function(){var e=this.md.finalize();return sjcl.codec.hex.fromBits(e)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(e){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==e&&void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=$a.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},$a.crypto.MessageDigest.getCanonicalAlgName=function(e){return"string"==typeof e&&(e=(e=e.toLowerCase()).replace(/-/,"")),e},$a.crypto.MessageDigest.getHashLength=function(e){var t=$a.crypto.MessageDigest,i=t.getCanonicalAlgName(e);if(void 0===t.HASHLENGTH[i])throw"not supported algorithm: "+e;return t.HASHLENGTH[i]},$a.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},$a.crypto.Mac=function(e){this.setAlgAndProvider=function(e,t){if(null==(e=e.toLowerCase())&&(e="hmacsha1"),"hmac"!=(e=e.toLowerCase()).substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+e;void 0===t&&(t=$a.crypto.Util.DEFAULTPROVIDER[e]),this.algProv=e+"/"+t;var i=e.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(i)&&"cryptojs"==t){try{var n=$a.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[i];this.mac=Ko.algo.HMAC.create(n,this.pass)}catch(e){throw"setAlgAndProvider hash alg set fail hashAlg="+i+"/"+e}this.updateString=function(e){this.mac.update(e)},this.updateHex=function(e){var t=Ko.enc.Hex.parse(e);this.mac.update(t)},this.doFinal=function(){return this.mac.finalize().toString(Ko.enc.Hex)},this.doFinalString=function(e){return this.updateString(e),this.doFinal()},this.doFinalHex=function(e){return this.updateHex(e),this.doFinal()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(e){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},this.setPassword=function(e){if("string"==typeof e){var t=e;return e.length%2!=1&&e.match(/^[0-9A-Fa-f]+$/)||(t=il(e)),void(this.pass=Ko.enc.Hex.parse(t))}if("object"!=typeof e)throw"KJUR.crypto.Mac unsupported password type: "+e;t=null;if(void 0!==e.hex){if(e.hex.length%2!=0||!e.hex.match(/^[0-9A-Fa-f]+$/))throw"Mac: wrong hex password: "+e.hex;t=e.hex}if(void 0!==e.utf8&&(t=Xa(e.utf8)),void 0!==e.rstr&&(t=il(e.rstr)),void 0!==e.b64&&(t=ea(e.b64)),void 0!==e.b64u&&(t=Qa(e.b64u)),null==t)throw"KJUR.crypto.Mac unsupported password type: "+e;this.pass=Ko.enc.Hex.parse(t)},void 0!==e&&(void 0!==e.pass&&this.setPassword(e.pass),void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=$a.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},$a.crypto.Signature=function(e){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,t){for(var i="",n=t/4-e.length,r=0;r<n;r++)i+="0";return i+e},this.setAlgAndProvider=function(e,t){if(this._setAlgNames(),"cryptojs/jsrsa"!=t)throw new Error("provider not supported: "+t);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new $a.crypto.MessageDigest({alg:this.mdAlgName})}catch(e){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+e)}this.init=function(e,t){var i=null;try{i=void 0===t?gl.getKey(e):gl.getKey(e,t)}catch(e){throw"init failed:"+e}if(!0===i.isPrivate)this.prvKey=i,this.state="SIGN";else{if(!0!==i.isPublic)throw"init failed.:"+i;this.pubKey=i,this.state="VERIFY"}},this.updateString=function(e){this.md.updateString(e)},this.updateHex=function(e){this.md.updateHex(e)},this.sign=function(){if(this.sHashHex=this.md.digest(),void 0===this.prvKey&&void 0!==this.ecprvhex&&void 0!==this.eccurvename&&void 0!==$a.crypto.ECDSA&&(this.prvKey=new $a.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})),this.prvKey instanceof Ba&&"rsaandmgf1"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if(this.prvKey instanceof Ba&&"rsa"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else if(this.prvKey instanceof $a.crypto.ECDSA)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex);else{if(!(this.prvKey instanceof $a.crypto.DSA))throw"Signature: unsupported private key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(e){return this.updateString(e),this.sign()},this.signHex=function(e){return this.updateHex(e),this.sign()},this.verify=function(e){if(this.sHashHex=this.md.digest(),void 0===this.pubKey&&void 0!==this.ecpubhex&&void 0!==this.eccurvename&&void 0!==$a.crypto.ECDSA&&(this.pubKey=new $a.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})),this.pubKey instanceof Ba&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,e,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof Ba&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);if(void 0!==$a.crypto.ECDSA&&this.pubKey instanceof $a.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);if(void 0!==$a.crypto.DSA&&this.pubKey instanceof $a.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,t){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(e){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(e){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(e){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(e){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=e,void 0!==e&&(void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov?this.provName=$a.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=e.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==e.psssaltlen&&(this.pssSaltLen=e.psssaltlen),void 0!==e.prvkeypem)){if(void 0!==e.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{t=gl.getKey(e.prvkeypem);this.init(t)}catch(e){throw"fatal error to load pem private key: "+e}}},$a.crypto.Cipher=function(e){},$a.crypto.Cipher.encrypt=function(e,t,i){if(t instanceof Ba&&t.isPublic){var n=$a.crypto.Cipher.getAlgByKeyAndName(t,i);if("RSA"===n)return t.encrypt(e);if("RSAOAEP"===n)return t.encryptOAEP(e,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return t.encryptOAEP(e,"sha"+r[1]);throw"Cipher.encrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.encrypt: unsupported key or algorithm"},$a.crypto.Cipher.decrypt=function(e,t,i){if(t instanceof Ba&&t.isPrivate){var n=$a.crypto.Cipher.getAlgByKeyAndName(t,i);if("RSA"===n)return t.decrypt(e);if("RSAOAEP"===n)return t.decryptOAEP(e,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return t.decryptOAEP(e,"sha"+r[1]);throw"Cipher.decrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.decrypt: unsupported key or algorithm"},$a.crypto.Cipher.getAlgByKeyAndName=function(e,t){if(e instanceof Ba){if(-1!=":RSA:RSAOAEP:RSAOAEP224:RSAOAEP256:RSAOAEP384:RSAOAEP512:".indexOf(t))return t;if(null==t)return"RSA";throw"getAlgByKeyAndName: not supported algorithm name for RSAKey: "+t}throw"getAlgByKeyAndName: not supported algorithm name: "+t},$a.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}},void 0!==$a&&$a||($a={}),void 0!==$a.crypto&&$a.crypto||($a.crypto={}),$a.crypto.ECDSA=function(e){var t=Error,i=ta,n=ja,r=$a.crypto.ECDSA,s=$a.crypto.ECParameterDB,o=r.getName,a=Ga,l=a.getVbyListEx,d=a.isASN1HEX,c=new Oa;this.type="EC",this.isPrivate=!1,this.isPublic=!1,this.getBigRandom=function(e){return new i(e.bitLength(),c).mod(e.subtract(i.ONE)).add(i.ONE)},this.setNamedCurve=function(e){this.ecparams=s.getByName(e),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=e},this.setPrivateKeyHex=function(e){this.isPrivate=!0,this.prvKeyHex=e},this.setPublicKeyHex=function(e){this.isPublic=!0,this.pubKeyHex=e},this.getPublicKeyXYHex=function(){var e=this.pubKeyHex;if("04"!==e.substr(0,2))throw"this method supports uncompressed format(04) only";var t=this.ecparams.keylen/4;if(e.length!==2+2*t)throw"malformed public key hex length";var i={};return i.x=e.substr(2,t),i.y=e.substr(2+t),i},this.getShortNISTPCurveName=function(){var e=this.curveName;return"secp256r1"===e||"NIST P-256"===e||"P-256"===e||"prime256v1"===e?"P-256":"secp384r1"===e||"NIST P-384"===e||"P-384"===e?"P-384":null},this.generateKeyPairHex=function(){var e=this.ecparams.n,t=this.getBigRandom(e),i=this.ecparams.G.multiply(t),n=i.getX().toBigInteger(),r=i.getY().toBigInteger(),s=this.ecparams.keylen/4,o=("0000000000"+t.toString(16)).slice(-s),a="04"+("0000000000"+n.toString(16)).slice(-s)+("0000000000"+r.toString(16)).slice(-s);return this.setPrivateKeyHex(o),this.setPublicKeyHex(a),{ecprvhex:o,ecpubhex:a}},this.signWithMessageHash=function(e){return this.signHex(e,this.prvKeyHex)},this.signHex=function(e,t){var n=new i(t,16),s=this.ecparams.n,o=new i(e.substring(0,this.ecparams.keylen/4),16);do{var a=this.getBigRandom(s),l=this.ecparams.G.multiply(a).getX().toBigInteger().mod(s)}while(l.compareTo(i.ZERO)<=0);var d=a.modInverse(s).multiply(o.add(n.multiply(l))).mod(s);return r.biRSSigToASN1Sig(l,d)},this.sign=function(e,t){var n=t,r=this.ecparams.n,s=i.fromByteArrayUnsigned(e);do{var o=this.getBigRandom(r),a=this.ecparams.G.multiply(o).getX().toBigInteger().mod(r)}while(a.compareTo(ta.ZERO)<=0);var l=o.modInverse(r).multiply(s.add(n.multiply(a))).mod(r);return this.serializeSig(a,l)},this.verifyWithMessageHash=function(e,t){return this.verifyHex(e,t,this.pubKeyHex)},this.verifyHex=function(e,t,s){try{var o,a,l=r.parseSigHex(t);o=l.r,a=l.s;var d=n.decodeFromHex(this.ecparams.curve,s),c=new i(e.substring(0,this.ecparams.keylen/4),16);return this.verifyRaw(c,o,a,d)}catch(e){return!1}},this.verify=function(e,t,r){var s,o,a;if(Bitcoin.Util.isArray(t)){var l=this.parseSig(t);s=l.r,o=l.s}else{if("object"!=typeof t||!t.r||!t.s)throw"Invalid value for signature";s=t.r,o=t.s}if(r instanceof ja)a=r;else{if(!Bitcoin.Util.isArray(r))throw"Invalid format for pubkey value, must be byte array or ECPointFp";a=n.decodeFrom(this.ecparams.curve,r)}var d=i.fromByteArrayUnsigned(e);return this.verifyRaw(d,s,o,a)},this.verifyRaw=function(e,t,n,r){var s=this.ecparams.n,o=this.ecparams.G;if(t.compareTo(i.ONE)<0||t.compareTo(s)>=0)return!1;if(n.compareTo(i.ONE)<0||n.compareTo(s)>=0)return!1;var a=n.modInverse(s),l=e.multiply(a).mod(s),d=t.multiply(a).mod(s);return o.multiply(l).add(r.multiply(d)).getX().toBigInteger().mod(s).equals(t)},this.serializeSig=function(e,t){var i=e.toByteArraySigned(),n=t.toByteArraySigned(),r=[];return r.push(2),r.push(i.length),(r=r.concat(i)).push(2),r.push(n.length),(r=r.concat(n)).unshift(r.length),r.unshift(48),r},this.parseSig=function(e){var t;if(48!=e[0])throw new Error("Signature not a valid DERSequence");if(2!=e[t=2])throw new Error("First element in signature must be a DERInteger");var n=e.slice(t+2,t+2+e[t+1]);if(2!=e[t+=2+e[t+1]])throw new Error("Second element in signature must be a DERInteger");var r=e.slice(t+2,t+2+e[t+1]);return t+=2+e[t+1],{r:i.fromByteArrayUnsigned(n),s:i.fromByteArrayUnsigned(r)}},this.parseSigCompact=function(e){if(65!==e.length)throw"Signature has the wrong length";var t=e[0]-27;if(t<0||t>7)throw"Invalid signature type";var n=this.ecparams.n;return{r:i.fromByteArrayUnsigned(e.slice(1,33)).mod(n),s:i.fromByteArrayUnsigned(e.slice(33,65)).mod(n),i:t}},this.readPKCS5PrvKeyHex=function(e){if(!1===d(e))throw new Error("not ASN.1 hex string");var t,i,n;try{t=l(e,0,["[0]",0],"06"),i=l(e,0,[1],"04");try{n=l(e,0,["[1]",0],"03")}catch(e){}}catch(e){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=o(t),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(i),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(e){if(!1===d(e))throw new t("not ASN.1 hex string");var i,n,r;try{l(e,0,[1,0],"06"),i=l(e,0,[1,1],"06"),n=l(e,0,[2,0,1],"04");try{r=l(e,0,[2,0,"[1]",0],"03")}catch(e){}}catch(e){throw new t("malformed PKCS#8 plain ECC private key")}if(this.curveName=o(i),void 0===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(r),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(e){if(!1===d(e))throw new t("not ASN.1 hex string");var i,n;try{l(e,0,[0,0],"06"),i=l(e,0,[0,1],"06"),n=l(e,0,[1],"03")}catch(e){throw new t("malformed PKCS#8 ECC public key")}if(this.curveName=o(i),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(e,i){if(!1===d(e))throw new t("not ASN.1 hex string");var n,r;try{n=l(e,0,[0,5,0,1],"06"),r=l(e,0,[0,5,1],"03")}catch(e){throw new t("malformed X.509 certificate ECC public key")}if(this.curveName=o(n),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(r)},void 0!==e&&void 0!==e.curve&&(this.curveName=e.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==e&&(void 0!==e.prv&&this.setPrivateKeyHex(e.prv),void 0!==e.pub&&this.setPublicKeyHex(e.pub))},$a.crypto.ECDSA.parseSigHex=function(e){var t=$a.crypto.ECDSA.parseSigHexInHexRS(e);return{r:new ta(t.r,16),s:new ta(t.s,16)}},$a.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ga,i=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),"30"!=e.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var r=i(e,0);if(2!=r.length)throw new Error("signature shall have two elements");var s=r[0],o=r[1];if("02"!=e.substr(s,2))throw new Error("1st item not ASN.1 integer");if("02"!=e.substr(o,2))throw new Error("2nd item not ASN.1 integer");return{r:n(e,s),s:n(e,o)}},$a.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=$a.crypto.ECDSA.parseSigHexInHexRS(e),i=t.r,n=t.s;if("00"==i.substr(0,2)&&i.length%32==2&&(i=i.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),i.length%32==30&&(i="00"+i),n.length%32==30&&(n="00"+n),i.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return i+n},$a.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig  length error";var t=e.substr(0,e.length/2),i=e.substr(e.length/2);return $a.crypto.ECDSA.hexRSSigToASN1Sig(t,i)},$a.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var i=new ta(e,16),n=new ta(t,16);return $a.crypto.ECDSA.biRSSigToASN1Sig(i,n)},$a.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var i=$a.asn1,n=new i.DERInteger({bigint:e}),r=new i.DERInteger({bigint:t});return new i.DERSequence({array:[n,r]}).getEncodedHex()},$a.crypto.ECDSA.getName=function(e){return"2b8104001f"===e?"secp192k1":"2a8648ce3d030107"===e?"secp256r1":"2b8104000a"===e?"secp256k1":"2b81040021"===e?"secp224r1":"2b81040022"===e?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)?"secp256r1":-1!=="|secp256k1|".indexOf(e)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(e)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(e)?"secp384r1":null},void 0!==$a&&$a||($a={}),void 0!==$a.crypto&&$a.crypto||($a.crypto={}),$a.crypto.ECParameterDB=new function(){var e={},t={};function i(e){return new ta(e,16)}this.getByName=function(i){var n=i;if(void 0!==t[n]&&(n=t[i]),void 0!==e[n])return e[n];throw"unregistered EC curve name: "+n},this.regist=function(n,r,s,o,a,l,d,c,h,u,p,g){e[n]={};var m=i(s),f=i(o),y=i(a),v=i(l),_=i(d),b=new Ha(m,f,y),w=b.decodePointHex("04"+c+h);e[n].name=n,e[n].keylen=r,e[n].curve=b,e[n].G=w,e[n].n=v,e[n].h=_,e[n].oid=p,e[n].info=g;for(var x=0;x<u.length;x++)t[u[x]]=n}},$a.crypto.ECParameterDB.regist("secp128r1",128,"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF","FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC","E87579C11079F43DD824993C2CEE5ED3","FFFFFFFE0000000075A30D1B9038A115","1","161FF7528B899B2D0C28607CA52C5B86","CF5AC8395BAFEB13C02DA292DDED7A83",[],"","secp128r1 : SECG curve over a 128 bit prime field"),$a.crypto.ECParameterDB.regist("secp160k1",160,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73","0","7","0100000000000000000001B8FA16DFAB9ACA16B6B3","1","3B4C382CE37AA192A4019E763036F4F5DD4D7EBB","938CF935318FDCED6BC28286531733C3F03C4FEE",[],"","secp160k1 : SECG curve over a 160 bit prime field"),$a.crypto.ECParameterDB.regist("secp160r1",160,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC","1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45","0100000000000000000001F4C8F927AED3CA752257","1","4A96B5688EF573284664698968C38BB913CBFC82","23A628553168947D59DCC912042351377AC5FB32",[],"","secp160r1 : SECG curve over a 160 bit prime field"),$a.crypto.ECParameterDB.regist("secp192k1",192,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37","0","3","FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D","1","DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D","9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D",[]),$a.crypto.ECParameterDB.regist("secp192r1",192,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC","64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1","FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831","1","188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012","07192B95FFC8DA78631011ED6B24CDD573F977A11E794811",[]),$a.crypto.ECParameterDB.regist("secp224r1",224,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE","B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4","FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D","1","B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21","BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34",[]),$a.crypto.ECParameterDB.regist("secp256k1",256,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F","0","7","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141","1","79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798","483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8",[]),$a.crypto.ECParameterDB.regist("secp256r1",256,"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF","FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC","5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B","FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551","1","6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296","4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5",["NIST P-256","P-256","prime256v1"]),$a.crypto.ECParameterDB.regist("secp384r1",384,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC","B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973","1","AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7","3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",["NIST P-384","P-384"]),$a.crypto.ECParameterDB.regist("secp521r1",521,"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF","1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC","051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00","1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409","1","C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66","011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",["NIST P-521","P-521"]);var gl=function(){var e=function(e,i,n){return t(Ko.AES,e,i,n)},t=function(e,t,i,n){var r=Ko.enc.Hex.parse(t),s=Ko.enc.Hex.parse(i),o=Ko.enc.Hex.parse(n),a={};a.key=s,a.iv=o,a.ciphertext=r;var l=e.decrypt(a,s,{iv:o});return Ko.enc.Hex.stringify(l)},i=function(e,t,i){return n(Ko.AES,e,t,i)},n=function(e,t,i,n){var r=Ko.enc.Hex.parse(t),s=Ko.enc.Hex.parse(i),o=Ko.enc.Hex.parse(n),a=e.encrypt(r,s,{iv:o}),l=Ko.enc.Hex.parse(a.toString());return Ko.enc.Base64.stringify(l)},r={"AES-256-CBC":{proc:e,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(e,i,n){return t(Ko.TripleDES,e,i,n)},eproc:function(e,t,i){return n(Ko.TripleDES,e,t,i)},keylen:24,ivlen:8},"DES-CBC":{proc:function(e,i,n){return t(Ko.DES,e,i,n)},eproc:function(e,t,i){return n(Ko.DES,e,t,i)},keylen:8,ivlen:8}},s=function(e){var t={},i=e.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));i&&(t.cipher=i[1],t.ivsalt=i[2]);var n=e.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(t.type=n[1]);var r=-1,s=0;-1!=e.indexOf("\r\n\r\n")&&(r=e.indexOf("\r\n\r\n"),s=2),-1!=e.indexOf("\n\n")&&(r=e.indexOf("\n\n"),s=1);var o=e.indexOf("-----END");if(-1!=r&&-1!=o){var a=e.substring(r+2*s,o-s);a=a.replace(/\s+/g,""),t.data=a}return t},o=function(e,t,i){for(var n=i.substring(0,16),s=Ko.enc.Hex.parse(n),o=Ko.enc.Utf8.parse(t),a=r[e].keylen+r[e].ivlen,l="",d=null;;){var c=Ko.algo.MD5.create();if(null!=d&&c.update(d),c.update(o),c.update(s),d=c.finalize(),(l+=Ko.enc.Hex.stringify(d)).length>=2*a)break}var h={};return h.keyhex=l.substr(0,2*r[e].keylen),h.ivhex=l.substr(2*r[e].keylen,2*r[e].ivlen),h},a=function(e,t,i,n){var s=Ko.enc.Base64.parse(e),o=Ko.enc.Hex.stringify(s);return(0,r[t].proc)(o,i,n)};return{version:"1.0.0",parsePKCS5PEM:function(e){return s(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,i){return o(e,t,i)},decryptKeyB64:function(e,t,i,n){return a(e,t,i,n)},getDecryptedKeyHex:function(e,t){var i=s(e),n=i.cipher,r=i.ivsalt,l=i.data,d=o(n,t,r).keyhex;return a(l,n,d,r)},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,i,n,s){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===r[n])throw"KEYUTIL unsupported algorithm: "+n;if(void 0===s||null==s){var l=function(e){var t=Ko.lib.WordArray.random(e);return Ko.enc.Hex.stringify(t)}(r[n].ivlen);s=l.toUpperCase()}var d=function(e,t,i,n){return(0,r[t].eproc)(e,i,n)}(t,n,o(n,i,s).keyhex,s);a="-----BEGIN "+e+" PRIVATE KEY-----\r\n";return a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+s+"\r\n",a+="\r\n",a+=d.replace(/(.{64})/g,"$1\r\n"),a+="\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(e){var t=Ga,i=t.getChildIdx,n=t.getV,r={},s=i(e,0);if(2!=s.length)throw"malformed format: SEQUENCE(0).items != 2: "+s.length;r.ciphertext=n(e,s[1]);var o=i(e,s[0]);if(2!=o.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+o.length;if("2a864886f70d01050d"!=n(e,o[0]))throw"this only supports pkcs5PBES2";var a=i(e,o[1]);if(2!=o.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var l=i(e,a[1]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+l.length;if("2a864886f70d0307"!=n(e,l[0]))throw"this only supports TripleDES";r.encryptionSchemeAlg="TripleDES",r.encryptionSchemeIV=n(e,l[1]);var d=i(e,a[0]);if(2!=d.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+d.length;if("2a864886f70d01050c"!=n(e,d[0]))throw"this only supports pkcs5PBKDF2";var c=i(e,d[1]);if(c.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+c.length;r.pbkdf2Salt=n(e,c[0]);var h=n(e,c[1]);try{r.pbkdf2Iter=parseInt(h,16)}catch(e){throw"malformed format pbkdf2Iter: "+h}return r},getPBKDF2KeyHexFromParam:function(e,t){var i=Ko.enc.Hex.parse(e.pbkdf2Salt),n=e.pbkdf2Iter,r=Ko.PBKDF2(t,i,{keySize:6,iterations:n});return Ko.enc.Hex.stringify(r)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var i=sl(e,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(i),r=gl.getPBKDF2KeyHexFromParam(n,t),s={};s.ciphertext=Ko.enc.Hex.parse(n.ciphertext);var o=Ko.enc.Hex.parse(r),a=Ko.enc.Hex.parse(n.encryptionSchemeIV),l=Ko.TripleDES.decrypt(s,o,{iv:a});return Ko.enc.Hex.stringify(l)},getKeyFromEncryptedPKCS8PEM:function(e,t){var i=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t);return this.getKeyFromPlainPrivatePKCS8Hex(i)},parsePlainPrivatePKCS8Hex:function(e){var t=Ga,i=t.getChildIdx,n=t.getV,r={algparam:null};if("30"!=e.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var s=i(e,0);if(3!=s.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=e.substr(s[1],2))throw"malformed PKCS8 private key(code:003)";var o=i(e,s[1]);if(2!=o.length)throw"malformed PKCS8 private key(code:004)";if("06"!=e.substr(o[0],2))throw"malformed PKCS8 private key(code:005)";if(r.algoid=n(e,o[0]),"06"==e.substr(o[1],2)&&(r.algparam=n(e,o[1])),"04"!=e.substr(s[2],2))throw"malformed PKCS8 private key(code:006)";return r.keyidx=t.getVidx(e,s[2]),r},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=sl(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,i=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==i.algoid)t=new Ba;else if("2a8648ce380401"==i.algoid)t=new $a.crypto.DSA;else{if("2a8648ce3d0201"!=i.algoid)throw"unsupported private key algorithm";t=new $a.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,i=Ga.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===i)t=new Ba;else if("2a8648ce380401"===i)t=new $a.crypto.DSA;else{if("2a8648ce3d0201"!==i)throw"unsupported PKCS#8 public key hex";t=new $a.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=Ga,i=t.getChildIdx,n=t.getV,r={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var s=i(e,0);if(2!=s.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(s[0],2))throw"malformed RSA key(code:003)";if(r.n=n(e,s[0]),"02"!=e.substr(s[1],2))throw"malformed RSA key(code:004)";return r.e=n(e,s[1]),r},parsePublicPKCS8Hex:function(e){var t=Ga,i=t.getChildIdx,n=t.getV,r={algparam:null},s=i(e,0);if(2!=s.length)throw"outer DERSequence shall have 2 elements: "+s.length;var o=s[0];if("30"!=e.substr(o,2))throw"malformed PKCS8 public key(code:001)";var a=i(e,o);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(r.algoid=n(e,a[0]),"06"==e.substr(a[1],2)?r.algparam=n(e,a[1]):"30"==e.substr(a[1],2)&&(r.algparam={},r.algparam.p=t.getVbyList(e,a[1],[0],"02"),r.algparam.q=t.getVbyList(e,a[1],[1],"02"),r.algparam.g=t.getVbyList(e,a[1],[2],"02")),"03"!=e.substr(s[1],2))throw"malformed PKCS8 public key(code:004)";return r.key=n(e,s[1]).substr(2),r}}}();gl.getKey=function(e,t,i){var n=(f=Ga).getChildIdx;f.getV;var r=f.getVbyList,s=$a.crypto,o=s.ECDSA,a=s.DSA,l=Ba,d=sl,c=gl;if(void 0!==l&&e instanceof l)return e;if(void 0!==o&&e instanceof o)return e;if(void 0!==a&&e instanceof a)return e;if(void 0!==e.curve&&void 0!==e.xy&&void 0===e.d)return new o({pub:e.xy,curve:e.curve});if(void 0!==e.curve&&void 0!==e.d)return new o({prv:e.d,curve:e.curve});if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(C=new l).setPublic(e.n,e.e),C;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.co&&void 0===e.qi)return(C=new l).setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),C;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0===e.p)return(C=new l).setPrivate(e.n,e.e,e.d),C;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0===e.x)return(C=new a).setPublic(e.p,e.q,e.g,e.y),C;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0!==e.x)return(C=new a).setPrivate(e.p,e.q,e.g,e.y,e.x),C;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(C=new l).setPublic(Qa(e.n),Qa(e.e)),C;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.qi)return(C=new l).setPrivateEx(Qa(e.n),Qa(e.e),Qa(e.d),Qa(e.p),Qa(e.q),Qa(e.dp),Qa(e.dq),Qa(e.qi)),C;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d)return(C=new l).setPrivate(Qa(e.n),Qa(e.e),Qa(e.d)),C;if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0===e.d){var h=(E=new o({curve:e.crv})).ecparams.keylen/4,u="04"+("0000000000"+Qa(e.x)).slice(-h)+("0000000000"+Qa(e.y)).slice(-h);return E.setPublicKeyHex(u),E}if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0!==e.d){h=(E=new o({curve:e.crv})).ecparams.keylen/4,u="04"+("0000000000"+Qa(e.x)).slice(-h)+("0000000000"+Qa(e.y)).slice(-h);var p=("0000000000"+Qa(e.d)).slice(-h);return E.setPublicKeyHex(u),E.setPrivateKeyHex(p),E}if("pkcs5prv"===i){var g,m=e,f=Ga;if(9===(g=n(m,0)).length)(C=new l).readPKCS5PrvKeyHex(m);else if(6===g.length)(C=new a).readPKCS5PrvKeyHex(m);else{if(!(g.length>2&&"04"===m.substr(g[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new o).readPKCS5PrvKeyHex(m)}return C}if("pkcs8prv"===i)return C=c.getKeyFromPlainPrivatePKCS8Hex(e);if("pkcs8pub"===i)return c._getKeyFromPublicPKCS8Hex(e);if("x509pub"===i)return _l.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return _l.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var y=sl(e,"PUBLIC KEY");return c._getKeyFromPublicPKCS8Hex(y)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var v=d(e,"RSA PRIVATE KEY");return c.getKey(v,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var _=r(D=d(e,"DSA PRIVATE KEY"),0,[1],"02"),b=r(D,0,[2],"02"),w=r(D,0,[3],"02"),x=r(D,0,[4],"02"),k=r(D,0,[5],"02");return(C=new a).setPrivate(new ta(_,16),new ta(b,16),new ta(w,16),new ta(x,16),new ta(k,16)),C}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){v=d(e,"EC PRIVATE KEY");return c.getKey(v,null,"pkcs5prv")}if(-1!=e.indexOf("-END PRIVATE KEY-"))return c.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var S=c.getDecryptedKeyHex(e,t),A=new Ba;return A.readPKCS5PrvKeyHex(S),A}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var E,C=r(D=c.getDecryptedKeyHex(e,t),0,[1],"04"),T=r(D,0,[2,0],"06"),I=r(D,0,[3,0],"03").substr(2);if(void 0===$a.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(E=new o({curve:$a.crypto.OID.oidhex2name[T]})).setPublicKeyHex(I),E.setPrivateKeyHex(C),E.isPublic=!1,E}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var D;_=r(D=c.getDecryptedKeyHex(e,t),0,[1],"02"),b=r(D,0,[2],"02"),w=r(D,0,[3],"02"),x=r(D,0,[4],"02"),k=r(D,0,[5],"02");return(C=new a).setPrivate(new ta(_,16),new ta(b,16),new ta(w,16),new ta(x,16),new ta(k,16)),C}if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return c.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},gl.generateKeypair=function(e,t){if("RSA"==e){var i=t;(o=new Ba).generate(i,"10001"),o.isPrivate=!0,o.isPublic=!0;var n=new Ba,r=o.n.toString(16),s=o.e.toString(16);return n.setPublic(r,s),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=o,a.pubKeyObj=n,a}if("EC"==e){var o,a,l=t,d=new $a.crypto.ECDSA({curve:l}).generateKeyPairHex();return(o=new $a.crypto.ECDSA({curve:l})).setPublicKeyHex(d.ecpubhex),o.setPrivateKeyHex(d.ecprvhex),o.isPrivate=!0,o.isPublic=!1,(n=new $a.crypto.ECDSA({curve:l})).setPublicKeyHex(d.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=o,a.pubKeyObj=n,a}throw"unknown algorithm: "+e},gl.getPEM=function(e,t,i,n,r,s){var o=$a,a=o.asn1,l=a.DERObjectIdentifier,d=a.DERInteger,c=a.ASN1Util.newObject,h=a.x509.SubjectPublicKeyInfo,u=o.crypto,p=u.DSA,g=u.ECDSA,m=Ba;function f(e){return c({seq:[{int:0},{int:{bigint:e.n}},{int:e.e},{int:{bigint:e.d}},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.dmp1}},{int:{bigint:e.dmq1}},{int:{bigint:e.coeff}}]})}function y(e){return c({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a0",!0,{oid:{name:e.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]})}function v(e){return c({seq:[{int:0},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}},{int:{bigint:e.y}},{int:{bigint:e.x}}]})}if((void 0!==m&&e instanceof m||void 0!==p&&e instanceof p||void 0!==g&&e instanceof g)&&1==e.isPublic&&(void 0===t||"PKCS8PUB"==t))return rl(x=new h(e).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==t&&void 0!==m&&e instanceof m&&(void 0===i||null==i)&&1==e.isPrivate)return rl(x=f(e).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==t&&void 0!==g&&e instanceof g&&(void 0===i||null==i)&&1==e.isPrivate){var _=new l({name:e.curveName}).getEncodedHex(),b=y(e).getEncodedHex(),w="";return w+=rl(_,"EC PARAMETERS"),w+=rl(b,"EC PRIVATE KEY")}if("PKCS1PRV"==t&&void 0!==p&&e instanceof p&&(void 0===i||null==i)&&1==e.isPrivate)return rl(x=v(e).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==t&&void 0!==m&&e instanceof m&&void 0!==i&&null!=i&&1==e.isPrivate){var x=f(e).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",x,i,n,s)}if("PKCS5PRV"==t&&void 0!==g&&e instanceof g&&void 0!==i&&null!=i&&1==e.isPrivate){x=y(e).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",x,i,n,s)}if("PKCS5PRV"==t&&void 0!==p&&e instanceof p&&void 0!==i&&null!=i&&1==e.isPrivate){x=v(e).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",x,i,n,s)}var k=function(e,t){var i=S(e,t);return new c({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:i.pbkdf2Salt}},{int:i.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:i.encryptionSchemeIV}}]}]}]},{octstr:{hex:i.ciphertext}}]}).getEncodedHex()},S=function(e,t){var i=Ko.lib.WordArray.random(8),n=Ko.lib.WordArray.random(8),r=Ko.PBKDF2(t,i,{keySize:6,iterations:100}),s=Ko.enc.Hex.parse(e),o=Ko.TripleDES.encrypt(s,r,{iv:n})+"",a={};return a.ciphertext=o,a.pbkdf2Salt=Ko.enc.Hex.stringify(i),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=Ko.enc.Hex.stringify(n),a};if("PKCS8PRV"==t&&null!=m&&e instanceof m&&1==e.isPrivate){var A=f(e).getEncodedHex();x=c({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===i||null==i?rl(x,"PRIVATE KEY"):rl(b=k(x,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==g&&e instanceof g&&1==e.isPrivate){A=new c({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]}).getEncodedHex(),x=c({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===i||null==i?rl(x,"PRIVATE KEY"):rl(b=k(x,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==p&&e instanceof p&&1==e.isPrivate){A=new d({bigint:e.x}).getEncodedHex(),x=c({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===i||null==i?rl(x,"PRIVATE KEY"):rl(b=k(x,i),"ENCRYPTED PRIVATE KEY")}throw new Error("unsupported object nor format")},gl.getKeyFromCSRPEM=function(e){var t=sl(e,"CERTIFICATE REQUEST");return gl.getKeyFromCSRHex(t)},gl.getKeyFromCSRHex=function(e){var t=gl.parseCSRHex(e);return gl.getKey(t.p8pubkeyhex,null,"pkcs8pub")},gl.parseCSRHex=function(e){var t=Ga,i=t.getChildIdx,n=t.getTLV,r={},s=e;if("30"!=s.substr(0,2))throw"malformed CSR(code:001)";var o=i(s,0);if(o.length<1)throw"malformed CSR(code:002)";if("30"!=s.substr(o[0],2))throw"malformed CSR(code:003)";var a=i(s,o[0]);if(a.length<3)throw"malformed CSR(code:004)";return r.p8pubkeyhex=n(s,a[2]),r},gl.getKeyID=function(e){var t=gl,i=Ga;"string"==typeof e&&-1!=e.indexOf("BEGIN ")&&(e=t.getKey(e));var n=sl(t.getPEM(e)),r=i.getIdxbyList(n,0,[1]),s=i.getV(n,r).substring(2);return $a.crypto.Util.hashHex(s,"sha1")},gl.getJWKFromKey=function(e){var t={};if(e instanceof Ba&&e.isPrivate)return t.kty="RSA",t.n=Za(e.n.toString(16)),t.e=Za(e.e.toString(16)),t.d=Za(e.d.toString(16)),t.p=Za(e.p.toString(16)),t.q=Za(e.q.toString(16)),t.dp=Za(e.dmp1.toString(16)),t.dq=Za(e.dmq1.toString(16)),t.qi=Za(e.coeff.toString(16)),t;if(e instanceof Ba&&e.isPublic)return t.kty="RSA",t.n=Za(e.n.toString(16)),t.e=Za(e.e.toString(16)),t;if(e instanceof $a.crypto.ECDSA&&e.isPrivate){if("P-256"!==(n=e.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var i=e.getPublicKeyXYHex();return t.kty="EC",t.crv=n,t.x=Za(i.x),t.y=Za(i.y),t.d=Za(e.prvKeyHex),t}if(e instanceof $a.crypto.ECDSA&&e.isPublic){var n;if("P-256"!==(n=e.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;i=e.getPublicKeyXYHex();return t.kty="EC",t.crv=n,t.x=Za(i.x),t.y=Za(i.y),t}throw"not supported key object"},Ba.getPosArrayOfChildrenFromHex=function(e){return Ga.getChildIdx(e,0)},Ba.getHexValueArrayOfChildrenFromHex=function(e){var t,i=Ga.getV,n=i(e,(t=Ba.getPosArrayOfChildrenFromHex(e))[0]),r=i(e,t[1]),s=i(e,t[2]),o=i(e,t[3]),a=i(e,t[4]),l=i(e,t[5]),d=i(e,t[6]),c=i(e,t[7]),h=i(e,t[8]);return(t=new Array).push(n,r,s,o,a,l,d,c,h),t},Ba.prototype.readPrivateKeyFromPEMString=function(e){var t=sl(e),i=Ba.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},Ba.prototype.readPKCS5PrvKeyHex=function(e){var t=Ba.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},Ba.prototype.readPKCS8PrvKeyHex=function(e){var t,i,n,r,s,o,a,l,d=Ga,c=d.getVbyListEx;if(!1===d.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=c(e,0,[2,0,1],"02"),i=c(e,0,[2,0,2],"02"),n=c(e,0,[2,0,3],"02"),r=c(e,0,[2,0,4],"02"),s=c(e,0,[2,0,5],"02"),o=c(e,0,[2,0,6],"02"),a=c(e,0,[2,0,7],"02"),l=c(e,0,[2,0,8],"02")}catch(e){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,i,n,r,s,o,a,l)},Ba.prototype.readPKCS5PubKeyHex=function(e){var t=Ga,i=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(2!==n.length||"02"!==e.substr(n[0],2)||"02"!==e.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var r=i(e,n[0]),s=i(e,n[1]);this.setPublic(r,s)},Ba.prototype.readPKCS8PubKeyHex=function(e){var t=Ga;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var i=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(i)},Ba.prototype.readCertPubKeyHex=function(e,t){var i,n;(i=new _l).readCertHex(e),n=i.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var ml=new RegExp("[^0-9a-f]","gi");function fl(e,t){for(var i="",n=t/4-e.length,r=0;r<n;r++)i+="0";return i+e}function yl(e,t,i){for(var n="",r=0;n.length<t;)n+=tl(i(il(e+String.fromCharCode.apply(String,[(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r])))),r+=1;return n}function vl(e){for(var t in $a.crypto.Util.DIGESTINFOHEAD){var i=$a.crypto.Util.DIGESTINFOHEAD[t],n=i.length;if(e.substring(0,n)==i)return[t,e.substring(n)]}return[]}function _l(e){var t,i=Ga,n=i.getChildIdx,r=i.getV,s=i.getTLV,o=i.getVbyList,a=i.getVbyListEx,l=i.getTLVbyList,d=i.getTLVbyListEx,c=i.getIdxbyList,h=i.getIdxbyListEx,u=i.getVidx,p=i.oidname,g=i.hextooidstr,m=_l,f=sl;try{t=$a.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(e){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==l(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var e=d(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(e)},this.getAlgorithmIdentifierName=function(e){for(var i in t)if(e===t[i])return i;return p(a(e,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return l(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return m.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return l(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return m.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var e=o(this.hex,0,[0,4+this.foffset,0]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e)},this.getNotAfter=function(){var e=o(this.hex,0,[0,4+this.foffset,1]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e)},this.getPublicKeyHex=function(){return i.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return c(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var e=this.getPublicKeyIdx();return c(this.hex,e,[1,0],"30")},this.getPublicKey=function(){return gl.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var e=l(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(e)},this.getSignatureValueHex=function(){return o(this.hex,0,[2],"03",!0)},this.verifySignature=function(e){var t=this.getSignatureAlgorithmField(),i=this.getSignatureValueHex(),n=l(this.hex,0,[0],"30"),r=new $a.crypto.Signature({alg:t});return r.init(e),r.updateHex(n),r.verify(i)},this.parseExt=function(e){var t,s,a;if(void 0===e){if(a=this.hex,3!==this.version)return-1;t=c(a,0,[0,7,0],"30"),s=n(a,t)}else{a=sl(e);var l=c(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=r(a,l))return void(this.aExtInfo=new Array);t=c(a,0,[0,3,0,1,0],"30"),s=n(a,t),this.hex=a}this.aExtInfo=new Array;for(var d=0;d<s.length;d++){var h={critical:!1},p=0;3===n(a,s[d]).length&&(h.critical=!0,p=1),h.oid=i.hextooidstr(o(a,s[d],[0],"06"));var g=c(a,s[d],[1+p]);h.vidx=u(a,g),this.aExtInfo.push(h)}},this.getExtInfo=function(e){var t=this.aExtInfo,i=e;if(e.match(/^[0-9.]+$/)||(i=$a.asn1.x509.OID.name2oid(e)),""!==i)for(var n=0;n<t.length;n++)if(t[n].oid===i)return t[n]},this.getExtBasicConstraints=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("basicConstraints");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var n={extname:"basicConstraints"};if(t&&(n.critical=!0),"3000"===e)return n;if("30030101ff"===e)return n.cA=!0,n;if("30060101ff02"===e.substr(0,12)){var o=r(e,10),a=parseInt(o,16);return n.cA=!0,n.pathLen=a,n}throw new Error("hExtV parse error: "+e)},this.getExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("keyUsage");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var n={extname:"keyUsage"};return t&&(n.critical=!0),n.names=this.getExtKeyUsageString(e).split(","),n},this.getExtKeyUsageBin=function(e){if(void 0===e){var t=this.getExtInfo("keyUsage");if(void 0===t)return"";e=s(this.hex,t.vidx)}if(8!=e.length&&10!=e.length)throw new Error("malformed key usage value: "+e);var i="000000000000000"+parseInt(e.substr(6),16).toString(2);return 8==e.length&&(i=i.slice(-8)),10==e.length&&(i=i.slice(-16)),""==(i=i.replace(/0+$/,""))&&(i="0"),i},this.getExtKeyUsageString=function(e){for(var t=this.getExtKeyUsageBin(e),i=new Array,n=0;n<t.length;n++)"1"==t.substr(n,1)&&i.push(_l.KEYUSAGE_NAME[n]);return i.join(",")},this.getExtSubjectKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("subjectKeyIdentifier");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var n={extname:"subjectKeyIdentifier"};t&&(n.critical=!0);var o=r(e,0);return n.kid={hex:o},n},this.getExtAuthorityKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("authorityKeyIdentifier");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var o={extname:"authorityKeyIdentifier"};t&&(o.critical=!0);for(var a=n(e,0),l=0;l<a.length;l++){var d=e.substr(a[l],2);if("80"===d&&(o.kid={hex:r(e,a[l])}),"a1"===d){var c=s(e,a[l]),h=this.getGeneralNames(c);o.issuer=h[0].dn}"82"===d&&(o.sn={hex:r(e,a[l])})}return o},this.getExtExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("extKeyUsage");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var o={extname:"extKeyUsage",array:[]};t&&(o.critical=!0);for(var a=n(e,0),l=0;l<a.length;l++)o.array.push(p(r(e,a[l])));return o},this.getExtExtKeyUsageName=function(){var e=this.getExtInfo("extKeyUsage");if(void 0===e)return e;var t=new Array,i=s(this.hex,e.vidx);if(""===i)return t;for(var o=n(i,0),a=0;a<o.length;a++)t.push(p(r(i,o[a])));return t},this.getExtSubjectAltName=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("subjectAltName");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var n={extname:"subjectAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getExtIssuerAltName=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("issuerAltName");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var n={extname:"issuerAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getGeneralNames=function(e){for(var t=n(e,0),i=[],r=0;r<t.length;r++){var o=this.getGeneralName(s(e,t[r]));void 0!==o&&i.push(o)}return i},this.getGeneralName=function(e){var t=e.substr(0,2),i=r(e,0),n=tl(i);return"81"==t?{rfc822:n}:"82"==t?{dns:n}:"86"==t?{uri:n}:"87"==t?{ip:dl(i)}:"a4"==t?{dn:this.getX500Name(i)}:void 0},this.getExtSubjectAltName2=function(){var e,t,i,o=this.getExtInfo("subjectAltName");if(void 0===o)return o;for(var a=new Array,l=s(this.hex,o.vidx),d=n(l,0),c=0;c<d.length;c++)i=l.substr(d[c],2),e=r(l,d[c]),"81"===i&&(t=el(e),a.push(["MAIL",t])),"82"===i&&(t=el(e),a.push(["DNS",t])),"84"===i&&(t=_l.hex2dn(e,0),a.push(["DN",t])),"86"===i&&(t=el(e),a.push(["URI",t])),"87"===i&&(t=dl(e),a.push(["IP",t]));return a},this.getExtCRLDistributionPoints=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("cRLDistributionPoints");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var r={extname:"cRLDistributionPoints",array:[]};t&&(r.critical=!0);for(var o=n(e,0),a=0;a<o.length;a++){var l=s(e,o[a]);r.array.push(this.getDistributionPoint(l))}return r},this.getDistributionPoint=function(e){for(var t={},i=n(e,0),r=0;r<i.length;r++){var o=e.substr(i[r],2),a=s(e,i[r]);"a0"==o&&(t.dpname=this.getDistributionPointName(a))}return t},this.getDistributionPointName=function(e){for(var t={},i=n(e,0),r=0;r<i.length;r++){var o=e.substr(i[r],2),a=s(e,i[r]);"a0"==o&&(t.full=this.getGeneralNames(a))}return t},this.getExtCRLDistributionPointsURI=function(){var e=this.getExtInfo("cRLDistributionPoints");if(void 0===e)return e;for(var t=new Array,i=n(this.hex,e.vidx),r=0;r<i.length;r++)try{var s=el(o(this.hex,i[r],[0,0,0],"86"));t.push(s)}catch(e){}return t},this.getExtAIAInfo=function(){var e=this.getExtInfo("authorityInfoAccess");if(void 0===e)return e;for(var t={ocsp:[],caissuer:[]},i=n(this.hex,e.vidx),r=0;r<i.length;r++){var s=o(this.hex,i[r],[0],"06"),a=o(this.hex,i[r],[1],"86");"2b06010505073001"===s&&t.ocsp.push(el(a)),"2b06010505073002"===s&&t.caissuer.push(el(a))}return t},this.getExtAuthorityInfoAccess=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("authorityInfoAccess");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var r={extname:"authorityInfoAccess",array:[]};t&&(r.critical=!0);for(var l=n(e,0),d=0;d<l.length;d++){var c=a(e,l[d],[0],"06"),h=el(o(e,l[d],[1],"86"));if("2b06010505073001"==c)r.array.push({ocsp:h});else{if("2b06010505073002"!=c)throw new Error("unknown method: "+c);r.array.push({caissuer:h})}}return r},this.getExtCertificatePolicies=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("certificatePolicies");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var r={extname:"certificatePolicies",array:[]};t&&(r.critical=!0);for(var o=n(e,0),a=0;a<o.length;a++){var l=s(e,o[a]),d=this.getPolicyInformation(l);r.array.push(d)}return r},this.getPolicyInformation=function(e){var t={},i=o(e,0,[0],"06");t.policyoid=p(i);var r=h(e,0,[1],"30");if(-1!=r){t.array=[];for(var a=n(e,r),l=0;l<a.length;l++){var d=s(e,a[l]),c=this.getPolicyQualifierInfo(d);t.array.push(c)}}return t},this.getPolicyQualifierInfo=function(e){var t={},i=o(e,0,[0],"06");if("2b06010505070201"===i){var n=a(e,0,[1],"16");t.cps=tl(n)}else if("2b06010505070202"===i){var r=l(e,0,[1],"30");t.unotice=this.getUserNotice(r)}return t},this.getUserNotice=function(e){for(var t={},i=n(e,0),r=0;r<i.length;r++){var o=s(e,i[r]);"30"!=o.substr(0,2)&&(t.exptext=this.getDisplayText(o))}return t},this.getDisplayText=function(e){var t={};return t.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[e.substr(0,2)],t.str=tl(r(e,0)),t},this.getExtCRLNumber=function(e,t){var i={extname:"cRLNumber"};if(t&&(i.critical=!0),"02"==e.substr(0,2))return i.num={hex:r(e,0)},i;throw new Error("hExtV parse error: "+e)},this.getExtCRLReason=function(e,t){var i={extname:"cRLReason"};if(t&&(i.critical=!0),"0a"==e.substr(0,2))return i.code=parseInt(r(e,0),16),i;throw new Error("hExtV parse error: "+e)},this.getExtOcspNonce=function(e,t){var i={extname:"ocspNonce"};t&&(i.critical=!0);var n=r(e,0);return i.hex=n,i},this.getExtOcspNoCheck=function(e,t){var i={extname:"ocspNoCheck"};return t&&(i.critical=!0),i},this.getExtAdobeTimeStamp=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("adobeTimeStamp");if(void 0===i)return;e=s(this.hex,i.vidx),t=i.critical}var r={extname:"adobeTimeStamp"};t&&(r.critical=!0);var o=n(e,0);if(o.length>1){var a=s(e,o[1]),l=this.getGeneralName(a);null!=l.uri&&(r.uri=l.uri)}if(o.length>2){var d=s(e,o[2]);"0101ff"==d&&(r.reqauth=!0),"010100"==d&&(r.reqauth=!1)}return r},this.getX500NameRule=function(e){for(var t=null,i=[],n=0;n<e.length;n++)for(var r=e[n],s=0;s<r.length;s++)i.push(r[s]);for(n=0;n<i.length;n++){var o=i[n],a=o.ds,l=o.value,d=o.type;if("prn"!=a&&"utf8"!=a&&"ia5"!=a)return"mixed";if("ia5"==a){if("CN"!=d)return"mixed";if($a.lang.String.isMail(l))continue;return"mixed"}if("C"==d){if("prn"==a)continue;return"mixed"}if(null==t)t=a;else if(t!==a)return"mixed"}return null==t?"prn":t},this.getX500Name=function(e){var t=this.getX500NameArray(e);return{array:t,str:this.dnarraytostr(t)}},this.getX500NameArray=function(e){for(var t=[],i=n(e,0),r=0;r<i.length;r++)t.push(this.getRDN(s(e,i[r])));return t},this.getRDN=function(e){for(var t=[],i=n(e,0),r=0;r<i.length;r++)t.push(this.getAttrTypeAndValue(s(e,i[r])));return t},this.getAttrTypeAndValue=function(e){var t={type:null,value:null,ds:null},i=n(e,0),r=o(e,i[0],[],"06"),s=o(e,i[1],[]),a=$a.asn1.ASN1Util.oidHexToInt(r);return t.type=$a.asn1.x509.OID.oid2atype(a),t.value=tl(s),t.ds=this.HEX2STAG[e.substr(i[1],2)],t},this.readCertPEM=function(e){this.readCertHex(f(e))},this.readCertHex=function(e){this.hex=e,this.getVersion();try{c(this.hex,0,[0,7],"a3"),this.parseExt()}catch(e){}},this.getParam=function(){var e={};return e.version=this.getVersion(),e.serial={hex:this.getSerialNumberHex()},e.sigalg=this.getSignatureAlgorithmField(),e.issuer=this.getIssuer(),e.notbefore=this.getNotBefore(),e.notafter=this.getNotAfter(),e.subject=this.getSubject(),e.sbjpubkey=rl(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){null==e&&(-1!=h(this.hex,0,[0,"[3]"])&&(e=d(this.hex,0,[0,"[3]",0],"30")));for(var t=[],i=n(e,0),r=0;r<i.length;r++){var o=s(e,i[r]),a=this.getExtParam(o);null!=a&&t.push(a)}return t},this.getExtParam=function(e){var t=n(e,0).length;if(2!=t&&3!=t)throw new Error("wrong number elements in Extension: "+t+" "+e);var i=g(o(e,0,[0],"06")),r=!1;3==t&&"0101ff"==l(e,0,[1])&&(r=!0);var s=l(e,0,[t-1,0]),a=void 0;if("2.5.29.14"==i?a=this.getExtSubjectKeyIdentifier(s,r):"2.5.29.15"==i?a=this.getExtKeyUsage(s,r):"2.5.29.17"==i?a=this.getExtSubjectAltName(s,r):"2.5.29.18"==i?a=this.getExtIssuerAltName(s,r):"2.5.29.19"==i?a=this.getExtBasicConstraints(s,r):"2.5.29.31"==i?a=this.getExtCRLDistributionPoints(s,r):"2.5.29.32"==i?a=this.getExtCertificatePolicies(s,r):"2.5.29.35"==i?a=this.getExtAuthorityKeyIdentifier(s,r):"2.5.29.37"==i?a=this.getExtExtKeyUsage(s,r):"1.3.6.1.5.5.7.1.1"==i?a=this.getExtAuthorityInfoAccess(s,r):"2.5.29.20"==i?a=this.getExtCRLNumber(s,r):"2.5.29.21"==i?a=this.getExtCRLReason(s,r):"1.3.6.1.5.5.7.48.1.2"==i?a=this.getExtOcspNonce(s,r):"1.3.6.1.5.5.7.48.1.5"==i?a=this.getExtOcspNoCheck(s,r):"1.2.840.113583.1.1.9.1"==i&&(a=this.getExtAdobeTimeStamp(s,r)),null!=a)return a;var d={extname:i,extn:s};return r&&(d.critical=!0),d},this.findExt=function(e,t){for(var i=0;i<e.length;i++)if(e[i].extname==t)return e[i];return null},this.updateExtCDPFullURI=function(e,t){var i=this.findExt(e,"cRLDistributionPoints");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)if(null!=n[r].dpname&&null!=n[r].dpname.full)for(var s=n[r].dpname.full,o=0;o<s.length;o++){var a=s[r];null!=a.uri&&(a.uri=t)}},this.updateExtAIAOCSP=function(e,t){var i=this.findExt(e,"authorityInfoAccess");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)null!=n[r].ocsp&&(n[r].ocsp=t)},this.updateExtAIACAIssuer=function(e,t){var i=this.findExt(e,"authorityInfoAccess");if(null!=i&&null!=i.array)for(var n=i.array,r=0;r<n.length;r++)null!=n[r].caissuer&&(n[r].caissuer=t)},this.dnarraytostr=function(e){return"/"+e.map((function(e){return function(e){return e.map((function(e){return function(e){return e.type+"="+e.value}(e)})).join("+")}(e)})).join("/")},this.getInfo=function(){var e,t,i,n=function(e){return JSON.stringify(e.array).replace(/[\[\]\{\}\"]/g,"")},r=function(e){for(var t="",i=e.array,n=0;n<i.length;n++){var r=i[n];if(t+="    policy oid: "+r.policyoid+"\n",void 0!==r.array)for(var s=0;s<r.array.length;s++){var o=r.array[s];void 0!==o.cps&&(t+="    cps: "+o.cps+"\n")}}return t},s=function(e){for(var t="",i=e.array,n=0;n<i.length;n++){var r=i[n];try{void 0!==r.dpname.full[0].uri&&(t+="    "+r.dpname.full[0].uri+"\n")}catch(e){}try{void 0!==r.dname.full[0].dn.hex&&(t+="    "+_l.hex2dn(r.dpname.full[0].dn.hex)+"\n")}catch(e){}}return t},o=function(e){for(var t="",i=e.array,n=0;n<i.length;n++){var r=i[n];void 0!==r.caissuer&&(t+="    caissuer: "+r.caissuer+"\n"),void 0!==r.ocsp&&(t+="    ocsp: "+r.ocsp+"\n")}return t};if(e="Basic Fields\n",e+="  serial number: "+this.getSerialNumberHex()+"\n",e+="  signature algorithm: "+this.getSignatureAlgorithmField()+"\n",e+="  issuer: "+this.getIssuerString()+"\n",e+="  notBefore: "+this.getNotBefore()+"\n",e+="  notAfter: "+this.getNotAfter()+"\n",e+="  subject: "+this.getSubjectString()+"\n",e+="  subject public key info: \n",e+="    key algorithm: "+(t=this.getPublicKey()).type+"\n","RSA"===t.type&&(e+="    n="+ul(t.n.toString(16)).substr(0,16)+"...\n",e+="    e="+ul(t.e.toString(16))+"\n"),null!=(i=this.aExtInfo)){e+="X509v3 Extensions:\n";for(var a=0;a<i.length;a++){var l=i[a],d=$a.asn1.x509.OID.oid2name(l.oid);""===d&&(d=l.oid);var c="";if(!0===l.critical&&(c="CRITICAL"),e+="  "+d+" "+c+":\n","basicConstraints"===d){var h=this.getExtBasicConstraints();void 0===h.cA?e+="    {}\n":(e+="    cA=true",void 0!==h.pathLen&&(e+=", pathLen="+h.pathLen),e+="\n")}else if("keyUsage"===d)e+="    "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===d)e+="    "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===d){var u=this.getExtAuthorityKeyIdentifier();void 0!==u.kid&&(e+="    kid="+u.kid.hex+"\n")}else{if("extKeyUsage"===d)e+="    "+this.getExtExtKeyUsage().array.join(", ")+"\n";else if("subjectAltName"===d)e+="    "+n(this.getExtSubjectAltName())+"\n";else if("cRLDistributionPoints"===d)e+=s(this.getExtCRLDistributionPoints());else if("authorityInfoAccess"===d)e+=o(this.getExtAuthorityInfoAccess());else"certificatePolicies"===d&&(e+=r(this.getExtCertificatePolicies()))}}}return e+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",e+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"},"string"==typeof e&&(-1!=e.indexOf("-----BEGIN")?this.readCertPEM(e):$a.lang.String.isHex(e)&&this.readCertHex(e))}Ba.prototype.sign=function(e,t){var i=function(e){return $a.crypto.Util.hashString(e,t)}(e);return this.signWithMessageHash(i,t)},Ba.prototype.signWithMessageHash=function(e,t){var i=Ma($a.crypto.Util.getPaddedDigestInfoHex(e,t,this.n.bitLength()),16);return fl(this.doPrivate(i).toString(16),this.n.bitLength())},Ba.prototype.signPSS=function(e,t,i){var n=function(e){return $a.crypto.Util.hashHex(e,t)}(il(e));return void 0===i&&(i=-1),this.signWithMessageHashPSS(n,t,i)},Ba.prototype.signWithMessageHashPSS=function(e,t,i){var n,r=tl(e),s=r.length,o=this.n.bitLength()-1,a=Math.ceil(o/8),l=function(e){return $a.crypto.Util.hashHex(e,t)};if(-1===i||void 0===i)i=s;else if(-2===i)i=a-s-2;else if(i<-2)throw new Error("invalid salt length");if(a<s+i+2)throw new Error("data too long");var d="";i>0&&(d=new Array(i),(new Oa).nextBytes(d),d=String.fromCharCode.apply(String,d));var c=tl(l(il("\0\0\0\0\0\0\0\0"+r+d))),h=[];for(n=0;n<a-i-s-2;n+=1)h[n]=0;var u=String.fromCharCode.apply(String,h)+""+d,p=yl(c,u.length,l),g=[];for(n=0;n<u.length;n+=1)g[n]=u.charCodeAt(n)^p.charCodeAt(n);var m=65280>>8*a-o&255;for(g[0]&=~m,n=0;n<s;n++)g.push(c.charCodeAt(n));return g.push(188),fl(this.doPrivate(new ta(g)).toString(16),this.n.bitLength())},Ba.prototype.verify=function(e,t){var i=Ma(t=(t=t.replace(ml,"")).replace(/[ \n]+/g,""),16);if(i.bitLength()>this.n.bitLength())return 0;var n=vl(this.doPublic(i).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var r=n[0],s=n[1],o=function(e){return $a.crypto.Util.hashString(e,r)}(e);return s==o},Ba.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=Ma(t,16);if(i.bitLength()>this.n.bitLength())return 0;var n=vl(this.doPublic(i).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==e)},Ba.prototype.verifyPSS=function(e,t,i,n){var r=function(e){return $a.crypto.Util.hashHex(e,i)}(il(e));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(r,t,i,n)},Ba.prototype.verifyWithMessageHashPSS=function(e,t,i,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r,s=new ta(t,16),o=function(e){return $a.crypto.Util.hashHex(e,i)},a=tl(e),l=a.length,d=this.n.bitLength()-1,c=Math.ceil(d/8);if(-1===n||void 0===n)n=l;else if(-2===n)n=c-l-2;else if(n<-2)throw new Error("invalid salt length");if(c<l+n+2)throw new Error("data too long");var h=this.doPublic(s).toByteArray();for(r=0;r<h.length;r+=1)h[r]&=255;for(;h.length<c;)h.unshift(0);if(188!==h[c-1])throw new Error("encoded message does not end in 0xbc");var u=(h=String.fromCharCode.apply(String,h)).substr(0,c-l-1),p=h.substr(u.length,l),g=65280>>8*c-d&255;if(u.charCodeAt(0)&g)throw new Error("bits beyond keysize not zero");var m=yl(p,u.length,o),f=[];for(r=0;r<u.length;r+=1)f[r]=u.charCodeAt(r)^m.charCodeAt(r);f[0]&=~g;var y=c-l-n-2;for(r=0;r<y;r+=1)if(0!==f[r])throw new Error("leftmost octets not zero");if(1!==f[y])throw new Error("0x01 marker not found");return p===tl(o(il("\0\0\0\0\0\0\0\0"+a+String.fromCharCode.apply(String,f.slice(-n)))))},Ba.SALT_LEN_HLEN=-1,Ba.SALT_LEN_MAX=-2,Ba.SALT_LEN_RECOVER=-2,_l.hex2dn=function(e,t){if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed DN");for(var i=new Array,n=Ga.getChildIdx(e,t),r=0;r<n.length;r++)i.push(_l.hex2rdn(e,n[r]));return i=i.map((function(e){return e.replace("/","\\/")})),"/"+i.join("/")},_l.hex2rdn=function(e,t){if(void 0===t&&(t=0),"31"!==e.substr(t,2))throw new Error("malformed RDN");for(var i=new Array,n=Ga.getChildIdx(e,t),r=0;r<n.length;r++)i.push(_l.hex2attrTypeValue(e,n[r]));return i=i.map((function(e){return e.replace("+","\\+")})),i.join("+")},_l.hex2attrTypeValue=function(e,t){var i=Ga,n=i.getV;if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed attribute type and value");var r=i.getChildIdx(e,t);2!==r.length||e.substr(r[0],2);var s=n(e,r[0]),o=$a.asn1.ASN1Util.oidHexToInt(s);return $a.asn1.x509.OID.oid2atype(o)+"="+tl(n(e,r[1]))},_l.getPublicKeyFromCertHex=function(e){var t=new _l;return t.readCertHex(e),t.getPublicKey()},_l.getPublicKeyFromCertPEM=function(e){var t=new _l;return t.readCertPEM(e),t.getPublicKey()},_l.getPublicKeyInfoPropOfCertPEM=function(e){var t,i,n=Ga.getVbyList,r={};return r.algparam=null,(t=new _l).readCertPEM(e),i=t.getPublicKeyHex(),r.keyhex=n(i,0,[1],"03").substr(2),r.algoid=n(i,0,[0,0],"06"),"2a8648ce3d0201"===r.algoid&&(r.algparam=n(i,0,[0,1],"06")),r},_l.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"],void 0!==$a&&$a||($a={}),void 0!==$a.jws&&$a.jws||($a.jws={}),$a.jws.JWS=function(){var e=$a.jws.JWS.isSafeJSONString;this.parseJWS=function(t,i){if(void 0===this.parsedJWS||!i&&void 0===this.parsedJWS.sigvalH){var n=t.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(null==n)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var r=n[1],s=n[2],o=n[3],a=r+"."+s;if(this.parsedJWS={},this.parsedJWS.headB64U=r,this.parsedJWS.payloadB64U=s,this.parsedJWS.sigvalB64U=o,this.parsedJWS.si=a,!i){var l=Qa(o),d=Ma(l,16);this.parsedJWS.sigvalH=l,this.parsedJWS.sigvalBI=d}var c=Wa(r),h=Wa(s);if(this.parsedJWS.headS=c,this.parsedJWS.payloadS=h,!e(c,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+c}}},$a.jws.JWS.sign=function(e,t,i,n,r){var s=$a,o=s.jws.JWS,a=o.readSafeJSONString,l=o.isSafeJSONString,d=s.crypto;d.ECDSA;var c,h,u,p=d.Mac,g=d.Signature,m=JSON;if("string"!=typeof t&&"object"!=typeof t)throw"spHeader must be JSON string or object: "+t;if("object"==typeof t&&(h=t,c=m.stringify(h)),"string"==typeof t){if(!l(c=t))throw"JWS Head is not safe JSON string: "+c;h=a(c)}if(u=i,"object"==typeof i&&(u=m.stringify(i)),""!=e&&null!=e||void 0===h.alg||(e=h.alg),""!=e&&null!=e&&void 0===h.alg&&(h.alg=e,c=m.stringify(h)),e!==h.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+h.alg;var f=null;if(void 0===o.jwsalg2sigalg[e])throw"unsupported alg name: "+e;f=o.jwsalg2sigalg[e];var y=Va(c)+"."+Va(u),v="";if("Hmac"==f.substr(0,4)){if(void 0===n)throw"mac key shall be specified for HS* alg";var _=new p({alg:f,prov:"cryptojs",pass:n});_.updateString(y),v=_.doFinal()}else if(-1!=f.indexOf("withECDSA")){(w=new g({alg:f})).init(n,r),w.updateString(y);var b=w.sign();v=$a.crypto.ECDSA.asn1SigToConcatSig(b)}else{var w;if("none"!=f)(w=new g({alg:f})).init(n,r),w.updateString(y),v=w.sign()}return y+"."+Za(v)},$a.jws.JWS.verify=function(e,t,i){var n,r=$a,s=r.jws.JWS,o=s.readSafeJSONString,a=r.crypto,l=a.ECDSA,d=a.Mac,c=a.Signature;n=Ba;var h=e.split(".");if(3!==h.length)return!1;var u=h[0]+"."+h[1],p=Qa(h[2]),g=o(Wa(h[0])),m=null,f=null;if(void 0===g.alg)throw"algorithm not specified in header";if((f=(m=g.alg).substr(0,2),null!=i&&"[object Array]"===Object.prototype.toString.call(i)&&i.length>0)&&-1==(":"+i.join(":")+":").indexOf(":"+m+":"))throw"algorithm '"+m+"' not accepted in the list";if("none"!=m&&null===t)throw"key shall be specified to verify.";if("string"==typeof t&&-1!=t.indexOf("-----BEGIN ")&&(t=gl.getKey(t)),!("RS"!=f&&"PS"!=f||t instanceof n))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==f&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";var y=null;if(void 0===s.jwsalg2sigalg[g.alg])throw"unsupported alg name: "+m;if("none"==(y=s.jwsalg2sigalg[m]))throw"not supported";if("Hmac"==y.substr(0,4)){if(void 0===t)throw"hexadecimal key shall be specified for HMAC";var v=new d({alg:y,pass:t});return v.updateString(u),p==v.doFinal()}if(-1!=y.indexOf("withECDSA")){var _,b=null;try{b=l.concatSigToASN1Sig(p)}catch(e){return!1}return(_=new c({alg:y})).init(t),_.updateString(u),_.verify(b)}return(_=new c({alg:y})).init(t),_.updateString(u),_.verify(p)},$a.jws.JWS.parse=function(e){var t,i,n,r=e.split("."),s={};if(2!=r.length&&3!=r.length)throw"malformed sJWS: wrong number of '.' splitted elements";return t=r[0],i=r[1],3==r.length&&(n=r[2]),s.headerObj=$a.jws.JWS.readSafeJSONString(Wa(t)),s.payloadObj=$a.jws.JWS.readSafeJSONString(Wa(i)),s.headerPP=JSON.stringify(s.headerObj,null,"  "),null==s.payloadObj?s.payloadPP=Wa(i):s.payloadPP=JSON.stringify(s.payloadObj,null,"  "),void 0!==n&&(s.sigHex=Qa(n)),s},$a.jws.JWS.verifyJWT=function(e,t,i){var n=$a.jws,r=n.JWS,s=r.readSafeJSONString,o=r.inArray,a=r.includedArray,l=e.split("."),d=l[0],c=l[1];Qa(l[2]);var h=s(Wa(d)),u=s(Wa(c));if(void 0===h.alg)return!1;if(void 0===i.alg)throw"acceptField.alg shall be specified";if(!o(h.alg,i.alg))return!1;if(void 0!==u.iss&&"object"==typeof i.iss&&!o(u.iss,i.iss))return!1;if(void 0!==u.sub&&"object"==typeof i.sub&&!o(u.sub,i.sub))return!1;if(void 0!==u.aud&&"object"==typeof i.aud)if("string"==typeof u.aud){if(!o(u.aud,i.aud))return!1}else if("object"==typeof u.aud&&!a(u.aud,i.aud))return!1;var p=n.IntDate.getNow();return void 0!==i.verifyAt&&"number"==typeof i.verifyAt&&(p=i.verifyAt),void 0!==i.gracePeriod&&"number"==typeof i.gracePeriod||(i.gracePeriod=0),!(void 0!==u.exp&&"number"==typeof u.exp&&u.exp+i.gracePeriod<p)&&(!(void 0!==u.nbf&&"number"==typeof u.nbf&&p<u.nbf-i.gracePeriod)&&(!(void 0!==u.iat&&"number"==typeof u.iat&&p<u.iat-i.gracePeriod)&&((void 0===u.jti||void 0===i.jti||u.jti===i.jti)&&!!r.verify(e,t,i.alg))))},$a.jws.JWS.includedArray=function(e,t){var i=$a.jws.JWS.inArray;if(null===e)return!1;if("object"!=typeof e)return!1;if("number"!=typeof e.length)return!1;for(var n=0;n<e.length;n++)if(!i(e[n],t))return!1;return!0},$a.jws.JWS.inArray=function(e,t){if(null===t)return!1;if("object"!=typeof t)return!1;if("number"!=typeof t.length)return!1;for(var i=0;i<t.length;i++)if(t[i]==e)return!0;return!1},$a.jws.JWS.jwsalg2sigalg={HS256:"HmacSHA256",HS384:"HmacSHA384",HS512:"HmacSHA512",RS256:"SHA256withRSA",RS384:"SHA384withRSA",RS512:"SHA512withRSA",ES256:"SHA256withECDSA",ES384:"SHA384withECDSA",PS256:"SHA256withRSAandMGF1",PS384:"SHA384withRSAandMGF1",PS512:"SHA512withRSAandMGF1",none:"none"},$a.jws.JWS.isSafeJSONString=function(e,t,i){var n=null;try{return"object"!=typeof(n=Ua(e))||n.constructor===Array?0:(t&&(t[i]=n),1)}catch(e){return 0}},$a.jws.JWS.readSafeJSONString=function(e){var t=null;try{return"object"!=typeof(t=Ua(e))||t.constructor===Array?null:t}catch(e){return null}},$a.jws.JWS.getEncodedSignatureValueFromJWS=function(e){var t=e.match(/^[^.]+\.[^.]+\.([^.]+)$/);if(null==t)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";return t[1]},$a.jws.JWS.getJWKthumbprint=function(e){if("RSA"!==e.kty&&"EC"!==e.kty&&"oct"!==e.kty)throw"unsupported algorithm for JWK Thumprint";var t="{";if("RSA"===e.kty){if("string"!=typeof e.n||"string"!=typeof e.e)throw"wrong n and e value for RSA key";t+='"e":"'+e.e+'",',t+='"kty":"'+e.kty+'",',t+='"n":"'+e.n+'"}'}else if("EC"===e.kty){if("string"!=typeof e.crv||"string"!=typeof e.x||"string"!=typeof e.y)throw"wrong crv, x and y value for EC key";t+='"crv":"'+e.crv+'",',t+='"kty":"'+e.kty+'",',t+='"x":"'+e.x+'",',t+='"y":"'+e.y+'"}'}else if("oct"===e.kty){if("string"!=typeof e.k)throw"wrong k value for oct(symmetric) key";t+='"kty":"'+e.kty+'",',t+='"k":"'+e.k+'"}'}var i=il(t);return Za($a.crypto.Util.hashHex(i,"sha256"))},$a.jws.IntDate={},$a.jws.IntDate.get=function(e){var t=$a.jws.IntDate,i=t.getNow,n=t.getZulu;if("now"==e)return i();if("now + 1hour"==e)return i()+3600;if("now + 1day"==e)return i()+86400;if("now + 1month"==e)return i()+2592e3;if("now + 1year"==e)return i()+31536e3;if(e.match(/Z$/))return n(e);if(e.match(/^[0-9]+$/))return parseInt(e);throw"unsupported format: "+e},$a.jws.IntDate.getZulu=function(e){return ol(e)},$a.jws.IntDate.getNow=function(){return~~(new Date/1e3)},$a.jws.IntDate.intDate2UTCString=function(e){return new Date(1e3*e).toUTCString()},$a.jws.IntDate.intDate2Zulu=function(e){var t=new Date(1e3*e);return("0000"+t.getUTCFullYear()).slice(-4)+("00"+(t.getUTCMonth()+1)).slice(-2)+("00"+t.getUTCDate()).slice(-2)+("00"+t.getUTCHours()).slice(-2)+("00"+t.getUTCMinutes()).slice(-2)+("00"+t.getUTCSeconds()).slice(-2)+"Z"},$a.crypto,$a.crypto,$a.crypto,$a.crypto,$a.crypto,$a.crypto;const bl=$a.crypto,{jws:wl}=$a;const xl=function({jws:e,KeyUtil:t,X509:i,crypto:n,hextob64u:r,b64tohex:s,AllowedSigningAlgs:o}){return class a{static parseJwt(t){Mo.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(t);return{header:i.headerObj,payload:i.payloadObj}}catch(e){Mo.error(e)}}static validateJwt(e,n,r,o,l,d,c){Mo.debug("JoseUtil.validateJwt");try{if("RSA"===n.kty)if(n.e&&n.n)n=t.getKey(n);else{if(!n.x5c||!n.x5c.length)return Mo.error("JoseUtil.validateJwt: RSA key missing key material",n),Promise.reject(new Error("RSA key missing key material"));var h=s(n.x5c[0]);n=i.getPublicKeyFromCertHex(h)}else{if("EC"!==n.kty)return Mo.error("JoseUtil.validateJwt: Unsupported key type",n&&n.kty),Promise.reject(new Error("Unsupported key type: "+n&&n.kty));if(!(n.crv&&n.x&&n.y))return Mo.error("JoseUtil.validateJwt: EC key missing key material",n),Promise.reject(new Error("EC key missing key material"));n=t.getKey(n)}return a._validateJwt(e,n,r,o,l,d,c)}catch(e){return Mo.error(e&&e.message||e),Promise.reject("JWT validation failed")}}static validateJwtAttributes(e,t,i,n,r,s){n||(n=0),r||(r=parseInt(Date.now()/1e3));var o=a.parseJwt(e).payload;if(!o.iss)return Mo.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(o.iss!==t)return Mo.error("JoseUtil._validateJwt: Invalid issuer in token",o.iss),Promise.reject(new Error("Invalid issuer in token: "+o.iss));if(!o.aud)return Mo.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(o.aud===i||Array.isArray(o.aud)&&o.aud.indexOf(i)>=0))return Mo.error("JoseUtil._validateJwt: Invalid audience in token",o.aud),Promise.reject(new Error("Invalid audience in token: "+o.aud));if(o.azp&&o.azp!==i)return Mo.error("JoseUtil._validateJwt: Invalid azp in token",o.azp),Promise.reject(new Error("Invalid azp in token: "+o.azp));if(!s){var l=r+n,d=r-n;if(!o.iat)return Mo.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(l<o.iat)return Mo.error("JoseUtil._validateJwt: iat is in the future",o.iat),Promise.reject(new Error("iat is in the future: "+o.iat));if(o.nbf&&l<o.nbf)return Mo.error("JoseUtil._validateJwt: nbf is in the future",o.nbf),Promise.reject(new Error("nbf is in the future: "+o.nbf));if(!o.exp)return Mo.error("JoseUtil._validateJwt: exp was not provided"),Promise.reject(new Error("exp was not provided"));if(o.exp<d)return Mo.error("JoseUtil._validateJwt: exp is in the past",o.exp),Promise.reject(new Error("exp is in the past:"+o.exp))}return Promise.resolve(o)}static _validateJwt(t,i,n,r,s,l,d){return a.validateJwtAttributes(t,n,r,s,l,d).then((n=>{try{return e.JWS.verify(t,i,o)?n:(Mo.error("JoseUtil._validateJwt: signature validation failed"),Promise.reject(new Error("signature validation failed")))}catch(e){return Mo.error(e&&e.message||e),Promise.reject(new Error("signature validation failed"))}}))}static hashString(e,t){try{return n.Util.hashString(e,t)}catch(e){Mo.error(e)}}static hexToBase64Url(e){try{return r(e)}catch(e){Mo.error(e)}}}}({jws:wl,KeyUtil:gl,X509:_l,crypto:bl,hextob64u:Za,b64tohex:ea,AllowedSigningAlgs:["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]});class kl{constructor(e,t=$o,i=Wo,n=xl){if(!e)throw Mo.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new t(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new i(this._settings),this._joseUtil=n}getClaims(e){return e?this._metadataService.getUserInfoEndpoint().then((t=>(Mo.debug("UserInfoService.getClaims: received userinfo url",t),this._jsonService.getJson(t,e).then((e=>(Mo.debug("UserInfoService.getClaims: claims received",e),e)))))):(Mo.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))}_getClaimsFromJwt(e){try{let i=this._joseUtil.parseJwt(e.responseText);if(!i||!i.header||!i.payload)return Mo.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",i),Promise.reject(new Error("Failed to parse id_token"));var t=i.header.kid;let n;switch(this._settings.userInfoJwtIssuer){case"OP":n=this._metadataService.getIssuer();break;case"ANY":n=Promise.resolve(i.payload.iss);break;default:n=Promise.resolve(this._settings.userInfoJwtIssuer)}return n.then((n=>(Mo.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+n),this._metadataService.getSigningKeys().then((r=>{if(!r)return Mo.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));let s;if(Mo.debug("UserInfoService._getClaimsFromJwt: Received signing keys"),t)s=r.filter((e=>e.kid===t))[0];else{if((r=this._filterByAlg(r,i.header.alg)).length>1)return Mo.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));s=r[0]}if(!s)return Mo.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));let o=this._settings.client_id,a=this._settings.clockSkew;return Mo.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",a),this._joseUtil.validateJwt(e.responseText,s,n,o,a,void 0,!0).then((()=>(Mo.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),i.payload)))})))))}catch(e){return Mo.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",e.message),void reject(e)}}_filterByAlg(e,t){var i=null;if(t.startsWith("RS"))i="RSA";else if(t.startsWith("PS"))i="PS";else{if(!t.startsWith("ES"))return Mo.debug("UserInfoService._filterByAlg: alg not supported: ",t),[];i="EC"}return Mo.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",i),e=e.filter((e=>e.kty===i)),Mo.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",i,e.length),e}}class Sl{constructor(e,t=$o,i=Wo){if(!e)throw Mo.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new t,this._metadataService=new i(this._settings)}exchangeCode(e={}){(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var t=void 0,i=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=i?("client_secret_basic"==i&&(t=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((i=>(Mo.debug("TokenClient.exchangeCode: Received token endpoint"),this._jsonService.postForm(i,e,t).then((e=>(Mo.debug("TokenClient.exchangeCode: response received"),e))))))):(Mo.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(Mo.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(Mo.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(Mo.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(Mo.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))}exchangeRefreshToken(e={}){(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var t=void 0,i=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==i&&(t=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((i=>(Mo.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),this._jsonService.postForm(i,e,t).then((e=>(Mo.debug("TokenClient.exchangeRefreshToken: response received"),e))))))):(Mo.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(Mo.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))}}class Al extends Error{constructor({error:e,error_description:t,error_uri:i,state:n,session_state:r}={}){if(!e)throw Mo.error("No error passed to ErrorResponse"),new Error("error");super(t||e),this.name="ErrorResponse",this.error=e,this.error_description=t,this.error_uri=i,this.state=n,this.session_state=r}}const El=["nonce","at_hash","iat","nbf","exp","aud","iss","c_hash"];class Cl{constructor(e,t=Wo,i=kl,n=xl,r=Sl){if(!e)throw Mo.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new t(this._settings),this._userInfoService=new i(this._settings),this._joseUtil=n,this._tokenClient=new r(this._settings)}validateSigninResponse(e,t){return Mo.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(e,t).then((t=>(Mo.debug("ResponseValidator.validateSigninResponse: state processed"),this._validateTokens(e,t).then((t=>(Mo.debug("ResponseValidator.validateSigninResponse: tokens validated"),this._processClaims(e,t).then((e=>(Mo.debug("ResponseValidator.validateSigninResponse: claims processed"),e)))))))))}validateSignoutResponse(e,t){return e.id!==t.state?(Mo.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(Mo.debug("ResponseValidator.validateSignoutResponse: state validated"),t.state=e.data,t.error?(Mo.warn("ResponseValidator.validateSignoutResponse: Response was error",t.error),Promise.reject(new Al(t))):Promise.resolve(t))}_processSigninParams(e,t){if(e.id!==t.state)return Mo.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!e.client_id)return Mo.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!e.authority)return Mo.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return Mo.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return Mo.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=e.client_id;return Mo.debug("ResponseValidator._processSigninParams: state validated"),t.state=e.data,t.error?(Mo.warn("ResponseValidator._processSigninParams: Response was error",t.error),Promise.reject(new Al(t))):e.nonce&&!t.id_token?(Mo.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!e.nonce&&t.id_token?(Mo.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):e.code_verifier&&!t.code?(Mo.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!e.code_verifier&&t.code?(Mo.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(t.scope||(t.scope=e.scope),Promise.resolve(t))}_processClaims(e,t){if(t.isOpenIdConnect){if(Mo.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),t.profile=this._filterProtocolClaims(t.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&t.access_token)return Mo.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(t.access_token).then((e=>(Mo.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),e.sub!==t.profile.sub?(Mo.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(t.profile=this._mergeClaims(t.profile,e),Mo.debug("ResponseValidator._processClaims: user info claims received, updated profile:",t.profile),t))));Mo.debug("ResponseValidator._processClaims: not loading user info")}else Mo.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(t)}_mergeClaims(e,t){var i=Object.assign({},e);for(let e in t){var n=t[e];Array.isArray(n)||(n=[n]);for(let t=0;t<n.length;t++){let r=n[t];i[e]?Array.isArray(i[e])?i[e].indexOf(r)<0&&i[e].push(r):i[e]!==r&&("object"==typeof r&&this._settings.mergeClaims?i[e]=this._mergeClaims(i[e],r):i[e]=[i[e],r]):i[e]=r}}return i}_filterProtocolClaims(e){Mo.debug("ResponseValidator._filterProtocolClaims, incoming claims:",e);var t=Object.assign({},e);return this._settings._filterProtocolClaims?(El.forEach((e=>{delete t[e]})),Mo.debug("ResponseValidator._filterProtocolClaims: protocol claims filtered",t)):Mo.debug("ResponseValidator._filterProtocolClaims: protocol claims not filtered"),t}_validateTokens(e,t){return t.code?(Mo.debug("ResponseValidator._validateTokens: Validating code"),this._processCode(e,t)):t.id_token?t.access_token?(Mo.debug("ResponseValidator._validateTokens: Validating id_token and access_token"),this._validateIdTokenAndAccessToken(e,t)):(Mo.debug("ResponseValidator._validateTokens: Validating id_token"),this._validateIdToken(e,t)):(Mo.debug("ResponseValidator._validateTokens: No code to process or id_token to validate"),Promise.resolve(t))}_processCode(e,t){var i={client_id:e.client_id,client_secret:e.client_secret,code:t.code,redirect_uri:e.redirect_uri,code_verifier:e.code_verifier};return e.extraTokenParams&&"object"==typeof e.extraTokenParams&&Object.assign(i,e.extraTokenParams),this._tokenClient.exchangeCode(i).then((i=>{for(var n in i)t[n]=i[n];return t.id_token?(Mo.debug("ResponseValidator._processCode: token response successful, processing id_token"),this._validateIdTokenAttributes(e,t)):(Mo.debug("ResponseValidator._processCode: token response successful, returning response"),t)}))}_validateIdTokenAttributes(e,t){return this._metadataService.getIssuer().then((i=>{let n=e.client_id,r=this._settings.clockSkew;return Mo.debug("ResponseValidator._validateIdTokenAttributes: Validaing JWT attributes; using clock skew (in seconds) of: ",r),this._settings.getEpochTime().then((s=>this._joseUtil.validateJwtAttributes(t.id_token,i,n,r,s).then((i=>e.nonce&&e.nonce!==i.nonce?(Mo.error("ResponseValidator._validateIdTokenAttributes: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):i.sub?(t.profile=i,t):(Mo.error("ResponseValidator._validateIdTokenAttributes: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))))))}))}_validateIdTokenAndAccessToken(e,t){return this._validateIdToken(e,t).then((e=>this._validateAccessToken(e)))}_getSigningKeyForJwt(e){return this._metadataService.getSigningKeys().then((t=>{const i=e.header.kid;if(!t)return Mo.error("ResponseValidator._validateIdToken: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));let n;if(Mo.debug("ResponseValidator._validateIdToken: Received signing keys"),i)n=t.filter((e=>e.kid===i))[0];else{if((t=this._filterByAlg(t,e.header.alg)).length>1)return Mo.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));n=t[0]}return Promise.resolve(n)}))}_getSigningKeyForJwtWithSingleRetry(e){return this._getSigningKeyForJwt(e).then((t=>t?Promise.resolve(t):(this._metadataService.resetSigningKeys(),this._getSigningKeyForJwt(e))))}_validateIdToken(e,t){if(!e.nonce)return Mo.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));let i=this._joseUtil.parseJwt(t.id_token);return i&&i.header&&i.payload?e.nonce!==i.payload.nonce?(Mo.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((n=>(Mo.debug("ResponseValidator._validateIdToken: Received issuer"),this._getSigningKeyForJwtWithSingleRetry(i).then((r=>{if(!r)return Mo.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));let s=e.client_id,o=this._settings.clockSkew;return Mo.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",o),this._joseUtil.validateJwt(t.id_token,r,n,s,o).then((()=>(Mo.debug("ResponseValidator._validateIdToken: JWT validation successful"),i.payload.sub?(t.profile=i.payload,t):(Mo.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token"))))))}))))):(Mo.error("ResponseValidator._validateIdToken: Failed to parse id_token",i),Promise.reject(new Error("Failed to parse id_token")))}_filterByAlg(e,t){var i=null;if(t.startsWith("RS"))i="RSA";else if(t.startsWith("PS"))i="PS";else{if(!t.startsWith("ES"))return Mo.debug("ResponseValidator._filterByAlg: alg not supported: ",t),[];i="EC"}return Mo.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",i),e=e.filter((e=>e.kty===i)),Mo.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",i,e.length),e}_validateAccessToken(e){if(!e.profile)return Mo.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!e.profile.at_hash)return Mo.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!e.id_token)return Mo.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));let t=this._joseUtil.parseJwt(e.id_token);if(!t||!t.header)return Mo.error("ResponseValidator._validateAccessToken: Failed to parse id_token",t),Promise.reject(new Error("Failed to parse id_token"));var i=t.header.alg;if(!i||5!==i.length)return Mo.error("ResponseValidator._validateAccessToken: Unsupported alg:",i),Promise.reject(new Error("Unsupported alg: "+i));var n=i.substr(2,3);if(!n)return Mo.error("ResponseValidator._validateAccessToken: Unsupported alg:",i,n),Promise.reject(new Error("Unsupported alg: "+i));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return Mo.error("ResponseValidator._validateAccessToken: Unsupported alg:",i,n),Promise.reject(new Error("Unsupported alg: "+i));let r="sha"+n;var s=this._joseUtil.hashString(e.access_token,r);if(!s)return Mo.error("ResponseValidator._validateAccessToken: access_token hash failed:",r),Promise.reject(new Error("Failed to validate at_hash"));var o=s.substr(0,s.length/2),a=this._joseUtil.hexToBase64Url(o);return a!==e.profile.at_hash?(Mo.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",a,e.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(Mo.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(e))}}const Tl=".well-known/openid-configuration";class Il{constructor({authority:e,metadataUrl:t,metadata:i,signingKeys:n,metadataSeed:r,client_id:s,client_secret:o,response_type:a="id_token",scope:l="openid",redirect_uri:d,post_logout_redirect_uri:c,client_authentication:h="client_secret_post",prompt:u,display:p,max_age:g,ui_locales:m,acr_values:f,resource:y,response_mode:v,filterProtocolClaims:_=!0,loadUserInfo:b=!0,staleStateAge:w=900,clockSkew:x=300,clockService:k=new Lo,userInfoJwtIssuer:S="OP",mergeClaims:A=!1,stateStore:E=new Uo,ResponseValidatorCtor:C=Cl,MetadataServiceCtor:T=Wo,extraQueryParams:I={},extraTokenParams:D={}}={}){this._authority=e,this._metadataUrl=t,this._metadata=i,this._metadataSeed=r,this._signingKeys=n,this._client_id=s,this._client_secret=o,this._response_type=a,this._scope=l,this._redirect_uri=d,this._post_logout_redirect_uri=c,this._client_authentication=h,this._prompt=u,this._display=p,this._max_age=g,this._ui_locales=m,this._acr_values=f,this._resource=y,this._response_mode=v,this._filterProtocolClaims=!!_,this._loadUserInfo=!!b,this._staleStateAge=w,this._clockSkew=x,this._clockService=k,this._userInfoJwtIssuer=S,this._mergeClaims=!!A,this._stateStore=E,this._validator=new C(this),this._metadataService=new T(this),this._extraQueryParams="object"==typeof I?I:{},this._extraTokenParams="object"==typeof D?D:{}}get client_id(){return this._client_id}set client_id(e){if(this._client_id)throw Mo.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=e}get client_secret(){return this._client_secret}get response_type(){return this._response_type}get scope(){return this._scope}get redirect_uri(){return this._redirect_uri}get post_logout_redirect_uri(){return this._post_logout_redirect_uri}get client_authentication(){return this._client_authentication}get prompt(){return this._prompt}get display(){return this._display}get max_age(){return this._max_age}get ui_locales(){return this._ui_locales}get acr_values(){return this._acr_values}get resource(){return this._resource}get response_mode(){return this._response_mode}get authority(){return this._authority}set authority(e){if(this._authority)throw Mo.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=e}get metadataUrl(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(Tl)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=Tl)),this._metadataUrl}get metadata(){return this._metadata}set metadata(e){this._metadata=e}get metadataSeed(){return this._metadataSeed}set metadataSeed(e){this._metadataSeed=e}get signingKeys(){return this._signingKeys}set signingKeys(e){this._signingKeys=e}get filterProtocolClaims(){return this._filterProtocolClaims}get loadUserInfo(){return this._loadUserInfo}get staleStateAge(){return this._staleStateAge}get clockSkew(){return this._clockSkew}get userInfoJwtIssuer(){return this._userInfoJwtIssuer}get mergeClaims(){return this._mergeClaims}get stateStore(){return this._stateStore}get validator(){return this._validator}get metadataService(){return this._metadataService}get extraQueryParams(){return this._extraQueryParams}set extraQueryParams(e){this._extraQueryParams="object"==typeof e?e:{}}get extraTokenParams(){return this._extraTokenParams}set extraTokenParams(e){this._extraTokenParams="object"==typeof e?e:{}}getEpochTime(){return this._clockService.getEpochTime()}}class Dl{static addQueryParam(e,t,i){return e.indexOf("?")<0&&(e+="?"),"?"!==e[e.length-1]&&(e+="&"),e+=encodeURIComponent(t),e+="=",e+=encodeURIComponent(i)}static parseUrlFragment(e,t="#",i=Ho){"string"!=typeof e&&(e=i.location.href);var n=e.lastIndexOf(t);n>=0&&(e=e.substr(n+1)),"?"===t&&(n=e.indexOf("#"))>=0&&(e=e.substr(0,n));for(var r,s={},o=/([^&=]+)=([^&]*)/g,a=0;r=o.exec(e);)if(s[decodeURIComponent(r[1])]=decodeURIComponent(r[2].replace(/\+/g," ")),a++>50)return Mo.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",e),{error:"Response exceeded expected number of parameters"};for(var l in s)return s;return{}}}var Pl="undefined"!=typeof window?window.crypto||window.msCrypto:null;function Fl(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^Pl.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))}function Nl(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^16*Math.random()>>e/4).toString(16)))}function Rl(){return("undefined"!=Pl&&null!==Pl&&void 0!==Pl.getRandomValues?Fl:Nl)().replace(/-/g,"")}class Ol{constructor({id:e,data:t,created:i,request_type:n}={}){this._id=e||Rl(),this._data=t,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=n}get id(){return this._id}get data(){return this._data}get created(){return this._created}get request_type(){return this._request_type}toStorageString(){return Mo.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})}static fromStorageString(e){return Mo.debug("State.fromStorageString"),new Ol(JSON.parse(e))}static clearStaleState(e,t){var i=Date.now()/1e3-t;return e.getAllKeys().then((t=>{Mo.debug("State.clearStaleState: got keys",t);var n=[];for(let s=0;s<t.length;s++){let o=t[s];var r=e.get(o).then((t=>{let n=!1;if(t)try{var r=Ol.fromStorageString(t);Mo.debug("State.clearStaleState: got item from key: ",o,r.created),r.created<=i&&(n=!0)}catch(e){Mo.error("State.clearStaleState: Error parsing state for key",o,e.message),n=!0}else Mo.debug("State.clearStaleState: no item in storage for key: ",o),n=!0;if(n)return Mo.debug("State.clearStaleState: removed item for key: ",o),e.remove(o)}));n.push(r)}return Mo.debug("State.clearStaleState: waiting on promise count:",n.length),Promise.all(n)}))}}class Ml extends Ol{constructor({nonce:e,authority:t,client_id:i,redirect_uri:n,code_verifier:r,response_mode:s,client_secret:o,scope:a,extraTokenParams:l,skipUserInfo:d}={}){if(super(arguments[0]),!0===e?this._nonce=Rl():e&&(this._nonce=e),!0===r?this._code_verifier=Rl()+Rl()+Rl():r&&(this._code_verifier=r),this.code_verifier){let e=xl.hashString(this.code_verifier,"SHA256");this._code_challenge=xl.hexToBase64Url(e)}this._redirect_uri=n,this._authority=t,this._client_id=i,this._response_mode=s,this._client_secret=o,this._scope=a,this._extraTokenParams=l,this._skipUserInfo=d}get nonce(){return this._nonce}get authority(){return this._authority}get client_id(){return this._client_id}get redirect_uri(){return this._redirect_uri}get code_verifier(){return this._code_verifier}get code_challenge(){return this._code_challenge}get response_mode(){return this._response_mode}get client_secret(){return this._client_secret}get scope(){return this._scope}get extraTokenParams(){return this._extraTokenParams}get skipUserInfo(){return this._skipUserInfo}toStorageString(){return Mo.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})}static fromStorageString(e){Mo.debug("SigninState.fromStorageString");var t=JSON.parse(e);return new Ml(t)}}class Ll{constructor({url:e,client_id:t,redirect_uri:i,response_type:n,scope:r,authority:s,data:o,prompt:a,display:l,max_age:d,ui_locales:c,id_token_hint:h,login_hint:u,acr_values:p,resource:g,response_mode:m,request:f,request_uri:y,extraQueryParams:v,request_type:_,client_secret:b,extraTokenParams:w,skipUserInfo:x}){if(!e)throw Mo.error("SigninRequest.ctor: No url passed"),new Error("url");if(!t)throw Mo.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!i)throw Mo.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!n)throw Mo.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!r)throw Mo.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!s)throw Mo.error("SigninRequest.ctor: No authority passed"),new Error("authority");let k=Ll.isOidc(n),S=Ll.isCode(n);m||(m=Ll.isCode(n)?"query":null),this.state=new Ml({nonce:k,data:o,client_id:t,authority:s,redirect_uri:i,code_verifier:S,request_type:_,response_mode:m,client_secret:b,scope:r,extraTokenParams:w,skipUserInfo:x}),e=Dl.addQueryParam(e,"client_id",t),e=Dl.addQueryParam(e,"redirect_uri",i),e=Dl.addQueryParam(e,"response_type",n),e=Dl.addQueryParam(e,"scope",r),e=Dl.addQueryParam(e,"state",this.state.id),k&&(e=Dl.addQueryParam(e,"nonce",this.state.nonce)),S&&(e=Dl.addQueryParam(e,"code_challenge",this.state.code_challenge),e=Dl.addQueryParam(e,"code_challenge_method","S256"));var A={prompt:a,display:l,max_age:d,ui_locales:c,id_token_hint:h,login_hint:u,acr_values:p,resource:g,request:f,request_uri:y,response_mode:m};for(let t in A)A[t]&&(e=Dl.addQueryParam(e,t,A[t]));for(let t in v)e=Dl.addQueryParam(e,t,v[t]);this.url=e}static isOidc(e){return!!e.split(/\s+/g).filter((function(e){return"id_token"===e}))[0]}static isOAuth(e){return!!e.split(/\s+/g).filter((function(e){return"token"===e}))[0]}static isCode(e){return!!e.split(/\s+/g).filter((function(e){return"code"===e}))[0]}}class Bl{constructor(e,t="#"){var i=Dl.parseUrlFragment(e,t);this.error=i.error,this.error_description=i.error_description,this.error_uri=i.error_uri,this.code=i.code,this.state=i.state,this.id_token=i.id_token,this.session_state=i.session_state,this.access_token=i.access_token,this.token_type=i.token_type,this.scope=i.scope,this.profile=void 0,this.expires_in=i.expires_in}get expires_in(){if(this.expires_at){let e=parseInt(Date.now()/1e3);return this.expires_at-e}}set expires_in(e){let t=parseInt(e);if("number"==typeof t&&t>0){let e=parseInt(Date.now()/1e3);this.expires_at=e+t}}get expired(){let e=this.expires_in;if(void 0!==e)return e<=0}get scopes(){return(this.scope||"").split(" ")}get isOpenIdConnect(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}class zl{constructor({url:e,id_token_hint:t,post_logout_redirect_uri:i,data:n,extraQueryParams:r,request_type:s}){if(!e)throw Mo.error("SignoutRequest.ctor: No url passed"),new Error("url");t&&(e=Dl.addQueryParam(e,"id_token_hint",t)),i&&(e=Dl.addQueryParam(e,"post_logout_redirect_uri",i),n&&(this.state=new Ol({data:n,request_type:s}),e=Dl.addQueryParam(e,"state",this.state.id)));for(let t in r)e=Dl.addQueryParam(e,t,r[t]);this.url=e}}class jl{constructor(e){var t=Dl.parseUrlFragment(e,"?");this.error=t.error,this.error_description=t.error_description,this.error_uri=t.error_uri,this.state=t.state}}let Hl=class{constructor(e={}){this._settings=e instanceof Il?e:new Il(e)}get _stateStore(){return this.settings.stateStore}get _validator(){return this.settings.validator}get _metadataService(){return this.settings.metadataService}get settings(){return this._settings}get metadataService(){return this._metadataService}createSigninRequest({response_type:e,scope:t,redirect_uri:i,data:n,state:r,prompt:s,display:o,max_age:a,ui_locales:l,id_token_hint:d,login_hint:c,acr_values:h,resource:u,request:p,request_uri:g,response_mode:m,extraQueryParams:f,extraTokenParams:y,request_type:v,skipUserInfo:_}={},b){Mo.debug("OidcClient.createSigninRequest");let w=this._settings.client_id;e=e||this._settings.response_type,t=t||this._settings.scope,i=i||this._settings.redirect_uri,s=s||this._settings.prompt,o=o||this._settings.display,a=a||this._settings.max_age,l=l||this._settings.ui_locales,h=h||this._settings.acr_values,u=u||this._settings.resource,m=m||this._settings.response_mode,f=f||this._settings.extraQueryParams,y=y||this._settings.extraTokenParams;let x=this._settings.authority;return Ll.isCode(e)&&"code"!==e?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((k=>{Mo.debug("OidcClient.createSigninRequest: Received authorization endpoint",k);let S=new Ll({url:k,client_id:w,redirect_uri:i,response_type:e,scope:t,data:n||r,authority:x,prompt:s,display:o,max_age:a,ui_locales:l,id_token_hint:d,login_hint:c,acr_values:h,resource:u,request:p,request_uri:g,extraQueryParams:f,extraTokenParams:y,request_type:v,response_mode:m,client_secret:this._settings.client_secret,skipUserInfo:_});var A=S.state;return(b=b||this._stateStore).set(A.id,A.toStorageString()).then((()=>S))}))}readSigninResponseState(e,t,i=!1){Mo.debug("OidcClient.readSigninResponseState");let n="query"===this._settings.response_mode||!this._settings.response_mode&&Ll.isCode(this._settings.response_type);var r=new Bl(e,n?"?":"#");return r.state?(t=t||this._stateStore,(i?t.remove.bind(t):t.get.bind(t))(r.state).then((e=>{if(!e)throw Mo.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:Ml.fromStorageString(e),response:r}}))):(Mo.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))}processSigninResponse(e,t){return Mo.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(e,t,!0).then((({state:e,response:t})=>(Mo.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),this._validator.validateSigninResponse(e,t))))}createSignoutRequest({id_token_hint:e,data:t,state:i,post_logout_redirect_uri:n,extraQueryParams:r,request_type:s}={},o){return Mo.debug("OidcClient.createSignoutRequest"),n=n||this._settings.post_logout_redirect_uri,r=r||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((a=>{if(!a)throw Mo.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");Mo.debug("OidcClient.createSignoutRequest: Received end session endpoint",a);let l=new zl({url:a,id_token_hint:e,post_logout_redirect_uri:n,data:t||i,extraQueryParams:r,request_type:s});var d=l.state;return d&&(Mo.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(o=o||this._stateStore).set(d.id,d.toStorageString())),l}))}readSignoutResponseState(e,t,i=!1){Mo.debug("OidcClient.readSignoutResponseState");var n=new jl(e);if(!n.state)return Mo.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(Mo.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new Al(n))):Promise.resolve({state:void 0,response:n});var r=n.state;return t=t||this._stateStore,(i?t.remove.bind(t):t.get.bind(t))(r).then((e=>{if(!e)throw Mo.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:Ol.fromStorageString(e),response:n}}))}processSignoutResponse(e,t){return Mo.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(e,t,!0).then((({state:e,response:t})=>e?(Mo.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),this._validator.validateSignoutResponse(e,t)):(Mo.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),t)))}clearStaleState(e){return Mo.debug("OidcClient.clearStaleState"),e=e||this._stateStore,Ol.clearStaleState(e,this.settings.staleStateAge)}};class Ul{prepare(){return Promise.resolve(this)}navigate(e){return e&&e.url?(e.useReplaceToNavigate?window.location.replace(e.url):window.location=e.url,Promise.resolve()):(Mo.error("RedirectNavigator.navigate: No url provided"),Promise.reject(new Error("No url provided")))}get url(){return window.location.href}}class $l{constructor(e){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}));let t=e.popupWindowTarget||"_blank",i=e.popupWindowFeatures||"location=no,toolbar=no,width=500,height=500,left=100,top=100;";this._popup=window.open("",t,i),this._popup&&(Mo.debug("PopupWindow.ctor: popup successfully created"),this._checkForPopupClosedTimer=window.setInterval(this._checkForPopupClosed.bind(this),500))}get promise(){return this._promise}navigate(e){return this._popup?e&&e.url?(Mo.debug("PopupWindow.navigate: Setting URL in popup"),this._id=e.id,this._id&&(window["popupCallback_"+e.id]=this._callback.bind(this)),this._popup.focus(),this._popup.window.location=e.url):(this._error("PopupWindow.navigate: no url provided"),this._error("No url provided")):this._error("PopupWindow.navigate: Error opening popup window"),this.promise}_success(e){Mo.debug("PopupWindow.callback: Successful response from popup window"),this._cleanup(),this._resolve(e)}_error(e){Mo.error("PopupWindow.error: ",e),this._cleanup(),this._reject(new Error(e))}close(){this._cleanup(!1)}_cleanup(e){Mo.debug("PopupWindow.cleanup"),window.clearInterval(this._checkForPopupClosedTimer),this._checkForPopupClosedTimer=null,delete window["popupCallback_"+this._id],this._popup&&!e&&this._popup.close(),this._popup=null}_checkForPopupClosed(){this._popup&&!this._popup.closed||this._error("Popup window closed")}_callback(e,t){this._cleanup(t),e?(Mo.debug("PopupWindow.callback success"),this._success({url:e})):(Mo.debug("PopupWindow.callback: Invalid response from popup"),this._error("Invalid response from popup"))}static notifyOpener(e,t,i){if(window.opener){if(e=e||window.location.href){var n=Dl.parseUrlFragment(e,i);if(n.state){var r="popupCallback_"+n.state,s=window.opener[r];s?(Mo.debug("PopupWindow.notifyOpener: passing url message to opener"),s(e,t)):Mo.warn("PopupWindow.notifyOpener: no matching callback found on opener")}else Mo.warn("PopupWindow.notifyOpener: no state found in response url")}}else Mo.warn("PopupWindow.notifyOpener: no window.opener. Can't complete notification.")}}class Vl{prepare(e){let t=new $l(e);return Promise.resolve(t)}callback(e,t,i){Mo.debug("PopupNavigator.callback");try{return $l.notifyOpener(e,t,i),Promise.resolve()}catch(e){return Promise.reject(e)}}}class Wl{constructor(e){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t})),this._boundMessageEvent=this._message.bind(this),window.addEventListener("message",this._boundMessageEvent,!1),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.width=0,this._frame.height=0,window.document.body.appendChild(this._frame)}navigate(e){if(e&&e.url){let t=e.silentRequestTimeout||1e4;Mo.debug("IFrameWindow.navigate: Using timeout of:",t),this._timer=window.setTimeout(this._timeout.bind(this),t),this._frame.src=e.url}else this._error("No url provided");return this.promise}get promise(){return this._promise}_success(e){this._cleanup(),Mo.debug("IFrameWindow: Successful response from frame window"),this._resolve(e)}_error(e){this._cleanup(),Mo.error(e),this._reject(new Error(e))}close(){this._cleanup()}_cleanup(){this._frame&&(Mo.debug("IFrameWindow: cleanup"),window.removeEventListener("message",this._boundMessageEvent,!1),window.clearTimeout(this._timer),window.document.body.removeChild(this._frame),this._timer=null,this._frame=null,this._boundMessageEvent=null)}_timeout(){Mo.debug("IFrameWindow.timeout"),this._error("Frame window timed out")}_message(e){if(Mo.debug("IFrameWindow.message"),this._timer&&e.origin===this._origin&&e.source===this._frame.contentWindow&&"string"==typeof e.data&&(e.data.startsWith("http://")||e.data.startsWith("https://"))){let t=e.data;t?this._success({url:t}):this._error("Invalid response from frame")}}get _origin(){return location.protocol+"//"+location.host}static notifyParent(e){Mo.debug("IFrameWindow.notifyParent"),(e=e||window.location.href)&&(Mo.debug("IFrameWindow.notifyParent: posting url message to parent"),window.parent.postMessage(e,location.protocol+"//"+location.host))}}class Gl{prepare(e){let t=new Wl(e);return Promise.resolve(t)}callback(e){Mo.debug("IFrameNavigator.callback");try{return Wl.notifyParent(e),Promise.resolve()}catch(e){return Promise.reject(e)}}}class ql extends Il{constructor({popup_redirect_uri:e,popup_post_logout_redirect_uri:t,popupWindowFeatures:i,popupWindowTarget:n,silent_redirect_uri:r,silentRequestTimeout:s,automaticSilentRenew:o=!1,validateSubOnSilentRenew:a=!1,includeIdTokenInSilentRenew:l=!0,monitorSession:d=!0,monitorAnonymousSession:c=!1,checkSessionInterval:h=2e3,stopCheckSessionOnError:u=!0,query_status_response_type:p,revokeAccessTokenOnSignout:g=!1,accessTokenExpiringNotificationTime:m=60,redirectNavigator:f=new Ul,popupNavigator:y=new Vl,iframeNavigator:v=new Gl,userStore:_=new Uo({store:Ho.sessionStorage})}={}){super(arguments[0]),this._popup_redirect_uri=e,this._popup_post_logout_redirect_uri=t,this._popupWindowFeatures=i,this._popupWindowTarget=n,this._silent_redirect_uri=r,this._silentRequestTimeout=s,this._automaticSilentRenew=o,this._validateSubOnSilentRenew=a,this._includeIdTokenInSilentRenew=l,this._accessTokenExpiringNotificationTime=m,this._monitorSession=d,this._monitorAnonymousSession=c,this._checkSessionInterval=h,this._stopCheckSessionOnError=u,p?this._query_status_response_type=p:arguments[0]&&arguments[0].response_type?this._query_status_response_type=Ll.isOidc(arguments[0].response_type)?"id_token":"code":this._query_status_response_type="id_token",this._revokeAccessTokenOnSignout=g,this._redirectNavigator=f,this._popupNavigator=y,this._iframeNavigator=v,this._userStore=_}get popup_redirect_uri(){return this._popup_redirect_uri}get popup_post_logout_redirect_uri(){return this._popup_post_logout_redirect_uri}get popupWindowFeatures(){return this._popupWindowFeatures}get popupWindowTarget(){return this._popupWindowTarget}get silent_redirect_uri(){return this._silent_redirect_uri}get silentRequestTimeout(){return this._silentRequestTimeout}get automaticSilentRenew(){return this._automaticSilentRenew}get validateSubOnSilentRenew(){return this._validateSubOnSilentRenew}get includeIdTokenInSilentRenew(){return this._includeIdTokenInSilentRenew}get accessTokenExpiringNotificationTime(){return this._accessTokenExpiringNotificationTime}get monitorSession(){return this._monitorSession}get monitorAnonymousSession(){return this._monitorAnonymousSession}get checkSessionInterval(){return this._checkSessionInterval}get stopCheckSessionOnError(){return this._stopCheckSessionOnError}get query_status_response_type(){return this._query_status_response_type}get revokeAccessTokenOnSignout(){return this._revokeAccessTokenOnSignout}get redirectNavigator(){return this._redirectNavigator}get popupNavigator(){return this._popupNavigator}get iframeNavigator(){return this._iframeNavigator}get userStore(){return this._userStore}}class Yl{constructor({id_token:e,session_state:t,access_token:i,refresh_token:n,token_type:r,scope:s,profile:o,expires_at:a,state:l}){this.id_token=e,this.session_state=t,this.access_token=i,this.refresh_token=n,this.token_type=r,this.scope=s,this.profile=o,this.expires_at=a,this.state=l}get expires_in(){if(this.expires_at){let e=parseInt(Date.now()/1e3);return this.expires_at-e}}set expires_in(e){let t=parseInt(e);if("number"==typeof t&&t>0){let e=parseInt(Date.now()/1e3);this.expires_at=e+t}}get expired(){let e=this.expires_in;if(void 0!==e)return e<=0}get scopes(){return(this.scope||"").split(" ")}toStorageString(){return Mo.debug("User.toStorageString"),JSON.stringify({id_token:this.id_token,session_state:this.session_state,access_token:this.access_token,refresh_token:this.refresh_token,token_type:this.token_type,scope:this.scope,profile:this.profile,expires_at:this.expires_at})}static fromStorageString(e){return Mo.debug("User.fromStorageString"),new Yl(JSON.parse(e))}}let Kl=class{constructor(e){this._name=e,this._callbacks=[]}addHandler(e){this._callbacks.push(e)}removeHandler(e){var t=this._callbacks.findIndex((t=>t===e));t>=0&&this._callbacks.splice(t,1)}raise(...e){Mo.debug("Event: Raising event: "+this._name);for(let t=0;t<this._callbacks.length;t++)this._callbacks[t](...e)}};class Jl extends Kl{constructor(e,t=Ho.timer,i=void 0){super(e),this._timer=t,this._nowFunc=i||(()=>Date.now()/1e3)}get now(){return parseInt(this._nowFunc())}init(e){e<=0&&(e=1),e=parseInt(e);var t=this.now+e;if(this.expiration===t&&this._timerHandle)Mo.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),Mo.debug("Timer.init timer "+this._name+" for duration:",e),this._expiration=t;var i=5;e<i&&(i=e),this._timerHandle=this._timer.setInterval(this._callback.bind(this),1e3*i)}}get expiration(){return this._expiration}cancel(){this._timerHandle&&(Mo.debug("Timer.cancel: ",this._name),this._timer.clearInterval(this._timerHandle),this._timerHandle=null)}_callback(){var e=this._expiration-this.now;Mo.debug("Timer.callback; "+this._name+" timer expires in:",e),this._expiration<=this.now&&(this.cancel(),super.raise())}}class Zl{constructor({accessTokenExpiringNotificationTime:e=60,accessTokenExpiringTimer:t=new Jl("Access token expiring"),accessTokenExpiredTimer:i=new Jl("Access token expired")}={}){this._accessTokenExpiringNotificationTime=e,this._accessTokenExpiring=t,this._accessTokenExpired=i}load(e){if(e.access_token&&void 0!==e.expires_in){let t=e.expires_in;if(Mo.debug("AccessTokenEvents.load: access token present, remaining duration:",t),t>0){let e=t-this._accessTokenExpiringNotificationTime;e<=0&&(e=1),Mo.debug("AccessTokenEvents.load: registering expiring timer in:",e),this._accessTokenExpiring.init(e)}else Mo.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();let i=t+1;Mo.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()}unload(){Mo.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()}addAccessTokenExpiring(e){this._accessTokenExpiring.addHandler(e)}removeAccessTokenExpiring(e){this._accessTokenExpiring.removeHandler(e)}addAccessTokenExpired(e){this._accessTokenExpired.addHandler(e)}removeAccessTokenExpired(e){this._accessTokenExpired.removeHandler(e)}}class Ql extends Zl{constructor(e){super(e),this._userLoaded=new Kl("User loaded"),this._userUnloaded=new Kl("User unloaded"),this._silentRenewError=new Kl("Silent renew error"),this._userSignedIn=new Kl("User signed in"),this._userSignedOut=new Kl("User signed out"),this._userSessionChanged=new Kl("User session changed")}load(e,t=!0){Mo.debug("UserManagerEvents.load"),super.load(e),t&&this._userLoaded.raise(e)}unload(){Mo.debug("UserManagerEvents.unload"),super.unload(),this._userUnloaded.raise()}addUserLoaded(e){this._userLoaded.addHandler(e)}removeUserLoaded(e){this._userLoaded.removeHandler(e)}addUserUnloaded(e){this._userUnloaded.addHandler(e)}removeUserUnloaded(e){this._userUnloaded.removeHandler(e)}addSilentRenewError(e){this._silentRenewError.addHandler(e)}removeSilentRenewError(e){this._silentRenewError.removeHandler(e)}_raiseSilentRenewError(e){Mo.debug("UserManagerEvents._raiseSilentRenewError",e.message),this._silentRenewError.raise(e)}addUserSignedIn(e){this._userSignedIn.addHandler(e)}removeUserSignedIn(e){this._userSignedIn.removeHandler(e)}_raiseUserSignedIn(){Mo.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()}addUserSignedOut(e){this._userSignedOut.addHandler(e)}removeUserSignedOut(e){this._userSignedOut.removeHandler(e)}_raiseUserSignedOut(){Mo.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()}addUserSessionChanged(e){this._userSessionChanged.addHandler(e)}removeUserSessionChanged(e){this._userSessionChanged.removeHandler(e)}_raiseUserSessionChanged(){Mo.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()}}class Xl{constructor(e){this._userManager=e}start(){this._callback||(this._callback=this._tokenExpiring.bind(this),this._userManager.events.addAccessTokenExpiring(this._callback),this._userManager.getUser().then((e=>{})).catch((e=>{Mo.error("SilentRenewService.start: Error from getUser:",e.message)})))}stop(){this._callback&&(this._userManager.events.removeAccessTokenExpiring(this._callback),delete this._callback)}_tokenExpiring(){this._userManager.signinSilent().then((e=>{Mo.debug("SilentRenewService._tokenExpiring: Silent token renewal successful")}),(e=>{Mo.error("SilentRenewService._tokenExpiring: Error from signinSilent:",e.message),this._userManager.events._raiseSilentRenewError(e)}))}}class ed{constructor(e,t,i,n,r=!0){this._callback=e,this._client_id=t,this._url=i,this._interval=n||2e3,this._stopOnError=r;var s=i.indexOf("/",i.indexOf("//")+2);this._frame_origin=i.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=i}load(){return new Promise((e=>{this._frame.onload=()=>{e()},window.document.body.appendChild(this._frame),this._boundMessageEvent=this._message.bind(this),window.addEventListener("message",this._boundMessageEvent,!1)}))}_message(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&("error"===e.data?(Mo.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===e.data?(Mo.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):Mo.debug("CheckSessionIFrame: "+e.data+" message from check session op iframe"))}start(e){if(this._session_state!==e){Mo.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=e;let t=()=>{this._frame.contentWindow.postMessage(this._client_id+" "+this._session_state,this._frame_origin)};t(),this._timer=window.setInterval(t,this._interval)}}stop(){this._session_state=null,this._timer&&(Mo.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)}}class td{constructor(e,t=ed,i=Ho.timer){if(!e)throw Mo.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=t,this._timer=i,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((e=>{e?this._start(e):this._settings.monitorAnonymousSession&&this._userManager.querySessionStatus().then((e=>{let t={session_state:e.session_state};e.sub&&e.sid&&(t.profile={sub:e.sub,sid:e.sid}),this._start(t)})).catch((e=>{Mo.error("SessionMonitor ctor: error from querySessionStatus:",e.message)}))})).catch((e=>{Mo.error("SessionMonitor ctor: error from getUser:",e.message)})))}get _settings(){return this._userManager.settings}get _metadataService(){return this._userManager.metadataService}get _client_id(){return this._settings.client_id}get _checkSessionInterval(){return this._settings.checkSessionInterval}get _stopCheckSessionOnError(){return this._settings.stopCheckSessionOnError}_start(e){let t=e.session_state;t&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,Mo.debug("SessionMonitor._start: session_state:",t,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,Mo.debug("SessionMonitor._start: session_state:",t,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(t):this._metadataService.getCheckSessionIframe().then((e=>{if(e){Mo.debug("SessionMonitor._start: Initializing check session iframe");let i=this._client_id,n=this._checkSessionInterval,r=this._stopCheckSessionOnError;this._checkSessionIFrame=new this._CheckSessionIFrameCtor(this._callback.bind(this),i,e,n,r),this._checkSessionIFrame.load().then((()=>{this._checkSessionIFrame.start(t)}))}else Mo.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((e=>{Mo.error("SessionMonitor._start: Error from getCheckSessionIframe:",e.message)})))}_stop(){if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(Mo.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession){let e=this._timer.setInterval((()=>{this._timer.clearInterval(e),this._userManager.querySessionStatus().then((e=>{let t={session_state:e.session_state};e.sub&&e.sid&&(t.profile={sub:e.sub,sid:e.sid}),this._start(t)})).catch((e=>{Mo.error("SessionMonitor: error from querySessionStatus:",e.message)}))}),1e3)}}_callback(){this._userManager.querySessionStatus().then((e=>{var t=!0;e?e.sub===this._sub?(t=!1,this._checkSessionIFrame.start(e.session_state),e.sid===this._sid?Mo.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(Mo.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),this._userManager.events._raiseUserSessionChanged())):Mo.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):Mo.debug("SessionMonitor._callback: Subject no longer signed into OP"),t&&(this._sub?(Mo.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),this._userManager.events._raiseUserSignedOut()):(Mo.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),this._userManager.events._raiseUserSignedIn()))})).catch((e=>{this._sub&&(Mo.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),this._userManager.events._raiseUserSignedOut())}))}}class id{constructor(e,t=Ho.XMLHttpRequest,i=Wo){if(!e)throw Mo.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=t,this._metadataService=new i(this._settings)}revoke(e,t,i="access_token"){if(!e)throw Mo.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw Mo.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((n=>{if(n){Mo.debug("TokenRevocationClient.revoke: Revoking "+i);var r=this._settings.client_id,s=this._settings.client_secret;return this._revoke(n,r,s,e,i)}if(t)throw Mo.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))}_revoke(e,t,i,n,r){return new Promise(((s,o)=>{var a=new this._XMLHttpRequestCtor;a.open("POST",e),a.onload=()=>{Mo.debug("TokenRevocationClient.revoke: HTTP response received, status",a.status),200===a.status?s():o(Error(a.statusText+" ("+a.status+")"))},a.onerror=()=>{Mo.debug("TokenRevocationClient.revoke: Network Error."),o("Network Error")};var l="client_id="+encodeURIComponent(t);i&&(l+="&client_secret="+encodeURIComponent(i)),l+="&token_type_hint="+encodeURIComponent(r),l+="&token="+encodeURIComponent(n),a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.send(l)}))}}var nd=Uo,rd=class extends Hl{constructor(e={},t=Xl,i=td,n=id,r=Sl,s=xl){e instanceof ql||(e=new ql(e)),super(e),this._events=new Ql(e),this._silentRenewService=new t(this),this.settings.automaticSilentRenew&&(Mo.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),this.startSilentRenew()),this.settings.monitorSession&&(Mo.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),this._sessionMonitor=new i(this)),this._tokenRevocationClient=new n(this._settings),this._tokenClient=new r(this._settings),this._joseUtil=s}get _redirectNavigator(){return this.settings.redirectNavigator}get _popupNavigator(){return this.settings.popupNavigator}get _iframeNavigator(){return this.settings.iframeNavigator}get _userStore(){return this.settings.userStore}get events(){return this._events}getUser(){return this._loadUser().then((e=>e?(Mo.info("UserManager.getUser: user loaded"),this._events.load(e,!1),e):(Mo.info("UserManager.getUser: user not found in storage"),null)))}removeUser(){return this.storeUser(null).then((()=>{Mo.info("UserManager.removeUser: user removed from storage"),this._events.unload()}))}signinRedirect(e={}){(e=Object.assign({},e)).request_type="si:r";let t={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,t).then((()=>{Mo.info("UserManager.signinRedirect: successful")}))}signinRedirectCallback(e){return this._signinEnd(e||this._redirectNavigator.url).then((e=>(e.profile&&e.profile.sub?Mo.info("UserManager.signinRedirectCallback: successful, signed in sub: ",e.profile.sub):Mo.info("UserManager.signinRedirectCallback: no sub"),e)))}signinPopup(e={}){(e=Object.assign({},e)).request_type="si:p";let t=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.display="popup",this._signin(e,this._popupNavigator,{startUrl:t,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((e=>(e&&(e.profile&&e.profile.sub?Mo.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",e.profile.sub):Mo.info("UserManager.signinPopup: no sub")),e)))):(Mo.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))}signinPopupCallback(e){return this._signinCallback(e,this._popupNavigator).then((e=>(e&&(e.profile&&e.profile.sub?Mo.info("UserManager.signinPopupCallback: successful, signed in sub: ",e.profile.sub):Mo.info("UserManager.signinPopupCallback: no sub")),e))).catch((e=>{Mo.error("UserManager.signinPopupCallback error: "+e&&e.message)}))}signinSilent(e={}){return e=Object.assign({},e),this._loadUser().then((t=>t&&t.refresh_token?(e.refresh_token=t.refresh_token,this._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||this.settings.includeIdTokenInSilentRenew&&t&&t.id_token,t&&this._settings.validateSubOnSilentRenew&&(Mo.debug("UserManager.signinSilent, subject prior to silent renew: ",t.profile.sub),e.current_sub=t.profile.sub),this._signinSilentIframe(e))))}_useRefreshToken(e={}){return this._tokenClient.exchangeRefreshToken(e).then((e=>e?e.access_token?this._loadUser().then((t=>{if(t){let i=Promise.resolve();return e.id_token&&(i=this._validateIdTokenFromTokenRefreshToken(t.profile,e.id_token)),i.then((()=>(Mo.debug("UserManager._useRefreshToken: refresh token response success"),t.id_token=e.id_token||t.id_token,t.access_token=e.access_token,t.refresh_token=e.refresh_token||t.refresh_token,t.expires_in=e.expires_in,this.storeUser(t).then((()=>(this._events.load(t),t))))))}return null})):(Mo.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(Mo.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))))}_validateIdTokenFromTokenRefreshToken(e,t){return this._metadataService.getIssuer().then((i=>this.settings.getEpochTime().then((n=>this._joseUtil.validateJwtAttributes(t,i,this._settings.client_id,this._settings.clockSkew,n).then((t=>t?t.sub!==e.sub?(Mo.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):t.auth_time&&t.auth_time!==e.auth_time?(Mo.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):t.azp&&t.azp!==e.azp?(Mo.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!t.azp&&e.azp?(Mo.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(Mo.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))))))))}_signinSilentIframe(e={}){let t=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.prompt=e.prompt||"none",this._signin(e,this._iframeNavigator,{startUrl:t,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((e=>(e&&(e.profile&&e.profile.sub?Mo.info("UserManager.signinSilent: successful, signed in sub: ",e.profile.sub):Mo.info("UserManager.signinSilent: no sub")),e)))):(Mo.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))}signinSilentCallback(e){return this._signinCallback(e,this._iframeNavigator).then((e=>(e&&(e.profile&&e.profile.sub?Mo.info("UserManager.signinSilentCallback: successful, signed in sub: ",e.profile.sub):Mo.info("UserManager.signinSilentCallback: no sub")),e)))}signinCallback(e){return this.readSigninResponseState(e).then((({state:t,response:i})=>"si:r"===t.request_type?this.signinRedirectCallback(e):"si:p"===t.request_type?this.signinPopupCallback(e):"si:s"===t.request_type?this.signinSilentCallback(e):Promise.reject(new Error("invalid response_type in state"))))}signoutCallback(e,t){return this.readSignoutResponseState(e).then((({state:i,response:n})=>i?"so:r"===i.request_type?this.signoutRedirectCallback(e):"so:p"===i.request_type?this.signoutPopupCallback(e,t):Promise.reject(new Error("invalid response_type in state")):n))}querySessionStatus(e={}){(e=Object.assign({},e)).request_type="si:s";let t=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:t,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((e=>this.processSigninResponse(e.url).then((e=>{if(Mo.debug("UserManager.querySessionStatus: got signin response"),e.session_state&&e.profile.sub)return Mo.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",e.profile.sub),{session_state:e.session_state,sub:e.profile.sub,sid:e.profile.sid};Mo.info("querySessionStatus successful, user not authenticated")})).catch((e=>{if(e.session_state&&this.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return Mo.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))))):(Mo.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))}_signin(e,t,i={}){return this._signinStart(e,t,i).then((t=>this._signinEnd(t.url,e)))}_signinStart(e,t,i={}){return t.prepare(i).then((t=>(Mo.debug("UserManager._signinStart: got navigator window handle"),this.createSigninRequest(e).then((e=>(Mo.debug("UserManager._signinStart: got signin request"),i.url=e.url,i.id=e.state.id,t.navigate(i)))).catch((e=>{throw t.close&&(Mo.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),t.close()),e})))))}_signinEnd(e,t={}){return this.processSigninResponse(e).then((e=>{Mo.debug("UserManager._signinEnd: got signin response");let i=new Yl(e);if(t.current_sub){if(t.current_sub!==i.profile.sub)return Mo.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",i.profile.sub),Promise.reject(new Error("login_required"));Mo.debug("UserManager._signinEnd: current user matches user returned from signin")}return this.storeUser(i).then((()=>(Mo.debug("UserManager._signinEnd: user stored"),this._events.load(i),i)))}))}_signinCallback(e,t){Mo.debug("UserManager._signinCallback");let i="query"===this._settings.response_mode||!this._settings.response_mode&&Ll.isCode(this._settings.response_type)?"?":"#";return t.callback(e,void 0,i)}signoutRedirect(e={}){(e=Object.assign({},e)).request_type="so:r";let t=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;t&&(e.post_logout_redirect_uri=t);let i={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,i).then((()=>{Mo.info("UserManager.signoutRedirect: successful")}))}signoutRedirectCallback(e){return this._signoutEnd(e||this._redirectNavigator.url).then((e=>(Mo.info("UserManager.signoutRedirectCallback: successful"),e)))}signoutPopup(e={}){(e=Object.assign({},e)).request_type="so:p";let t=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=t,e.display="popup",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:t,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((()=>{Mo.info("UserManager.signoutPopup: successful")}))}signoutPopupCallback(e,t){void 0===t&&"boolean"==typeof e&&(t=e,e=null);return this._popupNavigator.callback(e,t,"?").then((()=>{Mo.info("UserManager.signoutPopupCallback: successful")}))}_signout(e,t,i={}){return this._signoutStart(e,t,i).then((e=>this._signoutEnd(e.url)))}_signoutStart(e={},t,i={}){return t.prepare(i).then((t=>(Mo.debug("UserManager._signoutStart: got navigator window handle"),this._loadUser().then((n=>(Mo.debug("UserManager._signoutStart: loaded current user from storage"),(this._settings.revokeAccessTokenOnSignout?this._revokeInternal(n):Promise.resolve()).then((()=>{var r=e.id_token_hint||n&&n.id_token;return r&&(Mo.debug("UserManager._signoutStart: Setting id_token into signout request"),e.id_token_hint=r),this.removeUser().then((()=>(Mo.debug("UserManager._signoutStart: user removed, creating signout request"),this.createSignoutRequest(e).then((e=>(Mo.debug("UserManager._signoutStart: got signout request"),i.url=e.url,e.state&&(i.id=e.state.id),t.navigate(i)))))))}))))).catch((e=>{throw t.close&&(Mo.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),t.close()),e})))))}_signoutEnd(e){return this.processSignoutResponse(e).then((e=>(Mo.debug("UserManager._signoutEnd: got signout response"),e)))}revokeAccessToken(){return this._loadUser().then((e=>this._revokeInternal(e,!0).then((t=>{if(t)return Mo.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,this.storeUser(e).then((()=>{Mo.debug("UserManager.revokeAccessToken: user stored"),this._events.load(e)}))})))).then((()=>{Mo.info("UserManager.revokeAccessToken: access token revoked successfully")}))}_revokeInternal(e,t){if(e){var i=e.access_token,n=e.refresh_token;return this._revokeAccessTokenInternal(i,t).then((e=>this._revokeRefreshTokenInternal(n,t).then((t=>(e||t||Mo.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),e||t)))))}return Promise.resolve(!1)}_revokeAccessTokenInternal(e,t){return!e||e.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,t).then((()=>!0))}_revokeRefreshTokenInternal(e,t){return e?this._tokenRevocationClient.revoke(e,t,"refresh_token").then((()=>!0)):Promise.resolve(!1)}startSilentRenew(){this._silentRenewService.start()}stopSilentRenew(){this._silentRenewService.stop()}get _userStoreKey(){return`user:${this.settings.authority}:${this.settings.client_id}`}_loadUser(){return this._userStore.get(this._userStoreKey).then((e=>e?(Mo.debug("UserManager._loadUser: user storageString loaded"),Yl.fromStorageString(e)):(Mo.debug("UserManager._loadUser: no user storageString"),null)))}storeUser(e){if(e){Mo.debug("UserManager.storeUser: storing user");var t=e.toStorageString();return this._userStore.set(this._userStoreKey,t)}return Mo.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)}};const sd=rd;function od(e){this.then=function(t,i){return new od(e.then(t,i))},this.catch=function(t){return new od(e.catch(t))}}function ad(e){if(e){if(this.profile=e.profile,this.id_token=e.id_token,this.access_token=e.access_token,e.access_token)this.expires_at=parseInt(e.expires_at);else{if(!e.id_token)throw Error("Either access_token or id_token required.");this.expires_at=e.profile.exp}this.scope=e.scope,this.session_state=e.session_state}else this.expires_at=0;Object.defineProperty(this,"scopes",{get:function(){return(this.scope||"").split(" ")}}),Object.defineProperty(this,"expired",{get:function(){var e=parseInt(Date.now()/1e3);return this.expires_at<e}}),Object.defineProperty(this,"expires_in",{get:function(){var e=parseInt(Date.now()/1e3);return this.expires_at-e}})}ad.fromResponse=function(e){if(e.access_token){var t=parseInt(Date.now()/1e3);e.expires_at=t+parseInt(e.expires_in)}return new ad(e)},ad.fromJSON=function(e){if(e)try{return new ad(JSON.parse(e))}catch(e){}return new ad(null)},ad.prototype.toJSON=function(){return JSON.stringify({profile:this.profile,id_token:this.id_token,access_token:this.access_token,expires_at:this.expires_at,scope:this.scopes.join(" "),session_state:this.session_state})};var ld=new function(){this.resolve=function(e){return new od(Promise.resolve(e))},this.reject=function(e){return new od(Promise.reject(e))},this.create=function(e){return new od(new Promise(e))}},dd={_userManager:null,_settings:{persist:!0,store:window.localStorage,filterProtocolClaims:!1,loadUserInfo:!1,persistKey:"tcg-signin-aware.token",_silent_renew:!1,response_type:"id_token token",set silent_renew(e){this._silent_renew=e},get silent_renew(){return this._silent_renew},_silent_init:!1,set silent_init(e){this._silent_init=e},get silent_init(){return this._silent_init},_redirect_uri:null,set redirect_uri(e){this._redirect_uri=e},get redirect_uri(){return this._computeUri(this._redirect_uri,this.proxy_uri)},_silent_redirect_uri:null,set silent_redirect_uri(e){this._silent_redirect_uri=e},get silent_redirect_uri(){return this._computeUri(this._silent_redirect_uri,this.redirect_uri)},_proxy_uri:null,set proxy_uri(e){this._proxy_uri=e},get proxy_uri(){return this._computeUri(this._proxy_uri)},_post_logout_redirect_uri:null,set post_logout_redirect_uri(e){this._post_logout_redirect_uri=e},get post_logout_redirect_uri(){return this._computeUri(this._post_logout_redirect_uri)},_computeUri:function(e,t){if(!e)return t||[location.protocol,"//",location.host,location.pathname].join("");if(0===e.indexOf("http"));else if(0===e.indexOf("/"))return[location.protocol,"//",location.host,e].join("");var i=location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/"+e;return[location.protocol,"//",location.host,i].join("")}},_token:null,_signinAwares:[],_signedIn:!1,_callbacks:{tokenObtainedCallbacks:[],tokenExpiringCallbacks:[],tokenExpiredCallbacks:[],tokenRemovedCallbacks:[],tokenRenewFailedCallbacks:[],tokenSilentInitFailedCallbacks:[]},get signedIn(){return!!this._token&&!this._token.expired},get token(){return this._token&&!this._token.expired?this._token:null},get expired(){return!this._token||this._token.expired},get expires_in(){return this._token?this._token.expires_in:0},set authority(e){e&&e.indexOf(".well-known/openid-configuration")<0&&("/"!==e[e]&&(e+="/"),e+=".well-known/openid-configuration"),this._settings.authority=e},set clientId(e){this._settings.client_id=e},set scope(e){this._settings.scope=e},set callbackUri(e){this._settings.redirect_uri=e},set proxyUri(e){this._settings.proxy_uri=e},set postLogoutRedirectUri(e){this._settings.post_logout_redirect_uri=e},set silentRenew(e){!0===e&&(this._settings.silent_renew=!0)},set silentInit(e){!0===e&&(this._settings.silent_init=!0)},set persist(e){!1===e&&(this._settings.persist=!1)},set acrValues(e){this._settings.acr_values=e},set useSameWindow(e){this._settings._useSameWindow=e},_initialize:function(){this._initialize=function(){};var e=this;this._userManager=new sd(this._settings),this._loadToken(),e._settings._useSameWindow&&!e.token&&window.location.hash&&window.location.hash.match(/id_token=/)&&e._processHash(window),this._settings.silent_init&&e._initTokenSilentAsync().catch((function(t){e._callTokenSilentInitFailed(),console.error(t.message||t)})),window.setTimeout((function(){e._configureAutoRenewToken(),window.setTimeout((function(){e._configureTokenExpiring(),e._configureTokenExpired()}),0)}),0)},_configureTokenExpiring:function(){var e=this,t=null;function i(){t=null,e._callTokenExpiring()}function n(){t&&(window.clearTimeout(t),t=null)}function r(){if(n(),!e.expired){var r=e.expires_in;r>60?function(e){t=window.setTimeout(i,1e3*e)}(r-60):i()}}r(),this._addOnTokenObtained(r),this._addOnTokenRemoved(n)},_configureTokenExpired:function(){var e=this,t=null;function i(){t=null,e._removeToken(),e._callTokenExpired()}function n(){t&&(window.clearTimeout(t),t=null)}function r(){var r;n(),e.expires_in>0&&(r=e.expires_in+1,t=window.setTimeout(i,1e3*r))}r(),this._addOnTokenObtained(r),this._addOnTokenRemoved(n)},_configureAutoRenewToken:function(){var e=this;this._settings.silent_renew&&this._addOnTokenExpiring((function(){e._renewTokenSilentAsync().catch((function(t){e._callTokenRenewFailed(),console.error(t.message||t)}))}))},_addOnTokenObtained:function(e){this._callbacks.tokenObtainedCallbacks.push(e)},_addOnTokenExpiring:function(e){this._callbacks.tokenExpiringCallbacks.push(e)},_addOnTokenExpired:function(e){this._callbacks.tokenExpiredCallbacks.push(e)},_addOnTokenRemoved:function(e){this._callbacks.tokenRemovedCallbacks.push(e)},_addOnTokenRenewFailed:function(e){this._callbacks.tokenRenewFailedCallbacks.push(e)},_addOnTokenSilentInitFailed:function(e){this._callbacks.tokenSilentInitFailedCallbacks.push(e)},_callTokenObtained:function(){var e=this;this._callbacks.tokenObtainedCallbacks.forEach((function(e){e()})),this._signinAwares.forEach((function(t){e._updateAware(t),t._onTokenEvent("token-obtained")}))},_callTokenExpiring:function(){this._callbacks.tokenExpiringCallbacks.forEach((function(e){e()})),this._signinAwares.forEach((function(e){e._onTokenEvent("token-expiring")}))},_callTokenExpired:function(){this._callbacks.tokenExpiredCallbacks.forEach((function(e){e()})),this._signinAwares.forEach((function(e){e._onTokenEvent("token-expired")}))},_callTokenRenewFailed:function(){this._callbacks.tokenRenewFailedCallbacks.forEach((function(e){e()})),this._signinAwares.forEach((function(e){e._onTokenEvent("token-renew-failed")}))},_callTokenSilentInitFailed:function(){this._callbacks.tokenSilentInitFailedCallbacks.forEach((function(e){e()})),this._signinAwares.forEach((function(e){e._onTokenEvent("token-silent-init-failed")}))},_callTokenRemoved:function(){var e=this;this._callbacks.tokenRemovedCallbacks.forEach((function(e){e()})),this._signinAwares.forEach((function(t){e._updateAware(t),t._onTokenEvent("token-removed")}))},_loadToken:function(){var e=null;if(this._settings.persist){var t=this._settings.store.getItem(this._settings.persistKey);t&&(e=ad.fromJSON(t)).expired&&(e=null),this._token=e}return e},_saveToken:function(e){!e||e instanceof ad||(e=ad.fromResponse(e)),this._token=e,this._settings.persist&&!this.expired?this._settings.store.setItem(this._settings.persistKey,e.toJSON()):this._settings.store.removeItem(this._settings.persistKey),e?this._callTokenObtained():this._callTokenRemoved(),this._updateAwares()},_removeToken:function(){this._token&&this._saveToken(null)},_updateAwares:function(){var e=this;this._signinAwares.forEach((function(t){e._updateAware(t)}))},_updateAware:function(e){e._setSignedIn(this.signedIn),e._setToken(this.token)},_initTokenSilentAsync:function(){return this._userManager.createSigninRequest({prompt:"none"}).then((e=>this._initTokenSilentInIFrameAsync(e.url))).then((e=>this._oidcClient.processSigninResponse(e))).then((e=>{this._saveToken(e)}))},_initTokenSilentInIFrameAsync:function(e){return e?ld.create((function(t,i){var n=window.document.createElement("iframe");n.style.display="none",window.document.body.appendChild(n),n.src=e,window.setTimeout((function(){i("No token obtained within timeout")}),5e3),n.addEventListener("load",(function(){!function(){try{var e=n.contentDocument.location.hash;t(e)}finally{window.document.body.removeChild(n)}}()}))})):ld.reject("No url provided")},_renewTokenSilentAsync:function(){return this._userManager.createSigninRequest({prompt:"none"}).then((e=>this._initTokenSilentInIFrameAsync(e.url))).then((e=>this._userManager.processSigninResponse(e))).then((e=>{this._saveToken(e)}))},_processHash:function(e){return this._userManager.processSigninResponse(e.location.hash).then((t=>{this._saveToken(t);let i=e.location.pathname+e.location.search;t.state&&t.state.url&&(i=t.state.url),history.pushState("",e.document.title,i)}),(t=>{console.error("Problem getting token : "+(t.message||t)),history.pushState("",e.document.title,e.location.pathname+e.location.search)}))},attachSigninAware:function(e){this._initialize(),-1===this._signinAwares.indexOf(e)?(this._signinAwares.push(e),this._updateAware(e)):console.warn("signinAware attached more than once",e)},detachSigninAware:function(e){var t=this._signinAwares.indexOf(e);-1!==t?this._signinAwares.splice(t,1):console.warn("Trying to detach unattached signin-aware")},signIn:function(){if(this._wnd)this._wnd.focus();else{var e=this,t=this._settings.proxy_uri||"about:blank";if(!this._settings._useSameWindow){const e=650,i=600,n=window.screenY+(window.outerHeight/2-i/2),r=window.screenX+(window.outerWidth/2-e/2);this._wnd=window.open(t,"_blank","height="+i+",width="+e+",left="+r+",top="+n+",toolbar=0,scrollbars=0,status=0,resizable=1,location=0,menuBar=0")}if(this._userManager.createSigninRequest({acr_values:this._settings.acr_values,state:{url:window.location.pathname+window.location.search}}).then((t=>{e._wnd?e._wnd.window.location=t.url:e._settings._useSameWindow&&window.location.replace(t.url)}),(t=>{console.error(t&&t.message||t),e._wnd&&e._wnd.close()})),this._wnd){this._wnd.focus();var i=window.setInterval((()=>{if(e._wnd.closed)clearInterval(i),e._wnd=null;else try{var t=e._wnd.location.href;void 0!==t&&0===t.indexOf(e._settings.redirect_uri)&&e._wnd.location.hash&&(e._processHash(e._wnd),e._wnd.close())}catch(e){}}),250)}}},signOut:function(){this._userManager.signoutRedirect().then((e=>{this._removeToken(),top.window.location=e.url}),(e=>{console.error("TokenManager.signOut error: "+(e&&e.message||e||""))}))}};class cd extends vo{static get is(){return"tcg-signin-aware"}static get properties(){return{authority:{type:String,observer:"_authorityChanged"},clientId:{type:String,observer:"_clientIdChanged"},scope:{type:String,observer:"_scopeChanged"},callbackUri:{type:String,observer:"_callbackUriChanged"},postLogoutRedirectUri:{type:String,observer:"_postLogoutRedirectUriChanged"},proxyUri:{type:String,observer:"_proxyUriChanged"},silentRenew:{type:Boolean,value:!1,observer:"_silentRenewChanged"},silentInit:{type:Boolean,value:!1,observer:"_silentInitChanged"},noPersistence:{type:Boolean,value:!1,observer:"_noPersistenceChanged"},acrValues:{type:String,observer:"_acrValuesChanged"},useSameWindow:{type:Boolean,observer:"_useSameWindowChanged"},signedIn:{type:Boolean,notify:!0,readOnly:!0},token:{type:Object,notify:!0,readOnly:!0}}}connectedCallback(){super.connectedCallback(),dd.attachSigninAware(this)}disconnectedCallback(){super.disconnectedCallback(),dd.detachSigninAware(this)}_authorityChanged(e,t){dd.authority=e}_clientIdChanged(e,t){dd.clientId=e}_scopeChanged(e,t){dd.scope=e}_callbackUriChanged(e,t){dd.callbackUri=e}_postLogoutRedirectUriChanged(e,t){dd.postLogoutRedirectUri=e}_proxyUriChanged(e,t){dd.proxyUri=e}_silentRenewChanged(e,t){dd.silentRenew=e}_silentInitChanged(e,t){dd.silentInit=e}_noPersistenceChanged(e,t){dd.persist=!e}_acrValuesChanged(e,t){dd.acrValues=e}_useSameWindowChanged(e,t){dd.useSameWindow=e}_onTokenEvent(e){this.dispatchEvent(new CustomEvent(e,{bubbles:!0}))}signIn(){dd.signIn()}signOut(){dd.signOut()}saveToken(e){dd._saveToken(new ad(e))}}window.customElements.define(cd.is,cd);const hd="gravatar-url";class ud extends ve{render(){return 0===this.size?Z``:Z`
            <tcg-signin-aware wait-for-token @token-changed=${e=>this._tokenChanged(e)}></tcg-signin-aware>

            <div id="primary">
                <img
                    ?hidden=${!this._imageLoaded}
                    @load=${e=>this._imageLoad(e)}
                    @error=${e=>this._imageError(e)}
                    sizing="cover"
                    width="${this.size}"
                    height="${this.size}"
                    src="${this._url}">

                <svg width="${this.size}" height="${this.size}" ?hidden=${this._imageLoaded} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80">
                    <defs>
                        <style>
                        .cls-1 {
                            fill: #fff;
                        }

                        .cls-2 {
                            fill: #c5c5c5;
                        }
                        </style>
                    </defs>
                    <path class="cls-2" d="m0,0v80h9.03c3.53-16.13,11.14-28.12,23.46-31.6-6.05-2.9-10.25-9.06-10.25-16.22,0-9.94,8.06-18,18-18s18,8.06,18,18c0,7.16-4.19,13.33-10.25,16.22,12.32,3.49,19.93,15.48,23.46,31.6h8.54V0H0Z"/>
                    <path class="cls-1" d="m48,48.4c6.05-2.9,10.25-9.06,10.25-16.22,0-9.94-8.06-18-18-18s-18,8.06-18,18c0,7.16,4.19,13.33,10.25,16.22-12.32,3.49-19.93,15.48-23.46,31.6h62.44c-3.53-16.13-11.14-28.12-23.46-31.6Z"/>
                </svg>
            </div>
        `}constructor(){super(),this._myData=new Ie(this,{context:hd}),this._imageLoaded=!1,this.idString=null,this.size=80,this.currentUser=!1}static get properties(){return{_imageLoaded:{type:Boolean},_url:{type:String},idString:{type:String,attribute:"id-string"},size:{type:Number},currentUser:{type:Boolean,attribute:"current-user"},fallbackUrl:{type:String,attribute:"fallback-url"}}}async updated(e){e.has("idString")&&(e.get("idString"),this.idString,await this._fetchData(this._token))}async _tokenChanged(e){this._token=e.detail.value,await this._fetchData(this._token)}async _fetchData(e){if(!e)return;const t=new URL(`${this._myData.value}/api/profileImage/url`);if(this.currentUser&&e.profile.idString)t.searchParams.append("idString",e.profile.idString);else{if(!this.idString)return;t.searchParams.append("idString",this.idString)}const i=t.toString();var n=await fetch(i,{headers:{Authorization:`Bearer ${e.access_token}`}});const r=await n.json();this._url=r.url}_imageLoad(){this._imageLoaded=!0}_imageError(e){this._url=this.fallbackUrl}_isHidden(e,t){return!1}}ud.styles=u`
        :host {
            display: block;
        }

        #primary {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        img {
            border-radius: 50%;
        }

        svg {
            border-radius: 50%;
        }

        *[hidden] {
            display: none;
        }
    `,window.customElements.define("tcg-gravatar",ud);var pd=/[$_\p{ID_Start}]/u,gd=/[$_\u200C\u200D\p{ID_Continue}]/u;function md(e,t){return(t?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e)}function fd(e,t=!1){const i=[];let n=0;for(;n<e.length;){const r=e[n],s=function(r){if(!t)throw new TypeError(r);i.push({type:"INVALID_CHAR",index:n,value:e[n++]})};if("*"!==r)if("+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)i.push({type:"CHAR",index:n,value:e[n++]});else{let t=1,r="",o=n+1,a=!1;if("?"===e[o]){s(`Pattern cannot start with "?" at ${o}`);continue}for(;o<e.length;){if(!md(e[o],!1)){s(`Invalid character '${e[o]}' at ${o}.`),a=!0;break}if("\\"!==e[o]){if(")"===e[o]){if(t--,0===t){o++;break}}else if("("===e[o]&&(t++,"?"!==e[o+1])){s(`Capturing groups are not allowed at ${o}`),a=!0;break}r+=e[o++]}else r+=e[o++]+e[o++]}if(a)continue;if(t){s(`Unbalanced pattern at ${n}`);continue}if(!r){s(`Missing pattern at ${n}`);continue}i.push({type:"PATTERN",index:n,value:r}),n=o}else{let t="",r=n+1;for(;r<e.length;){const i=e.substr(r,1);if(!(r===n+1&&pd.test(i)||r!==n+1&&gd.test(i)))break;t+=e[r++]}if(!t){s(`Missing parameter name at ${n}`);continue}i.push({type:"NAME",index:n,value:t}),n=r}else i.push({type:"CLOSE",index:n,value:e[n++]});else i.push({type:"OPEN",index:n,value:e[n++]});else i.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else i.push({type:"MODIFIER",index:n,value:e[n++]});else i.push({type:"ASTERISK",index:n,value:e[n++]})}return i.push({type:"END",index:n,value:""}),i}function yd(e,t={}){const i=fd(e),{prefixes:n="./"}=t,r=`[^${vd(void 0===t.delimiter?"/#?":t.delimiter)}]+?`,s=[];let o=0,a=0,l="",d=new Set;const c=e=>{if(a<i.length&&i[a].type===e)return i[a++].value},h=()=>{const e=c("MODIFIER");return e||c("ASTERISK")},u=e=>{const t=c(e);if(void 0!==t)return t;const{type:n,index:r}=i[a];throw new TypeError(`Unexpected ${n} at ${r}, expected ${e}`)},p=()=>{let e,t="";for(;e=c("CHAR")||c("ESCAPED_CHAR");)t+=e;return t},g=t.encodePart||(e=>e);for(;a<i.length;){const e=c("CHAR"),t=c("NAME");let i=c("PATTERN");if(t||i||!c("ASTERISK")||(i=".*"),t||i){let a=e||"";-1===n.indexOf(a)&&(l+=a,a=""),l&&(s.push(g(l)),l="");const c=t||o++;if(d.has(c))throw new TypeError(`Duplicate name '${c}'.`);d.add(c),s.push({name:c,prefix:g(a),suffix:"",pattern:i||r,modifier:h()||""});continue}const a=e||c("ESCAPED_CHAR");if(a){l+=a;continue}if(c("OPEN")){const e=p(),t=c("NAME")||"";let i=c("PATTERN")||"";t||i||!c("ASTERISK")||(i=".*");const n=p();u("CLOSE");const a=h()||"";if(!t&&!i&&!a){l+=e;continue}if(!t&&!i&&!e)continue;l&&(s.push(g(l)),l=""),s.push({name:t||(i?o++:""),pattern:t&&!i?r:i,prefix:g(e),suffix:g(n),modifier:a})}else l&&(s.push(g(l)),l=""),u("END")}return s}function vd(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function _d(e){return e&&e.sensitive?"u":"ui"}function bd(e,t,i={}){const{strict:n=!1,start:r=!0,end:s=!0,encode:o=(e=>e)}=i,a=`[${vd(void 0===i.endsWith?"":i.endsWith)}]|$`,l=`[${vd(void 0===i.delimiter?"/#?":i.delimiter)}]`;let d=r?"^":"";for(const i of e)if("string"==typeof i)d+=vd(o(i));else{const e=vd(o(i.prefix)),n=vd(o(i.suffix));if(i.pattern)if(t&&t.push(i),e||n)if("+"===i.modifier||"*"===i.modifier){const t="*"===i.modifier?"?":"";d+=`(?:${e}((?:${i.pattern})(?:${n}${e}(?:${i.pattern}))*)${n})${t}`}else d+=`(?:${e}(${i.pattern})${n})${i.modifier}`;else"+"===i.modifier||"*"===i.modifier?d+=`((?:${i.pattern})${i.modifier})`:d+=`(${i.pattern})${i.modifier}`;else d+=`(?:${e}${n})${i.modifier}`}if(s)n||(d+=`${l}?`),d+=i.endsWith?`(?=${a})`:"$";else{const t=e[e.length-1],i="string"==typeof t?l.indexOf(t[t.length-1])>-1:void 0===t;n||(d+=`(?:${l}(?=${a}))?`),i||(d+=`(?=${l}|${a})`)}return new RegExp(d,_d(i))}function wd(e,t,i){return e instanceof RegExp?function(e,t){if(!t)return e;const i=/\((?:\?<(.*?)>)?(?!\?)/g;let n=0,r=i.exec(e.source);for(;r;)t.push({name:r[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),r=i.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,i){const n=e.map((e=>wd(e,t,i).source));return new RegExp(`(?:${n.join("|")})`,_d(i))}(e,t,i):function(e,t,i){return bd(yd(e,i),t,i)}(e,t,i)}var xd={delimiter:"",prefixes:"",sensitive:!0,strict:!0},kd={delimiter:".",prefixes:"",sensitive:!0,strict:!0},Sd={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function Ad(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function Ed(e){return!(!e||e.length<2)&&("["===e[0]||("\\"===e[0]||"{"===e[0])&&"["===e[1])}var Cd=["ftp","file","http","https","ws","wss"];function Td(e){if(!e)return!0;for(const t of Cd)if(e.test(t))return!0;return!1}function Id(e){switch(e){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function Dd(e){if(""===e)return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(`Invalid protocol '${e}'.`)}function Pd(e){if(""===e)return e;const t=new URL("https://example.com");return t.username=e,t.username}function Fd(e){if(""===e)return e;const t=new URL("https://example.com");return t.password=e,t.password}function Nd(e){if(""===e)return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw new TypeError(`Invalid hostname '${e}'`);const t=new URL("https://example.com");return t.hostname=e,t.hostname}function Rd(e){if(""===e)return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw new TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function Od(e){if(""===e)return e;if(/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(`Invalid port '${e}'.`)}function Md(e){if(""===e)return e;const t=new URL("https://example.com");return t.pathname="/"!==e[0]?"/-"+e:e,"/"!==e[0]?t.pathname.substring(2,t.pathname.length):t.pathname}function Ld(e){if(""===e)return e;return new URL(`data:${e}`).pathname}function Bd(e){if(""===e)return e;const t=new URL("https://example.com");return t.search=e,t.search.substring(1,t.search.length)}function zd(e){if(""===e)return e;const t=new URL("https://example.com");return t.hash=e,t.hash.substring(1,t.hash.length)}var jd=class{constructor(e){this.tokenList=[],this.internalResult={},this.tokenIndex=0,this.tokenIncrement=1,this.componentStart=0,this.state=0,this.groupDepth=0,this.hostnameIPv6BracketDepth=0,this.shouldTreatAsStandardURL=!1,this.input=e}get result(){return this.internalResult}parse(){for(this.tokenList=fd(this.input,!0);this.tokenIndex<this.tokenList.length;this.tokenIndex+=this.tokenIncrement){if(this.tokenIncrement=1,"END"===this.tokenList[this.tokenIndex].type){if(0===this.state){this.rewind(),this.isHashPrefix()?this.changeState(9,1):this.isSearchPrefix()?(this.changeState(8,1),this.internalResult.hash=""):(this.changeState(7,0),this.internalResult.search="",this.internalResult.hash="");continue}if(2===this.state){this.rewindAndSetState(5);continue}this.changeState(10,0);break}if(this.groupDepth>0){if(!this.isGroupClose())continue;this.groupDepth-=1}if(this.isGroupOpen())this.groupDepth+=1;else switch(this.state){case 0:this.isProtocolSuffix()&&(this.internalResult.username="",this.internalResult.password="",this.internalResult.hostname="",this.internalResult.port="",this.internalResult.pathname="",this.internalResult.search="",this.internalResult.hash="",this.rewindAndSetState(1));break;case 1:if(this.isProtocolSuffix()){this.computeShouldTreatAsStandardURL();let e=7,t=1;this.shouldTreatAsStandardURL&&(this.internalResult.pathname="/"),this.nextIsAuthoritySlashes()?(e=2,t=3):this.shouldTreatAsStandardURL&&(e=2),this.changeState(e,t)}break;case 2:this.isIdentityTerminator()?this.rewindAndSetState(3):(this.isPathnameStart()||this.isSearchPrefix()||this.isHashPrefix())&&this.rewindAndSetState(5);break;case 3:this.isPasswordPrefix()?this.changeState(4,1):this.isIdentityTerminator()&&this.changeState(5,1);break;case 4:this.isIdentityTerminator()&&this.changeState(5,1);break;case 5:this.isIPv6Open()?this.hostnameIPv6BracketDepth+=1:this.isIPv6Close()&&(this.hostnameIPv6BracketDepth-=1),this.isPortPrefix()&&!this.hostnameIPv6BracketDepth?this.changeState(6,1):this.isPathnameStart()?this.changeState(7,0):this.isSearchPrefix()?this.changeState(8,1):this.isHashPrefix()&&this.changeState(9,1);break;case 6:this.isPathnameStart()?this.changeState(7,0):this.isSearchPrefix()?this.changeState(8,1):this.isHashPrefix()&&this.changeState(9,1);break;case 7:this.isSearchPrefix()?this.changeState(8,1):this.isHashPrefix()&&this.changeState(9,1);break;case 8:this.isHashPrefix()&&this.changeState(9,1)}}}changeState(e,t){switch(this.state){case 0:case 2:break;case 1:this.internalResult.protocol=this.makeComponentString();break;case 3:this.internalResult.username=this.makeComponentString();break;case 4:this.internalResult.password=this.makeComponentString();break;case 5:this.internalResult.hostname=this.makeComponentString();break;case 6:this.internalResult.port=this.makeComponentString();break;case 7:this.internalResult.pathname=this.makeComponentString();break;case 8:this.internalResult.search=this.makeComponentString();break;case 9:this.internalResult.hash=this.makeComponentString()}this.changeStateWithoutSettingComponent(e,t)}changeStateWithoutSettingComponent(e,t){this.state=e,this.componentStart=this.tokenIndex+t,this.tokenIndex+=t,this.tokenIncrement=0}rewind(){this.tokenIndex=this.componentStart,this.tokenIncrement=0}rewindAndSetState(e){this.rewind(),this.state=e}safeToken(e){return e<0&&(e=this.tokenList.length-e),e<this.tokenList.length?this.tokenList[e]:this.tokenList[this.tokenList.length-1]}isNonSpecialPatternChar(e,t){const i=this.safeToken(e);return i.value===t&&("CHAR"===i.type||"ESCAPED_CHAR"===i.type||"INVALID_CHAR"===i.type)}isProtocolSuffix(){return this.isNonSpecialPatternChar(this.tokenIndex,":")}nextIsAuthoritySlashes(){return this.isNonSpecialPatternChar(this.tokenIndex+1,"/")&&this.isNonSpecialPatternChar(this.tokenIndex+2,"/")}isIdentityTerminator(){return this.isNonSpecialPatternChar(this.tokenIndex,"@")}isPasswordPrefix(){return this.isNonSpecialPatternChar(this.tokenIndex,":")}isPortPrefix(){return this.isNonSpecialPatternChar(this.tokenIndex,":")}isPathnameStart(){return this.isNonSpecialPatternChar(this.tokenIndex,"/")}isSearchPrefix(){if(this.isNonSpecialPatternChar(this.tokenIndex,"?"))return!0;if("?"!==this.tokenList[this.tokenIndex].value)return!1;const e=this.safeToken(this.tokenIndex-1);return"NAME"!==e.type&&"PATTERN"!==e.type&&"CLOSE"!==e.type&&"ASTERISK"!==e.type}isHashPrefix(){return this.isNonSpecialPatternChar(this.tokenIndex,"#")}isGroupOpen(){return"OPEN"==this.tokenList[this.tokenIndex].type}isGroupClose(){return"CLOSE"==this.tokenList[this.tokenIndex].type}isIPv6Open(){return this.isNonSpecialPatternChar(this.tokenIndex,"[")}isIPv6Close(){return this.isNonSpecialPatternChar(this.tokenIndex,"]")}makeComponentString(){const e=this.tokenList[this.tokenIndex],t=this.safeToken(this.componentStart).index;return this.input.substring(t,e.index)}computeShouldTreatAsStandardURL(){const e={};Object.assign(e,xd),e.encodePart=Dd;const t=wd(this.makeComponentString(),void 0,e);this.shouldTreatAsStandardURL=Td(t)}},Hd=["protocol","username","password","hostname","port","pathname","search","hash"],Ud="*";function $d(e,t){if("string"!=typeof e)throw new TypeError("parameter 1 is not of type 'string'.");const i=new URL(e,t);return{protocol:i.protocol.substring(0,i.protocol.length-1),username:i.username,password:i.password,hostname:i.hostname,port:i.port,pathname:i.pathname,search:""!=i.search?i.search.substring(1,i.search.length):void 0,hash:""!=i.hash?i.hash.substring(1,i.hash.length):void 0}}function Vd(e,t,i){let n;if("string"==typeof t.baseURL)try{n=new URL(t.baseURL),e.protocol=n.protocol?n.protocol.substring(0,n.protocol.length-1):"",e.username=n.username,e.password=n.password,e.hostname=n.hostname,e.port=n.port,e.pathname=n.pathname,e.search=n.search?n.search.substring(1,n.search.length):"",e.hash=n.hash?n.hash.substring(1,n.hash.length):""}catch{throw new TypeError(`invalid baseURL '${t.baseURL}'.`)}if("string"==typeof t.protocol&&(e.protocol=function(e,t){var i,n;return n=":",e=(i=e).endsWith(n)?i.substr(0,i.length-n.length):i,t||""===e?e:Dd(e)}(t.protocol,i)),"string"==typeof t.username&&(e.username=function(e,t){if(t||""===e)return e;const i=new URL("https://example.com");return i.username=e,i.username}(t.username,i)),"string"==typeof t.password&&(e.password=function(e,t){if(t||""===e)return e;const i=new URL("https://example.com");return i.password=e,i.password}(t.password,i)),"string"==typeof t.hostname&&(e.hostname=function(e,t){return t||""===e?e:Ed(e)?Rd(e):Nd(e)}(t.hostname,i)),"string"==typeof t.port&&(e.port=function(e,t,i){return Id(t)===e&&(e=""),i||""===e?e:Od(e)}(t.port,e.protocol,i)),"string"==typeof t.pathname){if(e.pathname=t.pathname,n&&!function(e,t){return!(!e.length||"/"!==e[0]&&(!t||e.length<2||"\\"!=e[0]&&"{"!=e[0]||"/"!=e[1]))}(e.pathname,i)){const t=n.pathname.lastIndexOf("/");t>=0&&(e.pathname=n.pathname.substring(0,t+1)+e.pathname)}e.pathname=function(e,t,i){if(i||""===e)return e;if(t&&!Cd.includes(t))return new URL(`${t}:${e}`).pathname;const n="/"==e[0];return e=new URL(n?e:"/-"+e,"https://example.com").pathname,n||(e=e.substring(2,e.length)),e}(e.pathname,e.protocol,i)}return"string"==typeof t.search&&(e.search=function(e,t){if(e=Ad(e,"?"),t||""===e)return e;const i=new URL("https://example.com");return i.search=e,i.search?i.search.substring(1,i.search.length):""}(t.search,i)),"string"==typeof t.hash&&(e.hash=function(e,t){if(e=Ad(e,"#"),t||""===e)return e;const i=new URL("https://example.com");return i.hash=e,i.hash?i.hash.substring(1,i.hash.length):""}(t.hash,i)),e}function Wd(e){return e.replace(/([+*?:{}()\\])/g,"\\$1")}function Gd(e,t){const i=`[^${n=void 0===t.delimiter?"/#?":t.delimiter,n.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}]+?`;var n;const r=/[$_\u200C\u200D\p{ID_Continue}]/u;let s="";for(let n=0;n<e.length;++n){const o=e[n],a=n>0?e[n-1]:null,l=n<e.length-1?e[n+1]:null;if("string"==typeof o){s+=Wd(o);continue}if(""===o.pattern){if(""===o.modifier){s+=Wd(o.prefix);continue}s+=`{${Wd(o.prefix)}}${o.modifier}`;continue}const d="number"!=typeof o.name,c=void 0!==t.prefixes?t.prefixes:"./";let h=""!==o.suffix||""!==o.prefix&&(1!==o.prefix.length||!c.includes(o.prefix));if(!h&&d&&o.pattern===i&&""===o.modifier&&l&&!l.prefix&&!l.suffix)if("string"==typeof l){const e=l.length>0?l[0]:"";h=r.test(e)}else h="number"==typeof l.name;if(!h&&""===o.prefix&&a&&"string"==typeof a&&a.length>0){const e=a[a.length-1];h=c.includes(e)}h&&(s+="{"),s+=Wd(o.prefix),d&&(s+=`:${o.name}`),".*"===o.pattern?d||a&&"string"!=typeof a&&!a.modifier&&!h&&""===o.prefix?s+="(.*)":s+="*":o.pattern===i?d||(s+=`(${i})`):s+=`(${o.pattern})`,o.pattern===i&&d&&""!==o.suffix&&r.test(o.suffix[0])&&(s+="\\"),s+=Wd(o.suffix),h&&(s+="}"),s+=o.modifier}return s}globalThis.URLPattern||(globalThis.URLPattern=class{constructor(e={},t){this.regexp={},this.keys={},this.component_pattern={};try{if("string"==typeof e){const i=new jd(e);if(i.parse(),e=i.result,t){if("string"!=typeof t)throw new TypeError("'baseURL' parameter is not of type 'string'.");e.baseURL=t}else if("string"!=typeof e.protocol)throw new TypeError("A base URL must be provided for a relative constructor string.")}else if(t)throw new TypeError("parameter 1 is not of type 'string'.");if(!e||"object"!=typeof e)throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");const i={pathname:Ud,protocol:Ud,username:Ud,password:Ud,hostname:Ud,port:Ud,search:Ud,hash:Ud};let n;for(n of(this.pattern=Vd(i,e,!0),Id(this.pattern.protocol)===this.pattern.port&&(this.pattern.port=""),Hd)){if(!(n in this.pattern))continue;const e={},t=this.pattern[n];switch(this.keys[n]=[],n){case"protocol":Object.assign(e,xd),e.encodePart=Dd;break;case"username":Object.assign(e,xd),e.encodePart=Pd;break;case"password":Object.assign(e,xd),e.encodePart=Fd;break;case"hostname":Object.assign(e,kd),Ed(t)?e.encodePart=Rd:e.encodePart=Nd;break;case"port":Object.assign(e,xd),e.encodePart=Od;break;case"pathname":Td(this.regexp.protocol)?(Object.assign(e,Sd),e.encodePart=Md):(Object.assign(e,xd),e.encodePart=Ld);break;case"search":Object.assign(e,xd),e.encodePart=Bd;break;case"hash":Object.assign(e,xd),e.encodePart=zd}try{const i=yd(t,e);this.regexp[n]=bd(i,this.keys[n],e),this.component_pattern[n]=Gd(i,e)}catch{throw new TypeError(`invalid ${n} pattern '${this.pattern[n]}'.`)}}}catch(e){throw new TypeError(`Failed to construct 'URLPattern': ${e.message}`)}}test(e={},t){let i,n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof e&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(void 0===e)return!1;try{n=Vd(n,"object"==typeof e?e:$d(e,t),!1)}catch(e){return!1}for(i in this.pattern)if(!this.regexp[i].exec(n[i]))return!1;return!0}exec(e={},t){let i={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof e&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(void 0===e)return;try{i=Vd(i,"object"==typeof e?e:$d(e,t),!1)}catch(e){return null}let n,r={};for(n in r.inputs=t?[e,t]:[e],this.pattern){let e=this.regexp[n].exec(i[n]);if(!e)return null;let t={};for(let[i,r]of this.keys[n].entries())if("string"==typeof r.name||"number"==typeof r.name){let n=e[i+1];t[r.name]=n}r[n]={input:i[n]||"",groups:t}}return r}get protocol(){return this.component_pattern.protocol}get username(){return this.component_pattern.username}get password(){return this.component_pattern.password}get hostname(){return this.component_pattern.hostname}get port(){return this.component_pattern.port}get pathname(){return this.component_pattern.pathname}get search(){return this.component_pattern.search}get hash(){return this.component_pattern.hash}}),Vs({is:"iron-location",_template:null,properties:{path:{type:String,notify:!0,value:function(){return window.decodeURIComponent(window.location.pathname)}},query:{type:String,notify:!0,value:function(){return window.location.search.slice(1)}},hash:{type:String,notify:!0,value:function(){return window.decodeURIComponent(window.location.hash.slice(1))}},dwellTime:{type:Number,value:2e3},urlSpaceRegex:{type:String,value:""},encodeSpaceAsPlusInQuery:{type:Boolean,value:!1},_urlSpaceRegExp:{computed:"_makeRegExp(urlSpaceRegex)"},_lastChangedAt:{type:Number},_initialized:{type:Boolean,value:!1}},hostAttributes:{hidden:!0},observers:["_updateUrl(path, query, hash)"],created:function(){this.__location=window.location},attached:function(){this.listen(window,"hashchange","_hashChanged"),this.listen(window,"location-changed","_urlChanged"),this.listen(window,"popstate","_urlChanged"),this.listen(document.body,"click","_globalOnClick"),this._lastChangedAt=window.performance.now()-(this.dwellTime-200),this._initialized=!0,this._urlChanged()},detached:function(){this.unlisten(window,"hashchange","_hashChanged"),this.unlisten(window,"location-changed","_urlChanged"),this.unlisten(window,"popstate","_urlChanged"),this.unlisten(document.body,"click","_globalOnClick"),this._initialized=!1},_hashChanged:function(){this.hash=window.decodeURIComponent(this.__location.hash.substring(1))},_urlChanged:function(){this._dontUpdateUrl=!0,this._hashChanged(),this.path=window.decodeURIComponent(this.__location.pathname),this.query=this.__location.search.substring(1),this._dontUpdateUrl=!1,this._updateUrl()},_getUrl:function(){var e=window.encodeURI(this.path).replace(/\#/g,"%23").replace(/\?/g,"%3F"),t="";this.query&&(t="?"+this.query.replace(/\#/g,"%23"),t=this.encodeSpaceAsPlusInQuery?t.replace(/\+/g,"%2B").replace(/ /g,"+").replace(/%20/g,"+"):t.replace(/\+/g,"%2B").replace(/ /g,"%20"));var i="";return this.hash&&(i="#"+window.encodeURI(this.hash)),e+t+i},_updateUrl:function(){if(!this._dontUpdateUrl&&this._initialized&&(this.path!==window.decodeURIComponent(this.__location.pathname)||this.query!==this.__location.search.substring(1)||this.hash!==window.decodeURIComponent(this.__location.hash.substring(1)))){var e=this._getUrl(),t=new URL(e,this.__location.protocol+"//"+this.__location.host).href,i=window.performance.now(),n=this._lastChangedAt+this.dwellTime>i;this._lastChangedAt=i,n?window.history.replaceState({},"",t):window.history.pushState({},"",t),this.fire("location-changed",{},{node:window})}},_globalOnClick:function(e){if(!e.defaultPrevented){var t=this._getSameOriginLinkHref(e);t&&(e.preventDefault(),t!==this.__location.href&&(window.history.pushState({},"",t),this.fire("location-changed",{},{node:window})))}},_getSameOriginLinkHref:function(e){if(0!==e.button)return null;if(e.metaKey||e.ctrlKey||e.shiftKey)return null;for(var t=Es(e).path,i=null,n=0;n<t.length;n++){var r=t[n];if("A"===r.tagName&&r.href){i=r;break}}if(!i)return null;if("_blank"===i.target)return null;if(("_top"===i.target||"_parent"===i.target)&&window.top!==window)return null;if(i.download)return null;var s,o,a,l=i.href;if(s=null!=document.baseURI?new URL(l,document.baseURI):new URL(l),o=this.__location.origin?this.__location.origin:this.__location.protocol+"//"+this.__location.host,s.origin)a=s.origin;else{var d=s.host,c=s.port,h=s.protocol;("https:"===h&&"443"===c||"http:"===h&&"80"===c)&&(d=s.hostname),a=h+"//"+d}if(a!==o)return null;var u=s.pathname+s.search+s.hash;return"/"!==u[0]&&(u="/"+u),this._urlSpaceRegExp&&!this._urlSpaceRegExp.test(u)?null:new URL(u,this.__location.href).href},_makeRegExp:function(e){return RegExp(e)}}),Vs({is:"iron-query-params",_template:null,properties:{paramsString:{type:String,notify:!0,observer:"paramsStringChanged"},paramsObject:{type:Object,notify:!0},_dontReact:{type:Boolean,value:!1}},hostAttributes:{hidden:!0},observers:["paramsObjectChanged(paramsObject.*)"],paramsStringChanged:function(){this._dontReact=!0,this.paramsObject=this._decodeParams(this.paramsString),this._dontReact=!1},paramsObjectChanged:function(){this._dontReact||(this.paramsString=this._encodeParams(this.paramsObject).replace(/%3F/g,"?").replace(/%2F/g,"/").replace(/'/g,"%27"))},_encodeParams:function(e){var t=[];for(var i in e){var n=e[i];""===n?t.push(encodeURIComponent(i)):n&&t.push(encodeURIComponent(i)+"="+encodeURIComponent(n.toString()))}return t.join("&")},_decodeParams:function(e){for(var t={},i=(e=(e||"").replace(/\+/g,"%20")).split("&"),n=0;n<i.length;n++){var r=i[n].split("=");r[0]&&(t[decodeURIComponent(r[0])]=decodeURIComponent(r[1]||""))}return t}});function qd(e){return qd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qd(e)}function Yd(e){var t=function(e,t){if("object"!=qd(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=qd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==qd(t)?t:t+""}function Kd(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function Jd(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?Kd(Object(i),!0).forEach((function(t){var n,r,s;n=e,r=t,s=i[t],(r=Yd(r))in n?Object.defineProperty(n,r,{value:s,enumerable:!0,configurable:!0,writable:!0}):n[r]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):Kd(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function Zd(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}Vs({_template:fo`
    <iron-query-params params-string="{{__query}}" params-object="{{queryParams}}">
    </iron-query-params>
    <iron-location path="{{__path}}" query="{{__query}}" hash="{{__hash}}" url-space-regex="[[urlSpaceRegex]]" dwell-time="[[dwellTime]]">
    </iron-location>
  `,is:"app-location",properties:{route:{type:Object,notify:!0},useHashAsPath:{type:Boolean,value:!1},urlSpaceRegex:{type:String,notify:!0},__queryParams:{type:Object},__path:{type:String},__query:{type:String},__hash:{type:String},path:{type:String,observer:"__onPathChanged"},_isReady:{type:Boolean},dwellTime:{type:Number}},behaviors:[{properties:{route:{type:Object,notify:!0},queryParams:{type:Object,notify:!0},path:{type:String,notify:!0}},observers:["_locationChanged(path, queryParams)","_routeChanged(route.prefix, route.path)","_routeQueryParamsChanged(route.__queryParams)"],created:function(){this.linkPaths("route.__queryParams","queryParams"),this.linkPaths("queryParams","route.__queryParams")},_locationChanged:function(){this.route&&this.route.path===this.path&&this.queryParams===this.route.__queryParams||(this.route={prefix:"",path:this.path,__queryParams:this.queryParams})},_routeChanged:function(){this.route&&(this.path=this.route.prefix+this.route.path)},_routeQueryParamsChanged:function(e){this.route&&(this.queryParams=e)}}],observers:["__computeRoutePath(useHashAsPath, __hash, __path)"],ready:function(){this._isReady=!0},__computeRoutePath:function(){this.path=this.useHashAsPath?this.__hash:this.__path},__onPathChanged:function(){this._isReady&&(this.useHashAsPath?this.__hash=this.path:this.__path=this.path)}});var Qd="function"==typeof Symbol&&Symbol.observable||"@@observable",Xd=function(){return Math.random().toString(36).substring(7).split("").join(".")},ec={INIT:"@@redux/INIT"+Xd(),REPLACE:"@@redux/REPLACE"+Xd(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Xd()}};function tc(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ic(e){if(void 0===e)return"undefined";if(null===e)return"null";var t=typeof e;switch(t){case"boolean":case"string":case"number":case"symbol":case"function":return t}if(Array.isArray(e))return"array";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(e))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(e))return"error";var i=function(e){return"function"==typeof e.constructor?e.constructor.name:null}(e);switch(i){case"Symbol":case"Promise":case"WeakMap":case"WeakSet":case"Map":case"Set":return i}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")}function nc(e){var t=typeof e;return"production"!==process.env.NODE_ENV&&(t=ic(e)),t}function rc(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}function sc(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}var oc=function(e){return"@@redux-saga/"+e},ac=oc("CANCEL_PROMISE"),lc=oc("CHANNEL_END"),dc=oc("IO"),cc=oc("MATCH"),hc=oc("MULTICAST"),uc=oc("SAGA_ACTION"),pc=oc("SELF_CANCELLATION"),gc=oc("TASK"),mc=oc("TASK_CANCEL"),fc=oc("TERMINATE"),yc=oc("LOCATION");function vc(){return vc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},vc.apply(this,arguments)}var _c=function(e){return null==e},bc=function(e){return null!=e},wc=function(e){return"function"==typeof e},xc=function(e){return"string"==typeof e},kc=Array.isArray,Sc=function(e){return e&&!kc(e)&&"object"==typeof e},Ac=function(e){return e&&wc(e.then)},Ec=function(e){return e&&wc(e.next)&&wc(e.throw)},Cc=function(e){return e&&e[gc]},Tc=function(e){return e&&wc(e.isEmpty)&&wc(e.take)&&wc(e.put)},Ic=function e(t){return t&&(xc(t)||Fc(t)||wc(t)||kc(t)&&t.every(e))},Dc=function(e){return e&&wc(e.take)&&wc(e.close)},Pc=function(e){return wc(e)&&e.hasOwnProperty("toString")},Fc=function(e){return Boolean(e)&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype},Nc=function(e){return Dc(e)&&e[hc]},Rc=function(e){return e&&e[dc]},Oc=2147483647;function Mc(e,t){if(void 0===t&&(t=!0),"production"!==process.env.NODE_ENV&&e>Oc)throw new Error("delay only supports a maximum value of "+Oc+"ms");var i,n=new Promise((function(n){i=setTimeout(n,Math.min(Oc,e),t)}));return n[ac]=function(){clearTimeout(i)},n}var Lc=function(e){return function(){return e}},Bc=Lc(!0),zc=function(){};"production"!==process.env.NODE_ENV&&"undefined"!=typeof Proxy&&(zc=new Proxy(zc,{set:function(){throw Kc("There was an attempt to assign a property to internal `noop` function.")}}));var jc=function(e){return e},Hc="function"==typeof Symbol&&Symbol.asyncIterator?Symbol.asyncIterator:"@@asyncIterator";function Uc(e,t,i){if(!t(e))throw new Error(i)}var $c=function(e,t){vc(e,t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach((function(i){e[i]=t[i]}))};function Vc(e,t){var i=e.indexOf(t);i>=0&&e.splice(i,1)}var Wc=function(e){throw e},Gc=function(e){return{value:e,done:!0}};function qc(e,t,i){void 0===t&&(t=Wc),void 0===i&&(i="iterator");var n={meta:{name:i},next:e,throw:t,return:Gc,isSagaIterator:!0};return"undefined"!=typeof Symbol&&(n[Symbol.iterator]=function(){return n}),n}function Yc(e,t){var i=t.sagaStack;console.error(e),console.error(i)}var Kc=function(e){return new Error("\n  redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\n  in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\n  Error: "+e+"\n")},Jc=function(e,t){return(e?e+".":"")+"setContext(props): argument "+t+" is not a plain object"},Zc=function(e){return Array.apply(null,new Array(e))},Qc=function(e){return function(t){return"production"!==process.env.NODE_ENV&&Uc(t,(function(e){return!Object.isFrozen(e)}),"You can't put (a.k.a. dispatch from saga) frozen actions.\nWe have to define a special non-enumerable property on those actions for scheduling purposes.\nOtherwise you wouldn't be able to communicate properly between sagas & other subscribers (action ordering would become far less predictable).\nIf you are using redux and you care about this behaviour (frozen actions),\nthen you might want to switch to freezing actions in a middleware rather than in action creator.\nExample implementation:\n\nconst freezeActions = store => next => action => next(Object.freeze(action))\n"),e(Object.defineProperty(t,uc,{value:!0}))}},Xc=function(e){return e===fc},eh=function(e){return e===mc},th=function(e){return Xc(e)||eh(e)};function ih(e,t){var i=Object.keys(e),n=i.length;"production"!==process.env.NODE_ENV&&Uc(n,(function(e){return e>0}),"createAllStyleChildCallbacks: get an empty array or object");var r,s=0,o=kc(e)?Zc(n):{},a={};return i.forEach((function(e){var i=function(i,a){r||(a||th(i)?(t.cancel(),t(i,a)):(o[e]=i,++s===n&&(r=!0,t(o))))};i.cancel=zc,a[e]=i})),t.cancel=function(){r||(r=!0,i.forEach((function(e){return a[e].cancel()})))},a}function nh(e){return{name:e.name||"anonymous",location:rh(e)}}function rh(e){return e[yc]}function sh(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}var oh=function(e){return function(e,t){void 0===e&&(e=10);var i=new Array(e),n=0,r=0,s=0,o=function(t){i[r]=t,r=(r+1)%e,n++},a=function(){if(0!=n){var t=i[s];return i[s]=null,n--,s=(s+1)%e,t}},l=function(){for(var e=[];n;)e.push(a());return e};return{isEmpty:function(){return 0==n},put:function(a){var d;if(n<e)o(a);else switch(t){case 1:throw new Error("Channel's Buffer overflow!");case 3:i[r]=a,s=r=(r+1)%e;break;case 4:d=2*e,i=l(),n=i.length,r=i.length,s=0,i.length=d,e=d,o(a)}},take:a,flush:l}}(e,4)},ah="TAKE",lh="PUT",dh="ALL",ch="RACE",hh="CALL",uh="FORK",ph="CANCEL",gh="SELECT",mh="\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)",fh=function(e,t){var i;return(i={})[dc]=!0,i.combinator=!1,i.type=e,i.payload=t,i};function yh(e,t){if(void 0===e&&(e="*"),"production"!==process.env.NODE_ENV&&arguments.length&&Uc(arguments[0],bc,"take(patternOrChannel): patternOrChannel is undefined"),Ic(e))return bc(t)&&console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types"),fh(ah,{pattern:e});if(Nc(e)&&bc(t)&&Ic(t))return fh(ah,{channel:e,pattern:t});if(Dc(e))return bc(t)&&console.warn("take(channel) takes one argument but two were provided. Second argument is ignored."),fh(ah,{channel:e});if("production"!==process.env.NODE_ENV)throw new Error("take(patternOrChannel): argument "+e+" is not valid channel or a valid pattern")}function vh(e,t){return"production"!==process.env.NODE_ENV&&(arguments.length>1?(Uc(e,bc,"put(channel, action): argument channel is undefined"),Uc(e,Dc,"put(channel, action): argument "+e+" is not a valid channel"),Uc(t,bc,"put(channel, action): argument action is undefined")):Uc(e,bc,"put(action): argument action is undefined")),_c(t)&&(t=e,e=void 0),fh(lh,{channel:e,action:t})}var _h=function(){var e=vh.apply(void 0,arguments);return e.payload.resolve=!0,e};function bh(e){var t=fh(dh,e);return t.combinator=!0,t}var wh=function(e,t){if(Uc(t,bc,e+": argument fn is undefined or null"),!wc(t)){var i,n=null;if(kc(t))n=t[0],Uc(i=t[1],bc,e+": argument of type [context, fn] has undefined or null `fn`");else{if(!Sc(t))return void Uc(t,wc,e+": argument fn is not function");n=t.context,Uc(i=t.fn,bc,e+": argument of type {context, fn} has undefined or null `fn`")}n&&xc(i)?Uc(n[i],wc,e+': context arguments has no such method - "'+i+'"'):Uc(i,wc,e+": unpacked fn argument (from [context, fn] or {context, fn}) is not a function")}};function xh(e,t){var i,n=null;return wc(e)?i=e:(kc(e)?(n=e[0],i=e[1]):(n=e.context,i=e.fn),n&&xc(i)&&wc(n[i])&&(i=n[i])),{context:n,fn:i,args:t}}var kh=function(e){return e!==Th};function Sh(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];if("production"!==process.env.NODE_ENV){var r="number"==typeof i[0]?i[0]:"ms";Uc(e,kh,"instead of writing `yield call(delay, "+r+")` where delay is an effect from `redux-saga/effects` you should write `yield delay("+r+")`"),wh("call",e)}return fh(hh,xh(e,i))}function Ah(e){"production"!==process.env.NODE_ENV&&(wh("fork",e),Uc(e,(function(e){return!Rc(e)}),"fork: argument must not be an effect"));for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return fh(uh,xh(e,i))}function Eh(e){if(void 0===e&&(e=pc),"production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.");kc(e)?e.forEach((function(e){Uc(e,Cc,"cancel([...tasks]): argument "+e+" is not a valid Task object "+mh)})):e!==pc&&bc(e)&&Uc(e,Cc,"cancel(task): argument "+e+" is not a valid Task object "+mh)}return fh(ph,e)}function Ch(e){void 0===e&&(e=jc);for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return"production"!==process.env.NODE_ENV&&arguments.length&&(Uc(arguments[0],bc,"select(selector, [...]): argument selector is undefined"),Uc(e,wc,"select(selector, [...]): argument "+e+" is not a function")),fh(gh,{selector:e,args:i})}var Th=Sh.bind(null,Mc);var Ih=[],Dh=0;function Ph(e){try{Rh(),e()}finally{Oh()}}function Fh(e){Ih.push(e),Dh||(Rh(),Mh())}function Nh(e){try{return Rh(),e()}finally{Mh()}}function Rh(){Dh++}function Oh(){Dh--}function Mh(){var e;for(Oh();!Dh&&void 0!==(e=Ih.shift());)Ph(e)}var Lh=function(e){return function(t){return e.some((function(e){return Uh(e)(t)}))}},Bh=function(e){return function(t){return e(t)}},zh=function(e){return function(t){return t.type===String(e)}},jh=function(e){return function(t){return t.type===e}},Hh=function(){return Bc};function Uh(e){var t="*"===e?Hh:xc(e)?zh:kc(e)?Lh:Pc(e)?zh:wc(e)?Bh:Fc(e)?jh:null;if(null===t)throw new Error("invalid pattern: "+e);return t(e)}var $h={type:lc},Vh=function(e){return e&&e.type===lc},Wh="Cannot have a closed channel with pending takers",Gh="invalid buffer passed to channel factory function",qh="Saga or channel was provided with an undefined action\nHints:\n  - check that your Action Creator returns a non-undefined value\n  - if the Saga was started using runSaga, check that your subscribe source provides the action to its listeners";function Yh(e){void 0===e&&(e=oh());var t=!1,i=[];function n(){if(t&&i.length)throw Kc(Wh);if(i.length&&!e.isEmpty())throw Kc("Cannot have pending takers with non empty buffer")}return"production"!==process.env.NODE_ENV&&Uc(e,Tc,Gh),{take:function(r){"production"!==process.env.NODE_ENV&&(n(),Uc(r,wc,"channel.take's callback must be a function")),t&&e.isEmpty()?r($h):e.isEmpty()?(i.push(r),r.cancel=function(){Vc(i,r)}):r(e.take())},put:function(r){if("production"!==process.env.NODE_ENV&&(n(),Uc(r,bc,qh)),!t){if(0===i.length)return e.put(r);i.shift()(r)}},flush:function(i){"production"!==process.env.NODE_ENV&&(n(),Uc(i,wc,"channel.flush' callback must be a function")),t&&e.isEmpty()?i($h):i(e.flush())},close:function(){if("production"!==process.env.NODE_ENV&&n(),!t){t=!0;var e=i;i=[];for(var r=0,s=e.length;r<s;r++){(0,e[r])($h)}}}}}function Kh(){var e=function(){var e,t=!1,i=[],n=i;function r(){if(t&&n.length)throw Kc(Wh)}var s=function(){n===i&&(n=i.slice())},o=function(){"production"!==process.env.NODE_ENV&&r(),t=!0;var e=i=n;n=[],e.forEach((function(e){e($h)}))};return(e={})[hc]=!0,e.put=function(e){if("production"!==process.env.NODE_ENV&&(r(),Uc(e,bc,qh)),!t)if(Vh(e))o();else for(var s=i=n,a=0,l=s.length;a<l;a++){var d=s[a];d[cc](e)&&(d.cancel(),d(e))}},e.take=function(e,i){var o,a;void 0===i&&(i=Hh),"production"!==process.env.NODE_ENV&&r(),t?e($h):(e[cc]=i,s(),n.push(e),e.cancel=(o=function(){s(),Vc(n,e)},a=!1,function(){a||(a=!0,o())}))},e.close=o,e}(),t=e.put;return e.put=function(e){e[uc]?t(e):Fh((function(){t(e)}))},e}var Jh=0,Zh=1,Qh=2,Xh=3;function eu(e,t){var i=e[ac];wc(i)&&(t.cancel=i),e.then(t,(function(e){t(e,!0)}))}var tu,iu=0,nu=function(){return++iu};function ru(e){e.isRunning()&&e.cancel()}var su=((tu={})[ah]=function(e,t,i){var n=t.channel,r=void 0===n?e.channel:n,s=t.pattern,o=t.maybe,a=function(e){e instanceof Error?i(e,!0):!Vh(e)||o?i(e):i(fc)};try{r.take(a,bc(s)?Uh(s):null)}catch(e){return void i(e,!0)}i.cancel=a.cancel},tu[lh]=function(e,t,i){var n=t.channel,r=t.action,s=t.resolve;Fh((function(){var t;try{t=(n?n.put:e.dispatch)(r)}catch(e){return void i(e,!0)}s&&Ac(t)?eu(t,i):i(t)}))},tu[dh]=function(e,t,i,n){var r=n.digestEffect,s=iu,o=Object.keys(t);if(0!==o.length){var a=ih(t,i);o.forEach((function(e){r(t[e],s,a[e],e)}))}else i(kc(t)?[]:{})},tu[ch]=function(e,t,i,n){var r=n.digestEffect,s=iu,o=Object.keys(t),a=kc(t)?Zc(o.length):{},l={},d=!1;o.forEach((function(e){var t=function(t,n){d||(n||th(t)?(i.cancel(),i(t,n)):(i.cancel(),d=!0,a[e]=t,i(a)))};t.cancel=zc,l[e]=t})),i.cancel=function(){d||(d=!0,o.forEach((function(e){return l[e].cancel()})))},o.forEach((function(e){d||r(t[e],s,l[e],e)}))},tu[hh]=function(e,t,i,n){var r=t.context,s=t.fn,o=t.args,a=n.task;try{var l=s.apply(r,o);if(Ac(l))return void eu(l,i);if(Ec(l))return void fu(e,l,a.context,iu,nh(s),!1,i);i(l)}catch(e){i(e,!0)}},tu.CPS=function(e,t,i){var n=t.context,r=t.fn,s=t.args;try{var o=function(e,t){_c(e)?i(t):i(e,!0)};r.apply(n,s.concat(o)),o.cancel&&(i.cancel=o.cancel)}catch(e){i(e,!0)}},tu[uh]=function(e,t,i,n){var r=t.context,s=t.fn,o=t.args,a=t.detached,l=n.task,d=function(e){var t=e.context,i=e.fn,n=e.args;try{var r=i.apply(t,n);if(Ec(r))return r;var s=!1;return qc((function(e){return s?{value:e,done:!0}:(s=!0,{value:r,done:!Ac(r)})}))}catch(e){return qc((function(){throw e}))}}({context:r,fn:s,args:o}),c=function(e,t){return e.isSagaIterator?{name:e.meta.name}:nh(t)}(d,s);Nh((function(){var t=fu(e,d,l.context,iu,c,a,void 0);a?i(t):t.isRunning()?(l.queue.addTask(t),i(t)):t.isAborted()?l.queue.abort(t.error()):i(t)}))},tu.JOIN=function(e,t,i,n){var r=n.task,s=function(e,t){if(e.isRunning()){var i={task:r,cb:t};t.cancel=function(){e.isRunning()&&Vc(e.joiners,i)},e.joiners.push(i)}else e.isAborted()?t(e.error(),!0):t(e.result())};if(kc(t)){if(0===t.length)return void i([]);var o=ih(t,i);t.forEach((function(e,t){s(e,o[t])}))}else s(t,i)},tu[ph]=function(e,t,i,n){var r=n.task;t===pc?ru(r):kc(t)?t.forEach(ru):ru(t),i()},tu[gh]=function(e,t,i){var n=t.selector,r=t.args;try{i(n.apply(void 0,[e.getState()].concat(r)))}catch(e){i(e,!0)}},tu.ACTION_CHANNEL=function(e,t,i){var n=t.pattern,r=Yh(t.buffer),s=Uh(n),o=function t(i){Vh(i)||e.channel.take(t,s),r.put(i)},a=r.close;r.close=function(){o.cancel(),a()},e.channel.take(o,s),i(r)},tu.CANCELLED=function(e,t,i,n){i(n.task.isCancelled())},tu.FLUSH=function(e,t,i){t.flush(i)},tu.GET_CONTEXT=function(e,t,i,n){i(n.task.context[t])},tu.SET_CONTEXT=function(e,t,i,n){var r=n.task;$c(r.context,t),i()},tu);function ou(e,t){return e+"?"+t}function au(e){var t=e.name,i=e.location;return i?t+"  "+ou(i.fileName,i.lineNumber):t}function lu(e){var t=function(e,t){var i;return(i=[]).concat.apply(i,t.map(e))}((function(e){return e.cancelledTasks}),e);return t.length?["Tasks cancelled due to error:"].concat(t).join("\n"):""}var du=null,cu=[],hu=function(e){e.crashedEffect=du,cu.push(e)},uu=function(){du=null,cu.length=0},pu=function(e){du=e},gu=function(){var e=cu[0],t=cu.slice(1),i=e.crashedEffect?function(e){var t=rh(e);return t?t.code+"  "+ou(t.fileName,t.lineNumber):""}(e.crashedEffect):null;return["The above error occurred in task "+au(e.meta)+(i?" \n when executing effect "+i:"")].concat(t.map((function(e){return"    created by "+au(e.meta)})),[lu(cu)]).join("\n")};function mu(e,t,i,n,r,s,o){var a;void 0===o&&(o=zc);var l,d,c=Jh,h=null,u=[],p=Object.create(i),g=function(e,t,i){var n,r=[],s=!1;function o(e){t(),l(),i(e,!0)}function a(t){r.push(t),t.cont=function(a,l){s||(Vc(r,t),t.cont=zc,l?o(a):(t===e&&(n=a),r.length||(s=!0,i(n))))}}function l(){s||(s=!0,r.forEach((function(e){e.cont=zc,e.cancel()})),r=[])}return a(e),{addTask:a,cancelAll:l,abort:o,getTasks:function(){return r}}}(t,(function(){u.push.apply(u,g.getTasks().map((function(e){return e.meta.name})))}),m);function m(t,i){if(i){if(c=Qh,hu({meta:r,cancelledTasks:u}),f.isRoot){var n=gu();uu(),e.onError(t,{sagaStack:n})}d=t,h&&h.reject(t)}else t===mc?c=Zh:c!==Zh&&(c=Xh),l=t,h&&h.resolve(t);f.cont(t,i),f.joiners.forEach((function(e){e.cb(t,i)})),f.joiners=null}var f=((a={})[gc]=!0,a.id=n,a.meta=r,a.isRoot=s,a.context=p,a.joiners=[],a.queue=g,a.cancel=function(){c===Jh&&(c=Zh,g.cancelAll(),m(mc,!1))},a.cont=o,a.end=m,a.setContext=function(e){"production"!==process.env.NODE_ENV&&Uc(e,Sc,Jc("task",e)),$c(p,e)},a.toPromise=function(){return h||((e={}).promise=new Promise((function(t,i){e.resolve=t,e.reject=i})),h=e,c===Qh?h.reject(d):c!==Jh&&h.resolve(l)),h.promise;var e},a.isRunning=function(){return c===Jh},a.isCancelled=function(){return c===Zh||c===Jh&&t.status===Zh},a.isAborted=function(){return c===Qh},a.result=function(){return l},a.error=function(){return d},a);return f}function fu(e,t,i,n,r,s,o){if("production"!==process.env.NODE_ENV&&t[Hc])throw new Error("redux-saga doesn't support async generators, please use only regular ones");var a=e.finalizeRunEffect((function(t,i,n){if(Ac(t))eu(t,n);else if(Ec(t))fu(e,t,d.context,i,r,!1,n);else if(t&&t[dc]){(0,su[t.type])(e,t.payload,n,c)}else n(t)}));h.cancel=zc;var l={meta:r,cancel:function(){l.status===Jh&&(l.status=Zh,h(mc))},status:Jh},d=mu(e,l,i,n,r,s,o),c={task:d,digestEffect:u};return o&&(o.cancel=d.cancel),h(),d;function h(e,i){try{var r;i?(r=t.throw(e),uu()):eh(e)?(l.status=Zh,h.cancel(),r=wc(t.return)?t.return(mc):{done:!0,value:mc}):r=Xc(e)?wc(t.return)?t.return():{done:!0}:t.next(e),r.done?(l.status!==Zh&&(l.status=Xh),l.cont(r.value)):u(r.value,n,h)}catch(e){if(l.status===Zh)throw e;l.status=Qh,l.cont(e,!0)}}function u(t,i,n,r){void 0===r&&(r="");var s,o=nu();function l(i,r){s||(s=!0,n.cancel=zc,e.sagaMonitor&&(r?e.sagaMonitor.effectRejected(o,i):e.sagaMonitor.effectResolved(o,i)),r&&pu(t),n(i,r))}e.sagaMonitor&&e.sagaMonitor.effectTriggered({effectId:o,parentEffectId:i,label:r,effect:t}),l.cancel=zc,n.cancel=function(){s||(s=!0,l.cancel(),l.cancel=zc,e.sagaMonitor&&e.sagaMonitor.effectCancelled(o))},a(t,o,l)}}var yu="runSaga(options, saga, ...args): saga argument must be a Generator function!";function vu(e,t){var i=e.channel,n=void 0===i?Kh():i,r=e.dispatch,s=e.getState,o=e.context,a=void 0===o?{}:o,l=e.sagaMonitor,d=e.effectMiddlewares,c=e.onError,h=void 0===c?Yc:c;"production"!==process.env.NODE_ENV&&Uc(t,wc,yu);for(var u=arguments.length,p=new Array(u>2?u-2:0),g=2;g<u;g++)p[g-2]=arguments[g];var m=t.apply(void 0,p);"production"!==process.env.NODE_ENV&&Uc(m,Ec,yu);var f,y=nu();if(l&&(l.rootSagaStarted=l.rootSagaStarted||zc,l.effectTriggered=l.effectTriggered||zc,l.effectResolved=l.effectResolved||zc,l.effectRejected=l.effectRejected||zc,l.effectCancelled=l.effectCancelled||zc,l.actionDispatched=l.actionDispatched||zc,l.rootSagaStarted({effectId:y,saga:t,args:p})),"production"!==process.env.NODE_ENV){if(bc(r)&&Uc(r,wc,"dispatch must be a function"),bc(s)&&Uc(s,wc,"getState must be a function"),bc(d)){var v="effectMiddlewares must be an array of functions";Uc(d,kc,v),d.forEach((function(e){return Uc(e,wc,v)}))}Uc(h,wc,"onError passed to the redux-saga is not a function!")}if(d){var _=sh.apply(void 0,d);f=function(e){return function(t,i,n){return _((function(t){return e(t,i,n)}))(t)}}}else f=jc;var b={channel:n,dispatch:Qc(r),getState:s,sagaMonitor:l,onError:h,finalizeRunEffect:f};return Nh((function(){var e=fu(b,m,a,y,nh(t),!0,void 0);return l&&l.effectResolved(y,e),e}))}function _u(e){return function(t){var i=t.dispatch,n=t.getState;return function(t){return function(r){return"function"==typeof r?r(i,n,e):t(r)}}}}var bu=_u();bu.withExtraArgument=_u;var wu=bu;const xu=rd;function ku(e){return new xu(e)}const Su="redux-oidc/USER_EXPIRED",Au="redux-oidc/USER_FOUND",Eu="redux-oidc/LOADING_USER",Cu="redux-oidc/LOAD_USER_ERROR";function Tu(){return{type:Su}}function Iu(e){return{type:Au,payload:e}}function Du(){return{type:Eu}}function Pu(){return{type:Cu}}let Fu=null,Nu=null;function Ru(e){!e||e.expired?Nu(Tu()):(Fu=e,Nu(Iu(e)))}function Ou(e){console.error(`redux-oidc: Error loading user in oidcMiddleware: ${e.message}`),Nu(Pu())}function Mu(e){if(!e||!e.getUser)throw new Error("You must provide a user manager!");return t=>(e.events.addUserLoaded((e=>function(e,t){Fu=e,t.dispatch(Iu(e))}(e,t))),t=>i=>{!function(e,t,i){t.type===Su||t.type===Eu||t.type===Au||(Nu=e,Fu&&!Fu.expired||(e(Du()),i.getUser().then(Ru).catch(Ou))),e(t)}(t,i,e)})}const Lu={user:null,isLoadingUser:!1};function Bu(e=Lu,t){switch(t.type){case Su:case"redux-oidc/SILENT_RENEW_ERROR":case"redux-oidc/SESSION_TERMINATED":case"redux-oidc/USER_SIGNED_OUT":return Object.assign({},{...e},{user:null,isLoadingUser:!1});case Au:return Object.assign({},{...e},{user:t.payload,isLoadingUser:!1});case Eu:return Object.assign({},{...e},{isLoadingUser:!0});case"redux-oidc/SIGN_IN":return null;default:return e}}let zu=!1;"1"===window.sessionStorage.getItem("uselocalstorage")&&(zu=!0),"?uselocalstorage"===window.location.search?(window.sessionStorage.setItem("uselocalstorage","1"),zu=!0):window.sessionStorage.removeItem("uselocalstorage");const ju=ku({client_id:function(){if("localhost"===window.location.hostname)return"https://develop5.tcg-academy.nl";return`https://${window.location.hostname}`}(),redirect_uri:`${window.location.protocol}//${window.location.hostname}${window.location.port?`:${window.location.port}`:""}/callback`,post_logout_redirect_uri:`${window.location.protocol}//${window.location.hostname}${window.location.port?`:${window.location.port}`:""}/`,response_type:"token id_token",scope:"openid name api api_tcg_claims idString email",authority:-1===["localhost","develop.tcg-minerva.nl","test.tcg-minerva.nl","develop.test-sdbleerplatform.nl","test.test-sdbleerplatform.nl"].indexOf(window.location.hostname.toLowerCase())?"https://sts.competence.biz/identity":"https://sts-dev.competence.biz/identity",silent_redirect_uri:`${window.location.protocol}//${window.location.hostname}${window.location.port?`:${window.location.port}`:""}/silent_renew`,automaticSilentRenew:!0,filterProtocolClaims:!1,loadUserInfo:!1,userStore:new nd({store:zu?window.localStorage:window.sessionStorage})});function Hu(e){return Hu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hu(e)}function Uu(e){return null!==e&&"object"===Hu(e)&&(e&&"function"==typeof e.then)}function $u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e))&&"[object Arguments]"!==Object.prototype.toString.call(e))return;var i=[],n=!0,r=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);n=!0);}catch(e){r=!0,s=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw s}}return i}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Vu(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function Wu(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?Vu(Object(i),!0).forEach((function(t){Gu(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):Vu(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function Gu(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var qu={Pending:"PENDING",Fulfilled:"FULFILLED",Rejected:"REJECTED"};const Yu="FETCH_SETTINGS",Ku="SAVE_SETTINGS",Ju="ADD_ADMIN",Zu="REMOVE_ADMIN",Qu=e=>e?{Authorization:`Bearer ${e.access_token}`}:{},Xu=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.settingsUrl}/api/settings/${n.portalIdentifier}`,o={...e,enabledFeatureFlags:Object.keys(e.enabledFeatureFlags)},a=JSON.stringify(o);await t({type:Ku,async payload(){const e=await fetch(s,{headers:{...Qu(r.user),"Content-Type":"application/json"},method:"PUT",body:a});return await e.json()}})},ep=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.settingsUrl}/api/admin/${n.portalIdentifier}`;t({type:Ju,async payload(){await fetch(s,{headers:{...Qu(r.user),"Content-Type":"application/json"},method:"PUT",body:JSON.stringify(e)}),await t({type:"MINERVASETTINGS_REQUESTED"})}})},tp=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.settingsUrl}/api/departmentReviewer/${n.portalIdentifier}`;t({type:"ADD_REVIEWER",async payload(){await fetch(s,{headers:{...Qu(r.user),"Content-Type":"application/json"},method:"PUT",body:JSON.stringify(e)}),await t({type:"MINERVASETTINGS_REQUESTED"})}})},ip=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.settingsUrl}/api/admin/${n.portalIdentifier}?idString=${encodeURIComponent(e)}`;t({type:Zu,async payload(){await fetch(s,{headers:{...Qu(r.user),"Content-Type":"application/json"},method:"DELETE"}),await t({type:"MINERVASETTINGS_REQUESTED"})}})},np=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.settingsUrl}/api/departmentReviewer/${n.portalIdentifier}?idString=${encodeURIComponent(e)}`;t({type:"REMOVE_REVIEWER",async payload(){await fetch(s,{headers:{...Qu(r.user),"Content-Type":"application/json"},method:"DELETE"}),await t({type:"MINERVASETTINGS_REQUESTED"})}})},rp="FETCH_LEARNINGPLAN",sp="SIGNAL_LEARNINGPLAN",op="NAVIGATE_PARENTFLOW",ap=e=>({Authorization:`Bearer ${e.access_token}`,"Content-Type":"application/json"}),lp=e=>async(t,i)=>{const n=i(),r=n.minervaSettings.portalApiUrl,s=n.minervaSettings.catalogApiUrl,o=n.minervaSettings.portalIdentifier;if(!r)return;let a=n.learningPlan.instanceStack||[e.instanceId];e.newStart&&(a=[e.instanceId]),a[0]!==e.instanceId&&a.push(e.instanceId),t({type:rp,async payload(){const t=await fetch(`${r}/api/1.0/workflow/definition?instanceId=${e.instanceId}`,{headers:ap(n.oidc.user)}),i=await t.json(),l=await fetch(`${s}/api/catalogItem/${o}/${i.targetId}`,{headers:ap(n.oidc.user)}),d=await l.json();return{...i,openScormInNewWindow:d.openScormInNewWindow,instanceStack:a,instanceId:e.instanceId}}})},dp=()=>async(e,t)=>{const i=t(),n=i.minervaSettings.portalApiUrl;if(!n)return;const r=i.learningPlan.instanceStack;e({type:op,async payload(){r.pop();const e=r[r.length-1],t=await fetch(`${n}/api/1.0/workflow/definition?instanceId=${e}`,{headers:ap(i.oidc.user)});return{...await t.json(),instanceStack:r,instanceId:e}}})},cp=e=>async(t,i)=>{const n=i(),r=n.minervaSettings.portalApiUrl;t({type:sp,async payload(){const t=await fetch(`${r}/api/1.0/workflow/signal?instanceId=${e}`,{method:"POST",body:{},headers:ap(n.oidc.user)});return{...await t.json()}}})},hp=(e,t)=>{if(!e)return!1;if(!e.visibility)return!1;switch(e.visibility.toLowerCase()){case"visible":return!0;case"hidden":case"children":return!1;case"active":case"":return t&&"dontcare"!==t.state.toLowerCase()}return!1};const up=(e,t,i)=>{var n,r;e.trackingRecord=((e,t)=>e.find((e=>e.itemDefinitionId===t)))(t,e.id),e.selfVisible=hp(e,e.trackingRecord),e.childrenVisible=((e,t)=>{if(!e)return!1;if("choose"===e.type||"option"===e.type||"otherwise"===e.type)return!0;if(!e.visibility)return t&&"dontcare"!==t.state.toLowerCase();if(hp(e,t))return!0;switch(e.visibility.toLowerCase()){case"children":case"hidden":return t&&"dontcare"!==t.state.toLowerCase();case"active":return!1;default:return!0}})(e,e.trackingRecord),e.isCompleted=(n=e,r=e.trackingRecord,!(!n||!r||!r.state||"completed"!==r.state.toLowerCase())),e.startDisabled=function(e,t){if(!e.type)return!1;switch(e.type.toLowerCase()){case"externalelearning":case"elearningmodule":return!t;case"elearning":case"history":case"classroomenroll":case"hyperlink":case"form":case"subworkflow":return!t||"completed"===t.state.toLowerCase()&&"true"!==e.history;default:return!1}}(e,e.trackingRecord),e.skipLinkVisible=function(e,t,i){if(!e.type)return!1;if(!t)return!1;if("started"===t.state.toLowerCase()){if("true"===e.abandonable)return!0;switch(e.type.toLowerCase()){case"elearning":case"form":case"subworkflow":return i;default:return!1}}return!1}(e,e.trackingRecord,i),e.skipLinkVisible&&(e.skipLinkText=function(e,t,i){if(!t)return"";if("started"!==t.state.toLowerCase())return"";if("true"===e.abandonable)return"tcgLearningPlan.handIn";switch(e.type.toLowerCase()){case"elearning":case"elearningmodule":case"form":case"subworkflow":return i?"tcgLearningPlan.skip":"";default:return""}}(e,e.trackingRecord,i),e.skipLinkIcon=function(e){switch(e){case"tcgLearningPlan.handIn":return"fal fa-paper-plane-top";case"tcgLearningPlan.skip":return"fal fa-forward-step";default:return""}}(e.skipLinkText)),e.items&&e.items.forEach((e=>{up(e,t,i)}))},pp="EXECUTE_WORKFLOW",gp="RESTART_ELEARNING",mp="KICK_ELEARNING",fp="CLOSE_DIALOG",yp=e=>({Authorization:`Bearer ${e.access_token}`,"Content-Type":"application/json"}),vp=e=>async(t,i)=>{const n=i().learningPlan.instanceId,r=i().oidc.user,s=i().minervaSettings.portalApiUrl;t({type:pp,async payload(){const i=await fetch(`${s}/api/1.0/workflow/execute`,{method:"POST",headers:yp(r),body:JSON.stringify(e)}),o=await i.json();if(402===i.status){const e=new Error("Payment Required");throw e.status=402,e.data=o,e}if(!i.ok){const t=new Error("Error occurred in workflow execute");throw console.log(e),t.status=i.status,t.data=o,t}return"skip"===e.ActivityType&&await t(cp(n)),o.workflowInstanceId&&n!==o.workflowInstanceId&&await t(lp({instanceId:o.workflowInstanceId,newStart:!1})),o.workflowInstanceId||(o.workflowInstanceId=n),{...o,activityType:e.ActivityType}}})},_p=e=>async(t,i)=>{const n=i().oidc.user,r=i().minervaSettings.portalApiUrl;t({type:mp,payload:async()=>(await fetch(`${r}/api/1.0/workflow/kick?instanceId=${e}`,{method:"POST",headers:yp(n),body:{}}),await t(lp({instanceId:e,newStart:!0})),{})})},bp=()=>async(e,t)=>{const i=t().workflow.workflowInstanceId;await e({type:fp,payload:async()=>(await e(cp(i)),{itemDefinitionId:null,activityType:null})})},wp="FETCH_STARTINFO",xp="SET_UNITINDEX",kp="SET_LESSON",Sp="SET_PAGE_PROGRESS",Ap="COMMIT_SCORM",Ep="FINISH_SCORM",Cp="CLOSE_DIGITAL_LEARNING",Tp="COMPLETE_DOCUMENT",Ip=e=>({Authorization:`Bearer ${e.access_token}`,"Content-Type":"application/json"}),Dp=(e,t,i)=>async(n,r)=>{const s=r(),o=s.minervaSettings.portalApiUrl;if(!o)return;const{pageProgress:a,completesAtStart:l,requiresCompleteViewing:d}=s.digitalLearning;await n({type:wp,async payload(){const n=await fetch(`${o}/api/1.0/digitalLearning/startInfo?sessionId=${e}&contentRootId=${t}&version=${i}`,{headers:Ip(s.oidc.user)}),c=await n.json(),h=c.state.currentModule;let u=h.children[0].id,p=u,g=0;if(c.state.selectedNavigation){const e=c.state.selectedNavigation.id,t=h.children.find((t=>t.children.some((t=>t.id===e))));t&&(u=t.id,p=u,g=t.children.findIndex((t=>t.id===e)))}const m=c.state.currentModule.template;if("scorm12"===m){const n=Pp(h),s=n.metaData.find((e=>"ScormLocation"===e.name)),a=n.metaData.find((e=>"SuspendData"===e.name)),l=n.metaData.find((e=>"LessonStatus"===e.name)),d=n.metaData.find((e=>"Entry"===e.name)),u=n.metaData.find((e=>"LaunchData"===e.name)),p=r().oidc.user.profile,g=o.replace(/(https?:\/\/)([^/]*)([/]?)/,"$2"),f=n.referenceKey.replace(/(scorm)\/(.*)/,`$1/${g}/$2`);return{...c,entry:d?d.value:"ab-initio",lessonLocation:s?s.value:null,suspendData:a?a.value:null,launchData:u?u.value:null,lessonStatus:l?l.displayValue:null,studentId:p.idString,studentName:p.name,copEnabled:!1,scormEnabled:!0,scormUrl:f,currentModule:h,itemId:e,itemDefinitionId:t,versionId:i,template:m,loadManifestCop:!1}}if("scorm2004"===m)throw new Error("Not supported");const f=!h.previousEnabled,y=!h.previousEnabled,v=Lp(h,p,g,0,a,l,d);let _;if("document"===m);else _=await Hp(s.oidc.user,o,e,t,i,v.selectedUnit.id,!1);return{...c,...v,copEnabled:!0,scormEnabled:!1,currentModule:h,itemId:e,itemDefinitionId:t,versionId:i,template:m,loadManifestCop:!0,manifestUrl:_,firstHidden:f,lastHidden:y}}})},Pp=e=>{let t=e.children[0];for(;!t.referenceKey&&t.children&&t.children.length;)t=t.children[0];return t},Fp=(e,t,i)=>({queue:"COMMIT_SCORM",callback:async(n,r,s)=>{if(r(Rp(t,"PENDING")),e&&await Op(s(),e),t&&(await Mp(s()),i)){const e=s().workflow.workflowInstanceId;await r(cp(e)),r($p())}r(Rp(t,"FULFILLED")),n()}}),Np=e=>e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,Np),Rp=(e,t)=>e?{type:`CLOSE_COP_${t}`,payload:{itemDefinitionId:null}}:{type:`${Ap}_${t}`},Op=async(e,t)=>{const i=e.minervaSettings.portalApiUrl,{currentModule:n,rootId:r,sessionId:s,startDateTime:o}=e.digitalLearning;if(!n)return;const a=Pp(n);await fetch(`${i}/api/scorm12/result`,{headers:Ip(e.oidc.user),method:"POST",body:JSON.stringify({cmiElements:t.map((e=>({name:e.name,value:e.value}))),params:[],resultSessionId:Np(),objectId:a.id,contentId:a.referenceId,version:a.version,startDateTime:o,moduleId:n.id,sessionRootId:r,sessionId:s})})},Mp=async e=>{const t=e.minervaSettings.portalApiUrl,{currentModule:i,itemId:n,itemDefinitionId:r,versionId:s,startDateTime:o}=e.digitalLearning;if(!i)return;const a=Pp(i);await fetch(`${t}/api/1.0/digitalLearning/closeSession`,{method:"POST",headers:Ip(e.oidc.user),body:JSON.stringify({sessionId:n,contentRootId:r,version:s,objectId:a.id,contentId:a.referenceId,contentVersion:a.version,startDateTime:o})})},Lp=(e,t,i,n,r,s,o,a)=>{const l=e.children.find((e=>e.id===t)),d=l.children[i],c=Up(l.children,i,n),h=l.children.reduce(((e,t)=>e+t.pageCount),0),u=Bp(e,i,n),p=zp(e,i,n),g=jp(c,h,r,s,o,a);return{unitIndex:i,currentPageInUnit:n,selectedLesson:l,selectedUnit:d,pageCount:h,currentPageInLesson:c,firstDisabled:u,previousDisabled:p,nextDisabled:g,lastDisabled:g||c>=h}},Bp=(e,t,i)=>!e.previousEnabled||!(t>0)&&!(i>0),zp=(e,t,i)=>!e.previousEnabled||!(t>0)&&!(i>0),jp=(e,t,i,n,r,s)=>!!(e+1>=t)||!s&&!(n&&!r),Hp=async(e,t,i,n,r,s,o)=>{const a=new URL(`${t}/api/1.0/digitalLearning/manifestInfo`);a.searchParams.set("sessionId",i),a.searchParams.set("contentRootId",n),a.searchParams.set("version",r),a.searchParams.set("unitId",s),a.searchParams.set("hm",o);const l=await fetch(a.toString(),{headers:Ip(e)});return(await l.json()).url},Up=(e,t,i)=>{if(!e)return 0;let n=0;for(let i=0;i<t&&i<e.length;i++){n+=e[i].pageCount}return n+i},$p=()=>(e,t)=>{e({type:Cp,payload:async()=>(await Promise.resolve(1),{})})},Vp="UPDATE_CATALOG_ITEM",Wp="STORE_SELECTED_CATALOG_ITEM",Gp=e=>t=>{t({type:Vp,payload:e})},qp=e=>({type:Wp,payload:e}),Yp="VALIDATE_ENROLLMENTHOOK",Kp="BUY",Jp="CUSTOM_BUY",Zp="CLOSE_DIALOG",Qp=(e,t)=>async(i,n)=>{const r=n().minervaSettings.portalApiUrl;if(!r)return;const s=n().oidc.user,o=s.profile.idString;i({type:Yp,async payload(){const i=await fetch(`${r}/api/1.0/enrollmenthook/validate?targetId=${e}&idString=${o}&subId=${t}`,{method:"GET",headers:{Authorization:`Bearer ${s.access_token}`}});return{...await i.json(),targetId:e,catalogItemSubId:t}}})},Xp=(e,t)=>async(i,n)=>{const r=n().minervaSettings.portalApiUrl;if(!r)return;const s=n().oidc.user,o=s.profile.idString;i({type:Kp,async payload(){const i=`${window.location}`,n=await fetch(`${r}/api/1.0/enrollmenthook/buy`,{method:"POST",body:JSON.stringify({targetId:e,idString:o,subId:t,closeUrl:i}),headers:{"Content-Type":"application/json",Authorization:`Bearer ${s.access_token}`}});return{...await n.json(),targetId:e,catalogItemSubId:t}}})},eg=e=>async t=>{t({type:Jp,payload:async()=>({paymentUrl:e})})},tg=()=>async(e,t)=>{const i=t().targetId,n=t().catalogItemSubId;await e({type:Zp,payload:async()=>({targetId:i,catalogItemSubId:n})})},ig={initialized:!1,isLoading:!1},ng="GET_SCORM_RESULT",rg="UPDATE_SCORM_RESULT",sg=e=>({Authorization:`Bearer ${e.access_token}`,"Content-Type":"application/json"}),og=(e,t)=>async(i,n)=>{const r=n().oidc.user,s=n().minervaSettings.catalogApiUrl;i({type:ng,async payload(){const i=await fetch(`${s}/api/scorm12/result/${t}/${e}`,{method:"GET",headers:sg(r)});let n={};return 200===i.status&&(n=await i.json()),{scormResult:n,canResume:"resume"===n.entry,isReview:"review"===n.lessonMode}}})},ag={scormResult:void 0,canResume:!1,isReview:!1},lg="INIT_API",dg="START_SCORM",cg="COMMIT_SCORM",hg="CLOSE_DIALOG",ug=e=>({Authorization:`Bearer ${e.access_token}`,"Content-Type":"application/json"}),pg=(e,t,i,n)=>async(r,s)=>{const o=s().oidc.user,a=s().minervaSettings.catalogApiUrl,l=s().minervaSettings.portalIdentifier,d=l.toLowerCase();r({type:dg,async payload(){const c=await fetch(`${a}/api/scorm/${l}/${e}`,{method:"GET",headers:ug(o)}),h=await c.json(),u=h.uniqueId,p=h.startPage;if(o.profile.idString,o.profile.name,t&&(o.profile.idString,o.profile.name),!t&&!n){const e=s().scormResult.scormResult;e.entry,e.lessonMode,e.lessonLocation,e.suspendData,e.lessonStatus,o.profile.idString,o.profile.name}const g="/scorm-az/academyscorm.blob.core.windows.net/unzippedscorm/"+d+"/"+u+"/"+p;return await r(((e,t)=>async(t,i)=>{t({type:lg,async payload(){const i=null;return e||(i.onLmsFinish.on((async()=>{const e=i.scoData.cmiElements;await t(gg(e,!0,!0))})),i.onLmsCommit.on((async e=>{await t(gg(e,!1,!1))}))),window.API=i,{scormApi:i}}})})(t)),{action:"redirectInDialog",externalId:e,scormUrl:g,targetId:i,isPreview:t}}})},gg=(e,t,i)=>({queue:"COMMIT_SCORM",callback:async(n,r,s)=>{e&&await mg(s(),e),t&&(await fg(s(),e,r),i&&r(yg())),n()}}),mg=async(e,t,i)=>{const n=e.minervaSettings.catalogApiUrl,r=e.oidc.user,s=e.scorm.targetId,o=e.scorm.externalId;if(s&&o){const i=await fetch(`${n}/api/scorm12/result`,{headers:ug(e.oidc.user),method:"PUT",body:JSON.stringify({cmiElements:t.map((e=>({name:e.name,value:e.value+""}))),params:[],targetId:s,objectId:o,studentId:r.profile.idString,studentName:r.profile.name})});201===i.status&&await i.json()}},fg=async(e,t,i)=>{const n=e.minervaSettings.catalogApiUrl,r=e.minervaSettings.portalIdentifier,s=e.oidc.user,o=e.scorm.targetId,a=e.scorm.externalId;if(o&&a){const l=await fetch(`${n}/api/scorm12/result/${r}`,{headers:ug(e.oidc.user),method:"PUT",body:JSON.stringify({cmiElements:t.map((e=>({name:e.name,value:e.value+""}))),params:[],targetId:o,objectId:a,studentId:s.profile.idString,studentName:s.profile.name})});if(201===l.status){const e=await l.json();await i((e=>async(t,i)=>{await t({type:rg,payload:async()=>({scormResult:e,canResume:"resume"===e.entry,isReview:"review"===e.lessonMode})})})(e))}}},yg=()=>async(e,t)=>{await e({type:hg,payload:async()=>({})})},vg={},_g={signedIn:null,pending:null,error:null},bg={modified:null,results:null,loading:null,error:null};const wg="ADD_ASSESSOR",xg="REMOVE_ASSESSOR",kg="SET_CURRENT_CLUSTER_TYPE",Sg="HIDE_NOT_ASSIGNED_TOGGLE_FILTER",Ag="SELECT_USER_FUNCTION_FOR_FILTER",Eg="SET_SKILL_FILTER_PARAMS_FOR_DEPARTMENTS",Cg="SET_SELECTED_FILTER_LABELS",Tg="SET_USER_SKILLS_HISTORY_VIEW",Ig=e=>e?{Authorization:`Bearer ${e.access_token}`}:{},Dg=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.skillsApiUrl}/api/6.0/settings/assessor/${n.portalIdentifier}`;t({type:wg,async payload(){const t=await fetch(s,{headers:{...Ig(r.user),"Content-Type":"application/json"},method:"POST",body:JSON.stringify(e)});return await t.json()}})},Pg=e=>async(t,i)=>{const{minervaSettings:n,oidc:r}=i(),s=`${n.skillsApiUrl}/api/6.0/settings/assessor/${n.portalIdentifier}?idString=${encodeURIComponent(e)}`;t({type:xg,async payload(){const e=await fetch(s,{headers:{...Ig(r.user),"Content-Type":"application/json"},method:"DELETE"});return await e.json()}})},Fg=e=>({type:kg,payload:e}),Ng=e=>({type:Sg,payload:e}),Rg=e=>({type:Ag,payload:e}),Og=e=>({type:Eg,payload:e}),Mg=e=>({type:Cg,payload:e}),Lg=e=>({type:Tg,payload:e}),Bg="HIDE_NOT_ASSIGNED_TRAININGS_TOGGLE_FILTER",zg="SELECT_USER_FUNCTION_FOR_TRAININGS_FILTER",jg=e=>({type:Bg,payload:e}),Hg=e=>({type:zg,payload:e}),Ug="ACCREDITATION_LOAD_FORCATALOGITEM",$g="ACCREDITATION_LOAD_FORUSER",Vg="ACCREDITATION_DELETE",Wg=e=>async(t,i)=>{const{oidc:n,minervaSettings:r,accreditation:s}=i(),{portalIdentifier:o,catalogApiUrl:a}=r,{targetId:l}=e,d=l===s.targetId?s.pageIndex+1:0;t({type:Ug,async payload(){const e=new URLSearchParams({pageIndex:d,pageSize:30}),t=await fetch(`${a}/api/1.0/accreditations/catalogitem/${o}/${l}?${e}`,{headers:Yg(n.user)}),i=await t.json();return{targetId:l,list:i.results,pageIndex:d,total:i.count}}})},Gg=e=>async(t,i)=>{const{oidc:n,minervaSettings:r}=i(),{portalIdentifier:s,accreditationApiUrl:o}=r,{legacyId:a}=e;t({type:Vg,async payload(){const e=await fetch(`${o}/api/2.0/accreditation/${a}/${s}`,{method:"DELETE",headers:Yg(n.user)});if(200===e.status)return{legacyId:a};await t({type:"ACCREDITATION_DELETE_REJECTED",payload:e.statusText})}})},qg=e=>async(t,i)=>{const{oidc:n,minervaSettings:r,accreditation:s}=i(),{portalIdentifier:o,catalogApiUrl:a}=r,l=e===s.idString?s.pageIndex+1:0;t({type:$g,async payload(){const t=new URLSearchParams({pageIndex:l,pageSize:30}),i=await fetch(`${a}/api/1.0/accreditations/${o}/${btoa(e)}?${t}`,{headers:Yg(n.user)}),r=await i.json();return{idString:e,list:r.results,pageIndex:l,total:r.count}}})},Yg=e=>e?{Authorization:`Bearer ${e.access_token}`}:{},Kg={loading:!0,targetId:null,idString:null,list:[],pageIndex:-1};var Jg,Zg;function Qg(){return Jg.apply(null,arguments)}function Xg(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function em(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function tm(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function im(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(tm(e,t))return!1;return!0}function nm(e){return void 0===e}function rm(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function sm(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function om(e,t){var i,n=[],r=e.length;for(i=0;i<r;++i)n.push(t(e[i],i));return n}function am(e,t){for(var i in t)tm(t,i)&&(e[i]=t[i]);return tm(t,"toString")&&(e.toString=t.toString),tm(t,"valueOf")&&(e.valueOf=t.valueOf),e}function lm(e,t,i,n){return Iy(e,t,i,n,!0).utc()}function dm(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function cm(e){var t=null,i=!1,n=e._d&&!isNaN(e._d.getTime());return n&&(t=dm(e),i=Zg.call(t.parsedDateParts,(function(e){return null!=e})),n=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&i),e._strict&&(n=n&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour)),null!=Object.isFrozen&&Object.isFrozen(e)?n:(e._isValid=n,e._isValid)}function hm(e){var t=lm(NaN);return null!=e?am(dm(t),e):dm(t).userInvalidated=!0,t}Zg=Array.prototype.some?Array.prototype.some:function(e){var t,i=Object(this),n=i.length>>>0;for(t=0;t<n;t++)if(t in i&&e.call(this,i[t],t,i))return!0;return!1};var um=Qg.momentProperties=[],pm=!1;function gm(e,t){var i,n,r,s=um.length;if(nm(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),nm(t._i)||(e._i=t._i),nm(t._f)||(e._f=t._f),nm(t._l)||(e._l=t._l),nm(t._strict)||(e._strict=t._strict),nm(t._tzm)||(e._tzm=t._tzm),nm(t._isUTC)||(e._isUTC=t._isUTC),nm(t._offset)||(e._offset=t._offset),nm(t._pf)||(e._pf=dm(t)),nm(t._locale)||(e._locale=t._locale),s>0)for(i=0;i<s;i++)nm(r=t[n=um[i]])||(e[n]=r);return e}function mm(e){gm(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===pm&&(pm=!0,Qg.updateOffset(this),pm=!1)}function fm(e){return e instanceof mm||null!=e&&null!=e._isAMomentObject}function ym(e){!1===Qg.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function vm(e,t){var i=!0;return am((function(){if(null!=Qg.deprecationHandler&&Qg.deprecationHandler(null,e),i){var n,r,s,o=[],a=arguments.length;for(r=0;r<a;r++){if(n="","object"==typeof arguments[r]){for(s in n+="\n["+r+"] ",arguments[0])tm(arguments[0],s)&&(n+=s+": "+arguments[0][s]+", ");n=n.slice(0,-2)}else n=arguments[r];o.push(n)}ym(e+"\nArguments: "+Array.prototype.slice.call(o).join("")+"\n"+(new Error).stack),i=!1}return t.apply(this,arguments)}),t)}var _m,bm={};function wm(e,t){null!=Qg.deprecationHandler&&Qg.deprecationHandler(e,t),bm[e]||(ym(t),bm[e]=!0)}function xm(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function km(e,t){var i,n=am({},e);for(i in t)tm(t,i)&&(em(e[i])&&em(t[i])?(n[i]={},am(n[i],e[i]),am(n[i],t[i])):null!=t[i]?n[i]=t[i]:delete n[i]);for(i in e)tm(e,i)&&!tm(t,i)&&em(e[i])&&(n[i]=am({},n[i]));return n}function Sm(e){null!=e&&this.set(e)}Qg.suppressDeprecationWarnings=!1,Qg.deprecationHandler=null,_m=Object.keys?Object.keys:function(e){var t,i=[];for(t in e)tm(e,t)&&i.push(t);return i};function Am(e,t,i){var n=""+Math.abs(e),r=t-n.length;return(e>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+n}var Em=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Cm=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Tm={},Im={};function Dm(e,t,i,n){var r=n;"string"==typeof n&&(r=function(){return this[n]()}),e&&(Im[e]=r),t&&(Im[t[0]]=function(){return Am(r.apply(this,arguments),t[1],t[2])}),i&&(Im[i]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function Pm(e,t){return e.isValid()?(t=Fm(t,e.localeData()),Tm[t]=Tm[t]||function(e){var t,i,n,r=e.match(Em);for(t=0,i=r.length;t<i;t++)Im[r[t]]?r[t]=Im[r[t]]:r[t]=(n=r[t]).match(/\[[\s\S]/)?n.replace(/^\[|\]$/g,""):n.replace(/\\/g,"");return function(t){var n,s="";for(n=0;n<i;n++)s+=xm(r[n])?r[n].call(t,e):r[n];return s}}(t),Tm[t](e)):e.localeData().invalidDate()}function Fm(e,t){var i=5;function n(e){return t.longDateFormat(e)||e}for(Cm.lastIndex=0;i>=0&&Cm.test(e);)e=e.replace(Cm,n),Cm.lastIndex=0,i-=1;return e}var Nm={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function Rm(e){return"string"==typeof e?Nm[e]||Nm[e.toLowerCase()]:void 0}function Om(e){var t,i,n={};for(i in e)tm(e,i)&&(t=Rm(i))&&(n[t]=e[i]);return n}var Mm={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var Lm,Bm=/\d/,zm=/\d\d/,jm=/\d{3}/,Hm=/\d{4}/,Um=/[+-]?\d{6}/,$m=/\d\d?/,Vm=/\d\d\d\d?/,Wm=/\d\d\d\d\d\d?/,Gm=/\d{1,3}/,qm=/\d{1,4}/,Ym=/[+-]?\d{1,6}/,Km=/\d+/,Jm=/[+-]?\d+/,Zm=/Z|[+-]\d\d:?\d\d/gi,Qm=/Z|[+-]\d\d(?::?\d\d)?/gi,Xm=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ef=/^[1-9]\d?/,tf=/^([1-9]\d|\d)/;function nf(e,t,i){Lm[e]=xm(t)?t:function(e,n){return e&&i?i:t}}function rf(e,t){return tm(Lm,e)?Lm[e](t._strict,t._locale):new RegExp(function(e){return sf(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,i,n,r){return t||i||n||r})))}(e))}function sf(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function of(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function af(e){var t=+e,i=0;return 0!==t&&isFinite(t)&&(i=of(t)),i}Lm={};var lf={};function df(e,t){var i,n,r=t;for("string"==typeof e&&(e=[e]),rm(t)&&(r=function(e,i){i[t]=af(e)}),n=e.length,i=0;i<n;i++)lf[e[i]]=r}function cf(e,t){df(e,(function(e,i,n,r){n._w=n._w||{},t(e,n._w,n,r)}))}function hf(e,t,i){null!=t&&tm(lf,e)&&lf[e](t,i._a,i,e)}function uf(e){return e%4==0&&e%100!=0||e%400==0}var pf=0,gf=1,mf=2,ff=3,yf=4,vf=5,_f=6,bf=7,wf=8;function xf(e){return uf(e)?366:365}Dm("Y",0,0,(function(){var e=this.year();return e<=9999?Am(e,4):"+"+e})),Dm(0,["YY",2],0,(function(){return this.year()%100})),Dm(0,["YYYY",4],0,"year"),Dm(0,["YYYYY",5],0,"year"),Dm(0,["YYYYYY",6,!0],0,"year"),nf("Y",Jm),nf("YY",$m,zm),nf("YYYY",qm,Hm),nf("YYYYY",Ym,Um),nf("YYYYYY",Ym,Um),df(["YYYYY","YYYYYY"],pf),df("YYYY",(function(e,t){t[pf]=2===e.length?Qg.parseTwoDigitYear(e):af(e)})),df("YY",(function(e,t){t[pf]=Qg.parseTwoDigitYear(e)})),df("Y",(function(e,t){t[pf]=parseInt(e,10)})),Qg.parseTwoDigitYear=function(e){return af(e)+(af(e)>68?1900:2e3)};var kf,Sf=Af("FullYear",!0);function Af(e,t){return function(i){return null!=i?(Cf(this,e,i),Qg.updateOffset(this,t),this):Ef(this,e)}}function Ef(e,t){if(!e.isValid())return NaN;var i=e._d,n=e._isUTC;switch(t){case"Milliseconds":return n?i.getUTCMilliseconds():i.getMilliseconds();case"Seconds":return n?i.getUTCSeconds():i.getSeconds();case"Minutes":return n?i.getUTCMinutes():i.getMinutes();case"Hours":return n?i.getUTCHours():i.getHours();case"Date":return n?i.getUTCDate():i.getDate();case"Day":return n?i.getUTCDay():i.getDay();case"Month":return n?i.getUTCMonth():i.getMonth();case"FullYear":return n?i.getUTCFullYear():i.getFullYear();default:return NaN}}function Cf(e,t,i){var n,r,s,o,a;if(e.isValid()&&!isNaN(i)){switch(n=e._d,r=e._isUTC,t){case"Milliseconds":return void(r?n.setUTCMilliseconds(i):n.setMilliseconds(i));case"Seconds":return void(r?n.setUTCSeconds(i):n.setSeconds(i));case"Minutes":return void(r?n.setUTCMinutes(i):n.setMinutes(i));case"Hours":return void(r?n.setUTCHours(i):n.setHours(i));case"Date":return void(r?n.setUTCDate(i):n.setDate(i));case"FullYear":break;default:return}s=i,o=e.month(),a=29!==(a=e.date())||1!==o||uf(s)?a:28,r?n.setUTCFullYear(s,o,a):n.setFullYear(s,o,a)}}function Tf(e,t){if(isNaN(e)||isNaN(t))return NaN;var i=function(e,t){return(e%t+t)%t}(t,12);return e+=(t-i)/12,1===i?uf(e)?29:28:31-i%7%2}kf=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},Dm("M",["MM",2],"Mo",(function(){return this.month()+1})),Dm("MMM",0,0,(function(e){return this.localeData().monthsShort(this,e)})),Dm("MMMM",0,0,(function(e){return this.localeData().months(this,e)})),nf("M",$m,ef),nf("MM",$m,zm),nf("MMM",(function(e,t){return t.monthsShortRegex(e)})),nf("MMMM",(function(e,t){return t.monthsRegex(e)})),df(["M","MM"],(function(e,t){t[gf]=af(e)-1})),df(["MMM","MMMM"],(function(e,t,i,n){var r=i._locale.monthsParse(e,n,i._strict);null!=r?t[gf]=r:dm(i).invalidMonth=e}));var If="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Df="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Pf=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ff=Xm,Nf=Xm;function Rf(e,t,i){var n,r,s,o=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)s=lm([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(s,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(s,"").toLocaleLowerCase();return i?"MMM"===t?-1!==(r=kf.call(this._shortMonthsParse,o))?r:null:-1!==(r=kf.call(this._longMonthsParse,o))?r:null:"MMM"===t?-1!==(r=kf.call(this._shortMonthsParse,o))||-1!==(r=kf.call(this._longMonthsParse,o))?r:null:-1!==(r=kf.call(this._longMonthsParse,o))||-1!==(r=kf.call(this._shortMonthsParse,o))?r:null}function Of(e,t){if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=af(t);else if(!rm(t=e.localeData().monthsParse(t)))return e;var i=t,n=e.date();return n=n<29?n:Math.min(n,Tf(e.year(),i)),e._isUTC?e._d.setUTCMonth(i,n):e._d.setMonth(i,n),e}function Mf(e){return null!=e?(Of(this,e),Qg.updateOffset(this,!0),this):Ef(this,"Month")}function Lf(){function e(e,t){return t.length-e.length}var t,i,n,r,s=[],o=[],a=[];for(t=0;t<12;t++)i=lm([2e3,t]),n=sf(this.monthsShort(i,"")),r=sf(this.months(i,"")),s.push(n),o.push(r),a.push(r),a.push(n);s.sort(e),o.sort(e),a.sort(e),this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Bf(e,t,i,n,r,s,o){var a;return e<100&&e>=0?(a=new Date(e+400,t,i,n,r,s,o),isFinite(a.getFullYear())&&a.setFullYear(e)):a=new Date(e,t,i,n,r,s,o),a}function zf(e){var t,i;return e<100&&e>=0?((i=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,i)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function jf(e,t,i){var n=7+t-i;return-((7+zf(e,0,n).getUTCDay()-t)%7)+n-1}function Hf(e,t,i,n,r){var s,o,a=1+7*(t-1)+(7+i-n)%7+jf(e,n,r);return a<=0?o=xf(s=e-1)+a:a>xf(e)?(s=e+1,o=a-xf(e)):(s=e,o=a),{year:s,dayOfYear:o}}function Uf(e,t,i){var n,r,s=jf(e.year(),t,i),o=Math.floor((e.dayOfYear()-s-1)/7)+1;return o<1?n=o+$f(r=e.year()-1,t,i):o>$f(e.year(),t,i)?(n=o-$f(e.year(),t,i),r=e.year()+1):(r=e.year(),n=o),{week:n,year:r}}function $f(e,t,i){var n=jf(e,t,i),r=jf(e+1,t,i);return(xf(e)-n+r)/7}Dm("w",["ww",2],"wo","week"),Dm("W",["WW",2],"Wo","isoWeek"),nf("w",$m,ef),nf("ww",$m,zm),nf("W",$m,ef),nf("WW",$m,zm),cf(["w","ww","W","WW"],(function(e,t,i,n){t[n.substr(0,1)]=af(e)}));function Vf(e,t){return e.slice(t,7).concat(e.slice(0,t))}Dm("d",0,"do","day"),Dm("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),Dm("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),Dm("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),Dm("e",0,0,"weekday"),Dm("E",0,0,"isoWeekday"),nf("d",$m),nf("e",$m),nf("E",$m),nf("dd",(function(e,t){return t.weekdaysMinRegex(e)})),nf("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),nf("dddd",(function(e,t){return t.weekdaysRegex(e)})),cf(["dd","ddd","dddd"],(function(e,t,i,n){var r=i._locale.weekdaysParse(e,n,i._strict);null!=r?t.d=r:dm(i).invalidWeekday=e})),cf(["d","e","E"],(function(e,t,i,n){t[n]=af(e)}));var Wf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),qf="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Yf=Xm,Kf=Xm,Jf=Xm;function Zf(e,t,i){var n,r,s,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)s=lm([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===t?-1!==(r=kf.call(this._weekdaysParse,o))?r:null:"ddd"===t?-1!==(r=kf.call(this._shortWeekdaysParse,o))?r:null:-1!==(r=kf.call(this._minWeekdaysParse,o))?r:null:"dddd"===t?-1!==(r=kf.call(this._weekdaysParse,o))||-1!==(r=kf.call(this._shortWeekdaysParse,o))||-1!==(r=kf.call(this._minWeekdaysParse,o))?r:null:"ddd"===t?-1!==(r=kf.call(this._shortWeekdaysParse,o))||-1!==(r=kf.call(this._weekdaysParse,o))||-1!==(r=kf.call(this._minWeekdaysParse,o))?r:null:-1!==(r=kf.call(this._minWeekdaysParse,o))||-1!==(r=kf.call(this._weekdaysParse,o))||-1!==(r=kf.call(this._shortWeekdaysParse,o))?r:null}function Qf(){function e(e,t){return t.length-e.length}var t,i,n,r,s,o=[],a=[],l=[],d=[];for(t=0;t<7;t++)i=lm([2e3,1]).day(t),n=sf(this.weekdaysMin(i,"")),r=sf(this.weekdaysShort(i,"")),s=sf(this.weekdays(i,"")),o.push(n),a.push(r),l.push(s),d.push(n),d.push(r),d.push(s);o.sort(e),a.sort(e),l.sort(e),d.sort(e),this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Xf(){return this.hours()%12||12}function ey(e,t){Dm(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function ty(e,t){return t._meridiemParse}Dm("H",["HH",2],0,"hour"),Dm("h",["hh",2],0,Xf),Dm("k",["kk",2],0,(function(){return this.hours()||24})),Dm("hmm",0,0,(function(){return""+Xf.apply(this)+Am(this.minutes(),2)})),Dm("hmmss",0,0,(function(){return""+Xf.apply(this)+Am(this.minutes(),2)+Am(this.seconds(),2)})),Dm("Hmm",0,0,(function(){return""+this.hours()+Am(this.minutes(),2)})),Dm("Hmmss",0,0,(function(){return""+this.hours()+Am(this.minutes(),2)+Am(this.seconds(),2)})),ey("a",!0),ey("A",!1),nf("a",ty),nf("A",ty),nf("H",$m,tf),nf("h",$m,ef),nf("k",$m,ef),nf("HH",$m,zm),nf("hh",$m,zm),nf("kk",$m,zm),nf("hmm",Vm),nf("hmmss",Wm),nf("Hmm",Vm),nf("Hmmss",Wm),df(["H","HH"],ff),df(["k","kk"],(function(e,t,i){var n=af(e);t[ff]=24===n?0:n})),df(["a","A"],(function(e,t,i){i._isPm=i._locale.isPM(e),i._meridiem=e})),df(["h","hh"],(function(e,t,i){t[ff]=af(e),dm(i).bigHour=!0})),df("hmm",(function(e,t,i){var n=e.length-2;t[ff]=af(e.substr(0,n)),t[yf]=af(e.substr(n)),dm(i).bigHour=!0})),df("hmmss",(function(e,t,i){var n=e.length-4,r=e.length-2;t[ff]=af(e.substr(0,n)),t[yf]=af(e.substr(n,2)),t[vf]=af(e.substr(r)),dm(i).bigHour=!0})),df("Hmm",(function(e,t,i){var n=e.length-2;t[ff]=af(e.substr(0,n)),t[yf]=af(e.substr(n))})),df("Hmmss",(function(e,t,i){var n=e.length-4,r=e.length-2;t[ff]=af(e.substr(0,n)),t[yf]=af(e.substr(n,2)),t[vf]=af(e.substr(r))}));var iy=Af("Hours",!0);var ny,ry={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:If,monthsShort:Df,week:{dow:0,doy:6},weekdays:Wf,weekdaysMin:qf,weekdaysShort:Gf,meridiemParse:/[ap]\.?m?\.?/i},sy={},oy={};function ay(e,t){var i,n=Math.min(e.length,t.length);for(i=0;i<n;i+=1)if(e[i]!==t[i])return i;return n}function ly(e){return e?e.toLowerCase().replace("_","-"):e}function dy(e){var t=null;if(void 0===sy[e]&&"undefined"!=typeof module&&module&&module.exports&&function(e){return!(!e||!e.match("^[^/\\\\]*$"))}(e))try{t=ny._abbr,require("./locale/"+e),cy(t)}catch(t){sy[e]=null}return sy[e]}function cy(e,t){var i;return e&&((i=nm(t)?uy(e):hy(e,t))?ny=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ny._abbr}function hy(e,t){if(null!==t){var i,n=ry;if(t.abbr=e,null!=sy[e])wm("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=sy[e]._config;else if(null!=t.parentLocale)if(null!=sy[t.parentLocale])n=sy[t.parentLocale]._config;else{if(null==(i=dy(t.parentLocale)))return oy[t.parentLocale]||(oy[t.parentLocale]=[]),oy[t.parentLocale].push({name:e,config:t}),null;n=i._config}return sy[e]=new Sm(km(n,t)),oy[e]&&oy[e].forEach((function(e){hy(e.name,e.config)})),cy(e),sy[e]}return delete sy[e],null}function uy(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return ny;if(!Xg(e)){if(t=dy(e))return t;e=[e]}return function(e){for(var t,i,n,r,s=0;s<e.length;){for(t=(r=ly(e[s]).split("-")).length,i=(i=ly(e[s+1]))?i.split("-"):null;t>0;){if(n=dy(r.slice(0,t).join("-")))return n;if(i&&i.length>=t&&ay(r,i)>=t-1)break;t--}s++}return ny}(e)}function py(e){var t,i=e._a;return i&&-2===dm(e).overflow&&(t=i[gf]<0||i[gf]>11?gf:i[mf]<1||i[mf]>Tf(i[pf],i[gf])?mf:i[ff]<0||i[ff]>24||24===i[ff]&&(0!==i[yf]||0!==i[vf]||0!==i[_f])?ff:i[yf]<0||i[yf]>59?yf:i[vf]<0||i[vf]>59?vf:i[_f]<0||i[_f]>999?_f:-1,dm(e)._overflowDayOfYear&&(t<pf||t>mf)&&(t=mf),dm(e)._overflowWeeks&&-1===t&&(t=bf),dm(e)._overflowWeekday&&-1===t&&(t=wf),dm(e).overflow=t),e}var gy=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,my=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fy=/Z|[+-]\d\d(?::?\d\d)?/,yy=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],vy=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_y=/^\/?Date\((-?\d+)/i,by=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,wy={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function xy(e){var t,i,n,r,s,o,a=e._i,l=gy.exec(a)||my.exec(a),d=yy.length,c=vy.length;if(l){for(dm(e).iso=!0,t=0,i=d;t<i;t++)if(yy[t][1].exec(l[1])){r=yy[t][0],n=!1!==yy[t][2];break}if(null==r)return void(e._isValid=!1);if(l[3]){for(t=0,i=c;t<i;t++)if(vy[t][1].exec(l[3])){s=(l[2]||" ")+vy[t][0];break}if(null==s)return void(e._isValid=!1)}if(!n&&null!=s)return void(e._isValid=!1);if(l[4]){if(!fy.exec(l[4]))return void(e._isValid=!1);o="Z"}e._f=r+(s||"")+(o||""),Cy(e)}else e._isValid=!1}function ky(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function Sy(e){var t,i,n,r,s,o,a,l,d=by.exec(function(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}(e._i));if(d){if(i=d[4],n=d[3],r=d[2],s=d[5],o=d[6],a=d[7],l=[ky(i),Df.indexOf(n),parseInt(r,10),parseInt(s,10),parseInt(o,10)],a&&l.push(parseInt(a,10)),t=l,!function(e,t,i){return!e||Gf.indexOf(e)===new Date(t[0],t[1],t[2]).getDay()||(dm(i).weekdayMismatch=!0,i._isValid=!1,!1)}(d[1],t,e))return;e._a=t,e._tzm=function(e,t,i){if(e)return wy[e];if(t)return 0;var n=parseInt(i,10),r=n%100;return(n-r)/100*60+r}(d[8],d[9],d[10]),e._d=zf.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),dm(e).rfc2822=!0}else e._isValid=!1}function Ay(e,t,i){return null!=e?e:null!=t?t:i}function Ey(e){var t,i,n,r,s,o=[];if(!e._d){for(n=function(e){var t=new Date(Qg.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[mf]&&null==e._a[gf]&&function(e){var t,i,n,r,s,o,a,l,d;t=e._w,null!=t.GG||null!=t.W||null!=t.E?(s=1,o=4,i=Ay(t.GG,e._a[pf],Uf(Dy(),1,4).year),n=Ay(t.W,1),((r=Ay(t.E,1))<1||r>7)&&(l=!0)):(s=e._locale._week.dow,o=e._locale._week.doy,d=Uf(Dy(),s,o),i=Ay(t.gg,e._a[pf],d.year),n=Ay(t.w,d.week),null!=t.d?((r=t.d)<0||r>6)&&(l=!0):null!=t.e?(r=t.e+s,(t.e<0||t.e>6)&&(l=!0)):r=s);n<1||n>$f(i,s,o)?dm(e)._overflowWeeks=!0:null!=l?dm(e)._overflowWeekday=!0:(a=Hf(i,n,r,s,o),e._a[pf]=a.year,e._dayOfYear=a.dayOfYear)}(e),null!=e._dayOfYear&&(s=Ay(e._a[pf],n[pf]),(e._dayOfYear>xf(s)||0===e._dayOfYear)&&(dm(e)._overflowDayOfYear=!0),i=zf(s,0,e._dayOfYear),e._a[gf]=i.getUTCMonth(),e._a[mf]=i.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=n[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ff]&&0===e._a[yf]&&0===e._a[vf]&&0===e._a[_f]&&(e._nextDay=!0,e._a[ff]=0),e._d=(e._useUTC?zf:Bf).apply(null,o),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ff]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(dm(e).weekdayMismatch=!0)}}function Cy(e){if(e._f!==Qg.ISO_8601)if(e._f!==Qg.RFC_2822){e._a=[],dm(e).empty=!0;var t,i,n,r,s,o,a,l=""+e._i,d=l.length,c=0;for(a=(n=Fm(e._f,e._locale).match(Em)||[]).length,t=0;t<a;t++)r=n[t],(i=(l.match(rf(r,e))||[])[0])&&((s=l.substr(0,l.indexOf(i))).length>0&&dm(e).unusedInput.push(s),l=l.slice(l.indexOf(i)+i.length),c+=i.length),Im[r]?(i?dm(e).empty=!1:dm(e).unusedTokens.push(r),hf(r,i,e)):e._strict&&!i&&dm(e).unusedTokens.push(r);dm(e).charsLeftOver=d-c,l.length>0&&dm(e).unusedInput.push(l),e._a[ff]<=12&&!0===dm(e).bigHour&&e._a[ff]>0&&(dm(e).bigHour=void 0),dm(e).parsedDateParts=e._a.slice(0),dm(e).meridiem=e._meridiem,e._a[ff]=function(e,t,i){var n;if(null==i)return t;return null!=e.meridiemHour?e.meridiemHour(t,i):null!=e.isPM?((n=e.isPM(i))&&t<12&&(t+=12),n||12!==t||(t=0),t):t}(e._locale,e._a[ff],e._meridiem),null!==(o=dm(e).era)&&(e._a[pf]=e._locale.erasConvertYear(o,e._a[pf])),Ey(e),py(e)}else Sy(e);else xy(e)}function Ty(e){var t=e._i,i=e._f;return e._locale=e._locale||uy(e._l),null===t||void 0===i&&""===t?hm({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),fm(t)?new mm(py(t)):(sm(t)?e._d=t:Xg(i)?function(e){var t,i,n,r,s,o,a=!1,l=e._f.length;if(0===l)return dm(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;r<l;r++)s=0,o=!1,t=gm({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[r],Cy(t),cm(t)&&(o=!0),s+=dm(t).charsLeftOver,s+=10*dm(t).unusedTokens.length,dm(t).score=s,a?s<n&&(n=s,i=t):(null==n||s<n||o)&&(n=s,i=t,o&&(a=!0));am(e,i||t)}(e):i?Cy(e):function(e){var t=e._i;nm(t)?e._d=new Date(Qg.now()):sm(t)?e._d=new Date(t.valueOf()):"string"==typeof t?function(e){var t=_y.exec(e._i);null===t?(xy(e),!1===e._isValid&&(delete e._isValid,Sy(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:Qg.createFromInputFallback(e)))):e._d=new Date(+t[1])}(e):Xg(t)?(e._a=om(t.slice(0),(function(e){return parseInt(e,10)})),Ey(e)):em(t)?function(e){if(!e._d){var t=Om(e._i),i=void 0===t.day?t.date:t.day;e._a=om([t.year,t.month,i,t.hour,t.minute,t.second,t.millisecond],(function(e){return e&&parseInt(e,10)})),Ey(e)}}(e):rm(t)?e._d=new Date(t):Qg.createFromInputFallback(e)}(e),cm(e)||(e._d=null),e))}function Iy(e,t,i,n,r){var s,o={};return!0!==t&&!1!==t||(n=t,t=void 0),!0!==i&&!1!==i||(n=i,i=void 0),(em(e)&&im(e)||Xg(e)&&0===e.length)&&(e=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=r,o._l=i,o._i=e,o._f=t,o._strict=n,(s=new mm(py(Ty(o))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Dy(e,t,i,n){return Iy(e,t,i,n,!1)}Qg.createFromInputFallback=vm("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))})),Qg.ISO_8601=function(){},Qg.RFC_2822=function(){};var Py=vm("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=Dy.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:hm()})),Fy=vm("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=Dy.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:hm()}));function Ny(e,t){var i,n;if(1===t.length&&Xg(t[0])&&(t=t[0]),!t.length)return Dy();for(i=t[0],n=1;n<t.length;++n)t[n].isValid()&&!t[n][e](i)||(i=t[n]);return i}var Ry=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Oy(e){var t=Om(e),i=t.year||0,n=t.quarter||0,r=t.month||0,s=t.week||t.isoWeek||0,o=t.day||0,a=t.hour||0,l=t.minute||0,d=t.second||0,c=t.millisecond||0;this._isValid=function(e){var t,i,n=!1,r=Ry.length;for(t in e)if(tm(e,t)&&(-1===kf.call(Ry,t)||null!=e[t]&&isNaN(e[t])))return!1;for(i=0;i<r;++i)if(e[Ry[i]]){if(n)return!1;parseFloat(e[Ry[i]])!==af(e[Ry[i]])&&(n=!0)}return!0}(t),this._milliseconds=+c+1e3*d+6e4*l+1e3*a*60*60,this._days=+o+7*s,this._months=+r+3*n+12*i,this._data={},this._locale=uy(),this._bubble()}function My(e){return e instanceof Oy}function Ly(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function By(e,t){Dm(e,0,0,(function(){var e=this.utcOffset(),i="+";return e<0&&(e=-e,i="-"),i+Am(~~(e/60),2)+t+Am(~~e%60,2)}))}By("Z",":"),By("ZZ",""),nf("Z",Qm),nf("ZZ",Qm),df(["Z","ZZ"],(function(e,t,i){i._useUTC=!0,i._tzm=jy(Qm,e)}));var zy=/([\+\-]|\d\d)/gi;function jy(e,t){var i,n,r=(t||"").match(e);return null===r?null:0===(n=60*(i=((r[r.length-1]||[])+"").match(zy)||["-",0,0])[1]+af(i[2]))?0:"+"===i[0]?n:-n}function Hy(e,t){var i,n;return t._isUTC?(i=t.clone(),n=(fm(e)||sm(e)?e.valueOf():Dy(e).valueOf())-i.valueOf(),i._d.setTime(i._d.valueOf()+n),Qg.updateOffset(i,!1),i):Dy(e).local()}function Uy(e){return-Math.round(e._d.getTimezoneOffset())}function $y(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}Qg.updateOffset=function(){};var Vy=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Wy=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Gy(e,t){var i,n,r,s=e,o=null;return My(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:rm(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(o=Vy.exec(e))?(i="-"===o[1]?-1:1,s={y:0,d:af(o[mf])*i,h:af(o[ff])*i,m:af(o[yf])*i,s:af(o[vf])*i,ms:af(Ly(1e3*o[_f]))*i}):(o=Wy.exec(e))?(i="-"===o[1]?-1:1,s={y:qy(o[2],i),M:qy(o[3],i),w:qy(o[4],i),d:qy(o[5],i),h:qy(o[6],i),m:qy(o[7],i),s:qy(o[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(r=function(e,t){var i;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Hy(t,e),e.isBefore(t)?i=Yy(e,t):((i=Yy(t,e)).milliseconds=-i.milliseconds,i.months=-i.months);return i}(Dy(s.from),Dy(s.to)),(s={}).ms=r.milliseconds,s.M=r.months),n=new Oy(s),My(e)&&tm(e,"_locale")&&(n._locale=e._locale),My(e)&&tm(e,"_isValid")&&(n._isValid=e._isValid),n}function qy(e,t){var i=e&&parseFloat(e.replace(",","."));return(isNaN(i)?0:i)*t}function Yy(e,t){var i={};return i.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(i.months,"M").isAfter(t)&&--i.months,i.milliseconds=+t-+e.clone().add(i.months,"M"),i}function Ky(e,t){return function(i,n){var r;return null===n||isNaN(+n)||(wm(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=i,i=n,n=r),Jy(this,Gy(i,n),e),this}}function Jy(e,t,i,n){var r=t._milliseconds,s=Ly(t._days),o=Ly(t._months);e.isValid()&&(n=null==n||n,o&&Of(e,Ef(e,"Month")+o*i),s&&Cf(e,"Date",Ef(e,"Date")+s*i),r&&e._d.setTime(e._d.valueOf()+r*i),n&&Qg.updateOffset(e,s||o))}Gy.fn=Oy.prototype,Gy.invalid=function(){return Gy(NaN)};var Zy=Ky(1,"add"),Qy=Ky(-1,"subtract");function Xy(e){return"string"==typeof e||e instanceof String}function ev(e){return fm(e)||sm(e)||Xy(e)||rm(e)||function(e){var t=Xg(e),i=!1;t&&(i=0===e.filter((function(t){return!rm(t)&&Xy(e)})).length);return t&&i}(e)||function(e){var t,i,n=em(e)&&!im(e),r=!1,s=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],o=s.length;for(t=0;t<o;t+=1)i=s[t],r=r||tm(e,i);return n&&r}(e)||null==e}function tv(e,t){if(e.date()<t.date())return-tv(t,e);var i=12*(t.year()-e.year())+(t.month()-e.month()),n=e.clone().add(i,"months");return-(i+(t-n<0?(t-n)/(n-e.clone().add(i-1,"months")):(t-n)/(e.clone().add(i+1,"months")-n)))||0}function iv(e){var t;return void 0===e?this._locale._abbr:(null!=(t=uy(e))&&(this._locale=t),this)}Qg.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",Qg.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var nv=vm("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(e){return void 0===e?this.localeData():this.locale(e)}));function rv(){return this._locale}var sv=1e3,ov=6e4,av=36e5,lv=126227808e5;function dv(e,t){return(e%t+t)%t}function cv(e,t,i){return e<100&&e>=0?new Date(e+400,t,i)-lv:new Date(e,t,i).valueOf()}function hv(e,t,i){return e<100&&e>=0?Date.UTC(e+400,t,i)-lv:Date.UTC(e,t,i)}function uv(e,t){return t.erasAbbrRegex(e)}function pv(){var e,t,i,n,r,s=[],o=[],a=[],l=[],d=this.eras();for(e=0,t=d.length;e<t;++e)i=sf(d[e].name),n=sf(d[e].abbr),r=sf(d[e].narrow),o.push(i),s.push(n),a.push(r),l.push(i),l.push(n),l.push(r);this._erasRegex=new RegExp("^("+l.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+o.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+a.join("|")+")","i")}function gv(e,t){Dm(0,[e,e.length],0,t)}function mv(e,t,i,n,r){var s;return null==e?Uf(this,n,r).year:(t>(s=$f(e,n,r))&&(t=s),fv.call(this,e,t,i,n,r))}function fv(e,t,i,n,r){var s=Hf(e,t,i,n,r),o=zf(s.year,0,s.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}Dm("N",0,0,"eraAbbr"),Dm("NN",0,0,"eraAbbr"),Dm("NNN",0,0,"eraAbbr"),Dm("NNNN",0,0,"eraName"),Dm("NNNNN",0,0,"eraNarrow"),Dm("y",["y",1],"yo","eraYear"),Dm("y",["yy",2],0,"eraYear"),Dm("y",["yyy",3],0,"eraYear"),Dm("y",["yyyy",4],0,"eraYear"),nf("N",uv),nf("NN",uv),nf("NNN",uv),nf("NNNN",(function(e,t){return t.erasNameRegex(e)})),nf("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),df(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,i,n){var r=i._locale.erasParse(e,n,i._strict);r?dm(i).era=r:dm(i).invalidEra=e})),nf("y",Km),nf("yy",Km),nf("yyy",Km),nf("yyyy",Km),nf("yo",(function(e,t){return t._eraYearOrdinalRegex||Km})),df(["y","yy","yyy","yyyy"],pf),df(["yo"],(function(e,t,i,n){var r;i._locale._eraYearOrdinalRegex&&(r=e.match(i._locale._eraYearOrdinalRegex)),i._locale.eraYearOrdinalParse?t[pf]=i._locale.eraYearOrdinalParse(e,r):t[pf]=parseInt(e,10)})),Dm(0,["gg",2],0,(function(){return this.weekYear()%100})),Dm(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),gv("gggg","weekYear"),gv("ggggg","weekYear"),gv("GGGG","isoWeekYear"),gv("GGGGG","isoWeekYear"),nf("G",Jm),nf("g",Jm),nf("GG",$m,zm),nf("gg",$m,zm),nf("GGGG",qm,Hm),nf("gggg",qm,Hm),nf("GGGGG",Ym,Um),nf("ggggg",Ym,Um),cf(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,i,n){t[n.substr(0,2)]=af(e)})),cf(["gg","GG"],(function(e,t,i,n){t[n]=Qg.parseTwoDigitYear(e)})),Dm("Q",0,"Qo","quarter"),nf("Q",Bm),df("Q",(function(e,t){t[gf]=3*(af(e)-1)})),Dm("D",["DD",2],"Do","date"),nf("D",$m,ef),nf("DD",$m,zm),nf("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),df(["D","DD"],mf),df("Do",(function(e,t){t[mf]=af(e.match($m)[0])}));var yv=Af("Date",!0);Dm("DDD",["DDDD",3],"DDDo","dayOfYear"),nf("DDD",Gm),nf("DDDD",jm),df(["DDD","DDDD"],(function(e,t,i){i._dayOfYear=af(e)})),Dm("m",["mm",2],0,"minute"),nf("m",$m,tf),nf("mm",$m,zm),df(["m","mm"],yf);var vv=Af("Minutes",!1);Dm("s",["ss",2],0,"second"),nf("s",$m,tf),nf("ss",$m,zm),df(["s","ss"],vf);var _v,bv,wv=Af("Seconds",!1);for(Dm("S",0,0,(function(){return~~(this.millisecond()/100)})),Dm(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),Dm(0,["SSS",3],0,"millisecond"),Dm(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),Dm(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),Dm(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),Dm(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),Dm(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),Dm(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),nf("S",Gm,Bm),nf("SS",Gm,zm),nf("SSS",Gm,jm),_v="SSSS";_v.length<=9;_v+="S")nf(_v,Km);function xv(e,t){t[_f]=af(1e3*("0."+e))}for(_v="S";_v.length<=9;_v+="S")df(_v,xv);bv=Af("Milliseconds",!1),Dm("z",0,0,"zoneAbbr"),Dm("zz",0,0,"zoneName");var kv=mm.prototype;function Sv(e){return e}kv.add=Zy,kv.calendar=function(e,t){1===arguments.length&&(arguments[0]?ev(arguments[0])?(e=arguments[0],t=void 0):function(e){var t,i=em(e)&&!im(e),n=!1,r=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;t<r.length;t+=1)n=n||tm(e,r[t]);return i&&n}(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var i=e||Dy(),n=Hy(i,this).startOf("day"),r=Qg.calendarFormat(this,n)||"sameElse",s=t&&(xm(t[r])?t[r].call(this,i):t[r]);return this.format(s||this.localeData().calendar(r,this,Dy(i)))},kv.clone=function(){return new mm(this)},kv.diff=function(e,t,i){var n,r,s;if(!this.isValid())return NaN;if(!(n=Hy(e,this)).isValid())return NaN;switch(r=6e4*(n.utcOffset()-this.utcOffset()),t=Rm(t)){case"year":s=tv(this,n)/12;break;case"month":s=tv(this,n);break;case"quarter":s=tv(this,n)/3;break;case"second":s=(this-n)/1e3;break;case"minute":s=(this-n)/6e4;break;case"hour":s=(this-n)/36e5;break;case"day":s=(this-n-r)/864e5;break;case"week":s=(this-n-r)/6048e5;break;default:s=this-n}return i?s:of(s)},kv.endOf=function(e){var t,i;if(void 0===(e=Rm(e))||"millisecond"===e||!this.isValid())return this;switch(i=this._isUTC?hv:cv,e){case"year":t=i(this.year()+1,0,1)-1;break;case"quarter":t=i(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=i(this.year(),this.month()+1,1)-1;break;case"week":t=i(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=i(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=av-dv(t+(this._isUTC?0:this.utcOffset()*ov),av)-1;break;case"minute":t=this._d.valueOf(),t+=ov-dv(t,ov)-1;break;case"second":t=this._d.valueOf(),t+=sv-dv(t,sv)-1}return this._d.setTime(t),Qg.updateOffset(this,!0),this},kv.format=function(e){e||(e=this.isUtc()?Qg.defaultFormatUtc:Qg.defaultFormat);var t=Pm(this,e);return this.localeData().postformat(t)},kv.from=function(e,t){return this.isValid()&&(fm(e)&&e.isValid()||Dy(e).isValid())?Gy({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},kv.fromNow=function(e){return this.from(Dy(),e)},kv.to=function(e,t){return this.isValid()&&(fm(e)&&e.isValid()||Dy(e).isValid())?Gy({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},kv.toNow=function(e){return this.to(Dy(),e)},kv.get=function(e){return xm(this[e=Rm(e)])?this[e]():this},kv.invalidAt=function(){return dm(this).overflow},kv.isAfter=function(e,t){var i=fm(e)?e:Dy(e);return!(!this.isValid()||!i.isValid())&&("millisecond"===(t=Rm(t)||"millisecond")?this.valueOf()>i.valueOf():i.valueOf()<this.clone().startOf(t).valueOf())},kv.isBefore=function(e,t){var i=fm(e)?e:Dy(e);return!(!this.isValid()||!i.isValid())&&("millisecond"===(t=Rm(t)||"millisecond")?this.valueOf()<i.valueOf():this.clone().endOf(t).valueOf()<i.valueOf())},kv.isBetween=function(e,t,i,n){var r=fm(e)?e:Dy(e),s=fm(t)?t:Dy(t);return!!(this.isValid()&&r.isValid()&&s.isValid())&&(("("===(n=n||"()")[0]?this.isAfter(r,i):!this.isBefore(r,i))&&(")"===n[1]?this.isBefore(s,i):!this.isAfter(s,i)))},kv.isSame=function(e,t){var i,n=fm(e)?e:Dy(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=Rm(t)||"millisecond")?this.valueOf()===n.valueOf():(i=n.valueOf(),this.clone().startOf(t).valueOf()<=i&&i<=this.clone().endOf(t).valueOf()))},kv.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},kv.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},kv.isValid=function(){return cm(this)},kv.lang=nv,kv.locale=iv,kv.localeData=rv,kv.max=Fy,kv.min=Py,kv.parsingFlags=function(){return am({},dm(this))},kv.set=function(e,t){if("object"==typeof e){var i,n=function(e){var t,i=[];for(t in e)tm(e,t)&&i.push({unit:t,priority:Mm[t]});return i.sort((function(e,t){return e.priority-t.priority})),i}(e=Om(e)),r=n.length;for(i=0;i<r;i++)this[n[i].unit](e[n[i].unit])}else if(xm(this[e=Rm(e)]))return this[e](t);return this},kv.startOf=function(e){var t,i;if(void 0===(e=Rm(e))||"millisecond"===e||!this.isValid())return this;switch(i=this._isUTC?hv:cv,e){case"year":t=i(this.year(),0,1);break;case"quarter":t=i(this.year(),this.month()-this.month()%3,1);break;case"month":t=i(this.year(),this.month(),1);break;case"week":t=i(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=i(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=dv(t+(this._isUTC?0:this.utcOffset()*ov),av);break;case"minute":t=this._d.valueOf(),t-=dv(t,ov);break;case"second":t=this._d.valueOf(),t-=dv(t,sv)}return this._d.setTime(t),Qg.updateOffset(this,!0),this},kv.subtract=Qy,kv.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},kv.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},kv.toDate=function(){return new Date(this.valueOf())},kv.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,i=t?this.clone().utc():this;return i.year()<0||i.year()>9999?Pm(i,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):xm(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",Pm(i,"Z")):Pm(i,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},kv.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,i,n="moment",r="";return this.isLocal()||(n=0===this.utcOffset()?"moment.utc":"moment.parseZone",r="Z"),e="["+n+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY","-MM-DD[T]HH:mm:ss.SSS",i=r+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+i)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(kv[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),kv.toJSON=function(){return this.isValid()?this.toISOString():null},kv.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},kv.unix=function(){return Math.floor(this.valueOf()/1e3)},kv.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},kv.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},kv.eraName=function(){var e,t,i,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e){if(i=this.clone().startOf("day").valueOf(),n[e].since<=i&&i<=n[e].until)return n[e].name;if(n[e].until<=i&&i<=n[e].since)return n[e].name}return""},kv.eraNarrow=function(){var e,t,i,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e){if(i=this.clone().startOf("day").valueOf(),n[e].since<=i&&i<=n[e].until)return n[e].narrow;if(n[e].until<=i&&i<=n[e].since)return n[e].narrow}return""},kv.eraAbbr=function(){var e,t,i,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e){if(i=this.clone().startOf("day").valueOf(),n[e].since<=i&&i<=n[e].until)return n[e].abbr;if(n[e].until<=i&&i<=n[e].since)return n[e].abbr}return""},kv.eraYear=function(){var e,t,i,n,r=this.localeData().eras();for(e=0,t=r.length;e<t;++e)if(i=r[e].since<=r[e].until?1:-1,n=this.clone().startOf("day").valueOf(),r[e].since<=n&&n<=r[e].until||r[e].until<=n&&n<=r[e].since)return(this.year()-Qg(r[e].since).year())*i+r[e].offset;return this.year()},kv.year=Sf,kv.isLeapYear=function(){return uf(this.year())},kv.weekYear=function(e){return mv.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},kv.isoWeekYear=function(e){return mv.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},kv.quarter=kv.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},kv.month=Mf,kv.daysInMonth=function(){return Tf(this.year(),this.month())},kv.week=kv.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},kv.isoWeek=kv.isoWeeks=function(e){var t=Uf(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},kv.weeksInYear=function(){var e=this.localeData()._week;return $f(this.year(),e.dow,e.doy)},kv.weeksInWeekYear=function(){var e=this.localeData()._week;return $f(this.weekYear(),e.dow,e.doy)},kv.isoWeeksInYear=function(){return $f(this.year(),1,4)},kv.isoWeeksInISOWeekYear=function(){return $f(this.isoWeekYear(),1,4)},kv.date=yv,kv.day=kv.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=Ef(this,"Day");return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},kv.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},kv.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},kv.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},kv.hour=kv.hours=iy,kv.minute=kv.minutes=vv,kv.second=kv.seconds=wv,kv.millisecond=kv.milliseconds=bv,kv.utcOffset=function(e,t,i){var n,r=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=jy(Qm,e)))return this}else Math.abs(e)<16&&!i&&(e*=60);return!this._isUTC&&t&&(n=Uy(this)),this._offset=e,this._isUTC=!0,null!=n&&this.add(n,"m"),r!==e&&(!t||this._changeInProgress?Jy(this,Gy(e-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Qg.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Uy(this)},kv.utc=function(e){return this.utcOffset(0,e)},kv.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Uy(this),"m")),this},kv.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=jy(Zm,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},kv.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Dy(e).utcOffset():0,(this.utcOffset()-e)%60==0)},kv.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},kv.isLocal=function(){return!!this.isValid()&&!this._isUTC},kv.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},kv.isUtc=$y,kv.isUTC=$y,kv.zoneAbbr=function(){return this._isUTC?"UTC":""},kv.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},kv.dates=vm("dates accessor is deprecated. Use date instead.",yv),kv.months=vm("months accessor is deprecated. Use month instead",Mf),kv.years=vm("years accessor is deprecated. Use year instead",Sf),kv.zone=vm("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),kv.isDSTShifted=vm("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!nm(this._isDSTShifted))return this._isDSTShifted;var e,t={};return gm(t,this),(t=Ty(t))._a?(e=t._isUTC?lm(t._a):Dy(t._a),this._isDSTShifted=this.isValid()&&function(e,t,i){var n,r=Math.min(e.length,t.length),s=Math.abs(e.length-t.length),o=0;for(n=0;n<r;n++)(i&&e[n]!==t[n]||!i&&af(e[n])!==af(t[n]))&&o++;return o+s}(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}));var Av=Sm.prototype;function Ev(e,t,i,n){var r=uy(),s=lm().set(n,t);return r[i](s,e)}function Cv(e,t,i){if(rm(e)&&(t=e,e=void 0),e=e||"",null!=t)return Ev(e,t,i,"month");var n,r=[];for(n=0;n<12;n++)r[n]=Ev(e,n,i,"month");return r}function Tv(e,t,i,n){"boolean"==typeof e?(rm(t)&&(i=t,t=void 0),t=t||""):(i=t=e,e=!1,rm(t)&&(i=t,t=void 0),t=t||"");var r,s=uy(),o=e?s._week.dow:0,a=[];if(null!=i)return Ev(t,(i+o)%7,n,"day");for(r=0;r<7;r++)a[r]=Ev(t,(r+o)%7,n,"day");return a}Av.calendar=function(e,t,i){var n=this._calendar[e]||this._calendar.sameElse;return xm(n)?n.call(t,i):n},Av.longDateFormat=function(e){var t=this._longDateFormat[e],i=this._longDateFormat[e.toUpperCase()];return t||!i?t:(this._longDateFormat[e]=i.match(Em).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},Av.invalidDate=function(){return this._invalidDate},Av.ordinal=function(e){return this._ordinal.replace("%d",e)},Av.preparse=Sv,Av.postformat=Sv,Av.relativeTime=function(e,t,i,n){var r=this._relativeTime[i];return xm(r)?r(e,t,i,n):r.replace(/%d/i,e)},Av.pastFuture=function(e,t){var i=this._relativeTime[e>0?"future":"past"];return xm(i)?i(t):i.replace(/%s/i,t)},Av.set=function(e){var t,i;for(i in e)tm(e,i)&&(xm(t=e[i])?this[i]=t:this["_"+i]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Av.eras=function(e,t){var i,n,r,s=this._eras||uy("en")._eras;for(i=0,n=s.length;i<n;++i){if("string"==typeof s[i].since)r=Qg(s[i].since).startOf("day"),s[i].since=r.valueOf();switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":r=Qg(s[i].until).startOf("day").valueOf(),s[i].until=r.valueOf()}}return s},Av.erasParse=function(e,t,i){var n,r,s,o,a,l=this.eras();for(e=e.toUpperCase(),n=0,r=l.length;n<r;++n)if(s=l[n].name.toUpperCase(),o=l[n].abbr.toUpperCase(),a=l[n].narrow.toUpperCase(),i)switch(t){case"N":case"NN":case"NNN":if(o===e)return l[n];break;case"NNNN":if(s===e)return l[n];break;case"NNNNN":if(a===e)return l[n]}else if([s,o,a].indexOf(e)>=0)return l[n]},Av.erasConvertYear=function(e,t){var i=e.since<=e.until?1:-1;return void 0===t?Qg(e.since).year():Qg(e.since).year()+(t-e.offset)*i},Av.erasAbbrRegex=function(e){return tm(this,"_erasAbbrRegex")||pv.call(this),e?this._erasAbbrRegex:this._erasRegex},Av.erasNameRegex=function(e){return tm(this,"_erasNameRegex")||pv.call(this),e?this._erasNameRegex:this._erasRegex},Av.erasNarrowRegex=function(e){return tm(this,"_erasNarrowRegex")||pv.call(this),e?this._erasNarrowRegex:this._erasRegex},Av.months=function(e,t){return e?Xg(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Pf).test(t)?"format":"standalone"][e.month()]:Xg(this._months)?this._months:this._months.standalone},Av.monthsShort=function(e,t){return e?Xg(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Pf.test(t)?"format":"standalone"][e.month()]:Xg(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Av.monthsParse=function(e,t,i){var n,r,s;if(this._monthsParseExact)return Rf.call(this,e,t,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(r=lm([2e3,n]),i&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),i||this._monthsParse[n]||(s="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[n]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===t&&this._longMonthsParse[n].test(e))return n;if(i&&"MMM"===t&&this._shortMonthsParse[n].test(e))return n;if(!i&&this._monthsParse[n].test(e))return n}},Av.monthsRegex=function(e){return this._monthsParseExact?(tm(this,"_monthsRegex")||Lf.call(this),e?this._monthsStrictRegex:this._monthsRegex):(tm(this,"_monthsRegex")||(this._monthsRegex=Nf),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Av.monthsShortRegex=function(e){return this._monthsParseExact?(tm(this,"_monthsRegex")||Lf.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(tm(this,"_monthsShortRegex")||(this._monthsShortRegex=Ff),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Av.week=function(e){return Uf(e,this._week.dow,this._week.doy).week},Av.firstDayOfYear=function(){return this._week.doy},Av.firstDayOfWeek=function(){return this._week.dow},Av.weekdays=function(e,t){var i=Xg(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Vf(i,this._week.dow):e?i[e.day()]:i},Av.weekdaysMin=function(e){return!0===e?Vf(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Av.weekdaysShort=function(e){return!0===e?Vf(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Av.weekdaysParse=function(e,t,i){var n,r,s;if(this._weekdaysParseExact)return Zf.call(this,e,t,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(r=lm([2e3,1]).day(n),i&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(s="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[n]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===t&&this._fullWeekdaysParse[n].test(e))return n;if(i&&"ddd"===t&&this._shortWeekdaysParse[n].test(e))return n;if(i&&"dd"===t&&this._minWeekdaysParse[n].test(e))return n;if(!i&&this._weekdaysParse[n].test(e))return n}},Av.weekdaysRegex=function(e){return this._weekdaysParseExact?(tm(this,"_weekdaysRegex")||Qf.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(tm(this,"_weekdaysRegex")||(this._weekdaysRegex=Yf),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Av.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(tm(this,"_weekdaysRegex")||Qf.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(tm(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Kf),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Av.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(tm(this,"_weekdaysRegex")||Qf.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(tm(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Jf),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Av.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Av.meridiem=function(e,t,i){return e>11?i?"pm":"PM":i?"am":"AM"},cy("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===af(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),Qg.lang=vm("moment.lang is deprecated. Use moment.locale instead.",cy),Qg.langData=vm("moment.langData is deprecated. Use moment.localeData instead.",uy);var Iv=Math.abs;function Dv(e,t,i,n){var r=Gy(t,i);return e._milliseconds+=n*r._milliseconds,e._days+=n*r._days,e._months+=n*r._months,e._bubble()}function Pv(e){return e<0?Math.floor(e):Math.ceil(e)}function Fv(e){return 4800*e/146097}function Nv(e){return 146097*e/4800}function Rv(e){return function(){return this.as(e)}}var Ov=Rv("ms"),Mv=Rv("s"),Lv=Rv("m"),Bv=Rv("h"),zv=Rv("d"),jv=Rv("w"),Hv=Rv("M"),Uv=Rv("Q"),$v=Rv("y"),Vv=Ov;function Wv(e){return function(){return this.isValid()?this._data[e]:NaN}}var Gv=Wv("milliseconds"),qv=Wv("seconds"),Yv=Wv("minutes"),Kv=Wv("hours"),Jv=Wv("days"),Zv=Wv("months"),Qv=Wv("years");var Xv=Math.round,e_={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function t_(e,t,i,n,r){return r.relativeTime(t||1,!!i,e,n)}var i_=Math.abs;function n_(e){return(e>0)-(e<0)||+e}function r_(){if(!this.isValid())return this.localeData().invalidDate();var e,t,i,n,r,s,o,a,l=i_(this._milliseconds)/1e3,d=i_(this._days),c=i_(this._months),h=this.asSeconds();return h?(e=of(l/60),t=of(e/60),l%=60,e%=60,i=of(c/12),c%=12,n=l?l.toFixed(3).replace(/\.?0+$/,""):"",r=h<0?"-":"",s=n_(this._months)!==n_(h)?"-":"",o=n_(this._days)!==n_(h)?"-":"",a=n_(this._milliseconds)!==n_(h)?"-":"",r+"P"+(i?s+i+"Y":"")+(c?s+c+"M":"")+(d?o+d+"D":"")+(t||e||l?"T":"")+(t?a+t+"H":"")+(e?a+e+"M":"")+(l?a+n+"S":"")):"P0D"}var s_=Oy.prototype;s_.isValid=function(){return this._isValid},s_.abs=function(){var e=this._data;return this._milliseconds=Iv(this._milliseconds),this._days=Iv(this._days),this._months=Iv(this._months),e.milliseconds=Iv(e.milliseconds),e.seconds=Iv(e.seconds),e.minutes=Iv(e.minutes),e.hours=Iv(e.hours),e.months=Iv(e.months),e.years=Iv(e.years),this},s_.add=function(e,t){return Dv(this,e,t,1)},s_.subtract=function(e,t){return Dv(this,e,t,-1)},s_.as=function(e){if(!this.isValid())return NaN;var t,i,n=this._milliseconds;if("month"===(e=Rm(e))||"quarter"===e||"year"===e)switch(t=this._days+n/864e5,i=this._months+Fv(t),e){case"month":return i;case"quarter":return i/3;case"year":return i/12}else switch(t=this._days+Math.round(Nv(this._months)),e){case"week":return t/7+n/6048e5;case"day":return t+n/864e5;case"hour":return 24*t+n/36e5;case"minute":return 1440*t+n/6e4;case"second":return 86400*t+n/1e3;case"millisecond":return Math.floor(864e5*t)+n;default:throw new Error("Unknown unit "+e)}},s_.asMilliseconds=Ov,s_.asSeconds=Mv,s_.asMinutes=Lv,s_.asHours=Bv,s_.asDays=zv,s_.asWeeks=jv,s_.asMonths=Hv,s_.asQuarters=Uv,s_.asYears=$v,s_.valueOf=Vv,s_._bubble=function(){var e,t,i,n,r,s=this._milliseconds,o=this._days,a=this._months,l=this._data;return s>=0&&o>=0&&a>=0||s<=0&&o<=0&&a<=0||(s+=864e5*Pv(Nv(a)+o),o=0,a=0),l.milliseconds=s%1e3,e=of(s/1e3),l.seconds=e%60,t=of(e/60),l.minutes=t%60,i=of(t/60),l.hours=i%24,o+=of(i/24),a+=r=of(Fv(o)),o-=Pv(Nv(r)),n=of(a/12),a%=12,l.days=o,l.months=a,l.years=n,this},s_.clone=function(){return Gy(this)},s_.get=function(e){return e=Rm(e),this.isValid()?this[e+"s"]():NaN},s_.milliseconds=Gv,s_.seconds=qv,s_.minutes=Yv,s_.hours=Kv,s_.days=Jv,s_.weeks=function(){return of(this.days()/7)},s_.months=Zv,s_.years=Qv,s_.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var i,n,r=!1,s=e_;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(r=e),"object"==typeof t&&(s=Object.assign({},e_,t),null!=t.s&&null==t.ss&&(s.ss=t.s-1)),n=function(e,t,i,n){var r=Gy(e).abs(),s=Xv(r.as("s")),o=Xv(r.as("m")),a=Xv(r.as("h")),l=Xv(r.as("d")),d=Xv(r.as("M")),c=Xv(r.as("w")),h=Xv(r.as("y")),u=s<=i.ss&&["s",s]||s<i.s&&["ss",s]||o<=1&&["m"]||o<i.m&&["mm",o]||a<=1&&["h"]||a<i.h&&["hh",a]||l<=1&&["d"]||l<i.d&&["dd",l];return null!=i.w&&(u=u||c<=1&&["w"]||c<i.w&&["ww",c]),(u=u||d<=1&&["M"]||d<i.M&&["MM",d]||h<=1&&["y"]||["yy",h])[2]=t,u[3]=+e>0,u[4]=n,t_.apply(null,u)}(this,!r,s,i=this.localeData()),r&&(n=i.pastFuture(+this,n)),i.postformat(n)},s_.toISOString=r_,s_.toString=r_,s_.toJSON=r_,s_.locale=iv,s_.localeData=rv,s_.toIsoString=vm("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",r_),s_.lang=nv,Dm("X",0,0,"unix"),Dm("x",0,0,"valueOf"),nf("x",Jm),nf("X",/[+-]?\d+(\.\d{1,3})?/),df("X",(function(e,t,i){i._d=new Date(1e3*parseFloat(e))})),df("x",(function(e,t,i){i._d=new Date(af(e))})),Qg.version="2.30.1",Jg=Dy,Qg.fn=kv,Qg.min=function(){return Ny("isBefore",[].slice.call(arguments,0))},Qg.max=function(){return Ny("isAfter",[].slice.call(arguments,0))},Qg.now=function(){return Date.now?Date.now():+new Date},Qg.utc=lm,Qg.unix=function(e){return Dy(1e3*e)},Qg.months=function(e,t){return Cv(e,t,"months")},Qg.isDate=sm,Qg.locale=cy,Qg.invalid=hm,Qg.duration=Gy,Qg.isMoment=fm,Qg.weekdays=function(e,t,i){return Tv(e,t,i,"weekdays")},Qg.parseZone=function(){return Dy.apply(null,arguments).parseZone()},Qg.localeData=uy,Qg.isDuration=My,Qg.monthsShort=function(e,t){return Cv(e,t,"monthsShort")},Qg.weekdaysMin=function(e,t,i){return Tv(e,t,i,"weekdaysMin")},Qg.defineLocale=hy,Qg.updateLocale=function(e,t){if(null!=t){var i,n,r=ry;null!=sy[e]&&null!=sy[e].parentLocale?sy[e].set(km(sy[e]._config,t)):(null!=(n=dy(e))&&(r=n._config),t=km(r,t),null==n&&(t.abbr=e),(i=new Sm(t)).parentLocale=sy[e],sy[e]=i),cy(e)}else null!=sy[e]&&(null!=sy[e].parentLocale?(sy[e]=sy[e].parentLocale,e===cy()&&cy(e)):null!=sy[e]&&delete sy[e]);return sy[e]},Qg.locales=function(){return _m(sy)},Qg.weekdaysShort=function(e,t,i){return Tv(e,t,i,"weekdaysShort")},Qg.normalizeUnits=Rm,Qg.relativeTimeRounding=function(e){return void 0===e?Xv:"function"==typeof e&&(Xv=e,!0)},Qg.relativeTimeThreshold=function(e,t){return void 0!==e_[e]&&(void 0===t?e_[e]:(e_[e]=t,"s"===e&&(e_.ss=t-1),!0))},Qg.calendarFormat=function(e,t){var i=e.diff(t,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"},Qg.prototype=kv,Qg.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const o_=e=>Qg(e.startDateTime).isSame(e.endDateTime,"day")?`${a_(e.startDateTime)} ${l_(e.startDateTime)} - ${l_(e.endDateTime)}`:`${a_(e.startDateTime)} t/m ${a_(e.endDateTime)}`,a_=e=>e?Qg.utc(e).local().format("LL"):"",l_=e=>e?Qg.utc(e).local().format("LT"):"",d_=(e,t,i)=>i?[...e].sort(((e,i)=>new Date(i[t])-new Date(e[t]))):[...e].sort(((e,i)=>new Date(e[t])-new Date(i[t]))),c_=(e,...t)=>{const i=Qg.utc(),n=Qg().add(...t);return e?Qg(e).isBefore(i)?"expired":Qg(e).isBefore(n)?"almost-expired":"not-expired":"none"},h_="ACCREDITATIONINFO_LOAD",u_="ACCREDITATIONINFO_UPDATE",p_="ACCREDITATIONINFO_CREATE",g_="ACCREDITATIONINFO_REMOVE",m_="ACCREDITATIONINFO_OPEN",f_="ACCREDITATIONINFO_SAVE",y_="ACCREDITATIONINFO_PROCESS",v_=e=>async(t,i)=>{const{oidc:n,minervaSettings:r}=i(),{portalIdentifier:s,catalogApiUrl:o,accreditationApiUrl:a}=r,{targetId:l,targetType:d}=e;t({type:h_,async payload(){let e;if("composition"===d)return e=await A_(`${o}/api/1.0/accreditationinfo/${s}/${l}`,n),{accreditations:e.globalAccreditations?e.accreditations.concat(e.globalAccreditations.map((e=>(e.global=!0,e)))):e.accreditations,suppliers:e.suppliers.map((e=>({value:e,label:e}))),organizations:e.organizations.map((e=>({value:e.key,label:e.key})))};{const e=await A_(`${a}/api/2.0/course/${s}/${l}`,n),t=await A_(`${a}/api/2.0/allowedproviders/${s}`,n),i=await A_(`${a}/api/2.0/accreditationtypes/${s}`,n);return{accreditations:e.courses.map(C_),suppliers:t.map((e=>({value:e.id.toString(),label:e.providerName}))),organizations:i.map((e=>({value:e.value,label:e.name})))}}}})},__=(e,t)=>i=>{i({type:u_,payload:{index:e,changes:t}})},b_=()=>(e,t)=>{const i=t();e({type:p_,payload:{supplierKey:i.accreditationInfo.suppliers[0].value,organizationKey:i.accreditationInfo.organizations[0].value,data:{}}})},w_=e=>t=>{t({type:g_,payload:{index:e}})},x_=(e,t)=>i=>{i({type:m_,payload:{index:e,value:t}})},k_=e=>async(t,i)=>{const{oidc:n,minervaSettings:r,accreditationInfo:s}=i(),{portalIdentifier:o,catalogApiUrl:a,accreditationApiUrl:l}=r,{targetId:d,targetType:c,name:h}=e;t({type:f_,async payload(){if("composition"===c)return await fetch(`${a}/api/1.0/accreditationinfo/${o}/${d}`,{method:"POST",body:JSON.stringify(s.current.filter((e=>!e.global))),headers:{"Content-Type":"application/json",...E_(n.user)}}),{};{const e=[];let t;return s.current.filter((e=>e.$dirty)).forEach((async i=>{t=await fetch(`${l}/api/2.0/course`,{method:i.legacyId?"PUT":"POST",body:JSON.stringify(T_(i,o,d,c,h)),headers:{"Content-Type":"application/json",...E_(n.user)}});const r=await t.json();e.push(r.id)})),s.removedLegacyIds.forEach((async e=>{t=await fetch(`${l}/api/2.0/course/${e}`,{method:"DELETE",headers:E_(n.user)})})),{legacyIds:e}}}})},S_=e=>async(t,i)=>{const{oidc:n,minervaSettings:r}=i(),{portalIdentifier:s,catalogApiUrl:o}=r,{targetId:a,targetType:l}=e;"composition"===l&&t({type:y_,payload:async()=>(await fetch(`${o}/api/1.0/accreditation/process/${s}/${a}`,{method:"POST",body:JSON.stringify({skipFailed:!1}),headers:{"Content-Type":"application/json",...E_(n.user)}}),{})})},A_=async(e,t)=>{const i=await fetch(e,{headers:E_(t.user)});return await i.json()},E_=e=>e?{Authorization:`Bearer ${e.access_token}`}:{},C_=e=>({legacyId:e.id,organizationKey:e.accreditationType,supplierKey:e.providerId.toString(),validFrom:e.startDate,validTill:e.endDate,data:{peCourseId:e.courseId,peModuleId:e.moduleId,peEditionId:e.editionId},points:e.points,contextId:e.academyContextId,contextInfo:e.contextInfo,global:e.global}),T_=(e,t,i,n,r)=>({id:e.legacyId,portalId:t,targetId:i,targetType:"classroom"===n?2:1,accreditationType:e.organizationKey,providerId:+e.supplierKey,startDate:e.validFrom,endDate:e.validTill,courseName:r,courseId:e.data.peCourseId,moduleId:e.data.peModuleId,editionId:e.data.peEditionId,points:e.points,academyContextId:e.contextId,contextInfo:e.contextInfo,global:e.global}),I_=(e,...t)=>{if(!t.length)return e;const i=t.shift();if(D_(e)&&D_(i))for(const t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=D_(i[t])?I_(e[t]||{},i[t]):e[t]=i[t]);return I_(e,...t)},D_=e=>null!==e&&"object"==typeof e,P_="REGISTRATION_LOAD",F_="REGISTRATION_UPDATE",N_="REGISTRATION_SAVE",R_=e=>async(t,i)=>{var n;const{oidc:r,minervaSettings:s,registration:o}=i(),{portalIdentifier:a,catalogApiUrl:l}=s;(null===(n=o.current)||void 0===n?void 0:n.idString)!==e&&t({type:P_,async payload(){const t=await fetch(`${l}/api/1.0/registrations/${a}/${btoa(e)}`,{headers:L_(r.user)});return await t.json()}})},O_=(e,t)=>i=>{i({type:F_,payload:{key:e,changes:t}})},M_=()=>async(e,t)=>{const{oidc:i,minervaSettings:n,registration:r}=t(),{portalIdentifier:s,catalogApiUrl:o}=n;e({type:N_,payload:async()=>(await fetch(`${o}/api/1.0/registrations/${s}`,{method:"POST",body:JSON.stringify(r.current),headers:{"Content-Type":"application/json",...L_(i.user)}}),{})})},L_=e=>e?{Authorization:`Bearer ${e.access_token}`}:{},B_="CLASSROOM_LOADPLANNINGS",z_=e=>async(t,i)=>{const{oidc:n,minervaSettings:r}=i(),{portalApiUrl:s}=r;t({type:B_,async payload(){const t=await fetch(`${s}/api/1.0/planningsbycourseid/${e}`,{headers:H_(n.user)});return{plannings:((await t.json()).results||[]).filter(j_)}}})},j_=e=>Qg(e.endDateTime).isAfter(Qg().subtract(2,"year")),H_=e=>e?{Authorization:`Bearer ${e.access_token}`}:{},U_={};var $_=function(e){return{done:!0,value:e}},V_={};function W_(e){return Dc(e)?"channel":Pc(e)?String(e):wc(e)?e.name:String(e)}function G_(e,t,i){var n,r,s,o=t;function a(t,i){if(o===V_)return $_(t);if(i&&!r)throw o=V_,i;n&&n(t);var a=i?e[r](i):e[o]();return o=a.nextState,s=a.effect,n=a.stateUpdater,r=a.errorState,o===V_?$_(t):s}return qc(a,(function(e){return a(null,e)}),i)}function q_(e,t){for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r<i;r++)n[r-2]=arguments[r];var s,o={done:!1,value:yh(e)},a=function(e){return s=e};return G_({q1:function(){return{nextState:"q2",effect:o,stateUpdater:a}},q2:function(){return{nextState:"q1",effect:(e=s,{done:!1,value:Ah.apply(void 0,[t].concat(n,[e]))})};var e}},"q1","takeEvery("+W_(e)+", "+t.name+")")}function Y_(e,t){for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r<i;r++)n[r-2]=arguments[r];var s,o,a={done:!1,value:yh(e)},l=function(e){return{done:!1,value:Ah.apply(void 0,[t].concat(n,[e]))}},d=function(e){return{done:!1,value:Eh(e)}},c=function(e){return s=e},h=function(e){return o=e};return G_({q1:function(){return{nextState:"q2",effect:a,stateUpdater:h}},q2:function(){return s?{nextState:"q3",effect:d(s)}:{nextState:"q1",effect:l(o),stateUpdater:c}},q3:function(){return{nextState:"q1",effect:l(o),stateUpdater:c}}},"q1","takeLatest("+W_(e)+", "+t.name+")")}function K_(e,t){for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r<i;r++)n[r-2]=arguments[r];var s,o={done:!1,value:yh(e)},a=function(e){return s=e};return G_({q1:function(){return{nextState:"q2",effect:o,stateUpdater:a}},q2:function(){return{nextState:"q1",effect:(e=s,{done:!1,value:Sh.apply(void 0,[t].concat(n,[e]))})};var e}},"q1","takeLeading("+W_(e)+", "+t.name+")")}function J_(e,t,i){for(var n=arguments.length,r=new Array(n>3?n-3:0),s=3;s<n;s++)r[s-3]=arguments[s];var o,a,l,d,c={done:!1,value:yh(t)},h={done:!1,value:(l={action:yh(t),debounce:Th(e)},d=fh(ch,l),d.combinator=!0,d)},u=function(e){return o=e},p=function(e){return a=e};return G_({q1:function(){return{nextState:"q2",effect:c,stateUpdater:u}},q2:function(){return{nextState:"q3",effect:h,stateUpdater:p}},q3:function(){return a.debounce?{nextState:"q1",effect:(t=o,{done:!1,value:Ah.apply(void 0,[i].concat(r,[t]))})}:{nextState:"q2",effect:(e=a.action,{done:!1,value:e}),stateUpdater:u};var e,t}},"q1","debounce("+W_(t)+", "+i.name+")")}var Z_=function(e,t,i){Uc(t,bc,e.name+" requires a pattern or channel"),Uc(i,bc,e.name+" requires a saga parameter")};function Q_(e,t){"production"!==process.env.NODE_ENV&&Z_(Q_,e,t);for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r<i;r++)n[r-2]=arguments[r];return Ah.apply(void 0,[q_,e,t].concat(n))}function X_(e,t){"production"!==process.env.NODE_ENV&&Z_(X_,e,t);for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r<i;r++)n[r-2]=arguments[r];return Ah.apply(void 0,[Y_,e,t].concat(n))}function eb(e,t){"production"!==process.env.NODE_ENV&&Z_(eb,e,t);for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r<i;r++)n[r-2]=arguments[r];return Ah.apply(void 0,[K_,e,t].concat(n))}function tb(e,t,i){for(var n=arguments.length,r=new Array(n>3?n-3:0),s=3;s<n;s++)r[s-3]=arguments[s];return Ah.apply(void 0,[J_,e,t,i].concat(r))}const ib=e=>{const t=[];return e.preferredIdp&&t.push(`idp:${escape(e.preferredIdp)}`),e.tenant?(t.push(`tenant:${e.tenant}`),t.push(`sdbTenant:${e.tenant}`)):t.push(`tenant:${e.portalIdentifier}`),t.push(`portalIdentifier:${e.portalIdentifier}`),e.loginDomains&&t.push(`loginDomains:${e.loginDomains}`),e.forceDomain&&t.push(`forceDomain:${e.forceDomain}`),e.loginCssUrl&&t.push(`externalCss:${escape(e.loginCssUrl)}`),e.replacementNameIdentifierClaim&&t.push(`replaceClaim:${escape(e.replacementNameIdentifierClaim)}`),t.join(" ")};function*nb(){const e=yield Ch();yield Sh([ju,ju.signinRedirect],{acr_values:ib(e.minervaSettings),state:{url:window.location.pathname+window.location.search}})}function*rb(){yield Sh([ju,ju.signoutRedirect])}function*sb(){const e=yield Ch();try{yield Sh([ju,ju.signinSilent],{acr_values:ib(e.minervaSettings)}),yield vh({type:"SIGNIN_SILENT_FULFILLED"})}catch(e){yield vh({type:"SIGNIN_SILENT_REJECTED",error:e})}}function*ob(){}function*ab(){yield Q_("SIGNIN",nb),yield eb("SIGNINCALLBACK",lb),yield Q_("SIGNEDIN",db),yield Q_("SIGNINSILENT",sb),yield Q_("redux-oidc/USER_FOUND",ob),yield Q_("SIGNOUT",rb)}function*lb(){try{const e=yield Sh([ju,ju.signinRedirectCallback]);console.log("Authenticate callback success"),yield vh({type:"SIGNEDIN",url:e.state.url})}catch(e){console.log("Authenticate callback FAIL"),window.location.href=window.location.origin}yield Th(250)}function*db(e){yield vh({type:"MINERVASETTINGS_REQUESTED"}),yield vh({type:"SIGNIN_FULFILLED"}),window.location.href=e.url}function cb(e,...t){if(e.find((e=>"*"===e)))return!0;for(let i=0;i<t.length;i++){const n=t[i];if(e.find((e=>e===n)))return!0;if(e.find((e=>e.startsWith(`${n}.`))))return!0}return!1}const hb=e=>e?{Authorization:`Bearer ${e.access_token}`}:{};function*ub(){const e=(yield Ch()).oidc,t=e.user?e.user.profile.idString:null,i=hb(e.user),n=yield Sh(pb),r=yield Sh(gb,n.settingsUrl,i);if(r.notFound)return void(yield vh({type:"MINERVASETTINGS_NOT_FOUND",payload:{...r}}));if(r.forceLogout){const e={settings:{},forceLogout:!0};return void(yield vh({type:"MINERVASETTINGS_RECEIVED",payload:{...e}}))}let s;r.enabledFeatureFlags=r.enabledFeatureFlags.length?Object.assign(...r.enabledFeatureFlags.map((e=>({[e]:!0})))):{},r.enabledFeatureFlags.HLIntegrationEnabled||delete n.hlUrl,r.planningIntegrationEnabled=r.planningIntegrationEnabled||r.enabledFeatureFlags.planningIntegration,r.planningIntegrationEnabled||delete n.planningIntegrationApiUrl,"undefined"===r.shouldOpenWelcomeVideo&&(r.shouldOpenWelcomeVideo=!0);let o=[],a=[],l=[],d={},c=!1;if(e.user){if(window.appInsights&&t&&(window.appInsights.setAuthenticatedUserContext(t.replace("\\","\\\\").replace(/[,;=| ]+/g,"_")),!window.appInsights_roleSet)){const e=e=>{e.tags["ai.cloud.role"]="SDB Leerplatform",e.tags["ai.cloud.roleInstance"]=r.portalIdentifier};window.appInsights.addTelemetryInitializer(e),window.appInsights_roleSet=!0}let e;r.skillsEnabled?s=Sh(mb,n.skillsApiUrl,r.portalIdentifier,i):n.skillsApiUrl=null,[o,e]=yield bh([Sh(fb,r,n,i),Sh(yb,r,n,i)]),a=e.departmentIdsWhereManager,l=e.departmentIdsWhereManagerRights,c=l&&l.length>0,c&&(o=function(e){const t=new Set(e);return t.add("classroom.manage_enrollments"),Array.from(t)}(o));const h=t.toLowerCase(),u=r.signInDomains.find((e=>h.startsWith(`//${e.domainId.toLowerCase()}//`)));u&&(d=u)}const h=s?yield s:{},u={...r,...n,notFound:!1,headers:i,idString:t,skillsSettings:h,isManager:c,departmentsWhereManager:a,departmentsWhereManagerRights:l,hideClassroomParticipants:d.hideClassroomParticipants,profileReadonly:d.profileReadonly,anonymizeParticipantsFromOtherDomains:d.anonymizeParticipantsFromOtherDomains,portfolioLandingSuffix:r.skillsEnabled?"/skills/list":"/progress/list",rights:o,departmentSkillsMatrixViewEnabled:!0},p=function(e){const t=[];e.isAdmin&&vb(t,"settings","settings/general","fal fa-gear");e.isAdmin&&vb(t,"catalog","catalog/assign","fal fa-album-collection");e.isAdmin&&((e.enabledFeatureFlags.lti||e.enabledFeatureFlags.scorm||e.enabledFeatureFlags.compositions)&&vb(t,"compositionmanagement","compositionmanagement/lti","fal fa-cubes"),e.evaluationEnabled&&vb(t,"evaluations","evaluations","fal fa-clipboard-list-check"),e.expertiseEnabled&&vb(t,"definities","definities/list","fal fa-folder-open"));if(e.classroomEnabled&&e.isAdmin){vb(t,"classroom","classroom/locations","fal fa-screen-users")}e.isAdmin&&(e.skillsEnabled&&vb(t,"skills","skills/actions","fal fa-shield-check"),vb(t,"certificates","certificates/list","fal fa-file-certificate"),vb(t,"examinermanagement","examinermanagement/assessors","fal fa-gear"),vb(t,"importmanagement","importmanagement","fal fa-file-import"));if(cb(e.rights,"roles_and_rights")){vb(t,"usermanagement","usermanagement/"+(e.isAdmin?"ssomanagement":"rolemanagement"),"fal fa-users-gear")}e.isAdmin&&vb(t,"maillogoverview","maillogoverview","fal fa-envelope");return t}(u),g=function(e,t){const i=[];vb(i,"start","/","fal fa-house"),vb(i,"catalog","/training/list/all"),!e.isAdmin&&e.departmentsWhereManager.length&&(vb(i,"departments","/department/list"),e.skillsEnabled&&vb(i,"skills","/skills/actions"));!e.departmentsWhereManager.length&&e.isDepartmentReviewer&&vb(i,"departments","/department/list");e.isAdmin&&(vb(i,"departments","/department/list"),e.skillsSettings.onlyAssignToFunctions&&vb(i,"functions","/roles"));e.enabledFeatureFlags.HLIntegrationEnabled&&vb(i,"hlapps","/hl-dashboard");vb(i,"myMinerva",`/user/my${e.portfolioLandingSuffix}`),t.length&&vb(i,"administration",`/admin/${t[0].link}`);return i}(u,p);yield vh({type:"MINERVASETTINGS_RECEIVED",payload:{...u,mainMenu:g,adminMenu:p}})}function*pb(){const e=yield Sh(fetch,"/environment.json");return yield Sh([e,e.json])}function*gb(e,t){const i=yield Sh(fetch,`${e}/api/settings`,{headers:t});return 404===i.status?{settings:{},notFound:!0}:yield Sh([i,i.json])}function*mb(e,t,i){const n=yield Sh(fetch,`${e}/api/6.0/settings/${t}`,{headers:i});return 404===n.status?{}:yield Sh([n,n.json])}function*fb(e,t,i){if(e.isAdmin)return["*"];if(i.Authorization){const n=yield Sh(fetch,`${t.accessManagementApiUrl}/api/rights/${e.portalIdentifier}/identity`,{headers:i});return yield Sh([n,n.json])}return[]}function*yb(e,t,i){const n=yield Sh(fetch,`${t.academyDepartmentsUrl}/api/1.0/departmentsWhereManager/${e.portalIdentifier}`,{headers:i});return yield Sh([n,n.json])}function vb(e,t,i,n=null){e.some((e=>e.label===t))||e.push({label:t,active:0===e.length,link:i,icon:n})}function*_b(){yield vh({type:"SET_WELCOME_VIDEO_OPENED",payload:{shouldOpenWelcomeVideo:!1}})}function*bb(e){const t=e.payload,i=yield Ch(),n=i.oidc,r=hb(n.user);yield Sh(fetch,`${i.minervaSettings.settingsUrl}/api/userSettings/${i.minervaSettings.portalIdentifier}`,{headers:{...r,"Content-type":"application/json"},method:"PUT",body:JSON.stringify({hideIntroVideoVersion:t.version})})}function*wb(e){const{minervaSettings:t}=yield Ch();yield vh({type:"DEPARTMENT_MATRIX_VISIBLE_SET",payload:{departmentSkillsMatrixViewEnabled:!t.departmentSkillsMatrixViewEnabled}})}function*xb(){yield X_("MINERVASETTINGS_REQUESTED",ub),yield X_("WELCOME_VIDEO_OPENED",_b),yield X_("SET_HIDE_WELCOME_VIDEO",bb),yield X_("TOGGLE_DEPARTMENT_MATRIX_VISIBLE",wb)}function*kb(e){const t=Ib().fromDate,i=Ib().toDate;yield Sh(Sb,{payload:{fromDate:t,toDate:i,currentPage:0,pageSize:25,results:[],selectedCourse:null,courseId:null,selectedTeacher:null,teacherIdString:null,selectedLocation:null,locationId:null,downloading:!1,onlyWithWarnings:!1,...e.payload}})}function*Sb(e){const{planningReport:t}=yield Ch(),i=Ib().fromDate,n=Ib().toDate;if(!t)return;const r={fromDate:i,toDate:n,onlyWithWarnings:!1,downloading:!1,...t,...e.payload,results:[]};yield _h({type:"PLANNING_REPORT_SETPARAMS",payload:{...r,loading:!0,currentPage:0}}),yield vh({type:"PLANNING_REPORT_PARAMSSET"})}function*Ab(){const{minervaSettings:e,planningReport:t}=yield Ch();if(t.pageNumber>0){if(t.pageSize>=t.totalCount)return;if(!t.totalCount||t.results.length>=t.totalCount)return}if(!e.headers||!e.headers.Authorization)return;const i=new URL(`${e.portalApiUrl}/api/1.0/GetAllSchedules`),n=t.fromDate,r=t.toDate;n&&r&&Qg(n)>Qg(r)?(i.searchParams.set("fromDate",r),i.searchParams.set("toDate",n)):(i.searchParams.set("fromDate",n),i.searchParams.set("toDate",r)),i.searchParams.set("pageSize",25),i.searchParams.set("currentPage",t.currentPage),t.teacherIdString&&i.searchParams.set("teacherIdString",t.teacherIdString),t.locationId&&i.searchParams.set("locationId",t.locationId),t.courseId&&i.searchParams.set("courseId",t.courseId),i.searchParams.set("onlyWithWarnings",t.onlyWithWarnings),yield vh({type:"PLANNING_REPORT_LOADING",payload:{...t,loading:!0}});const s=yield Sh(fetch,i,{headers:e.headers}),o=yield Sh([s,s.json]),a=t.results.length>0,l=[...t.results,...o.results],d=[...new Map(l.map((e=>[e.id,e]))).values()],c={...o,appendCurrentResultsToList:a,results:d,currentResults:o.results,currentPage:t.currentPage+1,loading:!1};yield vh({type:"PLANNING_REPORT_LOADED",payload:c})}function*Eb(){yield vh({type:"PLANNING_REPORT_LOAD"})}function*Cb(e){let t=yield Ch((e=>e.planningReport));const i={...t,downloading:!0};yield vh({type:"REPORT_FETCH_BUSY",payload:i});let n=t.results.length,r=t.totalCount;for(;n!==r;)yield Ab(),t=yield Ch((e=>e.planningReport)),n=t.results.length,r=t.totalCount;const s=function(e,t,i){const n=[];for(let r=0;r<e.length;r++){const s=e[r],o=Qg(new Date(s.startDateTime)).year(),a=Qg(new Date(s.startDateTime)).week();(o>t||o===t&&a>i)&&(t=o,i=a,n.push({type:"header",year:o,week:a,schedule:null}),n.push({type:"columns",year:-1,week:-1,schedule:null})),n.push({type:"item",year:-1,week:-1,schedule:s})}return n}(t.results,e.data.latestYear,e.data.latestWeek),o={...e.data,items:s};yield vh({...e,type:"REPORT_FETCH",data:o})}function Tb(e,t=!1){if(!e)return e;const i=Qg.utc(e);return t&&i.add(1,"days"),i.toISOString()}function Ib(){const e=new Date,t=e.setDate(e.getDate()+7);return{fromDate:Tb(new Date),toDate:Tb(t,!0)}}function*Db(){yield Q_("PLANNING_REPORT_SETSEARCH",Sb),yield X_("PLANNING_REPORT_REFRESH",kb),yield X_("PLANNING_REPORT_LOAD",Ab),yield X_("PLANNING_REPORT_DOWNLOAD",Cb),yield tb(1e3,"PLANNING_REPORT_PARAMSSET",Eb)}function Pb(e,t,i){t.forEach((t=>{i(e,t),Pb(t,t.subCategories,i)}))}function*Fb(e){e=e||0;const{minervaSettings:t,catalog:i}=yield Ch();if(!t.headers||!t.headers.Authorization)return;const n=new URL(`${t.catalogApiUrl}/api/2.0/pagedCatalogItemResults/${t.portalIdentifier}`);n.searchParams.set("pageSize",i.pageSize),n.searchParams.set("pageNumber",e),i.searchString&&n.searchParams.set("searchString",i.searchString),i.mandatory&&n.searchParams.set("mandatory",i.mandatory),"all"!==i.targetType&&n.searchParams.set("targetType",i.targetType),n.searchParams.set("statusType",i.statusType),n.searchParams.set("limitToFavorites",!!i.limitToFavorites),n.searchParams.set("displayOldItems",!!i.displayOldItems),n.searchParams.set("displayFutureItems",!!i.displayFutureItems),i.selectedCategoryIds.length&&n.searchParams.set("categoryIds",i.selectedCategoryIds.join(","));const r=yield Sh(fetch,n,{headers:t.headers});return yield Sh([r,r.json])}function*Nb(e){yield Sh(Mb,{payload:{loadingEnabled:!0,pageNumber:0,pageSize:25,results:[],searchString:"",limitToFavorites:!1,statusType:"all",targetType:"all",mandatory:!1,displayOldItems:!1,displayFutureItems:!1,selectedCategoryIds:[],...e.payload}})}function*Rb(){const e=yield Ch((e=>e.catalog));if(e.pageNumber>0){if(e.pageSize>=e.totalResults)return;if(!e.totalResults||e.results.length>=e.totalResults)return}const t=yield Sh(Fb,e.pageNumber);let i=e.categories;if(!i){const{minervaSettings:e}=yield Ch();if(!e.headers||!e.headers.Authorization)return;const t=yield Sh(fetch,`${e.catalogApiUrl}/api/1.0/GetCatalogCategoriesForFilter/${e.portalIdentifier}`,{headers:e.headers});i=yield Sh([t,t.json])}Pb(null,i,((i,n)=>{let r;if(n.parent=i,n.selected=!1,n.descendantSelected=!1,t.facetResults&&(r=t.facetResults.CategoryIds.values.find((e=>parseInt(e.range)===n.id))),n.count=r?r.count:0,e.selectedCategoryIds.some((e=>e===n.id))){n.selected=!0;let e=n.parent;for(;e;)e.descendantSelected=!0,e=e.parent}})),t.results.forEach((e=>{e.completed=!1,e.aboutToExpire=!1,e.started=!1,e.expired=!1,e.bestOrLast&&(e.bestOrLast.decision>=95?e.completed=!0:e.bestOrLast.decision>=91?(e.completed=!0,e.aboutToExpire=!0):e.bestOrLast.decision>=81?e.completed=!0:e.bestOrLast.decision>=50||e.bestOrLast.decision>=40?e.started=!0:e.bestOrLast.decision>30?e.expired=!0:e.bestOrLast.decision>20&&(e.failed=!0))}));const n=[...e.results,...t.results],r={...e,...t,results:n,totalResults:t.totalResults,categories:i,pageNumber:e.pageNumber+1,loading:!1};yield vh({type:"CATALOG_LOADED",payload:r})}function*Ob(e){let t=yield Ch((e=>e.catalog)),i=t.results.length,n=t.totalResults;for(;i!==n;)yield Rb(),t=yield Ch((e=>e.catalog)),i=t.results.length,n=t.totalResults;const r={reportInfo:{onlyAssignToFunctions:!0},items:t.results};yield vh({...e,type:"REPORT_FETCH",data:r})}function*Mb(e){const t=yield Ch((e=>e.catalog));if(!t)return;const i={pageNumber:0,pageSize:25,results:[],searchString:"",limitToFavorites:!1,statusType:"all",targetType:"all",mandatory:!1,selectedCategoryIds:[],...t,...e.payload},n=(e,t)=>{if("parent"!==e)return t};JSON.stringify(t,n)!==JSON.stringify(i,n)&&(yield _h({type:"CATALOG_SETPARAMS",payload:{...i,pageNumber:0,results:[],loading:!0}}),yield vh({type:"CATALOG_PARAMSSET"}))}function*Lb(e){const t=yield Ch((e=>e.catalog));if(!t)return;const i=[...t.selectedCategoryIds],n=e.payload.checked,r=e.payload.categoryId;if(void 0===n)return;let s;Pb(null,t.categories,((e,t)=>{t.id===r&&(s=t)}));const o=(e,t,n)=>{if(e)t.find((e=>e===n))||t.push(n);else{const e=i.findIndex((e=>e===n));e>=0&&(s.id===r?i.splice(e,1):s.subCategories.some((e=>i.some((t=>t===e.id)))))}};o(n,i,r),Pb(null,s.subCategories,((e,t)=>{o(n,i,t.id)})),s.parent&&(n&&s.parent.subCategories.every((e=>i.some((t=>t===e.id))))&&o(n,i,s.parent.id),n||s.parent.subCategories.every((e=>i.some((t=>t===e.id))))||o(n,i,s.parent.id)),JSON.stringify(t.selectedCategoryIds)!==JSON.stringify(i)&&(yield _h({type:"CATALOG_SETSEARCH",payload:{selectedCategoryIds:i}}))}function*Bb(){yield vh({type:"CATALOG_LOAD"})}function*zb(){yield Q_("CATALOG_SETSEARCH",Mb),yield Q_("CATALOG_CATEGORY_CHECK_CHANGED",Lb),yield X_("CATALOG_REFRESH",Nb),yield X_("CATALOG_LOAD",Rb),yield X_("CATALOG_REPORT",Ob),yield tb(1e3,"CATALOG_PARAMSSET",Bb)}function*jb(e){const{minervaSettings:t,planningReport:i}=yield Ch(),n={template:{shortid:e.templateId},data:e.data,options:{localization:{language:e.language}}},r=yield Sh(fetch,t.reportApiUrl,{method:"POST",headers:{Authorization:"Basic "+btoa("skills:skills"),Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify(n)}),s=yield Sh([r,r.blob]);if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(s,e.fileName);else{const t=document.createElement("a"),i=URL.createObjectURL(s);t.href=i,t.download=e.fileName,document.body.appendChild(t),t.click(),setTimeout((function(){document.body.removeChild(t),window.URL.revokeObjectURL(i)}),0)}i.downloading&&(yield vh({type:"REPORT_FETCH_BUSY_DONE",payload:{...i,downloading:!1}}))}function*Hb(){yield X_("REPORT_FETCH",jb)}function*Ub(e){e=e||0;const{minervaSettings:t,adminCatalog:i}=yield Ch();if(!t.headers||!t.headers.Authorization)return;const n=new URL(`${t.catalogApiUrl}/api/2.0/admin-catalog/${t.portalIdentifier}`);n.searchParams.set("pageSize",i.pageSize),n.searchParams.set("pageNumber",e),i.searchString&&n.searchParams.set("searchString",i.searchString);const r=yield Sh(fetch,n,{headers:t.headers});return yield Sh([r,r.json])}function*$b(e){yield Sh(Wb,{payload:{loadingEnabled:!0,pageNumber:0,pageSize:25,results:[],searchString:"",...e.payload}})}function*Vb(){const e=yield Ch((e=>e.adminCatalog));if(e.pageNumber>0){if(e.pageSize>=e.totalResults)return;if(!e.totalResults||e.results.length>=e.totalResults)return}const t=yield Sh(Ub,e.pageNumber),i=[...e.results,...t.results];yield vh({type:"ADMIN_CATALOG_LOADED",payload:{...e,...t,results:i,totalResults:t.totalResults,pageNumber:e.pageNumber+1,loading:!1}})}function*Wb(e){const t=yield Ch((e=>e.adminCatalog));if(!t)return;const i={pageNumber:0,pageSize:25,results:[],searchString:"",...t,...e.payload},n=(e,t)=>{if("parent"!==e)return t};JSON.stringify(t,n)!==JSON.stringify(i,n)&&(yield _h({type:"ADMIN_CATALOG_SETPARAMS",payload:{...i,pageNumber:0,results:[],loading:!0}}),yield vh({type:"ADMIN_CATALOG_PARAMSSET"}))}function*Gb(){yield vh({type:"ADMIN_CATALOG_LOAD"})}function*qb(){yield Q_("ADMIN_CATALOG_SETSEARCH",Wb),yield X_("ADMIN_CATALOG_RESET",$b),yield X_("ADMIN_CATALOG_LOAD",Vb),yield tb(1e3,"ADMIN_CATALOG_PARAMSSET",Gb)}const Yb=300;function*Kb(){const{minervaSettings:e}=yield Ch();if(!e.headers||!e.headers.Authorization)return;const t=new URL(`${e.catalogApiUrl}/api/2.0/GetCatalogItemsForAssignment/${e.portalIdentifier}`);t.searchParams.set("includeDisabled",!0),t.searchParams.set("excludePhasedOut",!0),t.searchParams.set("excludeReplaced",!0),t.searchParams.set("pageSize",2147483647);const i=yield Sh(fetch,t,{headers:e.headers});return yield Sh([i,i.json])}function*Jb(){const e=(yield Sh(Kb)).map((e=>({name:e.displayName,targetId:e.id,disabled:e.disabled,onlyAssignableByAdmin:e.onlyAssignableByAdmin,item:e}))),t={elearning:e.filter((e=>"learningplan"===e.item.targetType||"composition"===e.item.targetType)),classical:e.filter((e=>"classroom"===e.item.targetType))};yield vh({type:"ASSIGNMENT_CATALOG_SUCCESS",payload:t})}function*Zb(){const e=yield Ch((e=>e.assignmentCatalog));if(e.loading)return console.log("request still in progress");if(e.modified){const t=Math.floor((Date.now()-e.modified)/1e3);if(t<Yb)return console.log(`${t} seconds since last request, cache still valid for ${Yb-t} seconds.`)}yield vh({type:"ASSIGNMENT_CATALOG_REQUEST"})}function*Qb(){yield tb(500,"ASSIGNMENT_CATALOG_LOAD",Zb),yield X_("ASSIGNMENT_CATALOG_REQUEST",Jb)}const Xb="SKILLS_CATALOGITEMMAP_LOAD";function ew(){return{type:Xb}}const tw={data:null,timestamp:0},iw=3e5;function*nw(e){const{minervaSettings:t}=yield Ch();if(!t.headers||!t.headers.Authorization)return;const i=(new Date).getTime();if(tw.data&&i-tw.timestamp<iw)return void(yield vh({type:"SKILLS_CATALOGITEMMAP_LOAD_DONE",payload:{catalogItems:tw.data}}));const n=yield Sh(fetch,`${t.catalogApiUrl}/api/2.0/GetNamesAndTypes/${t.portalIdentifier}`,{method:"GET",headers:{...t.headers}}),r=yield Sh([n,n.json]);tw.data=r,tw.timestamp=(new Date).getTime(),yield vh({type:"SKILLS_CATALOGITEMMAP_LOAD_DONE",payload:{catalogItems:r}})}function*rw(){yield X_(Xb,nw)}const sw=function(e){var t,i=void 0===e?{}:e,n=i.context,r=void 0===n?{}:n,s=i.channel,o=void 0===s?Kh():s,a=i.sagaMonitor,l=function(e,t){if(null==e)return{};var i,n,r={},s=Object.keys(e);for(n=0;n<s.length;n++)i=s[n],t.indexOf(i)>=0||(r[i]=e[i]);return r}(i,["context","channel","sagaMonitor"]);function d(e){var i=e.getState,n=e.dispatch;return t=vu.bind(null,vc({},l,{context:r,channel:o,dispatch:n,getState:i,sagaMonitor:a})),function(e){return function(t){a&&a.actionDispatched&&a.actionDispatched(t);var i=e(t);return o.put(t),i}}}return"production"!==process.env.NODE_ENV&&Uc(o,Dc,"options.channel passed to the Saga middleware is not a channel"),d.run=function(){if("production"!==process.env.NODE_ENV&&!t)throw new Error("Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware");return t.apply(void 0,arguments)},d.setContext=function(e){"production"!==process.env.NODE_ENV&&Uc(e,Sc,Jc("sagaMiddleware",e)),$c(r,e)},d}(),ow=function e(t,i,n){var r;if("function"==typeof i&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error("production"===process.env.NODE_ENV?Zd(0):"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");if("function"==typeof i&&void 0===n&&(n=i,i=void 0),void 0!==n){if("function"!=typeof n)throw new Error("production"===process.env.NODE_ENV?Zd(1):"Expected the enhancer to be a function. Instead, received: '"+nc(n)+"'");return n(e)(t,i)}if("function"!=typeof t)throw new Error("production"===process.env.NODE_ENV?Zd(2):"Expected the root reducer to be a function. Instead, received: '"+nc(t)+"'");var s=t,o=i,a=[],l=a,d=!1;function c(){l===a&&(l=a.slice())}function h(){if(d)throw new Error("production"===process.env.NODE_ENV?Zd(3):"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return o}function u(e){if("function"!=typeof e)throw new Error("production"===process.env.NODE_ENV?Zd(4):"Expected the listener to be a function. Instead, received: '"+nc(e)+"'");if(d)throw new Error("production"===process.env.NODE_ENV?Zd(5):"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");var t=!0;return c(),l.push(e),function(){if(t){if(d)throw new Error("production"===process.env.NODE_ENV?Zd(6):"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");t=!1,c();var i=l.indexOf(e);l.splice(i,1),a=null}}}function p(e){if(!tc(e))throw new Error("production"===process.env.NODE_ENV?Zd(7):"Actions must be plain objects. Instead, the actual type was: '"+nc(e)+"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.");if(void 0===e.type)throw new Error("production"===process.env.NODE_ENV?Zd(8):'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');if(d)throw new Error("production"===process.env.NODE_ENV?Zd(9):"Reducers may not dispatch actions.");try{d=!0,o=s(o,e)}finally{d=!1}for(var t=a=l,i=0;i<t.length;i++){(0,t[i])()}return e}return p({type:ec.INIT}),(r={dispatch:p,subscribe:u,getState:h,replaceReducer:function(e){if("function"!=typeof e)throw new Error("production"===process.env.NODE_ENV?Zd(10):"Expected the nextReducer to be a function. Instead, received: '"+nc(e));s=e,p({type:ec.REPLACE})}})[Qd]=function(){var e,t=u;return e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error("production"===process.env.NODE_ENV?Zd(11):"Expected the observer to be an object. Instead, received: '"+nc(e)+"'");function i(){e.next&&e.next(h())}return i(),{unsubscribe:t(i)}}},e[Qd]=function(){return this},e},r}(((e,t)=>e),(window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||sc)((e=>t=>(i,n)=>{let r={};const s=t(i,n);return Object.assign({},s,{addReducers(t){const i=Object.assign({},r,t);this.replaceReducer(e(r=i))}})})((function(e){for(var t=Object.keys(e),i={},n=0;n<t.length;n++){var r=t[n];"production"!==process.env.NODE_ENV&&void 0===e[r]&&rc('No reducer provided for key "'+r+'"'),"function"==typeof e[r]&&(i[r]=e[r])}var s,o,a=Object.keys(i);"production"!==process.env.NODE_ENV&&(s={});try{!function(e){Object.keys(e).forEach((function(t){var i=e[t];if(void 0===i(void 0,{type:ec.INIT}))throw new Error("production"===process.env.NODE_ENV?Zd(12):'The slice reducer for key "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===i(void 0,{type:ec.PROBE_UNKNOWN_ACTION()}))throw new Error("production"===process.env.NODE_ENV?Zd(13):'The slice reducer for key "'+t+"\" returned undefined when probed with a random type. Don't try to handle '"+ec.INIT+'\' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')}))}(i)}catch(e){o=e}return function(e,t){if(void 0===e&&(e={}),o)throw o;if("production"!==process.env.NODE_ENV){var n=function(e,t,i,n){var r=Object.keys(t),s=i&&i.type===ec.INIT?"preloadedState argument passed to createStore":"previous state received by the reducer";if(0===r.length)return"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";if(!tc(e))return"The "+s+' has unexpected type of "'+nc(e)+'". Expected argument to be an object with the following keys: "'+r.join('", "')+'"';var o=Object.keys(e).filter((function(e){return!t.hasOwnProperty(e)&&!n[e]}));return o.forEach((function(e){n[e]=!0})),i&&i.type===ec.REPLACE?void 0:o.length>0?"Unexpected "+(o.length>1?"keys":"key")+' "'+o.join('", "')+'" found in '+s+'. Expected to find one of the known reducer keys instead: "'+r.join('", "')+'". Unexpected keys will be ignored.':void 0}(e,i,t,s);n&&rc(n)}for(var r=!1,l={},d=0;d<a.length;d++){var c=a[d],h=i[c],u=e[c],p=h(u,t);if(void 0===p){var g=t&&t.type;throw new Error("production"===process.env.NODE_ENV?Zd(14):"When called with an action of type "+(g?'"'+String(g)+'"':"(unknown type)")+', the slice reducer for key "'+c+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.')}l[c]=p,r=r||p!==u}return(r=r||a.length!==Object.keys(e).length)?l:e}})),function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return function(e){return function(){var i=e.apply(void 0,arguments),n=function(){throw new Error("production"===process.env.NODE_ENV?Zd(15):"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},s=t.map((function(e){return e(r)}));return n=sc.apply(void 0,s)(i.dispatch),Jd(Jd({},i),{},{dispatch:n})}}}(sw,Mu(ju),wu,(function(e){var t=e.dispatch,i=e.getState,n={};function r(e){(0,n[e][0])((function(){n[e].shift(),n[e].length>0&&r(e)}),t,i)}return function(e){return function(t){var i=t||{},s=i.queue,o=i.callback;if(!s)return e(t);!function(e,t){if("function"!=typeof e)throw t}(o,"Queued actions must have a <callback> property"),n[s]=n[s]||[],n[s].push(o),1===n[s].length&&r(s)}}}),(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).dispatch;return"function"==typeof e?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[qu.Pending,qu.Fulfilled,qu.Rejected],i=e.promiseTypeSuffixes||t,n=void 0===e.promiseTypeDelimiter?"_":e.promiseTypeDelimiter;return function(e){var t=e.dispatch;return function(e){return function(r){var s,o;if(!r.payload)return e(r);var a=r.payload;if(Uu(a))s=a;else if(Uu(a.promise))s=a.promise,o=a.data;else{if("function"!=typeof a&&"function"!=typeof a.promise)return e(r);if(s=a.promise?a.promise():a(),o=a.promise?a.data:void 0,!Uu(s))return e(Wu({},r,{payload:s}))}var l=r.type,d=r.meta,c=$u(i,3),h=c[0],u=c[1],p=c[2],g=function(e,t){return Wu({type:[l,t?p:u].join(n)},null==e?{}:{payload:e},{},void 0!==d?{meta:d}:{},{},t?{error:!0}:{})};return e(Wu({type:[l,h].join(n)},void 0!==o?{payload:o}:{},{},void 0!==d?{meta:d}:{})),s.then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=g(e,!1);return t(i),{value:e,action:i}}),(function(e){var i=g(e,!0);throw t(i),e}))}}}}()({dispatch:e}):(process&&process.env&&"production"!==process.env.NODE_ENV&&console.warn("Redux Promise Middleware: As of version 6.0.0, the middleware library supports both preconfigured and custom configured middleware. To use a custom configuration, use the \"createPromise\" export and call this function with your configuration property. To use a preconfiguration, use the default export. For more help, check the upgrading guide: https://docs.psb.design/redux-promise-middleware/upgrade-guides/v6\n\nFor custom configuration:\nimport { createPromise } from 'redux-promise-middleware';\nconst promise = createPromise({ promiseTypeSuffixes: ['LOADING', 'SUCCESS', 'ERROR'] });\napplyMiddleware(promise);\n\nFor preconfiguration:\nimport promise from 'redux-promise-middleware';\napplyMiddleware(promise);\n    "),null)}))));ow.addReducers({signIn:(e=_g,t)=>{switch(t.type){case"SIGNIN_FULFILLED":case"SIGNIN_SILENT_FULFILLED":{const i=t.payload;return{...e,...i,pending:!1,signedIn:!0}}case"SIGNIN_SILENT_REJECTED":{const i=t.payload;return{...e,...i,pending:!1,signedIn:!!e.signedIn}}default:return e}},oidc:Bu,minervaSettings:(e={},t)=>{switch(t.type){case`${Yu}_PENDING`:return{...e,loading:!0};case"MINERVASETTINGS_NOT_FOUND":{const i=t.payload;return{...e,...i,loading:!1}}case"MINERVASETTINGS_RECEIVED":{const i=t.payload;return{...e,...i,loading:!1}}case"SKILLS_SETTINGS_RECEIVED":{const i=t.payload;return{...e,...i,loading:!1}}case"USER_DETAILS_RECEIVED":{const i=t.payload;return{...e,...i,loading:!1}}case`${Yu}_REJECTED`:return{...e,loading:!1};case`${Ku}_PENDING`:return{...e,saved:!1,loading:!0};case`${Ku}_FULFILLED`:{const n=t.payload;return(i=n).enabledFeatureFlags=i.enabledFeatureFlags.length?Object.assign(...i.enabledFeatureFlags.map((e=>({[e]:!0})))):{},{...e,...n,saved:!0,loading:!1}}case`${Ku}_REJECTED`:return{...e,saved:!1,loading:!1};case`${Ju}_PENDING`:return{...e,saved:!1};case`${Ju}_FULFILLED`:return{...e,saved:!0};case`${Ju}_REJECTED`:case`${Zu}_PENDING`:return{...e,saved:!1};case`${Zu}_FULFILLED`:return{...e,saved:!0};case`${Zu}_REJECTED`:return{...e,saved:!1};case"SET_WELCOME_VIDEO_OPENED":{const i=t.payload;return{...e,...i}}case"DEPARTMENT_MATRIX_VISIBLE_SET":{const i=t.payload;return{...e,...i}}default:return e}var i},learningPlan:(e={},t)=>{const{type:i,payload:n}=t;switch(i){case`${rp}_PENDING`:return{...e,isLoading:!0};case`${rp}_FULFILLED`:{const t=n.sequence,i=n.trackingRecords,r=n.isTester;return up(t,i,r),{...e,...n,isLoading:!1}}case`${rp}_REJECTED`:return{...e,isLoading:!1};case`${op}_PENDING`:return{...e,isLoading:!0};case`${op}_FULFILLED`:{const t=n.sequence,i=n.trackingRecords,r=n.isTester;return up(t,i,r),{...e,...n,isLoading:!1}}case`${op}_REJECTED`:return{...e,isLoading:!1};case`${sp}_PENDING`:return{...e,isLoading:!0};case`${sp}_FULFILLED`:{const t=JSON.parse(JSON.stringify(e.sequence)),i=n.trackingRecords,r=e.isTester;return up(t,i,r),{...e,...n,sequence:t,isLoading:!1}}case`${sp}_REJECTED`:return{...e,isLoading:!1};default:return e}},workflow:(e={},t)=>{const{type:i,payload:n}=t;switch(i){case`${pp}_PENDING`:return{...e,isLoading:!0};case`${pp}_FULFILLED`:return{...e,...n,isLoading:!1};case`${pp}_REJECTED`:return 402===(null==n?void 0:n.status)?n.redirectUrl?window.location.href=n.redirectUrl:alert("Dit product moet afgerekend worden"):(alert("Error executing workflow"),console.error(null==n?void 0:n.status,null==n?void 0:n.data,null==n?void 0:n.message)),{...e,isLoading:!1};case`${gp}_PENDING`:return{...e,isLoading:!0};case`${gp}_FULFILLED`:return{...e,...n,isLoading:!1};case`${gp}_REJECTED`:return{...e,isLoading:!1};case`${mp}_PENDING`:return{...e,isLoading:!0};case`${mp}_FULFILLED`:return{...e,...n,isLoading:!1};case`${mp}_REJECTED`:return{...e,isLoading:!1};case"CLOSE_COP_FULFILLED":case`${fp}_FULFILLED`:return{...e,...n};default:return e}},digitalLearning:(e={},t)=>{const{type:i,payload:n}=t;switch(i){case`${wp}_PENDING`:return{...e,unitIndex:null,manifestUrl:null};case`${wp}_FULFILLED`:return{...e,...n};case`${wp}_REJECTED`:return{...e};case`${Tp}_PENDING`:return{...e,unitIndex:null,manifestUrl:null};case`${Tp}_FULFILLED`:return{...e,...n};case`${Tp}_REJECTED`:case`${xp}_PENDING`:return{...e};case`${xp}_FULFILLED`:return{...e,...n};case`${xp}_REJECTED`:case`${kp}_PENDING`:return{...e};case`${kp}_FULFILLED`:return{...e,...n};case`${kp}_REJECTED`:case`${Sp}_PENDING`:return{...e};case`${Sp}_FULFILLED`:case`${Sp}_REJECTED`:case"SET_PAGE_PROPERTIES":case"MANIFEST_COP_LOADED":case`${Ap}_PENDING`:case`${Ap}_FULFILLED`:case`${Ap}_REJECTED`:case`${Ep}_PENDING`:case`${Ep}_FULFILLED`:case`${Ep}_REJECTED`:return{...e,...n};case`${Cp}_FULFILLED`:return{};default:return e}},catalogItem:(e={},t)=>{switch(t.type){case"`${UPDATE_CATALOG_ITEM}`":{const i=t.payload;return{...e,...i,loading:!1}}case`${Vp}_PENDING`:return{...e,loading:!0};case`${Vp}_FULFILLED`:{const i=t.payload;return{...e,...i,loading:!1}}case`${Vp}_REJECTED`:return{...e,loading:!1};case Wp:return{...e,itemIndex:t.payload};default:return e}},costregistration:(e=ig,t)=>{const{type:i,payload:n}=t;switch(i){case`${Yp}_PENDING`:return e.isLoading=!0,{...e};case`${Yp}_FULFILLED`:return e.reload=!1,e.initialized=!0,e.isLoading=!1,{...e,...n};case`${Yp}_REJECTED`:return e.isLoading=!1,{...e};case`${Kp}_PENDING`:return e.isLoading=!0,{...e};case`${Kp}_FULFILLED`:return e.isLoading=!1,{...e,...n};case`${Kp}_REJECTED`:return e.isLoading=!1,{...e};case`${Jp}_PENDING`:return e.isLoading=!0,{...e};case`${Jp}_FULFILLED`:return e.isLoading=!1,{...e,...n};case`${Jp}_REJECTED`:return e.isLoading=!1,{...e};case`${Zp}_FULFILLED`:return{...ig,reload:!0};default:return e}},scormResult:(e=ag,t)=>{const{type:i,payload:n}=t;switch(i){case`${ng}_PENDING`:return{...ag};case`${ng}_FULFILLED`:return{...e,...n};case`${ng}_REJECTED`:case`${rg}_PENDING`:return{...e};case`${rg}_FULFILLED`:return{...e,...n};case`${rg}_REJECTED`:return{...e};default:return e}},scorm:(e=vg,t)=>{const{type:i,payload:n}=t;switch(i){case`${lg}_PENDING`:return{...e};case`${lg}_FULFILLED`:return{...e,...n};case`${lg}_REJECTED`:case`${dg}_PENDING`:return{...e};case`${dg}_FULFILLED`:return{...e,...n};case`${dg}_REJECTED`:case`${cg}_PENDING`:return{...e};case`${cg}_FULFILLED`:return{...e,...n};case`${cg}_REJECTED`:case`${hg}_PENDING`:return{...e};case`${hg}_FULFILLED`:return window.API=null,{...vg};case`${hg}_REJECTED`:return{...e};default:return e}},catalog:(e={},t)=>{switch(t.type){case"CATALOG_SETPARAMS":{const i=t.payload;return{...e,...i}}case"CATALOG_LOADED":{const i=t.payload;return{...e,...i}}default:return e}},planningReport:(e={},t)=>{switch(t.type){case"PLANNING_REPORT_SETPARAMS":{const i=t.payload;return{...e,...i}}case"PLANNING_REPORT_LOADED":{const i=t.payload;return{...e,...i}}case"PLANNING_REPORT_LOADING":{const i=t.payload;return{...e,...i}}case"REPORT_FETCH_BUSY":{const i=t.payload;return{...e,...i}}case"REPORT_FETCH_BUSY_DONE":{const i=t.payload;return{...e,...i}}default:return e}},adminCatalog:(e={},t)=>{switch(t.type){case"ADMIN_CATALOG_SETPARAMS":{const i=t.payload;return{...e,...i}}case"ADMIN_CATALOG_LOADED":{const i=t.payload;return{...e,...i}}default:return e}},assignmentCatalog:(e=bg,t)=>{switch(t.type){case"ASSIGNMENT_CATALOG_REQUEST":return{...e,loading:!0,error:null};case"ASSIGNMENT_CATALOG_SUCCESS":return{...e,modified:Date.now(),results:t.payload,loading:!1,error:null};case"ASSIGNMENT_CATALOG_FAILURE":return{...e,loading:!1,error:t.error};default:return e}},skillsSettings:(e={currentClusterType:"",userSkillsHistoryActive:!1},t)=>{switch(t.type){case"SKILLSSETTINGS_RECEIVED":{const i=t.payload;return{...e,...i,loading:!1}}case`${wg}_PENDING`:return{...e,saved:!1};case`${wg}_FULFILLED`:{const i=t.payload;return{...e,...i,saved:!0}}case`${wg}_REJECTED`:case`${xg}_PENDING`:return{...e,saved:!1};case`${xg}_FULFILLED`:{const i=t.payload;return{...e,...i,saved:!0}}case`${xg}_REJECTED`:return{...e,saved:!1};case Sg:return{...e,hideNotAssigned:t.payload};case kg:return{...e,currentClusterType:t.payload};case Ag:return{...e,functionId:t.payload};case Eg:return{...e,skillFilterParams:t.payload};case Cg:return{...e,selectedFiltersLabels:t.payload};case Tg:return{...e,userSkillsHistoryActive:t.payload};default:return e}},trainingsSettings:(e={},t)=>{switch(t.type){case Bg:return{...e,hideNotAssignedTrainings:t.payload};case zg:return{...e,functionIdForTrainings:t.payload};default:return e}},accreditation:(e=Kg,t)=>{const{type:i,payload:n}=t;switch(i){case`${Ug}_PENDING`:case`${$g}_PENDING`:return{...e,loading:!0,error:!1};case`${Ug}_FULFILLED`:case`${$g}_FULFILLED`:return{...e,loading:!1,idString:n.idString??null,targetId:n.targetId??null,list:0===n.pageIndex?[...n.list]:[...e.list,...n.list],pageIndex:n.pageIndex,total:n.total};case`${Ug}_REJECTED`:case`${$g}_REJECTED`:return{...e,loading:!1,error:n};case`${Vg}_PENDING`:return{...e,loading:!0,error:!1,deleteErrorMessage:!1,deleteSuccessMessage:!1};case`${Vg}_FULFILLED`:if(n&&n.legacyId){const{legacyId:t}=n;e={...e,list:[...e.list.filter((e=>e.legacyId!==t))],deleteSuccessMessage:!0}}return{...e,loading:!1,deleteErrorMessage:!1};case`${Vg}_REJECTED`:return{...e,loading:!1,error:n,deleteErrorMessage:!0};default:return e}},accreditationInfo:(e={},t)=>{const{type:i,payload:n}=t;let r,s,o;switch(i){case`${h_}_PENDING`:return{...e,loading:!0,error:!1};case`${h_}_FULFILLED`:{const{accreditations:t,organizations:i,suppliers:r}=n;return{...e,loading:!1,error:!1,current:d_([...t],"validFrom",!0),organizations:[...i],suppliers:[...r],removedLegacyIds:[],dirty:!1}}case`${h_}_REJECTED`:return{...e,loading:!1,error:n,current:[],organizations:[],suppliers:[]};case u_:return({index:r,changes:s}=n),{...e,current:e.current.map(((e,t)=>t===r?I_(e,{...s,$dirty:!0}):e)),dirty:!0};case p_:return{...e,current:[{...n,$opened:!0},...e.current],dirty:!0};case g_:{({index:r}=n);const{legacyId:t}=e.current[n.index];return{...e,current:e.current.filter(((e,t)=>t!==n.index)),removedLegacyIds:(e.removedLegacyIds||[]).concat(t||[]),dirty:!0}}case m_:return({value:o,index:r}=n),{...e,current:e.current.map(((e,t)=>t===r?{...e,$opened:o}:e))};case`${f_}_PENDING`:return{...e,save:"pending",error:!1};case`${f_}_FULFILLED`:{const{legacyIds:t}=n;return{...e,save:"success",error:!1,current:t?d_(e.current.map(((e,i)=>({...e,$dirty:!1,$opened:!1,legacyId:t[i]})),"validFrom",!0)):d_(e.current.map((e=>({...e,$dirty:!1,$opened:!1}))),"validFrom",!0),removedLegacyIds:[],dirty:!1}}case`${f_}_REJECTED`:return{...e,save:"failed",error:n};case`${y_}_PENDING`:return{...e,process:"pending",error:!1};case`${y_}_FULFILLED`:return{...e,process:"success",error:!1};case`${y_}_REJECTED`:return{...e,process:"failed",error:n};default:return e}},registration:(e={},t)=>{const{type:i,payload:n}=t;switch(i){case`${P_}_PENDING`:return{...e,loading:!0,error:!1};case`${P_}_FULFILLED`:{const{user:t,registrationInfo:i}=n;return{...e,loading:!1,error:!1,current:{...t},info:[...i],dirty:!1}}case`${P_}_REJECTED`:return{...e,loading:!1,error:n,current:null,info:[]};case F_:{const{key:t,changes:i}=n;return{...e,current:{...e.current,registrations:e.current.registrations.some((e=>e.registrationInfoKey===t))?e.current.registrations.map((e=>e.registrationInfoKey===t?{...i}:e)):[...e.current.registrations,i]},dirty:!0}}case`${N_}_PENDING`:return{...e,save:"pending",error:!1};case`${N_}_FULFILLED`:return{...e,save:"success",error:!1,dirty:!1};case`${N_}_REJECTED`:return{...e,save:"failed",error:n};default:return e}},classroom:(e={},t)=>{const{type:i,payload:n}=t;switch(i){case`${B_}_PENDING`:return{...e,loading:!0,error:!1};case`${B_}_FULFILLED`:return{...e,loading:!1,plannings:d_([...n.plannings],"startDateTime",!0)};case`${B_}_REJECTED`:return{...e,loading:!1,error:n};default:return e}},skillsTargetIdMap:(e=U_,t)=>{switch(t.type){case"SKILLS_CATALOGITEMMAP_LOAD":return{...e,pending:!0};case"SKILLS_CATALOGITEMMAP_LOAD_DONE":{const i=t.payload;return{...e,...i,pending:!1}}default:return e}}}),sw.run((function*(){yield bh([ab(),xb(),zb(),Db(),Hb(),qb(),Qb(),rw()])}));customElements.define("authenticate-callback",class extends ve{constructor(){super(),console.log("Authenticate callback CONSTRUCTOR")}firstUpdated(){ow.dispatch({type:"SIGNINCALLBACK"})}});customElements.define("silent-renew-callback",class extends ve{firstUpdated(){ju.signinSilentCallback().then((e=>{ow.dispatch({type:"SIGNEDIN",url:e.state.url})})).catch((e=>{}))}});const aw=e=>t=>class extends t{connectedCallback(){super.connectedCallback&&super.connectedCallback(),this._storeUnsubscribe=e.subscribe((()=>this.stateChanged(e.getState()))),this.stateChanged(e.getState())}disconnectedCallback(){this._storeUnsubscribe(),super.disconnectedCallback&&super.disconnectedCallback()}stateChanged(e){}},lw=new WeakMap,dw=e=>{if((e=>void 0!==e.pattern)(e))return e.pattern;let t=lw.get(e);return void 0===t&&lw.set(e,t=new URLPattern({pathname:e.path})),t};class cw{constructor(e,t,i){this.routes=[],this._childRoutes=[],this._currentParams={},this._onRoutesConnected=e=>{if(e.routes===this)return;const t=e.routes;this._childRoutes.push(t),t._parentRoutes=this,e.stopImmediatePropagation(),e.onDisconnect=()=>{var e;null===(e=this._childRoutes)||void 0===e||e.splice(this._childRoutes.indexOf(t)>>>0,1)};const i=hw(this._currentParams);void 0!==i&&t.goto(i)},(this._host=e).addController(this),this.routes=[...t],this.fallback=null==i?void 0:i.fallback}link(e){var t,i,n;if(null!==(t=e)&&void 0!==t&&t.startsWith("/"))return e;if(null!==(i=e)&&void 0!==i&&i.startsWith("."))throw new Error("Not implemented");return e??=this._currentPathname,((null===(n=this._parentRoutes)||void 0===n?void 0:n.link())??"")+e}async goto(e){let t;if(0===this.routes.length&&void 0===this.fallback)t=e,this._currentPathname="",this._currentParams={0:t};else{const i=this._getRoute(e);if(void 0===i)throw new Error(`No route found for ${e}`);const n=dw(i).exec({pathname:e}),r=(null==n?void 0:n.pathname.groups)??{};if(t=hw(r),"function"==typeof i.enter){if(!1===await i.enter(r))return}this._currentRoute=i,this._currentParams=r,this._currentPathname=void 0===t?e:e.substring(0,e.length-t.length)}if(void 0!==t)for(const e of this._childRoutes)e.goto(t);this._host.requestUpdate()}outlet(){var e,t;return null===(e=this._currentRoute)||void 0===e||null===(t=e.render)||void 0===t?void 0:t.call(e,this._currentParams)}get params(){return this._currentParams}_getRoute(e){const t=this.routes.find((t=>dw(t).test({pathname:e})));return t||void 0===this.fallback?t:this.fallback?{...this.fallback,path:"/*"}:void 0}hostConnected(){this._host.addEventListener(uw.eventName,this._onRoutesConnected);const e=new uw(this);this._host.dispatchEvent(e),this._onDisconnect=e.onDisconnect}hostDisconnected(){var e;null===(e=this._onDisconnect)||void 0===e||e.call(this),this._parentRoutes=void 0}}const hw=e=>{let t;for(const i of Object.keys(e))/\d+/.test(i)&&(void 0===t||i>t)&&(t=i);return t&&e[t]};class uw extends Event{constructor(e){super(uw.eventName,{bubbles:!0,composed:!0,cancelable:!1}),this.routes=e}}uw.eventName="lit-routes-connected";const pw=location.origin||location.protocol+"//"+location.host;class gw extends cw{constructor(){super(...arguments),this._onClick=e=>{const t=0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey;if(e.defaultPrevented||t)return;const i=e.composedPath().find((e=>"A"===e.tagName));if(void 0===i||""!==i.target||i.hasAttribute("download")||"external"===i.getAttribute("rel"))return;const n=i.href;if(""===n||n.startsWith("mailto:"))return;const r=window.location;i.origin===pw&&(e.preventDefault(),n!==r.href&&(window.history.pushState({},"",n),this.goto(i.pathname)))},this._onPopState=e=>{this.goto(window.location.pathname)}}hostConnected(){super.hostConnected(),window.addEventListener("click",this._onClick),window.addEventListener("popstate",this._onPopState),this.goto(window.location.pathname)}hostDisconnected(){super.hostDisconnected(),window.removeEventListener("click",this._onClick),window.removeEventListener("popstate",this._onPopState)}}const mw=new WeakMap;class fw extends HTMLElement{constructor(){super();const{defaultValue:e,eventName:t}=this.constructor;this.__listeners=[],this.value=e,this.addEventListener(t,(e=>{e.detail.unsubscribe=this.subscribe(e.detail.callback),e.stopPropagation()})),document.body.addEventListener(t,(e=>{e.detail.unsubscribe=this.subscribe(e.detail.callback),e.stopPropagation()}))}connectedCallback(){if(this.connectedBefore)throw new Error("provider has to be static, change the value property for dynamic behavior");this.connectedBefore=!0}subscribe(e){if(t=this.__listeners,i=e,-1!==t.indexOf(i))throw new Error(`consumer ${e} already subscribed`,this);var t,i;return this.__listeners.push(e),e(this.value),()=>this.__listeners.splice(this.__listeners.indexOf(e),1)}set value(e){this.__listeners.forEach((t=>{t(e)})),mw.set(this,e)}get value(){return mw.get(this)}}const{consumer:yw,Provider:vw}=function(e,t){const i=`request-context-${e}`;return{Provider:class extends fw{static get defaultValue(){return t}static get eventName(){return i}},consumer:ci((t=>class extends t{constructor(){super(),this._onContextChange=this._onContextChange.bind(this)}connectedCallback(){const t=new CustomEvent(i,{detail:{callback:this._onContextChange},bubbles:!0,cancelable:!0,composed:!0});if(this.dispatchEvent(t),this.__unsubscribeContext=t.detail.unsubscribe,this.__unsubscribeContext||(document.body.dispatchEvent(t),this.__unsubscribeContext=t.detail.unsubscribe),!this.__unsubscribeContext)throw new Error(`no provider found for ${e} consumer`,this);super.connectedCallback&&super.connectedCallback()}disconnectedCallback(){this.__unsubscribeContext&&this.__unsubscribeContext(),super.disconnectedCallback&&super.disconnectedCallback()}}))}}("store");customElements.define("store-provider",vw),Vs({is:"iron-request",hostAttributes:{hidden:!0},properties:{xhr:{type:Object,notify:!0,readOnly:!0,value:function(){return new XMLHttpRequest}},response:{type:Object,notify:!0,readOnly:!0,value:function(){return null}},status:{type:Number,notify:!0,readOnly:!0,value:0},statusText:{type:String,notify:!0,readOnly:!0,value:""},completes:{type:Object,readOnly:!0,notify:!0,value:function(){return new Promise(function(e,t){this.resolveCompletes=e,this.rejectCompletes=t}.bind(this))}},progress:{type:Object,notify:!0,readOnly:!0,value:function(){return{}}},aborted:{type:Boolean,notify:!0,readOnly:!0,value:!1},errored:{type:Boolean,notify:!0,readOnly:!0,value:!1},timedOut:{type:Boolean,notify:!0,readOnly:!0,value:!1}},get succeeded(){if(this.errored||this.aborted||this.timedOut)return!1;var e=this.xhr.status||0;return 0===e||e>=200&&e<300},send:function(e){var t=this.xhr;if(t.readyState>0)return null;t.addEventListener("progress",function(e){this._setProgress({lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total}),this.fire("iron-request-progress-changed",{value:this.progress})}.bind(this)),t.addEventListener("error",function(t){this._setErrored(!0),this._updateStatus();var i=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(i)}.bind(this)),t.addEventListener("timeout",function(t){this._setTimedOut(!0),this._updateStatus();var i=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(i)}.bind(this)),t.addEventListener("abort",function(){this._setAborted(!0),this._updateStatus();var t=new Error("Request aborted."),i=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(i)}.bind(this)),t.addEventListener("loadend",function(){if(this._updateStatus(),this._setResponse(this.parseResponse()),this.succeeded)this.resolveCompletes(this);else{var t=new Error("The request failed with status code: "+this.xhr.status),i=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(i)}}.bind(this)),this.url=e.url;var i=!1!==e.async;t.open(e.method||"GET",e.url,i);var n={json:"application/json",text:"text/plain",html:"text/html",xml:"application/xml",arraybuffer:"application/octet-stream"}[e.handleAs],r=e.headers||Object.create(null),s=Object.create(null);for(var o in r)s[o.toLowerCase()]=r[o];if(r=s,n&&!r.accept&&(r.accept=n),Object.keys(r).forEach((function(e){/[A-Z]/.test(e)&&Fo._error("Headers must be lower case, got",e),t.setRequestHeader(e,r[e])}),this),i){t.timeout=e.timeout;var a=e.handleAs;!e.jsonPrefix&&a||(a="text"),t.responseType=t._responseType=a,e.jsonPrefix&&(t._jsonPrefix=e.jsonPrefix)}t.withCredentials=!!e.withCredentials;var l=this._encodeBodyObject(e.body,r["content-type"]);return t.send(l),this.completes},parseResponse:function(){var e=this.xhr,t=e.responseType||e._responseType,i=!this.xhr.responseType,n=e._jsonPrefix&&e._jsonPrefix.length||0;try{switch(t){case"json":if(i||void 0===e.response)try{return JSON.parse(e.responseText)}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.response;case"xml":return e.responseXML;case"blob":case"document":case"arraybuffer":return e.response;default:if(n)try{return JSON.parse(e.responseText.substring(n))}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.responseText}}catch(e){this.rejectCompletes(new Error("Could not parse response. "+e.message))}},abort:function(){this._setAborted(!0),this.xhr.abort()},_encodeBodyObject:function(e,t){if("string"==typeof e)return e;var i=e;switch(t){case"application/json":return JSON.stringify(i);case"application/x-www-form-urlencoded":return this._wwwFormUrlEncode(i)}return e},_wwwFormUrlEncode:function(e){if(!e)return"";var t=[];return Object.keys(e).forEach((function(i){t.push(this._wwwFormUrlEncodePiece(i)+"="+this._wwwFormUrlEncodePiece(e[i]))}),this),t.join("&")},_wwwFormUrlEncodePiece:function(e){return null!=e&&e.toString?encodeURIComponent(e.toString().replace(/\r?\n/g,"\r\n")).replace(/%20/g,"+"):""},_updateStatus:function(){this._setStatus(this.xhr.status),this._setStatusText(void 0===this.xhr.statusText?"":this.xhr.statusText)}}),Vs({is:"iron-ajax",hostAttributes:{hidden:!0},properties:{url:{type:String},params:{type:Object,value:function(){return{}}},method:{type:String,value:"GET"},headers:{type:Object,value:function(){return{}}},contentType:{type:String,value:null},body:{type:Object,value:null},sync:{type:Boolean,value:!1},handleAs:{type:String,value:"json"},withCredentials:{type:Boolean,value:!1},timeout:{type:Number,value:0},auto:{type:Boolean,value:!1},verbose:{type:Boolean,value:!1},lastRequest:{type:Object,notify:!0,readOnly:!0},lastProgress:{type:Object,notify:!0,readOnly:!0},loading:{type:Boolean,notify:!0,readOnly:!0},lastResponse:{type:Object,notify:!0,readOnly:!0},lastError:{type:Object,notify:!0,readOnly:!0},activeRequests:{type:Array,notify:!0,readOnly:!0,value:function(){return[]}},debounceDuration:{type:Number,value:0,notify:!0},jsonPrefix:{type:String,value:""},bubbles:{type:Boolean,value:!1},rejectWithRequest:{type:Boolean,value:!1},_boundHandleResponse:{type:Function,value:function(){return this._handleResponse.bind(this)}}},observers:["_requestOptionsChanged(url, method, params.*, headers, contentType, body, sync, handleAs, jsonPrefix, withCredentials, timeout, auto)"],created:function(){this._boundOnProgressChanged=this._onProgressChanged.bind(this)},get queryString(){var e,t,i=[];for(e in this.params)if(t=this.params[e],e=window.encodeURIComponent(e),Array.isArray(t))for(var n=0;n<t.length;n++)i.push(e+"="+window.encodeURIComponent(t[n]));else null!==t?i.push(e+"="+window.encodeURIComponent(t)):i.push(e);return i.join("&")},get requestUrl(){var e=this.queryString,t=this.url||"";if(e){var i=t.indexOf("?")>=0?"&":"?";return t+i+e}return t},get requestHeaders(){var e,t={},i=this.contentType;if(null==i&&"string"==typeof this.body&&(i="application/x-www-form-urlencoded"),i&&(t["content-type"]=i),"object"==typeof this.headers)for(e in this.headers)t[e]=this.headers[e].toString();return t},_onProgressChanged:function(e){this._setLastProgress(e.detail.value)},toRequestOptions:function(){return{url:this.requestUrl||"",method:this.method,headers:this.requestHeaders,body:this.body,async:!this.sync,handleAs:this.handleAs,jsonPrefix:this.jsonPrefix,withCredentials:this.withCredentials,timeout:this.timeout,rejectWithRequest:this.rejectWithRequest}},generateRequest:function(){var e=document.createElement("iron-request"),t=this.toRequestOptions();return this.push("activeRequests",e),e.completes.then(this._boundHandleResponse).catch(this._handleError.bind(this,e)).then(this._discardRequest.bind(this,e)),this.fire("iron-ajax-presend",{request:e,options:t},{bubbles:this.bubbles,cancelable:!0}).defaultPrevented?(e.abort(),e.rejectCompletes(e),e):(this.lastRequest&&this.lastRequest.removeEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.addEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.send(t),this._setLastProgress(null),this._setLastRequest(e),this._setLoading(!0),this.fire("request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),e)},_handleResponse:function(e){e===this.lastRequest&&(this._setLastResponse(e.response),this._setLastError(null),this._setLoading(!1)),this.fire("response",e,{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-response",e,{bubbles:this.bubbles,composed:!0})},_handleError:function(e,t){this.verbose&&Fo._error(t),e===this.lastRequest&&(this._setLastError({request:e,error:t,status:e.xhr.status,statusText:e.xhr.statusText,response:e.xhr.response}),this._setLastResponse(null),this._setLoading(!1)),this.fire("iron-ajax-error",{request:e,error:t},{bubbles:this.bubbles,composed:!0}),this.fire("error",{request:e,error:t},{bubbles:this.bubbles,composed:!0})},_discardRequest:function(e){var t=this.activeRequests.indexOf(e);t>-1&&this.splice("activeRequests",t,1)},_requestOptionsChanged:function(){this.debounce("generate-request",(function(){null!=this.url&&this.auto&&this.generateRequest()}),this.debounceDuration)}});var _w=function(e,t){return _w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},_w(e,t)};function bw(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}_w(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var ww,xw,kw,Sw=function(){return Sw=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Sw.apply(this,arguments)};function Aw(e,t,i,n){var r,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}function Ew(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Cw(e,t,i){if(i||2===arguments.length)for(var n,r=0,s=t.length;r<s;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))}function Tw(e){return e.type===xw.literal}function Iw(e){return e.type===xw.argument}function Dw(e){return e.type===xw.number}function Pw(e){return e.type===xw.date}function Fw(e){return e.type===xw.time}function Nw(e){return e.type===xw.select}function Rw(e){return e.type===xw.plural}function Ow(e){return e.type===xw.pound}function Mw(e){return e.type===xw.tag}function Lw(e){return!(!e||"object"!=typeof e||e.type!==kw.number)}function Bw(e){return!(!e||"object"!=typeof e||e.type!==kw.dateTime)}"function"==typeof SuppressedError&&SuppressedError,function(e){e[e.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",e[e.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",e[e.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",e[e.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",e[e.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",e[e.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",e[e.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",e[e.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",e[e.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",e[e.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",e[e.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",e[e.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",e[e.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",e[e.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",e[e.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",e[e.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",e[e.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",e[e.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",e[e.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",e[e.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",e[e.INVALID_TAG=23]="INVALID_TAG",e[e.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",e[e.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",e[e.UNCLOSED_TAG=27]="UNCLOSED_TAG"}(ww||(ww={})),function(e){e[e.literal=0]="literal",e[e.argument=1]="argument",e[e.number=2]="number",e[e.date=3]="date",e[e.time=4]="time",e[e.select=5]="select",e[e.plural=6]="plural",e[e.pound=7]="pound",e[e.tag=8]="tag"}(xw||(xw={})),function(e){e[e.number=0]="number",e[e.dateTime=1]="dateTime"}(kw||(kw={}));var zw=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,jw=/(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;function Hw(e){var t={};return e.replace(jw,(function(e){var i=e.length;switch(e[0]){case"G":t.era=4===i?"long":5===i?"narrow":"short";break;case"y":t.year=2===i?"2-digit":"numeric";break;case"Y":case"u":case"U":case"r":throw new RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead");case"q":case"Q":throw new RangeError("`q/Q` (quarter) patterns are not supported");case"M":case"L":t.month=["numeric","2-digit","short","long","narrow"][i-1];break;case"w":case"W":throw new RangeError("`w/W` (week) patterns are not supported");case"d":t.day=["numeric","2-digit"][i-1];break;case"D":case"F":case"g":throw new RangeError("`D/F/g` (day) patterns are not supported, use `d` instead");case"E":t.weekday=4===i?"long":5===i?"narrow":"short";break;case"e":if(i<4)throw new RangeError("`e..eee` (weekday) patterns are not supported");t.weekday=["short","long","narrow","short"][i-4];break;case"c":if(i<4)throw new RangeError("`c..ccc` (weekday) patterns are not supported");t.weekday=["short","long","narrow","short"][i-4];break;case"a":t.hour12=!0;break;case"b":case"B":throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead");case"h":t.hourCycle="h12",t.hour=["numeric","2-digit"][i-1];break;case"H":t.hourCycle="h23",t.hour=["numeric","2-digit"][i-1];break;case"K":t.hourCycle="h11",t.hour=["numeric","2-digit"][i-1];break;case"k":t.hourCycle="h24",t.hour=["numeric","2-digit"][i-1];break;case"j":case"J":case"C":throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead");case"m":t.minute=["numeric","2-digit"][i-1];break;case"s":t.second=["numeric","2-digit"][i-1];break;case"S":case"A":throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead");case"z":t.timeZoneName=i<4?"short":"long";break;case"Z":case"O":case"v":case"V":case"X":case"x":throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead")}return""})),t}var Uw=/[\t-\r \x85\u200E\u200F\u2028\u2029]/i;var $w=/^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g,Vw=/^(@+)?(\+|#+)?[rs]?$/g,Ww=/(\*)(0+)|(#+)(0+)|(0+)/g,Gw=/^(0+)$/;function qw(e){var t={};return"r"===e[e.length-1]?t.roundingPriority="morePrecision":"s"===e[e.length-1]&&(t.roundingPriority="lessPrecision"),e.replace(Vw,(function(e,i,n){return"string"!=typeof n?(t.minimumSignificantDigits=i.length,t.maximumSignificantDigits=i.length):"+"===n?t.minimumSignificantDigits=i.length:"#"===i[0]?t.maximumSignificantDigits=i.length:(t.minimumSignificantDigits=i.length,t.maximumSignificantDigits=i.length+("string"==typeof n?n.length:0)),""})),t}function Yw(e){switch(e){case"sign-auto":return{signDisplay:"auto"};case"sign-accounting":case"()":return{currencySign:"accounting"};case"sign-always":case"+!":return{signDisplay:"always"};case"sign-accounting-always":case"()!":return{signDisplay:"always",currencySign:"accounting"};case"sign-except-zero":case"+?":return{signDisplay:"exceptZero"};case"sign-accounting-except-zero":case"()?":return{signDisplay:"exceptZero",currencySign:"accounting"};case"sign-never":case"+_":return{signDisplay:"never"}}}function Kw(e){var t;if("E"===e[0]&&"E"===e[1]?(t={notation:"engineering"},e=e.slice(2)):"E"===e[0]&&(t={notation:"scientific"},e=e.slice(1)),t){var i=e.slice(0,2);if("+!"===i?(t.signDisplay="always",e=e.slice(2)):"+?"===i&&(t.signDisplay="exceptZero",e=e.slice(2)),!Gw.test(e))throw new Error("Malformed concise eng/scientific notation");t.minimumIntegerDigits=e.length}return t}function Jw(e){var t=Yw(e);return t||{}}function Zw(e){for(var t={},i=0,n=e;i<n.length;i++){var r=n[i];switch(r.stem){case"percent":case"%":t.style="percent";continue;case"%x100":t.style="percent",t.scale=100;continue;case"currency":t.style="currency",t.currency=r.options[0];continue;case"group-off":case",_":t.useGrouping=!1;continue;case"precision-integer":case".":t.maximumFractionDigits=0;continue;case"measure-unit":case"unit":t.style="unit",t.unit=r.options[0].replace(/^(.*?)-/,"");continue;case"compact-short":case"K":t.notation="compact",t.compactDisplay="short";continue;case"compact-long":case"KK":t.notation="compact",t.compactDisplay="long";continue;case"scientific":t=Sw(Sw(Sw({},t),{notation:"scientific"}),r.options.reduce((function(e,t){return Sw(Sw({},e),Jw(t))}),{}));continue;case"engineering":t=Sw(Sw(Sw({},t),{notation:"engineering"}),r.options.reduce((function(e,t){return Sw(Sw({},e),Jw(t))}),{}));continue;case"notation-simple":t.notation="standard";continue;case"unit-width-narrow":t.currencyDisplay="narrowSymbol",t.unitDisplay="narrow";continue;case"unit-width-short":t.currencyDisplay="code",t.unitDisplay="short";continue;case"unit-width-full-name":t.currencyDisplay="name",t.unitDisplay="long";continue;case"unit-width-iso-code":t.currencyDisplay="symbol";continue;case"scale":t.scale=parseFloat(r.options[0]);continue;case"rounding-mode-floor":t.roundingMode="floor";continue;case"rounding-mode-ceiling":t.roundingMode="ceil";continue;case"rounding-mode-down":t.roundingMode="trunc";continue;case"rounding-mode-up":t.roundingMode="expand";continue;case"rounding-mode-half-even":t.roundingMode="halfEven";continue;case"rounding-mode-half-down":t.roundingMode="halfTrunc";continue;case"rounding-mode-half-up":t.roundingMode="halfExpand";continue;case"integer-width":if(r.options.length>1)throw new RangeError("integer-width stems only accept a single optional option");r.options[0].replace(Ww,(function(e,i,n,r,s,o){if(i)t.minimumIntegerDigits=n.length;else{if(r&&s)throw new Error("We currently do not support maximum integer digits");if(o)throw new Error("We currently do not support exact integer digits")}return""}));continue}if(Gw.test(r.stem))t.minimumIntegerDigits=r.stem.length;else if($w.test(r.stem)){if(r.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");r.stem.replace($w,(function(e,i,n,r,s,o){return"*"===n?t.minimumFractionDigits=i.length:r&&"#"===r[0]?t.maximumFractionDigits=r.length:s&&o?(t.minimumFractionDigits=s.length,t.maximumFractionDigits=s.length+o.length):(t.minimumFractionDigits=i.length,t.maximumFractionDigits=i.length),""}));var s=r.options[0];"w"===s?t=Sw(Sw({},t),{trailingZeroDisplay:"stripIfInteger"}):s&&(t=Sw(Sw({},t),qw(s)))}else if(Vw.test(r.stem))t=Sw(Sw({},t),qw(r.stem));else{var o=Yw(r.stem);o&&(t=Sw(Sw({},t),o));var a=Kw(r.stem);a&&(t=Sw(Sw({},t),a))}}return t}var Qw,Xw={"001":["H","h"],AC:["H","h","hb","hB"],AD:["H","hB"],AE:["h","hB","hb","H"],AF:["H","hb","hB","h"],AG:["h","hb","H","hB"],AI:["H","h","hb","hB"],AL:["h","H","hB"],AM:["H","hB"],AO:["H","hB"],AR:["H","h","hB","hb"],AS:["h","H"],AT:["H","hB"],AU:["h","hb","H","hB"],AW:["H","hB"],AX:["H"],AZ:["H","hB","h"],BA:["H","hB","h"],BB:["h","hb","H","hB"],BD:["h","hB","H"],BE:["H","hB"],BF:["H","hB"],BG:["H","hB","h"],BH:["h","hB","hb","H"],BI:["H","h"],BJ:["H","hB"],BL:["H","hB"],BM:["h","hb","H","hB"],BN:["hb","hB","h","H"],BO:["H","hB","h","hb"],BQ:["H"],BR:["H","hB"],BS:["h","hb","H","hB"],BT:["h","H"],BW:["H","h","hb","hB"],BY:["H","h"],BZ:["H","h","hb","hB"],CA:["h","hb","H","hB"],CC:["H","h","hb","hB"],CD:["hB","H"],CF:["H","h","hB"],CG:["H","hB"],CH:["H","hB","h"],CI:["H","hB"],CK:["H","h","hb","hB"],CL:["H","h","hB","hb"],CM:["H","h","hB"],CN:["H","hB","hb","h"],CO:["h","H","hB","hb"],CP:["H"],CR:["H","h","hB","hb"],CU:["H","h","hB","hb"],CV:["H","hB"],CW:["H","hB"],CX:["H","h","hb","hB"],CY:["h","H","hb","hB"],CZ:["H"],DE:["H","hB"],DG:["H","h","hb","hB"],DJ:["h","H"],DK:["H"],DM:["h","hb","H","hB"],DO:["h","H","hB","hb"],DZ:["h","hB","hb","H"],EA:["H","h","hB","hb"],EC:["H","hB","h","hb"],EE:["H","hB"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],ER:["h","H"],ES:["H","hB","h","hb"],ET:["hB","hb","h","H"],FI:["H"],FJ:["h","hb","H","hB"],FK:["H","h","hb","hB"],FM:["h","hb","H","hB"],FO:["H","h"],FR:["H","hB"],GA:["H","hB"],GB:["H","h","hb","hB"],GD:["h","hb","H","hB"],GE:["H","hB","h"],GF:["H","hB"],GG:["H","h","hb","hB"],GH:["h","H"],GI:["H","h","hb","hB"],GL:["H","h"],GM:["h","hb","H","hB"],GN:["H","hB"],GP:["H","hB"],GQ:["H","hB","h","hb"],GR:["h","H","hb","hB"],GT:["H","h","hB","hb"],GU:["h","hb","H","hB"],GW:["H","hB"],GY:["h","hb","H","hB"],HK:["h","hB","hb","H"],HN:["H","h","hB","hb"],HR:["H","hB"],HU:["H","h"],IC:["H","h","hB","hb"],ID:["H"],IE:["H","h","hb","hB"],IL:["H","hB"],IM:["H","h","hb","hB"],IN:["h","H"],IO:["H","h","hb","hB"],IQ:["h","hB","hb","H"],IR:["hB","H"],IS:["H"],IT:["H","hB"],JE:["H","h","hb","hB"],JM:["h","hb","H","hB"],JO:["h","hB","hb","H"],JP:["H","K","h"],KE:["hB","hb","H","h"],KG:["H","h","hB","hb"],KH:["hB","h","H","hb"],KI:["h","hb","H","hB"],KM:["H","h","hB","hb"],KN:["h","hb","H","hB"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],KW:["h","hB","hb","H"],KY:["h","hb","H","hB"],KZ:["H","hB"],LA:["H","hb","hB","h"],LB:["h","hB","hb","H"],LC:["h","hb","H","hB"],LI:["H","hB","h"],LK:["H","h","hB","hb"],LR:["h","hb","H","hB"],LS:["h","H"],LT:["H","h","hb","hB"],LU:["H","h","hB"],LV:["H","hB","hb","h"],LY:["h","hB","hb","H"],MA:["H","h","hB","hb"],MC:["H","hB"],MD:["H","hB"],ME:["H","hB","h"],MF:["H","hB"],MG:["H","h"],MH:["h","hb","H","hB"],MK:["H","h","hb","hB"],ML:["H"],MM:["hB","hb","H","h"],MN:["H","h","hb","hB"],MO:["h","hB","hb","H"],MP:["h","hb","H","hB"],MQ:["H","hB"],MR:["h","hB","hb","H"],MS:["H","h","hb","hB"],MT:["H","h"],MU:["H","h"],MV:["H","h"],MW:["h","hb","H","hB"],MX:["H","h","hB","hb"],MY:["hb","hB","h","H"],MZ:["H","hB"],NA:["h","H","hB","hb"],NC:["H","hB"],NE:["H"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NI:["H","h","hB","hb"],NL:["H","hB"],NO:["H","h"],NP:["H","h","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],NZ:["h","hb","H","hB"],OM:["h","hB","hb","H"],PA:["h","H","hB","hb"],PE:["H","hB","h","hb"],PF:["H","h","hB"],PG:["h","H"],PH:["h","hB","hb","H"],PK:["h","hB","H"],PL:["H","h"],PM:["H","hB"],PN:["H","h","hb","hB"],PR:["h","H","hB","hb"],PS:["h","hB","hb","H"],PT:["H","hB"],PW:["h","H"],PY:["H","h","hB","hb"],QA:["h","hB","hb","H"],RE:["H","hB"],RO:["H","hB"],RS:["H","hB","h"],RU:["H"],RW:["H","h"],SA:["h","hB","hb","H"],SB:["h","hb","H","hB"],SC:["H","h","hB"],SD:["h","hB","hb","H"],SE:["H"],SG:["h","hb","H","hB"],SH:["H","h","hb","hB"],SI:["H","hB"],SJ:["H"],SK:["H"],SL:["h","hb","H","hB"],SM:["H","h","hB"],SN:["H","h","hB"],SO:["h","H"],SR:["H","hB"],SS:["h","hb","H","hB"],ST:["H","hB"],SV:["H","h","hB","hb"],SX:["H","h","hb","hB"],SY:["h","hB","hb","H"],SZ:["h","hb","H","hB"],TA:["H","h","hb","hB"],TC:["h","hb","H","hB"],TD:["h","H","hB"],TF:["H","h","hB"],TG:["H","hB"],TH:["H","h"],TJ:["H","h"],TL:["H","hB","hb","h"],TM:["H","h"],TN:["h","hB","hb","H"],TO:["h","H"],TR:["H","hB"],TT:["h","hb","H","hB"],TW:["hB","hb","h","H"],TZ:["hB","hb","H","h"],UA:["H","hB","h"],UG:["hB","hb","H","h"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],UY:["H","h","hB","hb"],UZ:["H","hB","h"],VA:["H","h","hB"],VC:["h","hb","H","hB"],VE:["h","H","hB","hb"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],VN:["H","h"],VU:["h","H"],WF:["H","hB"],WS:["h","H"],XK:["H","hB","h"],YE:["h","hB","hb","H"],YT:["H","hB"],ZA:["H","h","hb","hB"],ZM:["h","hb","H","hB"],ZW:["H","h"],"af-ZA":["H","h","hB","hb"],"ar-001":["h","hB","hb","H"],"ca-ES":["H","h","hB"],"en-001":["h","hb","H","hB"],"es-BO":["H","h","hB","hb"],"es-BR":["H","h","hB","hb"],"es-EC":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"es-PE":["H","h","hB","hb"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"gu-IN":["hB","hb","h","H"],"hi-IN":["hB","h","H"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],"ta-IN":["hB","h","hb","H"],"te-IN":["hB","h","H"],"zu-ZA":["H","hB","hb","h"]};function ex(e){var t=e.hourCycle;if(void 0===t&&e.hourCycles&&e.hourCycles.length&&(t=e.hourCycles[0]),t)switch(t){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}var i,n=e.language;return"root"!==n&&(i=e.maximize().region),(Xw[i||""]||Xw[n||""]||Xw["".concat(n,"-001")]||Xw["001"])[0]}var tx=new RegExp("^".concat(zw.source,"*")),ix=new RegExp("".concat(zw.source,"*$"));function nx(e,t){return{start:e,end:t}}var rx=!!String.prototype.startsWith&&"_a".startsWith("a",1),sx=!!String.fromCodePoint,ox=!!Object.fromEntries,ax=!!String.prototype.codePointAt,lx=!!String.prototype.trimStart,dx=!!String.prototype.trimEnd,cx=!!Number.isSafeInteger?Number.isSafeInteger:function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},hx=!0;try{hx="a"===(null===(Qw=_x("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu").exec("a"))||void 0===Qw?void 0:Qw[0])}catch(W){hx=!1}var ux,px=rx?function(e,t,i){return e.startsWith(t,i)}:function(e,t,i){return e.slice(i,i+t.length)===t},gx=sx?String.fromCodePoint:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var i,n="",r=e.length,s=0;r>s;){if((i=e[s++])>1114111)throw RangeError(i+" is not a valid code point");n+=i<65536?String.fromCharCode(i):String.fromCharCode(55296+((i-=65536)>>10),i%1024+56320)}return n},mx=ox?Object.fromEntries:function(e){for(var t={},i=0,n=e;i<n.length;i++){var r=n[i],s=r[0],o=r[1];t[s]=o}return t},fx=ax?function(e,t){return e.codePointAt(t)}:function(e,t){var i=e.length;if(!(t<0||t>=i)){var n,r=e.charCodeAt(t);return r<55296||r>56319||t+1===i||(n=e.charCodeAt(t+1))<56320||n>57343?r:n-56320+(r-55296<<10)+65536}},yx=lx?function(e){return e.trimStart()}:function(e){return e.replace(tx,"")},vx=dx?function(e){return e.trimEnd()}:function(e){return e.replace(ix,"")};function _x(e,t){return new RegExp(e,t)}if(hx){var bx=_x("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");ux=function(e,t){var i;return bx.lastIndex=t,null!==(i=bx.exec(e)[1])&&void 0!==i?i:""}}else ux=function(e,t){for(var i=[];;){var n=fx(e,t);if(void 0===n||Sx(n)||Ax(n))break;i.push(n),t+=n>=65536?2:1}return gx.apply(void 0,i)};var wx=function(){function e(e,t){void 0===t&&(t={}),this.message=e,this.position={offset:0,line:1,column:1},this.ignoreTag=!!t.ignoreTag,this.locale=t.locale,this.requiresOtherClause=!!t.requiresOtherClause,this.shouldParseSkeletons=!!t.shouldParseSkeletons}return e.prototype.parse=function(){if(0!==this.offset())throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(e,t,i){for(var n=[];!this.isEOF();){var r=this.char();if(123===r){if((s=this.parseArgument(e,i)).err)return s;n.push(s.val)}else{if(125===r&&e>0)break;if(35!==r||"plural"!==t&&"selectordinal"!==t){if(60===r&&!this.ignoreTag&&47===this.peek()){if(i)break;return this.error(ww.UNMATCHED_CLOSING_TAG,nx(this.clonePosition(),this.clonePosition()))}if(60===r&&!this.ignoreTag&&xx(this.peek()||0)){if((s=this.parseTag(e,t)).err)return s;n.push(s.val)}else{var s;if((s=this.parseLiteral(e,t)).err)return s;n.push(s.val)}}else{var o=this.clonePosition();this.bump(),n.push({type:xw.pound,location:nx(o,this.clonePosition())})}}}return{val:n,err:null}},e.prototype.parseTag=function(e,t){var i=this.clonePosition();this.bump();var n=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:xw.literal,value:"<".concat(n,"/>"),location:nx(i,this.clonePosition())},err:null};if(this.bumpIf(">")){var r=this.parseMessage(e+1,t,!0);if(r.err)return r;var s=r.val,o=this.clonePosition();if(this.bumpIf("</")){if(this.isEOF()||!xx(this.char()))return this.error(ww.INVALID_TAG,nx(o,this.clonePosition()));var a=this.clonePosition();return n!==this.parseTagName()?this.error(ww.UNMATCHED_CLOSING_TAG,nx(a,this.clonePosition())):(this.bumpSpace(),this.bumpIf(">")?{val:{type:xw.tag,value:n,children:s,location:nx(i,this.clonePosition())},err:null}:this.error(ww.INVALID_TAG,nx(o,this.clonePosition())))}return this.error(ww.UNCLOSED_TAG,nx(i,this.clonePosition()))}return this.error(ww.INVALID_TAG,nx(i,this.clonePosition()))},e.prototype.parseTagName=function(){var e=this.offset();for(this.bump();!this.isEOF()&&kx(this.char());)this.bump();return this.message.slice(e,this.offset())},e.prototype.parseLiteral=function(e,t){for(var i=this.clonePosition(),n="";;){var r=this.tryParseQuote(t);if(r)n+=r;else{var s=this.tryParseUnquoted(e,t);if(s)n+=s;else{var o=this.tryParseLeftAngleBracket();if(!o)break;n+=o}}}var a=nx(i,this.clonePosition());return{val:{type:xw.literal,value:n,location:a},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return this.isEOF()||60!==this.char()||!this.ignoreTag&&(xx(e=this.peek()||0)||47===e)?null:(this.bump(),"<");var e},e.prototype.tryParseQuote=function(e){if(this.isEOF()||39!==this.char())return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if("plural"===e||"selectordinal"===e)break;return null;default:return null}this.bump();var t=[this.char()];for(this.bump();!this.isEOF();){var i=this.char();if(39===i){if(39!==this.peek()){this.bump();break}t.push(39),this.bump()}else t.push(i);this.bump()}return gx.apply(void 0,t)},e.prototype.tryParseUnquoted=function(e,t){if(this.isEOF())return null;var i=this.char();return 60===i||123===i||35===i&&("plural"===t||"selectordinal"===t)||125===i&&e>0?null:(this.bump(),gx(i))},e.prototype.parseArgument=function(e,t){var i=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(ww.EXPECT_ARGUMENT_CLOSING_BRACE,nx(i,this.clonePosition()));if(125===this.char())return this.bump(),this.error(ww.EMPTY_ARGUMENT,nx(i,this.clonePosition()));var n=this.parseIdentifierIfPossible().value;if(!n)return this.error(ww.MALFORMED_ARGUMENT,nx(i,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(ww.EXPECT_ARGUMENT_CLOSING_BRACE,nx(i,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:xw.argument,value:n,location:nx(i,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(ww.EXPECT_ARGUMENT_CLOSING_BRACE,nx(i,this.clonePosition())):this.parseArgumentOptions(e,t,n,i);default:return this.error(ww.MALFORMED_ARGUMENT,nx(i,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var e=this.clonePosition(),t=this.offset(),i=ux(this.message,t),n=t+i.length;return this.bumpTo(n),{value:i,location:nx(e,this.clonePosition())}},e.prototype.parseArgumentOptions=function(e,t,i,n){var r,s=this.clonePosition(),o=this.parseIdentifierIfPossible().value,a=this.clonePosition();switch(o){case"":return this.error(ww.EXPECT_ARGUMENT_TYPE,nx(s,a));case"number":case"date":case"time":this.bumpSpace();var l=null;if(this.bumpIf(",")){this.bumpSpace();var d=this.clonePosition();if((y=this.parseSimpleArgStyleIfPossible()).err)return y;if(0===(p=vx(y.val)).length)return this.error(ww.EXPECT_ARGUMENT_STYLE,nx(this.clonePosition(),this.clonePosition()));l={style:p,styleLocation:nx(d,this.clonePosition())}}if((v=this.tryParseArgumentClose(n)).err)return v;var c=nx(n,this.clonePosition());if(l&&px(null==l?void 0:l.style,"::",0)){var h=yx(l.style.slice(2));if("number"===o)return(y=this.parseNumberSkeletonFromString(h,l.styleLocation)).err?y:{val:{type:xw.number,value:i,location:c,style:y.val},err:null};if(0===h.length)return this.error(ww.EXPECT_DATE_TIME_SKELETON,c);var u=h;this.locale&&(u=function(e,t){for(var i="",n=0;n<e.length;n++){var r=e.charAt(n);if("j"===r){for(var s=0;n+1<e.length&&e.charAt(n+1)===r;)s++,n++;var o=1+(1&s),a=s<2?1:3+(s>>1),l=ex(t);for("H"!=l&&"k"!=l||(a=0);a-- >0;)i+="a";for(;o-- >0;)i=l+i}else i+="J"===r?"H":r}return i}(h,this.locale));var p={type:kw.dateTime,pattern:u,location:l.styleLocation,parsedOptions:this.shouldParseSkeletons?Hw(u):{}};return{val:{type:"date"===o?xw.date:xw.time,value:i,location:c,style:p},err:null}}return{val:{type:"number"===o?xw.number:"date"===o?xw.date:xw.time,value:i,location:c,style:null!==(r=null==l?void 0:l.style)&&void 0!==r?r:null},err:null};case"plural":case"selectordinal":case"select":var g=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(ww.EXPECT_SELECT_ARGUMENT_OPTIONS,nx(g,Sw({},g)));this.bumpSpace();var m=this.parseIdentifierIfPossible(),f=0;if("select"!==o&&"offset"===m.value){if(!this.bumpIf(":"))return this.error(ww.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,nx(this.clonePosition(),this.clonePosition()));var y;if(this.bumpSpace(),(y=this.tryParseDecimalInteger(ww.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,ww.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE)).err)return y;this.bumpSpace(),m=this.parseIdentifierIfPossible(),f=y.val}var v,_=this.tryParsePluralOrSelectOptions(e,o,t,m);if(_.err)return _;if((v=this.tryParseArgumentClose(n)).err)return v;var b=nx(n,this.clonePosition());return"select"===o?{val:{type:xw.select,value:i,options:mx(_.val),location:b},err:null}:{val:{type:xw.plural,value:i,options:mx(_.val),offset:f,pluralType:"plural"===o?"cardinal":"ordinal",location:b},err:null};default:return this.error(ww.INVALID_ARGUMENT_TYPE,nx(s,a))}},e.prototype.tryParseArgumentClose=function(e){return this.isEOF()||125!==this.char()?this.error(ww.EXPECT_ARGUMENT_CLOSING_BRACE,nx(e,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var e=0,t=this.clonePosition();!this.isEOF();){switch(this.char()){case 39:this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(ww.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,nx(i,this.clonePosition()));this.bump();break;case 123:e+=1,this.bump();break;case 125:if(!(e>0))return{val:this.message.slice(t.offset,this.offset()),err:null};e-=1;break;default:this.bump()}}return{val:this.message.slice(t.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(e,t){var i=[];try{i=function(e){if(0===e.length)throw new Error("Number skeleton cannot be empty");for(var t=e.split(Uw).filter((function(e){return e.length>0})),i=[],n=0,r=t;n<r.length;n++){var s=r[n].split("/");if(0===s.length)throw new Error("Invalid number skeleton");for(var o=s[0],a=s.slice(1),l=0,d=a;l<d.length;l++)if(0===d[l].length)throw new Error("Invalid number skeleton");i.push({stem:o,options:a})}return i}(e)}catch(e){return this.error(ww.INVALID_NUMBER_SKELETON,t)}return{val:{type:kw.number,tokens:i,location:t,parsedOptions:this.shouldParseSkeletons?Zw(i):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(e,t,i,n){for(var r,s=!1,o=[],a=new Set,l=n.value,d=n.location;;){if(0===l.length){var c=this.clonePosition();if("select"===t||!this.bumpIf("="))break;var h=this.tryParseDecimalInteger(ww.EXPECT_PLURAL_ARGUMENT_SELECTOR,ww.INVALID_PLURAL_ARGUMENT_SELECTOR);if(h.err)return h;d=nx(c,this.clonePosition()),l=this.message.slice(c.offset,this.offset())}if(a.has(l))return this.error("select"===t?ww.DUPLICATE_SELECT_ARGUMENT_SELECTOR:ww.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,d);"other"===l&&(s=!0),this.bumpSpace();var u=this.clonePosition();if(!this.bumpIf("{"))return this.error("select"===t?ww.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:ww.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,nx(this.clonePosition(),this.clonePosition()));var p=this.parseMessage(e+1,t,i);if(p.err)return p;var g=this.tryParseArgumentClose(u);if(g.err)return g;o.push([l,{value:p.val,location:nx(u,this.clonePosition())}]),a.add(l),this.bumpSpace(),l=(r=this.parseIdentifierIfPossible()).value,d=r.location}return 0===o.length?this.error("select"===t?ww.EXPECT_SELECT_ARGUMENT_SELECTOR:ww.EXPECT_PLURAL_ARGUMENT_SELECTOR,nx(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!s?this.error(ww.MISSING_OTHER_CLAUSE,nx(this.clonePosition(),this.clonePosition())):{val:o,err:null}},e.prototype.tryParseDecimalInteger=function(e,t){var i=1,n=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(i=-1);for(var r=!1,s=0;!this.isEOF();){var o=this.char();if(!(o>=48&&o<=57))break;r=!0,s=10*s+(o-48),this.bump()}var a=nx(n,this.clonePosition());return r?cx(s*=i)?{val:s,err:null}:this.error(t,a):this.error(e,a)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var e=this.position.offset;if(e>=this.message.length)throw Error("out of bound");var t=fx(this.message,e);if(void 0===t)throw Error("Offset ".concat(e," is at invalid UTF-16 code unit boundary"));return t},e.prototype.error=function(e,t){return{val:null,err:{kind:e,message:this.message,location:t}}},e.prototype.bump=function(){if(!this.isEOF()){var e=this.char();10===e?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=e<65536?1:2)}},e.prototype.bumpIf=function(e){if(px(this.message,e,this.offset())){for(var t=0;t<e.length;t++)this.bump();return!0}return!1},e.prototype.bumpUntil=function(e){var t=this.offset(),i=this.message.indexOf(e,t);return i>=0?(this.bumpTo(i),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(e){if(this.offset()>e)throw Error("targetOffset ".concat(e," must be greater than or equal to the current offset ").concat(this.offset()));for(e=Math.min(e,this.message.length);;){var t=this.offset();if(t===e)break;if(t>e)throw Error("targetOffset ".concat(e," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&Sx(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var e=this.char(),t=this.offset(),i=this.message.charCodeAt(t+(e>=65536?2:1));return null!=i?i:null},e}();function xx(e){return e>=97&&e<=122||e>=65&&e<=90}function kx(e){return 45===e||46===e||e>=48&&e<=57||95===e||e>=97&&e<=122||e>=65&&e<=90||183==e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function Sx(e){return e>=9&&e<=13||32===e||133===e||e>=8206&&e<=8207||8232===e||8233===e}function Ax(e){return e>=33&&e<=35||36===e||e>=37&&e<=39||40===e||41===e||42===e||43===e||44===e||45===e||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||91===e||92===e||93===e||94===e||96===e||123===e||124===e||125===e||126===e||161===e||e>=162&&e<=165||166===e||167===e||169===e||171===e||172===e||174===e||176===e||177===e||182===e||187===e||191===e||215===e||247===e||e>=8208&&e<=8213||e>=8214&&e<=8215||8216===e||8217===e||8218===e||e>=8219&&e<=8220||8221===e||8222===e||8223===e||e>=8224&&e<=8231||e>=8240&&e<=8248||8249===e||8250===e||e>=8251&&e<=8254||e>=8257&&e<=8259||8260===e||8261===e||8262===e||e>=8263&&e<=8273||8274===e||8275===e||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||8608===e||e>=8609&&e<=8610||8611===e||e>=8612&&e<=8613||8614===e||e>=8615&&e<=8621||8622===e||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||8658===e||8659===e||8660===e||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||8968===e||8969===e||8970===e||8971===e||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||9001===e||9002===e||e>=9003&&e<=9083||9084===e||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||9655===e||e>=9656&&e<=9664||9665===e||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||9839===e||e>=9840&&e<=10087||10088===e||10089===e||10090===e||10091===e||10092===e||10093===e||10094===e||10095===e||10096===e||10097===e||10098===e||10099===e||10100===e||10101===e||e>=10132&&e<=10175||e>=10176&&e<=10180||10181===e||10182===e||e>=10183&&e<=10213||10214===e||10215===e||10216===e||10217===e||10218===e||10219===e||10220===e||10221===e||10222===e||10223===e||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||10627===e||10628===e||10629===e||10630===e||10631===e||10632===e||10633===e||10634===e||10635===e||10636===e||10637===e||10638===e||10639===e||10640===e||10641===e||10642===e||10643===e||10644===e||10645===e||10646===e||10647===e||10648===e||e>=10649&&e<=10711||10712===e||10713===e||10714===e||10715===e||e>=10716&&e<=10747||10748===e||10749===e||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||11158===e||e>=11159&&e<=11263||e>=11776&&e<=11777||11778===e||11779===e||11780===e||11781===e||e>=11782&&e<=11784||11785===e||11786===e||11787===e||11788===e||11789===e||e>=11790&&e<=11798||11799===e||e>=11800&&e<=11801||11802===e||11803===e||11804===e||11805===e||e>=11806&&e<=11807||11808===e||11809===e||11810===e||11811===e||11812===e||11813===e||11814===e||11815===e||11816===e||11817===e||e>=11818&&e<=11822||11823===e||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||11840===e||11841===e||11842===e||e>=11843&&e<=11855||e>=11856&&e<=11857||11858===e||e>=11859&&e<=11903||e>=12289&&e<=12291||12296===e||12297===e||12298===e||12299===e||12300===e||12301===e||12302===e||12303===e||12304===e||12305===e||e>=12306&&e<=12307||12308===e||12309===e||12310===e||12311===e||12312===e||12313===e||12314===e||12315===e||12316===e||12317===e||e>=12318&&e<=12319||12320===e||12336===e||64830===e||64831===e||e>=65093&&e<=65094}function Ex(e){e.forEach((function(e){if(delete e.location,Nw(e)||Rw(e))for(var t in e.options)delete e.options[t].location,Ex(e.options[t].value);else Dw(e)&&Lw(e.style)||(Pw(e)||Fw(e))&&Bw(e.style)?delete e.style.location:Mw(e)&&Ex(e.children)}))}function Cx(e,t){void 0===t&&(t={}),t=Sw({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var i=new wx(e,t).parse();if(i.err){var n=SyntaxError(ww[i.err.kind]);throw n.location=i.err.location,n.originalMessage=i.err.message,n}return(null==t?void 0:t.captureLocation)||Ex(i.val),i.val}function Tx(e,t){var i=t&&t.cache?t.cache:Mx,n=t&&t.serializer?t.serializer:Nx;return(t&&t.strategy?t.strategy:Fx)(e,{cache:i,serializer:n})}function Ix(e,t,i,n){var r,s=null==(r=n)||"number"==typeof r||"boolean"==typeof r?n:i(n),o=t.get(s);return void 0===o&&(o=e.call(this,n),t.set(s,o)),o}function Dx(e,t,i){var n=Array.prototype.slice.call(arguments,3),r=i(n),s=t.get(r);return void 0===s&&(s=e.apply(this,n),t.set(r,s)),s}function Px(e,t,i,n,r){return i.bind(t,e,n,r)}function Fx(e,t){return Px(e,this,1===e.length?Ix:Dx,t.cache.create(),t.serializer)}var Nx=function(){return JSON.stringify(arguments)};function Rx(){this.cache=Object.create(null)}Rx.prototype.get=function(e){return this.cache[e]},Rx.prototype.set=function(e,t){this.cache[e]=t};var Ox,Mx={create:function(){return new Rx}},Lx={variadic:function(e,t){return Px(e,this,Dx,t.cache.create(),t.serializer)},monadic:function(e,t){return Px(e,this,Ix,t.cache.create(),t.serializer)}};!function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"}(Ox||(Ox={}));var Bx,zx=function(e){function t(t,i,n){var r=e.call(this,t)||this;return r.code=i,r.originalMessage=n,r}return bw(t,e),t.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},t}(Error),jx=function(e){function t(t,i,n,r){return e.call(this,'Invalid values for "'.concat(t,'": "').concat(i,'". Options are "').concat(Object.keys(n).join('", "'),'"'),Ox.INVALID_VALUE,r)||this}return bw(t,e),t}(zx),Hx=function(e){function t(t,i,n){return e.call(this,'Value for "'.concat(t,'" must be of type ').concat(i),Ox.INVALID_VALUE,n)||this}return bw(t,e),t}(zx),Ux=function(e){function t(t,i){return e.call(this,'The intl string context variable "'.concat(t,'" was not provided to the string "').concat(i,'"'),Ox.MISSING_VALUE,i)||this}return bw(t,e),t}(zx);function $x(e){return"function"==typeof e}function Vx(e,t,i,n,r,s,o){if(1===e.length&&Tw(e[0]))return[{type:Bx.literal,value:e[0].value}];for(var a=[],l=0,d=e;l<d.length;l++){var c=d[l];if(Tw(c))a.push({type:Bx.literal,value:c.value});else if(Ow(c))"number"==typeof s&&a.push({type:Bx.literal,value:i.getNumberFormat(t).format(s)});else{var h=c.value;if(!r||!(h in r))throw new Ux(h,o);var u=r[h];if(Iw(c))u&&"string"!=typeof u&&"number"!=typeof u||(u="string"==typeof u||"number"==typeof u?String(u):""),a.push({type:"string"==typeof u?Bx.literal:Bx.object,value:u});else if(Pw(c)){var p="string"==typeof c.style?n.date[c.style]:Bw(c.style)?c.style.parsedOptions:void 0;a.push({type:Bx.literal,value:i.getDateTimeFormat(t,p).format(u)})}else if(Fw(c)){p="string"==typeof c.style?n.time[c.style]:Bw(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:Bx.literal,value:i.getDateTimeFormat(t,p).format(u)})}else if(Dw(c)){(p="string"==typeof c.style?n.number[c.style]:Lw(c.style)?c.style.parsedOptions:void 0)&&p.scale&&(u*=p.scale||1),a.push({type:Bx.literal,value:i.getNumberFormat(t,p).format(u)})}else{if(Mw(c)){var g=c.children,m=c.value,f=r[m];if(!$x(f))throw new Hx(m,"function",o);var y=f(Vx(g,t,i,n,r,s).map((function(e){return e.value})));Array.isArray(y)||(y=[y]),a.push.apply(a,y.map((function(e){return{type:"string"==typeof e?Bx.literal:Bx.object,value:e}})))}if(Nw(c)){if(!(v=c.options[u]||c.options.other))throw new jx(c.value,u,Object.keys(c.options),o);a.push.apply(a,Vx(v.value,t,i,n,r))}else if(Rw(c)){var v;if(!(v=c.options["=".concat(u)])){if(!Intl.PluralRules)throw new zx('Intl.PluralRules is not available in this environment.\nTry polyfilling it using "@formatjs/intl-pluralrules"\n',Ox.MISSING_INTL_API,o);var _=i.getPluralRules(t,{type:c.pluralType}).select(u-(c.offset||0));v=c.options[_]||c.options.other}if(!v)throw new jx(c.value,u,Object.keys(c.options),o);a.push.apply(a,Vx(v.value,t,i,n,r,u-(c.offset||0)))}else;}}}return function(e){return e.length<2?e:e.reduce((function(e,t){var i=e[e.length-1];return i&&i.type===Bx.literal&&t.type===Bx.literal?i.value+=t.value:e.push(t),e}),[])}(a)}function Wx(e,t){return t?Object.keys(e).reduce((function(i,n){var r,s;return i[n]=(r=e[n],(s=t[n])?Sw(Sw(Sw({},r||{}),s||{}),Object.keys(r).reduce((function(e,t){return e[t]=Sw(Sw({},r[t]),s[t]||{}),e}),{})):r),i}),Sw({},e)):e}function Gx(e){return{create:function(){return{get:function(t){return e[t]},set:function(t,i){e[t]=i}}}}}!function(e){e[e.literal=0]="literal",e[e.object=1]="object"}(Bx||(Bx={}));var qx=function(){function e(t,i,n,r){var s,o=this;if(void 0===i&&(i=e.defaultLocale),this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(e){var t=o.formatToParts(e);if(1===t.length)return t[0].value;var i=t.reduce((function(e,t){return e.length&&t.type===Bx.literal&&"string"==typeof e[e.length-1]?e[e.length-1]+=t.value:e.push(t.value),e}),[]);return i.length<=1?i[0]||"":i},this.formatToParts=function(e){return Vx(o.ast,o.locales,o.formatters,o.formats,e,void 0,o.message)},this.resolvedOptions=function(){var e;return{locale:(null===(e=o.resolvedLocale)||void 0===e?void 0:e.toString())||Intl.NumberFormat.supportedLocalesOf(o.locales)[0]}},this.getAst=function(){return o.ast},this.locales=i,this.resolvedLocale=e.resolveLocale(i),"string"==typeof t){if(this.message=t,!e.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var a=r||{};a.formatters;var l=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}(a,["formatters"]);this.ast=e.__parse(t,Sw(Sw({},l),{locale:this.resolvedLocale}))}else this.ast=t;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Wx(e.formats,n),this.formatters=r&&r.formatters||(void 0===(s=this.formatterCache)&&(s={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Tx((function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return new((e=Intl.NumberFormat).bind.apply(e,Cw([void 0],t,!1)))}),{cache:Gx(s.number),strategy:Lx.variadic}),getDateTimeFormat:Tx((function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return new((e=Intl.DateTimeFormat).bind.apply(e,Cw([void 0],t,!1)))}),{cache:Gx(s.dateTime),strategy:Lx.variadic}),getPluralRules:Tx((function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return new((e=Intl.PluralRules).bind.apply(e,Cw([void 0],t,!1)))}),{cache:Gx(s.pluralRules),strategy:Lx.variadic})})}return Object.defineProperty(e,"defaultLocale",{get:function(){return e.memoizedDefaultLocale||(e.memoizedDefaultLocale=(new Intl.NumberFormat).resolvedOptions().locale),e.memoizedDefaultLocale},enumerable:!1,configurable:!0}),e.memoizedDefaultLocale=null,e.resolveLocale=function(e){if(void 0!==Intl.Locale){var t=Intl.NumberFormat.supportedLocalesOf(e);return t.length>0?new Intl.Locale(t[0]):new Intl.Locale("string"==typeof e?e:e[0])}},e.__parse=Cx,e.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},e}();window.IntlMessageFormat=qx;const Yx=Object.assign?Object.assign.bind(Object):function(e,t){for(const i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},Kx={__localizationCache:{requests:{},messages:{},ajax:null},properties:{language:{type:String},resources:{type:Object},formats:{type:Object,value:function(){return{}}},useKeyIfMissing:{type:Boolean,value:!1},localize:{type:Function,computed:"__computeLocalize(language, resources, formats)"},bubbleEvent:{type:Boolean,value:!1}},loadResources:function(e,t,i){const n=this.constructor.prototype;this.__checkLocalizationCache(n);let r=n.__localizationCache.ajax;var s;function o(e){this.__onRequestResponse(e,t,i)}(r||(r=n.__localizationCache.ajax=document.createElement("iron-ajax")),s=n.__localizationCache.requests[e])?s.completes.then(o.bind(this),this.__onRequestError.bind(this)):(r.url=e,(s=r.generateRequest()).completes.then(o.bind(this),this.__onRequestError.bind(this)),n.__localizationCache.requests[e]=s)},__computeLocalize:function(e,t,i){const n=this.constructor.prototype;return this.__checkLocalizationCache(n),n.__localizationCache||(n.__localizationCache={requests:{},messages:{},ajax:null}),n.__localizationCache.messages={},function(){const r=arguments[0];if(!(r&&t&&e&&t[e]))return;const s=t[e][r];if(!s)return this.useKeyIfMissing?r:"";const o=r+s;let a=n.__localizationCache.messages[o];a||(a=new qx(s,e,i),n.__localizationCache.messages[o]=a);const l={};for(let e=1;e<arguments.length;e+=2)l[arguments[e]]=arguments[e+1];return a.format(l)}.bind(this)},__onRequestResponse:function(e,t,i){const n={},r=e.response;if(i?t?(n.resources=Yx({},this.resources||{}),n["resources."+t]=Yx(n.resources[t]||{},r)):n.resources=Yx(this.resources,r):t?(n.resources={},n.resources[t]=r,n["resources."+t]=r):n.resources=r,this.setProperties)this.setProperties(n);else for(const e in n)this.set(e,n[e]);this.fire("app-localize-resources-loaded",e,{bubbles:this.bubbleEvent})},__onRequestError:function(e){this.fire("app-localize-resources-error")},__checkLocalizationCache:function(e){void 0!==e&&void 0===e.__localizationCache&&(e.__localizationCache={requests:{},messages:{},ajax:null})}};var Jx="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Zx="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Qx=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Xx=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;Qg.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?Zx[e.month()]:Jx[e.month()]:Jx},monthsRegex:Xx,monthsShortRegex:Xx,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Qx,longMonthsParse:Qx,shortMonthsParse:Qx,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",w:"één week",ww:"%d weken",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});var ek={nl:{aboutToExpire:"Verloopt binnenkort",absentOn:"Afwezig op",accept:"Accepteren",Accept:"Ter acceptatie",acceptAuthSingle:"U staat op het punt om {number} verzoek te accepteren",acceptAuthPlural:"U staat op het punt om {number} verzoeken te accepteren",acceptance:"acceptatie",Accepted:"Geaccepteerd",acceptedSelection:"Selectie geaccepteerd!",acceptedPartialSelection:"Selectie deels geaccepteerd!",accreditation:"Accreditatie","accreditation.deleteDialog.body":"Weet je zeker dat je de accreditatiepoging opnieuw wilt proberen? Dit proces wordt 's nachts uitgevoerd.","accreditation.deleteDialog.title":"Bevestig nieuwe poging","accreditation.deleteDialog.confirmButton":"Probeer Opnieuw","accreditation.status":"{status, select,\n            accepted {Geaccepteerd}\n            failed {Mislukt}\n            badResponse {Ongeldig antwoord}\n            error {Fout}\n            pending {In behandeling}\n            notValid {Ongeldig}\n            other {Geen status}\n        }","accreditation.process":"Verwerken","accreditation.processed":"Verwerkt","accreditation.endDate":"Voldaan op","accreditation.info":"Accreditatie instellingen","accreditation.processSuccess":"Accreditaties zijn verwerkt","accreditation.processTitle":"Accreditaties verwerken","accreditation.processText":"Alle resultaten van deze opleiding zullen direct worden verwerkt. Het is mogelijk dat dit enige tijd duurt.","accreditation.processDoYouWantToContinue":"Wil je doorgaan met verwerken?",accreditationDeleted:"Accreditatie verwijderd",accreditations:"Accreditaties",achieved:"Behaald",AchievedResults:"Behaalde resultaten",achievedOn:"Behaald op",Achievement:"Resultaat",AchievementIsAboutToExpire:"Uw resultaat verloopt binnenkort!",AchievementIsExpired:"Uw resultaat is verlopen",AchievementIsFailed:"U bent gezakt",AchievementIsMandatory:"Uw resultaat is verplicht!",AchievementIsPassed:"Catalogusitem behaald / voldaan",achievementRead:"Ik heb de handleiding / het protocol gelezen",achievementStatus:"{status, select,\n            aborted {Afgebroken}\n            absent {Afwezig}\n            canceled {Geannuleerd}\n            completed {Voldaan}\n            deleted {Verwijderd}\n            expired {Verlopen}\n            failed {Niet voldaan}\n            faulted {Fout}\n            not_registered {Niet ingeschreven}\n            not_started {Niet gestart}\n            passed {Voldaan}\n            started {Gestart}\n            registered {Ingeschreven}\n            unregistered {Uitgeschreven}\n            other {Onbekend}\n        }",achievementStatusForUserCourseResults:"{status, select,\n            aborted {Afgebroken}\n            absent {Afwezig}\n            canceled {Geannuleerd}\n            completed {Voldaan}\n            deleted {Verwijderd}\n            expired {Voldaan (verlopen)}\n            failed {Niet voldaan}\n            faulted {Fout}\n            not_registered {Niet ingeschreven}\n            not_started {Niet gestart}\n            passed {Voldaan}\n            started {Gestart}\n            registered {Ingeschreven}\n            unregistered {Uitgeschreven}\n            other {Onbekend}\n        }",activate:"Activeren",ActivateELearning:"E-learning (de)activeren",active:"Actief",Active:"Actief",activities:"Activiteiten",activity:"Activiteit",activityName:"Naam activiteit",add:"toevoegen",Add:"Toevoegen",addAccreditation:"Accreditatie toevoegen",AddAFavoriteFirst:"Reset het filter en kies je eerste favoriete item!",addAnActivity:"Voeg een activiteit toe",addAnswer:"Antwoord toevoegen",addAssessment:"Beoordeling toevoegen",addAssessors:"Voeg gebruikers toe die anderen mogen toetsen",addAssets:"Hulpmiddelen toevoegen",addAttachments:"Bijlage(n) toevoegen",addBlock:"Blok toevoegen",addCategory:"Categorie toevoegen",addComment:"Opmerking toevoegen",addCourse:"Klassikale opleiding toevoegen",addEmployee:"Medewerker toevoegen",addExemption:"Vrijstelling toevoegen",addExternalCatalogItem:"Externe content toevoegen",addFiles:{one:"Selecteer bestand...",many:"Selecteer bestanden..."},addForm:"Formulier toevoegen",addGroup:"Groep toevoegen",addIndividuals:"Individuen toevoegen",Additional:"Extra",addMailTemplate:"E-mailsjabloon toevoegen",addNew:"Nieuwe toevoegen",AddNewsItem:"Nieuwsbericht toevoegen",addNewPrice:"Nieuwe prijs toevoegen",addOption:"Optie toevoegen",addPlanners:"Voeg gebruikers toe aan wie u planner-rechten wilt geven aan afdelingen",addPlanning:"Rooster toevoegen",AddPortalGroup:"Afdeling toevoegen",addQuestion:"Vraag toevoegen",address:"Adres",addressGroup:"Adresgegevens",addReservations:"Reserveringen toevoegen",addReviewers:'Voeg hier gebruikers toe die "alleen lezen" rechten op de afdelingen moeten hebben',addSchedule:"Sessie toevoegen",addSubcategory:"Subcategorie toevoegen",addTeacher:"Docent toevoegen",AddTextAndPressEnter:"Voer een tekst in en druk op ENTER",addTextField:"Tekstveld toevoegen",addTheorem:"Stelling toevoegen",addToVirtualQueue:"Ik heb interesse in deze training",addToVirtualQueueDialogHeader:"Interesse kenbaar maken voor dit catalogusitem?",addToVirtualQueueDialogMessage:"Jouw interesse voor dit catalogusitem wordt vastgelegd. Bij voldoende interesse kan besloten worden om in de toekomst nieuwe sessies beschikbaar te stellen.",addTraining:"Opleiding toevoegen",addUser:"Gebruiker toevoegen",addUsers:"Gebruikers toevoegen",administration:"Beheer",administrators:"Beheerders",administratorsAdd:"Beheerders toevoegen",advised:"Geadviseerd",agree:"Eens",all:"Alle",allAssignmentsAreDeleted:"Alle toewijzingen zijn verwijderd",allMandatoryFieldsMustBeFilled:"Alle verplichte velden moeten worden ingevuld",AlmostExpired:"Bijna verlopen",allDepartments:"Alle afdelingen",Allignment:"Uitlijning",allPresent:"Allemaal aanwezig",allowedToFollow:"Mag doen",allowMandatoryAssignments:"Verplichte toewijzingen",allowMandatoryAssignmentsDescription:"Zet verplicht maken van catalogusitems applicatiebreed aan of uit",allowNonExistingCombinations:"Niet bestaande combinaties toestaan",allowOnlyYourOwnNames:"Alleen eigen benamingen toestaan",allowQueue:"Wachtrij",AllowEnroll:"Inschrijven toestaan",AllowUnenroll:"Uitschrijven toestaan",allowVirtualQueue:"Interesselijst","allowVirtualQueue.explainer":"Gebruikers kunnen hun interesse kenbaar maken als er geen opleidingen gepland zijn",allQuestionsAreMandatory:"Alle vragen zijn verplicht",allTypes:"Alles",always:"Altijd",answerText:"Antwoord tekst",applicationParts:"Applicatie onderdelen",apply:"Toepassen",appointment:"afspraak",appointmentAt:"Afspraak op",approved:"Bekwaam",approvedDate:"Bekwaam datum",aProblemHasOccuredContactTheAdministrator:"Er is een probleem opgetreden. Neem contact op met de beheerder",archive:"Archief",AreYouSureYouWantToDeactivateThisPackage:"Weet u zeker dat u dit pakket wilt deactiveren?",AreYouSureYouWantToDeleteThisPackage:"Weet u zeker dat u dit pakket wilt verwijderen?",areYouSureYouWantToDelete_what_:"Weet u zeker dat u {what, select,\n            role {deze rol}\n            other {''{what}''}\n        } wilt verwijderen?",areYouSureYouWantToDeleteAllAssignmentsForThisAssessor:"Weet u zeker dat u alle toewijzingen voor deze beoordelaar wilt verwijderen?",areYouSureYouWantToDeleteThisAssessment:"Weet u zeker dat u deze beoordeling wilt verwijderen?",areYouSureYouWantToDeleteThisBlock:"Weet je zeker dat je dit blok wilt verwijderen?",areYouSureYouWantToDeleteThisCategory:"Weet u zeker dat u deze categorie wilt verwijderen",areYouSureYouWantToDeleteThisComment:"Weet u zeker dat u dit commentaar wilt verwijderen?",areYouSureYouWantToDeleteThisConnection:"Weet u zeker dat u deze toewijzing wilt verwijderen",areYouSureYouWantToDeleteThisForm:"Weet u zeker dat u dit formulier wilt verwijderen?",areYouSureYouWantToDeleteThisGroup:"Weet u zeker dat u deze groep wilt verwijderen",areYouSureYouWantToDeleteThisIndividualSkill:"Weet u zeker dat u deze individuele bekwaamheid wilt verwijderen",areYouSureYouWantToDeleteThisMessage:"Weet u zeker dat u dit bericht wilt verwijderen",areYouSureYouWantToDeleteThisQuestion:"Weet u zeker dat u deze vraag wilt verwijderen",areYouSureYouWantToDeleteThisSection:"Weet u zeker dat u dit blok wilt verwijderen",areYouSureYouWantToDeleteThisSkill:"Weet u zeker dat u deze bekwaamheid wilt verwijderen",areYouSureYouWantToDeleteThisTextField:"Weet u zeker dat u dit tekstveld wilt verwijderen",areYouSureYouWantToDisconnectThisEmployee:"Weet u zeker dat u deze medewerker wilt ontkoppelen?",areYouSureYouWantToUnsubscribe:"Weet u zeker dat u zich uit wilt schrijven?",are_you_sure_you_want_to_delete_this_accreditation:"Weet u zeker dat u deze accreditatie wilt verwijderen?",are_you_sure_you_want_to_delete_this_location:"Weet u zeker dat u deze locatie wilt verwijderen?",are_you_sure_you_want_to_delete_this_schedule:"Weet u zeker dat u deze sessie wilt verwijderen?",are_you_sure_you_want_to_delete_this_tool:"Weet u zeker dat u dit hulpmiddel wilt verwijderen?",are_you_sure_you_want_to_remove_this_user_from_list:"Weet u zeker dat u deze gebruiker uit de lijst wilt verwijderen?",areYouSureYouWantToUnregister:"Weet u zeker dat u zich wilt uitschrijven?",areYouSureYouWantToUnregisterThisStudent:"Weet u zeker dat u deze deelnemer wilt uitschrijven?",askPermission:"Toestemming aanvragen",assessedOn:"Beoordelingsdatum",assessEmployees:"Medewerkers beoordelen",assessment:"Beoordeling",assessmentName:"Naam beoordelingsformulier",assessmentDescription:"Beschrijving beoordeling",assessmentForm:"Beoordelingsformulier",assessmentsForms:"Beoordelingsformulieren",assessmentResult:"Beoordelingsresultaat",assessments:"Beoordelingen",assessmentIncomplete:"Beoordeling is niet volledig ingevuld",assessmentMustContainAtLeastOneSection:"Beoordeling moet tenminste één blok bevatten",assessmentSectionsMustContainAtLeastOneQuestion:"Blokken moeten tenminste één vraag bevatten",assessmentQuestionMustHaveYesNoOptions:"Vraag moet ja/nee als opties hebben",assessor:"Beoordelaar",assessors:"Toetsers",assessorsManagement:"Beoordelaarsbeheer",assessorsView:"Beoordelaarsweergave",assessorsViewManageAssignments:"Toewijzingen beheren",examinerWithName:"Toetser: {name}",examinerAppointments:"Toetsafspraken",examinerAppointmentsOverview:"Lijst van toetsafspraken",examinerFirstAvailableTimeSlot:"Eerst beschikbare tijdstip",examinermanagement:"Toetserbeheer",examinerNoLocation:"Geen locatie gevonden!",assign:"Toewijzen","assignMatrix.title":"{type, select,\n            department {Gehele afdeling}\n            group {Gebruiker / groep}\n            user {Gebruiker}\n            other {{type}}\n        }","assignMatrix.department.explainer":"Ongeacht functie",assignCatalogItems:"Catalogusitems toewijzen",assignCatalogItemsBulk:"Welke catalogusitems wil je toewijzen?",assignCatalogItemsBulkChooseDomain:"Kies een domein",assignCatalogItemsBulkChooseFunctions:"En aan welke functies?",assignCatalogItemsBulkMandatory:"Verplicht maken?",assignCatalogItemsBulkToDomainOrDepartment:"Wil je toewijzen op domein of afdeling / functie?",assignCatalogItemsBulkSelectAllFunctions:"Alle functies selecteren",assignCatalogItemsBulkWithDepartments:"Aan welke afdelingen wil je deze toewijzen?",AssignCertificateToSelectedCatalogItems:"Wijs certificaat toe aan geselecteerde catalogusitems",assignedTrainings:"Toegewezen opleidingen",assignEmployee:"Medewerker toewijzen",assignEmployees:"Medewerkers toewijzen",assignedIndividual:"Individueel toegewezen",assignedToFunction:"Toegewezen aan functie",assignIndividual:"Individu toewijzen",assignIndividuals:"Individuen toewijzen",assignManagers:"Toewijzen managers",assignments:"Toewijzingen",assignmentsIndividual:"Individuele toewijzingen",assignedTo:"Toegewezen aan",assignToDepartmentFunction:"Toewijzen aan afdeling / functie",asSoonAsAPlaceBecomesAvailableTheNextParticipantWillBeRegisteredAutomatically:"Als maximum aantal deelnemers is bereikt, kan een gebruiker zich inschrijven op de wachtrij om automatisch ingeschreven te worden zodra een plek vrij komt.",asSoonAsSpaceBecomesAvailableTheEntireQueueWillReceiveAnInvitation:"Zodra er plek vrijkomt krijgt de volledige wachtrij een uitnodiging",at:"om",atLeastOneFunctionMustBeSelected:"Er moet tenminste een functie geselecteerd worden.",atLeastOneBlockMustAdded:"Er moet tenminste een blok toegevoegd worden.",atLeastOneActivityMustAdded:"Er moet minimaal één activiteit aan het blok worden toegevoegd. In het geval van Basis/Vervolg moet zowel voor Basis als Vervolg tenminste een activiteit toegevoegd worden",attachedCertificate:"Gekoppeld certificaat",attachedUsers:"Gekoppelde medewerker(s)",attachments:"Bijlage(n)",attendanceList:"Presentielijst",attendees:"Aanwezigen",askAuthorizationToManager:"Er is toestemming nodig om deze e-learning te volgen, wil je deze aanvragen?",authorizationNeededByManager:"Autorisatie vereist door manager",authorizationRequest:"{ number, select,\n            1 {Beoordeel 1 verzoek}\n            other {Beoordeel {number} verzoeken}\n        }",AuthorizationRequests:"Autorisatie",AvailableLabels:"Beschikbare labels",AvailableVersions:"Beschikbare versies",beginDate:"Startdatum",beginTime:"Starttijd",back:"terug",Back:"Terug",basic:"Basis",belowYouCanSeeThePlanningOfYourLessons:"Rooster (indien van toepassing) en eventuele opmerking deelnemer",belowYouSeeTheListWhereYouNeedToUpdateThePresence:"Hieronder zie je de lijst waarvan je de presentie moet bijwerken",belowYouSeeThePlanningOfTheLessonsForWhichYouAreRegistered:"Hieronder zie je het rooster van de lessen waarvoor je ingeschreven bent",betaHeadline:"Benieuwd naar de nieuwe vormgeving? Probeer deze gerust uit!",bhpStatusEnrolled:"Ingeschreven",bhpStatusAchieved:"Behaald op",bhpValidity:"Geldigheid",block:"Blok",blockName:"Naam blok",Bold:"Vet",both:"Beide",bulkAssignmentsSaved:"Gelukt, catalogusitems zijn toegewezen",buy:"Betalen",by:"Door",calendar:"Kalender",calculateSupportColors:"Steunkleuren automatisch berekenen",cancel:"Annuleren",cancelled:"Geannuleerd",Cancelled:"Geannuleerd",cancelPendingRequest:"Wil je de lopende aanvraag intrekken?",cancelSchedule:"Planning annuleren",canTest:"Kan aftoetsen",capacity:"Capaciteit",capacityReached:"Rooster is vol",catalog:"Catalogus","catalog.fab.course":"Klassikale opleiding toevoegen","catalog.fab.elearning":"E‑learning (de)activeren","catalog.participants.heading.lastAction":"Laatste actie","catalog.participants.filter.action":"Actie","catalog.participants.filter.name":"Naam medewerker","catalog.participants.filter.dateFrom":"Datum vanaf","catalog.participants.filter.dateUntil":"Datum t/m","catalog.participants.heading.result":"Resultaat","catalog.participants.heading.bestResult":"Beste resultaat","catalog.participants.heading.expirationDate":"Verloopdatum","catalog.participants.heading.currentStatus":"Huidige status","catalog.participants.heading.date":"Datum",catalogAuthorizationRequests:"Catalogus autorisatieverzoeken",catalogAssignmentWarning:"Alle geselecteerde catalogusitems worden definitief toegewezen op basis van de gemaakte keuzes.",catalogAssignmentWarning2:"Dit kan alleen handmatig ongedaan gemaakt worden.",CatalogInterests:"Interesselijst",CatalogInterestsDetails:"Catalogusitems op jouw interesselijst",catalogItem:"Catalogusitem",catalogItemCompleted:" - laatst behaald op: ",catalogItemAboutToExpire:"Catalogusitem verloopt binnenkort!",catalogItemExpired:"Catalogusitem is verlopen!",catalogItemMandatory:"Catalogusitem is verplicht!",catalogItemPassed:"Catalogusitem behaald / voldaan","catalogItem.status":"{status, select,\n            disabled {[UITGESCHAKELD]}\n            deleted {[VERWIJDERD]}\n            other {}\n        }","catalogItem.replaces":"Deze cursus vervangt de volgende cursus(sen)","catalogItem.replacedBy":"Deze cursus is vervangen door de volgende cursus","catalogEdit.general":"Catalogusitem algemeen",categories:"Categorieën",categoriesNotFound:"Geen beschikbare categorieën gevonden",category:"Categorie",categoryAdd:"Categorie toevoegen",categoryDelete:"Categorie verwijderen",categoryDeleteWarning:"Weet je zeker dat je deze categorie wilt verwijderen?",categoryDeleted:"Categorie verwijderd",categoryEdit:"Categorie bewerken",categoryName:"Categorienaam",Center:"Centreren","cert-all":"Alles","cert-yes":"Alles met certificaat","cert-no":"Alles zonder certificaat",certificate:"Certificaat",certificates:"Certificaten",certificateApply1:"Het certificaat ''{certificaat}'' ",certificateApply2:"wordt toegepast op {number} catalogusitem(s).",certificateAssign:"Certificaten toewijzen",certificateDefinition:"Certificaatdefinitie",certificateDefinitions:"Certificaten",certificateDefinitions2:"Certificaatdefinities",certificateDeleteConfirm:"Weet u zeker dat u deze certificaat-definitie wilt verwijderen?",certificateDeleteWarning:"Deze definitie wordt {number} keer gebruikt in catalogusitems!",certificateHide:"Verberg items met certificaat:",certificateLabelDeleteHeader:"Geselecteerde label verwijderen?",certificateLabelDelete:"Wilt u dit label verwijderen?",certificateLabelNew:"Nieuw leeg label",certificateLabelUsername:"Label: gebruikersnaam",certificateLabelBirthdate:"Label: Geboortedatum",certificateLabelCoursename:"Label: Cursusnaam",certificateLabelResultdate:"Label: Datum behaald",certificateLabelPoints:"Label: Score",certificateShow:"Toon items met certificaat:",changeCategory:"Categorie wijzigen",changeComment:"Commentaar wijzigen",changed:"aangepast",changeOrder:"Volgorde wijzigen",changePassword:"Wijzig wachtwoord",changeProfile:"Wijzig profiel",changeYourPassword:"Wijzig uw wachtwoord",changeRegistration:"Inschrijving wijzigen",changeSsoAccount:"Wijzig account",checkAppointments:"Bestaande afspraken blijven staan!",checkPortfolioItems:"Controleer een dossieritem",checkPortfolioItemsPlural:"Controleer {number} dossieritems",chosenDate:"Gekozen datum",chosenTraining:"Gekozen opleiding",chooseAnEvaluationForm:"Kies een evaluatieformulier",chooseAnExaminer:"Kies een toetser",chooseATimeslot:"Kies een tijdstip",chooseASkillThatYouWantToLinkToTheFunctions:"Kies een bekwaamheid die je aan de functie wilt koppelen",chooseASkillThatYouWantToLinkToThisDepartment:"Kies een bekwaamheid die je aan deze afdeling wilt koppelen.",chooseCertificate:"Kies certificaat",chooseDateAndRegion:"Kies datum en regio voor het inplannen van een toetsmoment",chooseDeleteToPreventThisUserFromReviewingAnySkill:"Kies voor ''VERWIJDEREN'' om te zorgen dat deze gebruiker nergens meer mag beoordelen.",chooseFunctions:"Kies functies",chooseImportToMakeThisUsersAnAssessorForTheSameActivitiesAsAnotherUser:"Kies voor ''IMPORTEREN'' om deze gebruiker beoordelaar te maken bij dezelfde activiteiten als een andere gebruiker.",choosePortfolioDefinition:"Kies een dossieritem definitie",ChooseWhichRolesYouWantToUncouple:"Kies welke rollen u wilt ontkoppelen",city:"Stad",class:"Klas",classDeleted:"Klas verwijderd",classes:"Klassen",classical:"Klassikaal",Classical:"Klassikaal",classicalTheoryLesson:"Klassikale theorieles",classroom:"Klassikaal",Classroom:"Klassikaal","classroom.conflictMessage.maxCapacityLowerThanMinCapacity":"Max. aantal deelnemers is lager dan min. aantal deelnemers","classroom.teacheroverviewfilter.all":"Alles","classroom.teacheroverviewfilter.active":"Actief","classroom.teacheroverviewfilter.cancelled":"Geannuleerd",ClassroomActivities:"Klassikale activiteiten",ClassroomActivity:"Klassikale activiteit",ClassroomCancel:"Klassikale opleiding annuleren",ClassroomDequeue:"Uitschrijven van wachtrij",ClassroomEnroll:"Inschrijven bij klassikale opleiding",ClassroomEnqueue:"Inschrijven op wachtrij",ClassroomExaminerActivity:"Klassikale- en toetsactiviteiten",ClassroomUnenroll:"Uitschrijven bij klassikale opleiding",classroomTraining:"Klassikale opleidingen",classroomTypes:"Klassikaal",clear:"Vrijmaken",ClearImage:"Verwijder afbeelding",ClearList:"Leeg lijst",clickOnRegisterToRegisterYourself:"Klik op ''INSCHRIJVEN'' om u zelf in te schrijven.",close:"Afsluiten",closeDown:"Sluiten",closeRegistration:"Inschrijving sluiten",code:"code",Code:"Code",combineSkillExams:"Toetsmomenten combineren",colleague:"Collega",color:"Kleur",comment:"Opmerking",commentDate:"Datum van de opmerking",comments:"Opmerkingen",communication:"Communicatie",compatibility:"Compatibiliteit",complete:"Volledig",completed:"Voldaan",Completed:"Afgehandeld",completedStatus:"Voldaan",completionDate:"Afrondingsdatum","components.acaDepartmentSearch.label":"Zoek op (sub)afdeling",composition:"e-Learning",compulsory:"Verplicht",compulsoryNumber:"Aantal verplicht",confirm:"Bevestigen",confirmDelete:"Weet u zeker dat u ''{name}'' wilt verwijderen?",ConfirmNewPassword:"Bevestig nieuw wachtwoord",ConfirmUnenroll:"Weet u zeker dat u wilt uitschrijven?",ConflictingEnrollmentFound:"Er is een conflicterende inschrijving gevonden",ConflictingSchedule:"Kan schema niet aanmaken omdat deze conflicteert met een bestaand schema.",connect:"Koppelen",connected:"Gekoppeld",connectFunctions:"Functies koppelen",connectSkill:"Bekwaamheid koppelen",contactGroup:"Contact",contactInformation:"Contactinformatie",contentEndDate:"Deze cursus is vanaf datum {date} niet meer te starten!",contentExpired:"Deze cursus is verlopen en kan daarom niet meer gestart worden!",contents:"Inhoud",continue:"Doorgaan",copied:"Gekopieerd",copy:"Kopiëren",copyAssignments:"Toewijzingen kopiëren",copyAssignmentsToOtherUsers:"Toewijzingen kopiëren naar andere gebruikers",copyNoun:"Kopie",country:"Land",course:"Klassikale opleiding",courseHasBeenReplaced:"Deze cursus is vervangen door",CourseProvider:"Cursusaanbieder",courseResetTitle:"Gebruiker mag voortgang training resetten",courseResetAllow:"Mag altijd",courseResetDeny:"Mag nooit",courseResetDefault:"Afhankelijk van globale instelling",courses:"Klassikale opleidingen",courseSelected:"opleiding geselecteerd",Costs:"Kosten",created:"Gestart",creationDate:"Aanmaakdatum",createNewSkill:"Maak nieuwe bekwaamheid",createNewAssessment:"Maak nieuwe beoordeling",createNewForm:"Maak nieuw formulier",current:"Actueel",currentRegistrations:"Actuele inschrijvingen",CurrentPassword:"Huidig wachtwoord",currentStartDates:"Actuele startdata",currentStatus:"Huidige status",dashboard:"Dashboard","dashboard.widgets.adminnotification.title":"Weekplanning","dashboard.widgets.adminnotification.subtitle":"Bekijk alle waarschuwingen","dashboard.widgets.notification.title":"Mijn berichten","dashboard.widgets.notification.subtitle":"Bekijk ongelezen berichten",dashboardLinks:"Dashboard links",dashboardTitle:"Dashboard welkomsttekst",dashboardTile:"Deze tekst wordt bovenaan het dashboard getoond","dashboard.widget.hl.traject":"Mijn leertraject(en)","dashboard.widget.hl.community":"Community",date:"Datum",dateAndInfo:"Datum & info",DateAndTime:"Datum & tijd",dateAscending:"Datum oplopend",dateDescending:"Datum aflopend",dateIsNotKnown:"Datum is niet bekend",dateOfAssessment:"Beoordelingsdatum",dateOfBirth:"Geboortedatum",dateOfExpiry:"Verloopdatum",dateShownInterest:"Interesse getoond op",dateStatusFrom:"Datum status vanaf:",dateStatusTill:"Datum status t/m:",dateToExpire:"Gaat binnen {number} maanden verlopen",day:"Dag",dayAbout:"{number} dag",dayAgo:"{number} dag geleden",dayClassroomTraining:"daagse klassikale opleiding",dayParts:"dagdelen",days:"Dagen",daysAbout:"{number} dagen",daysAgo:"{number} dagen geleden",Deactivate:"Deactiveer",DeactivatePackage:"Deactiveer pakket",definitionAvailable:"Beschikbaar",definitionAllowMultiple:"Meerdere aanvragen mogelijk",definitionReviewByTeacher:"Beoordelen door docent",definitionReviewByManager:"Beoordelen door manager",definitionAcceptByTeacher:"Accepteren door docent",definitionAcceptByManager:"Accepteren door manager",delete:"Verwijderen",deleteAnswer:"Antwoord verwijderen",deleteAllAssignments:"Verwijder alle toewijzingen",deleteAllAssignmentsForThisExaminer:"Alle toewijzingen voor deze beoordelaar verwijderen",deleteApprovalDate:"Basisdatum opnieuw berekenen",deleteAuthSingle:"U staat op het punt om {number} verzoek te verwijderen",deleteAuthPlural:"U staat op het punt om {number} verzoeken te verwijderen",delete_what_:"{what, select,\n            role {Rol}\n            other {Item}\n        } verwijderen",deleteAssessment:"Beoordeling verwijderen",deleteAssessor:"Beoordelaar verwijderen",deleteAssignments:"Toewijzingen verwijderen",deleteCategory:"Categorie verwijderen",deleteExistingAssignments:"Bestaande toewijzingen verwijderen",deleteForm:"Formulier verwijderen",deleted:"Verwijderd",deleteConfirmationForAssignmentForCatalogItem:"Weet u zeker dat u de toewijzing voor de opleiding ''{catalogItemName}'' wilt verwijderen?",deleteConfirmationForAllCatalogAssignments:"Weet u zeker dat je alle toewijzingen van dit catalogusitem wilt\n                        verwijderen? Dat betekent dat dit catalogusitem aan geen enkele afdeling, functie,\n                        groep of gebruiker meer toegewezen is. Geen enkele gebruiker kan dit\n                        catalogusitem dan vinden in de catalogus (exclusief beheerder)",deleteConfirmationForAssignmentForGroups:"Weet u zeker dat u de toewijzing voor de afdeling/klas ''{groupName}'' wilt verwijderen?",deleteConfirmationForAssignmentForUsers:"Weet u zeker dat u de toewijzing voor de gebruiker/groep ''{displayName}'' wilt verwijderen?",deleteConfirmationForAdmin:"Weet u zeker dat u de gebruiker/groep ''{displayName}'' wilt verwijderen uit beheerders?",deleteConfirmationForAssessors:"Weet u zeker dat u de gebruiker/groep ''{displayName}'' wilt verwijderen uit toetsers?",deleteConfirmationForAssessorActivity:"Weet je zeker dat je de activiteit ''{displayName}'' uit de beoordelaar wilt verwijderen?",deleteConfirmationForDepartmentReviewers:"Weet u zeker dat u de gebruiker/groep ''{displayName}'' wilt verwijderen uit afdeling rapporteurs?",deleteConfirmationForPlanners:"Weet u zeker dat u de gebruiker/groep ''{displayName}'' wilt verwijderen uit planners?",deleteConfirmationForResult:"Weet u zeker dat u het resultaat wilt verwijderen voor ''{groupName}''?",deleteBasicApprovalDate:"Weet u zeker dat u de basisdatum van ''{groupName}'' opnieuw wilt berekenen?",deleteGroup:"Groep verwijderen",DeleteNewsItem:"Weet u zeker dat u nieuwsbericht ''{newsItemTitle}'' wilt verwijderen?",deleteConfirmationForLink:"Weet u zeker dat u deze link ''{link}'' wilt verwijderen?",deleteOption:"Optie verwijderen",DeletePackage:"Verwijder pakket",DeletePortalGroup:"Weet u zeker dat u afdeling ''{portalGroupName}'' wilt verwijderen?",deletePortfolio:"Weet u zeker dat u dit dossieritem wilt verwijderen?",deletePortfolioDefinition:"Weet u zeker dat u deze dossierdefinitie wilt verwijderen?",deletedPortfolioDefinition:"Dossierdefinitie verwijderd",deleteQuestion:"Vraag verwijderen",deleteSchedule:"Sessie verwijderen",deleteSection:"Blok verwijderen",deleteSkill:"Bekwaamheid verwijderen",deleteSkillAssignment:"Toewijzing verwijderen",deleteTextField:"Tekstveld verwijderen",deleteMessage:"Bericht verwijderen",deleteUser:"Gebruiker verwijderen",department:"Afdeling",departmentDeleted:"Afdeling verwijderd",departmentFunction:"Afdeling / functie",departmentNoActiveMembers:"De gekozen afdeling heeft geen (actieve) gebruikers",departments:"Afdelingen","departmentSaveMessage.added":"Afdeling succesvol opgeslagen","departmentSaveMessage.deleted":"Afdeling succesvol verwijderd","departmentSaveMessage.conflict":"Er bestaat al een afdeling met dezelfde naam","departmentSaveMessage.generalError":"Er is een probleem opgetreden. Neem contact op met de beheerder",departmentsSelectAll:"Alle afdelingen selecteren",departmentReviewers:"Afdeling rapporteurs",dequeue:"Uit wachtrij",description:"Omschrijving",disagree:"Oneens",DirectLink:"Directe link",disable:"Deactiveren",disableAccount:"Account deactiveren",disabledAccount:"Uitgeschakeld account",disableUserAccountDialog:"Account deactiveren",disableUserAccountPerDate:"Account deactiveren vanaf",discard:"Niet opslaan",discardChanges:"U heeft wijzigingen gemaakt en deze nog niet opgeslagen. Als u dit scherm nu verlaat, worden de wijzigingen niet opgeslagen.",discardChangesShort:"Niet opgeslagen wijzigingen gaan verloren.",disconnectEmployee:"Medewerker ontkoppelen?",disconnectIndividual:"Individu ontkoppelen",displayName:"Volledige naam",displayFromDate:"Weergave vanaf",displayUntilDate:"Weergave tot",displaySettings:"Weergave instellingen",documents:"Documenten",documentDeleted:"Document verwijderd",documentAlwaysVisible:"Document altijd zichtbaar",documentVisibleAfterRegistration:"Document zichtbaar na inschrijving",domain:"Domein",done:"Klaar",DoNotShowThisVideoAnymore:"Laat deze video niet meer zien",DoubleTeacher:"Dubbele docent",DoubleLocation:"Dubbele locatie",down:"Omlaag",download:"Downloaden",downloadCertificate:"Download certificaat",downloadCertificates:"Download certificaten",downloadCertificatesNoAttendance:"Er zijn nog geen deelnemers aanwezig gemeld",downloadAttendanceList:"Download presentielijst",downloadAttendanceListDescription:"Kies hieronder welke additionele informatie u aan het rapport wilt toevoegen",dragAndDrop:"Slepen en neerzetten",duplicate:"Dupliceren",duplicateAssessor:"Beoordelaar dupliceren",duplicateBlock:"Blok dupliceren",duplicatePlanning:"Planning dupliceren",duplicateQuestion:"Vraag dupliceren",duplicateTextField:"Tekstveld dupliceren",duration:"Looptijd","duration.start":"Looptijd start datum","duration.end":"Looptijd eind datum",edit:"Bewerken",editAccreditation:"Bewerk accreditatie",editApprovalDate:"Basisdatum aanpassen",editAssessment:"Beoordeling bewerken",editBlockTitle:"Bloktitel bewerken",editCatalog:"Bewerk catalogus",editCategory:"Categorie bewerken",editCourse:"Klassikale opleiding bewerken",editEvaluationForm:"Evaluatieformulier bewerken",editForm:"Formulier bewerken",editLink:"Link bewerken",editLocation:"Locatie bewerken",EditNewsItem:"Nieuwsbericht wijzigen",editOption:"Optie bewerken",editPlanning:"Rooster bewerken",EditPortalGroup:"Afdeling bewerken",editQuestion:"Vraag bewerken",editSkill:"Bekwaamheid bewerken",editTool:"Hulpmiddel bewerken",elearning:"E-learning",elearningmanagement:"E-learningbeheer",elearningReset:"E-learning reset",enrollDepartmentUsers:"Medewerkers van de afdeling inschrijven",Error404:"Fout 404",email:"E-mail",emailaddress:"E-mailadres",emailWork:"E-mail werk",emailPrivate:"Privé e-mail",employee:"Medewerker",employeeAndRoleAreMandatory:"Medewerker en rol zijn verplicht",employeeNumber:"Personeelsnummer (gebruikersnaam)",employees:"Medewerkers",enableAccount:"Account activeren",end:"Eind",endDate:"Einddatum",endTime:"Eindtijd",enqueue:"In wachtrij",enroll:"Inschrijven",enrollAnotherEmployeeAfterProcessing:"Na verwerking nog een medewerker inschrijven",enrollEmployees:"Medewerkers inschrijven",enrollment:"Inschrijfbevestiging",enrollmentFailed:"Inschrijving niet mogelijk",enrollmentSucceeded:"Inschrijving geslaagd",Enrollments:"Inschrijvingen",enrollmentDeadline:"Inschrijftermijn",errorEnrolling:"Er is iets foutgegaan bij het inschrijven, inschrijving is ongedaan gemaakt!",enrollmentDeadlineInDays:"Inschrijftermijn in dagen",enrollReservationError:"{ status, select,\n            NotExists {Reserveringscode bestaat niet}\n            Expired {Reserveringscode is verlopen}\n            AlreadyUsed {Reserveringscode is al gebruikt}\n            AlreadyEnrolled {Persoon die je probeert in te schrijvern is al ingeschreven}\n            NoValidSchedule {Planning is ongeldig of is al geweest}\n            other {{status}}\n        }",enterReviews:"Beoordelingen",entire:"Gehele",errorDownloadingFile:"Fout bij downloaden! Melding:",errorMessageText:"Waarschuwingstekst (te gebruiken bij o.a. storing)",errorMessageTextHeadline:"Waarschuwingstekst",errorMessageTextSubtitle:"Opvallende melding bovenaan iedere pagina",errorNavigateToElearning:"De e-learning kan niet gestart worden",evaluateTheCoursesThatYouHaveAccomplished:"Evalueer de cursussen die u heeft gevolgd",evaluation:"Evaluatie",evaluationFormName:"Evaluatie formulier naam",evaluations:"Evaluaties",evaluationForm:"Evaluatieformulier",evaluationForms:"Evaluatieformulieren",everyoneVisible:"Iedereen zichtbaar",examUpdated:"Toetsresultaat bijgewerkt",examiner:"Beoordelaar",Examiner_not_found_in_activity:"Toetser was niet gekoppeld aan deze activiteit",Examiner_region_description_address_required:"Adres is verplicht",ExaminerNotFoundInActivity:"Toetser was niet gekoppeld aan deze activiteit",examinerReview:"Beoordelingsaanvraag",examinerReviews:"Beoordelingsaanvragen",examinerReviewDescription:"U heeft één openstaande beoordelingsaanvraag",examinerReviewDescriptionPlural:"U heeft {number} openstaande beoordelingsaanvragen",examiners:"Beoordelaars",examinersCannotBeUsed:"Er zijn beoordelaars toegewezen aan activiteiten van deze bekwaamheid. Het is daarom niet mogelijk om de toetser functionaliteit te activeren. Verwijder eerst de beoordelaars.",examinersUserCanSelectTimeSlot:"Gebruiker kan tijdslot kiezen",examinersUserCanSelectExaminer:"Gebruiker kan toetser kiezen",examinersUserCanCombineExams:"Gebruiker kan toetsmomenten combineren",examinersStandardDurationTimeSlot:"Standaard duur toetsblok in minuten",examinersStandardDurationExam:"Standaard duur toets",examinersRegionLocation:"Regio / locatie",examinersRegionsLocations:"Regios / locaties",examinersAddRegionLocation:"Regio / locatie toevoegen",examinersDeleteRegionLocation:'Regio / locatie "{location}" verwijderen?',examinersAddAvailability:"Voeg beschikbaarheid toe",examinersEditAvailability:"Beschikbaarheid bewerken",examinersAddSchedule:"Voeg een schema toe",examinersScheduleDetails:"Activiteiten op {date} - {timeslot}",examinersNoReservations:"Geen reserveringen",examinersHasReservations:"Wel reserveringen",examinersDeleteCurrentSchedule:"Huidig schema verwijderen?",examinersPlannedExams:"Ingeplande toetsmomenten",examinersAvailability:"Beschikbaarheid",examinerScheduleMandatoryStartEndDate:"Vul een begin en eind datum/tijd in",examinerScheduleSameStartEndTime:"Start en eindtijd mogen niet gelijk zijn",examinerScheduleStartEndDateNotTheSame:"Start en einddatum moeten gelijk zijn",examinerScheduleEndDateBeforeStartDate:"Einddatum mag niet voor begindatum liggen",examinerScheduleNoRegion:"Regio is verplicht",examinerAvailableSpace:"Er is tijd vrij bij een eerder gepland toetsmoment, wil je toetsen combineren?",examinerValidResult:"Je hebt nog een resultaat wat geldig is tot {date}. Toch een nieuwe afspraak inplannen?",examinerCombineTest:"Toetsmoment combineren?",examinerCombineTestYes:"Ja, combineer toetsen",examinerCombineTestNo:"Nee, nieuw toetsmoment inplannen",examinerDurationOfTheExam:"Duur van het toetsmoment (minuten)",examinerNewAppointment:"Nieuwe afspraak",examinerCombineToWhichAppointment:"Aan welk toetsmoment wil je deze toevoegen?","examiner.appointment.activity":"Wil je de activiteit ","examiner.appointment.combine":"combineren met het onderstaande toetsmoment?","examiner.appointment.examiner":"Toetser: ","examiner.appointment.dateTime":"Datum en tijd: ","examiner.appointment.regionLocation":"Regio / locatie: ",examinerNoAppointmentsTitle:"Ingeplande toetsmomenten",examinerNoAppointmentsDescription:"Er zijn geen ingeplande toetsmomenten gevonden",examinerDeleteAppointment:"Toetsmoment verwijderen?",exceededRegistrationPeriod:"Het is niet meer mogelijk je in te schrijven.",exceededUnRegistrationPeriod:'Je wilt een deelnemer uitschrijven of overschrijven maar de uitschrijf termijn is bereikt. "Je kan een deelnemer niet meer uitschrijven. Neem contact op met de opleiders."',exceededUnRegistrationPeriodSelf:'Je wilt jezelf uitschrijven of overschrijven maar de uitschrijf termijn is bereikt. "Je kan niet meer jezelf uitschrijven. Neem contact op met de opleiders."',exemption:"Vrijstelling",exemptionEdit:"Vrijstelling geven",exemptionsHaveBeenGranted:"Vrijstellingen zijn verleend. Let op, het kan enkele minuten duren voordat dit zichtbaar is in het bekwaamheidspaspoort",exemptionUntil_date_:"Vrijstelling tot {date}",exemptionValidTill:"Vrijstelling tot",expertise:"Dossier-item",expertiseDeleted:"Expertise verwijderd",expertiseTodoTasks:"U heeft de volgende taken:",Expertises_accept:"Dossieritems accepteren",Expertises_authorize:"Dossieritems autoriseren",Expertises_review:"Dossieritems beoordelen",Expertises_updated_status:"Dossiertaken bijgewerkt",expirationDate:"Verloopdatum",expirationPeriod:"Verloopperiode",existingAssignments:"Bestaande toewijzingen",ExpirationPeriod:"Verloopperiode",expires:"Verloopt",expiresOn:"Verloopt op",expiresOn_date_:"Verloopt op {date}",expired:"Verlopen",expiredOn_date_:"Verlopen op {date}",explanationOrquestion:"Toelichting/vraag",export:"Exporteren",exportOptions:"Export opties",exportAssignments:"Toewijzingen exporteren",exportAssignmentsToOtherUsers:"Toewijzingen exporteren naar andere gebruikers",exportPDF:"PDF exporteren",extendExpirationDate:"Verloopdatum verlengen",ExternalRegistrationNumber:"{name}-nummer",ExtraOptions:"Extra opties",ExternalCost:"Externe kosten",failed:"Gezakt",Failed:"Gezakt",false:"nee",favoriteTrainings:"Favorieten",FavoriteWidgetInfo:"Bekijk jouw favoriete catalogusitems",FailedAlreadyRegistered:"Al ingeschreven",FailedAlreadyRegisteredOnThisPlanning:"De persoon is al ingeschreven op dit rooster.",FailedCapacityReachedPlanningIsFull:"De persoon kan niet worden ingeschreven op dit rooster, want dit rooster is al vol.",FailedConflictingEnrollmentOnOtherCourse:"Al ingeschreven op een andere cursus.",FailedMaxNumRegistrationsReachedOnCourse:"De persoon kan niet worden ingeschreven op dit rooster, want het maximaal aantal inschrijvingen van de cursus is bereikt.",filterByDate:"Filter op datum",filterOnCatalogName:"Filter op catalogusnaam",filterOnCategory:"Filter categorie",filterOnCategories:"Filter op categorieën",filterOnCategoryOrSkill:"Filter op categorie of bekwaamheid",filterOnCluster:"Filter cluster",filterOnDepartmentName:"Filter op afdelingsnaam",filterOnFunction:"Filter op functie",filterOnName:"Filter op naam",filterOnDescription:"Filter op omschrijving",filterOnSkill:"Filter bekwaamheid",filter:"Filter",filters:"Filters",findUnderlyingDepartment:"Zoek onderliggende afdeling",finished:"afgerond",firstName:"Voornaam",fivePointLikertScale:"5-Punts Likertschaal",Float:"Richting",font:"Lettertype",forbidden:"Geen toegang",forbiddenDepartment:"U bent niet bevoegd om deze afdeling in te zien.",forms:"Formulieren",formIncomplete:"Formulier is niet volledig ingevuld",formName:"Naam formulier",formDescription:"Beschrijving formulier",formMustContainAtLeastOneSection:"Formulier moet minstens 1 blok bevatten",formSectionsMustContainAtLeastOneQuestion:"Blokken moeten minstens 1 vraag bevatten",from:"van",fromMax:"van max.",fromNow:"Vanaf nu",fromTime:"Vanaf",Full:"Uitvullen",fullProfile:"Volledig profiel",function:"Functie",functions:"Functies",functionsManagement:"Functies beheren",fromLeft:"Vanaf links",fromTop:"Vanaf bovenkant",general:"Algemeen",getPwa:"Installeer app",getContactIfQuestion:"Neem bij vragen contact op met de beheerder",giveManagersRightsToSubDepartments:"Geef managers ook rechten op onderliggende afdelingen",gotoCatalogitem:"Naar catalogusitem",gotoChildLevel:"Ga naar onderliggend niveau",gotoReport:"Naar rapport",group:"Groep",groupName:"Groepsnaam",groups:"Groepen",groupEnrollmentTitle:"Kies op welk rooster je de medewerkers van de geselecteerde afdeling in wilt schrijven",groupEnrollmentEmptyPlanning:"Nog geen deelnemers ingeschreven",HasTaggedRegistration:"HasTaggedRegistration",Headings:"Kopteksten",headingColor:"Titelkleur",Help:"Ondersteuning",hideNoActionNotAssigned:"Verberg niets gedaan / niet toegewezen",hideNotAssigned:"Verberg niet toegewezen / niet van toepassing",hlapps:"Werk- & leervormen","hlapps.back":"Terug naar Werk- & Leervormen","hlapps.back.mobile":"Werk- & Leervormen","hlapps.name":"{id, select,\n            1 {Community}\n            2 {Leer- & Ontwikkelscan}\n            12 {Box}\n            13 {Kracht- & Ontwikkelpunten}\n            17 {Mijn Leertraject}\n            other {Werk- & Leervorm}\n        }","hlapps.subtitle":"{id, select,\n            1 {Onmoet elkaar online}\n            2 {Maak ontwikkeling zichtbaar}\n            12 {Raadpleeg broninformatie}\n            13 {Ga voor persoonlijke groei}\n            17 {Bekijk jouw opleidingsoverzicht}\n            other {''{id}''}\n        }","hlapps.rib":"Dagstart & Reflectie","hlapps.rib.sub":"Deel praktijksituaties","hlapps.obs":"Online Beeldsessie","hlapps.obs.sub":"Ga in gesprek","hlapps.userman":"Gebruikersbeheer","hlapps.userman.sub":"Wie doen er mee?","hlapps.productman":"Productbeheer","hlapps.productman.sub":"Wat gaan we doen?",helpAndFeedback:"Hulp en feedback",hereYouFindAnOverviewOfAllAvailableElearningTrainingsExpertiseItemsAndClassActivities:"Hier vindt u een overzicht van alle beschikbare e-learning opleidingen, expertise items en klassikale activiteiten",hereYouFindAnOverviewOfAllAvailableDepartments:"Hier vindt u een overzicht van alle beschikbare afdelingen",hereYouFindAnOverviewOfAllAvailableFunctions:"Alle beschikbare functies",hereYouFindAnOverviewOfAllAvailableTrainings:"Hier vindt u een overzicht van de beschikbare formele opleidingen, e-learning en klassikaal.",hereYouFindAnOverviewOfTheDepartmentsWhereYouAreAManager:"Hier vindt u een overzicht van de afdelingen waar u manager van bent",hereYouFindAnOverviewOfTheDepartmentsWhereYouWork:"Hier vindt u een overzicht van de afdelingen waar u werkt",hereBelowYouCanUpdateTheAttendanceOfTheParticipants:"Hieronder kunt u de presentie van de deelnemers bijwerken.",hour:"Uur",hourAbout:"{number} uur",hourAgo:"{number} uur geleden",hours:"Uren",hoursAbout:"{number} uur",hoursAgo:"{number} uren geleden",hundredPercentVisibleInProportion:"100% zichtbaar, in verhouding",hundredVisibleStretched:"100% zichtbaar, opgerekt",ifTheMaximumNumberOfParticipantsIsReachedRegistrationWillClose:"Indien maximum aantal deelnemers is bereikt, sluit inschrijving",ignore:"Negeren",ignoreChanges:"Wijzigingen negeren?",insufficientRightsText:"Je hebt niet genoeg rechten voor deze pagina.",insufficientRightsTitle:"Niet genoeg rechten",Image:"Afbeelding","importmanagement.classroomResults":"Klassikale resultaten","importmanagement.confirm.beware":"LET OP!","importmanagement.confirm.areYouSure":"Weet je zeker dat je het zojuist gekozen bestand wilt importeren?","importmanagement.confirm.overwrite":"Reeds bestaande data (met bijv. een andere geldigheid) kan mogelijk overgeschreven worden door deze import.","importmanagement.confirm.lost":"Dat betekent dat eventuele voortgang en resultaten verloren kunnen gaan.","importmanagement.confirm.noReturn":"Dit kan NIET ongedaan gemaakt worden!","importmanagement.confirm.startImport":"Ik weet het zeker, start import","importmanagement.details":"Details","importmanagement.disclaimer":"Ik neem volledige verantwoordelijkheid voor de data die ik importeer en de daaruit voortvloeiende gevolgen","importmanagement.dossierItems":"Dossieritems","importmanagement.elearningResults":"E-learning resultaten","importmanagement.error":"Fout","importmanagement.exemptions":"Vrijstellingen (bekwaamheden)","importmanagement.fileUpload":"Upload importbestand (.csv)","importmanagement.heading.date":"Datum","importmanagement.heading.result":"Resultaat","importmanagement.heading.type":"Import type","importmanagement.newImport":"Nieuwe import","importmanagement.notImported":"NIET geïmporteerd","importmanagement.whatDomain":"In welk domein wil je importeren?","importmanagement.whatToImport":"Wat wil je importeren?","importmanagement.errorCode":"{error, select,\n            ERR0 {bestandsstructuur niet juist}\n            ERR1 {niet bestaande medewerkers geconstateerd}\n            ERR2 {niet bestaande bekwaamheden geconstateerd}\n            ERR3 {niet gekoppelde bekwaamheden geconstateerd}\n            ERR4 {academyInfo niet gevonden}\n            ERR6 {niet bestaande catalogusitems geconstateerd}\n            ERR7 {niet bestaande dossier definities geconstateerd}\n            other {{error}}\n        }","importmanagement.status":"{statusId, select,\n            0 {Importbestand geüpload}\n            1 {Bestand wordt gecontroleerd...}\n            2 {Gebruikers bestaan}\n            3 {Bekwaamheden bestaan}\n            4 {Bekwaamheden toegewezen aan gebruikers}\n            5 {Import mislukt}\n            6 {Import bezig...}\n            7 {Import gelukt}\n            8 {Geïmporteerd met fouten}\n            other {{statusId}}\n        }","importmanagement.type":"{typeId, select,\n            0 {E-learning resultaten}\n            1 {Vrijstellingen (bekwaamheden)}\n            2 {Klassikaal}\n            3 {Klassikale resultaten}\n            4 {Dossieritems}\n            other {{typeId}}\n        }",import:"Importeren",imported:"import",importAssignments:"Toewijzingen importeren",importAssignmentsFromOtherUsers:"Toewijzingen importeren van een andere gebruiker",Inactive:"Inactief",inapplicable:"Deze bekwaamheid is niet van toepassing",inapplicable2:"Niet van toepassing",includeChildDepartments:"Incl onderliggend",includeSubdepartments:"Inclusief subafdelingen",Indent:"Inspringing vergroten",individual:"Individu",individual2:"Individueel",individuals:"Individuen",information:"Information",informationCancelPlanning:"Weet u zeker dat u deze planning wilt annuleren? U zult de deelnemers van deze planning moeten uitschrijven of overplaatsen naar een andere planning.",informationForYou:"Meer informatie voor jou",inheritAssignments:"Toewijzingen overnemen",inheritAssignmentsFromOtherUsers:"Toewijzingen overnemen van andere gebruikers",initials:"Initialen",inShort:"In het kort",institution:"Instelling",Intake:"Intake",InternalCost:"Interne kosten",introductionVideo:"Introductievideo SDB Leerplatform",invalidDate:"Ongeldige datum",invalidUrl:"Ongeldige URL",isExemptFromPayment:"Hoeft niet af te rekenen",isGoingToExpire:"Gaat verlopen",Italic:"Cursief",Justify:"Uitvullen",keepOpen:"Open houden",lastLoginDate:"Laatste inlogdatum",lastName:"Achternaam",lastNamePrefix:"Voorvoegsel",lastResult:"Laatste resultaat",lastReviewDate:"Laatste beoordelingsdatum",lastSuccessfulMark:"Laatste succesvolle beoordeling",learningplan:"e-Learning",Learningplan:"e-Learning",LearningPoints:"Leerpunten",learningplanTypes:"e-Learning",learningProgram:"Leerprogramma",Left:"Links",lesson:"les",lessons:"lessen",likert:"Likert-schaal",likertInfo:'Gebruikers kunnen hun mening op bijv. een stelling geven via een Likert-schaal. Deze bestaat uit 5 opties, van "Helemaal oneens" tot "Helemaal eens". Voeg eenvoudig meerdere vragen toe om een groep te creeren.',Link:"Hyperlink",linkMustBeginWith:"Link moet beginnen met http:// of https://",listOfInterestedUsers:"Geïnteresseerde gebruikers",listOfInterestedUsersInCourse:"Geïnteresseerde gebruikers in cursus",location:"Locatie",locationDeleted:"Locatie verwijderd",locations:"Locaties",login:"Inloggen",loginSetting:"Heet de gebruiker welkom op het loginscherm",loginDescription:"Deze uitlegtekst voor de inlog is per portaal instelbaar",mailTemplates:"E-mailsjablonen",MailTemplateType:"{type, select,\n            ClassroomEnqueue {Inschrijfbevestiging (Wachtrij)}\n            ClassroomDequeue {Uitschrijfbevestiging (Wachtrij)}\n            ClassroomEnroll {Inschrijfbevestiging}\n            ClassroomUnenroll {Uitschrijfbevestiging}\n            ClassroomTransfer {Overschrijfbevestiging}\n            ClassroomCancel {Annuleringsbevestiging}\n            ClassroomReminder {Herinneringsmail}\n            other {{type}}\n        }",makeAppointment:"Klik om een afspraak te maken",makeAChoice:"Maak een keuze",manageUsers:"Gebruikers beheren",managerGroups:"afdelingen",managersAreAllowedToAssignCatalogItems:"Managers mogen catalogusitems toewijzen",managersMayNotAssign:"Managers mogen niet toewijzen",manageSkills:"Bekwaamheden beheren",mandatory:"Verplicht",mandatoryFieldsMustBeCompleted:"Verplichte velden moeten ingevuld worden",mandatoryFrom:"Verplicht vanaf",mandatoryNotMandatory:"Verplicht / niet verplicht",mandatoryTrainings:"Verplichte opleidingen",mandatoryTrainingsShort:"Verpl. opleidingen",MandatoryTrainingsSubtitle:"Begin er op tijd aan!",manual:"Handleiding",markAsRead:"Mark as unread",markAsUnread:"Markeren als ongelezen",maxAmount:"Maximum aantal",maxAttachmentFileSize:"De totale grootte van de bestanden mag niet groter zijn dan 50 MB",maxCapacity:"Maximum aantal deelnemers",maxCapacityMustBeHigherThanMinCapacity:"Maximum aantal is verplicht en moet hoger zijn dan minimum aantal",maximum:"maximaal",maxNumberOfEnrollmentsPerParticipant:"Max. inschrijvingen per deelnemer",MaxNumberOfParticipantsReached:"Max. aantal deelnemers bereikt",Message:"Bericht","message.header":"{ created, select,\n            undefined {}\n            other {{created} - }\n        }{ sender, select,\n            undefined {Systeembericht}\n            other {{sender}}\n        }{ autoGenerated, select,\n            true { (automatisch verzonden)}\n            other {}\n        }","message.to":"Aan: {recipients}","message.subjectElearningNotificationMessage":"afronding e-learning bericht","message.achievementMessagePassed":"Gebruiker ''{identityDisplayName}'' is geslaagd voor de e-learningmodule ''{catalogItemName}''","message.achievementMessageFinished":"Gebruiker ''{identityDisplayName}'' heeft de e-learningmodule ''{catalogItemName}'' succesvol afgerond","message.assessorAppointmentMade":"Er is een afspraak gemaakt voor gebruiker ''{studentDisplayName}'' op ''{dateTime}'' om de volgende activiteit af te laten toetsen: ''{activityDescription}''","message.assessorAppointmentRemoved":"De afspraak van gebruiker ''{studentDisplayName}'' op ''{dateTime}'' voor activiteit ''{activityDescription}'' is verwijderd","message.assessorAppointmentMadeSubject":"Toetsafspraak gemaakt","message.assessorAppointmentRemovedSubject":"Toetsfspraak verwijderd","message.catalogAuthRequestPermissionSubjectLearningplan":"{studentDisplayName} heeft een aanvraag voor e-learning {displayName} gedaan.","message.catalogAuthRequestPermissionSubjectClassroom":"{studentDisplayName} heeft een aanvraag voor de klassikale opleiding {displayName} die start op {planningStart} gedaan.","message.catalogAuthRequestPermissionBody":"Ga op het dashboard naar ''Autorisatie aanvragen'' om de aanvraag af te handelen.","message.catalogAuthRequestBodyLearningPlanAccepted":"Je aanvraag om e-learning ''{displayName}'' te volgen is geaccepteerd","message.catalogAuthRequestBodyLearningPlanAcceptedRemark":"Je aanvraag om e-learning ''{displayName}'' te volgen is geaccepteerd. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestBodyLearningPlanRejected":"Je aanvraag om e-learning ''{displayName}'' te volgen is geweigerd","message.catalogAuthRequestBodyLearningPlanRejectedRemark":"Je aanvraag om e-learning ''{displayName}'' te volgen is geweigerd. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestBodyLearningPlanDeleted":"Je aanvraag om e-learning ''{displayName}'' te volgen is verwijderd","message.catalogAuthRequestBodyLearningPlanDeletedRemark":"Je aanvraag om e-learning ''{displayName}'' te volgen is verwijderd. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestBodyLearningPlanUnknown":"Je aanvraag om e-learning ''{displayName}'' te volgen is status onbekend","message.catalogAuthRequestBodyLearningPlanUnknownRemark":"Je aanvraag om e-learning ''{displayName}'' te volgen is status onbekend. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestPermissionRevoked":"De aanvrager heeft de autorisatie voor ''{displayName}'' ingetrokken.","message.catalogAuthRequestBodyClassroomAccepted":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is geaccepteerd","message.catalogAuthRequestBodyClassroomAcceptedRemark":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is geaccepteerd. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestBodyClassroomRejected":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is geweigerd","message.catalogAuthRequestBodyClassroomRejectedRemark":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is geweigerd. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestBodyClassroomDeleted":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is verwijderd","message.catalogAuthRequestBodyClassroomDeletedRemark":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is verwijderd. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestBodyClassroomUnknown":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is status onbekend","message.catalogAuthRequestBodyClassroomUnknownRemark":"Je aanvraag om klassikale training ''{displayName}'' die start op {planningStart} te volgen is status onbekend. Je manager heeft de volgende opmerking toevoegd: {managerRemark}","message.catalogAuthRequestPermissionAccepted":"Aanvraag voor ''{displayName}'' is geaccepteerd.","message.catalogAuthRequestPermissionRejected":"Aanvraag voor ''{displayName}'' is geweigerd.","message.catalogAuthRequestPermissionDeleted":"Aanvraag voor ''{displayName}'' is verwijderd.","message.catalogAuthRequestPermissionUnknown":"Aanvraag voor ''{displayName}'' is onbekend.","message.catalogAuthRequestBodyRevokedByUser":"Gebruiker ''{studentDisplayName}'' heeft de autorisatieaanvraag voor ''{displayName}'' ingetrokken.",messageBodyIsRequired:"Bericht is verplicht",messageSent:"Bericht verzonden","message.new":"Bericht aan gebruiker","message.newClass":"Bericht aan cursusgroep","message.newDepartment":"Bericht aan afdeling","message.filterByMessage":"Filteren op bericht","message.searchSubject":"Zoek op onderwerp","message.filterBySender":"Filteren op afzender","message.originalMessageInfo":"Op {date} heeft {sender} het volgende geschreven:","message.Received":"Ontvangen","message.Sent":"Verzonden","message.Settings":"Instellingen","message.settings.admin.title":"Berichtenbox instellingen","message.settings.admin.description":"Stel hieronder de standaard berichtenbox instellingen in voor alle medewerkers. De ingestelde standaard wordt voor iedereen gehanteerd, behalve voor medewerkers die hun persoonlijke instellingen hebben aangepast in hun eigen berichtenbox.","message.settings.title":"Mijn berichtenbox instellingen","message.settings.emailSummary":"E-mail samenvatting","message.settings.emailSummary.subtitle":"Ontvang een overzicht van het aantal ongelezen berichten in de berichtenbox","message.settings.emailNotification":"E-mail notificatie","message.settings.emailNotification.newMessages":"Nieuwe berichten ook per e-mail ontvangen","message.settings.emailNotification.Expiringskill":"Verlopende bekwaamheid","message.settings.emailNotification.skillExpiration":"Notificatie bij verlopende bekwaamheid ook per e-mail ontvangen","message.settings.frequency":"Frequentie e-mail samenvatting","message.settings.noEmail":"Nooit / geen samenvatting","message.settings.none":"Nooit / geen samenvatting","message.settings.daily":"Dagelijkse samenvatting","message.settings.weekly":"Wekelijkse samenvatting","message.settings.monthly":"Maandelijkse samenvatting","message.skills.expirationNotification.subject":"Bekwaamheden update","message.skills.expirationNotification.body":"Beste deelnemer,\n\n            { expired, select,\n                0 {}\n                other {Op dit moment {expired, select, 1 {is er 1 bekwaamheid} other {zijn er {expired} bekwaamheden}} verlopen.}\n            }\n            { expiring, select,\n                0 {}\n                other {In de periode tot {until} {expiring, select, 1 {gaat er nog 1 bekwaamheid} other {gaan er nog {expiring} bekwaamheden}} verlopen.}\n            }\n            { new, select,\n                0 {}\n                other {Sinds de laatste update {new, select, 1 {is er 1 bekwaamheid} other {zijn er {new} bekwaamheden}} aan jou toegewezen.}\n            }\n\n            Je kunt jouw bekwaamheden bekijken in je portfolio.\n        ",mayBeRedoneAgain:"Mag opnieuw",media:"Media",min0max100:"Min. 0 en Max. 100",minAmount:"Minimum aantal",minCapacity:"Minimum aantal deelnemers",minCapacityMustBeLowerThanMaxCapacity:"Minimum aantal is verplicht en moet lager zijn dan maximum aantal",minMaxCapacity:"Minimum/maximum capaciteit",minuteAbout:"{number} minuut",minuteAgo:"{number} minuut geleden",minutes:"Minuten",minutesAbout:"{number} minuten",minutesAgo:"{number} minuten geleden",mobilePhone:"Mobiele telefoon",modifyEnrollment:"Wijzig inschrijving","modules.accessmanagement.activatedRights":"Geactiveerde rechten","modules.accessmanagement.applicationPart":"Applicatie onderdeel","modules.accessManagement.descriptions":"{key, select,\n            roles_and_rights {Rollen en rechten}\n            roles_and_rights_manage_roles {Beheer rollen}\n            roles_and_rights_manage_assignments {Beheer toewijzingen}\n            classroom {Classroom}\n            classroom_manage_courses {Beheer opleidingen}\n            classroom_manage_schedules {Beheer planningen}\n            classroom_manage_enrollments {Beheer inschrijvingen}\n            classroom_manage_presence {Beheer presentie}\n            other {{key}}\n        }","modules.accessmanagement.errors":"{error, select,\n            duplicate_name {Er is al een rol met deze naam}\n            no_name_provided {Er is geen rolnaam opgegeven}\n            other {Er is een fout opgetreden}\n        }","modules.accessManagement.rights_count_":"Rechten: {count}","modules.accessManagement.roleName":"Rolnaam","modules.admin.classroom.presence.NumberOfResults":"Totaal aantal resultaten:","modules.adminMenu.labels":"{label, select,\n            settings {Instellingen}\n            catalog {Catalogus}\n            compositionmanagement {E-learning beheer}\n            scormmanagement {Scorm management}\n            elearningmanagement {E-learningbeheer}\n            evaluations {Evaluaties}\n            definities {Dossieritems}\n            classroom {Klassikaal}\n            skills {Bekwaamheden}\n            certificates {Certificaten}\n            usermanagement {Gebruikersbeheer}\n            examinermanagement {Toetserbeheer}\n            importmanagement {Importbeheer}\n            maillogoverview {E-mail logging}\n            other {{label}}\n        }","modules.catalog.course.authorization.noManagersNotPossibleToAuthorize":"Er is geen manager gevonden om het autorisatieverzoek bij in te dienen.","modules.catalog.statusType":"{statusType, select,\n            all {Alles}\n            completed {Voldaan}\n            notcompleted {Niet voldaan}\n            started {Gestart / Ingeschreven}\n            other {{statusType}}\n        }","modules.classroom.exportPresence":"Download resultatenrapportage","modules.classroom.participants.resultValue":"{value, select,\n            passed {Voldaan}\n            failed {Niet voldaan}\n            other {Niet ingevuld}\n        }","modules.classroom.presenceListFileNamePart":"presentielijst","modules.classroom.presenceValue":"{value, select,\n            present {Aanwezig}\n            absent {Afwezig}\n            other {Niet ingevuld}\n        }","modules.classroom.queueEnabledAndAuthorizationRequiredWarning":"De opties 'Autorisatie vereist door manager' en 'Wachtrij' kunnen niet gelijktijdig aan staan.","modules.classroom.queueEnabledAndPlanningIntegrationWarning":"De opties 'Opleidingsuren verwerken in SDB Planning' en 'Wachtrij' kunnen niet gelijktijdig aan staan.","modules.classroom.registrations":"Ingeschreven {enrollmentCount} — Max. {maxCapacity}","modules.classroom.resultReportFileNamePart":"resultaatrapportage","modules.classroom.upcomingplanninglist.details":"details","modules.classroom.upcomingplanninglist.unsubscribe":"uitschrijven","modules.classroomNotifications.teachersReceiveUnenrollNotifications":"Notificaties voor docenten bij uitschrijvingen van hun klassikale opleidingen","modules.classroomNotifications.unenrollNotificationsList":"Onderstaande gebruikers ontvangen notificaties bij iedere uitschrijving van een klassikale opleiding","modules.classroomNotifications.teacherNotifications":"Notificaties voor docenten","modules.elearningmanagement.tabs":"{tab, select,\n            lti {LTI}\n            drafts {Arrangementen}\n            scorm {SCORM}\n            other {{tab}}\n        }","modules.maillog.EmailLogging":"E-mail logging","modules.maillog.EmailReceiver":"E-mail ontvanger","modules.maillog.events":"{event, select,\n            Deferred {uitgesteld}\n            Bounce {aflevering mislukt}\n            Delivered {afgeleverd}\n            Dropped {niet verwerkt}\n            Blocked {aflevering geblokkeerd}\n            other {{event}}\n        }","modules.mailtemplates.deleteMailTemplate.title":"Verwijder mailtemplate","modules.mailtemplates.deleteMailTemplate.message":"Weet je zeker dat je de mailtemplate wilt verwijderen?\n            Na verwijdering wordt de standaard mailtemplate weer gebruikt.","modules.mailtemplates.labels":"{label, select,\n            cursist {[cursist]}\n            opleiding {[opleiding]}\n            planning {[planning]}\n            start {[start]}\n            eind {[eind]}\n            locatie {[locatie]}\n            docent {[docent]}\n            roosteritems {[roosteritems]}\n            roosteritems2 {{roosteritems}}\n            other {{label}}\n        }","modules.mailtemplates.labels.roosteritems.usage":"Deze wordt als volgt gebruikt","modules.mailtemplates.labels.roosteritems.content":'roosteritems "Van [start] tot [eind] in [locatie] door [docent]."',"modules.mainMenu.labels":"{label, select,\n            start {Start}\n            catalog {Catalogus}\n            departments {Afdelingen}\n            skills {Bekwaamheden}\n            functions {Functies}\n            hlapps {Werk- & leervormen}\n            myMinerva {Portfolio}\n            search {Zoeken}\n            administration {Beheer}\n            other {{label}}\n        }","modules.messages.markReadAllButton":"markeer alles als gelezen","modules.packages.areYouSureYouWantToResetThisPackage":"Weet u zeker dat u dit pakket wilt resetten?","modules.packages.deletePackageMessage":"Er zijn op dit moment gebruikers gekoppeld aan deze versie van het pakket. Als u deze versie verwijdert, worden deze koppelingen verwijderd.","modules.packages.sendMailToUsers":"Verstuur een e-mail naar de gebruikers","modules.packages.resetPackage":"Reset pakket","modules.packages.resetPackageMessage":"Er zijn op dit moment gebruikers gekoppeld aan deze versie van het pakket. Als u deze versie reset, is de voortgang bij deze koppelingen verloren.","modules.skills.achievedOn":"Afgerond op {date}","modules.skills.activity.status":"{status, select,\n            exemption {vrijstelling}\n            red {verlopen / nog te doen}\n            yellow {gaat verlopen}\n            green {behaald}\n            other {{status}}\n        }","modules.skills.activityGroup.subtitle":"{groupType, select,\n            compulsory {Verplicht}\n            optional {Optioneel}\n            recommended {Geadviseerd}\n            other {{groupType}}\n        } - {activities} {activities, select,\n            1 {activiteit}\n            other {activiteiten}\n        } {groupType, select,\n            optional {waarvan {required} verplicht}\n            other {}\n        } {notApplicable, select,\n            0 {}\n            other {({notApplicable} uitgeschakeld)}\n        }","modules.skills.activityGroupType":"{type, select,\n            standard {Standaard}\n            basicWithRefresher {Basis/Vervolg}\n            other {{type}}\n        }","modules.skills.activityLockedDialog.title":"Nog niet toegankelijk","modules.skills.activityLockedDialog.message":"Rond eerst de voorgaande activiteiten af.","modules.skills.activityType":"{type, select,\n            protocol {Protocol}\n            manual {Handleiding}\n            classical {Klassikale theorieles}\n            elearning {E-learning}\n            skillslabtraining {Skillslabtraining}\n            trainingonthejob {Training on the job}\n            writtentest {Schriftelijke toets}\n            skillslabtest {Skillslab toets}\n            practical {Praktijktoets}\n            peerassessment {Peer assessment}\n            selfassessment {Zelfbeoordeling}\n            other {{type}}\n        }","modules.skills.activityCurrentStatus":"{ status, select,\n            elearning_created { Gestart }\n            classical_registered { Ingeschreven }\n            classical_unregistered { Uitgeschreven }\n            other {}\n        }","modules.skills.activityExpirationStatus":"{ status, select,\n            achieved {Behaald}\n            expires {Verloopt op {date}}\n            never_expires {Verloopt niet}\n            exemption {Vrijstelling tot {date}}\n            effective_from {Verplicht vanaf {date}}\n            expired {Verlopen op {date}}\n            other {}\n        }","modules.skills.activityValidity.title":"Geldigheidsduur","modules.skills.activityValidity.value":"{value, select,\n            default {Standaard}\n            custom {Aangepast}\n            oneoff {Eenmalig}\n            other {{value}}\n        }","modules.skills.activityValidity.months":"{ months, select,\n            1 {Maand}\n            other {Maanden}\n        }","modules.skills.assignmentDialog.title":"Selecteer afdelingen en functies","modules.skills.assignmentDialog.noSelectionInfo":"Selecteer ten minste één afdeling en functie","modules.skills.assignmentDialog.departments":"Afdelingen","modules.skills.assignmentDialog.roles":"Functies","modules.skills.assignmentDialog.selected":"geselecteerd","modules.skills.assignments.headline":"Aantal toegewezen: {assigned}, waarvan {notApplicable} niet van toepassing","modules.skills.basicWithRefresher":"Basis - Vervolg","modules.skills.basicWithRefresher.basicValidity":"Vervolg van toepassing na...","modules.skills.basicWithRefresherHelpMonths":"Bepaal na hoeveel maanden het vervolg van toepassing is na het initieel behalen van de basis.","modules.skills.basicWithRefresher.basicOneOff":"Basis eenmalig","modules.skills.basicWithRefresher.basicOneOffHelp":"Schakel in om in te stellen dat de basis slechts eenmalig gedaan moet worden.","modules.skills.basicWithRefresherHelpGracePeriod":"Bepaal hoeveel extra maanden een medewerker krijgt om het vervolg af te ronden voordat de basis opnieuw van toepassing is.","modules.skills.basicWithRefresher.summaryTitle":"Samenvatting","modules.skills.basicWithRefresher.summary":"Na het initieel behalen van de basis wordt het vervolg na {basicValidity}\n        { basicValidity, select,\n            1 {maand}\n            other {maanden}\n        } leidend.\n        { gracePeriod, select,\n            null {De basis hoeft slechts eenmalig behaald te worden en komt dus niet te vervallen, ongeacht of het vervolg tijdig wordt behaald.}\n            0 {Indien het vervolg niet tijdig wordt behaald, wordt de basis opnieuw van toepassing na {basicValidity}\n            { basicValidity, select,\n                1 {maand}\n                other {maanden}\n            }. De medewerker heeft geen uitstelperiode.}\n            other {Indien het vervolg niet tijdig wordt behaald, wordt de basis opnieuw van toepassing voor de bekwaamheidsberekening. De medewerker heeft hiervoor na {basicValidity}\n            { basicValidity, select,\n                1 {maand}\n                other {maanden}\n            } nog {gracePeriod} extra\n            { gracePeriod, select,\n                1 {maand}\n                other {maanden}\n            } de tijd.}\n        }","modules.skills.editor.assign":"Toewijzen","modules.skills.editor.assignSubtitle":"{count, select,\n            0 {Selecteer tenminste één afdeling/functie combinatie}\n            1 {1 geldige afdeling/functie combinatie geselecteerd}\n            other {{count} geldige afdeling/functie combinaties geselecteerd}\n        }","modules.skills.editor.general":"Algemeen","modules.skills.editor.content":"Inhoud bekwaamheid","modules.skills.editor.validity":"Geldigheidsduur bekwaamheid","modules.skills.editor.months":"Maanden","modules.skills.editor.moveActivities":"Activiteiten verplaatsen","modules.skills.editor.moveActivities.description":"Verplaats activiteiten naar een ander blok met behoud van resultaten","modules.skills.editor.moveFrom":"Verplaatsen van","modules.skills.editor.moveTo":"Verplaatsen naar","modules.skills.editor.assignRights":"Rechten","modules.skills.editor.allCatalogItems":"Alle catalogus items","modules.skills.editor.selectCatalogItems":"Selecteer catalogus items","modules.skills.editor.allDepartments":"Alle afdelingen","modules.skills.editor.allRoles":"Alle functies","modules.skills.editor.allowedToCustomizeBlocks":"Blokken en/of activiteiten deactiveren","modules.skills.editor.allowedToCustomizeBlocksInfo":"Deze bekwaamheid kan bij het toewijzen aan worden gepast door onderdelen te deactiveren. Blokken/activiteiten toevoegen mag altijd.","modules.skills.editor.allowedToExtendTheValidity":"Geldigheidsduur van bekwaamheid verlengen","modules.skills.editor.allowedToExtendTheValidityInfo":"Deze bekwaamheid heeft een geldigheidsduur zoals hierboven ingegeven. Met deze optie kan die verlengd worden bij het toewijzen.","modules.skills.editor.allowOwnerToModifyExemption":"Zelf een vrijstelling geven","modules.skills.editor.allowOwnerToModifyExemptionInfo":"Medewerkers mogen zichzelf een vrijstelling geven voor deze bekwaamheid.","modules.skills.editor.assignToNonExistingRolesHeadline":"Toewijzen aan niet bestaande afdeling / functie combinaties","modules.skills.editor.assignToNonExistingRolesSubtitle":"Wijs bekwaamheid toe aan functies ongeacht of deze op dit moment op de geselecteerde afdelingen bestaan","modules.skills.editor.activitiesAre":"Activiteiten zijn","modules.skills.editor.persistOrder":"Volgorde aanhouden","modules.skills.editor.removeBlock":"Blok verwijderen","modules.skills.editor.removeBlockCheck":"Weet je zeker dat je dit blok met alle onderliggende activiteiten wilt verwijderen?","modules.skills.editor.selectActivities":"Selecteer activiteiten","modules.skills.editor.selectDepartments":"Selecteer afdeling(en)","modules.skills.editor.selectRoles":"Selecteer functie(s)","modules.skills.editor.noBlockYet":"Nog geen blok toegevoegd, voeg eerst een blok toe.","modules.skills.editor.noActivityYet":"Nog geen activiteit toegevoegd, voeg eerst een activiteit toe.","modules.skills.editor.addActivity":"Activiteit toevoegen","modules.skills.editor.removeActivity":"Activiteit verwijderen","modules.skills.editor.manageAssessors":"Beoordelaars beheren","modules.skills.editor.addAssessors":"Beoordelaars toevoegen","modules.skills.editor.manageAssessors.description":"(ont)koppel beoordelaars aan activiteiten","modules.skills.editor.assessmentForm":"Beoordelingsformulier","modules.skills.editor.examinerFunctionality":"Toetsfunctionaliteit","modules.skills.editor.combineExams":"Toetsmomenten combineren","modules.skills.editor.examDuration":"Duur van toetsmoment (minuten)","modules.skills.editor.catalogitem":"Catalogusitem","modules.skills.editor.numberOfAssessors":"{assessors, select,\n            1 {1 beoordelaar}\n            other {{assessors} beoordelaars}\n        }","modules.skills.editor.gracePeriod":"Uitstelperiode","modules.skills.errors.errorOnSavingChanges":"Er is iets mis gegaan bij het opslaan van de wijzigingen","modules.skills.errors.errorOnSavingSomeOfItems":"Er is iets misgegaan bij het opslaan van enkele wijzigingen","modules.skills.expirationInfo":"{date, select,\n            null {{approved, select,\n                true {Verloopt niet}\n                false {Nog niet afgerond}\n                other {{approved}}\n            }}\n            other {{date}}\n        }","modules.skills.groupType":"{groupType, select,\n            compulsory {Verplicht}\n            optional {Verplicht}\n            recommended {Geadviseerd}\n            other {{value}}\n        }","modules.skills.managerSettings.allowManageAssignments.headline":"Bekwaamheden toewijzen","modules.skills.managerSettings.allowManageAssignments.description":"Managers mogen bekwaamheden toewijzen","modules.skills.managerSettings.assessmentByManagers.headline":"Activiteiten beoordelen","modules.skills.managerSettings.assessmentByManagers.description":"Selecteer op welk niveau managers mogen beoordelen","modules.skills.managerSettings.assessmentByManagers.options":"Opties","modules.skills.managerSettings.assessmentByManagers.all":"Alle medewerkers","modules.skills.managerSettings.assessmentByManagers.whereManager":"Alleen medewerkers van eigen afdeling","modules.skills.messages.assignedToAllAvailableFunctions":"De bekwaamheid is toegewezen aan alle beschikbare functies","modules.skills.messages.errorCategoryNotEmpty":"De categorie bevat nog één of meerdere bekwaamheden","modules.skills.modifySearchFilter":"Geen beoordelaars gevonden die aan je zoekfilter voldoen...","modules.skills.noExpirationDate":"Geen verloopdatum","modules.skills.noResults.noAssignments.title":"Nog niet toegewezen","modules.skills.noResults.noAssignments.text":"De bekwaamheid is nog niet toegewezen","modules.skills.notApplicableReason":"Reden niet van toepassing","modules.skills.requestAssessment":"Beoordeling aanvragen","modules.skills.requestAssessmentFor":"Beoordeling aanvragen voor","modules.skills.revokedBy":"{ revokedBy, select,\n            null {Verwijderd}\n            other {Verwijderd door {revokedBy}}\n        }","modules.skills.optionalBlockName":"Naam blok","modules.skills.overallProgress.status":"{status, select,\n            notApproved {niet bekwaam / verlopen}\n            expiring {verloopt binnenkort}\n            approved {bekwaam / vrijstelling}\n            notApplicable {niet van toepassing}\n            other {{status}}\n        }","modules.skills.overallProgress.title":"Algehele voortgang","modules.skills.persistActivityOrder":"Activiteitvolgorde aanhouden","modules.skills.persistActivityGroupOrder":"Blokvolgorde aanhouden","modules.skills.persistActivityGroupOrderInfo":"Gebruiker kan blokken alleen in volgorde openen","modules.skills.selectReviewer":"{ current, select,\n            null {Selecteer een beoordelaar bij wie je de beoordeling wilt aanvragen. }\n            other {{current} is ingesteld als beoordelaar. Kies een andere andere beoordelaar of trek de aanvraag in.}\n        }","modules.skills.skillCard.assignmentInfo":"{assignment, select,\n            individual {Individueel}\n            other {{assignment}}\n        }","modules.skills.settings.skillsMatrixToggleLabel":"Matrixweergave","modules.skills.status":"{status, select,\n            grey {Niet toegewezen / nvt}\n            red {Niet bekwaam / verlopen}\n            orange {Verloopt binnenkort}\n            green {Bekwaam / vrijstelling}\n            other {{Status}}\n        }","modules.trainings.status":"{status, select,\n            grey {Niets gedaan / niet toegewezen}\n            red {Niet voldaan / verlopen}\n            blue {Ingeschreven / gestart}\n            orange {Verloopt}\n            green {Voldaan}\n            other {{Status}}\n        }","modules.uservoice.emailWarning":"E-mailadres ontbreekt","modules.uservoice.noValidEmail":"Jouw profiel bevat helaas geen (geldig) e-mailadres. Voer hieronder eenmalig jouw e-mailadres in en sla deze op.","modules.planningIntegration.always":"De training wordt doorgestuurd naar jouw planningsapplicatie.","modules.planningIntegration.cancelAndTransfer":"Annuleren en verplaatsen is onmogelijk","modules.planningIntegration.forCancelPlanning":"Voor planning annuleren","modules.planningIntegration.forTransfer":"Voor verplaatsen","modules.planningIntegration.functionalityCantBeUsedInCombination":'"Deze functionaliteit kan momenteel niet gebruikt worden in\n                    combinatie met SDB Planning integratie"',"modules.planningIntegration.planningCantBeCanced":'"Deze planning kan\n                    niet geannuleerd worden. Eerst moeten alle gebruikers uitgeschreven worden"',"modules.planningIntegration.toggleText":"Opleidingsuren verwerken in SDB Planning","modules.planningIntegration.nominalDuty.toggleText":"Studiebelasting vewerken in SDB Planning","modules.planningIntegration.nominalDutyActivityCode":"Code nominale uren","modules.planningIntegration.dropdownLabel":"Dienstverband",month:"Maand",monthAbout:"{number} maand",monthsAbout:"{number} maanden",monthAgo:"{number} maand geleden",months:"Maanden",monthsAgo:"{number} maanden geleden",multiChoice:"Meerkeuze vraag",multiChoiceInfo:"Minimaal 2 antwoordopties waarbij slechts 1 antwoord gekozen kan worden.",myDepartments:"Mijn afdelingen",myMessages:"Mijn berichten",myMessagesAndNotifications:"Mijn berichten en notificaties",myMinerva:"Portfolio",mySelf:"Mijzelf",name:"Naam",nameBlock:"Naam block",nameActivity:"Naam activiteit",nameAscending:"Naam oplopend",nameDescending:"Naam aflopend",nameGroup:"Naam",navigateToClassroom:"Wil je de opleidingspagina openen?",navigateToEnroll:"Navigeren naar inschrijvingspagina?",navigateToElearning:"Wil je de e-learningpagina openen?",navigateToElearningPage:"Klik om de e-learningpagina te openen",navigateToFavorites:"Bekijk de lijst met favorieten.",neutral:"Neutraal",never:"Nooit",NewAndConfirmPasswordsDoNotMatch:"Wachtwoorden komen niet overeen",newExternalCatalogItem:"Externe Content",newestFirst:"Nieuwste eerst",newEvaluationForm:"Nieuw evaluatieformulier",newParticipant:"Nieuwe deelnemer",NewPassword:"Nieuw wachtwoord",newPlanning:"Rooster toevoegen",newsItems:"Nieuws",NewsItemsWidgetInfo:"Mis niks van wat er in jouw organisatie gebeurt",newsMessage:"Nieuwsbericht",newTool:"Nieuwe hulpmiddel",newLink:"Nieuwe link",newLocation:"Nieuwe locatie",newMessage:"Nieuw bericht",newVersion:"Er is een nieuwe versie van deze applicatie beschikbaar. Ververs om te upgraden naar de laatste versie",next:"volgende",nextSessionDateTime:"De volgende sessie is op {date} om {time}",no:"Nee",noAccreditationFoundTitle:"Geen accreditaties gevonden",noAccreditationInfoFoundTitle:"Geen accreditatie instellingen ",noAccreditationInfoFoundText:"Er zijn geen accreditatie instellingen voor deze cursus",noAssignments:"Geen toewijzingen",noAssignmentFoundTitle:"Geen toegekende opleidingen gevonden",noAssignmentFoundText:"Ken een opleiding toe",noAuthorizationTasksFound:"Geen autorisatietaken gevonden!",noCatalogItemsFoundTitle:"Geen catalogusitems gevonden",noCatalogItemsFoundText:"Pas eventueel de filterinstellingen aan.",NoCatalogItemInterestsFoundText:"U heeft nog niet aangegeven dat u heeft interesse heeft in een catalogusitem",NoCatalogItemInterestsFoundTitle:"Geen catalogusitem-interesses gevonden",noCertificate:"Geen certificaat",noComment:"Geen opmerking",noCompetencyPassportFound:"Geen bekwaamheidspaspoort gevonden",noDashBoardLinksTitle:"Nog geen dashboard links",noDashBoardLinksText:"Er zijn nog geen dashboard links. Voeg eventueel een dashboard link toe.",noDeadline:"Geen termijn",noDefinitionFoundTitle:"Geen dossier-items gevonden",noDefinitionFoundText:"Voeg een nieuw dossier-item toe",noDepartmentsTitle:"Geen afdelingen gevonden",noDepartmentsText:"Pas eventueel de filter-instellingen aan.",noEmail:"Geen e-mail",noEmployeesFound:"Geen medewerkers gevonden",noEnrollmentsYet:"Nog geen inschrijvingen.",noEvaluationsFound:"Geen evaluaties gevonden",noEvaluationFormReports:"Er zijn geen evaluatieformulieren rapportages gevonden",noExemption:"Geen vrijstelling",noExpertiseText:"Ervaring of extra kennis opgedaan? Voer het op in je portfolio!",noExpertiseTitle:"Geen dossier-items",NoFavorites:"Geen favorieten",noFavoritesButNavigateToAdd:"Nog geen favorieten. Ga naar de catalogus en klik op <3 om favorieten toe te voegen.",noExaminers:"Voor deze activiteit kan (nog) geen beoordelaar worden gekozen. Voor meer informatie neem contact op met de beheerder.",notAvailableAnymore:"niet meer beschikbaar",notification:"Notificatie",notifications:"Notificaties",notifyUserAfterCompletion:"Na voltooiing notificatie naar gebruiker sturen",None:"Geen",noLesson:"Geen les",noLink:"Er is geen gekoppelde link!",NoLocation:"Geen locatie",NoLocationOrDoubleLocation:"Geen locatie of de locatie is dubbel ingepland",noLocationFoundTitle:"Geen locaties gevonden",noLocationFoundText:"Voeg een nieuwe locatie toe.",noLocationSelected:"Geen locatie geselecteerd.",noParticipantsCatalog:"Start een zoekactie in het filterpaneel rechts.",noPlannings:"Geen roosters gevonden",noReportDataFound:"Geen rapportgegevens gevonden",noResultsFound:"Geen resultaten gevonden.",noResultsFoundTitle:"Geen resultaten gevonden",noResultsFoundText:"Pas eventueel de filterinstellingen aan",noRolesExistForThisDepartment:"Er bestaan geen functies voor deze afdeling",noSchedulesAddedYet:"Nog geen sessies toegevoegd.",noSchedules:"U moet minimaal één sessie koppelen",noSkillsAndMandatoryAssigned:"Geen bekwaamheden of verplichte opleidingen gekoppeld",noSsoGroupsFound:"Geen sso groepen gevonden",notAchieved:"Niet behaald",NotAuthorized:"Niet geautoriseerd",notAvailable:"nvt",NoTeacherOrDoubleTeacher:"Geen docent of er is een docent dubbel ingepland",noTrainingFoundTitle:"Geen opleiding gevonden",noTrainingFoundText:"Er zijn geen opleidingen beschikbaar of gebruik andere zoekinstellingen",noTrainingFoundTextAlt:"Er zijn geen opleidingen gevonden",notRequired:"Niet verplicht",noEnrollmentsFound:"Geen inschrijvingen gevonden",noEnrollmentsHeader:"Nergens voor ingeschreven",noEnrollmentsText:"Geen probleem, je kunt je via de catalogus inschrijven",notApproved:"Niet bekwaam",notComplete:"Onvolledig",notCompletedStatus:"Niet voldaan",NotEnoughParticipants:"Onvoldoende deelnemers",notRead:"Niet gelezen",NoTeacher:"Geen docent",noTeachers:"Geen docent geselecteerd.",NotEnoughRightsForAccreditations:"Je hebt niet genoeg rechten om deze accreditaties te mogen zien.",notEnrolledEnrollFirst:"Nog niet ingeschreven. Ga naar de catalogus om in te schrijven.",notKnown:"Niet bekend",notMandatory:"Mag overslaan",notOnAllPresent:"bij een bijeenkomst niet aanwezig geweest",NotOnAllPresentAndNotOnAllNotPresent:"presentie niet volledig ingevuld",notPassed:"Niet voldaan",notRegistered:"Niet ingeschreven",NotSatisfied:"Niet voldaan",NotStarted:"Niet gestart",noPlanningsFoundTitle:"Geen planningen gevonden",noPlanningsFoundText:"Probeer om de filters aan te passen.",noReservationsFoundTitle:"Geen reserveringen gevonden",noTool:"Geen hulpmiddel geselecteerd.",noToolFoundTitle:"Geen hulpmiddelen gevonden",noToolFoundText:"Voeg een nieuw hulpmiddel toe",notYetDone:"Nog niet klaar",notYetFinalized:"Nog niet afgerond",notYetKnown:"Nog niet bekend",notYetStarted:"Nog niet gestart",noUnrollNotificationsFoundTitle:"Geen notificaties gevonden",noUsersFoundTitle:"Geen gebruikers gevonden",noUsersFoundText:"Vul het correcte domein in en zoek op gebruikersnaam",noTeachersFoundTitle:"Geen leraren gevonden",noTeachersFoundText:"Er zijn nog geen toegekende leraren",number:"Aantal",numberApproved:"Aantal bekwaam",numberdays:"Aantal dagen",numberhours:"Aantal uren",numberminutes:"Aantal minuten",numberOfCompletedEvaluations:"Aantal ingevulde formulieren",numberOfUnCompletedEvaluations:"Aantal niet-voltooide evaluaties",numberOfPlacesAvailable:"Aantal plekken vrij",numberOfPoints:"Aantal punten",numberOfPointsAchieved:"Behaalde punten",numberOfRegisteredParticipants:"Aantal geregistreerde deelnemers",numberOfReservations:"Aantal reserveringen",numberOfSelectedItems:"aantal items geselecteerd",numberOfSkills:"{numberOfSkills} bekwaamheden",numberOfSkillsInTotal:"{numberOfSkills} bekwaamheden in totaal",numberparticipants:"Aantal deelnemers",numberrecipients:"Aantal deelnemers",ofAssessmentsCarriedOutByYou:"Beoordeel een collega",off:"Uit",ok:"OK",oldestFirst:"Oudste eerst",on:"Aan",onAllPresent:"bij elke bijeenkomst aanwezig geweest",one:"een",oneOfTheScheduleIsNotFilledInWell:"Een van de sessies is niet goed ingevuld",onlyActiveAccounts:"Alleen actieve accounts",onlyAssignableByAdmins:"Alleen toe te wijzen door beheerders",onlyDisabledAccounts:"Alleen uitgeschakelde accounts",onlyWithWarnings:"Alleen met waarschuwingen",onlyQualifiedAssessorsAllowed:"Je bent niet bekwaam om dit item te toetsen",oops:"Oeps",open:"Openen",openApplications:"Openstaande aanvragen",openElearningDialogInFullscreenText:"Open e-learning dialoog in volledig scherm",openInANewWindow:"Openen in een nieuw scherm",openQuestion:"Open vraag",openQuestionInfo:"Gebruikers kunnen via een open invulveld een aantal steekwoorden opgeven. Er worden geen antwoordopties bij deze vraag opgeven.",openScormInNewWindow:"Open SCORM pakket(ten) in nieuw scherm",openScormInNewWindowDetail:"Wanneer dit catalogusitem SCORM pakketten bevat, openen deze in een nieuw scherm. Alleen gebruiken wanneer starten in hetzelfde scherm problemen oplevert, omdat openen in een nieuw scherm problemen met popupblockers op zou kunnen leveren. Deze instelling heeft geen functie wanneer er geen SCORM pakketten in dit catalogusitem zitten.",openScormInNewWindowDontClose:"Deze content is geopend in een nieuwe scherm. Sluit dit scherm of tab niet af.",optional:"Optioneel",options:"Opties",optionText:"Tekst optie",optionQuestion:"Optie vraag",order:"Volgorde","Ordered List":"Nummering",orEnterAssessmentsByName:"Beoordeel een collega",Outdent:"Inspringing verkleinen",overrideTheMasterDescription:"Gebruik een eigen tekst in plaats van de standaard omschrijving",overrideTheMasterSummary:"Gebruik een eigen tekst in plaats van de standaard samenvatting",ownName:"Eigen benaming",Package:"Pakket",PackagesActive:"Pakketten actief",PackagesInactive:"Pakketten inactief",PageNotFound:"De pagina kon niet worden gevonden...",pageIsUnavailableTitle:"Pagina niet beschikbaar",pageIsUnavailable:"Deze pagina is niet beschikbaar of buiten werking gesteld.",payAttention:"Let op",parentPortalGroup:"Bovenliggende afdeling",participant:"Deelnemer",participantAdded:"Deelnemer toegevoegd",ParticipantEntersTheQueue:"Deelnemer komt op wachtrij",participantIsNotSelected:"Deelnemer is niet geselecteerd",participantRegistered:"deelnemer ingeschreven",participants:"Deelnemers",participantsRegistered:"deelnemers ingeschreven",participantUnRegistered:"Deelnemer uitgeschreven",passed:"Voldaan",Passed:"Voldaan",PassedAndExpired:"Voldaan, maar verlopen",past:"Verleden",pathToImage:"Pad naar afbeelding",paymentHeading:"Afrekenen","pe.externalPersonId":"PE-online Gebruiker ID","pe.courseId":"PE-online Cursus ID","pe.editionId":"PE-online Editie ID","pe.moduleId":"PE-online Module ID","pe.organization":"Beroepsorganisatie",peerassessment:"Peer assessment",peerAssessment:"Peer assessment",percentageApproved:"Percentage bekwaam","percentageApproved%":"% bekwaam",period:"Periode",Periods:"Termijnen",periodsInDays:"In- & uitschrijftermijn",permalink:"Permanente link",permissionRequestHasFailed:"Toestemmingsverzoek is mislukt",personalGroup:"Persoonlijk",phaseOutDate:"Uitfaseerdatum",phaseOutDateContent:"vanaf {date} niet meer beschikbaar",phaseOutDateContentSkills:"Vanaf {date} niet meer beschikbaar",phone:"Telefoon",placeOfBirth:"Geboorteplaats",plannedActivities:"Geplande activiteiten",plannedSessions:"Geplande sessies",planners:"Planners",planning:"Rooster",planningIsInPast:"Rooster is in het verleden",plannings:"Roosters",planningInformation:"Rooster informatie",planningOverlap:"Er is overlap met jouw diensten. Inschrijven is niet mogelijk. Controleer jouw planning.",planningOverlapGeneral:"Er is overlap met jouw diensten. Inschrijven is niet mogelijk. Controleer jouw planning.",planningSelectContract:"Selecteer een actief dienstverband.",planningOverlapButton:"Overlap in diensten",pleaseChooseTheDesiredDateAndClickEnrollToRegisterForTheNewSchedule:'Kies hieronder de gewenste datum en klik op "Inschrijven" om in te schrijven op de nieuwe planning',Process:"Verwerken",points:"Punten",portfolio:"Dossier",PortfolioDefinitions:"Dossieritems",PortfolioInstance:"Dossieritem",PortfolioNew:"Nieuwe Dossierdefinitie",PortfolioTasks:"Dossier",PortfolioTasksAuthorize:"Dossiertaken - autoriseren",PortfolioTasksReview:"Dossiertaken - beoordelen",PortfolioTasksAccept:"Dossiertaken - accepteren",PortfolioAccept:"Accepteren",PortfolioReject:"Afwijzen",PortfolioRemoveMarking:"Markering verwijderen","portfolio.mandatory.heading.mandatoryTraining":"Verplichte opleiding","portfolio.mandatory.heading.bestResult":"Beste resultaat","portfolio.mandatory.heading.certificate":"Certificaat","portfolio.results.heading.course":"Opleiding","portfolio.results.heading.lastAction":"Laatste actie","portfolio.results.heading.bestResult":"Beste resultaat","portfolio.results.heading.certificate":"Certificaat",practical:"Praktijktoets",practicalTest:"Praktijktoets",preference:"Voorkeur",presence:"Presentie",presenceOfTheDaysBefore:"Presentie van de dagen hiervoor",presenceNotFullyUpdated:"Presentie niet volledig bijgewerkt",present:"Aanwezig",presentOn:"Aanwezig op",presentParticipants:"Aanwezige deelnemers",previousStep:"Vorige stap",primaryBackgroundColor:"Primaire achtergrondkleur",primaryBackgroundColorDark:"Primaire donkere achtergrondkleur",primaryBackgroundColorLight:"Primaire lichte achtergrondkleur",price:"Prijs",Price:"Prijs",PaymentValidity:"Geldigheidsduur (dagen)",DomainSpecificPrice:"Domein specifieke kosten",PortalSpecificPrice:"portaalgroep specifieke kosten",PortalText:"Portaaltekst",profile:"Profiel",ProfileOf:"Profiel van",profileImage:"Profielfoto",profileSaved:"profiel opgeslagen",progress:"Voortgang",protocol:"Protocol",question:"Vraag",questionText:"Vraagtekst",questionType:"Vraagtype",queue:"Wachtrij",queued:"U zit in de wachtrij",Queued:"In de wachtrij",QueuedAlreadyOnAPlanning:"De persoon staat al in een wachtrij op een planning.",queueThenAutomaticRegistration:"Wachtrij, daarna automatisch inschrijving",queueThenSendInvitation:"Wachtrij daarna uitnodiging sturen",QueuedWhenFull:"Wachtrij indien vol",read:"Gelezen",readyForYou:"Dit staat voor jou klaar",readProtocol:"Heeft u het protocol gelezen?",readManual:"Heeft u de handleiding gelezen?",readless:"Minder",readmore:"Meer",reason:"Reden",receivedMessages:"Ontvangen berichten",receivedOn:"Ontvangen op",receiverDomain:"Ontvanger domein",recipients:"Ontvangers",recommended:"Geadviseerd",redo:"Opnieuw doen",Redo:"Opnieuw doen",refresh:"Verversen",refreshThePage:"Ververs de pagina",register:"Registreren",registered:"Ingeschreven",Registered:"Ingeschreven",registerFrom:"Per {date}",registeredOn:"Ingeschreven per",registeredFrom:"Ingeschreven vanaf",registeredParticipants:"Ingeschreven deelnemers",registeredTill:"Ingeschreven t/m",registerMe:"Schrijf mij in",registration:"Registratie",registrationClosed:"Inschrijving gesloten",registrationNumbers:"Registratienummers",registrationNumbersSaved:"Registratienummers opgeslagen",registrationPeriodHasExpired:"Inschrijftermijn verstreken",registrationFailedTheAllowedNumberOfRegistrationsHasBeenReached:"Inschrijven is mislukt. Het toegestane aantal inschrijvingen is bereikt",registrationTransferPeriodExceededTitle:"Overschrijftermijn verstreken",registrationTransferPeriodExceeded:"Je wilt overschrijven naar een andere sessie. Dit is niet mogelijk omdat de uitschrijftermijn van de huidige sessie is verstreken.","registrationNumbers.notAllowed":"Het is niet mogelijk om registratienummers op te geven.",relatedDocuments:"Gerelateerde documenten",relatedDocumentsText:"Documenten zijn standaard voor iedereen zichtbaar. Wilt u ze pas zichtbaar maken nadat iemand zich heeft ingeschreven? Zet dan de schakelaar voor het document aan.",removedRole:"[verwijderde functie]",ReservationRevoked:"Ingetrokken",reservationCode:"Reserveringscode (optioneel)",reservationCodeIsAlreadyUsed:"De reserveringscode is al gebruikt",reservationExpired:"Verlopen","reservation.status.revoked":"De reserveringcode is ingetrokken",reservation:"Reservering",reinstatedCancelledPlanning:"Planning weer actief",reinstatePlanning:"Opnieuw activeren",deleteCancelledPlanning:"Planning verwijderd",RegionAlreadyExists:"Er bestaat al een regio / locatie met deze naam!",regionLocation:"Regio / locatie",Region_still_in_use:"Deze regio is gekoppeld aan een of meerdere tijdsloten en kan daarom niet verwijderd worden",rejectAuthSingle:"U staat op het punt om {number} verzoek af te wijzen",rejectAuthPlural:"U staat op het punt om {number} verzoeken af te wijzen",Rejected:"Afgewezen",rejectedPortfolioItems:"Er is één dossieritem afgewezen",rejectedPortfolioItemsPlural:"Er zijn {number} dossieritems afgewezen",rejectedSelection:"Selectie afgewezen!",rejectedPartialSelection:"Selectie deels afgewezen!",remarkUser:"Opmerking deelnemer:",removeAppointment:"U heeft al een afspraak staan, wilt u deze verwijderen?",removeAllUsersFromVirtualQueueHeader:"Alle gebruikers verwijderen van deze interesselijst?",removeAllUsersFromVirtualQueueMessage:"Alle getoonde interesse voor dit catalogusitem komt hiermee te vervallen",removedSelection:"Selectie verwijderd!",removeFunctionUserDepartment:"Gebruiker {username} heeft onderstaande functies op deze afdeling. Heeft deze gebruiker een bepaalde functie niet meer, vink deze dan uit.",removeFunctionUserDepartment2ndLine:"Let op, sommige functies zijn verkregen door een automatische import en kunnen daarom niet gewijzigd worden",removeFromList:"Verwijder van lijst",removeFromVirtualQueue:"Verwijderen van de interesselijst",removeFromVirtualQueueDialogHeader:"Interesse laten vervallen?",removeFromVirtualQueueDialogMessage:"Weet je zeker dat je jezelf van de interesselijst wilt verwijderen?",removeFromVirtualQueueUserDialogHeader:"{displayName} van interesselijst verwijderen?",removeFromVirtualQueueUserDialogMessage:"De interesse van {displayName} voor dit catalogusitem komt hiermee te vervallen",removePlanningPermanently:"Planning definitief verwijderen?",reply:"Beantwoorden",reporting:"Rapportage",reports:"Rapporten",reportSelection:"Rapport selectie","reports.department.mandatoryUsers.currentStatus":"Huidige status",request:"Aanvraag",requestDenied:"Aanvraag afgewezen",requestPending:"Aanvraag loopt",requests:"Aanvragen",required:"Verplicht",RequiredTrainingsWidgetInfo:"Altijd inzicht in jouw voortgang","required and must be higher than zero":"Verplicht en moet hoger dan nul zijn",requiredAndMustNotBeGreaterThan:"Verplicht en mag niet groter dan {number} maanden zijn",requiredAndMustNotBeGreaterThan1200:"Verplicht en mag niet groter dan 1200 maanden zijn",requiresTeacher:"Docent verplicht","requiresTeacher.explainer":"Een docent moet verplicht worden ingepland op iedere sessie (van rooster)",reset:"Reset",resetLearningPlan:"Opnieuw maken",resetProgress:"Reset voortgang",revoked:"Ingetrokken",retry:"Probeer opnieuw",remove:"verwijder",RemoveCatalogInterestConfirm:"Weet u zeker dat u ''{displayName}'' als een interesse wilt verwijderen?",reregister:"Opnieuw inschrijven",reservations:"Reserveringen",reserved:"Gereserveerd",resetCourseTitle:"Voortgang resetten?",resetCourseFor:'Het is mogelijk om de voortgang van e-learning "{catalogName}" te resetten omdat deze dreigt te verlopen, al verlopen is of omdat de e-learning niet is behaald door "{displayName}". Alle huidige voortgang van "{displayName}" gaat dan verloren. Het heeft geen invloed op eerder behaalde resultaten.',resetCourseWarning:'Weet je zeker dat je de voortgang voor "{displayName}" wilt resetten?',resetFilter:"reset filter",resetCatalogSettingHeader:"Resetten van e-learningmodules (hier is per e-learning weer vanaf te wijken)",resetCatalogSettingYes:"Aan: cursisten kunnen zelf e-learning modules resetten",resetCatalogSettingNo:"Uit: cursisten kunnen niet zelf e-learning modules resetten",resource:"Middel",resources:"Middelen",resubmit:"Opnieuw indienen",result:"Resultaat",resultFinal:"Eindresultaat",results:"Resultaten",resultUnknown:"Resultaat onbekend",Review:"Ter controle",reviewer:"Beoordelaar",revoke:"Intrekken",revokeReservation:"Reservering intrekken",revokeConfirmation:"Weet je zeker dat je deze reservering wilt intrekken?",right:"Rechts",Right:"Rechts",Rights:"Rechten",RightsDescription:"Overige instellingen",Role:"Rol",roles:"Rollen",Satisfied:"Voldaan",save:"Opslaan",saveAndContinue:"Opslaan en doorgaan",saved:"Opgeslagen",schedule:"Sessie",scheduleDetail:"Sessie details",scheduleDuration:"Sessieduur",scheduleFull:"Inschrijven niet mogelijk. Er zijn geen beschikbare plaatsen meer.",schedules:"Sessies",scheduleMissesDuration:"Sessie mist sessieduur",Schedule_not_found:"Schema niet gevonden!",schedulesOverlap:"De sessies overlappen",scheduleStartTimeEndTimeConflict:"Sessie starttijd en eindtijd conflict",scheduleTimeTooLong:"Sessieduur is te lang",scorm:"SCORM",sendClassroomReminderMail:"Stuur herrinneringse-mail","sendClassroomReminderMail.explainer":"Stuur deelnemers voorafgaand aan de opleiding een e-mail ter herinnering",sendClassroomReminderMailNumberOfDays:"Aantal dagen voor de cursus","settings.lookAndFeel":"Huisstijl","settings.lookAndFeel.uploadLogo":"Upload logo","settings.lookAndFeel.uploadHeroHeader":"Upload headerfoto","settings.lookAndFeel.heroheader":"Toon headerfoto op dashboard","settings.lookAndFeel.heroheader.description":"Toon een eigen foto als visuele introductie bovenaan de dashboardpagina","settings.featurePreview.title":"Nieuwe (beta) functionaliteiten","settings.featurePreview.setting":"{value, select,\n            off {Uit}\n            admin {Beheerders}\n            everyone {Iedereen}\n            other {{value}}\n        }",setApprovalDate:"Stel datum basis in",skillDeleted:"Bekwaamheid verwijderd",skillDetails:"Details bekwaamheid",skillslabtest:"Skillslab toets",skillslabtraining:"Skillslabtraining",score:"Score","sdb/uriECD":"Naar SDB ECD","sdb/uriHr":"Naar SDB HR","sdb/uriPayroll":"Naar SDB Salaris","sdb/uriPlanning":"Naar SDB Planning","sdb-add-examiner-appointment-dialog.button":"{ button, select,\n            previous_step {Vorige stap}\n            schedule_new_appointment {Nieuw toetsmoment inplannen}\n            schedule_appointment {Toetsmoment inplannen}\n            other {}\n        }","sdb-add-examiner-appointment-dialog.errors":"{ error, select,\n            no_time_slots_available {Het is op dit moment niet mogelijk een toetsmoment in te plannen omdat er geen tijdsloten beschikbaar zijn.}\n            time_slot_already_reserved {Deze afspraak conflicteert met een andere gemaakte afspraak. Ga terug en selecteer een ander tijdstip of dag.}\n            examiner_not_qualified {De toetser is op dit moment niet bekwaam en mag deze activiteit niet aftoetsen.}\n            other {Er is een onbekende fout opgetreden. [{error}]}\n        }","sdb-add-examiner-appointment-dialog.headline":"{ step, select,\n            1 {Toetsmoment combineren of nieuw toetsmoment inplannen}\n            2 {Datum en locatie kiezen}\n            3 {Toetsmoment op { date_and_location }}\n            4 {Toetsmoment inplannen}\n            other {}\n        }","sdb-add-examiner-appointment-dialog.description":"{ step, select,\n            1 {Er is tijd beschikbaar bij een eerder gepland toetsmoment. Kies hieronder een toetsmoment om de afspraak te combineren of plan een nieuw toetsmoment in.}\n            2 {Kies een datum en locatie voor het inplannen van een toetsmoment.}\n            3 {Kies het gewenste tijdslot.}\n            4 {Wil je het onderstaande toetsmoment inplannen?}\n            other {}\n        }","sdb-continue-elearning-widget.widgetInfo":"Ga direct verder met deze e-learning","sdb-time-slot-details.activities-to-assess":"{activities, select,\n            1 {Te beoordelen activiteit}\n            other {Te beoordelen activiteiten}\n        }",search:"Zoeken",searchAClassroomTraining:"Zoek een klassikale opleiding",searchAssignments:"Zoeken toewijzingen",searchByDate:"Zoek op datum",searchByLocation:"Zoeken op locatie",searchByName:"Zoek op naam",searchByNameDepartmentOrJobTitle:"Zoek op naam, afdeling of functienaam",searchByReceiverName:"Zoek op ontvanger naam",searchBySenderName:"Zoek op naam afzender",searchByTeacher:"Zoek op docent",searchDepartment:"Zoek afdeling",searchElearning:"E-learning zoeken",searchForAMessageOrNotification:"Zoek een bericht / notificatie",searchForAUserWithSkills:"Zoek naar een gebruiker met bekwaamheden",searchFunctions:"Zoek functies",searchLocation:"Zoek locatie",searchOn:"Zoek op",searchOnCatalogName:"Zoek op catalogusnaam",searchOnDepartmentName:"Zoek op afdelingsnaam",searchOnRoleName:"Zoek op functienaam",searchRecipients:"Zoek ontvangers",searchRole:"Role zoeken",searchPackage:"Pakket zoeken",searchSkill:"Bekwaamheid zoeken",searchTool:"Zoek hulpmiddel",secondAbout:"{number} second",secondaryBackgroundColor:"Secundaire achtergrondkleur",secondaryBackgroundColorDark:"Secundaire donkere achtergrondkleur",secondaryBackgroundColorLight:"Secundaire lichte achtergrondkleur",secondAgo:"{number} seconde geleden",secondsAbout:"{number} seconden",secondsAgo:"{number} seconden geleden",selectACatalogItemToAssignAcertificateTo:"Selecteer catalogusitems om aan toe te wijzen",SelectACertificate:"Selecteer een certificaat",selectAll:"Selecteer allemaal",selectAll2:"Alles selecteren",selectAnActivity:"Selecteer een activiteit",selectAPeriod:"Selecteer een periode",selectAPlanning:"Selecteer een planning",SelectASkillToChangeAssignments:"Selecteer een bekwaamheid om toewijzingen aan te passen",selectATrainingToAdd:"Selecteer een training om aan toe te wijzen",selectAssignmentOption:"Selecteer toewijzingsoptie:",selectCategory:"Selecteer categorie",selectCompetenceAndFunctions:"Selecteer bekwaamheid en functies",selectDepartment:"Selecteer afdeling",selectDomain:"Selecteer domein",selectDownloadType:"Selecteer download type",selectEmployee:"Selecteer een medewerker",selectExportToMakeAnotherUserAssessorForTheSameActivitiesAsThisUser:"Kies voor ''EXPORTEREN'' om een andere gebruiker beoordelaar te maken bij dezelfde activiteiten als deze gebruiker.",SelectExternalLearningPlan:"Selecteer externe leerplan(nen)",selectFile:"Bestand selecteren",selectFunctions:"Selecteer functies",SelectPhoto:"Foto selecteren",SelectManagerCatalogAuthorization:"Selecteer een manager om de aanvraag bij in te dienen",selectReviewer:"Selecteer de collega die u gaat beoordelen",selectScormItem:"Selecteer scorm item",selectStatus:"Selecteer status",selectTargetType:"Selecteer type",selectType:"Selecteer type",selectReportType:"Selecteer type rapport",selfassessment:"Zelfbeoordeling",send:"Verzenden",sendAMessage:"Stuur een bericht",sendMessage:"Stuur bericht",senderDomain:"Afzender domein",sendUserConfirmationMail:"Stuur een bevestiging per e-mail",sentMessages:"Verzonden berichten",session:"Sessie",sessionName:"Sessienaam",sessions:"sessies",settings:"Instellingen",skill:"Bekwaamheid",skillTitle:"Titel bekwaamheid",skills:"Bekwaamheden",skillsReport:"Bekwaamheden rapport",skillsReportWidgetInfo:"Monitor de voortgang van bekwaamheden",skillsAlmostExpired:"bijna verlopen",skillsExpired:"verlopen",skillsPassport:"Bekwaamheidspaspoort","SkillsReport.WhatToExport":"Welke gegevens wil je exporteren?","SkillsReport.SummaryExport":"Samenvatting van bekwaamheden (huidige selectie)","SkillsReport.TotalExport":"Totaaloverzicht van bekwaamheden op afdeling/functie niveau","SkillsReport.Present":"Actueel","SkillsReport.DisplayProvenSkills":"Toon aangetoonde bekwaamheden op...","SkillsReport.History":"Historie","SkillsReport.HistoryConflictNoDate":"Selecteer een datum","SkillsReport.HistoryConflictNoType":"Selecteer het soort data","SkillsReport.HistoryConflictNoUser":"Selecteer een gebruiker","SkillsReport.HistoryConflictMessage":"Selecteer een datum en de gewenste historie","SkillsReport.PresentOverview":"Actueel overzicht ","SkillsReport.HistoryOverview":"Historie overzicht","SkillsReport.SelectUser":"Selecteer een gebruiker","SkillsReport.ShowHistory":"Toon historie van...","SkillsReport.SpecificUser":"Specifieke gebruiker","SkillsReport.ProvenSkills":"Aangetoonde bekwaamheden",showAll:"Toon alles",showAlsoExpiredAndFutureCatalogItems:"Toon ook verlopen / toekomstige items",showAssessment:"Toon assessment",showDepartments:"Toon afdelingen",showDisabledAccounts:"Toon uitgeschakelde accounts",showEmptyValues:"Toon lege waarden",showExpiredCatalogItems:"Toon verlopen items",showExpiredSchedules:"Toon verlopen roosters",showForm:"Toon formulier",showFutureCatalogItems:"Toon toekomstige items",signIn:"Inloggen",signInToUse:"Log in om van SDB Leerplatform gebruik te kunnen maken",showOnly:"Toon alleen",showOverview:"Overzicht weergeven",signOut:"Uitloggen",size:"Grootte",someoneElse:"Iemand anders",sortBy:"Sorteer op",sortByDate:"Sorteer op datum",sortedByDate:"Gesorteerd op datum",spaceFillingProportionalStandard:"Ruimtevullend, in verhouding (standaard)",ssosearch:"Gebruiker zoeken",ssoUserInformation:"Gebruikersaccount",ssoUserOrGroup:"Gebruiker / groep",start:"Starten",startDate:"Begindatum",startDates:"Planning",started:"Gestart",Started:"Gestart",startedOn:"Begonnen op",StartTime:"Starttijd",statusAll:"Alles",statusAccept:"Ter acceptatie",startedStatus:"Gestart",statusReview:"Ter controle",statusReject:"Afgewezen",Status:"Status",statusCompleted:"Geaccepteerd/Afgehandeld",stillToDo:"nog te doen",strikethrough:"Doorhalen",stronglyAgree:"Sterk mee eens",stronglyDisagree:"Sterk mee oneens",studyLoad:"Studiebelasting",style:"Stijl",subDepartment:"Subafdeling",subDepartments:"Subafdeling(en)",subject:"Onderwerp",submit:"Indienen",submitAssessment:"Beoordeling indienen",submitForm:"Formulier indienen",submitRequest:"Aanvraag indienen",submitCatalogAuthorizationRequest:"Je gaat een aanvraag indienen bij je manager om deze training te kunnen volgen. Dit zijn de gegevens:",subtitle:"Subtitel",SuccesRegistrationIsPossible:"De persoon kan op dit rooster worden ingeschreven.",Summary:"Samenvatting",tabDetails:"Details",tabBijlagen:"Bijlagen",tabComments:"Opmerkingen","targetType.all":"Alles","targetType.learningplan":"E-learning","targetType.composition":"E-learning","targetType.classroom":"Klassikaal","targetType.expertise":"Dossier-items","targetType.microlearning":"Micro Learning","targetType.scorm":"Scorm","targetType.lti":"LTI","targetType.microlearning.video":"Video","targetType.microlearning.movie":"Video","targetType.microlearning.audio":"Audio","targetType.microlearning.animation":"Animatie","targetType.microlearning.infographic":"Infographic","targetType.microlearning.exercise":"Oefenen","targetType.microlearning.microcourse":"Microcursus","targetType.microlearning.text":"Tekst","targetType.microlearning.test":"Toets","targetType.microlearning.pretest":"Test jezelf","targetType.microlearning.complete":"E-learning","targetType.microlearning.elearning":"E-learning",tcgPasswordStrength:{Label:"Sterkte",None:"geen",VeryWeak:"erg zwak",Weak:"zwak",Medium:"gemiddeld",Strong:"sterk",VeryStrong:"zeer sterk"},Taught:"Lesgegeven",tcgUpload:{dropFiles:{one:"Sleep bestand hierheen",many:"Sleep bestanden hierheen"},addFiles:{one:"Selecteer bestand...",many:"Selecteer bestanden..."},cancel:"Annuleren",error:{tooManyFiles:"Te veel bestanden.",fileIsTooBig:"Bestand is te groot.",incorrectFileType:"Incorrect bestandstype."},uploading:{status:{connecting:"Verbinden...",stalled:"Vastgelopen.",processing:"Bestand verwerken...",held:"De bijlagen zijn nog niet geupload."},remainingTime:{prefix:"resterende tijd: ",unknown:"resterende tijd onbekend"},error:{serverUnavailable:"Server niet bereikbaar",unexpectedServerError:"Onverwachte serverfout",forbidden:"Geweigerd"}},units:{size:["B","kB","MB","GB","TB","PB","EB","ZB","YB"],sizeBase:1e3}},teacher:"Docent",teacherOverviewDescription:"Overzicht docenten",teachers:"Docenten",teacherIsMandatory:"Docent is verplicht",Temporary:"Tijdelijk",temporaryParticipants:"Voorlopig ingeschreven deelnemers",temporaryParticipantsTab:"Voorlopige inschrijvingen",template:"Sjabloon",tertiaryBackgroundColor:"Tertiaire achtergrondkleur",testResult:"Resultaat",text:"Tekst",textField:"Tekstveld",theBlockMustAtleastContainAquestion:"De blok moet tenminste één vraag bevatten",theActivityIsNoLongerAvailable:"De activiteit is niet meer beschikbaar",theAllowedNumberOfRegistrationsHasBeenReached:"Het toegestane aantal inschrijvingen voor deze gebruiker is bereikt",theAllowedNumberOfRegistrationsForMyselfHasBeenReached:"U heeft uw maximaal aantal inschrijvingen voor deze opleiding bereikt",theAllowedNumberOfRegistrationsForThisUserHasBeenReached:"Het toegestane aantal inschrijvingen voor deze gebruiker is bereikt",theColleagueWhoWillAssessYou:"De collega die jou gaat beoordelen",theFirstBeginsOn:"de eerste begint op ",theFollowingParticipantsAreStillRegisteredOnTheSchedule:"De volgende deelnemers zijn nog ingeschreven op de planning:",TheLearningPlansThatWillGetActivated:"De leerplannen die geactiveerd gaan worden",theListOfLinkedSkills:"Gekoppelde bekwaamheden",themeColors:"Themakleuren",themeColorPrimary:"Primaire kleur",themeColorSecondary:"Secundaire kleur",themeColorTertiary:"Tertiare kleur",themeColorButton:"Knop kleur",themeColorProgress:"Voortgangsbalk kleur",themeColorProgress100:"Voortgangsbalk 100% kleur",themeDescription:"Stel eenvoudig 2 themakleuren in. De tekstkleur en de ondersteunende kleuren worden automatisch berekend. Niet helemaal naar wens? Bepaal dan zelf de lichte en donkere variant van de basiskleuren!",theMinimumNumberOfMandatoryActivitiesIs:"Het minimum aantal verplichte activiteiten is {number}",theNextOneIsOn:"de volgende is op",theNextActivityStarts:"Volgende activiteit:",theNextLessonStarts:"Volgende activiteit:",thereAreEvaluationRequests:"Evalueer jouw trainingen",thereAreListsThatNeedToBeUpdated:"Verwerk openstaande presentielijsten",thereAreNoAssessmentsFound:"Er zijn geen beoordelingen gevonden",thereAreNoAssessmentsFoundTitle:"Geen beoordelingen",ThereArenoAssignmentsFound:"Er zijn geen beoordelingen gevonden",thereAreNoDepartmentsFound:"Er zijn geen afdelingen gevonden",thereAreNoDocuments:"Er zijn geen documenten",thereAreNoFormsFound:"Er zijn geen formulieren gevonden",thereAreNoFormsFoundTitle:"Geen formulieren",thereAreNoFunctionsLinkedToThisSkill:"Er zijn geen functies meer gekoppeld aan deze bekwaamheid",thereAreNoFuturePlannedLessons:"Er zijn geen toekomstige geplande lessen",thereAreNoListsToUpdate:"Er zijn geen lijsten om bij te werken",thereAreNoMessageFound:"Er zijn geen berichten gevonden",thereAreNoMessageTitle:"Geen berichten gevonden",thereAreNoOpenAssessmentRequests:"Er zijn geen openstaande beoordelingsaanvragen",thereAreNoPastPlannedLessons:"Er zijn geen verlopen lessen gevonden",thereAreNoParticipantsConnectedToThisSchedule:"Er zijn geen deelnemers gekoppeld aan deze planning",thereAreNoParticipantsFound:"Er zijn geen deelnemers gevonden",thereAreNoRequiredTrainings:"Er zijn geen verplichte opleidingen",thereAreNoRequiredTrainingsFound:"Er zijn geen verplichte opleidingen gevonden",thereAreNoRequiredTrainingsAssigned:"Geen verplichte opleidingen gekoppeld",thereAreNoSkillsCategoriesFoundTitle:"Geen bekwaamheden categorieën gevonden",thereAreNoSkillsCategoriesFoundText:"Voeg een bekwaamheid-categorie toe of reset the filters",thereAreNoSkillsFound:"Er zijn geen bekwaamheden gevonden",thereAreNoSkillsFoundTitle:"Geen bekwaamheden gevonden",thereAreNoSkillsLinked:"Er zijn geen bekwaamheden gekoppeld",thereAreNoSkillsFoundText:"Pas eventueel de filterinstellingen aan",thereAreOpenAssessmentRequests:"Er zijn openstaande beoordelingsaanvragen",thereAreThecomingDays:"Er zijn de komende",thereIsAccreditationFound:"Er is geen accreditatie gevonden",thereIsAnEvaluationRequests:"Evalueer jouw training",thereIsNoIndividualConnected:"Er is geen individu gekoppeld",thereIsNoLocationSelected:"Er is geen locatie geselecteerd",thereIsNoTeacherSelected:"Er is geen docent geselecteerd",theSelectedAssessor:"De geselecteerde beoordelaar",theorems:"Stellingen",thisElearningCourseIs:"Deze E-learning cursus is",thisExaminerIsNotSkilled:"Deze beoordelaar is niet bekwaam",thisMinervaPortalDoesNotExist:"Dit SDB Leerplatform bestaat niet",thisScheduleIsFullTheNewRegistrationsWillBeQueued:"Dit rooster is vol. De nieuwe inschrijvingen komen op de wachtrij",thisScheduleConflictsWithAnotherScheduleForWhichThisParticipantIsRegistered:"Dit rooster conflicteert met een ander rooster waarvoor deze deelnemer ingeschreven is",thisScheduleConflictsWithAnotherScheduleForWhichYouAreRegistered:"Dit rooster conflicteert met een ander rooster waarvoor u ingeschreven bent",thisScheduleCannotBeEditedBecauseItIsInTheFuture:"Dit rooster kan niet bewerkt worden omdat het in de toekomst is",time:"Tijd",Title:"Titel",to:"Aan",today:"Vandaag",todolist:"Todolist",tool:"Hulpmiddel",toolDeleted:"Hulpmiddel verwijderd",tools:"Hulpmiddelen",Tooltip:"Tooltip",toPlannings:"Toon planning",total:"Totaal",totalAfterANumber:"totaal",totalNumberOfEvaluations:"Totaal aantal evaluaties",TotalNumberOfHours:"Totaal aantal uur",training:"Scholing",trainingDeleted:"Scholing verwijderd",trainingInformation:"Opleidingsinformatie",trainingonthejob:"Training on the job",trainingsStarted:"gestart",trainingType:"Type opleiding",transferEnrollment:"Overschrijven",transferInsufficientRights:"Je hebt niet genoeg rechten om over te schrijven",true:"ja",toj:"Training on the job",trainings:"Opleidingen",translate:"Vertalen",types:"Typen",Uncouple:"Ontkoppelen",UncoupleEmployee:"Medewerker ontkoppelen",Underline:"Onderstrepen",underlyingDepartments:"Onderliggende afdelingen",Undo:"Ongedaan maken",unenroll:"uitschrijven",unenrollment:"Uitschrijfbevestiging",unenrollmentDeadline:"Uitschrijftermijn",unenrollmentDeadlineInDays:"Uitschrijftermijn in dagen","Unordered List":"Opsommingsteken",units:{size:["B","kB","MB","GB","TB","PB","EB","ZB","YB"]},uniqueUsers:"Unieke gebruikers",unknown:"Onbekend",Unknown:"Onbekend",unKnownOn:"Onbekend op",unlockAccount:"Ontgrendel account",unregister:"Uitschrijven",unRegisterInsufficientRights:"Je hebt niet genoeg rechten om uit te schrijven.",unregisterOrTansferOptions:"{ option, select,\n            myUnregister {Je kunt je niet uitschrijven omdat jouw presentie / resultaat al is verwerkt.}\n            myTransfer {Je kunt je niet overschrijven omdat jouw presentie / resultaat al is verwerkt.}\n            someoneElseUnregister {Deze medewerker kan niet worden uitgeschreven omdat de presentie / het resultaat al is verwerkt.}\n            someoneElseTransfer {Deze medewerker kan niet worden overgeschreven omdat de presentie / het resultaat al is verwerkt.}\n            other {{option}}\n        }",unRegisterPeriodExceeded:"Het is niet meer mogelijk je uit te schrijven.",unRegisterPeriodExceededTitle:"Uitschrijftermijn verstreken",unsupportedBrowserHeader:"Verouderde browser",unsupportedBrowserMessage:"U gebruikt een browser die wij niet meer ondersteunen. Update uw browser voor een betere ervaring!",until:"tot",untilTime:"Tot en met",up:"Omhoog",upcomingTrainings:"Aankomende opleidingen",UpdateValidityForExistingAssignments:"Pas geldigheid ook aan voor eerdere gemaakte toewijzingen",upload:"Upload",uploadAutomatically:"Bijlagen in de wachtrij worden automatisch geupload bij het opslaan van dit dossieritem.",uploadCertificateBackgroundImage1:"Achtergrondafbeelding",uploadCertificateBackgroundImage2:"De afbeelding moet een afmeting van 1400 bij 1000 of 1000 bij 1400 pixels hebben.",uploading:{status:{connecting:"Verbinden...",stalled:"Vastgelopen.",processing:"Bestand verwerken...",held:"Wachten"}},unableToRemoveAccreditation:"Het verwijderen van de accreditatie is niet gelukt",unregistered:"Uitgeschreven",Unregistered:"Uitgeschreven",unregisteredParticipants:"Uitgeschreven deelnemers",updateAttendance:"Presentie bijwerken",url:"URL",URL:"URL",usageReport:"Gebruiksrapportage","usageReport.subtitle":"E-learnings & klassikale opleidingen","usageReport.generate":"Genereer rapportage","usageReport.usageUniqueCoursesUsers":"Aantal unieke gebruikers dat zich heeft ingeschreven","usageReport.usageUniqueUsers":"Aantal unieke gebruikers dat deze e-learning gestart heeft","usageReport.activeUsersPeriod":"Actieve gebruikers in geselecteerde periode","usageReport.elearningDetails.user":"Gebruiker","usageReport.elearningDetails.searchUser":"Gebruiker zoeken","usageReport.elearningDetails.status":"Status","usageReport.info.usersStartedBetween":"Gebruikers gestart tussen {selectedDates}",useCustomValue:"Eigen waarde gebruiken",useDefault:"Standaardwaarde",useExaminerFunctionality:"Toetsfunctionaliteit gebruiken",UseOnlyDefaultTemplates:"Gebruik standaardsjabloon voor alle communicatie",user:"Gebruiker","user.course.result.validUntil":"Geldig tot",uservoiceIcon:"Geef je verbetersuggestie door",userInfo:"Gebruikers informatie",userGroupDeleted:"Gebruiker/groep verwijderd",userProfile:"Gebruikersprofiel",userManagement:"Gebruikersbeheer",usersName:"Gebruikersnaam",users:"Gebruikers",vacantPlace:"plek vrij",vacantPlaces:"plekken vrij",valid:"Geldig",validity:"Geldigheid",validityPeriodInMonths:"Geldigheidsduur in maanden",validUntil:"Geldig tot",Version:"Versie",version:"versie",refresher:"Vervolg",viewComment:"Commentaar inzien",viewPlanning:"Rooster bekijken",viewPreconditions:"Bekijk randvoorwaarden",viewSkill:"Bekijk bekwaamheid",viewTheClassActivitiesForWhichYouAreRegistered:"Bekijk de klassikale activiteiten waarvoor je bent ingeschreven",viewYourScheduledLessons:"Bekijk jouw ingeroosterde lessen",virtualQueue:"Interesselijst",week:"Week",weekAbout:"{number} week",weekAgo:"{number} week geleden",weekOverview:"Weekoverzicht",weekOverviewReport:"Weekoverzicht rapport",weeks:"Weken",weeksAbout:"{number} weken",weeksAgo:"{number} weken geleden",welcomeToTCGMinerva:"Welkom bij de leeromgeving",whatAreYouSearchingFor:"Waar ben je naar op zoek?",when:"Wanneer",WhoDoYouWantToRegister:"Inschrijven",width:"Breedte",withdrawTheApplication:"Aanvraag intrekken",WithCertificate:"Met certificaat",WithoutCertificate:"Zonder certificaat",workLearningMethods:"Werk- & Leervormen",workPhone:"Telefoon werk",writtentest:"Schriftelijke toets",year:"Jaar",years:"Jaar",yearAbout:"{number} jaar",yearsAbout:"{number} jaren",yearAgo:"{number} jaar geleden",yearsAgo:"{number} jaren geleden",yes:"Ja",youAreAlreadyRegistered:"U bent al ingeschreven",youAreNotAuthorizedToViewThisInformation:"U bent niet bevoegd om deze informatie te bekijken.",youCurrentlyHaveNoLesson:"Je hebt momenteel geen les",YouDoNotHaveAddedFavorites:"Je hebt geen favorieten toegevoegd.",youHaveMadeChangesDoYouWantToContinueWithoutSavingIt:"U heeft wijzigen gemaakt. Wilt u doorgaan zonder deze op te slaan?",youHaveNoLessonInTheNextSelectedDays:"U heeft geen les in de komende geselecteerde dagen",youMustAddRecipients:"U moet ontvangers toevoegen",YourDepartments:"Jouw afdelingen",YourFavoriteCourses:"Uw favoriete cursussen",YouAreSignedInAsAndDoesNotHaveRightsOn:"Je bent ingelogd als {name} en hebt met dit account geen rechten om {portal} te betreden",youWillBeAssessedBy:"Je wordt beoordeeld door",yourProgress:"Jouw voortgang",viewYourProgress:"Bekijk jouw voortgang",zipCode:"Postcode",showChildDepartmentsWhenNotManager:"Toon ook onderliggende afdelingen aan managers van een bovenliggende afdeling","ssoManagement.mainTitle":"Gebruiker zoeken","ssoManagement.pageInfo":"SSO Beheer PageInfo","ssoManagement.listHeading":"SSO Lijst","ssoManagement.addSsoUser":"Nieuwe SSO gebruiker","ssoManagement.updateSsoUser":"SSO gebruiker bewerken","ssoManagement.enableDisableLabel":"Activeren/Deactiveren","ssoManagement.lockedOut":"Geblokkeerd","ssoManagement.disabledSince":"Gedeactiveerd per","ssoManagement.logOnName":"Gebruikersnaam","ssoManagement.logOnAlias":"Alias","ssoManagement.displayName":"Weergavenaam","ssoManagement.description":"Omschrijving","ssoManagement.emailAddress":"Email Adres","ssoManagement.password":"Wachtwoord","ssoManagement.resetPassword":"Reset Wachtwoord","ssoManagement.filter.enabled":"Geactiveerd","ssoManagement.filter.disabled":"Gedeactiveerd","ssoManagement.filter.lockedOut":"Geblokkeerd","ssoManagement.tab.users":"Gebruikers","ssoManagement.tab.groups":"Groepen","ssoManagement.actions.changePassword":"Wachtwoord wijzigen","ssoManagement.actions.generatePassword":"Wachtwoord Genereren","ssoManagement.actions.sendResetLink":"Reset link verzenden","ssoManagement.actions.unlock":"Deblokkeren","ssoManagement.actions.enableDisable":"{ disabled, select,\n            true {Activeren}\n            false {Deactiveren}\n            undefined {Deactiveren}\n            other {{disabled}}\n        }","ssoManagement.errors.mustBeUnique":"De gebruikers naam en alias moeten verschillend zijn!","ssoManagement.errors.alreadyInUse":"Deze gebruikersnaam is al in gebruik!","ssoGroupManagement.groupDetails":"Groep details","ssoGroupManagement.mainTitle":"SSO Groep Beheer","ssoGroupManagement.pageInfo":"SSO Groep Beheer PageInfo","ssoGroupManagement.listHeading":"SSO Groep Lijst","ssoGroupManagement.addSsoGroup":"SSO Groep Aanmaken","ssoGroupManagement.updateSsoGroup":"SSO Groep Bewerken","ssoGroupManagement.updateSsoGroupMembers":"SSO Group Members Bewerken","ssoGroupManagement.memberOf":"Lid van",tags:"Tags",labels:"Labels",addLabel:"Label toevoegen",noLabels:"Geen Labels",Supplier:"Eigenaar",supplierTags:"Leverancier Tags",addTag:"Tag toevoegen",noTags:"Geen Tags",noWPL:"Je bent nog niet aan een werk- of leervorm gekoppeld","scormManagement.mainTitle":"SCORM Beheer","scormManagement.pageInfo":"SCORM Beheer PageInfo","scormManagement.listHeading":"SCORM Lijst","scormManagement.uploadScormPackage":"Upload Scorm 1.2 (.zip) Pakket","scormManagement.filter.zipped":"Zipped","scormManagement.filter.unzipped":"Unzipped","scormManagement.actions.upload":"Uploaden","scormManagement.actions.delete":"Verwijderen","tcgLearningPlan.resetDialogTitle":"E-learning opnieuw maken?","tcgLearningPlan.resetDialogBody":"Weet je zeker dat je deze e-learning opnieuw wilt maken? Al jouw huidige voortgang gaat dan verloren. Het heeft geen invloed op eerder behaalde resultaten.","tcgLearningPlan.somethingWentWrong":"Er is helaas iets misgegaan","tcgLearningPlan.retryProcessProgress":"Probeer opnieuw om de voortgang te verwerken.","tcgLearningPlan.resetIfNotWorking":"Lukt het niet? Reset dan de opleiding en begin opnieuw.","tcgLearningPlan.handInDialogTitle":"Inleveren?","tcgLearningPlan.handInDialogText":"Weet u zeker dat u {title} wilt inleveren? Na inleveren kunt u geen wijzigingen meer aanbrengen!","tcgLearningPlan.handIn":"Inleveren","tcgLearningPlan.skip":"Overslaan","tcgLearningPlan.completed":"Afgerond","tcgLearningPlan.open":"Openen","tcgLearningPlan.notAvailableYet":"Nog niet beschikbaar"},en:{aboutToExpire:"About to expire",absentOn:"Absent on",accept:"Accept",Accept:"Accept",acceptAuthSingle:"You are about to accept {number} request",acceptAuthPlural:"You are about to accept {number} requests",acceptance:"acceptance",Accepted:"Accepted",acceptedSelection:"Selection accepted!",acceptedPartialSelection:"Selection partially accepted!",accreditation:"Accreditation","accreditation.deleteDialog.body":"Are you sure you want to try the accreditation attempt again? This process will be carried out overnight.","accreditation.deleteDialog.title":"Confirm retry attempt","accreditation.deleteDialog.confirmButton":"Try Again","accreditation.status":"{status, select,\n            accepted {Accepted}\n            failed {Failed}\n            badResponse {Bad response}\n            error {Error}\n            pending {Pending}\n            notValid {Not valid}\n            other {No status}\n        }","accreditation.process":"Process","accreditation.processed":"Processed","accreditation.endDate":"Completed op","accreditation.info":"Accreditation settings","accreditation.processSuccess":"Accreditations haven been processed","accreditation.processTitle":"Process accreditations","accreditation.processText":"All the results of this course will be processed at once. This could take some time.","accreditation.processDoYouWantToContinue":"Do you want to continue processing?",accreditationDeleted:"Accreditation deleted",accreditations:"Accreditations",achieved:"Achieved",AchievedResults:"Achieved results",achievedOn:"Achieved on",Achievement:"Achievement",AchievementIsAboutToExpire:"Your result expires soon!",AchievementIsExpired:"Your result expired!",AchievementIsFailed:"You have failed",AchievementIsMandatory:"Your result is mandatory!",AchievementIsPassed:"Your result completed / passed",achievementRead:"I have read the manual/protocol",achievementStatus:"{status, select,\n            aborted {Aborted}\n            absent {Absent}\n            canceled {Cancelled}\n            completed {Completed}\n            deleted {Deleted}\n            expired {Expired}\n            failed {Failed}\n            faulted {Error}\n            not_registered {Not registered}\n            not_started {Not started}\n            passed {Completed}\n            started {Started}\n            registered {Registered}\n            unregistered {Unregistered}\n            other {Unknown}\n        }",achievementStatusForUserCourseResults:"{status, select,\n            aborted {Aborted}\n            absent {Absent}\n            canceled {Cancelled}\n            completed {Completed}\n            deleted {Deleted}\n            expired {Completed (expired)}\n            failed {Failed}\n            faulted {Error}\n            not_registered {Not registered}\n            not_started {Not started}\n            passed {Completed}\n            started {Started}\n            registered {Registered}\n            unregistered {Unregistered}\n            other {Unknown}\n        }",activate:"Activate",ActivateELearning:"(De)activate e-learning",active:"Active",Active:"Active",activities:"Activities",activity:"Activity",activityName:"Activity name",add:"add",Add:"Add",addAccreditation:"Add accreditation",AddAFavoriteFirst:"Reset the filter and choose your first favorite item!",addAnActivity:"Add an activity",addAnswer:"Add answer",addAssessment:"Add assessment",addAssessors:"Add users who you want to want to be able to assess other users",addAssets:"Add assets",addAttachments:"Add attachment(s)",addBlock:"Add block",addCategory:"Add category",addComment:"Add comment",addCourse:"Add classical course",addEmployee:"Add employee",addExemption:"Add exemption",addExternalCatalogItem:"Add external content",addFiles:{one:"Select file...",many:"Select files..."},Additional:"Additional",addMailTemplate:"Add mail template",addForm:"Add form",addGroup:"Add group",addIndividuals:"Add individuals",addNew:"Add new",AddNewsItem:"Add news item",addNewPrice:"Add new price",addOption:"Add option",addPlanners:"Add users who you want to give planner permission to departments",addPlanning:"Add planning",AddPortalGroup:"Add department",addQuestion:"Add question",address:"Address",addressGroup:"Address",addReservations:"Add reservations",addReviewers:"Add users who you want to give read only permission to departments",addSchedule:"Add session",addTeacher:"Add teacher",addSubcategory:"Add subcategorie",AddTextAndPressEnter:"Add a text and press ENTER",addTextField:"Add text field",addTheorem:"Add theorem",addToVirtualQueue:"I''m interested in this training",addToVirtualQueueDialogHeader:"Add to virtual queue?",addToVirtualQueueDialogMessage:"This will add you to the virtual queue for this training. Based on the amount of people showing interest in this training future sessions might be scheduled.",addTraining:"Add training",addUser:"Add user",addUsers:"Add users",administration:"Administration",administrators:"Administrators",administratorsAdd:"Add administrators",advised:"Advised",agree:"Agree",all:"All",allAssignmentsAreDeleted:"All assignments are deleted",allMandatoryFieldsMustBeFilled:"All mandatory fields must be filled",AlmostExpired:"Almost Expired",allDepartments:"All departments",Allignment:"Alignment",allowedToFollow:"Allowed to follow",allowMandatoryAssignments:"Mandatory assignments",allowMandatoryAssignmentsDescription:"Enable or disable mandatory assigning of catalogitems application-wide",allowNonExistingCombinations:"Allow non existing combinations",allowOnlyYourOwnNames:"Allow only your own names",allowQueue:"Queue",AllowEnroll:"Allow enroll",AllowUnenroll:"Allow unenroll",allowVirtualQueue:"Watchlist","allowVirtualQueue.explainer":"Users can express their interest if no courses are planned",allQuestionsAreMandatory:"All questions are mandatory",allTypes:"All",always:"Always",answerText:"Answer text",applicationParts:"Application parts",apply:"Apply",appointment:"appointment",appointmentAt:"Appointment at",allPresent:"All present",approved:"Approved",approvedDate:"Approved date",aProblemHasOccuredContactTheAdministrator:"A problem has occured. Contact the administrator",archive:"Archive",AreYouSureYouWantToDeactivateThisPackage:"Are you sure you want to deactivate this package?",AreYouSureYouWantToDeleteThisPackage:"Are you sure you want to delete this package?",areYouSureYouWantToDelete_what_:"Are you sure you want to delete {what, select,\n            role {this role}\n            other {''{what}''}\n        }?",areYouSureYouWantToDeleteAllAssignmentsForThisAssessor:"Are you sure you want to delete all assignments for this assessor?",areYouSureYouWantToDeleteThisAssessment:"Are you sure you want to delete this assessment?",areYouSureYouWantToDeleteThisBlock:"Are you sure you want to delete this block",areYouSureYouWantToDeleteThisCategory:"Are you sure you want to delete this category",areYouSureYouWantToDeleteThisComment:"Are you sure you want to delete this comment?",areYouSureYouWantToDeleteThisConnection:"Are you sure you want to delete this connection",areYouSureYouWantToDeleteThisForm:"Are you sure you want to delete this form?",areYouSureYouWantToDeleteThisGroup:"Are you sure you want to delete this group",areYouSureYouWantToDeleteThisIndividualSkill:"Are you sure you want to delete this individual skill",areYouSureYouWantToDeleteThisMessage:"Are you sure you want to delete this message",areYouSureYouWantToDeleteThisQuestion:"Are you sure you want to delete this question",areYouSureYouWantToDeleteThisSection:"Are you sure you want to delete this section",areYouSureYouWantToDeleteThisSkill:"Are you sure you want to delete this skill",areYouSureYouWantToDeleteThisTextField:"Are you sure you want to delete this text field",areYouSureYouWantToDisconnectThisEmployee:"Are you sure you want to disconnect this emeployee?",areYouSureYouWantToUnsubscribe:"Are you sure you want to unsubscribe ?",are_you_sure_you_want_to_delete_this_accreditation:"Are you sure you want to delete this accreditation?",are_you_sure_you_want_to_delete_this_location:"Are you sure you want to delete this location?",are_you_sure_you_want_to_delete_this_schedule:"Are you sure you want to delete this session?",are_you_sure_you_want_to_delete_this_tool:"Are you sure you want to delete this tool?",are_you_sure_you_want_to_remove_this_user_from_list:"Are you sure you want to remove this user from the list?",areYouSureYouWantToUnregister:"Are you sure you want to unregister?",areYouSureYouWantToUnregisterThisStudent:"Are you sure you want to unregister this student?",askPermission:"Ask permission",assessedOn:"Assessment date",assessEmployees:"Assess employees",assessment:"Assessment",assessmentName:"Assessment form name",assessmentDescription:"Assessment description",assessmentForm:"Assessment form",assessmentsForms:"Assessment forms",assessmentResult:"Assessment result",assessments:"Assessments",assessmentIncomplete:"Assessment is incomplete",assessmentMustContainAtLeastOneSection:"Assessment must contain at least one section",assessmentSectionsMustContainAtLeastOneQuestion:"Assessment sections must contain at least one question",assessmentQuestionMustHaveYesNoOptions:"Question must have yes/no as options",assessor:"Assessor",assessors:"Assessors",assessorsManagement:"Assessors management",assessorsView:"Assessors view",assessorsViewManageAssignments:"Manage assignments",examinerWithName:"Examiner: {name}",examinerAppointments:"Examiner appointments",examinerAppointmentsOverview:"List of examiner appointments",examinerFirstAvailableTimeSlot:"First available timeslot",examinermanagement:"Examiner management",examinerNoLocation:"No location found!",assign:"Assign","assignMatrix.title":"{type, select,\n            department {Entire department}\n            group {User / group}\n            user {User}\n            other {{type}}\n        }","assignMatrix.department.explainer":"Regardless of function",assignCatalogItems:"Assign catalog items",assignCatalogItemsBulk:"Which catalog items do you want to assign?",assignCatalogItemsBulkChooseDomain:"Choose a domain",assignCatalogItemsBulkChooseFunctions:"And to which functions?",assignCatalogItemsBulkMandatory:"Make mandatory?",assignCatalogItemsBulkToDomainOrDepartment:"Assign to domain or department / function?",assignCatalogItemsBulkSelectAllFunctions:"Select all functions",assignCatalogItemsBulkWithDepartments:"To which departments do you want to assign?",AssignCertificateToSelectedCatalogItems:"Assign certificate to selected catalog items",assignedTrainings:"Assigned trainings",assignEmployee:"Assign employee",assignEmployees:"Assign employees",assignedIndividual:"Assigned individual",assignedToFunction:"Assigned to function",assignIndividual:"Assign individual",assignIndividuals:"Assign individuals",assignManagers:"Assign managers",assignments:"Assignments",assignmentsIndividual:"Individual assignments",assignedTo:"Assigned to",assignToDepartmentFunction:"Assign to department / function",asSoonAsAPlaceBecomesAvailableTheNextParticipantWillBeRegisteredAutomatically:"When maximum participants is reached a user can enroll on a queue and will be enrolled automatically when a seat becomes available.",asSoonAsSpaceBecomesAvailableTheEntireQueueWillReceiveAnInvitation:"As soon as space becomes available, the entire queue will receive an invitation",at:"at",atLeastOneFunctionMustBeSelected:"At least one function must be selected.",atLeastOneBlockMustAdded:"At least one block must be added.",atLeastOneActivityMustAdded:"At least one item must be added to the block. In the case of Basic with Refresher, at least one activity must be added for both Basic and Refresher",attachedCertificate:"Attached certificate",attachments:"Attachment(s)",attachedUsers:"Attached employees",attendanceList:"Attendance list",attendees:"Attendees",askAuthorizationToManager:"Permission required to start this elearning, would you like to ask permission?",authorizationNeededByManager:"Authorization needed by manager",authorizationRequest:"{ number, select,\n            1 {Review a request}\n            other {Review {number} requests}\n        }",AuthorizationRequests:"Authorization requests",AvailableLabels:"Available labels",AvailableVersions:"Available versions",beginDate:"Start date",beginTime:"Start time",back:"back",Back:"Back",basic:"Basic",belowYouCanSeeThePlanningOfYourLessons:"Planning (if applicable) and user remark:",belowYouSeeTheListWhereYouNeedToUpdateThePresence:"Below you see the list where you need to update the presence",belowYouSeeThePlanningOfTheLessonsForWhichYouAreRegistered:"Below you see the planning of the lessons for which you are registered",betaHeadline:"Want to try out the new look & feel?",bhpStatusEnrolled:"Enrolled",bhpStatusAchieved:"Achieved on",bhpValidity:"Validity",block:"Block",blockName:"Block name",Bold:"Vet",both:"Both",bulkAssignmentsSaved:"Success, assignments processed",buy:"Buy",by:"By",calendar:"Calendar",calculateSupportColors:"Automatically calculate support colors",cancel:"Cancel",cancelled:"Cancelled",Cancelled:"Cancelled",cancelPendingRequest:"Would you like to revoke your pending request?",cancelSchedule:"Cancel schedule",canTest:"Can test",capacity:"Capacity",capacityReached:"Schedule is full",catalog:"Catalog","catalog.fab.course":"Add course","catalog.fab.elearning":"(De)activate elearning","catalog.participants.heading.lastAction":"Last action","catalog.participants.filter.action":"Action","catalog.participants.filter.name":"Name employee","catalog.participants.filter.dateFrom":"Date from","catalog.participants.filter.dateUntil":"Date until","catalog.participants.heading.result":"Result","catalog.participants.heading.bestResult":"Best result","catalog.participants.heading.expirationDate":"Expiration date","catalog.participants.heading.currentStatus":"Current status","catalog.participants.heading.date":"Date",catalogAuthorizationRequests:"Catalogus authorization requests",catalogAssignmentWarning:"All selected catalog items will be assigned based on the choices made.",catalogAssignmentWarning2:"This can only be undone manually.",CatalogInterests:"Watchlist",CatalogInterestsDetails:"Catalogitems on your watchlist",catalogItem:"Catalog item",catalogItemCompleted:" - last completed on: ",catalogItemAboutToExpire:"Catalog item expires soon!",catalogItemExpired:"Catalog item expired!",catalogItemMandatory:"Catalog item is mandatory!",catalogItemPassed:"Catalog item completed / passed","catalogItem.status":"{status, select,\n            disabled {[DISABLED]}\n            deleted {[DELETED]}\n            other {}\n        }","catalogItem.replaces":"This course replaces the following other courses","catalogItem.replacedBy":"This course is replaced by the following course","catalogEdit.general":"Catalogitem general",categories:"Categories",categoriesNotFound:"No available categories found",category:"Category",categoryAdd:"Add category",categoryDelete:"Categorie delete",categoryDeleteWarning:"Are you sure you want to delete this category?",categoryDeleted:"Category deleted",categoryEdit:"Edit category",categoryName:"Category name",Center:"Center","cert-all":"All","cert-yes":"All with certificate","cert-no":"All without certificate",certificate:"Certificate",certificates:"Certificates",certificateApply1:"The certificate ''{certificaat}'' ",certificateApply2:"will be applied to {number} catalog item(s).",certificateAssign:"Assign certificates",certificateDefinition:"Certificate definition",certificateDefinitions:"Certificates",certificateDefinitions2:"Certificate definitions",certificateDeleteConfirm:"Are you sure you want to remove this certificate definition?",certificateDeleteWarning:"This definition is used {number} times in catalog items!",certificateHide:"Hide items with certificate:",certificateLabelDeleteHeader:"Delete selected label?",certificateLabelDelete:"Do you want to delete this label?",certificateLabelNew:"New empty label",certificateLabelUsername:"Label: username",certificateLabelBirthdate:"Label: birthdate",certificateLabelCoursename:"Label: course name",certificateLabelResultdate:"Label: result date",certificateLabelPoints:"Label: score",certificateShow:"Show items with certificate:",changeCategory:"Change category",changeComment:"Change comment",changed:"changed",changeOrder:"Change order",changePassword:"Change password",changeProfile:"Edit profile",changeYourPassword:"Change your password",changeRegistration:"Change registration",changeSsoAccount:"Edit account",checkAppointments:"Existing appointments are not deleted!",checkPortfolioItems:"You have been asked to check one dossier item",checkPortfolioItemsPlural:"You have been asked to check {number} dossier items",chosenDate:"Chosen date",chosenTraining:"Chosen training",chooseAnEvaluationForm:"Choose an evaluation form",chooseAnExaminer:"Choose an examiner",chooseATimeslot:"Choose a timeslot",chooseASkillThatYouWantToLinkToTheFunctions:"Choose a skill that you want to link to this role.",chooseASkillThatYouWantToLinkToThisDepartment:"Choose a skill that you want to link to this department.",chooseCertificate:"Choose certificate",chooseDateAndRegion:"Choose date and region",chooseDeleteToPreventThisUserFromReviewingAnySkill:"Choose ''DELETE'' to prevent this user from reviewing any skill.",chooseFunctions:"choose functions",chooseImportToMakeThisUsersAnAssessorForTheSameActivitiesAsAnotherUser:"Choose ''IMPORT'' to make this user an assessor for the same activities as another user.",choosePortfolioDefinition:"Choose a dossier item definition",ChooseWhichRolesYouWantToUncouple:"Choose which roles you want to decouple",city:"City",class:"Class",classDeleted:"Class deleted",classes:"Classes",classical:"Classical",Classical:"Classical",classicalTheoryLesson:"Classical theory lesson",classroom:"Classical",Classroom:"Classical","classroom.conflictMessage.maxCapacityLowerThanMinCapacity":"Max capacity may not be lower than min capacity","classroom.teacheroverviewfilter.all":"All","classroom.teacheroverviewfilter.active":"Active","classroom.teacheroverviewfilter.cancelled":"Cancelled",ClassroomActivities:"Classroom activities",ClassroomActivity:"Classroom activity",ClassroomCancel:"Cancel classical Lesson",ClassroomDequeue:"Remove from queue",ClassroomEnroll:"Enroll classical lesson",ClassroomEnqueue:"Enrolll on queue",ClassroomExaminerActivity:"Classroom and examiner activity",ClassroomUnenroll:"Unenroll from classical lesson",classroomTraining:"Classroom training",classroomTypes:"Classroom",clear:"Clear",ClearImage:"Clear image",ClearList:"Clear list",clickOnRegisterToRegisterYourself:"Click on ''ENROLL'' to register yourself.",close:"Close",closeDown:"Sluiten",closeRegistration:"Close registration",code:"code",Code:"Code",combineSkillExams:"Combine exams",colleague:"Colleague",color:"Color",comment:"Comment",commentDate:"Comment date",comments:"Comments",communication:"Communication",compatibility:"Compatibility",complete:"Complete",completed:"Completed",Completed:"Completed",completedStatus:"Completed",completionDate:"Completion date","components.acaDepartmentSearch.label":"Search for (sub)department",composition:"e-Learning",compulsory:"Compulsory",compulsoryNumber:"Compulsory number",confirm:"Confirm",confirmDelete:"Are you sure you want to delete ''{name}''?",ConfirmNewPassword:"Confirm new password",ConfirmUnenroll:"Are you sure you want to unenroll?",ConflictingEnrollmentFound:"Conflicting enrollment found",ConflictingSchedule:"Unable to create schedule due to conflict with existing schedule",connect:"Connect",connected:"Connected",connectFunctions:"Connect roles",connectSkill:"Connect skill",contactGroup:"Contact",contactInformation:"Contact information",contentEndDate:"This course can no longer be started from: {date}!",contentExpired:"This course is expired and can no longer be started!",contents:"Contents",continue:"Continue",course:"Classical course",courseHasBeenReplaced:"This course has been replaced with",CourseProvider:"Course provider",courseResetTitle:"User can reset progress:",courseResetAllow:"Always",courseResetDeny:"Never",courseResetDefault:"Depending on global setting",courses:"Classical courses",courseSelected:"course selected",Costs:"Costs",created:"Started",creationDate:"Creation date",createNewSkill:"Create new skill",createNewAssessment:"Create new assessment",createNewForm:"Create new form",current:"Current",currentRegistrations:"Current registrations",CurrentPassword:"Current password",currentStartDates:"Current start dates",currentStatus:"Current status",dashboard:"Dashboard","dashboard.widgets.adminnotification.title":"Weekplanning","dashboard.widgets.adminnotification.subtitle":"Monitor session issues...","dashboard.widgets.notification.title":"My messages","dashboard.widgets.notification.subtitle":"View unread messages...",dashboardLinks:"Dashboard links",dashboardTitle:"Dashboard welcome text",dashboardTile:"This text will appear in the top section of the dashboard","dashboard.widget.hl.traject":"Mijn leertraject(en)","dashboard.widget.hl.community":"Community",date:"Date",dateAndInfo:"Date & info",DateAndTime:"Date & time",dateAscending:"Date ascending",dateDescending:"Date descending",dateIsNotKnown:"Date is not known",dateOfAssessment:"Date of assessment",dateOfBirth:"Date of birth",dateOfExpiry:"Date of expiry",dateShownInterest:"Shown interest on",dateStatusFrom:"Status date from:",dateStatusTill:"Status date till:",dateToExpire:"It will expire in {number} months",day:"Day",dayAbout:"{number} day",dayAgo:"{number} day ago",dayClassroomTraining:"day classroom training",dayParts:"lessons",days:"Days",daysAbout:"{number} day",daysAgo:"{number} days ago",Deactivate:"Deactivate",DeactivatePackage:"Deactivate package",definitionAvailable:"Available",definitionAllowMultiple:"Multiple instances possible",definitionReviewByTeacher:"Review by teacher",definitionReviewByManager:"Review by manager",definitionAcceptByTeacher:"Accept by teacher",definitionAcceptByManager:"Accept by manager",delete:"Delete",delete_what_:"Delete {what, select,\n            role {role}\n            other {item}\n        }",deleteAnswer:"Delete answer",deleteAllAssignments:"Delete all assignments",deleteAllAssignmentsForThisExaminer:"Delete all assignments for this examiner",deleteApprovalDate:"Reset base approval date",deleteAuthSingle:"You are about remove {number} request",deleteAuthPlural:"You are about remove {number} requests",deleteAssessment:"Delete assessment",deleteAssessor:"Delete assessor",deleteAssignments:"Delete assignments",deleteCategory:"Delete category",deleted:"Deleted",deleteExistingAssignments:"Delete existing assignments",deleteForm:"Delete form",deleteConfirmationForAssignmentForCatalogItem:"Are you sure you want to delete the assignment for ''{catalogItemName}''?",deleteConfirmationForAllCatalogAssignments:"Are you sure you want to remove all assignments from this catalog item? This means that this catalog item is no longer assigned to any department, function, group or user. No user can find this catalog item in the catalog (excluding administrator)",deleteConfirmationForAssignmentForGroups:"Are you sure you want to delete the assignment for department/class ''{groupName}''?",deleteConfirmationForAssignmentForUsers:"Are you sure you want to delete the assignment for user/group ''{displayName}''?",deleteConfirmationForAdmin:"Are you sure you want to remove the user/group ''{displayName}'' from administrators?",deleteConfirmationForAssessors:"Are you sure you want to remove the user/group ''{displayName}'' from assessors?",deleteConfirmationForAssessorActivity:"Are you sure you want to remove the activity ''{displayName}'' from the assessor?",deleteConfirmationForDepartmentReviewers:"Are you sure you want to remove the user/group ''{displayName}'' from department reviewers?",deleteConfirmationForPlanners:"Are you sure you want to remove the user/group ''{displayName}'' from planners?",deleteConfirmationForResult:"Are you sure you want to delete the result for ''{groupName}''?",deleteBasicApprovalDate:"Are you sure you want to reset the basic approval date for ''{groupName}''?",deleteGroup:"Delete group",DeleteNewsItem:"Are you sure you want to remove news item ''{newsItemTitle}''?",deleteConfirmationForLink:"Are you sure you want to delete this link ''{link}'' ?",deleteOption:"Delete option",DeletePackage:"Delete package",DeletePortalGroup:"Are you sure you want to remove department ''{portalGroupName}''?",deletePortfolio:"Are you sure you want to delete this dossier item?",deletePortfolioDefinition:"Are you sure you want to delete this dossier definition?",deletedPortfolioDefinition:"Dossier definition deleted",deleteQuestion:"Delete question",deleteSchedule:"Delete session",deleteSection:"Delete section",deleteSkill:"Delete skill",deleteSkillAssignment:"Delete skill assignment",deleteTextField:"Delete text field",deleteMessage:"Delete message",deleteUser:"Delete user",department:"Department",departmentDeleted:"Department deleted",departmentNoActiveMembers:"The selected department has no (active) users",departmentFunction:"Department / function",departments:"Departments","departmentSaveMessage.added":"Department saved successfully","departmentSaveMessage.deleted":"Department deleted successfully","departmentSaveMessage.conflict":"A department with the same name exist already","departmentSaveMessage.generalError":"A problem has occured. Contact the administrator",departmentsSelectAll:"Select all departments",departmentReviewers:"Department reviewers",dequeue:"Dequeue",description:"Description",DirectLink:"Direct link",disable:"Disable",disableAccount:"Disable account",disabledAccount:"Disabled account",disableUserAccountDialog:"Disable account",disableUserAccountPerDate:"Disable account per",disagree:"Disagree",discard:"Discard",discardChanges:"You have made changes and have not yet saved them. If you leave this screen now, the changes will be discarded. Do you want to discard changes?",discardChangesShort:"Unsaved changes will be lost.",disconnectEmployee:"Disconnect employee?",disconnectIndividual:"Disconnect individual",displayFromDate:"Display from",displayName:"Full name",displayUntilDate:"Display until",displaySettings:"Display settings",documents:"Documents",documentDeleted:"Document deleted",documentAlwaysVisible:"Document always visible",documentVisibleAfterRegistration:"Document visible after enrollment",domain:"Domain",done:"Done",DoNotShowThisVideoAnymore:"Do not show this video anymore",DoubleTeacher:"Double teacher",DoubleLocation:"Double location",down:"Down",download:"Download",downloadCertificate:"Download certificate",downloadCertificates:"Download certificates",downloadCertificatesNoAttendance:"No participants have attended",downloadAttendanceList:"Download attendance list",downloadAttendanceListDescription:"Select the additional information you would like to add to the report",dragAndDrop:"Drag and drop",duplicate:"Duplicate",duplicateAssessor:"Duplicate assessor",duplicateBlock:"Duplicate block",duplicatePlanning:"Duplicate planning",duplicateQuestion:"Duplicate question",duplicateTextField:"Duplicate text field",duration:"Duration","duration.start":"Duration start date","duration.end":"Duration end date",edit:"Edit",editAccreditation:"Edit accreditation",editApprovalDate:"Edit base approval date",editAssessment:"Edit assessment",editBlockTitle:"Edit block title",editCatalog:"Edit catalog",editCategory:"Edit category",editCourse:"Edit course",editEvaluationForm:"Edit evaluation form",editForm:"Edit form",editLink:"Edit link",editLocation:"Edit location",EditNewsItem:"Edit news item",editOption:"Edit option",editPlanning:"Edit planning",editQuestion:"Edit question",editSectionTitle:"Edit section title",editSkill:"Edit skill",editTool:"Edit tool",elearningmanagement:"E-learning management",elearning:"E-learning",elearningReset:"E learning reset",enrollDepartmentUsers:"Enroll department members",Error404:"Error 404",email:"E-mail",emailaddress:"E-mail address",emailNotification:"Email Notification",emailPrivate:"Private email",emailWork:"Work email",employee:"Employee",employeeAndRoleAreMandatory:"Employee and role are mandatory",employeeNumber:"Employee number (username)",employees:"Employees",enableAccount:"Enable Account",end:"End",endDate:"End date",endTime:"End time",enqueue:"Enqueue",enroll:"Enroll",enrollAnotherEmployeeAfterProcessing:"Enroll another employee after processing",enrollEmployees:"Enroll department employees",enrollment:"Enrollment",enrollmentFailed:"Enrollment not possible",enrollmentSucceeded:"Enrollment succeeded",Enrollments:"Enrollments",enrollmentDeadline:"Enrollment Deadline",errorEnrolling:"Something went wrong with the enrollment, enrollment has been undone!",enrollmentDeadlineInDays:"Enrollment deadline in days",enrollReservationError:"{ status, select,\n            NotExists {Reservationcode does not exist}\n            Expired {Reservationcode is expired}\n            AlreadyUsed {Reservationcode has already been used}\n            AlreadyEnrolled {This person is already enrolled}\n            NoValidSchedule {This planning is invalid or in the past}\n            other {{status}}\n        }",enterReviews:"Enter reviews",entire:"Entire",errorDownloadingFile:"Error downloading file! Message:",errorMessageText:"Warning message (to be used in case of outage)",errorMessageTextHeadline:"Warning message",errorMessageTextSubtitle:"Warning message in upper part of every page",errorNavigateToElearning:"This e-learning cannot be started",evaluateTheCoursesThatYouHaveAccomplished:"Evaluate the courses that you have accomplished",evaluation:"Evaluation",evaluationFormName:"Evaluation form name",evaluations:"Evaluations",evaluationForm:"Evaluation Form",evaluationForms:"Evaluation Forms",everyoneVisible:"Everyone visible",examUpdated:"Test results updated",examiner:"Examiner",Examiner_not_found_in_activity:"Examiner was not registered for this activity",examinerReview:"Examiner review",examinerReviews:"Examiner reviews",examinerReviewDescription:"You have one pending examiner review",examinerReviewDescriptionPlural:"You have {number} pending examiner reviews",examiners:"Examiners",examinersActivityExamDuration:"",examinersCannotBeUsed:"Assessors are appointed to this skill. Therefore it is not possible to activate the examiner functionality. Remove the assessors first.",examinersUserCanSelectTimeSlot:"User can choose timeslot",examinersUserCanSelectExaminer:"User can choose examiner",examinersUserCanCombineExams:"User can combine exams",examinersStandardDurationTimeSlot:"Default duration timeslot in minutes",examinersStandardDurationExam:"Default exam time",examinersRegionLocation:"Region / location",examinersRegionsLocations:"Regions / locations",examinersAddRegionLocation:"Add region / location",examinersDeleteRegionLocation:'Delete region / location "{location}"?',examinersAddAvailability:"Add availability",examinersEditAvailability:"Edit availability",examinersAddSchedule:"Add a schedule",examinersScheduleDetails:"Activities on {date} - {timeslot}",examinersNoReservations:"No reservations",examinersHasReservations:"Has reservations",examinersDeleteCurrentSchedule:"Delete current schedule?",examinersPlannedExams:"Planned exams",examinersAvailability:"Availability",examinerScheduleMandatoryStartEndDate:"Enter a start and end date",examinerScheduleSameStartEndTime:"Start time and end time cannot be the same",examinerScheduleStartEndDateNotTheSame:"Start and end date have to be the same",examinerScheduleEndDateBeforeStartDate:"End date cannot be before start date",examinerScheduleNoRegion:"Region is mandatory",examinerAvailableSpace:"You have appointments with extra room. Would you like to combine this appointment?",examinerValidResult:"You still have result that is valid until {date}. Continue planning a new appointment?",examinerCombineTest:"combine appointment?",examinerCombineTestYes:"Yes, combine appointment",examinerCombineTestNo:"No, plan a new appointment",examinerDurationOfTheExam:"Duration of the exam (minutes)",examinerNewAppointment:"New appointment",examinerCombineToWhichAppointment:"To which appointment would you like to add this one?","examiner.appointment.activity":"Combine activity: ","examiner.appointment.combine":"With the appointment below?","examiner.appointment.examiner":"Examiner: ","examiner.appointment.dateTime":"Date and time: ","examiner.appointment.regionLocation":"Region / location: ",examinerNoAppointmentsTitle:"Planned appointments",examinerNoAppointmentsDescription:"No planned appointments found",examinerDeleteAppointment:"Delete appointment?",exceededRegistrationPeriod:"It is no longer possible to enroll.",exceededUnRegistrationPeriod:'You want to unregister or transfer a participant but the un-register/transer period has been exceeded. "You can no longer un-register or transfer a participant. For more information contact the trainers."',exceededUnRegistrationPeriodSelf:'You want to unregister or to transfer your registration but the un-register/transer period has been exceeded. "You can no longer un-register. For more information contact the trainers."',exemption:"Exemption",exemptionEdit:"Grant exemption",exemptionsHaveBeenGranted:"Exemptions have been granted. Please note, it may take a few minutes before this is visible in the competence passport",expertiseDeleted:"Dossier deleted",expertiseTodoTasks:"You have the following tasks:",Expertises_accept:"Accept dossier items",Expertises_authorize:"Authorie dossier items",Expertises_review:"Evaluate dossier items",Expertises_updated_status:"Dossier tasks updated",export:"Export",exportOptions:"Export options",exportAssignments:"Export assignments",exportAssignmentsToOtherUsers:"Export assignments to other users",exportPDF:"PDF export",exemptionUntil_date_:"Exemption until {date}",exemptionValidTill:"Exemption until",expertise:"Dossier item",expirationPeriod:"Expiration period",ExpirationPeriod:"Expiration period",existingAssignments:"Existing assignments",expirationDate:"Expiration date",expires:"Expires",expiresOn:"Expires on",expiresOn_date_:"Expires on {date}",expired:"Expired",expiredOn_date_:"Expired on {date}",explanationOrquestion:"Explanation / question",extendExpirationDate:"Extend expiration date",ExternalRegistrationNumber:"{name} number",ExtraOptions:"Extra options",ExternalCost:"External cost",failed:"Failed",Failed:"Failed",FailedAlreadyRegistered:"Already registered",FailedAlreadyRegisteredOnThisPlanning:"The person is already registered on this planning.",FailedCapacityReachedPlanningIsFull:"It is not possible to register the person on this planning, because the planning is full.",FailedConflictingEnrollmentOnOtherCourse:"Already registered on a different course.",FailedMaxNumRegistrationsReachedOnCourse:"It is not possible to register the person on this planning, because the max registration is reached on this course.",false:"no",favoriteTrainings:"Favorites",FavoriteWidgetInfo:"View your favorite catalog items",filterByDate:"Filter by date",filterOnCatalogName:"Filter on catalog name",filterOnCategory:"Filter category",filterOnCategories:"Filter on categories",filterOnCategoryOrSkill:"Filter on category or skill",filterOnCluster:"Filter cluster",filterOnDepartmentName:"Filter on department name",filterOnFunction:"Filter on function",filterOnName:"Filter on name",filterOnDescription:"Filter on description",filterOnSkill:"Filter skill",filter:"Filter",filters:"Filters",findUnderlyingDepartment:"Find underlying department",finished:"finished",firstName:"First name",fivePointLikertScale:"5-Point Likert Scale",Float:"Float",font:"Font",forbidden:"Access denied",forbiddenDepartment:"You are not allowed to view this department.",forms:"Forms",formName:"Form name",formDescription:"Form description",formIncomplete:"Form is incomplete",formMustContainAtLeastOneSection:"Form must contain at least one section",formSectionsMustContainAtLeastOneQuestion:"Form sections must contain at least one question",from:"from",fromMax:"from max.",fromNow:"From now",fromTime:"From",Full:"Full",fullProfile:"Full profile",function:"Function",functions:"Functions",functionsManagement:"Functions management",fromLeft:"From left",fromTop:"From top",general:"General",getContactIfQuestion:"If you have any questions, please contact the administrator",giveManagersRightsToSubDepartments:"Also give managers rights to sub-departments",getPwa:"Install app",gotoCatalogitem:"Open Catalogitem",gotoChildLevel:"Goto underlying departments",gotoReport:"Open report",groupEnrollmentTitle:"Select the planning to enroll the employees of the selected department.",groupEnrollmentEmptyPlanning:"No participants registered",group:"Group",groupName:"Group name",groups:"Groups",HasTaggedRegistration:"Has tagged registration",Headings:"Headings",headingColor:"Heading color",Help:"Help",hideNoActionNotAssigned:"Hide no action / not assigned",hideNotAssigned:"Hide not assigned / does not apply",hlapps:"Interactive components","hlapps.back":"Back to Interactive Components","hlapps.back.mobile":"Interactive Components","hlapps.name":"{id, select,\n            1 {Community}\n            2 {Learning- & Development Scan}\n            12 {Box}\n            13 {Strengths & Development points}\n            17 {My Learning Path}\n            other {Werk- & Leervorm}\n        }","hlapps.subtitle":"{id, select,\n            1 {Meet each other online}\n            2 {Make development visible}\n            12 {Consult sources}\n            13 {Go for personal growth}\n            17 {View your course overview}\n            other {''{id}''}\n        }","hlapps.rib":"Startup & Reflection","hlapps.rib.sub":"Share practical situations","hlapps.obs":"Online Video Session","hlapps.obs.sub":"Virtual dialogue","hlapps.userman":"User management","hlapps.userman.sub":"Who will participate?","hlapps.productman":"Product management","hlapps.productman.sub":"What will we use?",helpAndFeedback:"Help and feedback",hereYouFindAnOverviewOfAllAvailableElearningTrainingsExpertiseItemsAndClassActivities:"On this page, you will find an overview of all available e-learning trainings, expertise items and class activities",hereYouFindAnOverviewOfAllAvailableDepartments:"On this page, you will find an overview of all available departments",hereYouFindAnOverviewOfAllAvailableFunctions:"All available functions",hereYouFindAnOverviewOfAllAvailableTrainings:"On this page, you will find an overview of all available formal courses, e-learning and class activities.",hereYouFindAnOverviewOfTheDepartmentsWhereYouAreAManager:"On this page, you will find an overview of the departments where you are a manager",hereYouFindAnOverviewOfTheDepartmentsWhereYouWork:"On this page, you will find an overview of the departments where you work",hereBelowYouCanUpdateTheAttendanceOfTheParticipants:"Below this text, you can update the attendance of the participants.",hour:"Hour",hourAbout:"{number} hour",hourAgo:"{number} hour ago",hours:"Hours",hoursAbout:"{number} hours",hoursAgo:"{number} hours ago",hundredPercentVisibleInProportion:"100% visible, in proportion",hundredVisibleStretched:"100% visible, stretched",ifTheMaximumNumberOfParticipantsIsReachedRegistrationWillClose:"If the maximum number of participants is reached, registration will close",ignore:"Ignore",ignoreChanges:"Ignore changes?",insufficientRightsText:"You have insufficient rights to view this page.",insufficientRightsTitle:"Insufficient rights",Image:"Image","importmanagement.classroomResults":"Classroom results","importmanagement.confirm.beware":"ATTENTION!","importmanagement.confirm.areYouSure":"Are you sure you want to import the uploaded file?","importmanagement.confirm.overwrite":"Existing data (e.g. with different expiration date) may be overwritten with this import.","importmanagement.confirm.lost":"This may result in the loss of results.","importmanagement.confirm.noReturn":"This cannot be undone!","importmanagement.confirm.startImport":"I am sure, start import","importmanagement.details":"Details","importmanagement.disclaimer":"I take full responsibility for the imported data and all consequences of that import.","importmanagement.dossierItems":"Dossieritems","importmanagement.elearningResults":"E-learning results","importmanagement.error":"Error","importmanagement.exemptions":"Exemptions (skills)","importmanagement.fileUpload":"Upload importfile (.csv)","importmanagement.heading.date":"Date","importmanagement.heading.result":"Result","importmanagement.heading.type":"Import type","importmanagement.newImport":"New import","importmanagement.notImported":"NOT imported","importmanagement.whatDomain":"In what domain do you want to import?","importmanagement.whatToImport":"What do you want to import?","importmanagement.errorCode":"{error, select,\n            ERR0 {Document structure is incorrect}\n            ERR1 {non-existing users detected}\n            ERR2 {non-existing skills detected}\n            ERR3 {non-linked skills detected}\n            ERR4 {academyInfo not found}\n            ERR6 {non-existing catalog items detected}\n            ERR7 {non-existing dossier definitions detected}\n            other {{error}}\n        }","importmanagement.status":"{statusId, select,\n            0 {Files uploaded}\n            1 {Test in progess...}\n            2 {Users exist}\n            3 {Skills exist}\n            4 {Skills assigned to users}\n            5 {Import failed}\n            6 {Import in progress...}\n            7 {Import succeeded}\n            8 {Imported with errors}\n            other {{statusId}}\n        }","importmanagement.type":"{typeId, select,\n            0 {Elearning results}\n            1 {Exemptions (skills)}\n            2 {Classroom}\n            3 {Classroom results}\n            4 {Dossier items}\n            other {{typeId}}\n        }",import:"Import",imported:"import",importAssignments:"Import assignments",importAssignmentsFromOtherUsers:"Import assignments from other users",Inactive:"Inactive",inapplicable:"This skill does not apply",inapplicable2:"Does not apply",includeChildDepartments:"Incl sub depts.",includeSubdepartments:"Include subdepartments",Indent:"Indent",individual:"Individual",individual2:"Individual",inheritAssignments:"Inherit assignments",inheritAssignmentsFromOtherUsers:"Inherit assignments from other users",individuals:"Individuals",information:"Information",informationCancelPlanning:"Are you sure you want to cancel this schedule? You will need to unsubscribe or transfer participants from this schedule to another schedule.",informationForYou:"More information for you",initials:"Initials",inShort:"In short",institution:"Institution",Intake:"Intake",InternalCost:"Internal cost",introductionVideo:"Introduction video SDB Leerplatform",invalidDate:"Invalid date",invalidUrl:"Invalid URL",isExemptFromPayment:"Is exempt from payment",isGoingToExpire:"Is going to expire",Italic:"Italic",Justify:"Justify",keepOpen:"Keep open",copied:"Copied",copy:"Copy",copyAssignments:"Copy assignments",copyAssignmentsToOtherUsers:"Copy assignments to other users",copyNoun:"Copy",country:"Country",lastLoginDate:"Last login date",lastName:"Last name",lastNamePrefix:"Prefix",lastResult:"Last result",lastReviewDate:"Last review date",lastSuccessfulMark:"Last successful mark",learningplan:"e-Learning",Learningplan:"e-Learning",LearningPoints:"Learning points",learningProgram:"Learning program",learningplanTypes:"eLearning",Left:"Left",lesson:"lesson",lessons:"lessons",likert:"Likert-scale",likertInfo:'Users can give their opinion on, for example, a statement via a Likert scale. This consists of 5 options, from "Disagree completely" to "Agree completely". Simply add multiple questions to create a group.',Link:"Link",linkMustBeginWith:"Link must begin with http:// or https://",listOfInterestedUsers:"Interested users",listOfInterestedUsersInCourse:"Interesed users in course",location:"Location",locationDeleted:"Location deleted",locations:"Locations",login:"Login",loginSetting:"Welcome the user to the login screen",loginDescription:"This text can be set for each portal",mailTemplates:"Mail Templates",MailTemplateType:"{type, select,\n            ClassroomEnqueue {Enrollment confirmation (Queue)}\n            ClassroomDequeue {Unenrollment confirmation (Queue)}\n            ClassroomEnroll {Enrollment confirmation}\n            ClassroomUnenroll {Unenrollment confirmation}\n            ClassroomTransfer {Transfer confirmation}\n            ClassroomCancel {Cancel confirmation}\n            ClassroomReminder {Reminder email}\n            other {{type}}\n        }",makeAppointment:"Click to make an appointment",makeAChoice:"Make a choice",manageUsers:"Manage users",managerGroups:"groups",managersAreAllowedToAssignCatalogItems:"Managers are allowed to assign catalog items",managersMayNotAssign:"Managers may not assign",manageSkills:"Manage skills",mandatory:"Mandatory",mandatoryFieldsMustBeCompleted:"Mandatory fields must be completed",mandatoryFrom:"Mandatory from",mandatoryNotMandatory:"Mandatory / not mandatory",mandatoryTrainings:"Mandatory trainings",mandatoryTrainingsShort:"Mand. trainings",MandatoryTrainingsSubtitle:"Don''t forget to start!",manual:"Manual",markAsRead:"Mark as read",markAsUnread:"Mark as unread",maxAmount:"Maximum number",maxAttachmentFileSize:"The total size for the files may not exceed 50 MB",maxCapacity:"Maximum number of participants",maxCapacityMustBeHigherThanMinCapacity:"Maximum number is mandatory and must be higher than minimum number",maximum:"maximum",maxNumberOfEnrollmentsPerParticipant:"Max. enrollments per participant",MaxNumberOfParticipantsReached:"Max. number of participants reached",Message:"Message","message.header":"{ created, select,\n            undefined {}\n            other {{created} - }\n        }{ sender, select,\n            undefined {System message}\n            other {{sender}}\n        }{ autoGenerated, select,\n            true { (sent automatically)}\n            other {}\n        }","message.to":"To: {recipients}","message.subjectElearningNotificationMessage":"e-learning completed message","message.achievementMessagePassed":"User ''{identityDisplayName}'' has passed the e-learning module ''{catalogItemName}''","message.achievementMessageFinished":"User ''{identityDisplayName}'' has successfully completed the e-learning module ''{catalogItemName}''","message.assessorAppointmentMade":"An appointment was made for user ''{studentDisplayName}'' on ''{dateTime}'' to assess the following activity: ''{activityDescription}''","message.assessorAppointmentRemoved":"The appointment for user ''{studentDisplayName}'' on ''{dateTime}'' for activity ''{activityDescription}'' has been removed","message.assessorAppointmentMadeSubject":"Assessment appointment created","message.assessorAppointmentRemovedSubject":"Assessment appointment removed","message.catalogAuthRequestPermissionSubjectLearningplan":"{studentDisplayName} has requested permission for elearning module ''{displayName}''.","message.catalogAuthRequestPermissionSubjectClassroom":"{studentDisplayName} has requested permission for the classical training module ''{displayName}'' which starts at {planningStart}.","message.catalogAuthRequestPermissionBody":"Go to the dashboard and click ''Authorization requests'' to process the request.","message.catalogAuthRequestBodyLearningPlanAccepted":"Your request for elearning ''{displayName}'' is accepted","message.catalogAuthRequestBodyLearningPlanAcceptedRemark":"Your request for elearning ''{displayName}'' is accepted. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestBodyLearningPlanRejected":"Your request for elearning ''{displayName}'' is rejected.","message.catalogAuthRequestBodyLearningPlanRejectedRemark":"Your request for elearning ''{displayName}'' is rejected. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestBodyLearningPlanDeleted":"Your request for elearning ''{displayName}'' is deleted.","message.catalogAuthRequestBodyLearningPlanDeletedRemark":"Your request for elearning ''{displayName}'' is deleted. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestBodyLearningPlanUnknown":"Your request for elearning ''{displayName}'' is status unknown.","message.catalogAuthRequestBodyLearningPlanUnknownRemark":"Your request for elearning ''{displayName}'' is status unknown. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestPermissionRevoked":"The user revoked the authorization request for ''{displayName}''.","message.catalogAuthRequestBodyClassroomAccepted":"Your request for classical training ''{displayName}'' which starts at {planningStart} is accepted.","message.catalogAuthRequestBodyClassroomAcceptedRemark":"Your request for classical training ''{displayName}'' which starts at {planningStart} is accepted. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestBodyClassroomRejected":"Your request for classical training ''{displayName}'' which starts at {planningStart} is rejected","message.catalogAuthRequestBodyClassroomRejectedRemark":"Your request for classical training ''{displayName}'' which starts at {planningStart} is rejected. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestBodyClassroomDeleted":"Your request for classical training ''{displayName}'' which starts at {planningStart} is deleted.","message.catalogAuthRequestBodyClassroomDeletedRemark":"Your request for classical training ''{displayName}'' which starts at {planningStart} is deleted. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestBodyClassroomUnknown":"Your request for classical training ''{displayName}'' which starts at {planningStart} is status unknown.","message.catalogAuthRequestBodyClassroomUnknownRemark":"Your request for classical training ''{displayName}'' which starts at {planningStart} is status unknown. Your manager added the following remark: {managerRemark}","message.catalogAuthRequestPermissionAccepted":"Your request for ''{displayName}'' is accepted.","message.catalogAuthRequestPermissionRejected":"Your request for ''{displayName}'' is rejected.","message.catalogAuthRequestPermissionDeleted":"Your request for ''{displayName}'' is deleted.","message.catalogAuthRequestPermissionUnknown":"Your request for ''{displayName}'' is status unknown.","message.catalogAuthRequestBodyRevokedByUser":"User ''{studentDisplayName}'' revoked the authorization request for ''{displayName}''",messageBodyIsRequired:"Message body is required",messageSent:"Message sent","message.filterByMessage":"Filter by message","message.searchSubject":"Search on subject","message.filterBySender":"Filter by sender","message.originalMessageInfo":"On {date} {sender} wrote:","message.new":"Message to user","message.newClass":"Message to coursegroup","message.newDepartment":"Message to department","message.Received":"Received","message.Sent":"Sent","message.Settings":"Settings","message.settings.admin.title":"Message box settings","message.settings.admin.description":"Set the default message box settings for all users. These settings will apply to all users, except for users who changed their personal settings in their own message box settings.","message.settings.title":"My messagebox settings","message.settings.emailSummary":"E-mail summary","message.settings.emailSummary.subtitle":"Receive an e-mail summary with the number of unread messages in the messagebox","message.settings.emailNotification":"E-mail notification","message.settings.emailNotification.newMessages":"Receive new messages by e-mail","message.settings.emailNotification.Expiringskill":"Expiring skill","message.settings.emailNotification.skillExpiration":"Receive notification when skills expire by email","message.settings.frequency":"Email summary frequency","message.settings.noEmail":"Never / no summary","message.settings.none":"Never / no summary","message.settings.daily":"Daily summary","message.settings.weekly":"Weekly summary","message.settings.monthly":"Monthly summary","message.skills.expirationNotification.subject":"Skills update","message.skills.expirationNotification.body":"Dear participant,\n\n            { expired, select,\n                0 {}\n                other {At the moment {expired, select, 1 {1 skill has} other {{expired} skills have}} expired.}\n            }\n            { expiring, select,\n                0 {}\n                other {In the period up to {until}, {expiring} more {expiring, select, 1 {skill} other {skills}} will expire.}\n            }\n            { new, select,\n                0 {}\n                other {Since the last update, {new} {new, select, 1 {skill has} other {skills have}} been assigned to you.}\n            }\n\n            You can view your skills in your portfolio.\n        ",mayBeRedoneAgain:"May be redone again",media:"Media",min0max100:"Min. 0 and Max. 100",minAmount:"Minimum number",minCapacity:"Minimum number of participants",minCapacityMustBeLowerThanMaxCapacity:"Minimum number is mandatory and must be lower than maximum number",minMaxCapacity:"Minimum/maximum participants",minuteAbout:"{number} minute",minuteAgo:"{number} minute ago",minutes:"Minutes",minutesAbout:"{number} minutes",minutesAgo:"{number} minutes ago",mobilePhone:"Mobile Phone",modifyEnrollment:"Modify enrollment","modules.accessmanagement.activatedRights":"Activated rights","modules.accessmanagement.applicationPart":"Application part","modules.accessManagement.descriptions":"{key, select,\n            roles_and_rights {Roles and rights}\n            roles_and_rights_manage_roles {Manage roles}\n            roles_and_rights_manage_assignments {Manage assignments}\n            classroom {Classroom}\n            classroom_manage_courses {Manage courses}\n            classroom_manage_schedules {Manage schedules}\n            classroom_manage_enrollments {Manage enrollments}\n            classroom_manage_presence {Manage presence}\n            other {{key}}\n        }","modules.accessmanagement.errors":"{error, select,\n            duplicate_name {A role with this name already exists}\n            no_name_provided {No rolename provided}\n            other {An error has occured}\n        }","modules.accessManagement.rights_count_":"Rights: {count}","modules.accessManagement.roleName":"Rolename","modules.admin.classroom.presence.NumberOfResults":"Total number of results:","modules.adminMenu.labels":"{label, select,\n            settings {Settings}\n            catalog {Catalog}\n            compositionmanagement {E-learning management}\n            scormmanagement {Scorm management}\n            elearningmanagement {E-learning management}\n            evaluations {Evaluations}\n            definities {Portfolio items}\n            classroom {Classical}\n            skills {Skills}\n            certificates {Certificates}\n            usermanagement {Usermanagement}\n            examinermanagement {Examiner management}\n            importmanagement {Import management}\n            maillogoverview {E-mail logging}\n            other {{label}}\n        }","modules.catalog.course.authorization.noManagersNotPossibleToAuthorize":"No manager was found to submit the authorization request to.","modules.catalog.statusType":"{statusType, select,\n            all {All}\n            completed {Completed}\n            notcompleted {Not completed}\n            started {Started / Registered}\n            other {{statusType}}\n        }","modules.classroom.exportPresence":"Download presence report","modules.classroom.participants.resultValue":"{value, select,\n            passed {Passed}\n            failed {Failed}\n            other {Not filled in}\n        }","modules.classroom.presenceListFileNamePart":"attendance list","modules.classroom.presenceValue":"{value, select,\n            present {Present}\n            absent {Absent}\n            other {Not filled in}\n        }","modules.classroom.queueEnabledAndAuthorizationRequiredWarning":"The 'Authorization needed by manager' and 'Queue' options cannot be enabled at the same time.","modules.classroom.queueEnabledAndPlanningIntegrationWarning":"The 'Send training hours to SDB Planning' and 'Queue' options cannot be enabled at the same time.","modules.classroom.registrations":"Registered {enrollmentCount} — Max. {maxCapacity}","modules.classroom.resultReportFileNamePart":"result report","modules.classroom.upcomingplanninglist.details":"details","modules.classroom.upcomingplanninglist.unsubscribe":"unsubscribe","modules.classroomNotifications.teachersReceiveUnenrollNotifications":"Teachers receive notifications when users unenroll","modules.classroomNotifications.unenrollNotificationsList":"The following users receive notifications when someone unenrolls from a classroom course","modules.classroomNotifications.teacherNotifications":"Notifications for teachers","modules.elearningmanagement.tabs":"{tab, select,\n            lti {LTI}\n            drafts {Compositions}\n            scorm {SCORM}\n            other {{tab}}\n        }","modules.maillog.EmailLogging":"E-mail logging","modules.maillog.EmailReceiver":"E-mail receiver","modules.maillog.events":"{event, select,\n            Deferred {deferred}\n            Bounce {delivery failed}\n            Delivered {delivered}\n            Dropped {not processed}\n            Blocked {delivery blocked}\n            other {{event}}\n        }","modules.mailtemplates.deleteMailTemplate.title":"Delete mailtemplate","modules.mailtemplates.deleteMailTemplate.message":"Are you sure you want to delete this mailtemplate?\n            After deletion, the default mailtemplate will be used again.","modules.mailtemplates.labels":"{label, select,\n            cursist {[cursist]}\n            opleiding {[opleiding]}\n            planning {[planning]}\n            start {[start]}\n            eind {[eind]}\n            locatie {[locatie]}\n            docent {[docent]}\n            roosteritems {[roosteritems]}\n            roosteritems2 {{roosteritems}}\n            other {{label}}\n        }","modules.mailtemplates.labels.roosteritems.usage":"This is used as","modules.mailtemplates.labels.roosteritems.content":'roosteritems "From [start] till [eind] in [locatie] by [docent]."',"modules.mainMenu.labels":"{label, select,\n            start {Start}\n            catalog {Catalog}\n            departments {Departments}\n            skills {Skills}\n            functions {Functions}\n            hlapps {Interactive components}\n            myMinerva {Portfolio}\n            search {Search}\n            administration {Administration}\n            other {{label}}\n        }","modules.messages.markReadAllButton":"mark all as read","modules.packages.areYouSureYouWantToResetThisPackage":"Are you sure you want to reset this package?","modules.packages.deletePackageMessage":"This package version has active workflows running. When removing this package version these workflows will be removed and the corresponding users will be sent a notification by e-mail.","modules.packages.sendMailToUsers":"Send an e-mail to the users","modules.packages.resetPackage":"Reset package","modules.packages.resetPackageMessage":"This package version has active workflows running. When resetting this package version these workflows will reset and the corresponding users will be sent a notification by e-mail.","modules.skills.achievedOn":"Achieved on {date}","modules.skills.activity.status":"{status, select,\n            exemption {exemption}\n            red {expired / not yet finalized}\n            yellow {expires soon}\n            green {completed}\n            other {{status}}\n        }","modules.skills.activityGroup.subtitle":"{groupType, select,\n            compulsory {Compulsory}\n            optional {Optional}\n            recommended {Recommended}\n            other {{groupType}}\n        } - {activities} {activities, select,\n            1 {activity}\n            other {activities}\n        } {groupType, select,\n            optional {of which {required} required}\n            other {}\n        } {notApplicable, select,\n            0 {}\n            other {({notApplicable} disabled)}\n        }","modules.skills.activityGroupType":"{type, select,\n            standard {Standard}\n            basicWithRefresher {Basic with refresher}\n            other {{type}}\n        }","modules.skills.activityLockedDialog.title":"Not accessible yet","modules.skills.activityLockedDialog.message":"This activity is not yet accessible. Complete the previous activities first.","modules.skills.activityType":"{type, select,\n            protocol {Protocol}\n            manual {Manual}\n            classical {Classical theory lesson}\n            elearning {E-learning}\n            skillslabtraining {Skillslab training}\n            trainingonthejob {Training on the job}\n            writtentest {Written test}\n            skillslabtest {Skillslab test}\n            practical {Practical test}\n            peerassessment {Peer assessment}\n            selfassessment {Self assessment}\n            other {{type}}\n        }","modules.skills.activityCurrentStatus":"{ status, select,\n            elearning_created { Started }\n            classical_registered { Registered }\n            classical_unregistered { Unregistered }\n            other {}\n        }","modules.skills.activityExpirationStatus":"{ status, select,\n            achieved {Achieved}\n            expires {Expires at {date}}\n            never_expires {Never expires}\n            exemption {Exemption untill {date}}\n            effective_from {Mandatory from {date}}\n            expired {Expired at {date}}\n            other {}\n        }","modules.skills.activityValidity.title":"Validity period","modules.skills.activityValidity.value":"{value, select,\n            default {Default}\n            custom {Custom}\n            oneoff {Oneoff}\n            other {{value}}\n        }","modules.skills.activityValidity.months":"{ months, select,\n            1 {Maand}\n            other {Maanden}\n        }","modules.skills.assignmentDialog.title":"Select departments and roles","modules.skills.assignmentDialog.noSelectionInfo":"Select at least one department and roles","modules.skills.assignmentDialog.departments":"Departments","modules.skills.assignmentDialog.roles":"Roles","modules.skills.assignmentDialog.selected":"selected","modules.skills.assignments.headline":"Number assigned: {assigned}, of which {notApplicable} not applicable","modules.skills.basicWithRefresher":"Basic - Refresher","modules.skills.basicWithRefresher.basicValidity":"Refresher activation date","modules.skills.basicWithRefresherHelpMonths":"Determine when the refresher course will become active after initially completing the basic course.","modules.skills.basicWithRefresher.basicOneOff":"Basic course is one-off","modules.skills.basicWithRefresher.basicOneOffHelp":"Turn on to determine that the basic course must be completed only once.","modules.skills.basicWithRefresherHelpGracePeriod":"Determine how many extra months an employee gets to finalize the refresher activities before the base will become applicable again.","modules.skills.basicWithRefresher.summaryTitle":"Summary","modules.skills.basicWithRefresher.summary":"After initially achieving the basic course, the refresher course becomes leading after {basicValidity}\n        { basicValidity, select,\n            1 {month}\n            other {months}\n        }.\n        { gracePeriod, select,\n            null {The basic course only has to be achieved once and therefore does not expire, regardless of whether the refresher course is achieved on time.}\n            0 {If the refresher block is not achieved in time, the basic block will become applicable after {basicValidity}\n            { basicValidity, select,\n                1 {month}\n                other {months}\n            }. The employee does not have a grace period.}\n            other {If the refresher block is not achieved in time, the basic block will become applicable again. The employee has {gracePeriod}\n            { gracePeriod, select,\n                1 {month}\n                other {months}\n            } extra months after the initial {basicValidity}\n            { basicValidity, select,\n                1 {month}\n                other {months}\n            }.}\n        }","modules.skills.editor.assign":"Assign","modules.skills.editor.assignSubtitle":"{count, select,\n            0 {Select at least one department/role combination}\n            1 {1 valid department/role combination selected}\n            other {{count} valid department/role combinations selected}\n        }","modules.skills.editor.general":"General","modules.skills.editor.content":"Skill content","modules.skills.editor.validity":"Skill validity","modules.skills.editor.months":"Months","modules.skills.editor.moveActivities":"Move activities","modules.skills.editor.moveActivities.description":"Move activities to another block while keeping results","modules.skills.editor.moveFrom":"Move from","modules.skills.editor.moveTo":"Move to","modules.skills.editor.assignRights":"Rights","modules.skills.editor.allCatalogItems":"All catalog items","modules.skills.editor.selectCatalogItems":"Select catalog items","modules.skills.editor.allDepartments":"All departments","modules.skills.editor.allRoles":"All roles","modules.skills.editor.allowedToCustomizeBlocks":"Deactivate blocks and/or activities","modules.skills.editor.allowedToCustomizeBlocksInfo":"This skill can be adjusted by deactivating components when assigning. You can always add blocks/activities.","modules.skills.editor.allowedToExtendTheValidity":"Extend the validity","modules.skills.editor.allowedToExtendTheValidityInfo":"This skill has a validity period as specified above. With this option it can be extended when assigning.","modules.skills.editor.allowOwnerToModifyExemption":"Give yourself an exemption","modules.skills.editor.allowOwnerToModifyExemptionInfo":"The employee may grant himself an exemption for this skill.","modules.skills.editor.assignToNonExistingRolesHeadline":"Assign to non existing department / role combinations","modules.skills.editor.assignToNonExistingRolesSubtitle":"Assign skill to roles whether or not they currently exist in the selected departments","modules.skills.editor.activitiesAre":"Activities are","modules.skills.editor.persistOrder":"Persist order","modules.skills.editor.removeBlock":"Remove block","modules.skills.editor.selectActivities":"Select activities","modules.skills.editor.removeBlockCheck":"Are you sure you want to remove this block with all linked activities?","modules.skills.editor.selectDepartments":"Select department(s)","modules.skills.editor.selectRoles":"Select role(s)","modules.skills.editor.noBlockYet":"No block has been created yet. Please create a block first.","modules.skills.editor.noActivityYet":"No activity has been created yet. Please create an activity first.","modules.skills.editor.addActivity":"Add activity","modules.skills.editor.removeActivity":"Remove activity","modules.skills.editor.manageAssessors":"Manage assessors","modules.skills.editor.addAssessors":"Add assessor","modules.skills.editor.manageAssessors.description":"(un)link assessors to activities","modules.skills.editor.assessmentForm":"Assessment form","modules.skills.editor.examinerFunctionality":"Examiner functionality","modules.skills.editor.combineExams":"Combine exams","modules.skills.editor.examDuration":"Exam duration (minutes)","modules.skills.editor.catalogitem":"Catalog item","modules.skills.editor.numberOfAssessors":"{assessors, select,\n            1 {1 assessor}\n            other {{assessors} assessors}\n        }","modules.skills.editor.gracePeriod":"Grace Period","modules.skills.errors.errorOnSavingChanges":"Something went wrong while saving the changes","modules.skills.errors.errorOnSavingSomeOfItems":"Something went wrong while saving some of the changes","modules.skills.expirationInfo":"{date, select,\n            null {{approved, select,\n                true {Never expires}\n                false {Not yet finalized}\n                other {{approved}}\n            }}\n            other {{date}}\n        }","modules.skills.groupType":"{groupType, select,\n            compulsory {Required}\n            optional {Required}\n            recommended {Advised}\n            other {{value}}\n        }","modules.skills.managerSettings.allowManageAssignments.headline":"Assign skills","modules.skills.managerSettings.allowManageAssignments.description":"Managers are allowed to assign skills","modules.skills.managerSettings.assessmentByManagers.headline":"Assess activities","modules.skills.managerSettings.assessmentByManagers.description":"Select on what level managers can assess activities","modules.skills.managerSettings.assessmentByManagers.options":"Options","modules.skills.managerSettings.assessmentByManagers.all":"All employees","modules.skills.managerSettings.assessmentByManagers.whereManager":"Only employees of own department","modules.skills.messages.assignedToAllAvailableFunctions":"The skill is assigned to all available roles","modules.skills.messages.errorCategoryNotEmpty":"The category still contains one or more skills","modules.skills.modifySearchFilter":"No assessors found matching your query...","modules.skills.noExpirationDate":"Not expiration date","modules.skills.noResults.noAssignments.title":"Not assigned yet","modules.skills.noResults.noAssignments.text":"The skill is not assigned yet","modules.skills.notApplicableReason":"Not applicable reason","modules.skills.requestAssessment":"Request assessment","modules.skills.requestAssessmentFor":"Request assessment for","modules.skills.revokedBy":"{ revokedBy, select,\n            null {Revoked}\n            other {Revoked by {revokedBy}}\n        }","modules.skills.overallProgress.status":"{status, select,\n            notApproved {not approved / expired}\n            expiring {expires soon}\n            approved {approved / exemption}\n            notApplicable {not applicable}\n            other {{status}}\n        }","modules.skills.optionalBlockName":"Block name","modules.skills.overallProgress.title":"Overall progress","modules.skills.persistActivityOrder":"Persist activity order","modules.skills.persistActivityGroupOrder":"Persist block order","modules.skills.persistActivityGroupOrderInfo":"Users can only open blocks in order","modules.skills.selectReviewer":"{ current, select,\n            null {Select an assessor from whom you'd like to request an assessment. }\n            other {{current} is set as assessor. Choose another assessor or withdraw the application.}\n        }","modules.skills.skillCard.assignmentInfo":"{assignment, select,\n            individual {individual}\n            other {{assignment}}\n        }","modules.skills.settings.skillsMatrixToggleLabel":"Matrix view","modules.skills.status":"{status, select,\n            grey {Not assigned / not applicable}\n            red {Not approved / expired}\n            blue {In progress}\n            orange {Expires soon}\n            green {Approved / exemption}\n            other {{Status}}\n        }","modules.trainings.status":"{status, select,\n            grey {No action / not assigned}\n            red {Not completed / expired}\n            blue {Enrolled / started}\n            orange {Will expire}\n            green {Completed}\n            other {{Status}}\n        }","modules.uservoice.emailWarning":"Missing email address","modules.uservoice.noValidEmail":"A valid email address is missing in your profile. Please provide an email adres below to update your profile.","modules.planningIntegration.always":"The training will be forwarded to your planning application.","modules.planningIntegration.cancelAndTransfer":"Canceling and transfering is not possible","modules.planningIntegration.forCancelPlanning":"For cancel planning","modules.planningIntegration.forTransfer":"For transfer","modules.planningIntegration.functionalityCantBeUsedInCombination":' "This functionality currently can\'t be used in combination with the integration\n                    with SDB Planning"',"modules.planningIntegration.planningCantBeCanced":'"This planning can\'t be canceled, first unenroll all users"',"modules.planningIntegration.toggleText":"Send training hours to SDB Planning","modules.planningIntegration.nominalDuty.toggleText":"Send study load to SDB Planning","modules.planningIntegration.nominalDutyActivityCode":"Nominal hour code","modules.planningIntegration.dropdownLabel":"Planning contract",month:"Month",monthAbout:"{number} month",monthsAbout:"{number} months",monthAgo:"{number} month ago",monthsAgo:"{number} months ago",months:"Months",multiChoice:"Multiple choice",multiChoiceInfo:"At least 2 answer options where only 1 answer can be chosen.",myDepartments:"My departments",myMessages:"My messages",myMessagesAndNotifications:"My messages and notifications",myMinerva:"Portfolio",mySelf:"Myself",name:"Name",nameAscending:"Name ascending",nameDescending:"Name descending",nameGroup:"Name",navigateToClassroom:"Do you want to open the classroom page?",navigateToEnroll:"Navigate to enroll page?",navigateToElearning:"Do you want to open the e-learning page?",navigateToElearningPage:"Click to open the e-learning page",navigateToFavorites:"See your list with favorites.",neutral:"Neutral",never:"Never",NewAndConfirmPasswordsDoNotMatch:"Passwords do not match",newExternalCatalogItem:"External Content",newestFirst:"Newest first",newEvaluationForm:"New evaluation form",newLink:"New link",newLocation:"New location",newMessage:"New message",newParticipant:"New participant",NewPassword:"New password",newPlanning:"Add planning",newsItems:"News items",NewsItemsWidgetInfo:"Don''t miss anything that happens in your organisation",newsMessage:"News message",newTool:"New tool",newVersion:"A new version of this application is available. Refresh to update to the latest version",next:"next",nextSessionDateTime:"Next session is on {date} at {time}",no:"No",noAccreditationFoundTitle:"No accreditations found",noAccreditationInfoFoundTitle:"No accreditation settings",noAccreditationInfoFoundText:"There are no accreditation settings configured for this course",noAssignments:"No assignments",noAssignmentFoundTitle:"No assigned trainings found",noAssignmentFoundText:"Assign a training",noAuthorizationTasksFound:"No authorization tasks found!",noCatalogItemsFoundTitle:"No catalog items found",noCatalogItemsFoundText:"Try changing the filter settings.",NoCatalogItemInterestsFoundText:"You have not showed any interest in a catalog item yet",NoCatalogItemInterestsFoundTitle:"No catalog item interests found",noCertificate:"No certificate",noComment:"No comment",noCompetencyPassportFound:"No competency passport found",noDashBoardLinksTitle:"No dashboard links yet",noDashBoardLinksText:"There are no dashboard links yet. Add possibly a dashboard link.",noDeadline:"No Deadline",noDefinitionFoundTitle:"No definitions found",noDefinitionFoundText:"Add a definition tool",noDepartmentsTitle:"No departments found",noDepartmentsText:"Try adjusting the filter settings.",noEmail:"No e-mail",noEmployeesFound:"No employees found",noEnrollmentsYet:"No enrollments yet.",noEvaluationsFound:"No evaluations found",noEvaluationFormReports:"No evaluation reports were found",noExemption:"No exemption",noExpertiseText:"Gained experience or knowledge? Add it to your portfolio!",noExpertiseTitle:"No dossier items",NoFavorites:"No favorites",noFavoritesButNavigateToAdd:"No favorites yet. Go to the catalog and click on <3 to add favorites.",noExaminers:"There isn't yet an assessor that can be selected for this activity. For more information get in touch with the administrator.",notAvailableAnymore:"not available anymore",notification:"Notification",notifications:"Notifications",notifyUserAfterCompletion:"After completion send notification to user",None:"None",noLesson:"No lesson",noLink:"No link was supplied!",NoLocation:"No location",NoLocationOrDoubleLocation:"No location or the locatie is double planned",noLocationFoundTitle:"No locations found",noLocationFoundText:"Enter the name of a location in the search field.",noLocationSelected:"No location selected.",noParticipantsCatalog:"Start a search action from the filter panel on the right.",noPlannings:"No schedules were found",noReportDataFound:"No report data found",noResultsFound:"No results found",noResultsFoundTitle:"No results found",noResultsFoundText:"Try changing the filter settings",noRolesExistForThisDepartment:"No roles exist for this department",noSchedulesAddedYet:"No sessions added yet.",noSchedules:"You should add at least one session to the planning",noSkillsAndMandatoryAssigned:"No skills or mandatory trainings assigned",noSsoGroupsFound:"No sso groups found",notAchieved:"Not achieved",NotAuthorized:"Not authorized",notAvailable:"na",NoTeacherOrDoubleTeacher:"No teacher or a teacher is double planned",noTrainingFoundTitle:"No training found",noTrainingFoundText:"Add a training or reset filters",noTrainingFoundTextAlt:"No trainings found",notRequired:"Not required",noEnrollmentsFound:"No enrollments found",noEnrollmentsHeader:"No enrollments",noEnrollmentsText:"No problem, you can enroll through the catalog",notApproved:"Not approved",notComplete:"Not complete",notCompletedStatus:"Not completed",NotEnoughParticipants:"Not enough participants",notRead:"Not read",NoTeacher:"No teacher",noTeachers:"No teacher selected.",NotEnoughRightsForAccreditations:"You do not have enough rights to see these accreditations.",notEnrolledEnrollFirst:"Not yet enrolled. Go to the catalog to enroll.",notKnown:"Not known",notMandatory:"May skip",notOnAllPresent:"not attended a meeting",NotOnAllPresentAndNotOnAllNotPresent:"presence not fully filled in",notPassed:"Failed",notRegistered:"Not registered",NotSatisfied:"Not satisfied",NotStarted:"Not started",noPlanningsFoundTitle:"No plannings found",noPlanningsFoundText:"Try to adjust the filters.",noReservationsFoundTitle:"No reservations found",noTool:"No tool selected.",noToolFoundTitle:"No tools found",noToolFoundText:"Add a new tool",notYetDone:"Not yet done",notYetFinalized:"Not yet finalized",notYetKnown:"Not yet known",notYetStarted:"Not yet started",noUnrollNotificationsFoundTitle:"No notifications found",noUsersFoundTitle:"No users found",noUsersFoundText:"Select the correct domain and enter the username",noTeachersFoundTitle:"No teachers found",noTeachersFoundText:"There are no teachers assigned",noWPL:"You haven''t been attached to WPL",number:"Number",numberApproved:"Number approved",numberdays:"Number of days",numberhours:"Number of hours",numberminutes:"Number of minutes",numberOfCompletedEvaluations:"Number of completed forms",numberOfUnCompletedEvaluations:"Number of uncompleted evaluations",numberOfPlacesAvailable:"Number of places available",numberOfPoints:"Number of points",numberOfPointsAchieved:"Achieved points",numberOfRegisteredParticipants:"Number of registered participants",numberOfReservations:"Number of reservations",numberOfSelectedItems:"number of items selected",numberOfSkills:"{numberOfSkills} skills",numberOfSkillsInTotal:"{numberOfSkills} skills in total",numberparticipants:"Number of participants",numberrecipients:"Number of recipients",ofAssessmentsCarriedOutByYou:"of assessments carried out by you",off:"Off",ok:"OK",oldestFirst:"Oldest first",oneOfTheScheduleIsNotFilledInWell:"One of the sessions contains errors",on:"On",onAllPresent:"attended every meeting",one:"one",onlyActiveAccounts:"Only active accounts",onlyAssignableByAdmins:"Only assignable by administrators",onlyDisabledAccounts:"Only disabled accounts",onlyWithWarnings:"Only with warnings",onlyQualifiedAssessorsAllowed:"You are not qualified to examinate this item",oops:"Oops",open:"Open",openApplications:"Open applications",openElearningDialogInFullscreenText:"Open e-learning dialog fullscreen",openInANewWindow:"Open in a new window",openQuestion:"Open question",openQuestionInfo:"Users can enter a number of keywords via an open input field. No answer options are provided for this question.",openScormInNewWindow:"Open SCORM package(s) in new window",openScormInNewWindowDetail:"When this catalog items contains SCORM packages, open them in a new window. Only use this when the opening in the same window doesn''t work, because opening in a new window might trigger popup blockers. This options does not do anything when there are no SCORM packages in the catalog item.",openScormInNewWindowDontClose:"Content was opened in a new window. Don''t close this window/tab",optional:"Optional",options:"Options",optionText:"Option text",optionQuestion:"Option question",order:"Order","Ordered List":"Ordered List",orEnterAssessmentsByName:"assess a colleague",Outdent:"Outdent",overrideTheMasterDescription:"Use custom text instead of the default description",overrideTheMasterSummary:"Use custom text instead of the default summary",ownName:"Own name",Package:"Package",PackagesActive:"Packages active",PackagesInactive:"Packages inactive",PageNotFound:"The page could not be found...",pageIsUnavailableTitle:"Page unavailable",pageIsUnavailable:"This page is either unavailable or disabled.",payAttention:"Pay attention",parentPortalGroup:"Upper department",participant:"Participant",participantAdded:"Participant added",ParticipantEntersTheQueue:"Participant  the queue",participantIsNotSelected:"Participant is not selected",participantRegistered:"participant registered",participants:"Participants",participantsRegistered:"participants registered",participantUnRegistered:"Participant unregistered",passed:"Passed",Passed:"Passed",PassedAndExpired:"Passed but it''s expired",past:"Past",pathToImage:"Path to image",paymentHeading:"Payment","pe.externalPersonId":"PE-online Person ID","pe.courseId":"PE-online Course ID","pe.editionId":"PE-online Edition ID","pe.moduleId":"PE-online Module ID","pe.organization":"Professional body",peerassessment:"Peer assessment",peerAssessment:"Peer assessment",percentageApproved:"Percentage approved","percentageApproved%":"% approved",period:"Period",Periods:"Periods",periodsInDays:"Enrollment & Unenrollment deadline",permalink:"Permalink",permissionRequestHasFailed:"Permission request has failed",personalGroup:"Personal",phaseOutDate:"Phase out date",phaseOutDateContent:"not available from {date}",phaseOutDateContentSkills:"Not available from {date}",phone:"Phone",placeOfBirth:"Place of birth",plannedActivities:"Planned activities",plannedSessions:"Planned sessions",planners:"Planners",planning:"Planning",planningIsInPast:"Planning is in the past",plannings:"Plannings",planningInformation:"Planning information",planningOverlap:"There is overlap in your planning, please check your planning",planningOverlapButton:"Overlap in planning",planningOverlapGeneral:"There is a overlap in planning, please check planning",planningSelectContract:"Select a valid contract!",pleaseChooseTheDesiredDateAndClickEnrollToRegisterForTheNewSchedule:'Please choose the desired date and click "Enroll" to register for the new planning',points:"Points",portfolio:"Dossier",PortfolioDefinitions:"Portfolio items",PortfolioInstance:"Portfolio item",PortfolioNew:"New portfolio definition",PortfolioTasks:"Portfolio tasks",PortfolioTasksAuthorize:"Portfolio tasks - authorize",PortfolioTasksReview:"Portfolio tasks - review",PortfolioTasksAccept:"Portfolio tasks - accept",PortfolioAccept:"Accept",PortfolioReject:"Reject",PortfolioRemoveMarking:"Remove marking","portfolio.mandatory.heading.mandatoryTraining":"Mandatory training","portfolio.mandatory.heading.bestResult":"Best result","portfolio.mandatory.heading.certificate":"Certificate","portfolio.results.heading.course":"Course","portfolio.results.heading.lastAction":"Last action","portfolio.results.heading.bestResult":"Best result","portfolio.results.heading.certificate":"Certificate",preference:"Preference",presence:"Presence",practical:"Practical",practicalTest:"Practical test",presenceOfTheDaysBefore:"Presence of the days before",presenceNotFullyUpdated:"Presence not fully updated",present:"Present",presentOn:"Present on",presentParticipants:"Present participants",previousStep:"Previous step",primaryBackgroundColor:"Primary background color",primaryBackgroundColorDark:"Primary dark background color",primaryBackgroundColorLight:"Primary light background color",price:"Price",Price:"Price",Process:"Process",PaymentValidity:"Validity period (days)",DomainSpecificPrice:"Domain Specific Prices",PortalSpecificPrice:"Portalgroup Specific Prices",PortalText:"Portal text",profile:"Profile",ProfileOf:"Profile of",profileImage:"Profile image",profileSaved:"Profile saved",progress:"Progress",protocol:"Protocol",question:"Question",questionText:"Question text",questionType:"Question type",queue:"Queue",queued:"You are queued",Queued:"Queued",QueuedAlreadyOnAPlanning:"The person is already registered on queue of a planning.",queueThenAutomaticRegistration:"Queue, then automatic registration",queueThenSendInvitation:"Queue then send invitation",QueuedWhenFull:"Queued when full",read:"Read",readyForYou:"Ready for you",readProtocol:"Have you read the protocol?",readManual:"Have you read the manual?",readless:"Less",readmore:"More",reason:"Reason",receivedMessages:"Received messages",receivedOn:"Received on",receiverDomain:"Receiver domain",recipients:"Recipients",recommended:"Recommended",redo:"Redo",Redo:"Redo",refresh:"Refresh",refreshThePage:"Refresh the page",register:"Register",registered:"Registered",Registered:"Registered",registerFrom:"On {date}",registeredOn:"Registered on",registeredFrom:"Registered from",registeredParticipants:"Registered participants",registeredTill:"Registered till",registerMe:"Register me",registration:"Registration",registrationClosed:"Registration closed",registrationFailedTheAllowedNumberOfRegistrationsHasBeenReached:"Registration failed. The allowed number of registrations has been reached",registrationNumbers:"Registration numbers",registrationNumbersSaved:"Registration numbers saved",registrationPeriodHasExpired:"Registration period has expired",registrationTransferPeriodExceededTitle:"Transfer period expired",registrationTransferPeriodExceeded:"You want to transfer to another session but the transfer period of this session has expired.","registrationNumbers.notAllowed":"It is not possible to enter registration numbers.",relatedDocuments:"Related documents",relatedDocumentsText:"By default these files are visible to anyone. If you want them to only be visible after someone enrolled into this course set the switch to enabled.",removedRole:"[removed role]",ReservationRevoked:"Revoked",reservationCode:"Reservation code (optional)",reservation:"Reservation",reinstatedCancelledPlanning:"Planning reinstated",reinstatePlanning:"Reinstate planning",deleteCancelledPlanning:"Planning deleted",RegionAlreadyExists:"A region with this name already exists!",regionLocation:"Region / location",Region_still_in_use:"Region is used by a schedule, it cannot be deleted",rejectAuthSingle:"You are about to reject {number} request",rejectAuthPlural:"You are about to reject {number} requests",Rejected:"Rejected",rejectedPortfolioItems:"You have one rejected portfolio item",rejectedPortfolioItemsPlural:"You have {number} rejected portfolio items",rejectedSelection:"Selection rejected!",rejectedPartialSelection:"Selection partially rejected!",remarkUser:"User remark:",removeAppointment:"You already have an appointment, do you want to cancel this appointment?",removeFunctionUserDepartment:"User {username} has the functions below in this department. If this user no longer has a certain function, then uncheck it.",removeFunctionUserDepartment2ndLine:"Please note, some functions are obtained by an automatic import and therefore cannot be changed.",removeAllUsersFromVirtualQueueHeader:"Remove all users from watchlist?",removeAllUsersFromVirtualQueueMessage:"This action removes all shown interest for this catalogitem",removedSelection:"Selection removed!",removeFromList:"Remove from list",removeFromVirtualQueue:"Remove from watchlist",removeFromVirtualQueueDialogHeader:"Remove yourself from watchlist?",removeFromVirtualQueueDialogMessage:"You will be removed from the watchlist of this catalogitem",removeFromVirtualQueueUserDialogHeader:"Remove {displayName} from watchlist?",removeFromVirtualQueueUserDialogMessage:"This action will remove {displayName} from the watchlist of this catalogitem",removePlanningPermanently:"Remove planning permanently?",reply:"Reply",reporting:"Reporting",reports:"Reports",reportSelection:"Report selection","reports.department.mandatoryUsers.currentStatus":"Current status",request:"Request",requestDenied:"Request denied",requestPending:"Request pending",requests:"Requests",required:"Required",RequiredTrainingsWidgetInfo:"Progress insight","required and must be higher than zero":"Required and must be higher than zero",requiredAndMustNotBeGreaterThan:"Required and may not exceed {number} months",requiredAndMustNotBeGreaterThan1200:"Required and may not exceed 1200 months",requiresTeacher:"Requires teacher","requiresTeacher.explainer":"A teacher must be scheduled for every session (of a planning)",reset:"Reset",resetLearningPlan:"Do again",resetProgress:"Reset progress",revoked:"Revoked",retry:"Retry",remove:"remove",RemoveCatalogInterestConfirm:"Are you sure you want to remove ''{displayName}'' as an interest?",reregister:"Register again",reservationCodeIsAlreadyUsed:"The reservation code is already",reservationExpired:"Expired",reservations:"Reservations",reserved:"Reserved",resetCourseTitle:"Reset progress?",resetCourseFor:'It is possible to reset the progress of e-learning "{catalogName}" because it is about to expire, has already expired or because the e-learning has not been achieved by "{displayName}". All current progress of "{displayName}" will then be lost. It does not affect previous results.',resetCourseWarning:'Are you sure you want to reset the progress of "{displayName}"?',resetFilter:"reset filter",resetCatalogSettingHeader:"Reset e-Learning modules (this option can be overruled within the settings of a course)",resetCatalogSettingYes:"Allowed: participants are allowed to reset their progress of a course",resetCatalogSettingNo:"Not allowed: participants are not allowed to reset their progress of a course",resource:"Resource",resources:"Resources",resubmit:"Resubmit",result:"Result",resultFinal:"Final result",results:"Results",resultUnknown:"Result unknown",Review:"Review",reviewer:"Reviewer",revoke:"Revoke",revokeReservation:"Revoke reservation",revokeConfirmation:"Are you sure you want to revoke this reservation?",right:"Right",Right:"Right",Rights:"Rights",RightsDescription:"Other settings",Role:"Role",roles:"Roles",Satisfied:"Satisfied",save:"Save",saveAndContinue:"Save and continue",saved:"Saved",schedule:"Session",scheduleDetail:"Session details",scheduleDuration:"Session duration",scheduleFull:"Enrollment not possible, there are no open spots for this session",schedules:"Sessions",scheduleMissesDuration:"Session misses time duration",Schedule_not_found:"Schedule not found!",schedulesOverlap:"The sessions overlap",scheduleStartTimeEndTimeConflict:"schedule start and end time conflict",scheduleTimeTooLong:"Session duration too long","sdb/uriECD":"Go to SDB ECD","sdb/uriHr":"Go to SDB HR","sdb/uriPayroll":"Go to SDB Payroll","sdb/uriPlanning":"Go to SDB Planning","sdb-add-examiner-appointment-dialog.button":"{ button, select,\n            previous_step {Previous step}\n            schedule_new_appointment {Schedule new appointment}\n            schedule_appointment {Schedule appointment}\n            other {}\n        }","sdb-add-examiner-appointment-dialog.errors":"{ error, select,\n            no_time_slots_available {It is currently not possible to schedule an appointment because there are no time slots available.}\n            time_slot_already_reserved {This appointment conflicts with another one. Go back and try a different time slot or day.}\n            examiner_not_qualified {The examiner is currently not qualified and is therefore not allowed to assess this activity.}\n            other {An unknown error has occured. [{error}]}\n        }","sdb-add-examiner-appointment-dialog.headline":"{ step, select,\n            1 {Combine appointment or create new appointment}\n            2 {Choose date and location}\n            3 {Appointment on { date_and_location }}\n            4 {Plan appointment}\n            other {}\n        }","sdb-add-examiner-appointment-dialog.description":"{ step, select,\n            1 {There is time available in a previously scheduled appointment. Choose an appointment below to combine the appointment or schedule a new appointment.}\n            2 {Choose a date and location to schedule an appointment.}\n            3 {Choose the desired time slot.}\n            4 {Would you like to schedule the appointment below?}\n            other {}\n        }","sdb-continue-elearning-widget.widgetInfo":"Continue directly with this e-learning","sdb-time-slot-details.activities-to-assess":"{activities, select,\n            1 {Activity to assess}\n            other {Activities to assess}\n        }",selfassessment:"Self assessment",sendClassroomReminderMail:"Send a reminder mail","sendClassroomReminderMail.explainer":"Send an email to particpants before the course starts to remind them",sendClassroomReminderMailNumberOfDays:"Days in advance","settings.lookAndFeel":"Look & Feel","settings.lookAndFeel.uploadLogo":"Upload logo","settings.lookAndFeel.uploadHeroHeader":"Upload header photo","settings.lookAndFeel.heroheader":"Show header photo on dashboard","settings.lookAndFeel.heroheader.description":"Show a picture as visual introduction in the topsection of the dashboard","settings.featurePreview.title":"New (beta) features","settings.featurePreview.setting":"{value, select,\n            off {Off}\n            admin {Administrators}\n            everyone {Everyone}\n            other {{value}}\n        }",setApprovalDate:"Set basis date",skillDeleted:"Skill deleted",skillDetails:"Skill details",skillslabtraining:"Skills lab training",score:"Score",search:"Search",searchAClassroomTraining:"Search for a classroom training",searchAssignments:"Search assignments",searchByDate:"Search by date",searchByLocation:"Search  by location",searchByName:"Search by name",searchByNameDepartmentOrJobTitle:"Search by name, department or job title",filterBySender:"Filter by sender",searchBySenderName:"Search by sender name",searchByTeacher:"Search by teacher",searchDepartment:"Search department",searchElearning:"Search e-learning",searchForAMessageOrNotification:"Search for a message / notification",searchForAUserWithSkills:"Search for a user with skills",searchFunctions:"Search functions",searchLocation:"Search location",searchOn:"Search on",searchOnCatalogName:"Search on catalog name",searchOnDepartmentName:"Search by department name",searchOnRoleName:"Search by role name",searchRecipients:"Search recipients",searchRole:"Search role",searchPackage:"Search package",searchSkill:"Search skill",searchTool:"Search tool",secondAbout:"{number} second",secondaryBackgroundColor:"Secondary background color",secondaryBackgroundColorDark:"Secondary dark background color",secondaryBackgroundColorLight:"Secondary light background color",secondAgo:"{number} second ago",secondsAbout:"{number} seconds",secondsAgo:"{number} seconds ago",selectACatalogItemToAssignAcertificateTo:"Select a catalog item to assign to",selectAll:"Select all",selectAll2:"Select all",selectAnActivity:"Select an activity",SelectACertificate:"Select a certificate",selectAPeriod:"Select a period",selectAPlanning:"Select a planning",SelectASkillToChangeAssignments:"Select a skill to change assignments",selectATrainingToAdd:"Select a training to add",selectAssignmentOption:"Select assignment option:",selectCategory:"Select category",selectCompetenceAndFunctions:"Select competence and roles",selectDepartment:"Select department",selectDomain:"Select domain",selectDownloadType:"Select download type",selectEmployee:"Select employee",selectExportToMakeAnotherUserAssessorForTheSameActivitiesAsThisUser:"Select ''EXPORT'' to make another user assessor for the same activities as this user.",SelectExternalLearningPlan:"Select external e-learning(s)",selectFile:"Select file",selectFunctions:"Select functions",SelectPhoto:"Select photo",SelectManagerCatalogAuthorization:"Select a manager to submit the request to",selectReviewer:"Select your reviewer",selectScormItem:"Select scorm item",selectStatus:"Select status",selectTargetType:"Select type",selectType:"Select type",selectReportType:"Select report type",send:"Send",sendAMessage:"Send a message",sendMessage:"Send message",senderDomain:"Sender domain",sendUserConfirmationMail:"Send a confirmation by e-mail",sentMessages:"Sent messages",session:"session",sessionName:"Session name",sessions:"sessions",settings:"Settings",showEmptyValues:"Show empty values",showExpiredCatalogItems:"Show expired items",skill:"Skill",skillTitle:"Skill title",skills:"Skills",skillsReport:"Skills report",skillsReportWidgetInfo:"Monitor skill progress",skillsAlmostExpired:"almost expired",skillsExpired:"expired",skillslabtest:"Skills lab test",skillsPassport:"Skills passport","SkillsReport.WhatToExport":"What do you want to export?","SkillsReport.SummaryExport":"Skills summary","SkillsReport.TotalExport":"Overview of all skills including department & function","SkillsReport.Present":"Present","SkillsReport.DisplayProvenSkills":"Display proven skills","SkillsReport.History":"History","SkillsReport.HistoryConflictNoDate":"Select a date","SkillsReport.HistoryConflictNoType":"Select a report type","SkillsReport.HistoryConflictNoUser":"Select a user","SkillsReport.HistoryConflictMessage":"Select a date and the preferred history data","SkillsReport.PresentOverview":"Present overview ","SkillsReport.HistoryOverview":"History overview","SkillsReport.SelectUser":"Select a user","SkillsReport.ShowHistory":"Show history of...","SkillsReport.SpecificUser":"Specific user","SkillsReport.ProvenSkills":"Proven skills",showAll:"Show all",showAlsoExpiredAndFutureCatalogItems:"Also show expired / future items",showAssessment:"Show assessment",showDepartments:"Show departments",showDisabledAccounts:"Show disabled accounts",showExpiredSchedules:"Show expired plannings",showForm:"Show form",showFutureCatalogItems:"Show future items",showOnly:"Show only",showOverview:"Show overview",signIn:"Sign in",signInToUse:"Sign in to use SDB Leerplatform",signOut:"Sign out",size:"Size",someoneElse:"Someone else",sortBy:"Sort by",sortByDate:"Sorteer op datum",sortedByDate:"Sorted by date",spaceFillingProportionalStandard:"Space-filling, proportional (standard)",ssosearch:"Search user",ssoUserInformation:"User account",ssoUserOrGroup:"User / group",start:"Start",startDate:"Start date",startDates:"Planning",started:"Started",Started:"Started",startedOn:"Started on",StartTime:"Start time",statusAll:"All",statusAccept:"For accept",startedStatus:"Started",statusReview:"For review",statusReject:"Rejected",Status:"Status",statusCompleted:"Accepted/Completed",stillToDo:"still to do",Strikethrough:"Strikethrough",stronglyAgree:"Strongly Agree",stronglyDisagree:"Strongly Disagree",studyLoad:"Study load",style:"Style",subject:"Subject",submit:"Submit",submitAssessment:"Submit assessment",submitForm:"Submit form",submitRequest:"Submit request",submitCatalogAuthorizationRequest:"You are about to file a request with your manager to follow this course. These are the details:",subtitle:"Subtitle",subDepartment:"Subdepartment",subDepartments:"Subdepartment(s)",SuccesRegistrationIsPossible:"It is possible to register the person on this planning.",Summary:"Summary",tabDetails:"Details",tabBijlagen:"Attachments",tabComments:"Remarks","targetType.all":"All","targetType.learningplan":"E-learning","targetType.composition":"E-learning","targetType.classroom":"Classical","targetType.expertise":"Personal development","targetType.microlearning":"Micro Learning","targetType.scorm":"Scorm","targetType.lti":"LTI","targetType.microlearning.video":"Video","targetType.microlearning.movie":"Video","targetType.microlearning.audio":"Audio","targetType.microlearning.animation":"Animation","targetType.microlearning.infographic":"Infographic","targetType.microlearning.exercise":"Exercise","targetType.microlearning.microcourse":"Microcourse","targetType.microlearning.text":"Text","targetType.microlearning.test":"Test","targetType.microlearning.pretest":"Sssessment","targetType.microlearning.complete":"E-learning","targetType.microlearning.elearning":"E-learning",tcgPasswordStrength:{Label:"strength",None:"none",VeryWeak:"very weak",Weak:"weak",Medium:"medium",Strong:"strong",VeryStrong:"very strong"},Taught:"Taught",tcgUpload:{dropFiles:{one:"Drop file here",many:"Drop files here"},addFiles:{one:"Select file...",many:"Select files..."},cancel:"Cancel",error:{tooManyFiles:"Too many files.",fileIsTooBig:"File is too big.",incorrectFileType:"Incorrect file type."},uploading:{status:{connecting:"Connecting...",stalled:"Stalled.",processing:"Processing file...",held:"The attachments have not yet been uploaded."},remainingTime:{prefix:"remaining time: ",unknown:"unknown remaining time"},error:{serverUnavailable:"Server unavailable",unexpectedServerError:"Unexpected server error",forbidden:"Forbidden"}},units:{size:["B","kB","MB","GB","TB","PB","EB","ZB","YB"],sizeBase:1e3}},teacher:"Teacher",teacherOverviewDescription:"Overview teachers",teachers:"Teachers",teacherIsMandatory:"Teacher is mandatory",Temporary:"Temporary",temporaryParticipants:"Temporary registered participants",temporaryParticipantsTab:"Temporary enrollements",template:"Template",tertiaryBackgroundColor:"Tertiary background color",testResult:"Result",text:"Text",textField:"Text field",theBlockMustAtleastContainAquestion:"The block must at least contain one question",theActivityIsNoLongerAvailable:"The activity is no longer available",theAllowedNumberOfRegistrationsHasBeenReached:"The allowed number of registrations for this user has been reached",theAllowedNumberOfRegistrationsForMyselfHasBeenReached:"You have reached the maximum number of enrollments for this course",theAllowedNumberOfRegistrationsForThisUserHasBeenReached:"This user has reached the maximum number of enrollments for this course",theColleagueWhoWillAssessYou:"The colleague who will assess you",theFirstBeginsOn:"the first begins on",theFollowingParticipantsAreStillRegisteredOnTheSchedule:"The following participants are still registered on the schedule:",TheLearningPlansThatWillGetActivated:"The e-learnings that will get activated",theListOfLinkedSkills:"Linked skills",themeColors:"Theme colors",themeColorPrimary:"Primary theme color",themeColorSecondary:"Secondary theme color",themeColorTertiary:"Tertiary theme color",themeColorButton:"Button color",themeColorProgress:"Progressbar color",themeColorProgress100:"Progressbar 100% color",themeDescription:"Easily set 2 theme colors. The text color and the supporting colors will be automatically calculated. Not exactly what you want? Set the colors yourself below!",theMinimumNumberOfMandatoryActivitiesIs:"The minimum number of mandatory activities is {number}",theNextActivityStarts:"Next activity:",theNextLessonStarts:"Next activity:",theNextOneIsOn:"the next one is on",thereAreEvaluationRequests:"Evaluate your training",thereAreListsThatNeedToBeUpdated:"Update attendance lists",thereAreNoAssessmentsFound:"There are no assessments found",thereAreNoAssessmentsFoundTitle:"No assessments",ThereArenoAssignmentsFound:"There are no assignments found",thereAreNoDepartmentsFound:"There are no departments found",thereAreNoDocuments:"There are no documents",thereAreNoFormsFound:"There are no forms found",thereAreNoFormsFoundTitle:"No forms",thereAreNoFunctionsLinkedToThisSkill:"There are no functions linked to this skill",thereAreNoFuturePlannedLessons:"There are no future planned lessons",thereAreNoListsToUpdate:"There are no lists to update",thereAreNoMessageFound:"There are no messages found",thereAreNoMessageTitle:"No messages found",thereAreNoOpenAssessmentRequests:"There are no open assessment requests",thereAreNoPastPlannedLessons:"There are no expired lessons found",thereAreNoParticipantsConnectedToThisSchedule:"There are no participants connected to this planning",thereAreNoParticipantsFound:"There are no participants found",thereAreNoRequiredTrainings:"There are no required trainings",thereAreNoRequiredTrainingsFound:"No required trainings found",thereAreNoRequiredTrainingsAssigned:"No required training assigned",thereAreNoSkillsCategoriesFoundTitle:"No skills categories found",thereAreNoSkillsCategoriesFoundText:"Add a skills category or reset filters",thereAreNoSkillsFound:"There are no skills found",thereAreNoSkillsLinked:"There are no skills linked",thereAreNoSkillsFoundTitle:"No skills found",thereAreNoSkillsFoundText:"Try changing the filter options",thereAreOpenAssessmentRequests:"There are open assessment requests",thereAreThecomingDays:"There are the coming",thereIsAccreditationFound:"There is no accreditation found",thereIsAnEvaluationRequests:"Evaluate your training",thereIsNoIndividualConnected:"There is no individual connected",thereIsNoLocationSelected:"There is no location selected",thereIsNoTeacherSelected:"There is no teacher selected",theSelectedAssessor:"The selected assessor",theorems:"Theorems",thisElearningCourseIs:"This E-learning course is",thisExaminerIsNotSkilled:"This examiner is not skilled",thisMinervaPortalDoesNotExist:"This SDB Leerplatform portal does not exist",thisScheduleIsFullTheNewRegistrationsWillBeQueued:"This schedule is full. The new registrations will be queued",thisScheduleConflictsWithAnotherScheduleForWhichThisParticipantIsRegistered:"This schedule conflicts with another schedule for which this participant is registered",thisScheduleConflictsWithAnotherScheduleForWhichYouAreRegistered:"This schedule conflicts with another schedule for which you are registered",thisScheduleCannotBeEditedBecauseItIsInTheFuture:"This schedule can not be edited because it is in the future",time:"Time",Title:"Title",to:"To",today:"Today",todolist:"Todolist",tool:"Tool",toolDeleted:"Tool deleted",tools:"Tools",Tooltip:"Tooltip",toPlannings:"To plannings",total:"Total",totalAfterANumber:"total",totalNumberOfEvaluations:"Total number of evaluations",TotalNumberOfHours:"Total number of hours",training:"Training",trainingDeleted:"Training deleted",trainingInformation:"Training information",trainingonthejob:"Training on the job",trainingsStarted:"started",trainingType:"Training type",transferEnrollment:"Transfer",transferInsufficientRights:"You have insufficient rights to transfer",true:"yes",toj:"Training on the job",trainings:"Trainings",translate:"Translate",types:"types",Uncouple:"Uncouple",UncoupleEmployee:"Uncouple employee",Underline:"Underline",underlyingDepartments:"Underlying departments",Undo:"Undo",unenroll:"unenroll",unenrollment:"Unenrollment",unenrollmentDeadline:"Unenrollment deadline",unenrollmentDeadlineInDays:"Unenrollment deadline in days",units:{size:["B","kB","MB","GB","TB","PB","EB","ZB","YB"]},uniqueUsers:"Unique users","Unordered List":"Unordered List",unknown:"Unknown",Unknown:"Unknown",unKnownOn:"Unknown on",unlockAccount:"Unlock account",unregister:"Unregister",unRegisterInsufficientRights:"You have insufficient rights to unenroll.",unregisterOrTansferOptions:"{ option, select,\n            myUnregister {You are not allowed to unregister because your attendance / result has already been saved.}\n            myTransfer {You are not allowed to transfer because your attendance / result has already been saved.}\n            someoneElseUnregister {You can't unregister this employee, because the attendance / result has already been saved.}\n            someoneElseTransfer {You can't transfer this employee, because the attendance / result has already been saved.}\n            other {{option}}\n        }",unRegisterPeriodExceeded:"It is no longer possible to unenroll.",unRegisterPeriodExceededTitle:"Unenroll period expired",unsupportedBrowserHeader:"Outdated browser",unsupportedBrowserMessage:"You are using a browser we no longer support. Update your browser for a better experience!",until:"until",untilTime:"Until",up:"Up",upcomingTrainings:"Upcoming trainings",UpdateValidityForExistingAssignments:"Overwrite validity for existing assignments",upload:"Upload",uploadAutomatically:"Attachments in the queue will be automatically uploaded when you save the dossier item.",uploadCertificateBackgroundImage1:"Background image",uploadCertificateBackgroundImage2:"A 150dpi image at 1240px by 1754px is sufficient for a printed A4.",uploading:{status:{connecting:"Connecting...",stalled:"Stalled.",processing:"Processing File...",held:"Queued"}},unableToRemoveAccreditation:"Unable to delete accreditation",unregistered:"Unregistered",Unregistered:"Unregistered",unregisteredParticipants:"Unregistered participants",updateAttendance:"Update attendance",url:"URL",URL:"URL",usageReport:"Usage Report","usageReport.subtitle":"E-learnings & classical courses","usageReport.generate":"Generate report","usageReport.usageUniqueCoursesUsers":"Number of unique users that started this course","usageReport.usageUniqueUsers":"Number of unique users that started this e-learning","usageReport.activeUsersPeriod":"Active users in selected period","usageReport.elearningDetails.user":"User","usageReport.elearningDetails.searchUser":"Search user","usageReport.elearningDetails.status":"Status","usageReport.info.usersStartedBetween":"Users started between {selectedDates}",useCustomValue:"Use custom value",useDefault:"Use default",useExaminerFunctionality:"Use examiner functionality",UseOnlyDefaultTemplates:"Use only default mail templates",user:"User","user.course.result.validUntil":"Valid until",userGroupDeleted:"User/group deleted",userProfile:"User profile",users:"Users",userInfo:"User information",uservoiceIcon:"Submit an improvement",userManagement:"Usermanagement",usersName:"User''s name",vacantPlace:"seat",vacantPlaces:"seats",valid:"Valid",validity:"Validity",validityPeriodInMonths:"Validity period in months",validUntil:"Valid until",Version:"Version",version:"version",refresher:"Refresher",viewComment:"View comment",viewPlanning:"View planning",viewPreconditions:"View preconditions",viewSkill:"View skill",viewTheClassActivitiesForWhichYouAreRegistered:"View the class activities for which you are registered",viewYourScheduledLessons:"View your scheduled lessons",virtualQueue:"Watch list",week:"Week",weekAbout:"{number} week",weekAgo:"{number} week ago",weekOverview:"Week overview",weekOverviewReport:"Week overzicht report",weeks:"Weeks",weeksAbout:"{number} weeks",weeksAgo:"{number} weeks ago",welcomeToTCGMinerva:"Welcome to the learning environment",whatAreYouSearchingFor:"What are you searching for?",when:"When",WhoDoYouWantToRegister:"Register",width:"Width",withdrawTheApplication:"Withdraw the application",WithCertificate:"With certificate",WithoutCertificate:"Without certificate",workLearningMethods:"Work forms & Learning methods",workPhone:"Work phone",writtentest:"Written test",year:"Year",years:"Years",yearAbout:"{number} year",yearsAbout:"{number} years",yearAgo:"{number} year ago",yearsAgo:"{number} years ago",yes:"Yes",youAreAlreadyRegistered:"You are already registered",youAreNotAuthorizedToViewThisInformation:"You are not authorized to view this information.",youCurrentlyHaveNoLesson:"You currently have no lesson",YouDoNotHaveAddedFavorites:"You do not have added favorites.",youHaveMadeChangesDoYouWantToContinueWithoutSavingIt:"You have made changes. Do you want to continue without saving it?",youHaveNoLessonInTheNextSelectedDays:"You have no lesson in the next selected days",youMustAddRecipients:"You must add recipients",YourDepartments:"Your departments",YourFavoriteCourses:"Your favorite courses",YouAreSignedInAsAndDoesNotHaveRightsOn:"You are signed in as {name} and with this account you have no rights to enter {portal}",youWillBeAssessedBy:"You will be assessed by",yourProgress:"Your progress",viewYourProgress:"View your progress",zipCode:"Zip code",showChildDepartmentsWhenNotManager:"Show child departments to a manager of a parent department","ssoManagement.mainTitle":"SSO Management","ssoManagement.pageInfo":"SSO Management PageInfo","ssoManagement.listHeading":"SSO List","ssoManagement.addSsoUser":"Create SSO User","ssoManagement.updateSsoUser":"Update SSO User","ssoManagement.enableDisableLabel":"Enable/Disable","ssoManagement.lockedOut":"Locked Out","ssoManagement.disabledSince":"Disabled per","ssoManagement.logOnName":"Logon","ssoManagement.logOnAlias":"Logon Alias","ssoManagement.displayName":"Displayname","ssoManagement.description":"Description","ssoManagement.emailAddress":"Email Address","ssoManagement.password":"Password","ssoManagement.resetPassword":"Reset Password","ssoManagement.filter.enabled":"Enabled","ssoManagement.filter.disabled":"Disabled","ssoManagement.filter.lockedOut":"Locked Out","ssoManagement.tab.users":"Users","ssoManagement.tab.groups":"Groups","ssoManagement.actions.changePassword":"Change password","ssoManagement.actions.generatePassword":"Generate password","ssoManagement.actions.sendResetLink":"Send reset link","ssoManagement.actions.unlock":"Unlock","ssoManagement.actions.enableDisable":"{ disabled, select,\n            true {Enable}\n            false {Disable}\n            undefined {Disable}\n            other {{disabled}}\n        }","ssoManagement.errors.mustBeUnique":"Logonname and LogonAlias must be different!","ssoManagement.errors.alreadyInUse":"Logonname is already in use!","ssoGroupManagement.groupDetails":"Group details","ssoGroupManagement.mainTitle":"SSO Group Management","ssoGroupManagement.pageInfo":"SSO Group Management PageInfo","ssoGroupManagement.listHeading":"SSO Group List","ssoGroupManagement.addSsoGroup":"Create SSO Group","ssoGroupManagement.updateSsoGroup":"Update SSO Group","ssoGroupManagement.updateSsoGroupMembers":"Update SSO Group Members","ssoGroupManagement.memberOf":"Member Of",tags:"Tags",labels:"Labels",addLabel:"Add Label",noLabels:"No Labels",Supplier:"Supplier",supplierTags:"Supplier Tags",addTag:"Add Tag",noTags:"No Tags","scormManagement.mainTitle":"SCORM Management","scormManagement.pageInfo":"SCORM Management PageInfo","scormManagement.listHeading":"SCORM List","scormManagement.uploadScormPackage":"Upload Scorm 1.2 (.zip) Package","scormManagement.filter.zipped":"Zipped","scormManagement.filter.unzipped":"Unzipped","scormManagement.actions.upload":"Upload","scormManagement.actions.delete":"Delete","tcgLearningPlan.resetDialogTitle":"Do again?","tcgLearningPlan.resetDialogBody":"Are you sure you want to do this e-learning again? All your current progress will then be lost. It does not affect previous results.","tcgLearningPlan.somethingWentWrong":"Something went wrong","tcgLearningPlan.retryProcessProgress":"Retry to save your progress.","tcgLearningPlan.resetIfNotWorking":"Not working? Reset the course to start over.","tcgLearningPlan.handInDialogTitle":"Hand in?","tcgLearningPlan.handInDialogText":"Are you sure you want to hand in {title}? It is not possible to make changes after hand in!","tcgLearningPlan.handIn":"Hand in","tcgLearningPlan.skip":"Skip","tcgLearningPlan.completed":"Completed","tcgLearningPlan.open":"Open","tcgLearningPlan.notAvailableYet":"Not available"}};window.IntlMessageFormat=qx;let tk=(navigator.language||navigator.browserLanguage||"en").substring(0,2);tk="nl"!==tk&&"en"!==tk?"en":tk,Qg.locale(tk);const ik=[Kx,{created:function(){this.language=tk,this.moment=Qg,this.resources=ek}}];function nk(e){if(null===e)throw new Error("tcgLocalizeBehaviorMixin(Base) expects a base class");return class extends e{constructor(){super(),this.language=tk,this.moment=Qg,this.resources=ek,this.formats={}}static get properties(){return{language:{type:String},moment:{type:Object},resources:{type:Object},formats:{type:Object}}}localize(e,...t){const i=this.constructor.prototype;i.__localizationCache||(i.__localizationCache={messages:{}});const n=this.resources[this.language][e];n||console.warn(`'Missing translation for key ${e}`);const r=e+n;let s=i.__localizationCache.messages[r];s||(s=new qx(n,this.language,this.formats),i.__localizationCache.messages[r]=s);const o={};for(let e=0;e<t.length;e+=2)o[t[e]]=t[e+1];return s.format(o)}}}const rk=u`
:host {
    display: block;

    --material-font-family: 'Source Sans Pro', sans-serif;

    --paper-input-container: {
        --paper-input-container-color: hsl(0, 0%, 58%);
        background-color: var(--tcg-input-container-background-color);
        border-radius: var(--tcg-input-container-border-radius);
        padding-bottom:0;
        padding-left: 12px;
        padding-right: 12px;
    }

    --paper-input-container-underline: {
        /*
        undo padding-left and padding-right of --paper-input-container
        this makes sure that the underline runs across the whole input container
         */
        margin-left: -12px;
        margin-right: -12px;
    }

    --paper-input-container-underline-focus: {
        /*
        undo padding-left and padding-right of --paper-input-container
        this makes sure that the underline runs across the whole input container
         */
        margin-left: -12px;
        margin-right: -12px;
    }

    --iron-autogrow-textarea: {
        padding:0; /* Browser stylesheet defaults to 2px padding, makes this misalign with the label when using paper-textarea. */
    }

    --tcg-subtitle-2: {
        font-size: 14px;
        color: rgba(0,0,0,.54);
    }

    /* ################################### */

    --accent-color: var(--tcg-accent-color);

    --tcg-list-bottom-margin: 80px;
    --tcg-content-max-width: 1400px;
    --tcg-list-padding: 24px;
    --tcg-input-padding-bottom: 24px;
    --icon-button-color: rgba(0,0,0, var(--dark-secondary-opacity));
    --tcg-input-container-background-color: hsl(0, 0%, 96%);
    --tcg-input-container-border-radius: 4px 4px 0 0;
    --tcg-minerva-green: rgb(102, 153, 102); /* #669966 */
    --tcg-minerva-green-background: rgba(102, 153, 102, 0.2);
    --tcg-minerva-green-dark: rgb(72, 109, 72); /* #486D48 */
    --tcg-minerva-green-light: rgb(120, 205, 171); /* #78CDAB */
    --tcg-minerva-red: rgb(204, 102, 102); /* #CC6666 */
    --tcg-minerva-red-background: rgba(204, 102, 102, 0.2);
    --tcg-minerva-red-dark: rgb(153, 51, 51); /* #993333 */
    --tcg-minerva-orange: rgb(204, 153, 0); /* #CC9900 */
    --tcg-minerva-orange-background: rgba(204, 153, 0, 0.2);
    --tcg-minerva-orange-dark: rgb(188, 134, 0); /* #BC8600 */
    --tcg-black-primary-opacity: rgba(0, 0, 0, var(--dark-primary-opacity));
    --tcg-minerva-gray: rgba(0, 0, 0, 0.04);
    --sdb-primary-button: #f49d10;
    --sdb-theme-primary-text: var(--tcg-primary-color-onprimary);
    --mdc-theme-primary: var(--tcg-primary-background-color);
    --mdc-theme-secondary: var(--tcg-secondary-background-color);
    --mdc-theme-on-secondary: var(--tcg-primary-color-onsecondary);
    --warning-color: var(--sdb-warning-color, #face88);
    --alert-color: var(--sdb-alert-color, #fa8b88);
    --success-color: var(--sdb-success-color, #80d8d5);
    --inprogress-color: var(--sdb-inprogress-color, #2196F3);
    --element-lightgrey: #eaeaea;

    /* HEADER */
    --header-primary: var(--sdb-header-primary, #00b1aa);
    --header-secondary: var(--sdb-header-primary, #136f8b);
    --header-tertiary: var(--sdb-header-primary, #b2b2b2);
    /* TEXT */
    font-family: var(--font-family);
    /* BUTTONS */
    --paper-toggle-button-checked-bar-color: var(--btn-primary);
    --paper-toggle-button-checked-button-color: var(--btn-primary);
    --paper-toggle-button-checked-ink-color: var(--btn-primary);

    --paper-tabs-selection-bar-color: var(--btn-primary);

    --paper-badge-background: var(--btn-primary);
    --paper-badge-text-color: var(--btn-primary-text);

    /* ################################ */
}

/* APP-DRAWER & FILTERSHEET STYLING */

app-drawer{
    position:fixed;
    top:140px;
    height: calc(100vh - 140px);
    margin:0;
    --app-drawer-content-padding: 0;
    --app-drawer-content-container: {
        background: white !important;
    }
    margin-top:0 !important;
    box-shadow: -1px 0px 10px 1px rgba(0,0,0,0.12);
}

@media (max-width: 767px) {
    app-drawer {
        top:70px;
        height: calc(100vh - 70px);
    }
}

#filterSheet{
    padding:15px 15px 0;
    text-align: left;
}

/* ################################ */

.tcg-subtitle-1-black {
    font-size: 16px;
    color: rgba(0,0,0,var(--light-secondary-opacity)); /* black 0.7 */
}

.tcg-subtitle-2-black {
    font-size: 14px;
    color: rgba(0,0,0,var(--light-secondary-opacity)); /* black 0.7 */
}
.tcg-H5-white {
    @apply --tcg-H5-white;
}
.tcg-H5-black {
    font-size: 24px;
    color: rgba(0,0,0,var(--dark-primary-opacity)); /* black 0.87 */
}

.tcg-body1-black {
    font-size: 16px;
    color: rgba(0,0,0,var(--dark-primary-opacity)); /* black 0.87 */
}

.tcg-body2-black {
    font-size: 14px;
    color: rgba(0,0,0,var(--dark-secondary-opacity)); /* black 0.54 */
}

.tcg-opacity-054 {
    opacity: var(--dark-secondary-opacity);
}

.tcg-opacity-087 {
    opacity: var(--dark-primary-opacity);
}


vaadin-select {
    background-color: var(--tcg-input-container-background-color);
    border-radius: var(--tcg-input-container-border-radius);
    border-bottom: -8px; /* fix the margin-bottom of the inner element */
}

vaadin-select[transparent] {
    background-color: transparent;
}

paper-icon-item paper-icon-button:not([disabled]),
paper-item paper-icon-button:not([disabled]),
paper-menu-button paper-button:not([disabled]) {
    color: var(--icon-button-color);
}

paper-button:not([disabled]):not(.primary):not(.contained) {
    color: var(--tcg-primary-background-color);
}

paper-button {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1.25px;
}

paper-button.primary, paper-button.contained {
    background-color: var(--sdb-button-primary);
    color: var(--sdb-button-primary-text);
}

paper-badge iron-icon{
    color: white;
}
a {
    text-decoration: none;
    color: var(--sdb-button-primary);
}

app-header {
    background-color: var(--tcg-primary-background-color-dark);
    color: var(--tcg-primary-color-onprimary);
}

.header {
    background-color: var(--tcg-primary-background-color);
    color: var(--tcg-primary-color-onprimary);
    width: 100%;
    box-sizing: border-box;
    padding: 2rem 2rem 0 2rem;
}
.nowrap {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

paper-card {
    flex-grow: 1;
    background: white;
}

.with-href {
    cursor: pointer;
}

paper-input {
    --paper-input-container_-_background-color: var(--tcg-input-container-background-color);
    --paper-input-container_-_--paper-input-container-color: hsl(0, 0%, 58%);
    --paper-input-container_-_border-radius: var(--tcg-input-container-border-radius);
}

paper-input[transparent] {
    --paper-input-container_-_background-color: transparent;
}

paper-input[readonly] {
    --paper-input-container-underline: {
        display: none;
    }
}

paper-item-body[two-line] {
    height: 71px; /* IE 11 fix for min-height: 72px; */
}
paper-item-body{
    margin-left:16px;
}

.badge-container {
    display: inline-block;
    margin-left: 30px;
    margin-right: 30px;
  }
  /* Need to position the badge to look like a text superscript */
  .badge-container > paper-badge {
    --paper-badge-margin-left: 20px;
    --paper-badge-margin-bottom: 0px;
    --paper-badge-text-color: var(--sdb-button-primary-text);
  }

paper-toast {
    text-align: center;
}

.filterContent {
    background: #fff;
    height: 100%;
}

.card-header__iron-icon {
    padding: 0.6rem;
    border-radius: 50%;
    background: #ddd; /* TODO: choose TCG color */

    margin-right: 1rem;
}

.card-content__paper-listbox {
    margin-top: -1rem;
}

.form-input-width {
    width: calc(50% - 12px);
}

@media (max-width: 640px) {
    .form-input-width {
        width: 100%;
    }
}

/* dialog start */
.dialog-content {
    padding: 0 2rem 0 2rem;
}

.dialog-content-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dialog-content-footer__buttons {
    margin-right: 3rem;
}
/* dialog end */

.page-info {
    background-color: var(--tcg-primary-background-color);
    color: var(--tcg-primary-color-onprimary);
    width: 100%;
    box-sizing: border-box;
    padding: 2rem;
}

.page-info a {
    color: var(--tcg-primary-color-onprimary);
}

.grid-buttons {
    display: flex;
}

#content {
    box-sizing: border-box;
    @apply --layout-horizontal;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    padding: 0;
    width: 100%;
}

.full-width {
    width: 100%;
    flex-basis: auto;
    max-width: none;
}

*[hidden] {
    display: none;
}

/* TODO: remove both 50% because it is not centering */
paper-spinner {
    position: fixed;
    left: 50%;
    top: 50%;
    display:none;
}
paper-spinner[active] {
    display:inline-block;
}

paper-item-body {
    border-bottom: 1px solid rgba(0,0,0, var(--dark-divider-opacity));
}

paper-fab-speed-dial {
    --paper-fab-speed-dial-background: var(--btn-primary, var(--accent-color));
    --text-primary-color: var(--tcg-primary-color-onsecondary);
}

paper-fab {
    --text-primary-color: var(--tcg-primary-color-onsecondary);
    --paper-fab-background: var(--btn-primary, var(--accent-color));
}

sdb-content-button:not([secondary]) {
    --text-light: var(--sdb-button-primary-text);
}

md-fab {
    position: fixed;
    right: 16px;
    bottom: 16px;
    --md-ref-typeface-plain: var(--font-family);
    --md-sys-color-primary: var(--sdb-button-primary-text);
    --md-sys-color-surface-container-high: var(--sdb-button-primary);
}

paper-fab-speed-dial {
    position: fixed;
    right: 0px;
    bottom: 0px;

    --paper-fab-speed-dial-keyboard-focus-background: var(--btn-primary);
    --text-primary-color: var(--sdb-button-primary-text);
}

paper-fab-speed-dial-action {
    cursor: pointer;
}

paper-fab {
    position: fixed;
    bottom: 16px;
    right: 16px;
}

#toastDiv {
    height: 70px;
    position: fixed;
    bottom: 0;
}

@media (max-width: 640px) {
    :host {
        --tcg-list-padding: 0;
    }
}

@media (min-width: 1280px) {
    #content {
        padding: 1rem 2rem 1rem 2rem;
    }

    #drawer-toggle {
        display: none;
    }
}

.titleText {
    font-size: 24px;
    opacity: 0.87;
    margin: 10px;
}

.body1Text {
    font-size: 16px;
    opacity: 0.6;
    margin: 10px;
}

.avatar {
    display: inline-block;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    text-align: center;
}

.group-icon-background {
    background: #e0e0e0;
}

.group-photo-icons {
    color: rgba(103, 103, 103, 1);
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.filterHeaderBody2TextWithPadding {
    padding-top: 20px;
    font-size: 16px;
    opacity: 0.6;
}

.heading {
    color:rgba(0,0,0, .54);
    font-size: 14px;
}

wl-button {
    --button-letter-spacing: 0.078125rem;
    font-weight: 500;
    --button-font-size: 14px;
    border-radius: 4px;
    padding: 11px 16px;
    --font-family-sans-serif: 'Source Sans Pro', sans-serif;
}

wl-banner {
    padding: 16px;
    --banner-content-padding: 0;
}

/* ######################### */
/* Styling for FAB movement: */
/* ######################### */
@keyframes moveLeft {
    from {margin-right: 0px;}
    to {margin-right: 350px;}
}

@keyframes moveRight {
    from {margin-right: 350px;}
    to {margin-right: 0px;}
}
.fabPosition {
    transition: margin-right 0.2s;
    margin-right: 350px;
}

:host([toggle-filter]) .fabPosition,
:host([togglefilter]) .fabPosition,
:host([filterOpened]) .fabPosition {
    /* LitElement translates toggleFilter to togglefilter instead of toggle-filter :( */
    margin-right: 0px;
}
@media(max-width:600px) {
    .fabPosition {
        margin-right: 0px;
    }
}
.slot-div{
    display: inline-block;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    text-align: center;
    background: #666666;
}
.slot-icon-inside-div{
    color: rgb(255, 255, 255);
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.chip-close-icon{
    cursor:pointer;
    --iron-icon-height: 16px;
    --iron-icon-width: 16px;
    position: relative;
    right: 0;
    color: var(--paper-chip-background-color, #E0E0E0);
    background-color: var(--paper-chip-close-color, #A6A6A6);
    border-radius: 50%;
    top: -1px;
}
.toast-error {
    --paper-toast-background-color: #d9534f;
    border-color: #d43f3a;
    --paper-toast-color: white;
}
/* ######################### */

`,sk=document.createElement("template");sk.innerHTML=rk.cssText;const ok=fo`
    <dom-module id="tcg-shared-styles">
        <template>
            <style>

                ${sk}
            </style>
        </template>
    </dom-module>

    <dom-module
        id="vaadin-tcg-theme"
        theme-for="vaadin-*"
    >
        <template>
            <style>
                [part='text-field'] {
                    background-color: hsl(0, 0%, 96%);
                    border-radius: 4px 4px 0 0;
                    padding-bottom: 0;
                }

                [readonly][part='text-field'] {
                    background-color: white;
                }

                [part='label'] {
                    margin: 0 12px 0 12px;
                }

                [part='value'] {
                    margin: 0 12px 0 12px !important;
                }

                [part='primary-buttons'] {
                    color: var(--tcg-primary-color-onsecondary, #000);
                    --material-body-text-color: var(--tcg-primary-color-onsecondary, #000);
                }

                vaadin-time-picker-text-field {
                    background-color: var(--tcg-input-container-background-color);
                    border-radius: var(--tcg-input-container-border-radius);
                    padding-bottom: 0;
                }

                vaadin-select-text-field {
                    margin-bottom: 0;
                }
            </style>
        </template>
    </dom-module>
    <dom-module
        id="vaadin-tcg-theme-combo-box-item"
        theme-for="vaadin-combo-box-item"
    >
        <template>
            <style>
                [part='content'] {
                    width: calc(100% - 26px);
                }
            </style>
        </template>
    </dom-module>
`;function ak(e){const t=customElements.get(e.is);if(t){const i=t.version;i&&e.version&&i===e.version?console.warn(`The component ${e.is} has been loaded twice`):console.error(`Tried to define ${e.is} version ${e.version} when version ${t.version} is already in use. Something will probably break.`)}else Object.defineProperty(e,"version",{get:()=>"24.3.11"}),customElements.define(e.is,e)}document.head.appendChild(ok.content);class lk extends HTMLElement{static get is(){return"vaadin-material-styles"}}ak(lk);const dk=e=>class extends e{static get properties(){return{_theme:{type:String,readOnly:!0}}}static get observedAttributes(){return[...super.observedAttributes,"theme"]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"theme"===e&&this._set_theme(i)}},ck=[];function hk(e){return e&&Object.prototype.hasOwnProperty.call(e,"__themes")}function uk(e,t,i={}){var n;e&&(n=e,hk(customElements.get(n))&&console.warn(`The custom element definition for "${e}"\n      was finalized before a style module was registered.\n      Make sure to add component specific style modules before\n      importing the corresponding custom element.`)),t=function(e=[]){return[e].flat(1/0).filter((e=>e instanceof h||(console.warn("An item in styles is not of type CSSResult. Use `unsafeCSS` or `css`."),!1)))}(t),window.Vaadin&&window.Vaadin.styleModules?window.Vaadin.styleModules.registerStyles(e,t,i):ck.push({themeFor:e,styles:t,include:i.include,moduleId:i.moduleId})}function pk(){return window.Vaadin&&window.Vaadin.styleModules?window.Vaadin.styleModules.getAllThemes():ck}function gk(e=""){let t=0;return e.startsWith("lumo-")||e.startsWith("material-")?t=1:e.startsWith("vaadin-")&&(t=2),t}function mk(e){const t=[];return e.include&&[].concat(e.include).forEach((e=>{const i=pk().find((t=>t.moduleId===e));i?t.push(...mk(i),...i.styles):console.warn(`Included moduleId ${e} not found in style registry`)}),e.styles),t}function fk(e){const t=`${e}-default-theme`,i=pk().filter((i=>i.moduleId!==t&&function(e,t){return(e||"").split(" ").some((e=>new RegExp(`^${e.split("*").join(".*")}$`,"u").test(t)))}(i.themeFor,e))).map((e=>({...e,styles:[...mk(e),...e.styles],includePriority:gk(e.moduleId)}))).sort(((e,t)=>t.includePriority-e.includePriority));return i.length>0?i:pk().filter((e=>e.moduleId===t))}const yk=e=>class extends(dk(e)){static finalize(){if(super.finalize(),this.elementStyles)return;const e=this.prototype._template;e&&!hk(this)&&function(e,t){const i=document.createElement("style");i.innerHTML=e.map((e=>e.cssText)).join("\n"),t.content.appendChild(i)}(this.getStylesForThis(),e)}static finalizeStyles(e){const t=this.getStylesForThis();return e?[...super.finalizeStyles(e),...t]:t}static getStylesForThis(){const e=Object.getPrototypeOf(this.prototype),t=(e?e.constructor.__themes:[])||[];this.__themes=[...t,...fk(this.is)];const i=this.__themes.flatMap((e=>e.styles));return i.filter(((e,t)=>t===i.lastIndexOf(e)))}},vk=(e,...t)=>{const i=document.createElement("style");i.id=e,i.textContent=t.map((e=>e.toString())).join("\n").replace(":host","html"),document.head.insertAdjacentElement("afterbegin",i)},_k=(e,...t)=>{vk(`material-${e}`,t)};uk("",u`
  :host {
    /* Text colors */
    --material-body-text-color: var(--light-theme-text-color, rgba(0, 0, 0, 0.87));
    --material-secondary-text-color: var(--light-theme-secondary-color, rgba(0, 0, 0, 0.54));
    --material-disabled-text-color: var(--light-theme-disabled-color, rgba(0, 0, 0, 0.38));

    /* Primary colors */
    --material-primary-color: var(--primary-color, #6200ee);
    --material-primary-contrast-color: var(--dark-theme-base-color, #fff);
    --material-primary-text-color: var(--material-primary-color);

    /* Error colors */
    --material-error-color: var(--error-color, #b00020);
    --material-error-text-color: var(--material-error-color);

    /* Background colors */
    --material-background-color: var(--light-theme-background-color, #fff);
    --material-secondary-background-color: var(--light-theme-secondary-background-color, #f5f5f5);
    --material-disabled-color: rgba(0, 0, 0, 0.26);

    /* Divider colors */
    --material-divider-color: rgba(0, 0, 0, 0.12);

    /* Undocumented internal properties (prefixed with three dashes) */

    /* Text field tweaks */
    --_material-text-field-input-line-background-color: initial;
    --_material-text-field-input-line-opacity: initial;
    --_material-text-field-input-line-hover-opacity: initial;
    --_material-text-field-focused-label-opacity: initial;

    /* Button tweaks */
    --_material-button-raised-background-color: initial;
    --_material-button-outline-color: initial;

    /* Grid tweaks */
    --_material-grid-row-hover-background-color: initial;

    /* Split layout tweaks */
    --_material-split-layout-splitter-background-color: initial;

    background-color: var(--material-background-color);
    color: var(--material-body-text-color);
  }

  [theme~='dark'] {
    /* Text colors */
    --material-body-text-color: var(--dark-theme-text-color, rgba(255, 255, 255, 1));
    --material-secondary-text-color: var(--dark-theme-secondary-color, rgba(255, 255, 255, 0.7));
    --material-disabled-text-color: var(--dark-theme-disabled-color, rgba(255, 255, 255, 0.5));

    /* Primary colors */
    --material-primary-color: var(--light-primary-color, #7e3ff2);
    --material-primary-text-color: #b794f6;

    /* Error colors */
    --material-error-color: var(--error-color, #de2839);
    --material-error-text-color: var(--material-error-color);

    /* Background colors */
    --material-background-color: var(--dark-theme-background-color, #303030);
    --material-secondary-background-color: var(--dark-theme-secondary-background-color, #3b3b3b);
    --material-disabled-color: rgba(255, 255, 255, 0.3);

    /* Divider colors */
    --material-divider-color: rgba(255, 255, 255, 0.12);

    /* Undocumented internal properties (prefixed with three dashes) */

    /* Text field tweaks */
    --_material-text-field-input-line-background-color: #fff;
    --_material-text-field-input-line-opacity: 0.7;
    --_material-text-field-input-line-hover-opacity: 1;
    --_material-text-field-focused-label-opacity: 1;

    /* Button tweaks */
    --_material-button-raised-background-color: rgba(255, 255, 255, 0.08);
    --_material-button-outline-color: rgba(255, 255, 255, 0.2);

    /* Grid tweaks */
    --_material-grid-row-hover-background-color: rgba(255, 255, 255, 0.08);
    --_material-grid-row-selected-overlay-opacity: 0.16;

    /* Split layout tweaks */
    --_material-split-layout-splitter-background-color: rgba(255, 255, 255, 0.8);

    background-color: var(--material-background-color);
    color: var(--material-body-text-color);
  }

  a {
    color: inherit;
  }
`,{moduleId:"material-color-light"});uk("",u`
  :host {
    /* Text colors */
    --material-body-text-color: var(--dark-theme-text-color, rgba(255, 255, 255, 1));
    --material-secondary-text-color: var(--dark-theme-secondary-color, rgba(255, 255, 255, 0.7));
    --material-disabled-text-color: var(--dark-theme-disabled-color, rgba(255, 255, 255, 0.5));

    /* Primary colors */
    --material-primary-color: var(--light-primary-color, #7e3ff2);
    --material-primary-text-color: #b794f6;

    /* Error colors */
    --material-error-color: var(--error-color, #de2839);
    --material-error-text-color: var(--material-error-color);

    /* Background colors */
    --material-background-color: var(--dark-theme-background-color, #303030);
    --material-secondary-background-color: var(--dark-theme-secondary-background-color, #3b3b3b);
    --material-disabled-color: rgba(255, 255, 255, 0.3);

    /* Divider colors */
    --material-divider-color: rgba(255, 255, 255, 0.12);

    /* Undocumented internal properties (prefixed with three dashes) */

    /* Text field tweaks */
    --_material-text-field-input-line-background-color: #fff;
    --_material-text-field-input-line-opacity: 0.7;
    --_material-text-field-input-line-hover-opacity: 1;
    --_material-text-field-focused-label-opacity: 1;

    /* Button tweaks */
    --_material-button-raised-background-color: rgba(255, 255, 255, 0.08);
    --_material-button-outline-color: rgba(255, 255, 255, 0.2);

    /* Grid tweaks */
    --_material-grid-row-hover-background-color: rgba(255, 255, 255, 0.08);
    --_material-grid-row-selected-overlay-opacity: 0.16;

    /* Split layout tweaks */
    --_material-split-layout-splitter-background-color: rgba(255, 255, 255, 0.8);

    background-color: var(--material-background-color);
    color: var(--material-body-text-color);
  }
`,{moduleId:"material-color-dark"});_k("color-base",u`
  :host {
    /* Text colors */
    --material-body-text-color: var(--light-theme-text-color, rgba(0, 0, 0, 0.87));
    --material-secondary-text-color: var(--light-theme-secondary-color, rgba(0, 0, 0, 0.54));
    --material-disabled-text-color: var(--light-theme-disabled-color, rgba(0, 0, 0, 0.38));

    /* Primary colors */
    --material-primary-color: var(--primary-color, #6200ee);
    --material-primary-contrast-color: var(--dark-theme-base-color, #fff);
    --material-primary-text-color: var(--material-primary-color);

    /* Error colors */
    --material-error-color: var(--error-color, #b00020);
    --material-error-text-color: var(--material-error-color);

    /* Background colors */
    --material-background-color: var(--light-theme-background-color, #fff);
    --material-secondary-background-color: var(--light-theme-secondary-background-color, #f5f5f5);
    --material-disabled-color: rgba(0, 0, 0, 0.26);

    /* Divider colors */
    --material-divider-color: rgba(0, 0, 0, 0.12);
  }
`);_k("font-icons",u`
  @font-face {
    font-family: 'material-icons';
    src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAjAAAsAAAAADaAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAARAAAAFZSk1xEY21hcAAAAYgAAACNAAACNOuCXH5nbHlmAAACGAAABDoAAAX4NWGBxmhlYWQAAAZUAAAAMAAAADZhSa2YaGhlYQAABoQAAAAeAAAAJBGxCLtobXR4AAAGpAAAABMAAABAjXoAAGxvY2EAAAa4AAAAIgAAACIKMAjcbWF4cAAABtwAAAAfAAAAIAEeAFRuYW1lAAAG/AAAATQAAAJe3l764XBvc3QAAAgwAAAAkAAAAMondETCeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYOS4wTiBgZWBga2WbQIDA2MAhGZpYChlymZgYGJgZWbACgLSXFMYHF4xvuJnv/CvgOEG+wXG6UBhRpAcAA0HDXt4nO2R2Q0DIQxEHwt7HzSSGlJQvlJkqqGJjYdJGbH0PPJgELKBEcjBIyiQ3iQUr3BT9zNb9wvP3lPkt3rfkZNy1KXnIXpLvDgxs7DGvZ2Dk4saxxP/OHr+/KqqCZo+08EgzUa7acVoym002lubDNLZIF0M0tUg3Yz22XaD9DD6XTsN0ssgrYb6BZEQJiUAAAB4nH1UXUgcVxS+Z2ZnZpeq7IT9CbTY2Z24o1m72+zPTB/UFSS2MWssTZRs6doqialmy27bPIghPzQttCxjfEhjfGhoUFLBQoVdKixSkofCEkurwQdBgw1NqeCWFrokVt3b3pnRqm3J/Nw598537v3Od869CBC5uFm2EZkRAgl4kQcOuFm1NJcv3R+kBVpQS/dNdzcilH9w80e0F+8EPsiDAjCkUv485SMIgqd8GxHT3dIc8UYUQnjefINLoGfR88RDDIt2F3lFdwXYeVslBF2BBgjzIR/QLt7FzZ7Kb+7Pn5LfkMnDNhrfP++wjexYnlx6Z9fPtTXGZnAyh5hbiEHIApwFJPpD/OYg5TdNqnAJbpFgiGXgWIbp13AgWQhxllFL49RJFcumVWKVxlWY2cI1buHIdE6gV1S4h2WVOsn0qziMw8Ta0iLBLKFnjPk0qDYrlyArluaIJnpD+UmXaSONbu38IO40Qn+9RPQxo/3oEFLIPG6ORRxrdTqQ0yEoMlJkq+RBkod2Sz6QPFalARRZcFaC02HlKoBjaVFLgemrmVwGr0aPHYuCPZOD4VwG7NG2tihezeRmRq8NPaiPROofDF2D5h373etU+VHcwJkJrJDN4b5cFhc0J7Blc3A9lwVbtG1t7T9+OKfbjK00jr89D1r4umZj9IqWcQtFTUMRivQKLoPinhifQ8LTYhTDwbDIB02TM//HxGB5RiuEp1NeP5DPkwQZ+pLa2GQr0D7kRY3ba/+z8C5lQ7qyAV1Zm6EswXKszelwOgKKrMghySN5TJOPlxfwVEcHHFlYhsLyAhzp6MBTC8uPe+KxtEeSPOlY/Lsds+e15qbqmprqpuaxbYOt6IrjicVFPBHv6opD++IitMe7Nir/7WqYtLDHWTeQieyrXssyN4sqUBWqQy8jVMWKgqaivE/RahBYu02PJRhQJFZ0a9zDIcUCcjikxyu6OUkOCloSWIoMBwNaoHYb+8v8I1wsruKRzro7FzGXNi+l12PV3oPD3aeTZ7uzZeWxaEttLZi68Q+yt0YbvZD69acnUPZHAc50Rr4vfYYvCm4d1Nna1wPv/zYClrdhLf3kQJr5ovts8nT3cI23OgMveFuisfLyUh4OpS5oowe9cuH13h6s/v45LsB7cIWt9ba0xlxo114j9QU80IIpyiytf0xNo11nko90SJiCnj3rdvREEFEbEPfm2eEEF8/+nLxqlHNdJFJHSnt0avTmw9rZmvHUucsDycRtn9/vu51IFpN9x/E31DTTnty7B0jh8V+e+zoQ2oJpHi/6TmhYjRalNZa3CLcqVGuw05XX+Gj3do5cAZ1VWC8x4MlRSI6Tq+6+3pGbmcErl+5FPj0/cPgVfY0BxmZUWqS+N1HqxSk8r2+2RxPpT1pfDQam+q0njl/+6IbB3qjBD1LvNB3GD3EKhqCIy9DfIQrMlQAAeJxjYGRgYABiYWGbw/H8Nl8ZuDkTgCIMNaobGhH0v0zO++wXgFwOBiaQKAAHHgoPeJxjYGRgYL/wr4CBgcuKAQg47zMwMqACAQBc2wOEAAB4nGNgYGDgTCAec1mh8gG9VgYDAAAAAAAAGAAwAGIAdgCKAJ4AwAEkATIBcAHcAlQCYgKwAvwAAHicY2BkYGAQYPBgYGEAASYg5gJCBob/YD4DABFeAXMAeJx9kL1uwjAUhU8gUJVIVaWqnRgsVepSEX5G1BkkRgb2EBwIcuLIMUi8QR+kT9CH6NgH6VP0xHiBAVtyvvvdc50oAB7xgwDNCvDgzma1cMfqzG3Ss+eQ/Oq5gwhjz136D889vGPhOcITDrwhCO9p+vj03GL+y3Ob/ttzSP713MEL/jx30Q/guYdV0Pcc4S0wRWKlyRM1yFNd1ku5PajkSl5WK2nqXJdiHI8uG3NZSkOzEeuTqI/bibWZyIwuxEyXViqlRWX0XqY23llbTYfDzPs41QUKJLCQMMhJCgM+U2iUqLGk3/JfKHbMzeSt3sr5mqapBf9/jNHNiTl96XrnzIZTa5x41jjyiya0FhnrjBnNuwRmbrZJK25NU7nenialj7FzUxWmGHJnV/nYvb34BzHZcLZ4nG2M0Q6CMBRDV2CIOhTf/Ak+am5XIdyw5QoS/l4W4ptN2uYkTVWmdt3VfzXIkKOARokDKhxxwhkGNS64osFNXaxIWFoflnGx4s2Oc0xQOcs0eivadeQGs+VHwtgyPaf6B9K/ukk7pjTj4IbKS4jpT9P2JTmtZDa3vn/bB5MvItu1FOJgfTnHVEp9AbKdMX4=)
      format('woff');
    font-weight: normal;
    font-style: normal;
  }

  html {
    --material-icons-arrow-downward: '\\ea01';
    --material-icons-arrow-upward: '\\ea02';
    --material-icons-calendar: '\\ea03';
    --material-icons-check: '\\ea04';
    --material-icons-chevron-left: '\\ea05';
    --material-icons-chevron-right: '\\ea06';
    --material-icons-clear: '\\ea07';
    --material-icons-clock: '\\ea08';
    --material-icons-dropdown: '\\ea09';
    --material-icons-error: '\\ea0a';
    --material-icons-eye: '\\ea0b';
    --material-icons-eye-disabled: '\\ea0c';
    --material-icons-play: '\\ea0d';
    --material-icons-reload: '\\ea0e';
    --material-icons-upload: '\\ea0f';
  }
`);const bk=u`
  :host {
    /* Font family */
    --material-font-family: 'Roboto', sans-serif;

    /* Font sizes */
    --material-h1-font-size: 6rem;
    --material-h2-font-size: 3.75rem;
    --material-h3-font-size: 3rem;
    --material-h4-font-size: 2.125rem;
    --material-h5-font-size: 1.5rem;
    --material-h6-font-size: 1.25rem;
    --material-body-font-size: 1rem;
    --material-small-font-size: 0.875rem;
    --material-button-font-size: 0.875rem;
    --material-caption-font-size: 0.75rem;

    /* Icon size */
    --material-icon-font-size: 20px;
  }
`;if(uk("",u`
  body,
  :host {
    font-family: var(--material-font-family);
    font-size: var(--material-body-font-size);
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: inherit;
    line-height: 1.1;
    margin-top: 1.5em;
  }

  h1 {
    font-size: var(--material-h3-font-size);
    font-weight: 300;
    letter-spacing: -0.015em;
    margin-bottom: 1em;
    text-indent: -0.07em;
  }

  h2 {
    font-size: var(--material-h4-font-size);
    font-weight: 300;
    letter-spacing: -0.01em;
    margin-bottom: 0.75em;
    text-indent: -0.07em;
  }

  h3 {
    font-size: var(--material-h5-font-size);
    font-weight: 400;
    margin-bottom: 0.75em;
    text-indent: -0.05em;
  }

  h4 {
    font-size: var(--material-h6-font-size);
    font-weight: 400;
    letter-spacing: 0.01em;
    margin-bottom: 0.75em;
    text-indent: -0.05em;
  }

  h5 {
    font-size: var(--material-body-font-size);
    font-weight: 500;
    margin-bottom: 0.5em;
    text-indent: -0.025em;
  }

  h6 {
    font-size: var(--material-small-font-size);
    font-weight: 500;
    letter-spacing: 0.01em;
    margin-bottom: 0.25em;
    text-indent: -0.025em;
  }

  a,
  b,
  strong {
    font-weight: 500;
  }
`,{moduleId:"material-typography"}),_k("font",bk),!window.polymerSkipLoadingFontRoboto){const e="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700|Roboto:400,300,300italic,400italic,500,500italic,700,700italic",t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.crossOrigin="anonymous",t.href=e,document.head.appendChild(t)}const wk=u`
  :host {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
    outline: none;
    min-height: 48px;
    padding: 0 24px;
    box-sizing: border-box;
    font-weight: 500;
    font-size: var(--material-small-font-size);
    background-color: var(--material-background-color);
    color: var(--material-body-text-color);
    cursor: default;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :host([disabled]) {
    color: var(--material-disabled-text-color);
    background-color: var(--material-disabled-color);
  }

  [part='content'] {
    margin: 0;
    position: relative;
  }

  [part='toggle'] {
    position: relative;
    order: 1;
    margin-inline-start: auto;
    right: -8px;
    width: 24px;
    height: 24px;
    padding: 4px;
    color: var(--material-secondary-text-color);
    line-height: 24px;
    text-align: center;
    transform: rotate(90deg);
    transition: transform 0.1s cubic-bezier(0.4, 0, 0.2, 0.1);
  }

  [part='toggle']::before {
    font-family: 'material-icons';
    font-size: 24px;
    width: 24px;
    display: inline-block;
    content: var(--material-icons-chevron-right);
  }

  [part='toggle']::after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--material-disabled-text-color);
    transform: scale(0);
    opacity: 0;
    transition: transform 0s 0.8s, opacity 0.8s;
    will-change: transform, opacity;
  }

  :host([disabled]) [part='toggle'] {
    color: var(--material-disabled-color);
  }

  :host([active]:not([disabled])) [part='toggle']::after {
    transition-duration: 0.08s, 0.01s;
    transition-delay: 0s, 0s;
    transform: scale(1.25);
    opacity: 0.15;
  }

  :host([opened]) [part='toggle'] {
    transform: rotate(270deg);
  }

  /* RTL specific styles */
  :host([dir='rtl']) [part='toggle'] {
    right: 8px;
  }

  :host([dir='rtl']) [part='toggle']::after {
    left: auto;
    right: 0;
  }
`;uk("vaadin-details-summary",wk,{moduleId:"material-details-summary"});uk("vaadin-accordion-heading",[wk,u`
  :host(:not([opened]))::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    opacity: 1;
    z-index: 1;
    background-color: var(--material-divider-color);
  }

  :host([opened])::before {
    opacity: 0;
  }

  [part='content'] {
    font-weight: normal;
  }

  [part='content'] ::slotted(*) {
    display: flex;
    margin-right: 16px;
    color: var(--material-body-text-color);
  }

  [part='content'] ::slotted([theme='primary']) {
    flex-basis: 33.33%;
    flex-shrink: 0;
  }

  [part='content'] ::slotted([theme='secondary']) {
    color: var(--material-secondary-text-color);
  }
`],{moduleId:"material-accordion-heading"});let xk=0,kk=0;const Sk=[];let Ak=!1;const Ek={after:e=>({run:t=>window.setTimeout(t,e),cancel(e){window.clearTimeout(e)}}),run:(e,t)=>window.setTimeout(e,t),cancel(e){window.clearTimeout(e)}},Ck={run:e=>window.requestAnimationFrame(e),cancel(e){window.cancelAnimationFrame(e)}},Tk={run:e=>window.requestIdleCallback?window.requestIdleCallback(e):window.setTimeout(e,16),cancel(e){window.cancelIdleCallback?window.cancelIdleCallback(e):window.clearTimeout(e)}},Ik={run(e){Ak||(Ak=!0,queueMicrotask((()=>function(){Ak=!1;const e=Sk.length;for(let t=0;t<e;t++){const e=Sk[t];if(e)try{e()}catch(e){setTimeout((()=>{throw e}))}}Sk.splice(0,e),kk+=e}()))),Sk.push(e);const t=xk;return xk+=1,t},cancel(e){const t=e-kk;if(t>=0){if(!Sk[t])throw new Error(`invalid async handle: ${e}`);Sk[t]=null}}},Dk=!1,Pk=e=>e,Fk="string"==typeof document.head.style.touchAction,Nk="__polymerGestures",Rk="__polymerGesturesHandled",Ok="__polymerGesturesTouchAction",Mk=["mousedown","mousemove","mouseup","click"],Lk=[0,1,4,2],Bk=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}();function zk(e){return Mk.indexOf(e)>-1}let jk=!1;function Hk(e){if(!zk(e)&&"touchend"!==e)return Fk&&jk&&Dk?{passive:!0}:void 0}!function(){try{const e=Object.defineProperty({},"passive",{get(){jk=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();const Uk=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/u),$k={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function Vk(e){const t=e.type;if(!zk(t))return!1;if("mousemove"===t){let t=void 0===e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!Bk&&(t=Lk[e.which]||0),Boolean(1&t)}return 0===(void 0===e.button?0:e.button)}const Wk={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function Gk(e,t,i){e.movefn=t,e.upfn=i,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i)}function qk(e){document.removeEventListener("mousemove",e.movefn),document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}const Yk=window.ShadyDOM&&window.ShadyDOM.noPatch?window.ShadyDOM.composedPath:e=>e.composedPath&&e.composedPath()||[],Kk={},Jk=[];function Zk(e){const t=Yk(e);return t.length>0?t[0]:e.target}function Qk(e){const t=e.type,i=e.currentTarget[Nk];if(!i)return;const n=i[t];if(!n)return;if(!e[Rk]&&(e[Rk]={},t.startsWith("touch"))){const i=e.changedTouches[0];if("touchstart"===t&&1===e.touches.length&&(Wk.touch.id=i.identifier),Wk.touch.id!==i.identifier)return;Fk||"touchstart"!==t&&"touchmove"!==t||function(e){const t=e.changedTouches[0],i=e.type;if("touchstart"===i)Wk.touch.x=t.clientX,Wk.touch.y=t.clientY,Wk.touch.scrollDecided=!1;else if("touchmove"===i){if(Wk.touch.scrollDecided)return;Wk.touch.scrollDecided=!0;const i=function(e){let t="auto";const i=Yk(e);for(let e,n=0;n<i.length;n++)if(e=i[n],e[Ok]){t=e[Ok];break}return t}(e);let n=!1;const r=Math.abs(Wk.touch.x-t.clientX),s=Math.abs(Wk.touch.y-t.clientY);e.cancelable&&("none"===i?n=!0:"pan-x"===i?n=s>r:"pan-y"===i&&(n=r>s)),n?e.preventDefault():nS("track")}}(e)}const r=e[Rk];if(!r.skip){for(let t,i=0;i<Jk.length;i++)t=Jk[i],n[t.name]&&!r[t.name]&&t.flow&&t.flow.start.indexOf(e.type)>-1&&t.reset&&t.reset();for(let i,s=0;s<Jk.length;s++)i=Jk[s],n[i.name]&&!r[i.name]&&(r[i.name]=!0,i[t](e))}}function Xk(e,t,i){return!!Kk[t]&&(function(e,t,i){const n=Kk[t],r=n.deps,s=n.name;let o=e[Nk];o||(e[Nk]=o={});for(let t,i,n=0;n<r.length;n++)t=r[n],Uk&&zk(t)&&"click"!==t||(i=o[t],i||(o[t]=i={_count:0}),0===i._count&&e.addEventListener(t,Qk,Hk(t)),i[s]=(i[s]||0)+1,i._count=(i._count||0)+1);e.addEventListener(t,i),n.touchAction&&tS(e,n.touchAction)}(e,t,i),!0)}function eS(e){Jk.push(e),e.emits.forEach((t=>{Kk[t]=e}))}function tS(e,t){Fk&&e instanceof HTMLElement&&Ik.run((()=>{e.style.touchAction=t})),e[Ok]=t}function iS(e,t,i){const n=new Event(t,{bubbles:!0,cancelable:!0,composed:!0});if(n.detail=i,Pk(e).dispatchEvent(n),n.defaultPrevented){const e=i.preventer||i.sourceEvent;e&&e.preventDefault&&e.preventDefault()}}function nS(e){const t=function(e){for(let t,i=0;i<Jk.length;i++){t=Jk[i];for(let i,n=0;n<t.emits.length;n++)if(i=t.emits[n],i===e)return t}return null}(e);t.info&&(t.info.prevent=!0)}function rS(e,t,i,n){t&&iS(t,e,{x:i.clientX,y:i.clientY,sourceEvent:i,preventer:n,prevent:e=>nS(e)})}function sS(e,t,i){if(e.prevent)return!1;if(e.started)return!0;const n=Math.abs(e.x-t),r=Math.abs(e.y-i);return n>=5||r>=5}function oS(e,t,i){if(!t)return;const n=e.moves[e.moves.length-2],r=e.moves[e.moves.length-1],s=r.x-e.x,o=r.y-e.y;let a,l=0;n&&(a=r.x-n.x,l=r.y-n.y),iS(t,"track",{state:e.state,x:i.clientX,y:i.clientY,dx:s,dy:o,ddx:a,ddy:l,sourceEvent:i,hover:()=>function(e,t){let i=document.elementFromPoint(e,t),n=i;for(;n&&n.shadowRoot&&!window.ShadyDOM;){const r=n;if(n=n.shadowRoot.elementFromPoint(e,t),r===n)break;n&&(i=n)}return i}(i.clientX,i.clientY)})}function aS(e,t,i){const n=Math.abs(t.clientX-e.x),r=Math.abs(t.clientY-e.y),s=Zk(i||t);!s||$k[s.localName]&&s.hasAttribute("disabled")||(isNaN(n)||isNaN(r)||n<=25&&r<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;const t=Zk(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;const i=t.getBoundingClientRect(),n=e.pageX,r=e.pageY;return!(n>=i.left&&n<=i.right&&r>=i.top&&r<=i.bottom)}return!1}(t))&&(e.prevent||iS(s,"tap",{x:t.clientX,y:t.clientY,sourceEvent:t,preventer:i}))}eS({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset(){qk(this.info)},mousedown(e){if(!Vk(e))return;const t=Zk(e),i=this;Gk(this.info,(e=>{Vk(e)||(rS("up",t,e),qk(i.info))}),(e=>{Vk(e)&&rS("up",t,e),qk(i.info)})),rS("down",t,e)},touchstart(e){rS("down",Zk(e),e.changedTouches[0],e)},touchend(e){rS("up",Zk(e),e.changedTouches[0],e)}}),eS({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove(e){this.moves.length>2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,qk(this.info)},mousedown(e){if(!Vk(e))return;const t=Zk(e),i=this,n=e=>{const n=e.clientX,r=e.clientY;sS(i.info,n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&nS("tap"),i.info.addMove({x:n,y:r}),Vk(e)||(i.info.state="end",qk(i.info)),t&&oS(i.info,t,e),i.info.started=!0)};Gk(this.info,n,(e=>{i.info.started&&n(e),qk(i.info)})),this.info.x=e.clientX,this.info.y=e.clientY},touchstart(e){const t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove(e){const t=Zk(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;sS(this.info,n,r)&&("start"===this.info.state&&nS("tap"),this.info.addMove({x:n,y:r}),oS(this.info,t,i),this.info.state="track",this.info.started=!0)},touchend(e){const t=Zk(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),oS(this.info,t,i))}}),eS({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown(e){Vk(e)&&(this.info.x=e.clientX,this.info.y=e.clientY)},click(e){Vk(e)&&aS(this.info,e)},touchstart(e){const t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchend(e){aS(this.info,e.changedTouches[0],e)}});const lS=ci((e=>class extends e{static get properties(){return{disabled:{type:Boolean,value:!1,observer:"_disabledChanged",reflectToAttribute:!0}}}_disabledChanged(e){this._setAriaDisabled(e)}_setAriaDisabled(e){e?this.setAttribute("aria-disabled","true"):this.removeAttribute("aria-disabled")}click(){this.disabled||super.click()}})),dS=ci((e=>class extends e{ready(){super.ready(),this.addEventListener("keydown",(e=>{this._onKeyDown(e)})),this.addEventListener("keyup",(e=>{this._onKeyUp(e)}))}_onKeyDown(e){switch(e.key){case"Enter":this._onEnter(e);break;case"Escape":this._onEscape(e)}}_onKeyUp(e){}_onEnter(e){}_onEscape(e){}})),cS=e=>class extends(lS(dS(e))){get _activeKeys(){return[" "]}ready(){super.ready(),Xk(this,"down",(e=>{this._shouldSetActive(e)&&this._setActive(!0)})),Xk(this,"up",(()=>{this._setActive(!1)}))}disconnectedCallback(){super.disconnectedCallback(),this._setActive(!1)}_shouldSetActive(e){return!this.disabled}_onKeyDown(e){super._onKeyDown(e),this._shouldSetActive(e)&&this._activeKeys.includes(e.key)&&(this._setActive(!0),document.addEventListener("keyup",(e=>{this._activeKeys.includes(e.key)&&this._setActive(!1)}),{once:!0}))}_setActive(e){this.toggleAttribute("active",e)}},hS=[];function uS(e,t,i=e.getAttribute("dir")){t?e.setAttribute("dir",t):null!=i&&e.removeAttribute("dir")}function pS(){return document.documentElement.getAttribute("dir")}const gS=new MutationObserver((function(){const e=pS();hS.forEach((t=>{uS(t,e)}))}));gS.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]});const mS=e=>class extends e{static get properties(){return{dir:{type:String,value:"",reflectToAttribute:!0,converter:{fromAttribute:e=>e||"",toAttribute:e=>""===e?null:e}}}}get __isRTL(){return"rtl"===this.getAttribute("dir")}connectedCallback(){super.connectedCallback(),this.hasAttribute("dir")&&!this.__restoreSubscription||(this.__subscribe(),uS(this,pS(),null))}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),"dir"!==e)return;const n=pS(),r=i===n&&-1===hS.indexOf(this),s=!i&&t&&-1===hS.indexOf(this),o=i!==n&&t===n;r||s?(this.__subscribe(),uS(this,n,i)):o&&this.__unsubscribe()}disconnectedCallback(){super.disconnectedCallback(),this.__restoreSubscription=hS.includes(this),this.__unsubscribe()}_valueToNodeAttribute(e,t,i){("dir"!==i||""!==t||e.hasAttribute("dir"))&&super._valueToNodeAttribute(e,t,i)}_attributeToProperty(e,t,i){"dir"!==e||t?super._attributeToProperty(e,t,i):this.dir=""}__subscribe(){hS.includes(this)||hS.push(this)}__unsubscribe(){hS.includes(this)&&hS.splice(hS.indexOf(this),1)}};uk("vaadin-accordion-heading",u`
  :host {
    display: block;
    outline: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }

  :host([hidden]) {
    display: none !important;
  }

  button {
    display: flex;
    align-items: center;
    justify-content: inherit;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: initial;
    color: inherit;
    border: initial;
    outline: none;
    font: inherit;
    text-align: inherit;
  }
`,{moduleId:"vaadin-accordion-heading-styles"});class fS extends(cS(mS(yk(vo)))){static get is(){return"vaadin-accordion-heading"}static get template(){return fo`
      <button id="button" part="content" disabled$="[[disabled]]" aria-expanded$="[[__updateAriaExpanded(opened)]]">
        <span part="toggle" aria-hidden="true"></span>
        <slot></slot>
      </button>
    `}static get properties(){return{opened:{type:Boolean,reflectToAttribute:!0}}}_attachDom(e){const t=this.attachShadow({mode:"open",delegatesFocus:!0});return t.appendChild(e),t}ready(){super.ready(),this.hasAttribute("role")||this.setAttribute("role","heading")}__updateAriaExpanded(e){return e?"true":"false"}}ak(fS);_k("shadow",u`
  /* prettier-ignore */
  :host {
    /* from http://codepen.io/shyndman/pen/c5394ddf2e8b2a5c9185904b57421cdb */
    --material-shadow-elevation-2dp: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    --material-shadow-elevation-3dp: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12), 0 3px 3px -2px rgba(0, 0, 0, 0.4);
    --material-shadow-elevation-4dp: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.4);
    --material-shadow-elevation-6dp: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.4);
    --material-shadow-elevation-8dp: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.4);
    --material-shadow-elevation-12dp: 0 12px 16px 1px rgba(0, 0, 0, 0.14), 0 4px 22px 3px rgba(0, 0, 0, 0.12), 0 6px 7px -4px rgba(0, 0, 0, 0.4);
    --material-shadow-elevation-16dp: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.4);
    --material-shadow-elevation-24dp: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.4);
  }
`);const yS=u`
  :host {
    font-family: var(--material-font-family);
    box-shadow: var(--material-shadow-elevation-2dp);
    outline: none;
  }

  :host([focus-ring]) ::slotted([slot='summary']) {
    background-color: var(--material-secondary-background-color);
  }

  [part='content'] {
    padding: 8px 24px 24px;
  }
`;uk("vaadin-details",yS,{moduleId:"material-details"});uk("vaadin-accordion-panel",[yS,u`
  :host([opened]:not(:first-child)) {
    margin-top: 16px;
  }

  :host([opened]:not(:last-child)) {
    margin-bottom: 16px;
  }
`],{moduleId:"material-accordion-panel"});let vS=!1;function _S(){let e=document.activeElement||document.body;for(;e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function bS(){return vS}function wS(e){const t=e.style;if("hidden"===t.visibility||"none"===t.display)return!0;const i=window.getComputedStyle(e);return"hidden"===i.visibility||"none"===i.display}function xS(e,t){const i=Math.max(e.tabIndex,0),n=Math.max(t.tabIndex,0);return 0===i||0===n?n>i:i>n}function kS(e){const t=e.length;if(t<2)return e;const i=Math.ceil(t/2);return function(e,t){const i=[];for(;e.length>0&&t.length>0;)xS(e[0],t[0])?i.push(t.shift()):i.push(e.shift());return i.concat(e,t)}(kS(e.slice(0,i)),kS(e.slice(i)))}function SS(e){return null===e.offsetParent&&0===e.clientWidth&&0===e.clientHeight||wS(e)}function AS(e){return e.getRootNode().activeElement===e}function ES(e,t){if(e.nodeType!==Node.ELEMENT_NODE||wS(e))return!1;const i=e,n=function(e){if(!function(e){return!e.matches('[tabindex="-1"]')&&(e.matches("input, select, textarea, button, object")?e.matches(":not([disabled])"):e.matches("a[href], area[href], iframe, [tabindex], [contentEditable]"))}(e))return-1;const t=e.getAttribute("tabindex")||0;return Number(t)}(i);let r=n>0;n>=0&&t.push(i);let s=[];return s="slot"===i.localName?i.assignedNodes({flatten:!0}):(i.shadowRoot||i).children,[...s].forEach((e=>{r=ES(e,t)||r})),r}window.addEventListener("keydown",(()=>{vS=!0}),{capture:!0}),window.addEventListener("mousedown",(()=>{vS=!1}),{capture:!0});const CS=ci((e=>class extends e{get _keyboardActive(){return bS()}ready(){this.addEventListener("focusin",(e=>{this._shouldSetFocus(e)&&this._setFocused(!0)})),this.addEventListener("focusout",(e=>{this._shouldRemoveFocus(e)&&this._setFocused(!1)})),super.ready()}disconnectedCallback(){super.disconnectedCallback(),this.hasAttribute("focused")&&this._setFocused(!1)}_setFocused(e){this.toggleAttribute("focused",e),this.toggleAttribute("focus-ring",e&&this._keyboardActive)}_shouldSetFocus(e){return!0}_shouldRemoveFocus(e){return!0}})),TS=e=>class extends(lS(e)){static get properties(){return{tabindex:{type:Number,reflectToAttribute:!0,observer:"_tabindexChanged"},_lastTabIndex:{type:Number}}}_disabledChanged(e,t){super._disabledChanged(e,t),e?(void 0!==this.tabindex&&(this._lastTabIndex=this.tabindex),this.tabindex=-1):t&&(this.tabindex=this._lastTabIndex)}_tabindexChanged(e){this.disabled&&-1!==e&&(this._lastTabIndex=e,this.tabindex=-1)}},IS=ci((e=>class extends(CS(TS(e))){static get properties(){return{autofocus:{type:Boolean},focusElement:{type:Object,readOnly:!0,observer:"_focusElementChanged"},_lastTabIndex:{value:0}}}constructor(){super(),this._boundOnBlur=this._onBlur.bind(this),this._boundOnFocus=this._onFocus.bind(this)}ready(){super.ready(),this.autofocus&&!this.disabled&&requestAnimationFrame((()=>{this.focus(),this.setAttribute("focus-ring","")}))}focus(){this.focusElement&&!this.disabled&&this.focusElement.focus()}blur(){this.focusElement&&this.focusElement.blur()}click(){this.focusElement&&!this.disabled&&this.focusElement.click()}_focusElementChanged(e,t){e?(e.disabled=this.disabled,this._addFocusListeners(e),this.__forwardTabIndex(this.tabindex)):t&&this._removeFocusListeners(t)}_addFocusListeners(e){e.addEventListener("blur",this._boundOnBlur),e.addEventListener("focus",this._boundOnFocus)}_removeFocusListeners(e){e.removeEventListener("blur",this._boundOnBlur),e.removeEventListener("focus",this._boundOnFocus)}_onFocus(e){e.stopPropagation(),this.dispatchEvent(new Event("focus"))}_onBlur(e){e.stopPropagation(),this.dispatchEvent(new Event("blur"))}_shouldSetFocus(e){return e.target===this.focusElement}_shouldRemoveFocus(e){return e.target===this.focusElement}_disabledChanged(e,t){super._disabledChanged(e,t),this.focusElement&&(this.focusElement.disabled=e),e&&this.blur()}_tabindexChanged(e){this.__forwardTabIndex(e)}__forwardTabIndex(e){void 0!==e&&this.focusElement&&(this.focusElement.tabIndex=e,-1!==e&&(this.tabindex=void 0)),this.disabled&&e&&(-1!==e&&(this._lastTabIndex=e),this.tabindex=void 0)}})),DS=ci((e=>"function"==typeof e.prototype.addController?e:class extends e{constructor(){super(),this.__controllers=new Set}connectedCallback(){super.connectedCallback(),this.__controllers.forEach((e=>{e.hostConnected&&e.hostConnected()}))}disconnectedCallback(){super.disconnectedCallback(),this.__controllers.forEach((e=>{e.hostDisconnected&&e.hostDisconnected()}))}addController(e){this.__controllers.add(e),void 0!==this.$&&this.isConnected&&e.hostConnected&&e.hostConnected()}removeController(e){this.__controllers.delete(e)}})),PS=ci((e=>class extends e{static get properties(){return{stateTarget:{type:Object,observer:"_stateTargetChanged"}}}static get delegateAttrs(){return[]}static get delegateProps(){return[]}ready(){super.ready(),this._createDelegateAttrsObserver(),this._createDelegatePropsObserver()}_stateTargetChanged(e){e&&(this._ensureAttrsDelegated(),this._ensurePropsDelegated())}_createDelegateAttrsObserver(){this._createMethodObserver(`_delegateAttrsChanged(${this.constructor.delegateAttrs.join(", ")})`)}_createDelegatePropsObserver(){this._createMethodObserver(`_delegatePropsChanged(${this.constructor.delegateProps.join(", ")})`)}_ensureAttrsDelegated(){this.constructor.delegateAttrs.forEach((e=>{this._delegateAttribute(e,this[e])}))}_ensurePropsDelegated(){this.constructor.delegateProps.forEach((e=>{this._delegateProperty(e,this[e])}))}_delegateAttrsChanged(...e){this.constructor.delegateAttrs.forEach(((t,i)=>{this._delegateAttribute(t,e[i])}))}_delegatePropsChanged(...e){this.constructor.delegateProps.forEach(((t,i)=>{this._delegateProperty(t,e[i])}))}_delegateAttribute(e,t){this.stateTarget&&("invalid"===e&&this._delegateAttribute("aria-invalid",!!t&&"true"),"boolean"==typeof t?this.stateTarget.toggleAttribute(e,t):t?this.stateTarget.setAttribute(e,t):this.stateTarget.removeAttribute(e))}_delegateProperty(e,t){this.stateTarget&&(this.stateTarget[e]=t)}}));function FS(e){const t=[];let i;return"slot"===e.localName?i=e.assignedElements():(t.push(e),i=[...e.children]),i.forEach((e=>t.push(...FS(e)))),t}function NS(e,t){return t?t.closest(e)||NS(e,t.getRootNode().host):null}function RS(e){return e?new Set(e.split(" ")):new Set}function OS(e){return e?[...e].join(" "):""}function MS(e,t,i){const n=RS(e.getAttribute(t));n.add(i),e.setAttribute(t,OS(n))}function LS(e,t,i){const n=RS(e.getAttribute(t));n.delete(i),0!==n.size?e.setAttribute(t,OS(n)):e.removeAttribute(t)}class BS{constructor(e,t){this.slot=e,this.callback=t,this._storedNodes=[],this._connected=!1,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){this.slot.addEventListener("slotchange",this._boundSchedule),this._connected=!0}disconnect(){this.slot.removeEventListener("slotchange",this._boundSchedule),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,queueMicrotask((()=>{this.flush()})))}flush(){this._connected&&(this._scheduled=!1,this._processNodes())}_processNodes(){const e=this.slot.assignedNodes({flatten:!0});let t=[];const i=[],n=[];e.length&&(t=e.filter((e=>!this._storedNodes.includes(e)))),this._storedNodes.length&&this._storedNodes.forEach(((t,r)=>{const s=e.indexOf(t);-1===s?i.push(t):s!==r&&n.push(t)})),(t.length||i.length||n.length)&&this.callback({addedNodes:t,movedNodes:n,removedNodes:i}),this._storedNodes=e}}let zS=0;function jS(){return zS++}class HS extends EventTarget{static generateId(e,t){return`${t||"default"}-${e.localName}-${jS()}`}constructor(e,t,i,n={}){super();const{initializer:r,multiple:s,observe:o,useUniqueId:a}=n;this.host=e,this.slotName=t,this.tagName=i,this.observe="boolean"!=typeof o||o,this.multiple="boolean"==typeof s&&s,this.slotInitializer=r,s&&(this.nodes=[]),a&&(this.defaultId=this.constructor.generateId(e,t))}hostConnected(){this.initialized||(this.multiple?this.initMultiple():this.initSingle(),this.observe&&this.observeSlot(),this.initialized=!0)}initSingle(){let e=this.getSlotChild();e?(this.node=e,this.initAddedNode(e)):(e=this.attachDefaultNode(),this.initNode(e))}initMultiple(){const e=this.getSlotChildren();if(0===e.length){const e=this.attachDefaultNode();e&&(this.nodes=[e],this.initNode(e))}else this.nodes=e,e.forEach((e=>{this.initAddedNode(e)}))}attachDefaultNode(){const{host:e,slotName:t,tagName:i}=this;let n=this.defaultNode;return!n&&i&&(n=document.createElement(i),n instanceof Element&&(""!==t&&n.setAttribute("slot",t),this.node=n,this.defaultNode=n)),n&&e.appendChild(n),n}getSlotChildren(){const{slotName:e}=this;return Array.from(this.host.childNodes).filter((t=>t.nodeType===Node.ELEMENT_NODE&&t.slot===e||t.nodeType===Node.TEXT_NODE&&t.textContent.trim()&&""===e))}getSlotChild(){return this.getSlotChildren()[0]}initNode(e){const{slotInitializer:t}=this;t&&t(e,this.host)}initCustomNode(e){}teardownNode(e){}initAddedNode(e){e!==this.defaultNode&&(this.initCustomNode(e),this.initNode(e))}observeSlot(){const{slotName:e}=this,t=""===e?"slot:not([name])":`slot[name=${e}]`,i=this.host.shadowRoot.querySelector(t);this.__slotObserver=new BS(i,(({addedNodes:e,removedNodes:t})=>{const i=this.multiple?this.nodes:[this.node],n=e.filter((e=>!function(e){return e.nodeType===Node.TEXT_NODE&&""===e.textContent.trim()}(e)&&!i.includes(e)));t.length&&(this.nodes=i.filter((e=>!t.includes(e))),t.forEach((e=>{this.teardownNode(e)}))),n&&n.length>0&&(this.multiple?(this.defaultNode&&this.defaultNode.remove(),this.nodes=[...i,...n].filter((e=>e!==this.defaultNode)),n.forEach((e=>{this.initAddedNode(e)}))):(this.node&&this.node.remove(),this.node=n[0],this.initAddedNode(this.node)))}))}}class US extends HS{constructor(e){super(e,"tooltip"),this.setTarget(e)}initCustomNode(e){e.target=this.target,void 0!==this.ariaTarget&&(e.ariaTarget=this.ariaTarget),void 0!==this.context&&(e.context=this.context),void 0!==this.manual&&(e.manual=this.manual),void 0!==this.opened&&(e.opened=this.opened),void 0!==this.position&&(e._position=this.position),void 0!==this.shouldShow&&(e.shouldShow=this.shouldShow),this.__notifyChange()}teardownNode(){this.__notifyChange()}setAriaTarget(e){this.ariaTarget=e;const t=this.node;t&&(t.ariaTarget=e)}setContext(e){this.context=e;const t=this.node;t&&(t.context=e)}setManual(e){this.manual=e;const t=this.node;t&&(t.manual=e)}setOpened(e){this.opened=e;const t=this.node;t&&(t.opened=e)}setPosition(e){this.position=e;const t=this.node;t&&(t._position=e)}setShouldShow(e){this.shouldShow=e;const t=this.node;t&&(t.shouldShow=e)}setTarget(e){this.target=e;const t=this.node;t&&(t.target=e)}__notifyChange(){this.dispatchEvent(new CustomEvent("tooltip-changed",{detail:{node:this.node}}))}}class $S extends HS{constructor(e,t,i,n={}){super(e,t,i,{...n,useUniqueId:!0})}initCustomNode(e){this.__updateNodeId(e),this.__notifyChange(e)}teardownNode(e){const t=this.getSlotChild();t&&t!==this.defaultNode?this.__notifyChange(t):(this.restoreDefaultNode(),this.updateDefaultNode(this.node))}attachDefaultNode(){const e=super.attachDefaultNode();return e&&this.__updateNodeId(e),e}restoreDefaultNode(){}updateDefaultNode(e){this.__notifyChange(e)}observeNode(e){this.__nodeObserver&&this.__nodeObserver.disconnect(),this.__nodeObserver=new MutationObserver((e=>{e.forEach((e=>{const t=e.target,i=t===this.node;"attributes"===e.type?i&&this.__updateNodeId(t):(i||t.parentElement===this.node)&&this.__notifyChange(this.node)}))})),this.__nodeObserver.observe(e,{attributes:!0,attributeFilter:["id"],childList:!0,subtree:!0,characterData:!0})}__hasContent(e){return!!e&&(e.nodeType===Node.ELEMENT_NODE&&(customElements.get(e.localName)||e.children.length>0)||e.textContent&&""!==e.textContent.trim())}__notifyChange(e){this.dispatchEvent(new CustomEvent("slot-content-changed",{detail:{hasContent:this.__hasContent(e),node:e}}))}__updateNodeId(e){const t=!this.nodes||e===this.nodes[0];e.nodeType!==Node.ELEMENT_NODE||this.multiple&&!t||e.id||(e.id=this.defaultId)}}class VS extends $S{static generateId(e){return super.generateId(e,"content")}constructor(e){super(e,"",null,{multiple:!0})}}const WS=e=>class extends e{static get properties(){return{opened:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0},_contentElements:{type:Array}}}static get observers(){return["_openedOrContentChanged(opened, _contentElements)"]}constructor(){super(),this._contentController=new VS(this),this._contentController.addEventListener("slot-content-changed",(e=>{const t=e.target.nodes||[];this._contentElements=t.filter((e=>e.parentNode===this))}))}ready(){super.ready(),this.addController(this._contentController),this.addEventListener("click",(({target:e})=>{if(this.disabled)return;if("a"===e.localName)return;const t=this.focusElement;t&&(e===t||t.contains(e))&&(this.opened=!this.opened)}))}_openedOrContentChanged(e,t){t&&t.forEach((t=>{t.setAttribute("aria-hidden",e?"false":"true")}))}};class GS extends $S{constructor(e,t){super(e,"summary",t)}setSummary(e){this.summary=e;this.getSlotChild()||this.restoreDefaultNode(),this.node===this.defaultNode&&this.updateDefaultNode(this.node)}restoreDefaultNode(){const{summary:e}=this;e&&""!==e.trim()&&this.attachDefaultNode()}updateDefaultNode(e){e&&(e.textContent=this.summary),super.updateDefaultNode(e)}}uk("vaadin-accordion-panel",u`
  :host {
    display: block;
  }

  :host([hidden]) {
    display: none !important;
  }

  [part='content'] {
    display: none;
    overflow: hidden;
  }

  :host([opened]) [part='content'] {
    display: block;
    overflow: visible;
  }
`,{moduleId:"vaadin-accordion-panel-styles"});class qS extends(WS(IS(PS(yk(DS(vo)))))){static get is(){return"vaadin-accordion-panel"}static get template(){return fo`
      <slot name="summary"></slot>

      <div part="content">
        <slot></slot>
      </div>

      <slot name="tooltip"></slot>
    `}static get properties(){return{summary:{type:String,observer:"_summaryChanged"}}}static get observers(){return["__updateAriaAttributes(focusElement, _contentElements)"]}static get delegateAttrs(){return["theme"]}static get delegateProps(){return["disabled","opened"]}constructor(){super(),this._summaryController=new GS(this,"vaadin-accordion-heading"),this._summaryController.addEventListener("slot-content-changed",(e=>{const{node:t}=e.target;this._setFocusElement(t),this.stateTarget=t,this._tooltipController.setTarget(t)})),this._tooltipController=new US(this),this._tooltipController.setPosition("bottom-start")}ready(){super.ready(),this.addController(this._summaryController),this.addController(this._tooltipController)}_setAriaDisabled(){}_summaryChanged(e){this._summaryController.setSummary(e)}__updateAriaAttributes(e,t){if(e&&t){const i=t[0];i&&(i.setAttribute("role","region"),i.setAttribute("aria-labelledby",e.id)),i&&i.id?e.setAttribute("aria-controls",i.id):e.removeAttribute("aria-controls")}}}ak(qS);const YS=e=>class extends(dS(e)){get focused(){return(this._getItems()||[]).find(AS)}get _vertical(){return!0}focus(){const e=this._getItems();if(Array.isArray(e)){const t=this._getAvailableIndex(e,0,null,(e=>!SS(e)));t>=0&&this._focus(t)}}_getItems(){return Array.from(this.children)}_onKeyDown(e){if(super._onKeyDown(e),e.metaKey||e.ctrlKey)return;const{key:t}=e,i=this._getItems()||[],n=i.indexOf(this.focused);let r,s;const o=!this._vertical&&"rtl"===this.getAttribute("dir")?-1:1;this.__isPrevKey(t)?(s=-o,r=n-o):this.__isNextKey(t)?(s=o,r=n+o):"Home"===t?(s=1,r=0):"End"===t&&(s=-1,r=i.length-1),r=this._getAvailableIndex(i,r,s,(e=>!SS(e))),r>=0&&(e.preventDefault(),this._focus(r,!0))}__isPrevKey(e){return this._vertical?"ArrowUp"===e:"ArrowLeft"===e}__isNextKey(e){return this._vertical?"ArrowDown"===e:"ArrowRight"===e}_focus(e,t=!1){const i=this._getItems();this._focusItem(i[e],t)}_focusItem(e){e&&(e.focus(),e.setAttribute("focus-ring",""))}_getAvailableIndex(e,t,i,n){const r=e.length;let s=t;for(let t=0;"number"==typeof s&&t<r;t+=1,s+=i||1){s<0?s=r-1:s>=r&&(s=0);const t=e[s];if(!t.hasAttribute("disabled")&&this.__isMatchingItem(t,n))return s}return-1}__isMatchingItem(e,t){return"function"!=typeof t||t(e)}},KS=/\/\*[\*!]\s+vaadin-dev-mode:start([\s\S]*)vaadin-dev-mode:end\s+\*\*\//i,JS=window.Vaadin&&window.Vaadin.Flow&&window.Vaadin.Flow.clients;function ZS(e,t){if("function"!=typeof e)return;const i=KS.exec(e.toString());if(i)try{e=new Function(i[1])}catch(e){console.log("vaadin-development-mode-detector: uncommentAndRun() failed",e)}return e(t)}window.Vaadin=window.Vaadin||{};const QS=function(e,t){if(window.Vaadin.developmentMode)return ZS(e,t)};function XS(){}void 0===window.Vaadin.developmentMode&&(window.Vaadin.developmentMode=function(){try{return!!localStorage.getItem("vaadin.developmentmode.force")||["localhost","127.0.0.1"].indexOf(window.location.hostname)>=0&&(JS?!(JS&&Object.keys(JS).map((e=>JS[e])).filter((e=>e.productionMode)).length>0):!ZS((function(){return!0})))}catch(e){return!1}}());const eA=function(){return QS(XS)},tA=new Set;class iA{static debounce(e,t,i){return e instanceof iA?e._cancelAsync():e=new iA,e.setConfig(t,i),e}constructor(){this._asyncModule=null,this._callback=null,this._timer=null}setConfig(e,t){this._asyncModule=e,this._callback=t,this._timer=this._asyncModule.run((()=>{this._timer=null,tA.delete(this),this._callback()}))}cancel(){this.isActive()&&(this._cancelAsync(),tA.delete(this))}_cancelAsync(){this.isActive()&&(this._asyncModule.cancel(this._timer),this._timer=null)}flush(){this.isActive()&&(this.cancel(),this._callback())}isActive(){return null!=this._timer}}function nA(e){tA.add(e)}function rA(){const e=Boolean(tA.size);return tA.forEach((e=>{try{e.flush()}catch(e){setTimeout((()=>{throw e}))}})),e}const sA=()=>{let e;do{e=rA()}while(e)};let oA;ni(!1),window.Vaadin||(window.Vaadin={}),window.Vaadin.registrations||(window.Vaadin.registrations=[]),window.Vaadin.developmentModeCallback||(window.Vaadin.developmentModeCallback={}),window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]=function(){eA()};const aA=new Set,lA=e=>class extends(mS(e)){static finalize(){super.finalize();const{is:e}=this;e&&!aA.has(e)&&(window.Vaadin.registrations.push(this),aA.add(e),window.Vaadin.developmentModeCallback&&(oA=iA.debounce(oA,Tk,(()=>{window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]()})),nA(oA)))}constructor(){super(),null===document.doctype&&console.warn('Vaadin components require the "standards mode" declaration. Please add <!DOCTYPE html> to the HTML document.')}};class dA extends(YS(yk(lA(vo)))){static get template(){return fo`
      <style>
        :host {
          display: block;
        }

        :host([hidden]) {
          display: none !important;
        }
      </style>
      <slot></slot>
    `}static get is(){return"vaadin-accordion"}static get properties(){return{opened:{type:Number,value:0,notify:!0,reflectToAttribute:!0},items:{type:Array,readOnly:!0,notify:!0}}}static get observers(){return["_updateItems(items, opened)"]}constructor(){super(),this._boundUpdateOpened=this._updateOpened.bind(this)}get focused(){return(this._getItems()||[]).find((e=>AS(e.focusElement)))}focus(){this._observer&&this._observer.flush(),super.focus()}ready(){super.ready();const e=this.shadowRoot.querySelector("slot");this._observer=new BS(e,(e=>{this._setItems(this._filterItems(Array.from(this.children))),this._filterItems(e.addedNodes).forEach((e=>{e.addEventListener("opened-changed",this._boundUpdateOpened)}))}))}_getItems(){return this.items}_filterItems(e){return e.filter((e=>e instanceof qS))}_updateItems(e,t){if(e){const i=e[t];e.forEach((e=>{e.opened=e===i}))}}_onKeyDown(e){this.items.some((t=>t.focusElement===e.target))&&super._onKeyDown(e)}_updateOpened(e){const t=this._filterItems(e.composedPath())[0],i=this.items.indexOf(t);if(e.detail.value){if(t.disabled||-1===i)return;this.opened=i}else this.items.some((e=>e.opened))||(this.opened=null)}}ak(dA);const cA=u`
/* LAYOUTS */
:host {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* color: var(--text-primary); */
}

/* MOBILE STYLING */
@media only screen and (max-width: 767px) {
  /* For mobile phones: */
  :host(.hideOnMobile),
  .hideOnMobile {
    display: none;
  }
}

/* DEFAULT */
h1 {
  font-size: 28px;
  line-height: 45px;
  font-weight: 400;
}

h2 {
  font-size: 24px;
  line-height: 31px;
  font-weight: 400;
}

h3 {
  font-size: 20px;
  line-height: 26px;
  font-weight: 400;
}

h4 {
  font-size: 18px;
  line-height: 23px;
  font-weight: 400;
}

`;let hA=class extends ve{constructor(){super(...arguments),this.colored=!1,this.noPadding=!1,this.contentTop=!1,this.minHeight="auto"}render(){return Z`

<vaadin-accordion><slot></slot></vaadin-accordion>
    `}firstUpdated(){this.style.setProperty("--sdb-accordionitem-min-height",this.minHeight)}};hA.styles=[cA,u`
    :host {
      display: block;
      position: relative;
      background:white;
      padding: 0;
      width:100%;

      /* OVERRULE MATERIAL DESIGN SHADOW */
      --material-shadow-elevation-2dp:none;
      --material-shadow-elevation-3dp:none;
      --material-shadow-elevation-4dp:none;
      --material-shadow-elevation-6dp:none;
      --material-shadow-elevation-8dp:none;
      --material-shadow-elevation-12dp:none;
      --material-shadow-elevation-16dp:none;
      --material-shadow-elevation-24dp:none;
    }

    :host vaadin-accordion{
      display:block;
      width:100%;
    }

    :host([colored]) {
      --sdb-accordion-background-opened: var(--theme-tertiary);
      --sdb-accordion-foreground-opened: var(--text-light);
      --sdb-accordion-toggle-opened: #ffffff;
    }

    :host *{
      font-family:'Source Sans Pro', sans-serif !important;
      font-size:16px;
    }

    :host([separator]) {
      --sdb-accordion-separator: var(--element-lightgrey);
    }

    :host ::sdb-content-accordionitem:first-of-type > ::vaadin-accordion-panel{
      padding-top:10px;
    }

    /* Set padding for items and heading */

    :host{
        --sdb-accordionheading-after-left:20px;
        --sdb-accordionheading-after-width:40px;
        --sdb-accordionheading-padding-left: 30px;
        --sdb-accordionheading-padding-right:70px;
        --sdb-accordionitem-before-after-height:10px;
        --sdb-accordionitem-vaadin-accordion-panel-padding:20px;
        --sdb-accordionitem-summary-padding:10px;
        --sdb-accordionitem-summary-vertical-padding:15px;
        --sdb-accordionitem-icon-justify:start;
        --sdb-accordionitem-icon-align:start;
        --sdb-accordionitem-icon-padding-left:10px;
        --sdb-accordionitem-main-justify: center;
        --sdb-accordionitem-main-align: center;
        --sdb-accordionitem-min-height:auto;
    }

    :host([noPadding]){ /*removed compensation to match padding of vaadin-accordion-panel */
        --sdb-accordionheading-after-left:0;
        --sdb-accordionheading-after-width:0;
        --sdb-accordionheading-padding-left: 0;
        --sdb-accordionheading-padding-right:50px;
        --sdb-accordionitem-before-after-height:0;
        --sdb-accordionitem-vaadin-accordion-panel-padding:0;
        --sdb-accordionitem-summary-padding:0;
        --sdb-accordionitem-summary-vertical-padding:0;
    }

    :host([centerIcons]){
        --sdb-accordionitem-icon-justify:center;
        --sdb-accordionitem-icon-align:center;
        --sdb-accordionitem-icon-padding-left:0;
    }

    :host([contentTop]){
        --sdb-accordionitem-content-align: start;
        --sdb-accordionitem-main-justify: start;
        --sdb-accordionitem-main-align: start;
    }


  `],Aw([ke({type:Boolean})],hA.prototype,"colored",void 0),Aw([ke({type:Boolean})],hA.prototype,"noPadding",void 0),Aw([ke({type:Boolean})],hA.prototype,"contentTop",void 0),Aw([ke({type:String})],hA.prototype,"minHeight",void 0),hA=Aw([be("sdb-content-accordion")],hA);class uA{static registerAllStyles(){uA.stylesRegistered||(uA.stylesRegistered=!0,uk("vaadin-details",u`
                :host(.sdb-content-collapsablecard[transparent]) [part='summary']{
                    background-color:transparent;
                }

                :host(.sdb-content-collapsablecard) [part='summary'] {
                    padding: 0;
                    cursor:pointer;
                }

                :host(.sdb-content-collapsablecard) [part='summary-content'] {
                    margin: 1em 0;
                }

                :host(.sdb-content-collapsablecard) [part='toggle'] {
                    margin: 5px;
                }

                :host(.sdb-content-collapsablecard) [part='toggle']::before {
                    font-size: 30px;
                }

                :host(.sdb-content-collapsablecard) [part='summary'],
                :host(.sdb-content-collapsablecard) [part='content'],
                :host(.sdb-content-collapsablecard) [part='summary-content'] ::slotted(*) {
                    font-size: 16px;
                    font-family: var(--font-family);
                    color: var(--var-text-primary);
                }
            `),uk("vaadin-accordion-panel",u`
                :host(.sdb-content-accordionitem) ::slotted([slot='summary']) {
                    align-items: start;

                    /* vaadin uses !important, so we have to do the same :( */
                    padding: var(--sdb-accordionitem-summary-vertical-padding) 0px var(--sdb-accordionitem-summary-vertical-padding) var(--sdb-accordionitem-summary-padding) !important;
                }

                :host(.sdb-content-accordionitem) [part='toggle'] {
                    /*color:var(--btn-tertiary);
      margin: 0;
      cursor:pointer;
      align-self: start;*/
                    display: none;
                }

                :host(.sdb-content-accordionitem) ::slotted([slot='summary']):hover{
                    background-color: var(--sdb-accordion-background-hover,#ffffff);
                }

                :host(.sdb-content-accordionitem) ::slotted([slot='summary']),
                :host(.sdb-content-accordionitem) [part='content'],
                :host(.sdb-content-accordionitem) [part='summary-content'] ::slotted(*) {
                    font-size: 16px;
                    font-family: var(--font-family);
                    color: var(--var-text-primary);
                }

                :host(.sdb-content-accordionitem) [part='summary-content'] {
                    display: block;
                    margin: 0;
                }

                :host(.sdb-content-accordionitem[opened]),
                :host(.sdb-content-accordionitem[opened]) ::slotted([slot='summary']),
                :host(.sdb-content-accordionitem[opened])[part='content'],
                :host(.sdb-content-accordionitem[opened]) [part='summary-content'] ::slotted(*) {
                    background-color: var(
                        --sdb-accordion-background-opened,
                        #ffffff
                    );
                    color: var(
                        --sdb-accordion-foreground-opened,
                        --text-primary
                    ) !important;
                }

                :host(.sdb-content-accordionitem:not([opened])) ::slotted([slot='summary'])::after {
                    content: '';
                    display: block;
                    height: 1px;
                    position: relative;
                    top: var(--sdb-accordionitem-summary-vertical-padding);
                    background-color: var(--sdb-accordion-separator);
                    grid-column: span 2;
                }

                :host(.sdb-content-accordionitem[opened]) [part='content'] {
                    background: transparent;
                }
            `))}}uA.stylesRegistered=!1;let pA=class extends ve{constructor(){super(),this.overline="",this.headline="",this.subtitle="",this.description="",this.graphic="",this.avatar="",this.icon="",this.gravatar=!1,this.date=!1,this.opened=!1,this.checkable=!1,this.checkboxDisabled=!1,this.checked=!1,this.locked=!1,this.statusColor="",this.openedOnce=!1,uA.registerAllStyles()}render(){return Z`
            <!-- accordionItem images yes/no -->
            <vaadin-accordion-panel
                class="sdb-content-accordionitem"
                @opened-changed="${e=>{this._openedChanged(e.detail.value)}}"
                ?opened=${this.opened}
            >
                <section slot="summary" class="summary">
                    <div class="statusBar ${this.statusColor}"></div>
                    <div class="accordionItem">
                        <section class="mainContent">
                            ${this.checkable?Z`<div class="accordionCheckboxWrapper">
                                      <div class="accordionCheckbox">
                                          <sdb-content-checkbox
                                              ?checked=${this.checked}
                                              ?disabled=${this.checkboxDisabled}
                                              @checked-changed="${e=>{this._checkedChanged(e)}}"
                                          >
                                          </sdb-content-checkbox>
                                      </div>
                                  </div>`:Z``}
                            <!-- accordionItem images yes/no -->
                            ${this.graphic?Z`<div class="accordionImgWrapper">
                                      <div
                                          style="background-image: url('${this.graphic}');"
                                          class="accordionItemGraphic"
                                      ></div>
                                  </div>`:Z``}
                            ${this.avatar?Z`<div class="accordionImgWrapper">
                                      <div
                                          style="background-image: url('${this.avatar}');"
                                          class="accordionItemAvatar"
                                      ></div>
                                  </div>`:Z``}
                            ${this.icon?Z`<div class="accordionImgWrapper">
                                      <div class="accordionItemIcon">
                                          <sdb-content-icon
                                              size="32"
                                              .icon=${this.icon}
                                          ></sdb-content-icon>
                                      </div>
                                  </div>`:Z``}
                            ${this.gravatar?Z`<div class="accordionImgWrapper">
                                      <div class="accordionItemGravatar">
                                          <slot click="${this._toggleOpened}" name="gravatar"></slot>
                                      </div>
                                  </div>`:Z``}
                            <!-- accordionItem content (text & chipbar) -->

                            <div class="main" part="main">
                                ${this.overline?Z`<div
                                          class="overline"
                                          part="overline"
                                      >
                                          ${this.overline}
                                      </div>`:Z``}
                                <div class="headline" part="headline">
                                    ${this.headline}
                                </div>
                                <!-- headline is mandatory, so always displayed -->
                                ${this.subtitle?Z`<div
                                          class="subtitle"
                                          part="subtitle"
                                      >
                                          ${this.subtitle}
                                      </div>`:Z``}
                                ${this.description?Z`<div
                                          class="description"
                                          part="description"
                                      >
                                          ${this.description}
                                      </div>`:Z``}
                                ${this.date?Z` <div class="date" part="date">
                                          <slot @click="${this._toggleOpened}" name="date"></slot>
                                      </div>`:Z``}
                            </div>
                        </section>
                        <slot class="accordionItemColumn" @click="${this._toggleOpened}" name="2"></slot>
                        <slot class="accordionItemColumn" @click="${this._toggleOpened}" name="3"></slot>
                        <slot class="accordionItemColumn" @click="${this._toggleOpened}" name="4"></slot>
                    </div>
                    ${this.locked?Z``:Z` <div class="toggle">
                              <sdb-content-icon
                                  size="16"
                                  icon="fal fa-chevron-down"
                              ></sdb-content-icon>
                          </div>`}
                    <div id="accordionItemChipBar" class="accordionItemChipBar">
                        <slot click="${this._toggleOpened}" name="chipbar" class="chipbar"></slot>
                        <slot click="${this._toggleOpened}" name="buttonbar" class="buttonbar"></slot>
                    </div>
                </section>
                <slot class="accordionOpened"></slot>
            </vaadin-accordion-panel>
        `}_toggleOpened(){this.opened=!this.opened}_openedChanged(e){this.opened=e,this.dispatchEvent(new CustomEvent("opened-changed",{detail:{value:e}})),e&&(this.openedOnce=!0,this.dispatchEvent(new CustomEvent("opened",{detail:{},bubbles:!0,composed:!0}))),this.openedOnce&&this.dispatchEvent(new CustomEvent("iron-resize",{detail:{},bubbles:!0,composed:!0}))}_checkedChanged(e){this.checked=e.detail.value,this.dispatchEvent(new CustomEvent("checked-changed",{detail:e.detail}))}};pA.styles=[cA,u`
            :host {
                display: block;
                width: 100%;
                color: var(--text-primary);
                min-height:var(--sdb-accordionitem-min-height, auto);
            }

            vaadin-accordion-panel {
                position: relative;
                height: 100%;
                min-height:var(--sdb-accordionitem-min-height, auto);
            }

            vaadin-accordion-panel section.summary {
                /* Needed for the after and before space to be positioned per panel instead of the entire accordion */
                cursor: pointer;
                height: calc(100% - (2 * var(--sdb-accordionitem-summary-vertical-padding)));
                min-height:var(--sdb-accordionitem-min-height, auto);
                margin-right: 0;
                display: grid;
                grid-template-rows: 1fr; /* rows will use full available height */
                grid-template-columns: 1fr 50px;
                grid-template-areas:
                    'content toggle'
                    'chipbar chipbar';
            }

            :host(:last-child) vaadin-accordion-panel::after {
                height: 1px;
            }

            vaadin-accordion-panel[opened]::after {
                content: '';
                display: block;
                margin: 0 auto;
                margin-left: -20px;
                width: calc(100% + 40px);
                height: var(--sdb-accordionitem-before-after-height);
                background: var(--body);
                position: absolute;
                bottom: -1px;
                z-index: 1;
            }

            :host(:last-child) vaadin-accordion-panel[opened]::after {
                height: 0;
            }

            vaadin-accordion-panel[opened]::before {
                content: '';
                display: block;
                margin: 0 auto;
                margin-left: -20px;
                width: calc(100% + 40px);
                height: var(--sdb-accordionitem-before-after-height);
                background: var(--body);
                position: absolute;
                top: -4.5px;
                z-index: 1;
            }

            :host(:first-child) vaadin-accordion-panel[opened]::before {
                height: 0;
            }

            vaadin-accordion-panel[opened] .accordionItemColumn {
                display: none;
            }

            :host([showHover]) {
                --sdb-accordion-background-hover: var(--element-lightgrey);
            }

            :host([light]) section {
                color: var(--text-light);
            }

            :host([truncate]) section.mainContent div.main div {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            :host([date]:hover) .outer {
                cursor: default;
                background: transparent;
            }

            .accordionItem {
                grid-area: content;
                display: grid;
                grid-auto-columns: 1fr;
                grid-auto-flow: column;
                align-self:var(--sdb-accordionitem-content-align, center);
                justify-content: flex-start;
                align-items: stretch;
                gap: 0 15px;
                padding:2.5px 0;
            }

            .accordionItem > * {
                width: 100%;
            }

            :host([disabled]) {
                pointer-events: none;
            }

            :host([disabled]) .accordionItemContent {
                color: var(--element-disabled);
            }

            :host([disabled]:hover) {
                background: transparent;
            }

            [part='summary-content'] {
                display: block !important;
                width: 100%;
            }

            .accordionItemContent {
                grid-area: content;
                display: grid;
                grid-auto-columns: 1fr; /* columns will use full available width */
                grid-auto-flow: column;
                justify-content: flex-start; /* makes sure the content is left aligned */
                align-items: stretch; /* makes sure the items use the full available height of the row */
                gap: 0 15px;
            }

            .toggle {
                grid-area: toggle;
                display: grid;
                align-self: var(--sdb-accordionitem-main-align, center);
                justify-items: center;
                align-items: start;
                pointer-events: none;
            }

            .toggle sdb-content-icon {
                transition: rotate 0.2s ease;
            }

            :host([date]) .toggle {
                align-self: start;
            }

            vaadin-accordion-panel[opened] .toggle sdb-content-icon {
                transform: rotate(180deg);
            }

            section.image {
                width: 75px;
                display: inline-flex;
            }

            section.mainContent {
                display: grid;
                grid-template-columns: auto auto 1fr;
                grid-template-areas: 'checkbox image main';
            }

            section.mainContent .main {
                grid-area: main;
                display: flex;
                justify-content: var(--sdb-accordionitem-main-justify, center);
                flex-direction: column;
                padding-left: 10px;
                overflow-x: hidden;
            }

            .accordionItemColumn::slotted(*) {
                padding: 0 15px;
                align-self: var(--sdb-accordionitem-main-align, center);
            }

            :host([date]) .accordionItemColumn::slotted(*) {
                align-self: start;
                font-weight: 300;
            }

            .accordionItemContent > * {
                /* makes sure all the optional items use the full width of the accordionItem content wrapper */
                width: 100%;
            }

            .accordionOpened {
                display: grid;
            }

            .accordionItemChipBar {
                grid-area: chipbar;
                display: flex;
                place-items: start;
                padding-left: 10px;
                padding-right: 10px;
            }

            :host([date]) .accordionItemChipBar .buttonbar {
                width: 100%;
                justify-content: end;
                padding-right: 40px;
            }

            .accordionItemChipBar::slotted(*) {
                padding: 15px 0;
            }

            :host([icon]) #accordionItemChipBar,
            :host([graphic]) #accordionItemChipBar,
            :host([avatar]) #accordionItemChipBar,
            :host([gravatar]) #accordionItemChipBar {
                margin-left: calc(
                    var(--chipMarginLeft, 0px) + var(--chipExtraMarginLeft, 0px)
                );
                --chipMarginLeft: 60px;
            }

            :host([checkable]) #accordionItemChipBar {
                margin-left: calc(
                    var(--chipMarginLeft, 0px) + var(--chipExtraMarginLeft, 0px)
                );
                --chipExtraMarginLeft: 40px;
            }

            .accordionCheckboxWrapper {
                grid-area: checkbox;
                display: flex;
                width: auto;
                align-items: center;
            }

            .accordionCheckbox {
                width: 50px;
                margin-top: 3px;
                display: flex;
                justify-content: center;
            }

            .accordionImgWrapper {
                grid-area: image;
                display: flex;
                justify-content: var(--sdb-accordionitem-icon-justify, start);
                align-items: var(--sdb-accordionitem-icon-align, start);
            }

            .accordionItemAvatar,
            .accordionItemGraphic,
            .accordionItemIcon,
            .accordionItemGravatar {
                grid-template-areas: image;
                width: 60px;
                height: 60px;
                margin: 3px 0px 0px
                    var(--sdb-accordionitem-icon-padding-left, 10px);
                background-size: cover;
                background-position: center center;
                justify-content: start;
                align-items: center;
            }

            .accordionItemIcon {
                width: 60px;
                height: 40px;
            }

            .accordionItemIcon {
                background: transparent;
                display: flex;
                justify-content: var(--sdb-accordionitem-icon-justify, start);
                align-items: center;
            }

            .accordionItemAvatar {
                border-radius: 50%; /*makes sure user avatars are displayed in circle instead of square*/
            }

            .overline,
            .headline,
            .subtitle,
            .description,
            .chipbar,
            .buttonbar {
                display: flex;
                align-items: center;
            }

            .overline {
                font-size: 0.85em;
                text-transform: uppercase;
            }

            .description {
                margin: 15px 15px 15px 0;
                font-weight: 300;
            }

            .overline + .headline {
                /* makes sure the overline is 'glued on top of' the headline if only these 2 are used */
                align-items: flex-start;
            }

            .headline + .subtitle {
                align-items: flex-start;
            }

            .overline,
            .subtitle,
            .description {
                font-weight: 300;
            }

            :host vaadin-accordion-panel {
                padding: 0
                    var(
                        --sdb-accordionitem-vaadin-accordion-panel-padding,
                        20px
                    )
                    0;
            }

            :host([locked]) vaadin-accordion-panel {
                pointer-events: none;
            }

            :host .statusBar {
                display: block;
                height: 100%;
                width: 10px;
                background: transparent;
                position: absolute;
                top: 0;
                left: 0;
                border-bottom: 1px solid transparent;
                border-top-left-radius: 2px;
                border-bottom-left-radius: 2px;
            }

            .statusBar.green {
                background: var(--success-color);
            }

            .statusBar.grey {
                background: var(--element-darkgrey);
            }

            .statusBar.orange {
                background: var(--warning-color);
            }

            .statusBar.red {
                background: var(--alert-color);
            }

            .statusBar.blue {
                background: var(--inprogress-color);
            }

            @media only screen and (max-width: 767px) {
                /* For mobile phones: */

                vaadin-accordion-panel section.summary {
                    grid-template-columns: 1fr 25px;
                }

                .accordionItemContent {
                    grid-auto-flow: row;
                }

                :host vaadin-accordion-panel {
                    padding: 0 10px;
                }

                .accordionItem {
                    grid-auto-flow: row;
                }

                :host([date]) .accordionItemChipBar .buttonbar {
                    padding-right: 10px;
                }
            }
        `],Aw([ke({type:String})],pA.prototype,"overline",void 0),Aw([ke({type:String})],pA.prototype,"headline",void 0),Aw([ke({type:String})],pA.prototype,"subtitle",void 0),Aw([ke({type:String})],pA.prototype,"description",void 0),Aw([ke({type:String})],pA.prototype,"graphic",void 0),Aw([ke({type:String})],pA.prototype,"avatar",void 0),Aw([ke({type:String})],pA.prototype,"icon",void 0),Aw([ke({type:Boolean})],pA.prototype,"gravatar",void 0),Aw([ke({type:Boolean,reflect:!0})],pA.prototype,"date",void 0),Aw([ke({type:Boolean,reflect:!0})],pA.prototype,"opened",void 0),Aw([ke({type:Boolean,reflect:!0})],pA.prototype,"checkable",void 0),Aw([ke({type:Boolean,reflect:!0})],pA.prototype,"checkboxDisabled",void 0),Aw([ke({type:Boolean,reflect:!0})],pA.prototype,"checked",void 0),Aw([ke({type:Boolean,reflect:!0})],pA.prototype,"locked",void 0),Aw([ke({type:String,reflect:!0})],pA.prototype,"statusColor",void 0),Aw([Se()],pA.prototype,"openedOnce",void 0),pA=Aw([be("sdb-content-accordionitem")],pA);let gA=class extends ve{constructor(){super(...arguments),this.icon="",this.iconSize="20",this.iconOnly=!1,this.label="",this.padding="10px 15px",this.secondary=!1,this.themecolor=!1,this.media=!1,this.disabled=!1,this.locked=!1,this.outlined=!1,this.light=!1}render(){return Z`
        <button style="padding:${this.padding}">
            ${this.locked?Z`<div class="lockedOverlay"><sdb-content-icon size="24" icon="fal fa-lock"></sdb-content-icon></div>`:""}
            ${this.icon?Z`<sdb-content-icon size="${this.iconSize}" .icon=${this.icon}></sdb-content-icon>`:""}
            ${this.label}
        </button>
    `}};gA.styles=[cA,u`
    :host button{
      position: relative;
      display: inline-flex;
      align-items: center;
      margin:5px 5px 5px 0;
      background:var(--btn-primary);
      color: var(--btn-primary-text);
      text-transform:uppercase;
      border:none;
      border-radius:2px;
      cursor:pointer;
      font: var(--font-default);
      transition:scale .1s ease-in-out;
      -webkit-transform: rotateZ(360deg);
    }

    :host button:focus{
      outline:none !important;
    }

    :host button:hover{
      transform: scale(1.05);
    }

    :host button sdb-content-icon{
        margin-right:10px;
    }

    :host([locked]) button sdb-content-icon{
        margin:0;
    }

    :host([locked]) .lockedOverlay{
        display:flex;
        position:absolute;
        background:RGBA(255,255,255,0.75);
        width:100%;
        height:100%;
        top:0;
        left:0;
        align-items:center;
        justify-content:center;
        color:var(--text-primary);
    }

    :host([iconOnly]) button sdb-content-icon{
        margin-right:0;
    }

    :host([themecolor]) button {
      background:var(--theme-primary);
      color:var(--theme-primary-text);
    }

    :host([secondary]) button{
      background:var(--btn-secondary);
      color:var(--btn-secondary-text);
    }

    :host([media]) button {
        background:var(--element-lightgrey);
        color:var(--text-primary);
    }

    :host([media]) button sdb-content-icon{
        color:var(--theme-primary);
    }

    :host([disabled]), :host([locked]){
        pointer-events:none;
    }

    :host([outlined]) button{
        background:transparent;
        border:1px solid var(--element-grey);;
        color:var(--text-primary);
    }

    :host([outlined]) button:hover{
        background:rgba(0,0,0,0.1);;
    }

    :host([light]) button{
        border-color:white;
        color:var(--text-light);
    }

    :host([light]) button:hover{
        color:var(--text-light);
    }

    :host([disabled]) button{
        color:var(--element-disabled);
        background:var(--btn-disabled);
    }
    `],Aw([ke({type:String})],gA.prototype,"icon",void 0),Aw([ke({type:String})],gA.prototype,"iconSize",void 0),Aw([ke({type:Boolean})],gA.prototype,"iconOnly",void 0),Aw([ke({type:String})],gA.prototype,"label",void 0),Aw([ke({type:String})],gA.prototype,"padding",void 0),Aw([ke({type:Boolean})],gA.prototype,"secondary",void 0),Aw([ke({type:Boolean})],gA.prototype,"themecolor",void 0),Aw([ke({type:Boolean})],gA.prototype,"media",void 0),Aw([ke({type:Boolean,reflect:!0})],gA.prototype,"disabled",void 0),Aw([ke({type:Boolean,reflect:!0})],gA.prototype,"locked",void 0),Aw([ke({type:Boolean})],gA.prototype,"outlined",void 0),Aw([ke({type:Boolean})],gA.prototype,"light",void 0),gA=Aw([be("sdb-content-button")],gA);let mA=class extends ve{render(){return Z`
      <slot></slot>
    `}};mA.styles=[cA,u`
    :host {
      position: relative;
      display:block;
      background: white;
      padding: 15px 20px 40px;
    }

    :host([hidden]), [hidden] {
        display: none;
      }

  `],mA=Aw([be("sdb-content-card")],mA);let fA=class extends ve{constructor(){super(...arguments),this.disabled=!1,this.checked=!1,this.label=""}render(){return Z`
            <sdb-content-icon
                id="checkbox"
                @click="${this._toggleChecked}"
                .icon="fal fa-square${this.checked?"-check":""}"
            ></sdb-content-icon>
            ${this.label?Z`<label for="checkbox" @click="${this._toggleChecked}"
                      >${this.label}</label
                  >`:Z``}
        `}_toggleChecked(e){e.stopPropagation(),this.checked=!this.checked,this.dispatchEvent(new CustomEvent("checked-changed",{detail:{value:this.checked}})),this.requestUpdate()}};fA.styles=[cA,u`
            :host {
                display: flex;
                vertical-align: middle;
                cursor: pointer;
                width: auto;
                padding: 2.5px 0;
            }

            :host(:hover) > sdb-content-icon {
                --fa-icon-fill-color: var(--theme-primary);
            }

            :host > label {
                padding-left: 10px;
                cursor: pointer;
            }

            :host > sdb-content-icon {
                --fa-icon-fill-color: #b2b2b2;
            }

            :host([checked]) sdb-content-icon {
                --fa-icon-fill-color: var(--theme-primary);
            }

            :host([disabled]){
                cursor: default;
                pointer-events: none;
            }

            :host([disabled]) sdb-content-icon {
                --fa-icon-fill-color: var(--element-lightgrey);
            }
        `],Aw([ke({type:Boolean,reflect:!0})],fA.prototype,"disabled",void 0),Aw([ke({type:Boolean,reflect:!0})],fA.prototype,"checked",void 0),Aw([ke({type:String})],fA.prototype,"label",void 0),fA=Aw([be("sdb-content-checkbox")],fA);let yA=class extends ve{constructor(){super(...arguments),this.label="",this.color="",this.icon="",this.primary=!1,this.filter=!1,this.light=!1,this.warning=!1}render(){return Z`

    <div style="background:${this.color}">
        ${this.icon?Z`<sdb-content-icon class="icon" size="16" icon="${this.icon}"></sdb-content-icon>`:Z``}
        ${this.label}
        ${this.filter?Z`<sdb-content-icon class="filter" size="16" icon="fal fa-circle-xmark"></sdb-content-icon>`:Z``}
   </div>
    `}};yA.styles=[cA,u`
    :host div{
      display: flex;
      justify-content: center;
      width:auto;
      height:12px;
      padding:0 10px;
      margin:5px 5px 5px 0;
      height:24px;
      line-height:22px;
      font-size:14px;
      background:rgba(0,0,0,0.065);
      color:var(--text-primary);
      border-radius:20px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    :host([primary]) div {
      background: var(--theme-primary);
      color: var(--theme-primary-text);
    }

    :host([light]) div {
        color: var(--text-light);
      }

    :host([filter]) div {
        background: var(--btn-primary);
        color: var(--btn-primary-text);
        padding-right: 5px;
    }

    :host([warning]) div {
        background: var(--chip-warning-background-color);
    }

    :host sdb-content-icon.icon{
        display:inline-flex;
        align-self:center;
        margin-right:5px;
    }

    :host sdb-content-icon.filter{
      display:inline-flex;
      align-self:center;
      margin-left:5px;
      cursor:pointer;
    }

  `],Aw([ke({type:String})],yA.prototype,"label",void 0),Aw([ke({type:String})],yA.prototype,"color",void 0),Aw([ke({type:String})],yA.prototype,"icon",void 0),Aw([ke({type:Boolean,reflect:!0})],yA.prototype,"primary",void 0),Aw([ke({type:Boolean,reflect:!0})],yA.prototype,"filter",void 0),Aw([ke({type:Boolean,reflect:!0})],yA.prototype,"light",void 0),Aw([ke({type:Boolean,reflect:!0})],yA.prototype,"warning",void 0),yA=Aw([be("sdb-content-chip")],yA);let vA=class extends ve{render(){return Z`
<slot></slot>
    `}};vA.styles=[cA,u`
    :host {
      position:relative;
      display: flex;
      justify-content: left;
      align-items: center;
      flex-wrap: wrap;
    }
  `],vA=Aw([be("sdb-content-chipbar")],vA);const _A=e=>class extends(cS(TS(CS(e)))){static get properties(){return{tabindex:{type:Number,value:0,reflectToAttribute:!0}}}get _activeKeys(){return["Enter"," "]}ready(){super.ready(),this.hasAttribute("role")||this.setAttribute("role","button")}_onKeyDown(e){super._onKeyDown(e),e.altKey||e.shiftKey||e.ctrlKey||e.metaKey||this._activeKeys.includes(e.key)&&(e.preventDefault(),this.click())}};class bA extends(_A(mS(yk(vo)))){static get is(){return"vaadin-details-summary"}static get template(){return fo`
      <style>
        :host {
          display: block;
          outline: none;
          white-space: nowrap;
          -webkit-user-select: none;
          -moz-user-select: none;
          user-select: none;
        }

        :host([hidden]) {
          display: none !important;
        }

        :host([disabled]) {
          pointer-events: none;
        }
      </style>
      <span part="toggle" aria-hidden="true"></span>
      <div part="content"><slot></slot></div>
    `}static get properties(){return{opened:{type:Boolean,reflectToAttribute:!0}}}}ak(bA);const wA=e=>class extends(WS(IS(PS(e)))){static get properties(){return{summary:{type:String,observer:"_summaryChanged"}}}static get observers(){return["__updateAriaControls(focusElement, _contentElements)","__updateAriaExpanded(focusElement, opened)"]}static get delegateAttrs(){return["theme"]}static get delegateProps(){return["disabled","opened"]}constructor(){super(),this._summaryController=new GS(this,"vaadin-details-summary"),this._summaryController.addEventListener("slot-content-changed",(e=>{const{node:t}=e.target;this._setFocusElement(t),this.stateTarget=t,this._tooltipController.setTarget(t)})),this._tooltipController=new US(this),this._tooltipController.setPosition("bottom-start")}ready(){super.ready(),this.addController(this._summaryController),this.addController(this._tooltipController)}_setAriaDisabled(){}_summaryChanged(e){this._summaryController.setSummary(e)}__updateAriaControls(e,t){if(e&&t){const i=t[0];i&&i.id?e.setAttribute("aria-controls",i.id):e.removeAttribute("aria-controls")}}__updateAriaExpanded(e,t){e&&e.setAttribute("aria-expanded",t?"true":"false")}};class xA extends(wA(lA(yk(DS(vo))))){static get template(){return fo`
      <style>
        :host {
          display: block;
        }

        :host([hidden]) {
          display: none !important;
        }

        [part='content'] {
          display: none;
        }

        :host([opened]) [part='content'] {
          display: block;
        }
      </style>

      <slot name="summary"></slot>

      <div part="content">
        <slot></slot>
      </div>

      <slot name="tooltip"></slot>
    `}static get is(){return"vaadin-details"}}ak(xA);let kA=class extends ve{constructor(){super(),this.headline="",this.headlineSize="1em;",this.icon="",this.iconSize="20",this.opened=!1,this.transparent=!1,this.openedOnce=!1,uA.registerAllStyles()}render(){return Z`
            <vaadin-details class="sdb-content-collapsablecard" @opened-changed="${e=>{this._openedChanged(e.detail.value)}}" ?opened=${this.opened}>
                <vaadin-details-summary class="summaryContent" slot="summary" part="content">
                    ${this.icon?Z`
                        <sdb-content-icon
                            part="icon"
                            size="${this.iconSize}"
                            .icon=${this.icon}
                        ></sdb-content-icon>`:""}
                    <span
                        class="headline"
                        part="headline"
                        style="font-size:${this.headlineSize}"
                    >
                        ${this.headline}
                    </span>
                    <slot name="summary"></slot>
                </vaadin-details-summary>
                <div class=""><slot></slot></div>
            </vaadin-details>
        `}_openedChanged(e){this.opened=e,this.dispatchEvent(new CustomEvent("opened-changed",{detail:{value:e}})),e&&(this.openedOnce=!0,this.dispatchEvent(new CustomEvent("opened",{detail:{},bubbles:!0,composed:!0}))),this.openedOnce&&this.dispatchEvent(new CustomEvent("iron-resize",{detail:{},bubbles:!0,composed:!0}))}};kA.styles=[cA,u`
            :host vaadin-details {
                background: white;
                font-size: 16px;
                font-family: var(--font-family);
                color: var(--text-primary);
                padding: 15px 30px 40px;
                cursor:pointer;

                /* OVERRULE MATERIAL DESIGN SHADOW */
                --material-shadow-elevation-2dp: none;
                --material-shadow-elevation-3dp: none;
                --material-shadow-elevation-4dp: none;
                --material-shadow-elevation-6dp: none;
                --material-shadow-elevation-8dp: none;
                --material-shadow-elevation-12dp: none;
                --material-shadow-elevation-16dp: none;
                --material-shadow-elevation-24dp: none;
            }

            :host div.summaryContent{
                display: inline-flex;
                align-items: center;
            }

            :host sdb-content-icon {
                width:60px;
                padding-left:10px;
            }

            :host span.headline{
                padding-left:10px;
            }

            :host([transparent]) vaadin-details{
                background:transparent;
            }

            :host([transparent]) {
                --material-background-color :  transparent;
            }

        `],Aw([ke({type:String})],kA.prototype,"headline",void 0),Aw([ke({type:String})],kA.prototype,"headlineSize",void 0),Aw([ke({type:String})],kA.prototype,"icon",void 0),Aw([ke({type:String})],kA.prototype,"iconSize",void 0),Aw([ke({type:Boolean,reflect:!0})],kA.prototype,"opened",void 0),Aw([ke({type:Boolean})],kA.prototype,"transparent",void 0),Aw([Se()],kA.prototype,"openedOnce",void 0),kA=Aw([be("sdb-content-collapsablecard")],kA);let SA=class extends ve{constructor(){super(...arguments),this.light=!1}render(){return Z`

<ul class="contextMenuWrapper">
  <li class="contextMenu">
    <sdb-content-icon size="25" icon="fal fa-ellipsis-vertical"></sdb-content-icon>
    <ul id="toggleMenu">
      <slot></slot>
    </ul>
  </li>
</ul>
`}};SA.styles=[cA,u`
      :host([light]) sdb-content-icon {
        color:var(--text-light);
      }

      a, li {
        color: #6b6b6b;
        text-decoration: none;
      }

      .contextMenuWrapper{
        display:inline-block;
        width:auto;
        padding:0;
        margin:0;
      }
      .contextMenuWrapper > li {
        display: inline-block;
        cursor: pointer;
      }
      .contextMenu {
        position: relative;
      }
      .contextMenu ul {
        position: absolute;
        left: 0;
        top: 1.5em;
        transition: scale 0.3s ease;
        transform: scale(0.01);
        -webkit-transform: rotateZ(360deg);
        transform-origin: 0 0;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
        background:white;
        padding:5px;
        z-index:999;
        min-width:200px;
      }
      .contextMenu:hover ul {
        transform: scale(1);
      }


    `],Aw([ke({type:Boolean})],SA.prototype,"light",void 0),SA=Aw([be("sdb-content-contextmenu")],SA);let AA=class extends ve{constructor(){super(...arguments),this.icon=""}render(){return Z`
<li>
  ${this.icon?Z`<div class="contextMenuIcon"><sdb-content-icon size="24" .icon=${this.icon}></sdb-content-icon></div>`:Z``}
  <slot></slot>
</li>

`}};function EA(e,t){return e.split(".").reduce(((e,t)=>e?e[t]:void 0),t)}function CA(e){window.Vaadin&&window.Vaadin.templateRendererCallback?window.Vaadin.templateRendererCallback(e):e.querySelector("template")&&console.warn(`WARNING: <template> inside <${e.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`)}function TA(e){return e.__cells||Array.from(e.querySelectorAll('[part~="cell"]:not([part~="details-cell"])'))}function IA(e,t){[...e.children].forEach(t)}function DA(e,t){TA(e).forEach(t),e.__detailsCell&&t(e.__detailsCell)}function PA(e,t,i){let n=1;e.forEach((e=>{n%10==0&&(n+=1),e._order=i+n*t,n+=1}))}function FA(e,t,i){switch(typeof i){case"boolean":e.toggleAttribute(t,i);break;case"string":e.setAttribute(t,i);break;default:e.removeAttribute(t)}}function NA(e,t,i){t||""===t?MS(e,"part",i):LS(e,"part",i)}function RA(e,t,i){e.forEach((e=>{NA(e,i,t)}))}function OA(e,t){const i=TA(e);Object.entries(t).forEach((([t,n])=>{FA(e,t,n);const r=`${t}-row`;NA(e,n,r),RA(i,`${r}-cell`,n)}))}function MA(e,t){const i=TA(e);Object.entries(t).forEach((([t,n])=>{const r=e.getAttribute(t);if(FA(e,t,n),r){const n=`${t}-${r}-row`;NA(e,!1,n),RA(i,`${n}-cell`,!1)}if(n){const r=`${t}-${n}-row`;NA(e,n,r),RA(i,`${r}-cell`,n)}}))}function LA(e,t,i,n,r){FA(e,t,i),r&&NA(e,!1,r),NA(e,i,n||`${t}-cell`)}AA.styles=[cA,u`
    :host li{
      width: 100%;
      padding: 1em 18px;
      display: inline-block;
      /* white-space: pre; */
      box-sizing: border-box;
      display: block;
      width: 100%;
      list-style:none;
      color:var(--text-primary);
      font-weight:300;
      font-size:.9em;
      line-height:25px;
    }

    :host li:hover {
      background: var(--element-lightgrey);
    }

    .contextMenuIcon{
      display:block;
      margin-right:10px;
      float:left;
    }
  `],Aw([ke({type:String})],AA.prototype,"icon",void 0),AA=Aw([be("sdb-content-contextmenu-item")],AA);class BA{constructor(e,t){this.__host=e,this.__callback=t,this.__currentSlots=[],this.__onMutation=this.__onMutation.bind(this),this.__observer=new MutationObserver(this.__onMutation),this.__observer.observe(e,{childList:!0}),this.__initialCallDebouncer=iA.debounce(this.__initialCallDebouncer,Ik,(()=>this.__onMutation()))}disconnect(){this.__observer.disconnect(),this.__initialCallDebouncer.cancel(),this.__toggleSlotChangeListeners(!1)}flush(){this.__onMutation()}__toggleSlotChangeListeners(e){this.__currentSlots.forEach((t=>{e?t.addEventListener("slotchange",this.__onMutation):t.removeEventListener("slotchange",this.__onMutation)}))}__onMutation(){const e=!this.__currentColumns;this.__currentColumns||=[];const t=BA.getColumns(this.__host),i=t.filter((e=>!this.__currentColumns.includes(e))),n=this.__currentColumns.filter((e=>!t.includes(e))),r=this.__currentColumns.some(((e,i)=>e!==t[i]));this.__currentColumns=t,this.__toggleSlotChangeListeners(!1),this.__currentSlots=[...this.__host.children].filter((e=>e instanceof HTMLSlotElement)),this.__toggleSlotChangeListeners(!0);(e||i.length||n.length||r)&&this.__callback(i,n)}static __isColumnElement(e){return e.nodeType===Node.ELEMENT_NODE&&/\bcolumn\b/u.test(e.localName)}static getColumns(e){const t=[],i=e._isColumnElement||BA.__isColumnElement;return[...e.children].forEach((e=>{i(e)?t.push(e):e instanceof HTMLSlotElement&&[...e.assignedElements({flatten:!0})].filter((e=>i(e))).forEach((e=>t.push(e)))})),t}}const zA=e=>class extends e{static get properties(){return{resizable:{type:Boolean,sync:!0,value(){if("vaadin-grid-column-group"===this.localName)return;const e=this.parentNode;return e&&"vaadin-grid-column-group"===e.localName&&e.resizable||!1}},frozen:{type:Boolean,value:!1,sync:!0},frozenToEnd:{type:Boolean,value:!1,sync:!0},rowHeader:{type:Boolean,value:!1,sync:!0},hidden:{type:Boolean,value:!1,sync:!0},header:{type:String,sync:!0},textAlign:{type:String,sync:!0},headerPartName:{type:String,sync:!0},footerPartName:{type:String,sync:!0},_lastFrozen:{type:Boolean,value:!1,sync:!0},_bodyContentHidden:{type:Boolean,value:!1,sync:!0},_firstFrozenToEnd:{type:Boolean,value:!1,sync:!0},_order:{type:Number,sync:!0},_reorderStatus:{type:Boolean,sync:!0},_emptyCells:Array,_headerCell:Object,_footerCell:Object,_grid:Object,__initialized:{type:Boolean,value:!0},headerRenderer:{type:Function,sync:!0},_headerRenderer:{type:Function,computed:"_computeHeaderRenderer(headerRenderer, header, __initialized)",sync:!0},footerRenderer:{type:Function,sync:!0},_footerRenderer:{type:Function,computed:"_computeFooterRenderer(footerRenderer, __initialized)",sync:!0},__gridColumnElement:{type:Boolean,value:!0}}}static get observers(){return["_widthChanged(width, _headerCell, _footerCell, _cells)","_frozenChanged(frozen, _headerCell, _footerCell, _cells)","_frozenToEndChanged(frozenToEnd, _headerCell, _footerCell, _cells)","_flexGrowChanged(flexGrow, _headerCell, _footerCell, _cells)","_textAlignChanged(textAlign, _cells, _headerCell, _footerCell)","_orderChanged(_order, _headerCell, _footerCell, _cells)","_lastFrozenChanged(_lastFrozen)","_firstFrozenToEndChanged(_firstFrozenToEnd)","_onRendererOrBindingChanged(_renderer, _cells, _bodyContentHidden, path)","_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header)","_onFooterRendererOrBindingChanged(_footerRenderer, _footerCell)","_resizableChanged(resizable, _headerCell)","_reorderStatusChanged(_reorderStatus, _headerCell, _footerCell, _cells)","_hiddenChanged(hidden, _headerCell, _footerCell, _cells)","_rowHeaderChanged(rowHeader, _cells)","__headerFooterPartNameChanged(_headerCell, _footerCell, headerPartName, footerPartName)"]}get _grid(){return this._gridValue||(this._gridValue=this._findHostGrid()),this._gridValue}get _allCells(){return[].concat(this._cells||[]).concat(this._emptyCells||[]).concat(this._headerCell).concat(this._footerCell).filter((e=>e))}connectedCallback(){super.connectedCallback(),requestAnimationFrame((()=>{this._grid&&this._allCells.forEach((e=>{e._content.parentNode||this._grid.appendChild(e._content)}))}))}disconnectedCallback(){super.disconnectedCallback(),requestAnimationFrame((()=>{this._grid||this._allCells.forEach((e=>{e._content.parentNode&&e._content.parentNode.removeChild(e._content)}))})),this._gridValue=void 0}ready(){super.ready(),CA(this)}_findHostGrid(){let e=this;for(;e&&!/^vaadin.*grid(-pro)?$/u.test(e.localName);)e=e.assignedSlot?e.assignedSlot.parentNode:e.parentNode;return e||void 0}_renderHeaderAndFooter(){this._renderHeaderCellContent(this._headerRenderer,this._headerCell),this._renderFooterCellContent(this._footerRenderer,this._footerCell)}_flexGrowChanged(e){this.parentElement&&this.parentElement._columnPropChanged&&this.parentElement._columnPropChanged("flexGrow"),this._allCells.forEach((t=>{t.style.flexGrow=e}))}_orderChanged(e){this._allCells.forEach((t=>{t.style.order=e}))}_widthChanged(e){this.parentElement&&this.parentElement._columnPropChanged&&this.parentElement._columnPropChanged("width"),this._allCells.forEach((t=>{t.style.width=e}))}_frozenChanged(e){this.parentElement&&this.parentElement._columnPropChanged&&this.parentElement._columnPropChanged("frozen",e),this._allCells.forEach((t=>{LA(t,"frozen",e)})),this._grid&&this._grid._frozenCellsChanged&&this._grid._frozenCellsChanged()}_frozenToEndChanged(e){this.parentElement&&this.parentElement._columnPropChanged&&this.parentElement._columnPropChanged("frozenToEnd",e),this._allCells.forEach((t=>{this._grid&&t.parentElement===this._grid.$.sizer||LA(t,"frozen-to-end",e)})),this._grid&&this._grid._frozenCellsChanged&&this._grid._frozenCellsChanged()}_lastFrozenChanged(e){this._allCells.forEach((t=>{LA(t,"last-frozen",e)})),this.parentElement&&this.parentElement._columnPropChanged&&(this.parentElement._lastFrozen=e)}_firstFrozenToEndChanged(e){this._allCells.forEach((t=>{this._grid&&t.parentElement===this._grid.$.sizer||LA(t,"first-frozen-to-end",e)})),this.parentElement&&this.parentElement._columnPropChanged&&(this.parentElement._firstFrozenToEnd=e)}_rowHeaderChanged(e,t){t&&t.forEach((t=>{t.setAttribute("role",e?"rowheader":"gridcell")}))}_generateHeader(e){return e.substr(e.lastIndexOf(".")+1).replace(/([A-Z])/gu,"-$1").toLowerCase().replace(/-/gu," ").replace(/^./u,(e=>e.toUpperCase()))}_reorderStatusChanged(e){const t=this.__previousReorderStatus,i=t?`reorder-${t}-cell`:"",n=`reorder-${e}-cell`;this._allCells.forEach((t=>{LA(t,"reorder-status",e,n,i)})),this.__previousReorderStatus=e}_resizableChanged(e,t){void 0!==e&&void 0!==t&&t&&[t].concat(this._emptyCells).forEach((t=>{if(t){const i=t.querySelector('[part~="resize-handle"]');if(i&&t.removeChild(i),e){const e=document.createElement("div");e.setAttribute("part","resize-handle"),t.appendChild(e)}}}))}_textAlignChanged(e){if(void 0===e||void 0===this._grid)return;if(-1===["start","end","center"].indexOf(e))return void console.warn('textAlign can only be set as "start", "end" or "center"');let t;"ltr"===getComputedStyle(this._grid).direction?"start"===e?t="left":"end"===e&&(t="right"):"start"===e?t="right":"end"===e&&(t="left"),this._allCells.forEach((i=>{i._content.style.textAlign=e,getComputedStyle(i._content).textAlign!==e&&(i._content.style.textAlign=t)}))}_hiddenChanged(e){this.parentElement&&this.parentElement._columnPropChanged&&this.parentElement._columnPropChanged("hidden",e),!!e!=!!this._previousHidden&&this._grid&&(!0===e&&this._allCells.forEach((e=>{e._content.parentNode&&e._content.parentNode.removeChild(e._content)})),this._grid._debouncerHiddenChanged=iA.debounce(this._grid._debouncerHiddenChanged,Ck,(()=>{this._grid&&this._grid._renderColumnTree&&this._grid._renderColumnTree(this._grid._columnTree)})),this._grid._debounceUpdateFrozenColumn&&this._grid._debounceUpdateFrozenColumn(),this._grid._resetKeyboardNavigation&&this._grid._resetKeyboardNavigation()),this._previousHidden=e}_runRenderer(e,t,i){const n=i&&i.item&&!t.parentElement.hidden;if(!(n||e===this._headerRenderer||e===this._footerRenderer))return;const r=[t._content,this];n&&r.push(i),e.apply(this,r)}__renderCellsContent(e,t){!this.hidden&&this._grid&&t.forEach((t=>{if(!t.parentElement)return;const i=this._grid.__getRowModel(t.parentElement);e&&(t._renderer!==e&&this._clearCellContent(t),t._renderer=e,this._runRenderer(e,t,i))}))}_clearCellContent(e){e._content.innerHTML="",delete e._content._$litPart$}_renderHeaderCellContent(e,t){t&&e&&(this.__renderCellsContent(e,[t]),this._grid&&t.parentElement&&this._grid.__debounceUpdateHeaderFooterRowVisibility(t.parentElement))}_onHeaderRendererOrBindingChanged(e,t,...i){this._renderHeaderCellContent(e,t)}__headerFooterPartNameChanged(e,t,i,n){[{cell:e,partName:i},{cell:t,partName:n}].forEach((({cell:e,partName:t})=>{if(e){const i=e.__customParts||[];e.part.remove(...i),e.__customParts=t?t.trim().split(" "):[],e.part.add(...e.__customParts)}}))}_renderBodyCellsContent(e,t){t&&e&&this.__renderCellsContent(e,t)}_onRendererOrBindingChanged(e,t,...i){this._renderBodyCellsContent(e,t)}_renderFooterCellContent(e,t){t&&e&&(this.__renderCellsContent(e,[t]),this._grid&&t.parentElement&&this._grid.__debounceUpdateHeaderFooterRowVisibility(t.parentElement))}_onFooterRendererOrBindingChanged(e,t){this._renderFooterCellContent(e,t)}__setTextContent(e,t){e.textContent!==t&&(e.textContent=t)}__textHeaderRenderer(){this.__setTextContent(this._headerCell._content,this.header)}_defaultHeaderRenderer(){this.path&&this.__setTextContent(this._headerCell._content,this._generateHeader(this.path))}_defaultRenderer(e,t,{item:i}){this.path&&this.__setTextContent(e,EA(this.path,i))}_defaultFooterRenderer(){}_computeHeaderRenderer(e,t){return e||(null!=t?this.__textHeaderRenderer:this._defaultHeaderRenderer)}_computeRenderer(e){return e||this._defaultRenderer}_computeFooterRenderer(e){return e||this._defaultFooterRenderer}},jA=e=>class extends(zA(e)){static get properties(){return{_childColumns:{value(){return this._getChildColumns(this)}},flexGrow:{type:Number,readOnly:!0,sync:!0},width:{type:String,readOnly:!0},_visibleChildColumns:Array,_colSpan:Number,_rootColumns:Array}}static get observers(){return["_groupFrozenChanged(frozen, _rootColumns)","_groupFrozenToEndChanged(frozenToEnd, _rootColumns)","_groupHiddenChanged(hidden)","_colSpanChanged(_colSpan, _headerCell, _footerCell)","_groupOrderChanged(_order, _rootColumns)","_groupReorderStatusChanged(_reorderStatus, _rootColumns)","_groupResizableChanged(resizable, _rootColumns)"]}connectedCallback(){super.connectedCallback(),this._addNodeObserver(),this._updateFlexAndWidth()}disconnectedCallback(){super.disconnectedCallback(),this._observer&&this._observer.disconnect()}_columnPropChanged(e,t){"hidden"===e&&(this._preventHiddenSynchronization=!0,this._updateVisibleChildColumns(this._childColumns),this._preventHiddenSynchronization=!1),/flexGrow|width|hidden|_childColumns/u.test(e)&&this._updateFlexAndWidth(),"frozen"!==e||this.frozen||(this.frozen=t),"lastFrozen"!==e||this._lastFrozen||(this._lastFrozen=t),"frozenToEnd"!==e||this.frozenToEnd||(this.frozenToEnd=t),"firstFrozenToEnd"!==e||this._firstFrozenToEnd||(this._firstFrozenToEnd=t)}_groupOrderChanged(e,t){if(t){const i=t.slice(0);if(!e)return void i.forEach((e=>{e._order=0}));const n=10**(/(0+)$/u.exec(e).pop().length-(1+~~(Math.log(t.length)/Math.LN10)));i[0]&&i[0]._order&&i.sort(((e,t)=>e._order-t._order)),PA(i,n,e)}}_groupReorderStatusChanged(e,t){void 0!==e&&void 0!==t&&t.forEach((t=>{t._reorderStatus=e}))}_groupResizableChanged(e,t){void 0!==e&&void 0!==t&&t.forEach((t=>{t.resizable=e}))}_updateVisibleChildColumns(e){this._visibleChildColumns=Array.prototype.filter.call(e,(e=>!e.hidden)),this._colSpan=this._visibleChildColumns.length,this._updateAutoHidden()}_updateFlexAndWidth(){if(this._visibleChildColumns){if(this._visibleChildColumns.length>0){const e=this._visibleChildColumns.reduce(((e,t)=>e+=` + ${(t.width||"0px").replace("calc","")}`),"").substring(3);this._setWidth(`calc(${e})`)}else this._setWidth("0px");this._setFlexGrow(Array.prototype.reduce.call(this._visibleChildColumns,((e,t)=>e+t.flexGrow),0))}}__scheduleAutoFreezeWarning(e,t){if(this._grid){const i=t.replace(/([A-Z])/gu,"-$1").toLowerCase(),n=e[0][t]||e[0].hasAttribute(i);e.every((e=>(e[t]||e.hasAttribute(i))===n))||(this._grid.__autoFreezeWarningDebouncer=iA.debounce(this._grid.__autoFreezeWarningDebouncer,Ck,(()=>{console.warn(`WARNING: Joining ${t} and non-${t} Grid columns inside the same column group! This will automatically freeze all the joined columns to avoid rendering issues. If this was intentional, consider marking each joined column explicitly as ${t}. Otherwise, exclude the ${t} columns from the joined group.`)})))}}_groupFrozenChanged(e,t){void 0!==t&&void 0!==e&&!1!==e&&(this.__scheduleAutoFreezeWarning(t,"frozen"),Array.from(t).forEach((t=>{t.frozen=e})))}_groupFrozenToEndChanged(e,t){void 0!==t&&void 0!==e&&!1!==e&&(this.__scheduleAutoFreezeWarning(t,"frozenToEnd"),Array.from(t).forEach((t=>{t.frozenToEnd=e})))}_groupHiddenChanged(e){(e||this.__groupHiddenInitialized)&&this._synchronizeHidden(),this.__groupHiddenInitialized=!0}_updateAutoHidden(){const e=this._autoHidden;this._autoHidden=0===(this._visibleChildColumns||[]).length,(e||this._autoHidden)&&(this.hidden=this._autoHidden)}_synchronizeHidden(){this._childColumns&&!this._preventHiddenSynchronization&&this._childColumns.forEach((e=>{e.hidden=this.hidden}))}_colSpanChanged(e,t,i){t&&(t.setAttribute("colspan",e),this._grid&&this._grid._a11yUpdateCellColspan(t,e)),i&&(i.setAttribute("colspan",e),this._grid&&this._grid._a11yUpdateCellColspan(i,e))}_getChildColumns(e){return BA.getColumns(e)}_addNodeObserver(){this._observer=new BA(this,(()=>{this._preventHiddenSynchronization=!0,this._rootColumns=this._getChildColumns(this),this._childColumns=this._rootColumns,this._updateVisibleChildColumns(this._childColumns),this._preventHiddenSynchronization=!1,this._grid&&this._grid._debounceUpdateColumnTree&&this._grid._debounceUpdateColumnTree()})),this._observer.flush()}_isColumnElement(e){return e.nodeType===Node.ELEMENT_NODE&&/\bcolumn\b/u.test(e.localName)}};class HA extends(jA(vo)){static get is(){return"vaadin-grid-column-group"}}ak(HA);class UA extends((e=>class extends(zA(mS(e))){static get properties(){return{width:{type:String,value:"100px",sync:!0},flexGrow:{type:Number,value:1,sync:!0},renderer:{type:Function,sync:!0},_renderer:{type:Function,computed:"_computeRenderer(renderer, __initialized)",sync:!0},path:{type:String,sync:!0},autoWidth:{type:Boolean,value:!1},_focusButtonMode:{type:Boolean,value:!1},_cells:{type:Array,sync:!0}}}})(vo)){static get is(){return"vaadin-grid-column"}}ak(UA),uk("vaadin-input-container",u`
    :host {
      position: relative;
      top: -0.2px; /* NOTE(platosha): Adjusts for wrong flex baseline in Chrome & Safari */
      height: 32px;
      padding-left: 0;
      padding-right: 0;
      background-color: transparent;
      margin: 0;
    }

    :host::before,
    :host::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 1px;
      transform-origin: 50% 0%;
      background-color: var(--_material-text-field-input-line-background-color, #000);
      opacity: var(--_material-text-field-input-line-opacity, 0.42);
    }

    :host::after {
      background-color: var(--material-primary-color);
      opacity: 0;
      height: 2px;
      bottom: 0;
      transform: scaleX(0);
      transition: opacity 0.175s;
    }

    ::slotted(:not([slot$='fix'])) {
      padding: 8px 0;
    }

    ::slotted([slot$='fix']) {
      color: var(--material-secondary-text-color);
    }

    /* Disabled */
    :host([disabled]) {
      color: var(--material-disabled-text-color);
    }

    :host([disabled])::before {
      background-color: transparent;
      background-image: linear-gradient(
        90deg,
        var(--_material-text-field-input-line-background-color, #000) 0,
        var(--_material-text-field-input-line-background-color, #000) 2px,
        transparent 2px
      );
      background-size: 4px 1px;
      background-repeat: repeat-x;
    }

    :host([disabled]) ::slotted(:not([slot$='fix'])) {
      color: var(--material-disabled-text-color);
      -webkit-text-fill-color: var(--material-disabled-text-color);
    }

    /* Invalid */
    :host([invalid])::after {
      background-color: var(--material-error-color);
      opacity: 1;
      transform: none;
      transition: transform 0.175s, opacity 0.175s;
    }
  `,{moduleId:"material-input-container"});const $A=u`
  [part$='button'] {
    flex: none;
    width: 24px;
    height: 24px;
    padding: 4px;
    color: var(--material-secondary-text-color);
    font-size: var(--material-icon-font-size);
    line-height: 24px;
    text-align: center;
  }

  :host(:not([readonly])) [part$='button'] {
    cursor: pointer;
  }

  :host(:not([readonly])) [part$='button']:hover {
    color: var(--material-text-color);
  }

  :host([disabled]) [part$='button'],
  :host([readonly]) [part$='button'] {
    color: var(--material-disabled-text-color);
  }

  :host([disabled]) [part='clear-button'] {
    display: none;
  }

  [part$='button']::before {
    font-family: 'material-icons';
  }
`;uk("",$A,{moduleId:"material-field-button"});const VA=u`
  [part='helper-text'] {
    font-size: 0.75rem;
    line-height: 1;
    color: var(--material-secondary-text-color);
  }

  :host([has-helper]) [part='helper-text']::before {
    content: '';
    display: block;
    height: 6px;
  }

  /* According to Material guidelines, helper text should be hidden when error message is set and input is invalid */
  :host([has-helper][invalid][has-error-message]) [part='helper-text'] {
    display: none;
  }
`,WA=u`
  [part='label'] {
    display: block;
    position: absolute;
    top: 8px;
    font-size: 1em;
    line-height: 1;
    height: 20px;
    margin-bottom: -4px;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    color: var(--material-secondary-text-color);
    transform-origin: 0 75%;
    transform: scale(0.75);
  }

  :host([required]) [part='required-indicator']::after {
    content: ' *';
    color: inherit;
  }

  :host([invalid]) [part='label'] {
    color: var(--material-error-text-color);
  }

  [part='error-message'] {
    font-size: 0.75em;
    line-height: 1;
    color: var(--material-error-text-color);
  }

  :host([has-error-message]) [part='error-message']::before {
    content: '';
    display: block;
    height: 6px;
  }

  :host(:not([invalid])) [part='error-message'] {
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
  }

  :host([invalid]) [part='error-message'] {
    animation: reveal 0.2s;
  }

  @keyframes reveal {
    0% {
      opacity: 0;
    }
  }

  /* RTL specific styles */
  :host([dir='rtl']) [part='label'] {
    transform-origin: 100% 75%;
  }
`;uk("",WA,{moduleId:"material-required-field"});const GA=[WA,$A,VA,u`
  :host {
    display: inline-flex;
    position: relative;
    padding-top: 8px;
    margin-bottom: 8px;
    outline: none;
    color: var(--material-body-text-color);
    font-size: var(--material-body-font-size);
    line-height: 24px;
    font-family: var(--material-font-family);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :host::before {
    line-height: 32px;
  }

  /* Strange gymnastics to make fields vertically align nicely in most cases
     (no label, with label, without prefix, with prefix, etc.) */

  :host([has-label]) {
    padding-top: 24px;
  }

  :host([has-label]) ::slotted([slot='tooltip']) {
    --vaadin-tooltip-offset-bottom: -8px;
  }

  [part='input-field'] {
    position: relative;
    top: -0.2px; /* NOTE(platosha): Adjusts for wrong flex baseline in Chrome & Safari */
    height: 32px;
    padding-left: 0;
    padding-right: 0;
    background-color: transparent;
    margin: 0;
  }

  [part='input-field']::before,
  [part='input-field']::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    transform-origin: 50% 0%;
    background-color: var(--_material-text-field-input-line-background-color, #000);
    opacity: var(--_material-text-field-input-line-opacity, 0.42);
  }

  [part='input-field']::after {
    background-color: var(--material-primary-color);
    opacity: 0;
    height: 2px;
    bottom: 0;
    transform: scaleX(0);
    transition: opacity 0.175s;
  }

  :host([disabled]) [part='label'],
  :host([disabled]) [part='input-field'] ::slotted(:is(input, textarea)) {
    color: var(--material-disabled-text-color);
    -webkit-text-fill-color: var(--material-disabled-text-color);
  }

  [part='input-field'] ::slotted(:is(input, textarea)) {
    outline: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 8px 0;
    width: 100%;
    height: 100%;
    font-family: inherit;
    font-size: 1em;
    line-height: inherit;
    color: inherit;
    background-color: transparent;
    /* Disable default invalid style in Firefox */
    box-shadow: none;
  }

  /* TODO: the text opacity should be 42%, but the disabled style is 38%.
  Would need to introduce another property for it if we want to be 100% accurate. */
  ::slotted(:is(input, textarea):placeholder-shown) {
    color: var(--material-disabled-text-color);
    transition: opacity 0.175s 0.1s;
  }

  /* prettier-ignore */
  :host([has-label]:not([focused]):not([invalid]):not([theme='always-float-label'])) ::slotted(:is(input, textarea):placeholder-shown) {
    opacity: 0;
    transition-delay: 0;
  }

  [part='label'] {
    width: 133%;
    transition: transform 0.175s, color 0.175s, width 0.175s;
    transition-timing-function: ease, ease, step-end;
  }

  :host(:hover:not([readonly]):not([invalid])) [part='input-field']::before {
    opacity: var(--_material-text-field-input-line-hover-opacity, 0.87);
  }

  :host([focused]:not([invalid])) [part='label'] {
    color: var(--material-primary-text-color);
  }

  :host([focused]) [part='input-field']::after,
  :host([invalid]) [part='input-field']::after {
    opacity: 1;
    transform: none;
    transition: transform 0.175s, opacity 0.175s;
  }

  :host([invalid]) [part='input-field']::after {
    background-color: var(--material-error-color);
  }

  :host([input-prevented]) [part='input-field'] {
    color: var(--material-error-text-color);
  }

  :host([disabled]) {
    pointer-events: none;
  }

  :host([disabled]) [part='input-field'] {
    color: var(--material-disabled-text-color);
  }

  :host([disabled]) [part='input-field']::before {
    background-color: transparent;
    background-image: linear-gradient(
      90deg,
      var(--_material-text-field-input-line-background-color, #000) 0,
      var(--_material-text-field-input-line-background-color, #000) 2px,
      transparent 2px
    );
    background-size: 4px 1px;
    background-repeat: repeat-x;
  }

  /* Only target the visible floating label */
  :host([has-label]:not([has-value]):not([focused]):not([invalid]):not([theme~='always-float-label'])) [part='label'] {
    width: 100%;
    transform: scale(1) translateY(24px);
    transition-timing-function: ease, ease, step-start;
    pointer-events: none;
    left: auto;
    right: auto;
    transition-delay: 0.1s;
  }

  /* Slotted content */
  [part='input-field'] ::slotted(*:not([part$='-button']):not(input):not(textarea)) {
    color: var(--material-secondary-text-color);
  }

  [part='clear-button']::before {
    content: var(--material-icons-clear);
  }

  /* RTL specific styles */

  :host([disabled][dir='rtl']) [part='input-field']::before {
    background-image: linear-gradient(
      -90deg,
      var(--_material-text-field-input-line-background-color, #000) 0,
      var(--_material-text-field-input-line-background-color, #000) 2px,
      transparent 2px
    );
  }
`];uk("",GA,{moduleId:"material-input-field-shared-styles"}),uk("vaadin-text-field",GA,{moduleId:"material-text-field-styles"});const qA=e=>class extends e{static get properties(){return{disabled:{type:Boolean,reflectToAttribute:!0},readonly:{type:Boolean,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0}}}ready(){super.ready(),this.addEventListener("pointerdown",(e=>{e.target===this&&e.preventDefault()})),this.addEventListener("click",(e=>{e.target===this&&this.shadowRoot.querySelector("slot:not([name])").assignedNodes({flatten:!0}).forEach((e=>e.focus&&e.focus()))}))}};uk("vaadin-input-container",u`
  :host {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    border-radius:
            /* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius */
      var(--vaadin-input-field-top-start-radius, var(--__border-radius))
      var(--vaadin-input-field-top-end-radius, var(--__border-radius))
      var(--vaadin-input-field-bottom-end-radius, var(--__border-radius))
      var(--vaadin-input-field-bottom-start-radius, var(--__border-radius));
    --_border-radius: var(--vaadin-input-field-border-radius, 0);
    --_input-border-width: var(--vaadin-input-field-border-width, 0);
    --_input-border-color: var(--vaadin-input-field-border-color, transparent);
    box-shadow: inset 0 0 0 var(--_input-border-width, 0) var(--_input-border-color);
  }

  :host([dir='rtl']) {
    border-radius:
            /* Don't use logical props, see https://github.com/vaadin/vaadin-time-picker/issues/145 */
      var(--vaadin-input-field-top-end-radius, var(--_border-radius))
      var(--vaadin-input-field-top-start-radius, var(--_border-radius))
      var(--vaadin-input-field-bottom-start-radius, var(--_border-radius))
      var(--vaadin-input-field-bottom-end-radius, var(--_border-radius));
  }

  :host([hidden]) {
    display: none !important;
  }

  /* Reset the native input styles */
  ::slotted(input) {
    -webkit-appearance: none;
    -moz-appearance: none;
    flex: auto;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    height: 100%;
    outline: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    min-width: 0;
    font: inherit;
    line-height: normal;
    color: inherit;
    background-color: transparent;
    /* Disable default invalid style in Firefox */
    box-shadow: none;
  }

  ::slotted(*) {
    flex: none;
  }

  ::slotted(:is(input, textarea))::placeholder {
    /* Use ::slotted(input:placeholder-shown) in themes to style the placeholder. */
    /* because ::slotted(...)::placeholder does not work in Safari. */
    font: inherit;
    color: inherit;
    /* Override default opacity in Firefox */
    opacity: 1;
  }
`,{moduleId:"vaadin-input-container-styles"});class YA extends(qA(yk(mS(vo)))){static get is(){return"vaadin-input-container"}static get template(){return fo`
      <slot name="prefix"></slot>
      <slot></slot>
      <slot name="suffix"></slot>
    `}}ak(YA);const KA=u`
  [part='clear-button'] {
    display: none;
    cursor: default;
  }

  [part='clear-button']::before {
    content: '\\2715';
  }

  :host([clear-button-visible][has-value]:not([disabled]):not([readonly])) [part='clear-button'] {
    display: block;
  }
`,JA=u`
  :host {
    display: inline-flex;
    outline: none;
  }

  :host::before {
    content: '\\2003';
    width: 0;
    display: inline-block;
    /* Size and position this element on the same vertical position as the input-field element
          to make vertical align for the host element work as expected */
  }

  :host([hidden]) {
    display: none !important;
  }

  :host(:not([has-label])) [part='label'] {
    display: none;
  }

  @media (forced-colors: active) {
    :host(:not([readonly])) [part='input-field'] {
      outline: 1px solid;
      outline-offset: -1px;
    }
    :host([focused]) [part='input-field'] {
      outline-width: 2px;
    }
    :host([disabled]) [part='input-field'] {
      outline-color: GrayText;
    }
  }
`,ZA=u`
  [class$='container'] {
    display: flex;
    flex-direction: column;
    min-width: 100%;
    max-width: 100%;
    width: var(--vaadin-field-default-width, 12em);
  }
`,QA=[JA,ZA,KA];class XA extends HS{constructor(e,t){super(e,"input","input",{initializer:(e,i)=>{i.value&&(e.value=i.value),i.type&&e.setAttribute("type",i.type),e.id=this.defaultId,"function"==typeof t&&t(e)},useUniqueId:!0})}}const eE=new WeakMap;const tE=ci((e=>class extends e{get slotStyles(){return{}}connectedCallback(){super.connectedCallback(),this.__applySlotStyles()}__applySlotStyles(){const e=this.getRootNode(),t=function(e){return eE.has(e)||eE.set(e,new Set),eE.get(e)}(e);this.slotStyles.forEach((i=>{t.has(i)||(!function(e,t){const i=document.createElement("style");i.textContent=e,t===document?document.head.appendChild(i):t.insertBefore(i,t.firstChild)}(i,e),t.add(i))}))}})),iE=e=>e.test(navigator.userAgent),nE=e=>e.test(navigator.platform),rE=iE(/Android/u),sE=iE(/Chrome/u)&&/Google Inc/u.test(navigator.vendor);const oE=iE(/Firefox/u),aE=nE(/^iPad/u)||nE(/^Mac/u)&&navigator.maxTouchPoints>1,lE=nE(/^iPhone/u)||aE,dE=iE(/^((?!chrome|android).)*safari/iu),cE=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}})(),hE=ci((e=>class extends e{static get properties(){return{inputElement:{type:Object,readOnly:!0,observer:"_inputElementChanged"},type:{type:String,readOnly:!0},value:{type:String,value:"",observer:"_valueChanged",notify:!0,sync:!0},_hasInputValue:{type:Boolean,value:!1,observer:"_hasInputValueChanged"}}}constructor(){super(),this._boundOnInput=this.__onInput.bind(this),this._boundOnChange=this._onChange.bind(this)}get _hasValue(){return null!=this.value&&""!==this.value}get _inputElementValueProperty(){return"value"}get _inputElementValue(){return this.inputElement?this.inputElement[this._inputElementValueProperty]:void 0}set _inputElementValue(e){this.inputElement&&(this.inputElement[this._inputElementValueProperty]=e)}clear(){this._hasInputValue=!1,this.value="",this._inputElementValue=""}_addInputListeners(e){e.addEventListener("input",this._boundOnInput),e.addEventListener("change",this._boundOnChange)}_removeInputListeners(e){e.removeEventListener("input",this._boundOnInput),e.removeEventListener("change",this._boundOnChange)}_forwardInputValue(e){this.inputElement&&(this._inputElementValue=null!=e?e:"")}_inputElementChanged(e,t){e?this._addInputListeners(e):t&&this._removeInputListeners(t)}_hasInputValueChanged(e,t){(e||t)&&this.dispatchEvent(new CustomEvent("has-input-value-changed"))}__onInput(e){this._setHasInputValue(e),this._onInput(e)}_onInput(e){const t=e.composedPath()[0];this.__userInput=e.isTrusted,this.value=t.value,this.__userInput=!1}_onChange(e){}_toggleHasValue(e){this.toggleAttribute("has-value",e)}_valueChanged(e,t){this._toggleHasValue(this._hasValue),""===e&&void 0===t||this.__userInput||this._forwardInputValue(e)}_setHasInputValue(e){const t=e.composedPath()[0];this._hasInputValue=t.value.length>0}})),uE=e=>class extends(hE(dS(e))){static get properties(){return{clearButtonVisible:{type:Boolean,reflectToAttribute:!0,value:!1}}}get clearElement(){return console.warn(`Please implement the 'clearElement' property in <${this.localName}>`),null}ready(){super.ready(),this.clearElement&&(this.clearElement.addEventListener("mousedown",(e=>this._onClearButtonMouseDown(e))),this.clearElement.addEventListener("click",(e=>this._onClearButtonClick(e))))}_onClearButtonClick(e){e.preventDefault(),this._onClearAction()}_onClearButtonMouseDown(e){e.preventDefault(),cE||this.inputElement.focus()}_onEscape(e){super._onEscape(e),this.clearButtonVisible&&this.value&&(e.stopPropagation(),this._onClearAction())}_onClearAction(){this._inputElementValue="",this.inputElement.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.inputElement.dispatchEvent(new Event("change",{bubbles:!0}))}},pE=new Map;function gE(e){return pE.has(e)||pE.set(e,new WeakMap),pE.get(e)}function mE(e,t){e&&e.removeAttribute(t)}function fE(e,t){if(!e||!t)return;const i=gE(t);if(i.has(e))return;const n=RS(e.getAttribute(t));i.set(e,new Set(n))}function yE(e,t,i={newId:null,oldId:null,fromUser:!1}){if(!e||!t)return;const{newId:n,oldId:r,fromUser:s}=i,o=gE(t),a=o.get(e);if(!s&&a)return r&&a.delete(r),void(n&&a.add(n));s&&(a?n||o.delete(e):fE(e,t),mE(e,t)),LS(e,t,r);const l=n||OS(a);l&&MS(e,t,l)}class vE{constructor(e){this.host=e,this.__required=!1}setTarget(e){this.__target=e,this.__setAriaRequiredAttribute(this.__required),this.__setLabelIdToAriaAttribute(this.__labelId,this.__labelId),null!=this.__labelIdFromUser&&this.__setLabelIdToAriaAttribute(this.__labelIdFromUser,this.__labelIdFromUser,!0),this.__setErrorIdToAriaAttribute(this.__errorId),this.__setHelperIdToAriaAttribute(this.__helperId),this.setAriaLabel(this.__label)}setRequired(e){this.__setAriaRequiredAttribute(e),this.__required=e}setAriaLabel(e){this.__setAriaLabelToAttribute(e),this.__label=e}setLabelId(e,t=!1){const i=t?this.__labelIdFromUser:this.__labelId;this.__setLabelIdToAriaAttribute(e,i,t),t?this.__labelIdFromUser=e:this.__labelId=e}setErrorId(e){this.__setErrorIdToAriaAttribute(e,this.__errorId),this.__errorId=e}setHelperId(e){this.__setHelperIdToAriaAttribute(e,this.__helperId),this.__helperId=e}__setAriaLabelToAttribute(e){this.__target&&(e?(!function(e,t){fE(e,t),mE(e,t)}(this.__target,"aria-labelledby"),this.__target.setAttribute("aria-label",e)):this.__label&&(!function(e,t){if(!e||!t)return;const i=gE(t),n=i.get(e);n&&0!==n.size?MS(e,t,OS(n)):e.removeAttribute(t),i.delete(e)}(this.__target,"aria-labelledby"),this.__target.removeAttribute("aria-label")))}__setLabelIdToAriaAttribute(e,t,i){yE(this.__target,"aria-labelledby",{newId:e,oldId:t,fromUser:i})}__setErrorIdToAriaAttribute(e,t){yE(this.__target,"aria-describedby",{newId:e,oldId:t,fromUser:!1})}__setHelperIdToAriaAttribute(e,t){yE(this.__target,"aria-describedby",{newId:e,oldId:t,fromUser:!1})}__setAriaRequiredAttribute(e){this.__target&&(["input","textarea"].includes(this.__target.localName)||(e?this.__target.setAttribute("aria-required","true"):this.__target.removeAttribute("aria-required")))}}class _E extends $S{constructor(e){super(e,"error-message","div")}setErrorMessage(e){this.errorMessage=e,this.updateDefaultNode(this.node)}setInvalid(e){this.invalid=e,this.updateDefaultNode(this.node)}initAddedNode(e){e!==this.defaultNode&&this.initCustomNode(e)}initNode(e){this.updateDefaultNode(e)}initCustomNode(e){e.textContent&&!this.errorMessage&&(this.errorMessage=e.textContent.trim()),super.initCustomNode(e)}restoreDefaultNode(){this.attachDefaultNode()}updateDefaultNode(e){const{errorMessage:t,invalid:i}=this,n=Boolean(i&&t&&""!==t.trim());e&&(e.textContent=n?t:"",e.hidden=!n,n?e.setAttribute("role","alert"):e.removeAttribute("role")),super.updateDefaultNode(e)}}class bE extends $S{constructor(e){super(e,"helper",null)}setHelperText(e){this.helperText=e;this.getSlotChild()||this.restoreDefaultNode(),this.node===this.defaultNode&&this.updateDefaultNode(this.node)}restoreDefaultNode(){const{helperText:e}=this;if(e&&""!==e.trim()){this.tagName="div";const e=this.attachDefaultNode();this.observeNode(e)}}updateDefaultNode(e){e&&(e.textContent=this.helperText),super.updateDefaultNode(e)}initCustomNode(e){super.initCustomNode(e),this.observeNode(e)}}class wE extends $S{constructor(e){super(e,"label","label")}setLabel(e){this.label=e;this.getSlotChild()||this.restoreDefaultNode(),this.node===this.defaultNode&&this.updateDefaultNode(this.node)}restoreDefaultNode(){const{label:e}=this;if(e&&""!==e.trim()){const e=this.attachDefaultNode();this.observeNode(e)}}updateDefaultNode(e){e&&(e.textContent=this.label),super.updateDefaultNode(e)}initCustomNode(e){super.initCustomNode(e),this.observeNode(e)}}const xE=ci((e=>class extends(DS(e)){static get properties(){return{label:{type:String,observer:"_labelChanged"}}}constructor(){super(),this._labelController=new wE(this),this._labelController.addEventListener("slot-content-changed",(e=>{this.toggleAttribute("has-label",e.detail.hasContent)}))}get _labelId(){const e=this._labelNode;return e&&e.id}get _labelNode(){return this._labelController.node}ready(){super.ready(),this.addController(this._labelController)}_labelChanged(e){this._labelController.setLabel(e)}})),kE=ci((e=>class extends e{static get properties(){return{invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,reflectToAttribute:!0}}}validate(){const e=this.checkValidity();return this._setInvalid(!e),this.dispatchEvent(new CustomEvent("validated",{detail:{valid:e}})),e}checkValidity(){return!this.required||!!this.value}_setInvalid(e){this._shouldSetInvalid(e)&&(this.invalid=e)}_shouldSetInvalid(e){return!0}})),SE=e=>class extends(kE(xE(DS(e)))){static get properties(){return{ariaTarget:{type:Object,observer:"_ariaTargetChanged"},errorMessage:{type:String,observer:"_errorMessageChanged"},helperText:{type:String,observer:"_helperTextChanged"},accessibleName:{type:String,observer:"_accessibleNameChanged"},accessibleNameRef:{type:String,observer:"_accessibleNameRefChanged"}}}static get observers(){return["_invalidChanged(invalid)","_requiredChanged(required)"]}constructor(){super(),this._fieldAriaController=new vE(this),this._helperController=new bE(this),this._errorController=new _E(this),this._errorController.addEventListener("slot-content-changed",(e=>{this.toggleAttribute("has-error-message",e.detail.hasContent)})),this._labelController.addEventListener("slot-content-changed",(e=>{const{hasContent:t,node:i}=e.detail;this.__labelChanged(t,i)})),this._helperController.addEventListener("slot-content-changed",(e=>{const{hasContent:t,node:i}=e.detail;this.toggleAttribute("has-helper",t),this.__helperChanged(t,i)}))}get _errorNode(){return this._errorController.node}get _helperNode(){return this._helperController.node}ready(){super.ready(),this.addController(this._fieldAriaController),this.addController(this._helperController),this.addController(this._errorController)}__helperChanged(e,t){e?this._fieldAriaController.setHelperId(t.id):this._fieldAriaController.setHelperId(null)}_accessibleNameChanged(e){this._fieldAriaController.setAriaLabel(e)}_accessibleNameRefChanged(e){this._fieldAriaController.setLabelId(e,!0)}__labelChanged(e,t){e?this._fieldAriaController.setLabelId(t.id):this._fieldAriaController.setLabelId(null)}_errorMessageChanged(e){this._errorController.setErrorMessage(e)}_helperTextChanged(e){this._helperController.setHelperText(e)}_ariaTargetChanged(e){e&&this._fieldAriaController.setTarget(e)}_requiredChanged(e){this._fieldAriaController.setRequired(e)}_invalidChanged(e){this._errorController.setInvalid(e),setTimeout((()=>{if(e){const e=this._errorNode;this._fieldAriaController.setErrorId(e&&e.id)}else this._fieldAriaController.setErrorId(null)}))}},AE=ci((e=>class extends(PS(kE(hE(e)))){static get constraints(){return["required"]}static get delegateAttrs(){return[...super.delegateAttrs,"required"]}ready(){super.ready(),this._createConstraintsObserver()}checkValidity(){return this.inputElement&&this._hasValidConstraints(this.constructor.constraints.map((e=>this[e])))?this.inputElement.checkValidity():!this.invalid}_hasValidConstraints(e){return e.some((e=>this.__isValidConstraint(e)))}_createConstraintsObserver(){this._createMethodObserver(`_constraintsChanged(stateTarget, ${this.constructor.constraints.join(", ")})`)}_constraintsChanged(e,...t){if(!e)return;const i=this._hasValidConstraints(t),n=this.__previousHasConstraints&&!i;(this._hasValue||this.invalid)&&i?this.validate():n&&this._setInvalid(!1),this.__previousHasConstraints=i}_onChange(e){e.stopPropagation(),this.validate(),this.dispatchEvent(new CustomEvent("change",{detail:{sourceEvent:e},bubbles:e.bubbles,cancelable:e.cancelable}))}__isValidConstraint(e){return Boolean(e)||0===e}})),EE=e=>class extends(tE(IS(AE(SE(uE(dS(e))))))){static get properties(){return{allowedCharPattern:{type:String,observer:"_allowedCharPatternChanged"},autoselect:{type:Boolean,value:!1},name:{type:String,reflectToAttribute:!0},placeholder:{type:String,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},title:{type:String,reflectToAttribute:!0}}}static get delegateAttrs(){return[...super.delegateAttrs,"name","type","placeholder","readonly","invalid","title"]}constructor(){super(),this._boundOnPaste=this._onPaste.bind(this),this._boundOnDrop=this._onDrop.bind(this),this._boundOnBeforeInput=this._onBeforeInput.bind(this)}get slotStyles(){return["\n          :is(input[slot='input'], textarea[slot='textarea'])::placeholder {\n            font: inherit;\n            color: inherit;\n          }\n        "]}_onFocus(e){super._onFocus(e),this.autoselect&&this.inputElement&&this.inputElement.select()}_onChange(e){e.stopPropagation(),this.validate(),this.dispatchEvent(new CustomEvent("change",{detail:{sourceEvent:e},bubbles:e.bubbles,cancelable:e.cancelable}))}_addInputListeners(e){super._addInputListeners(e),e.addEventListener("paste",this._boundOnPaste),e.addEventListener("drop",this._boundOnDrop),e.addEventListener("beforeinput",this._boundOnBeforeInput)}_removeInputListeners(e){super._removeInputListeners(e),e.removeEventListener("paste",this._boundOnPaste),e.removeEventListener("drop",this._boundOnDrop),e.removeEventListener("beforeinput",this._boundOnBeforeInput)}_onKeyDown(e){super._onKeyDown(e),this.allowedCharPattern&&!this.__shouldAcceptKey(e)&&(e.preventDefault(),this._markInputPrevented())}_markInputPrevented(){this.setAttribute("input-prevented",""),this._preventInputDebouncer=iA.debounce(this._preventInputDebouncer,Ek.after(200),(()=>{this.removeAttribute("input-prevented")}))}__shouldAcceptKey(e){return e.metaKey||e.ctrlKey||!e.key||1!==e.key.length||this.__allowedCharRegExp.test(e.key)}_onPaste(e){if(this.allowedCharPattern){const t=e.clipboardData.getData("text");this.__allowedTextRegExp.test(t)||(e.preventDefault(),this._markInputPrevented())}}_onDrop(e){if(this.allowedCharPattern){const t=e.dataTransfer.getData("text");this.__allowedTextRegExp.test(t)||(e.preventDefault(),this._markInputPrevented())}}_onBeforeInput(e){this.allowedCharPattern&&e.data&&!this.__allowedTextRegExp.test(e.data)&&(e.preventDefault(),this._markInputPrevented())}_allowedCharPatternChanged(e){if(e)try{this.__allowedCharRegExp=new RegExp(`^${e}$`,"u"),this.__allowedTextRegExp=new RegExp(`^${e}*$`,"u")}catch(e){console.error(e)}}},CE=e=>class extends(EE(e)){static get properties(){return{autocomplete:{type:String},autocorrect:{type:String},autocapitalize:{type:String,reflectToAttribute:!0}}}static get delegateAttrs(){return[...super.delegateAttrs,"autocapitalize","autocomplete","autocorrect"]}get __data(){return this.__dataValue||{}}set __data(e){this.__dataValue=e}_inputElementChanged(e){super._inputElementChanged(e),e&&(e.value&&e.value!==this.value&&(console.warn(`Please define value on the <${this.localName}> component!`),e.value=""),this.value&&(e.value=this.value))}_setFocused(e){super._setFocused(e),!e&&document.hasFocus()&&this.validate()}_onInput(e){super._onInput(e),this.invalid&&this.validate()}_valueChanged(e,t){super._valueChanged(e,t),void 0!==t&&this.invalid&&this.validate()}};class TE{constructor(e,t){this.input=e,this.__preventDuplicateLabelClick=this.__preventDuplicateLabelClick.bind(this),t.addEventListener("slot-content-changed",(e=>{this.__initLabel(e.detail.node)})),this.__initLabel(t.node)}__initLabel(e){e&&(e.addEventListener("click",this.__preventDuplicateLabelClick),this.input&&e.setAttribute("for",this.input.id))}__preventDuplicateLabelClick(){const e=t=>{t.stopImmediatePropagation(),this.input.removeEventListener("click",e)};this.input.addEventListener("click",e)}}const IE=e=>class extends(CE(e)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new XA(this,(e=>{this._setInputElement(e),this._setFocusElement(e),this.stateTarget=e,this.ariaTarget=e}))),this.addController(new TE(this.inputElement,this._labelController))}};uk("vaadin-text-field",QA,{moduleId:"vaadin-text-field-styles"});class DE extends(IE(yk(lA(vo)))){static get is(){return"vaadin-text-field"}static get template(){return fo`
      <style>
        [part='input-field'] {
          flex-grow: 0;
        }
      </style>

      <div class="vaadin-field-container">
        <div part="label">
          <slot name="label"></slot>
          <span part="required-indicator" aria-hidden="true" on-click="focus"></span>
        </div>

        <vaadin-input-container
          part="input-field"
          readonly="[[readonly]]"
          disabled="[[disabled]]"
          invalid="[[invalid]]"
          theme$="[[_theme]]"
        >
          <slot name="prefix" slot="prefix"></slot>
          <slot name="input"></slot>
          <slot name="suffix" slot="suffix"></slot>
          <div id="clearButton" part="clear-button" slot="suffix" aria-hidden="true"></div>
        </vaadin-input-container>

        <div part="helper-text">
          <slot name="helper"></slot>
        </div>

        <div part="error-message">
          <slot name="error-message"></slot>
        </div>
      </div>
      <slot name="tooltip"></slot>
    `}static get properties(){return{maxlength:{type:Number},minlength:{type:Number}}}ready(){super.ready(),this._tooltipController=new US(this),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this.addController(this._tooltipController)}}ak(DE),uk("vaadin-grid-filter",u`
    :host {
      display: inline-flex;
      max-width: 100%;
    }

    ::slotted(*) {
      width: 100%;
      box-sizing: border-box;
    }
  `,{moduleId:"vaadin-grid-filter-styles"});const PE=e=>class extends(DS(e)){static get properties(){return{path:{type:String,sync:!0},value:{type:String,notify:!0,sync:!0},_textField:{type:Object,sync:!0}}}static get observers(){return["_filterChanged(path, value, _textField)"]}ready(){super.ready(),this._filterController=new HS(this,"","vaadin-text-field",{initializer:e=>{e.addEventListener("input",(e=>{this.value=e.target.value})),this._textField=e}}),this.addController(this._filterController)}_filterChanged(e,t,i){void 0!==e&&void 0!==t&&i&&(i.value=t,this._debouncerFilterChanged=iA.debounce(this._debouncerFilterChanged,Ek.after(200),(()=>{this.dispatchEvent(new CustomEvent("filter-changed",{bubbles:!0}))})))}focus(){this._textField&&this._textField.focus()}};class FE extends(PE(yk(vo))){static get template(){return fo`<slot></slot>`}static get is(){return"vaadin-grid-filter"}}ak(FE);const NE=e=>class extends e{static get properties(){return{path:{type:String,sync:!0},header:{type:String,sync:!0}}}static get observers(){return["_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, _filterValue)"]}constructor(){super(),this.__boundOnFilterValueChanged=this.__onFilterValueChanged.bind(this)}_defaultHeaderRenderer(e,t){let i=e.firstElementChild,n=i?i.firstElementChild:void 0;i||(i=document.createElement("vaadin-grid-filter"),n=document.createElement("vaadin-text-field"),n.setAttribute("theme","small"),n.setAttribute("style","max-width: 100%;"),n.setAttribute("focus-target",""),n.addEventListener("value-changed",this.__boundOnFilterValueChanged),i.appendChild(n),e.appendChild(i)),i.path=this.path,i.value=this._filterValue,n.__rendererValue=this._filterValue,n.value=this._filterValue,n.label=this.__getHeader(this.header,this.path)}_computeHeaderRenderer(){return this._defaultHeaderRenderer}__onFilterValueChanged(e){e.detail.value!==e.target.__rendererValue&&(this._filterValue=e.detail.value)}__getHeader(e,t){return e||(t?this._generateHeader(t):void 0)}};class RE extends(NE(UA)){static get is(){return"vaadin-grid-filter-column"}}ak(RE),uk("vaadin-checkbox",u`
    :host {
      display: inline-block;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      outline: none;
      -webkit-tap-highlight-color: transparent;
      --_checkbox-size: var(--vaadin-checkbox-size, 16px);
    }

    :host([has-label]) ::slotted(label) {
      padding: 3px 12px 3px 6px;
    }

    [part='checkbox'] {
      width: var(--_checkbox-size);
      height: var(--_checkbox-size);
      margin: 4px;
      position: relative;
      border-radius: 2px;
      box-shadow: inset 0 0 0 2px var(--material-secondary-text-color);
      background-color: transparent;
    }

    /* Used for the ripple */
    [part='checkbox']::before {
      pointer-events: none;
      width: 100%;
      height: 100%;
      line-height: var(--_checkbox-size);
      border-radius: 50%;
      background-color: var(--material-disabled-text-color);
      transform: scale(0);
      opacity: 0;
      transition: transform 0s 0.8s, opacity 0.8s;
      will-change: transform, opacity;
    }

    /* Used for the checkmark */
    [part='checkbox']::after {
      content: '';
      pointer-events: none;
      display: inline-block;
      width: 10px;
      height: 19px;
      border: 0 solid var(--material-background-color);
      border-width: 3px 0 0 3px;
      box-sizing: border-box;
      transform-origin: 0 0;
      position: absolute;
      top: 12px;
      left: 6px;
      transform: scale(0) rotate(-135deg);
      transition: transform 0.2s;
    }

    :host([indeterminate]) [part='checkbox'],
    :host([checked]) [part='checkbox'] {
      background-color: var(--material-primary-color);
      box-shadow: none;
    }

    :host([checked]) [part='checkbox']::after {
      transform: scale(0.55) rotate(-135deg);
    }

    :host(:not([checked]):not([indeterminate]):not([disabled]):hover) [part='checkbox'] {
      background-color: transparent;
    }

    :host([focus-ring]) [part='checkbox']::before,
    :host([active]) [part='checkbox']::before {
      transition-duration: 0.08s, 0.01s;
      transition-delay: 0s, 0s;
      transform: scale(2.5);
      opacity: 0.15;
    }

    :host([checked]) [part='checkbox']::before {
      background-color: var(--material-primary-color);
    }

    :host([indeterminate]) [part='checkbox']::after {
      transform: none;
      opacity: 1;
      top: 45%;
      height: 10%;
      left: 22%;
      right: 22%;
      width: auto;
      border: 0;
      background-color: var(--material-background-color);
      transition: opacity 0.4s;
    }

    :host([disabled]) {
      pointer-events: none;
      color: var(--material-disabled-text-color);
    }

    :host([disabled]) ::slotted(label) {
      color: inherit;
    }

    :host([disabled]:not([checked]):not([indeterminate])) [part='checkbox'] {
      box-shadow: inset 0 0 0 2px var(--material-disabled-color);
    }

    :host([disabled][checked]) [part='checkbox'],
    :host([disabled][indeterminate]) [part='checkbox'] {
      background-color: var(--material-disabled-color);
    }

    /* RTL specific styles */
    :host([dir='rtl'][has-label]) ::slotted(label) {
      padding: 3px 6px 3px 12px;
    }
  `,{moduleId:"material-checkbox"});const OE=ci((e=>class extends(PS(lS(hE(e)))){static get properties(){return{checked:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0}}}static get delegateProps(){return[...super.delegateProps,"checked"]}_onChange(e){const t=e.target;this._toggleChecked(t.checked)}_toggleChecked(e){this.checked=e}})),ME=e=>class extends(xE(OE(IS(cS(e))))){static get properties(){return{indeterminate:{type:Boolean,notify:!0,value:!1,reflectToAttribute:!0},name:{type:String,value:""},tabindex:{type:Number,value:0,reflectToAttribute:!0}}}static get delegateProps(){return[...super.delegateProps,"indeterminate"]}static get delegateAttrs(){return[...super.delegateAttrs,"name"]}constructor(){super(),this._setType("checkbox"),this.value="on"}ready(){super.ready(),this.addController(new XA(this,(e=>{this._setInputElement(e),this._setFocusElement(e),this.stateTarget=e,this.ariaTarget=e}))),this.addController(new TE(this.inputElement,this._labelController))}_shouldSetActive(e){return"a"!==e.target.localName&&super._shouldSetActive(e)}_toggleChecked(e){this.indeterminate&&(this.indeterminate=!1),super._toggleChecked(e)}};uk("vaadin-checkbox",u`
  :host {
    display: inline-block;
  }

  :host([hidden]) {
    display: none !important;
  }

  :host([disabled]) {
    -webkit-tap-highlight-color: transparent;
  }

  .vaadin-checkbox-container {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
  }

  [part='checkbox'],
  ::slotted(input),
  ::slotted(label) {
    grid-row: 1;
  }

  [part='checkbox'],
  ::slotted(input) {
    grid-column: 1;
  }

  [part='checkbox'] {
    width: var(--vaadin-checkbox-size, 1em);
    height: var(--vaadin-checkbox-size, 1em);
    --_input-border-width: var(--vaadin-input-field-border-width, 0);
    --_input-border-color: var(--vaadin-input-field-border-color, transparent);
    box-shadow: inset 0 0 0 var(--_input-border-width, 0) var(--_input-border-color);
  }

  [part='checkbox']::before {
    display: block;
    content: '\\202F';
    line-height: var(--vaadin-checkbox-size, 1em);
    contain: paint;
  }

  /* visually hidden */
  ::slotted(input) {
    opacity: 0;
    cursor: inherit;
    margin: 0;
    align-self: stretch;
    -webkit-appearance: none;
    width: initial;
    height: initial;
  }

  @media (forced-colors: active) {
    [part='checkbox'] {
      outline: 1px solid;
      outline-offset: -1px;
    }

    :host([disabled]) [part='checkbox'],
    :host([disabled]) [part='checkbox']::after {
      outline-color: GrayText;
    }

    :host(:is([checked], [indeterminate])) [part='checkbox']::after {
      outline: 1px solid;
      outline-offset: -1px;
      border-radius: inherit;
    }

    :host([focused]) [part='checkbox'],
    :host([focused]) [part='checkbox']::after {
      outline-width: 2px;
    }
  }
`,{moduleId:"vaadin-checkbox-styles"});class LE extends(ME(lA(yk(vo)))){static get is(){return"vaadin-checkbox"}static get template(){return fo`
      <div class="vaadin-checkbox-container">
        <div part="checkbox" aria-hidden="true"></div>
        <slot name="input"></slot>
        <slot name="label"></slot>
      </div>
      <slot name="tooltip"></slot>
    `}ready(){super.ready(),this._tooltipController=new US(this),this._tooltipController.setAriaTarget(this.inputElement),this.addController(this._tooltipController)}}ak(LE);const BE=e=>class extends e{static get properties(){return{width:{type:String,value:"58px",sync:!0},flexGrow:{type:Number,value:0,sync:!0},selectAll:{type:Boolean,value:!1,notify:!0,sync:!0},autoSelect:{type:Boolean,value:!1,sync:!0},dragSelect:{type:Boolean,value:!1,sync:!0},_indeterminate:{type:Boolean,sync:!0},_selectAllHidden:Boolean}}static get observers(){return["_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, selectAll, _indeterminate, _selectAllHidden)"]}_defaultHeaderRenderer(e,t){let i=e.firstElementChild;i||(i=document.createElement("vaadin-checkbox"),i.setAttribute("aria-label","Select All"),i.classList.add("vaadin-grid-select-all-checkbox"),e.appendChild(i),i.addEventListener("checked-changed",this.__onSelectAllCheckedChanged.bind(this)));const n=this.__isChecked(this.selectAll,this._indeterminate);i.__rendererChecked=n,i.checked=n,i.hidden=this._selectAllHidden,i.indeterminate=this._indeterminate}_defaultRenderer(e,t,{item:i,selected:n}){let r=e.firstElementChild;r||(r=document.createElement("vaadin-checkbox"),r.setAttribute("aria-label","Select Row"),e.appendChild(r),r.addEventListener("checked-changed",this.__onSelectRowCheckedChanged.bind(this)),Xk(e,"track",this.__onCellTrack.bind(this)),e.addEventListener("mousedown",this.__onCellMouseDown.bind(this)),e.addEventListener("click",this.__onCellClick.bind(this))),r.__item=i,r.__rendererChecked=n,r.checked=n}__onSelectAllCheckedChanged(e){e.target.checked!==e.target.__rendererChecked&&(this._indeterminate||e.target.checked?this._selectAll():this._deselectAll())}__onSelectRowCheckedChanged(e){e.target.checked!==e.target.__rendererChecked&&(e.target.checked?this._selectItem(e.target.__item):this._deselectItem(e.target.__item))}__onCellTrack(e){if(this.dragSelect)if(this.__dragCurrentY=e.detail.y,this.__dragDy=e.detail.dy,"start"===e.detail.state){const t=this._grid._getRenderedRows().find((t=>t.contains(e.currentTarget.assignedSlot)));this.__selectOnDrag=!this._grid._isSelected(t._item),this.__dragStartIndex=t.index,this.__dragStartItem=t._item,this.__dragAutoScroller()}else"end"===e.detail.state&&(this.__dragStartItem&&(this.__selectOnDrag?this._selectItem(this.__dragStartItem):this._deselectItem(this.__dragStartItem)),setTimeout((()=>{this.__dragStartIndex=void 0})))}__onCellMouseDown(e){this.dragSelect&&e.preventDefault()}__onCellClick(e){void 0!==this.__dragStartIndex&&e.preventDefault()}_onCellKeyDown(e){const t=e.composedPath()[0];if(32===e.keyCode&&(t===this._headerCell||this._cells.includes(t)&&!this.autoSelect)){const e=t._content.firstElementChild;e.checked=!e.checked}}__dragAutoScroller(){if(void 0===this.__dragStartIndex)return;const e=this._grid._getRenderedRows(),t=e.find((e=>{const t=e.getBoundingClientRect();return this.__dragCurrentY>=t.top&&this.__dragCurrentY<=t.bottom}));let i=t?t.index:void 0;const n=this.__getScrollableArea();this.__dragCurrentY<n.top?i=this._grid._firstVisibleIndex:this.__dragCurrentY>n.bottom&&(i=this._grid._lastVisibleIndex),void 0!==i&&e.forEach((e=>{(i>this.__dragStartIndex&&e.index>=this.__dragStartIndex&&e.index<=i||i<this.__dragStartIndex&&e.index<=this.__dragStartIndex&&e.index>=i)&&(this.__selectOnDrag?this._selectItem(e._item):this._deselectItem(e._item),this.__dragStartItem=void 0)}));const r=.15*n.height;if(this.__dragDy<0&&this.__dragCurrentY<n.top+r){const e=n.top+r-this.__dragCurrentY,t=Math.min(1,e/r);this._grid.$.table.scrollTop-=10*t}if(this.__dragDy>0&&this.__dragCurrentY>n.bottom-r){const e=this.__dragCurrentY-(n.bottom-r),t=Math.min(1,e/r);this._grid.$.table.scrollTop+=10*t}setTimeout((()=>this.__dragAutoScroller()),10)}__getScrollableArea(){const e=this._grid.$.table.getBoundingClientRect(),t=this._grid.$.header.getBoundingClientRect(),i=this._grid.$.footer.getBoundingClientRect();return{top:e.top+t.height,bottom:e.bottom-i.height,left:e.left,right:e.right,height:e.height-t.height-i.height,width:e.width}}_selectAll(){}_deselectAll(){}_selectItem(e){}_deselectItem(e){}__isChecked(e,t){return t||e}},zE=e=>class extends(BE(e)){static get properties(){return{__previousActiveItem:Object}}static get observers(){return["__onSelectAllChanged(selectAll)"]}constructor(){super(),this.__boundOnActiveItemChanged=this.__onActiveItemChanged.bind(this),this.__boundOnDataProviderChanged=this.__onDataProviderChanged.bind(this),this.__boundOnSelectedItemsChanged=this.__onSelectedItemsChanged.bind(this)}disconnectedCallback(){this._grid.removeEventListener("active-item-changed",this.__boundOnActiveItemChanged),this._grid.removeEventListener("data-provider-changed",this.__boundOnDataProviderChanged),this._grid.removeEventListener("filter-changed",this.__boundOnSelectedItemsChanged),this._grid.removeEventListener("selected-items-changed",this.__boundOnSelectedItemsChanged),super.disconnectedCallback()}connectedCallback(){super.connectedCallback(),this._grid&&(this._grid.addEventListener("active-item-changed",this.__boundOnActiveItemChanged),this._grid.addEventListener("data-provider-changed",this.__boundOnDataProviderChanged),this._grid.addEventListener("filter-changed",this.__boundOnSelectedItemsChanged),this._grid.addEventListener("selected-items-changed",this.__boundOnSelectedItemsChanged))}__onSelectAllChanged(e){void 0!==e&&this._grid&&(this.__selectAllInitialized?this._selectAllChangeLock||(e&&this.__hasArrayDataProvider()?this.__withFilteredItemsArray((e=>{this._grid.selectedItems=e})):this._grid.selectedItems=[]):this.__selectAllInitialized=!0)}__arrayContains(e,t){return Array.isArray(e)&&Array.isArray(t)&&t.every((t=>e.includes(t)))}_selectAll(){this.selectAll=!0}_deselectAll(){this.selectAll=!1}_selectItem(e){this._grid.selectItem(e)}_deselectItem(e){this._grid.deselectItem(e)}__onActiveItemChanged(e){const t=e.detail.value;if(this.autoSelect){const e=t||this.__previousActiveItem;e&&this._grid._toggleItem(e)}this.__previousActiveItem=t}__hasArrayDataProvider(){return Array.isArray(this._grid.items)&&!!this._grid.dataProvider}__onSelectedItemsChanged(){this._selectAllChangeLock=!0,this.__hasArrayDataProvider()&&this.__withFilteredItemsArray((e=>{this._grid.selectedItems.length?this.__arrayContains(this._grid.selectedItems,e)?(this.selectAll=!0,this._indeterminate=!1):(this.selectAll=!1,this._indeterminate=!0):(this.selectAll=!1,this._indeterminate=!1)})),this._selectAllChangeLock=!1}__onDataProviderChanged(){this._selectAllHidden=!Array.isArray(this._grid.items)}__withFilteredItemsArray(e){const t={page:0,pageSize:1/0,sortOrders:[],filters:this._grid._mapFilters()};this._grid.dataProvider(t,(t=>e(t)))}};class jE extends(zE(UA)){static get is(){return"vaadin-grid-selection-column"}}ak(jE),uk("vaadin-grid-sorter",u`
    :host {
      justify-content: flex-start;
      height: 100%;
      align-items: center;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    }

    :host([direction]) {
      color: var(--material-body-text-color);
    }

    [part='indicators'] {
      order: -1;
    }

    [part='indicators']::before {
      display: inline-block;
      width: 24px;
      font-family: 'material-icons';
      font-size: 18px;
      line-height: 18px;
      transition: 0.1s opacity cubic-bezier(0.4, 0, 0.2, 0.1), 0.1s width cubic-bezier(0.4, 0, 0.2, 0.1);
      opacity: 0.5;
    }

    :host(:not([direction])) [part='indicators']::before {
      content: var(--material-icons-arrow-upward);
      width: 0;
      opacity: 0;
    }

    :host([direction]) [part='indicators']::before {
      opacity: 1;
    }

    :host([direction='asc']) [part='indicators']::before {
      content: var(--material-icons-arrow-upward);
    }

    :host([direction='desc']) [part='indicators']::before {
      content: var(--material-icons-arrow-downward);
    }

    :host(:hover) [part='indicators']::before {
      width: 24px;
      opacity: 1;
    }

    [part='order'] {
      right: 4px;
      top: -8px;
      font-size: 10px;
    }

    /* RTL specific styles */

    :host([dir='rtl']) [part='order'] {
      left: 4px;
      right: auto;
    }
  `,{moduleId:"material-grid-sorter"});const HE=document.createElement("template");HE.innerHTML="\n  <style>\n    @font-face {\n      font-family: 'vaadin-grid-sorter-icons';\n      src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAQwAA0AAAAABuwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEFAAAABkAAAAcfep+mUdERUYAAAP4AAAAHAAAAB4AJwAOT1MvMgAAAZgAAAA/AAAAYA8TBPpjbWFwAAAB7AAAAFUAAAFeF1fZ4mdhc3AAAAPwAAAACAAAAAgAAAAQZ2x5ZgAAAlgAAABcAAAAnMvguMloZWFkAAABMAAAAC8AAAA2C5Ap72hoZWEAAAFgAAAAHQAAACQGbQPHaG10eAAAAdgAAAAUAAAAHAoAAABsb2NhAAACRAAAABIAAAASAIwAYG1heHAAAAGAAAAAFgAAACAACwAKbmFtZQAAArQAAAECAAACZxWCgKhwb3N0AAADuAAAADUAAABZCrApUXicY2BkYGAA4rDECVrx/DZfGbhZGEDgyqNPOxH0/wNMq5kPALkcDEwgUQBWRA0dAHicY2BkYGA+8P8AAwMLAwgwrWZgZEAFbABY4QM8AAAAeJxjYGRgYOAAQiYGEICQSAAAAi8AFgAAeJxjYGY6yziBgZWBgWkm0xkGBoZ+CM34msGYkZMBFTAKoAkwODAwvmRiPvD/AIMDMxCD1CDJKjAwAgBktQsXAHicY2GAAMZQCM0EwqshbAALxAEKeJxjYGBgZoBgGQZGBhCIAPIYwXwWBhsgzcXAwcAEhIwMCi+Z/v/9/x+sSuElA4T9/4k4K1gHFwMMMILMY2QDYmaoABOQYGJABUA7WBiGNwAAJd4NIQAAAAAAAAAACAAIABAAGAAmAEAATgAAeJyNjLENgDAMBP9tIURJwQCMQccSZgk2i5fIYBDAidJjycXr7x5EPwE2wY8si7jmyBNXGo/bNBerxJNrpxhbO3/fEFpx8ZICpV+ghxJ74fAMe+h7Ox14AbrsHB14nK2QQWrDMBRER4mTkhQK3ZRQKOgCNk7oGQqhhEIX2WSlWEI1BAlkJ5CDdNsj5Ey9Rncdi38ES+jzNJo/HwTgATcoDEthhY3wBHc4CE+pfwsX5F/hGe7Vo/AcK/UhvMSz+mGXKhZU6pww8ISz3oWn1BvhgnwTnuEJf8Jz1OpFeIlX9YULDLdFi4ASHolkSR0iuYdjLak1vAequBhj21D61Nqyi6l3qWybGPjySbPHGScGJl6dP58MYcQRI0bts7mjebBqrFENH7t3qWtj0OuqHnXcW7b0HOTZFnKryRGW2hFX1m0O2vEM3opNMfTau+CS6Z3Vx6veNnEXY6jwDxhsc2gAAHicY2BiwA84GBgYmRiYGJkZmBlZGFkZ2djScyoLMgzZS/MyDQwMwLSrpYEBlIbxjQDrzgsuAAAAAAEAAf//AA94nGNgZGBg4AFiMSBmYmAEQnYgZgHzGAAD6wA2eJxjYGBgZACCKyoz1cD0o087YTQATOcIewAAAA==) format('woff');\n      font-weight: normal;\n      font-style: normal;\n    }\n  </style>\n",document.head.appendChild(HE.content),uk("vaadin-grid-sorter",u`
    :host {
      display: inline-flex;
      cursor: pointer;
      max-width: 100%;
    }

    [part='content'] {
      flex: 1 1 auto;
    }

    [part='indicators'] {
      position: relative;
      align-self: center;
      flex: none;
    }

    [part='order'] {
      display: inline;
      vertical-align: super;
    }

    [part='indicators']::before {
      font-family: 'vaadin-grid-sorter-icons';
      display: inline-block;
    }

    :host(:not([direction])) [part='indicators']::before {
      content: '\\e901';
    }

    :host([direction='asc']) [part='indicators']::before {
      content: '\\e900';
    }

    :host([direction='desc']) [part='indicators']::before {
      content: '\\e902';
    }
  `,{moduleId:"vaadin-grid-sorter-styles"});const UE=e=>class extends e{static get properties(){return{path:String,direction:{type:String,reflectToAttribute:!0,notify:!0,value:null,sync:!0},_order:{type:Number,value:null,sync:!0},_isConnected:{type:Boolean,observer:"__isConnectedChanged"}}}static get observers(){return["_pathOrDirectionChanged(path, direction)"]}ready(){super.ready(),this.addEventListener("click",this._onClick.bind(this))}connectedCallback(){super.connectedCallback(),this._isConnected=!0}disconnectedCallback(){super.disconnectedCallback(),this._isConnected=!1,!this.parentNode&&this._grid&&this._grid.__removeSorters([this])}_pathOrDirectionChanged(){this.__dispatchSorterChangedEvenIfPossible()}__isConnectedChanged(e,t){!1!==t&&this.__dispatchSorterChangedEvenIfPossible()}__dispatchSorterChangedEvenIfPossible(){void 0!==this.path&&void 0!==this.direction&&this._isConnected&&(this.dispatchEvent(new CustomEvent("sorter-changed",{detail:{shiftClick:Boolean(this._shiftClick),fromSorterClick:Boolean(this._fromSorterClick)},bubbles:!0,composed:!0})),this._fromSorterClick=!1,this._shiftClick=!1)}_getDisplayOrder(e){return null===e?"":e+1}_onClick(e){if(e.defaultPrevented)return;const t=this.getRootNode().activeElement;this!==t&&this.contains(t)||(e.preventDefault(),this._shiftClick=e.shiftKey,this._fromSorterClick=!0,"asc"===this.direction?this.direction="desc":"desc"===this.direction?this.direction=null:this.direction="asc")}};class $E extends(UE(yk(mS(vo)))){static get template(){return fo`
      <div part="content">
        <slot></slot>
      </div>
      <div part="indicators">
        <span part="order">[[_getDisplayOrder(_order)]]</span>
      </div>
    `}static get is(){return"vaadin-grid-sorter"}}ak($E);const VE=e=>class extends e{static get properties(){return{path:{type:String,sync:!0},direction:{type:String,notify:!0,sync:!0}}}static get observers(){return["_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, direction)"]}constructor(){super(),this.__boundOnDirectionChanged=this.__onDirectionChanged.bind(this)}_defaultHeaderRenderer(e,t){let i=e.firstElementChild;i||(i=document.createElement("vaadin-grid-sorter"),i.addEventListener("direction-changed",this.__boundOnDirectionChanged),e.appendChild(i)),i.path=this.path,i.__rendererDirection=this.direction,i.direction=this.direction,i.textContent=this.__getHeader(this.header,this.path)}_computeHeaderRenderer(){return this._defaultHeaderRenderer}__onDirectionChanged(e){e.detail.value!==e.target.__rendererDirection&&(this.direction=e.detail.value)}__getHeader(e,t){return e||(t?this._generateHeader(t):void 0)}};class WE extends(VE(UA)){static get is(){return"vaadin-grid-sort-column"}}ak(WE),uk("vaadin-grid-tree-toggle",u`
    :host {
      --_material-grid-tree-toggle-collapsed-icon-transform: rotate(0);
    }

    :host([dir='rtl']) {
      --_material-grid-tree-toggle-collapsed-icon-transform: rotate(180deg);
    }

    [part='toggle'] {
      width: calc(var(--material-icon-font-size) + 8px);
      position: relative;
      align-self: stretch; /* NOTE(platosha): helps to maintain baseline */
    }

    [part='toggle']::before {
      font-family: 'material-icons';
      font-size: var(--material-icon-font-size);
      width: var(--material-icon-font-size);
      position: absolute; /* NOTE(platosha): helps to maintain baseline */
      transform: var(--_material-grid-tree-toggle-collapsed-icon-transform);
      transition: transform 0.1s cubic-bezier(0.4, 0, 0.2, 0.1);
    }

    :host(:not([expanded])) [part='toggle']::before,
    :host([expanded]) [part='toggle']::before {
      content: var(--material-icons-chevron-right);
    }

    :host([expanded]) [part='toggle']::before {
      transform: rotate(90deg);
    }
  `,{moduleId:"material-grid-tree-toggle"});const GE=e=>{if(!e.parentNode)return!1;const t=Array.from(e.parentNode.querySelectorAll("[tabindex], button, input, select, textarea, object, iframe, a[href], area[href]")).filter((e=>{const t=e.getAttribute("part");return!(t&&t.includes("body-cell"))})).includes(e);return!e.disabled&&t&&e.offsetParent&&"hidden"!==getComputedStyle(e).visibility},qE=e=>class extends e{static get properties(){return{activeItem:{type:Object,notify:!0,value:null,sync:!0}}}ready(){super.ready(),this.$.scroller.addEventListener("click",this._onClick.bind(this)),this.addEventListener("cell-activate",this._activateItem.bind(this)),this.addEventListener("row-activate",this._activateItem.bind(this))}_activateItem(e){const t=e.detail.model,i=t?t.item:null;i&&(this.activeItem=this._itemsEqual(this.activeItem,i)?null:i)}_onClick(e){if(e.defaultPrevented)return;const t=e.composedPath(),i=t[t.indexOf(this.$.table)-3];if(!i||i.getAttribute("part").indexOf("details-cell")>-1)return;const n=i._content,r=this.getRootNode().activeElement;n.contains(r)||this._isFocusable(e.target)||e.target instanceof HTMLLabelElement||this.dispatchEvent(new CustomEvent("cell-activate",{detail:{model:this.__getRowModel(i.parentElement)}}))}_isFocusable(e){return GE(e)}},YE=document.createElement("template");YE.innerHTML="\n  <style>\n    @font-face {\n      font-family: \"vaadin-grid-tree-icons\";\n      src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAQkAA0AAAAABrwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAECAAAABoAAAAcgHwa6EdERUYAAAPsAAAAHAAAAB4AJwAOT1MvMgAAAZQAAAA/AAAAYA8TBIJjbWFwAAAB8AAAAFUAAAFeGJvXWmdhc3AAAAPkAAAACAAAAAgAAAAQZ2x5ZgAAAlwAAABLAAAAhIrPOhFoZWFkAAABMAAAACsAAAA2DsJI02hoZWEAAAFcAAAAHQAAACQHAgPHaG10eAAAAdQAAAAZAAAAHAxVAgBsb2NhAAACSAAAABIAAAASAIAAVG1heHAAAAF8AAAAGAAAACAACgAFbmFtZQAAAqgAAAECAAACTwflzbdwb3N0AAADrAAAADYAAABZQ7Ajh3icY2BkYGAA4twv3Vfi+W2+MnCzMIDANSOmbGSa2YEZRHEwMIEoAAoiB6sAeJxjYGRgYD7w/wADAwsDCDA7MDAyoAI2AFEEAtIAAAB4nGNgZGBg4GBgZgDRDAxMDGgAAAGbABB4nGNgZp7JOIGBlYGBaSbTGQYGhn4IzfiawZiRkwEVMAqgCTA4MDA+38d84P8BBgdmIAapQZJVYGAEAGc/C54AeJxjYYAAxlAIzQTELAwMBxgZGB0ACy0BYwAAAHicY2BgYGaAYBkGRgYQiADyGMF8FgYbIM3FwMHABISMDArP9/3/+/8/WJXC8z0Q9v8nEp5gHVwMMMAIMo+RDYiZoQJMQIKJARUA7WBhGN4AACFKDtoAAAAAAAAAAAgACAAQABgAJgA0AEIAAHichYvBEYBADAKBVHBjBT4swl9KS2k05o0XHd/yW1hAfBFwCv9sIlJu3nZaNS3PXAaXXHI8Lge7DlzF7C1RgXc7xkK6+gvcD2URmQB4nK2RQWoCMRiFX3RUqtCli65yADModOMBLLgQSqHddRFnQghIAnEUvEA3vUUP0LP0Fj1G+yb8R5iEhO9/ef/7FwFwj28o9EthiVp4hBlehcfUP4Ur8o/wBAv8CU+xVFvhOR7UB7tUdUdlVRJ6HnHWTnhM/V24In8JT5j/KzzFSi2E53hUz7jCcrcIiDDwyKSW1JEct2HdIPH1DFytbUM0PofWdNk5E5oUqb/Q6HHBiVGZpfOXkyUMEj5IyBuNmYZQjBobfsuassvnkKLe1OuBBj0VQ8cRni2xjLWsHaM0jrjx3peYA0/vrdmUYqe9iy7bzrX6eNP7Jh1SijX+AaUVbB8AAHicY2BiwA84GBgYmRiYGJkZmBlZGFkZ2djScyoLMgzZS/MyDQwMwLSruZMzlHaB0q4A76kLlwAAAAEAAf//AA94nGNgZGBg4AFiMSBmYmAEQnYgZgHzGAAD6wA2eJxjYGBgZACCKxJigiD6mhFTNowGACmcA/8AAA==) format('woff');\n      font-weight: normal;\n      font-style: normal;\n    }\n  </style>\n",document.head.appendChild(YE.content),uk("vaadin-grid-tree-toggle",u`
    :host {
      display: inline-flex;
      align-items: baseline;
      max-width: 100%;

      /* CSS API for :host */
      --vaadin-grid-tree-toggle-level-offset: 1em;
      --_collapsed-icon: '\\e7be\\00a0';
    }

    :host([dir='rtl']) {
      --_collapsed-icon: '\\e7bd\\00a0';
    }

    :host([hidden]) {
      display: none !important;
    }

    :host(:not([leaf])) {
      cursor: pointer;
    }

    #level-spacer,
    [part='toggle'] {
      flex: none;
    }

    #level-spacer {
      display: inline-block;
      width: calc(var(---level, '0') * var(--vaadin-grid-tree-toggle-level-offset));
    }

    [part='toggle']::before {
      font-family: 'vaadin-grid-tree-icons';
      line-height: 1em; /* make icon font metrics not affect baseline */
    }

    :host(:not([expanded])) [part='toggle']::before {
      content: var(--_collapsed-icon);
    }

    :host([expanded]) [part='toggle']::before {
      content: '\\e7bc\\00a0'; /* icon glyph + single non-breaking space */
    }

    :host([leaf]) [part='toggle'] {
      visibility: hidden;
    }

    slot {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  `,{moduleId:"vaadin-grid-tree-toggle-styles"});const KE=e=>class extends e{static get properties(){return{level:{type:Number,value:0,observer:"_levelChanged",sync:!0},leaf:{type:Boolean,value:!1,reflectToAttribute:!0},expanded:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,sync:!0}}}constructor(){super(),this.addEventListener("click",(e=>this._onClick(e)))}_onClick(e){this.leaf||GE(e.target)||e.target instanceof HTMLLabelElement||(e.preventDefault(),this.expanded=!this.expanded)}_levelChanged(e){const t=Number(e).toString();this.style.setProperty("---level",t)}};class JE extends(KE(yk(mS(vo)))){static get is(){return"vaadin-grid-tree-toggle"}static get template(){return fo`
      <span id="level-spacer"></span>
      <span part="toggle"></span>
      <slot></slot>
    `}}ak(JE);const ZE=e=>class extends e{static get properties(){return{path:{type:String,sync:!0}}}static get observers(){return["_onRendererOrBindingChanged(_renderer, _cells, _bodyContentHidden, _cells.*, path)"]}constructor(){super(),this.__boundOnExpandedChanged=this.__onExpandedChanged.bind(this)}__defaultRenderer(e,t,{item:i,expanded:n,level:r}){let s=e.firstElementChild;s||(s=document.createElement("vaadin-grid-tree-toggle"),s.addEventListener("expanded-changed",this.__boundOnExpandedChanged),e.appendChild(s)),s.__item=i,s.__rendererExpanded=n,s.expanded=n,s.leaf=this.__isLeafItem(i,this._grid.itemHasChildrenPath),s.textContent=this.__getToggleContent(this.path,i),s.level=r,s.performUpdate&&s.performUpdate()}_computeRenderer(){return this.__defaultRenderer}__onExpandedChanged(e){e.detail.value!==e.target.__rendererExpanded&&(e.detail.value?this._grid.expandItem(e.target.__item):this._grid.collapseItem(e.target.__item))}__isLeafItem(e,t){return!e||!e[t]}__getToggleContent(e,t){return e&&EA(e,t)}};class QE extends(ZE(UA)){static get is(){return"vaadin-grid-tree-column"}}ak(QE),uk("vaadin-grid",u`
    :host {
      background-color: var(--material-background-color);
      font-family: var(--material-font-family);
      font-size: var(--material-small-font-size);
      line-height: 20px;
      color: var(--material-body-text-color);
    }

    :host([disabled]) {
      opacity: 0.7;
    }

    [part~='cell'] {
      min-height: 48px;
      -webkit-tap-highlight-color: transparent;
      --_cell-padding: var(--vaadin-grid-cell-padding, var(--_cell-default-padding));
      --_cell-default-padding: 8px 16px;
    }

    [part~='cell'] ::slotted(vaadin-grid-cell-content) {
      padding: var(--_cell-padding);
    }

    [part~='details-cell'] {
      --_cell-default-padding: 14px 16px;
    }

    [part~='header-cell'],
    [part~='footer-cell'] {
      background-color: var(--vaadin-grid-cell-background, var(--material-background-color));
      color: var(--material-secondary-text-color);
      font-size: var(--material-caption-font-size);
      font-weight: 500;
    }

    /* Header and footer divider between body rows */

    [part~='body-cell'],
    [part~='details-cell'],
    [part~='row']:last-child > [part~='header-cell'] {
      border-bottom: 1px solid var(--material-divider-color);
    }

    [part~='row']:first-child > [part~='footer-cell'] {
      border-top: 1px solid var(--material-divider-color);
    }

    /* Body rows/cells */

    [part~='body-cell'] {
      background-color: var(--vaadin-grid-cell-background, var(--material-background-color));
    }

    [part~='row']:hover > [part~='body-cell'] {
      background: var(
        --vaadin-grid-cell-background,
        linear-gradient(
            var(--_material-grid-row-hover-background-color, rgba(0, 0, 0, 0.04)),
            var(--_material-grid-row-hover-background-color, rgba(0, 0, 0, 0.04))
          )
          var(--material-background-color)
      );
    }

    @media (hover: none) {
      [part~='row']:hover > [part~='body-cell'] {
        background: var(--material-background-color);
      }
    }

    /* Selected row */

    [part~='body-cell']::before {
      content: '';
      pointer-events: none;
      position: absolute;
      inset: 0;
      background-color: var(--material-primary-color);
      opacity: 0;
      transition: opacity 0.1s cubic-bezier(0.4, 0, 0.2, 0.1);
    }

    :host(:not([reordering])) [part~='row'][selected] > [part~='body-cell']::before {
      opacity: var(--_material-grid-row-selected-overlay-opacity, 0.08);
    }

    [part~='body-cell'] ::slotted(vaadin-grid-cell-content) {
      /* NOTE(platosha): Raise cell content above background cell pseudo elements */
      position: relative;
    }

    /* Column reordering */

    :host([reordering]) [part~='cell'] {
      background: var(--material-secondary-background-color);
    }

    :host([reordering]) [part~='cell'][reorder-status='allowed'] {
      background: var(--material-background-color);
    }

    :host([reordering]) [part~='cell'][reorder-status='dragging'] {
      background: var(--material-background-color);
    }

    /* Frozen columns */

    [part~='cell'][last-frozen] {
      border-right: 1px solid var(--material-divider-color);
    }

    [part~='cell'][first-frozen-to-end] {
      border-left: 1px solid var(--material-divider-color);
    }

    /* Column resizing */

    [part~='cell']:not([last-frozen]) [part='resize-handle'] {
      border-right: 1px solid var(--material-divider-color);
    }

    /* Keyboard navigation */

    [part~='row'] {
      position: relative;
    }

    [part~='row']:focus,
    [part~='focused-cell']:focus {
      outline: none;
    }

    :host([navigating]) [part~='row']:focus::before,
    :host([navigating]) [part~='focused-cell']:focus {
      box-shadow: inset 0 0 0 2px var(--material-primary-color);
    }

    :host([navigating]) [part~='row']:focus::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      transform: translateX(calc(-1 * var(--_grid-horizontal-scroll-position)));
      z-index: 3;
    }

    /* Drag and Drop styles */
    :host([dragover])::after {
      content: '';
      position: absolute;
      z-index: 100;
      inset: 0;
      pointer-events: none;
      box-shadow: inset 0 0 0 2px var(--material-primary-color);
    }

    [part~='row'][dragover] {
      z-index: 100 !important;
    }

    [part~='row'][dragover] [part~='cell'] {
      overflow: visible;
    }

    [part~='row'][dragover] [part~='cell']::after {
      content: '';
      position: absolute;
      inset: 0;
      height: 3px;
      pointer-events: none;
      background: var(--material-primary-color);
    }

    [part~='row'][dragover='below'] [part~='cell']::after {
      top: 100%;
      bottom: auto;
      margin-top: -1px;
    }

    :host([all-rows-visible]) [part~='last-row'][dragover='below'] [part~='cell']::after {
      height: 1px;
    }

    [part~='row'][dragover='above'] [part~='cell']::after {
      top: auto;
      bottom: 100%;
      margin-bottom: -1px;
    }

    [part~='row'][details-opened][dragover='below'] [part~='cell']:not([part~='details-cell'])::after,
    [part~='row'][details-opened][dragover='above'] [part~='details-cell']::after {
      display: none;
    }

    [part~='row'][dragover][dragover='on-top'] [part~='cell']::after {
      height: 100%;
      opacity: 0.5;
    }

    [part~='row'][dragstart] {
      z-index: 100 !important;
      opacity: 0.9;
    }

    [part~='row'][dragstart] [part~='cell'] {
      border: none !important;
      box-shadow: none !important;
    }

    #scroller [part~='row'][dragstart]:not([dragstart=''])::after {
      display: block;
      position: absolute;
      left: var(--_grid-drag-start-x);
      top: var(--_grid-drag-start-y);
      z-index: 100;
      content: attr(dragstart);
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      padding: 4px;
      color: var(--material-primary-contrast-color);
      background-color: var(--material-error-color);
      min-width: 24px;
      border-radius: 2px;
      font-size: var(--material-caption-font-size);
      text-align: center;
      line-height: 1;
    }

    /* RTL specific styles */

    :host([dir='rtl']) [part~='cell'][last-frozen] {
      border-right: none;
      border-left: 1px solid var(--material-divider-color);
    }

    :host([dir='rtl']) [part~='cell'][first-frozen-to-end] {
      border-left: none;
      border-right: 1px solid var(--material-divider-color);
    }

    :host([dir='rtl']) [part~='cell']:not([last-frozen]) [part='resize-handle'] {
      border-right: none;
      border-left: 1px solid var(--material-divider-color);
    }

    :host([dir='rtl']) #scroller [part~='row'][dragstart]:not([dragstart=''])::after {
      left: auto;
      right: var(--_grid-drag-start-x);
    }
  `,{moduleId:"material-grid"});const XE=navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/u),eC=XE&&XE[1]>=8,tC={_ratio:.5,_scrollerPaddingTop:0,_scrollPosition:0,_physicalSize:0,_physicalAverage:0,_physicalAverageCount:0,_physicalTop:0,_virtualCount:0,_estScrollHeight:0,_scrollHeight:0,_viewportHeight:0,_viewportWidth:0,_physicalItems:null,_physicalSizes:null,_firstVisibleIndexVal:null,_lastVisibleIndexVal:null,_maxPages:2,_templateCost:0,get _physicalBottom(){return this._physicalTop+this._physicalSize},get _scrollBottom(){return this._scrollPosition+this._viewportHeight},get _virtualEnd(){return this._virtualStart+this._physicalCount-1},get _hiddenContentSize(){return this._physicalSize-this._viewportHeight},get _maxScrollTop(){return this._estScrollHeight-this._viewportHeight+this._scrollOffset},get _maxVirtualStart(){const e=this._virtualCount;return Math.max(0,e-this._physicalCount)},get _virtualStart(){return this._virtualStartVal||0},set _virtualStart(e){e=this._clamp(e,0,this._maxVirtualStart),this._virtualStartVal=e},get _physicalStart(){return this._physicalStartVal||0},set _physicalStart(e){(e%=this._physicalCount)<0&&(e=this._physicalCount+e),this._physicalStartVal=e},get _physicalEnd(){return(this._physicalStart+this._physicalCount-1)%this._physicalCount},get _physicalCount(){return this._physicalCountVal||0},set _physicalCount(e){this._physicalCountVal=e},get _optPhysicalSize(){return 0===this._viewportHeight?1/0:this._viewportHeight*this._maxPages},get _isVisible(){return Boolean(this.offsetWidth||this.offsetHeight)},get firstVisibleIndex(){let e=this._firstVisibleIndexVal;if(null==e){let t=this._physicalTop+this._scrollOffset;e=this._iterateItems(((e,i)=>{if(t+=this._getPhysicalSizeIncrement(e),t>this._scrollPosition)return i}))||0,this._firstVisibleIndexVal=e}return e},get lastVisibleIndex(){let e=this._lastVisibleIndexVal;if(null==e){let t=this._physicalTop+this._scrollOffset;this._iterateItems(((i,n)=>{t<this._scrollBottom&&(e=n),t+=this._getPhysicalSizeIncrement(i)})),this._lastVisibleIndexVal=e}return e},get _scrollOffset(){return this._scrollerPaddingTop+this.scrollOffset},_scrollHandler(){const e=Math.max(0,Math.min(this._maxScrollTop,this._scrollTop));let t=e-this._scrollPosition;const i=t>=0;if(this._scrollPosition=e,this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,Math.abs(t)>this._physicalSize&&this._physicalSize>0){t-=this._scrollOffset;const e=Math.round(t/this._physicalAverage);this._virtualStart+=e,this._physicalStart+=e,this._physicalTop=Math.min(Math.floor(this._virtualStart)*this._physicalAverage,this._scrollPosition),this._update()}else if(this._physicalCount>0){const e=this._getReusables(i);i?(this._physicalTop=e.physicalTop,this._virtualStart+=e.indexes.length,this._physicalStart+=e.indexes.length):(this._virtualStart-=e.indexes.length,this._physicalStart-=e.indexes.length),this._update(e.indexes,i?null:e.indexes),this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,0),Ik)}},_getReusables(e){let t,i,n;const r=[],s=this._hiddenContentSize*this._ratio,o=this._virtualStart,a=this._virtualEnd,l=this._physicalCount;let d=this._physicalTop+this._scrollOffset;const c=this._physicalBottom+this._scrollOffset,h=this._scrollPosition,u=this._scrollBottom;for(e?(t=this._physicalStart,i=h-d):(t=this._physicalEnd,i=c-u);n=this._getPhysicalSizeIncrement(t),i-=n,!(r.length>=l||i<=s);)if(e){if(a+r.length+1>=this._virtualCount)break;if(d+n>=h-this._scrollOffset)break;r.push(t),d+=n,t=(t+1)%l}else{if(o-r.length<=0)break;if(d+this._physicalSize-n<=u)break;r.push(t),d-=n,t=0===t?l-1:t-1}return{indexes:r,physicalTop:d-this._scrollOffset}},_update(e,t){if(!(e&&0===e.length||0===this._physicalCount)){if(this._assignModels(e),this._updateMetrics(e),t)for(;t.length;){const e=t.pop();this._physicalTop-=this._getPhysicalSizeIncrement(e)}this._positionItems(),this._updateScrollerSize()}},_isClientFull(){return 0!==this._scrollBottom&&this._physicalBottom-1>=this._scrollBottom&&this._physicalTop<=this._scrollPosition},_increasePoolIfNeeded(e){const t=this._clamp(this._physicalCount+e,3,this._virtualCount-this._virtualStart)-this._physicalCount;let i=Math.round(.5*this._physicalCount);if(!(t<0)){if(t>0){const e=window.performance.now();[].push.apply(this._physicalItems,this._createPool(t));for(let e=0;e<t;e++)this._physicalSizes.push(0);this._physicalCount+=t,this._physicalStart>this._physicalEnd&&this._isIndexRendered(this._focusedVirtualIndex)&&this._getPhysicalIndex(this._focusedVirtualIndex)<this._physicalEnd&&(this._physicalStart+=t),this._update(),this._templateCost=(window.performance.now()-e)/t,i=Math.round(.5*this._physicalCount)}this._virtualEnd>=this._virtualCount-1||0===i||(this._isClientFull()?this._physicalSize<this._optPhysicalSize&&this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,this._clamp(Math.round(50/this._templateCost),1,i)),Tk):this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,i),Ik))}},_render(){if(this.isAttached&&this._isVisible)if(0!==this._physicalCount){const e=this._getReusables(!0);this._physicalTop=e.physicalTop,this._virtualStart+=e.indexes.length,this._physicalStart+=e.indexes.length,this._update(e.indexes),this._update(),this._increasePoolIfNeeded(0)}else this._virtualCount>0&&(this.updateViewportBoundaries(),this._increasePoolIfNeeded(3))},_itemsChanged(e){"items"===e.path&&(this._virtualStart=0,this._physicalTop=0,this._virtualCount=this.items?this.items.length:0,this._physicalIndexForKey={},this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._physicalItems||(this._physicalItems=[]),this._physicalSizes||(this._physicalSizes=[]),this._physicalStart=0,this._scrollTop>this._scrollOffset&&this._resetScrollPosition(0),this._debounce("_render",this._render,Ck))},_iterateItems(e,t){let i,n,r,s;if(2===arguments.length&&t){for(s=0;s<t.length;s++)if(i=t[s],n=this._computeVidx(i),null!=(r=e.call(this,i,n)))return r}else{for(i=this._physicalStart,n=this._virtualStart;i<this._physicalCount;i++,n++)if(null!=(r=e.call(this,i,n)))return r;for(i=0;i<this._physicalStart;i++,n++)if(null!=(r=e.call(this,i,n)))return r}},_computeVidx(e){return e>=this._physicalStart?this._virtualStart+(e-this._physicalStart):this._virtualStart+(this._physicalCount-this._physicalStart)+e},_positionItems(){this._adjustScrollPosition();let e=this._physicalTop;this._iterateItems((t=>{this.translate3d(0,`${e}px`,0,this._physicalItems[t]),e+=this._physicalSizes[t]}))},_getPhysicalSizeIncrement(e){return this._physicalSizes[e]},_adjustScrollPosition(){const e=0===this._virtualStart?this._physicalTop:Math.min(this._scrollPosition+this._physicalTop,0);if(0!==e){this._physicalTop-=e;const t=this._scrollPosition;!eC&&t>0&&this._resetScrollPosition(t-e)}},_resetScrollPosition(e){this.scrollTarget&&e>=0&&(this._scrollTop=e,this._scrollPosition=this._scrollTop)},_updateScrollerSize(e){const t=this._physicalBottom+Math.max(this._virtualCount-this._physicalCount-this._virtualStart,0)*this._physicalAverage;this._estScrollHeight=t,(e||0===this._scrollHeight||this._scrollPosition>=t-this._physicalSize||Math.abs(t-this._scrollHeight)>=this._viewportHeight)&&(this.$.items.style.height=`${t}px`,this._scrollHeight=t)},scrollToIndex(e){if("number"!=typeof e||e<0||e>this.items.length-1)return;if(sA(),0===this._physicalCount)return;e=this._clamp(e,0,this._virtualCount-1),(!this._isIndexRendered(e)||e>=this._maxVirtualStart)&&(this._virtualStart=e-1),this._assignModels(),this._updateMetrics(),this._physicalTop=this._virtualStart*this._physicalAverage;let t=this._physicalStart,i=this._virtualStart,n=0;const r=this._hiddenContentSize;for(;i<e&&n<=r;)n+=this._getPhysicalSizeIncrement(t),t=(t+1)%this._physicalCount,i+=1;this._updateScrollerSize(!0),this._positionItems(),this._resetScrollPosition(this._physicalTop+this._scrollOffset+n),this._increasePoolIfNeeded(0),this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null},_resetAverage(){this._physicalAverage=0,this._physicalAverageCount=0},_resizeHandler(){this._debounce("_render",(()=>{this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._isVisible?(this.updateViewportBoundaries(),this.toggleScrollListener(!0),this._resetAverage(),this._render()):this.toggleScrollListener(!1)}),Ck)},_isIndexRendered(e){return e>=this._virtualStart&&e<=this._virtualEnd},_getPhysicalIndex(e){return(this._physicalStart+(e-this._virtualStart))%this._physicalCount},_clamp:(e,t,i)=>Math.min(i,Math.max(t,e)),_debounce(e,t,i){this._debouncers||(this._debouncers={}),this._debouncers[e]=iA.debounce(this._debouncers[e],i,t.bind(this)),nA(this._debouncers[e])}},iC=1e3;class nC{constructor({createElements:e,updateElement:t,scrollTarget:i,scrollContainer:n,elementsContainer:r,reorderElements:s}){this.isAttached=!0,this._vidxOffset=0,this.createElements=e,this.updateElement=t,this.scrollTarget=i,this.scrollContainer=n,this.elementsContainer=r||n,this.reorderElements=s,this._maxPages=1.3,this.__placeholderHeight=200,this.__elementHeightQueue=Array(10),this.timeouts={SCROLL_REORDER:500,IGNORE_WHEEL:500,FIX_INVALID_ITEM_POSITIONING:100},this.__resizeObserver=new ResizeObserver((()=>this._resizeHandler())),"visible"===getComputedStyle(this.scrollTarget).overflow&&(this.scrollTarget.style.overflow="auto"),"static"===getComputedStyle(this.scrollContainer).position&&(this.scrollContainer.style.position="relative"),this.__resizeObserver.observe(this.scrollTarget),this.scrollTarget.addEventListener("scroll",(()=>this._scrollHandler())),this._scrollLineHeight=this._getScrollLineHeight(),this.scrollTarget.addEventListener("wheel",(e=>this.__onWheel(e))),this.reorderElements&&(this.scrollTarget.addEventListener("mousedown",(()=>{this.__mouseDown=!0})),this.scrollTarget.addEventListener("mouseup",(()=>{this.__mouseDown=!1,this.__pendingReorder&&this.__reorderElements()})))}get scrollOffset(){return 0}get adjustedFirstVisibleIndex(){return this.firstVisibleIndex+this._vidxOffset}get adjustedLastVisibleIndex(){return this.lastVisibleIndex+this._vidxOffset}get _maxVirtualIndexOffset(){return this.size-this._virtualCount}__hasPlaceholders(){return this.__getVisibleElements().some((e=>e.__virtualizerPlaceholder))}scrollToIndex(e){if("number"!=typeof e||isNaN(e)||0===this.size||!this.scrollTarget.offsetHeight)return;delete this.__pendingScrollToIndex,this._physicalCount<=3&&this.flush(),e=this._clamp(e,0,this.size-1);const t=this.__getVisibleElements().length;let i=Math.floor(e/this.size*this._virtualCount);this._virtualCount-i<t?(i=this._virtualCount-(this.size-e),this._vidxOffset=this._maxVirtualIndexOffset):i<t?e<iC?(i=e,this._vidxOffset=0):(i=iC,this._vidxOffset=e-i):this._vidxOffset=e-i,this.__skipNextVirtualIndexAdjust=!0,super.scrollToIndex(i),this.adjustedFirstVisibleIndex!==e&&this._scrollTop<this._maxScrollTop&&!this.grid&&(this._scrollTop-=this.__getIndexScrollOffset(e)||0),this._scrollHandler(),this.__hasPlaceholders()&&(this.__pendingScrollToIndex=e)}flush(){const e=this._physicalCount;0!==this.scrollTarget.offsetHeight&&(this._resizeHandler(),sA(),this._scrollHandler(),this.__fixInvalidItemPositioningDebouncer&&this.__fixInvalidItemPositioningDebouncer.flush(),this.__scrollReorderDebouncer&&this.__scrollReorderDebouncer.flush(),this.__debouncerWheelAnimationFrame&&this.__debouncerWheelAnimationFrame.flush(),this._physicalCount!==e&&this.flush())}update(e=0,t=this.size-1){const i=[];this.__getVisibleElements().forEach((n=>{n.__virtualIndex>=e&&n.__virtualIndex<=t&&(this.__updateElement(n,n.__virtualIndex,!0),i.push(n))})),this.__afterElementsUpdated(i)}_updateMetrics(e){sA();let t=0,i=0;const n=this._physicalAverageCount,r=this._physicalAverage;this._iterateItems(((e,n)=>{i+=this._physicalSizes[e],this._physicalSizes[e]=Math.ceil(this.__getBorderBoxHeight(this._physicalItems[e])),t+=this._physicalSizes[e],this._physicalAverageCount+=this._physicalSizes[e]?1:0}),e),this._physicalSize=this._physicalSize+t-i,this._physicalAverageCount!==n&&(this._physicalAverage=Math.round((r*n+t)/this._physicalAverageCount))}__getBorderBoxHeight(e){const t=getComputedStyle(e),i=parseFloat(t.height)||0;if("border-box"===t.boxSizing)return i;return i+(parseFloat(t.paddingBottom)||0)+(parseFloat(t.paddingTop)||0)+(parseFloat(t.borderBottomWidth)||0)+(parseFloat(t.borderTopWidth)||0)}__updateElement(e,t,i){e.__virtualizerPlaceholder&&(e.style.paddingTop="",e.__virtualizerPlaceholder=!1),this.__preventElementUpdates||e.__lastUpdatedIndex===t&&!i||(this.updateElement(e,t),e.__lastUpdatedIndex=t)}__afterElementsUpdated(e){e.forEach((e=>{const t=e.offsetHeight;if(0===t)e.style.paddingTop=`${this.__placeholderHeight}px`,e.__virtualizerPlaceholder=!0,this.__placeholderClearDebouncer=iA.debounce(this.__placeholderClearDebouncer,Ck,(()=>this._resizeHandler()));else{this.__elementHeightQueue.push(t),this.__elementHeightQueue.shift();const e=this.__elementHeightQueue.filter((e=>void 0!==e));this.__placeholderHeight=Math.round(e.reduce(((e,t)=>e+t),0)/e.length)}})),void 0===this.__pendingScrollToIndex||this.__hasPlaceholders()||this.scrollToIndex(this.__pendingScrollToIndex)}__getIndexScrollOffset(e){const t=this.__getVisibleElements().find((t=>t.__virtualIndex===e));return t?this.scrollTarget.getBoundingClientRect().top-t.getBoundingClientRect().top:void 0}get size(){return this.__size}set size(e){if(e===this.size)return;let t,i;if(this.__fixInvalidItemPositioningDebouncer&&this.__fixInvalidItemPositioningDebouncer.cancel(),this._debouncers&&this._debouncers._increasePoolIfNeeded&&this._debouncers._increasePoolIfNeeded.cancel(),this.__preventElementUpdates=!0,e>0&&(t=this.adjustedFirstVisibleIndex,i=this.__getIndexScrollOffset(t)),this.__size=e,this._itemsChanged({path:"items"}),sA(),e>0){t=Math.min(t,e-1),this.scrollToIndex(t);const n=this.__getIndexScrollOffset(t);void 0!==i&&void 0!==n&&(this._scrollTop+=i-n)}this.__preventElementUpdates=!1,this._isVisible||this._assignModels(),this.elementsContainer.children.length||requestAnimationFrame((()=>this._resizeHandler())),this._resizeHandler(),sA()}get _scrollTop(){return this.scrollTarget.scrollTop}set _scrollTop(e){this.scrollTarget.scrollTop=e}get items(){return{length:Math.min(this.size,1e5)}}get offsetHeight(){return this.scrollTarget.offsetHeight}get $(){return{items:this.scrollContainer}}updateViewportBoundaries(){const e=window.getComputedStyle(this.scrollTarget);this._scrollerPaddingTop=this.scrollTarget===this?0:parseInt(e["padding-top"],10),this._isRTL=Boolean("rtl"===e.direction),this._viewportWidth=this.elementsContainer.offsetWidth,this._viewportHeight=this.scrollTarget.offsetHeight,this._scrollPageHeight=this._viewportHeight-this._scrollLineHeight,this.grid&&this._updateGridMetrics()}setAttribute(){}_createPool(e){const t=this.createElements(e),i=document.createDocumentFragment();return t.forEach((e=>{e.style.position="absolute",i.appendChild(e),this.__resizeObserver.observe(e)})),this.elementsContainer.appendChild(i),t}_assignModels(e){const t=[];this._iterateItems(((e,i)=>{const n=this._physicalItems[e];n.hidden=i>=this.size,n.hidden?delete n.__lastUpdatedIndex:(n.__virtualIndex=i+(this._vidxOffset||0),this.__updateElement(n,n.__virtualIndex),t.push(n))}),e),this.__afterElementsUpdated(t)}_isClientFull(){return setTimeout((()=>{this.__clientFull=!0})),this.__clientFull||super._isClientFull()}translate3d(e,t,i,n){n.style.transform=`translateY(${t})`}toggleScrollListener(){}_scrollHandler(){if(0===this.scrollTarget.offsetHeight)return;this._adjustVirtualIndexOffset(this._scrollTop-(this.__previousScrollTop||0));const e=this.scrollTarget.scrollTop-this._scrollPosition;if(super._scrollHandler(),0!==this._physicalCount){const t=e>=0,i=this._getReusables(!t);i.indexes.length&&(this._physicalTop=i.physicalTop,t?(this._virtualStart-=i.indexes.length,this._physicalStart-=i.indexes.length):(this._virtualStart+=i.indexes.length,this._physicalStart+=i.indexes.length),this._resizeHandler())}e&&(this.__fixInvalidItemPositioningDebouncer=iA.debounce(this.__fixInvalidItemPositioningDebouncer,Ek.after(this.timeouts.FIX_INVALID_ITEM_POSITIONING),(()=>this.__fixInvalidItemPositioning()))),this.reorderElements&&(this.__scrollReorderDebouncer=iA.debounce(this.__scrollReorderDebouncer,Ek.after(this.timeouts.SCROLL_REORDER),(()=>this.__reorderElements()))),this.__previousScrollTop=this._scrollTop,0===this._scrollTop&&0!==this.firstVisibleIndex&&Math.abs(e)>0&&this.scrollToIndex(0)}__fixInvalidItemPositioning(){if(!this.scrollTarget.isConnected)return;const e=this._physicalTop>this._scrollTop,t=this._physicalBottom<this._scrollBottom,i=0===this.adjustedFirstVisibleIndex,n=this.adjustedLastVisibleIndex===this.size-1;if(e&&!i||t&&!n){const e=t,i=this._ratio;this._ratio=0,this._scrollPosition=this._scrollTop+(e?-1:1),this._scrollHandler(),this._ratio=i}}__onWheel(e){if(e.ctrlKey||this._hasScrolledAncestor(e.target,e.deltaX,e.deltaY))return;let t=e.deltaY;if(e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=this._scrollLineHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._scrollPageHeight),this._deltaYAcc||(this._deltaYAcc=0),this._wheelAnimationFrame)return this._deltaYAcc+=t,void e.preventDefault();t+=this._deltaYAcc,this._deltaYAcc=0,this._wheelAnimationFrame=!0,this.__debouncerWheelAnimationFrame=iA.debounce(this.__debouncerWheelAnimationFrame,Ck,(()=>{this._wheelAnimationFrame=!1}));const i=Math.abs(e.deltaX)+Math.abs(t);this._canScroll(this.scrollTarget,e.deltaX,t)?(e.preventDefault(),this.scrollTarget.scrollTop+=t,this.scrollTarget.scrollLeft+=e.deltaX,this._hasResidualMomentum=!0,this._ignoreNewWheel=!0,this._debouncerIgnoreNewWheel=iA.debounce(this._debouncerIgnoreNewWheel,Ek.after(this.timeouts.IGNORE_WHEEL),(()=>{this._ignoreNewWheel=!1}))):this._hasResidualMomentum&&i<=this._previousMomentum||this._ignoreNewWheel?e.preventDefault():i>this._previousMomentum&&(this._hasResidualMomentum=!1),this._previousMomentum=i}_hasScrolledAncestor(e,t,i){return e!==this.scrollTarget&&e!==this.scrollTarget.getRootNode().host&&(!(!this._canScroll(e,t,i)||-1===["auto","scroll"].indexOf(getComputedStyle(e).overflow))||(e!==this&&e.parentElement?this._hasScrolledAncestor(e.parentElement,t,i):void 0))}_canScroll(e,t,i){return i>0&&e.scrollTop<e.scrollHeight-e.offsetHeight||i<0&&e.scrollTop>0||t>0&&e.scrollLeft<e.scrollWidth-e.offsetWidth||t<0&&e.scrollLeft>0}_increasePoolIfNeeded(e){if(this._physicalCount>2&&e){const t=Math.ceil(this._optPhysicalSize/this._physicalAverage)-this._physicalCount;super._increasePoolIfNeeded(Math.max(e,Math.min(100,t)))}else super._increasePoolIfNeeded(e)}_getScrollLineHeight(){const e=document.createElement("div");e.style.fontSize="initial",e.style.display="none",document.body.appendChild(e);const t=window.getComputedStyle(e).fontSize;return document.body.removeChild(e),t?window.parseInt(t):void 0}__getVisibleElements(){return Array.from(this.elementsContainer.children).filter((e=>!e.hidden))}__reorderElements(){if(this.__mouseDown)return void(this.__pendingReorder=!0);this.__pendingReorder=!1;const e=this._virtualStart+(this._vidxOffset||0),t=this.__getVisibleElements(),i=t.find((e=>e.contains(this.elementsContainer.getRootNode().activeElement)||e.contains(this.scrollTarget.getRootNode().activeElement)))||t[0];if(!i)return;const n=i.__virtualIndex-e,r=t.indexOf(i)-n;if(r>0)for(let e=0;e<r;e++)this.elementsContainer.appendChild(t[e]);else if(r<0)for(let e=t.length+r;e<t.length;e++)this.elementsContainer.insertBefore(t[e],t[0]);if(dE){const{transform:e}=this.scrollTarget.style;this.scrollTarget.style.transform="translateZ(0)",setTimeout((()=>{this.scrollTarget.style.transform=e}))}}_adjustVirtualIndexOffset(e){const t=this._maxVirtualIndexOffset;if(this._virtualCount>=this.size)this._vidxOffset=0;else if(this.__skipNextVirtualIndexAdjust)this.__skipNextVirtualIndexAdjust=!1;else if(Math.abs(e)>1e4){const e=this._scrollTop/(this.scrollTarget.scrollHeight-this.scrollTarget.clientHeight);this._vidxOffset=Math.round(e*t)}else{const e=this._vidxOffset,i=iC,n=100;0===this._scrollTop?(this._vidxOffset=0,e!==this._vidxOffset&&super.scrollToIndex(0)):this.firstVisibleIndex<i&&this._vidxOffset>0&&(this._vidxOffset-=Math.min(this._vidxOffset,n),super.scrollToIndex(this.firstVisibleIndex+(e-this._vidxOffset))),this._scrollTop>=this._maxScrollTop&&this._maxScrollTop>0?(this._vidxOffset=t,e!==this._vidxOffset&&super.scrollToIndex(this._virtualCount-1)):this.firstVisibleIndex>this._virtualCount-i&&this._vidxOffset<t&&(this._vidxOffset+=Math.min(t-this._vidxOffset,n),super.scrollToIndex(this.firstVisibleIndex-(this._vidxOffset-e)))}}}Object.setPrototypeOf(nC.prototype,tC);class rC{constructor(e){this.__adapter=new nC(e)}get firstVisibleIndex(){return this.__adapter.adjustedFirstVisibleIndex}get lastVisibleIndex(){return this.__adapter.adjustedLastVisibleIndex}get size(){return this.__adapter.size}set size(e){this.__adapter.size=e}scrollToIndex(e){this.__adapter.scrollToIndex(e)}update(e=0,t=this.size-1){this.__adapter.update(e,t)}flush(){this.__adapter.flush()}}const sC=e=>class extends e{static get observers(){return["_a11yUpdateGridSize(size, _columnTree)"]}_a11yGetHeaderRowCount(e){return e.filter((e=>e.some((e=>e.headerRenderer||e.path||e.header)))).length}_a11yGetFooterRowCount(e){return e.filter((e=>e.some((e=>e.headerRenderer)))).length}_a11yUpdateGridSize(e,t){if(void 0===e||void 0===t)return;const i=t[t.length-1];this.$.table.setAttribute("aria-rowcount",e+this._a11yGetHeaderRowCount(t)+this._a11yGetFooterRowCount(t)),this.$.table.setAttribute("aria-colcount",i&&i.length||0),this._a11yUpdateHeaderRows(),this._a11yUpdateFooterRows()}_a11yUpdateHeaderRows(){IA(this.$.header,((e,t)=>{e.setAttribute("aria-rowindex",t+1)}))}_a11yUpdateFooterRows(){IA(this.$.footer,((e,t)=>{e.setAttribute("aria-rowindex",this._a11yGetHeaderRowCount(this._columnTree)+this.size+t+1)}))}_a11yUpdateRowRowindex(e,t){e.setAttribute("aria-rowindex",t+this._a11yGetHeaderRowCount(this._columnTree)+1)}_a11yUpdateRowSelected(e,t){e.setAttribute("aria-selected",Boolean(t)),DA(e,(e=>{e.setAttribute("aria-selected",Boolean(t))}))}_a11yUpdateRowExpanded(e){this.__isRowExpandable(e)?e.setAttribute("aria-expanded","false"):this.__isRowCollapsible(e)?e.setAttribute("aria-expanded","true"):e.removeAttribute("aria-expanded")}_a11yUpdateRowLevel(e,t){t>0||this.__isRowCollapsible(e)||this.__isRowExpandable(e)?e.setAttribute("aria-level",t+1):e.removeAttribute("aria-level")}_a11ySetRowDetailsCell(e,t){DA(e,(e=>{e!==t&&e.setAttribute("aria-controls",t.id)}))}_a11yUpdateCellColspan(e,t){e.setAttribute("aria-colspan",Number(t))}_a11yUpdateSorters(){Array.from(this.querySelectorAll("vaadin-grid-sorter")).forEach((e=>{let t=e.parentNode;for(;t&&"vaadin-grid-cell-content"!==t.localName;)t=t.parentNode;if(t&&t.assignedSlot){t.assignedSlot.parentNode.setAttribute("aria-sort",{asc:"ascending",desc:"descending"}[String(e.direction)]||"none")}}))}};function oC(e,t){return e.split(".").reduce(((e,t)=>e[t]),t)}function aC(e,t,i){if(0===i.length)return!1;let n=!0;return e.forEach((({path:e})=>{if(!e||-1===e.indexOf("."))return;void 0===oC(e.replace(/\.[^.]*$/u,""),i[0])&&(console.warn(`Path "${e}" used for ${t} does not exist in all of the items, ${t} is disabled.`),n=!1)})),n}function lC(e){return[void 0,null].indexOf(e)>=0?"":isNaN(e)?e.toString():e}function dC(e,t){return(e=lC(e))<(t=lC(t))?-1:e>t?1:0}const cC=e=>(t,i)=>{let n=e?[...e]:[];t.filters&&aC(t.filters,"filtering",n)&&(n=function(e,t){return e.filter((e=>t.every((t=>{const i=lC(oC(t.path,e)),n=lC(t.value).toString().toLowerCase();return i.toString().toLowerCase().includes(n)}))))}(n,t.filters)),Array.isArray(t.sortOrders)&&t.sortOrders.length&&aC(t.sortOrders,"sorting",n)&&(n=function(e,t){return e.sort(((e,i)=>t.map((t=>"asc"===t.direction?dC(oC(t.path,e),oC(t.path,i)):"desc"===t.direction?dC(oC(t.path,i),oC(t.path,e)):0)).reduce(((e,t)=>0!==e?e:t),0)))}(n,t.sortOrders));const r=Math.min(n.length,t.pageSize),s=t.page*r,o=s+r;i(n.slice(s,o),n.length)},hC=e=>class extends e{static get properties(){return{items:{type:Array,sync:!0}}}static get observers(){return["__dataProviderOrItemsChanged(dataProvider, items, isAttached, _filters, _sorters, items.*)"]}__setArrayDataProvider(e){const t=cC(this.items);t.__items=e,this._arrayDataProvider=t,this.size=e.length,this.dataProvider=t}__dataProviderOrItemsChanged(e,t,i){i&&(this._arrayDataProvider?e!==this._arrayDataProvider?(this._arrayDataProvider=void 0,this.items=void 0):t?this._arrayDataProvider.__items===t?(this.clearCache(),this.size=this._flatSize):this.__setArrayDataProvider(t):(this._arrayDataProvider=void 0,this.dataProvider=void 0,this.size=0,this.clearCache()):t&&this.__setArrayDataProvider(t))}},uC=e=>class extends e{static get properties(){return{columnReorderingAllowed:{type:Boolean,value:!1},_orderBaseScope:{type:Number,value:1e7}}}static get observers(){return["_updateOrders(_columnTree)"]}ready(){super.ready(),Xk(this,"track",this._onTrackEvent),this._reorderGhost=this.shadowRoot.querySelector('[part="reorder-ghost"]'),this.addEventListener("touchstart",this._onTouchStart.bind(this)),this.addEventListener("touchmove",this._onTouchMove.bind(this)),this.addEventListener("touchend",this._onTouchEnd.bind(this)),this.addEventListener("contextmenu",this._onContextMenu.bind(this))}_onContextMenu(e){this.hasAttribute("reordering")&&(e.preventDefault(),cE||this._onTrackEnd())}_onTouchStart(e){this._startTouchReorderTimeout=setTimeout((()=>{this._onTrackStart({detail:{x:e.touches[0].clientX,y:e.touches[0].clientY}})}),100)}_onTouchMove(e){this._draggedColumn&&e.preventDefault(),clearTimeout(this._startTouchReorderTimeout)}_onTouchEnd(){clearTimeout(this._startTouchReorderTimeout),this._onTrackEnd()}_onTrackEvent(e){if("start"===e.detail.state){const t=e.composedPath(),i=t[t.indexOf(this.$.header)-2];if(!i||!i._content)return;if(i._content.contains(this.getRootNode().activeElement))return;if(this.$.scroller.hasAttribute("column-resizing"))return;this._touchDevice||this._onTrackStart(e)}else"track"===e.detail.state?this._onTrack(e):"end"===e.detail.state&&this._onTrackEnd(e)}_onTrackStart(e){if(!this.columnReorderingAllowed)return;const t=e.composedPath&&e.composedPath();if(t&&t.some((e=>e.hasAttribute&&e.hasAttribute("draggable"))))return;const i=this._cellFromPoint(e.detail.x,e.detail.y);if(i&&i.getAttribute("part").includes("header-cell")){for(this.toggleAttribute("reordering",!0),this._draggedColumn=i._column;1===this._draggedColumn.parentElement.childElementCount;)this._draggedColumn=this._draggedColumn.parentElement;this._setSiblingsReorderStatus(this._draggedColumn,"allowed"),this._draggedColumn._reorderStatus="dragging",this._updateGhost(i),this._reorderGhost.style.visibility="visible",this._updateGhostPosition(e.detail.x,this._touchDevice?e.detail.y-50:e.detail.y),this._autoScroller()}}_onTrack(e){if(!this._draggedColumn)return;const t=this._cellFromPoint(e.detail.x,e.detail.y);if(!t)return;const i=this._getTargetColumn(t,this._draggedColumn);if(this._isSwapAllowed(this._draggedColumn,i)&&this._isSwappableByPosition(i,e.detail.x)){const e=this._columnTree.findIndex((e=>e.includes(i))),t=this._getColumnsInOrder(e),n=t.indexOf(this._draggedColumn),r=t.indexOf(i),s=n<r?1:-1;for(let e=n;e!==r;e+=s)this._swapColumnOrders(this._draggedColumn,t[e+s])}this._updateGhostPosition(e.detail.x,this._touchDevice?e.detail.y-50:e.detail.y),this._lastDragClientX=e.detail.x}_onTrackEnd(){this._draggedColumn&&(this.toggleAttribute("reordering",!1),this._draggedColumn._reorderStatus="",this._setSiblingsReorderStatus(this._draggedColumn,""),this._draggedColumn=null,this._lastDragClientX=null,this._reorderGhost.style.visibility="hidden",this.dispatchEvent(new CustomEvent("column-reorder",{detail:{columns:this._getColumnsInOrder()}})))}_getColumnsInOrder(e=this._columnTree.length-1){return this._columnTree[e].filter((e=>!e.hidden)).sort(((e,t)=>e._order-t._order))}_cellFromPoint(e=0,t=0){this._draggedColumn||this.$.scroller.toggleAttribute("no-content-pointer-events",!0);const i=this.shadowRoot.elementFromPoint(e,t);return this.$.scroller.toggleAttribute("no-content-pointer-events",!1),this._getCellFromElement(i)}_getCellFromElement(e){if(e){if(e._column)return e;const{parentElement:t}=e;if(t&&t._focusButton===e)return t}return null}_updateGhostPosition(e,t){const i=this._reorderGhost.getBoundingClientRect(),n=e-i.width/2,r=t-i.height/2,s=parseInt(this._reorderGhost._left||0),o=parseInt(this._reorderGhost._top||0);this._reorderGhost._left=s-(i.left-n),this._reorderGhost._top=o-(i.top-r),this._reorderGhost.style.transform=`translate(${this._reorderGhost._left}px, ${this._reorderGhost._top}px)`}_updateGhost(e){const t=this._reorderGhost;t.textContent=e._content.innerText;const i=window.getComputedStyle(e);return["boxSizing","display","width","height","background","alignItems","padding","border","flex-direction","overflow"].forEach((e=>{t.style[e]=i[e]})),t}_updateOrders(e){void 0!==e&&(e[0].forEach((e=>{e._order=0})),PA(e[0],this._orderBaseScope,0))}_setSiblingsReorderStatus(e,t){IA(e.parentNode,(i=>{/column/u.test(i.localName)&&this._isSwapAllowed(i,e)&&(i._reorderStatus=t)}))}_autoScroller(){if(this._lastDragClientX){const e=this._lastDragClientX-this.getBoundingClientRect().right+50,t=this.getBoundingClientRect().left-this._lastDragClientX+50;e>0?this.$.table.scrollLeft+=e/10:t>0&&(this.$.table.scrollLeft-=t/10)}this._draggedColumn&&setTimeout((()=>this._autoScroller()),10)}_isSwapAllowed(e,t){if(e&&t){const i=e!==t,n=e.parentElement===t.parentElement,r=e.frozen&&t.frozen||e.frozenToEnd&&t.frozenToEnd||!e.frozen&&!e.frozenToEnd&&!t.frozen&&!t.frozenToEnd;return i&&n&&r}}_isSwappableByPosition(e,t){const i=Array.from(this.$.header.querySelectorAll('tr:not([hidden]) [part~="cell"]')).find((t=>e.contains(t._column))),n=this.$.header.querySelector("tr:not([hidden]) [reorder-status=dragging]").getBoundingClientRect(),r=i.getBoundingClientRect();return r.left>n.left?t>r.right-n.width:t<r.left+n.width}_swapColumnOrders(e,t){[e._order,t._order]=[t._order,e._order],this._debounceUpdateFrozenColumn(),this._updateFirstAndLastColumn()}_getTargetColumn(e,t){if(e&&t){let i=e._column;for(;i.parentElement!==t.parentElement&&i!==this;)i=i.parentElement;return i.parentElement===t.parentElement?i:e._column}}},pC=e=>class extends e{ready(){super.ready();const e=this.$.scroller;Xk(e,"track",this._onHeaderTrack.bind(this)),e.addEventListener("touchmove",(t=>e.hasAttribute("column-resizing")&&t.preventDefault())),e.addEventListener("contextmenu",(e=>"resize-handle"===e.target.getAttribute("part")&&e.preventDefault())),e.addEventListener("mousedown",(e=>"resize-handle"===e.target.getAttribute("part")&&e.preventDefault()))}_onHeaderTrack(e){const t=e.target;if("resize-handle"===t.getAttribute("part")){let i=t.parentElement._column;for(this.$.scroller.toggleAttribute("column-resizing",!0);"vaadin-grid-column-group"===i.localName;)i=i._childColumns.slice(0).sort(((e,t)=>e._order-t._order)).filter((e=>!e.hidden)).pop();const n=this.__isRTL,r=e.detail.x,s=Array.from(this.$.header.querySelectorAll('[part~="row"]:last-child [part~="cell"]')),o=s.find((e=>e._column===i));if(o.offsetWidth){const e=getComputedStyle(o._content),t=10+parseInt(e.paddingLeft)+parseInt(e.paddingRight)+parseInt(e.borderLeftWidth)+parseInt(e.borderRightWidth)+parseInt(e.marginLeft)+parseInt(e.marginRight);let s;const a=o.offsetWidth,l=o.getBoundingClientRect();s=o.hasAttribute("frozen-to-end")?a+(n?r-l.right:l.left-r):a+(n?l.left-r:r-l.right),i.width=`${Math.max(t,s)}px`,i.flexGrow=0}s.sort(((e,t)=>e._column._order-t._column._order)).forEach(((e,t,i)=>{t<i.indexOf(o)&&(e._column.width=`${e.offsetWidth}px`,e._column.flexGrow=0)}));const a=this._frozenToEndCells[0];if(a&&this.$.table.scrollWidth>this.$.table.offsetWidth){const e=a.getBoundingClientRect(),t=r-(n?e.right:e.left);(n&&t<=0||!n&&t>=0)&&(this.$.table.scrollLeft+=t)}"end"===e.detail.state&&(this.$.scroller.toggleAttribute("column-resizing",!1),this.dispatchEvent(new CustomEvent("column-resize",{detail:{resizedColumn:i}}))),this._resizeHandler()}}};function gC(e,t,i=0){let n=t;for(const t of e.subCaches){const e=t.parentCacheIndex;if(n<=e)break;if(n<=e+t.flatSize)return gC(t,n-e-1,i+1);n-=t.flatSize}return{cache:e,item:e.items[n],index:n,page:Math.floor(n/e.pageSize),level:i}}function mC({getItemId:e},t,i,n=0,r=0){for(let s=0;s<t.items.length;s++){const o=t.items[s];if(o&&e(o)===e(i))return{cache:t,level:n,item:o,index:s,page:Math.floor(s/t.pageSize),subCache:t.getSubCache(s),flatIndex:r+t.getFlatIndex(s)}}for(const s of t.subCaches){const o=mC({getItemId:e},s,i,n+1,r+t.getFlatIndex(s.parentCacheIndex)+1);if(o)return o}}function fC(e,[t,...i],n=0){t===1/0&&(t=e.size-1);const r=e.getFlatIndex(t),s=e.getSubCache(t);return s&&s.flatSize>0&&i.length?fC(s,i,n+r+1):n+r}class yC{constructor(e,t,i,n,r){this.context=void 0,this.size=0,this.pageSize=void 0,this.items=[],this.pendingRequests={},this.__subCacheByIndex={},this.__flatSize=0,this.context=e,this.pageSize=t,this.size=i||0,this.parentCache=n,this.parentCacheIndex=r,this.__flatSize=i||0}get parentItem(){return this.parentCache&&this.parentCache.items[this.parentCacheIndex]}get subCaches(){return Object.values(this.__subCacheByIndex)}get isLoading(){return Object.keys(this.pendingRequests).length>0||this.subCaches.some((e=>e.isLoading))}get flatSize(){return this.__flatSize}get effectiveSize(){return console.warn("<vaadin-grid> The `effectiveSize` property of ItemCache is deprecated and will be removed in Vaadin 25."),this.flatSize}recalculateFlatSize(){this.__flatSize=!this.parentItem||this.context.isExpanded(this.parentItem)?this.size+this.subCaches.reduce(((e,t)=>(t.recalculateFlatSize(),e+t.flatSize)),0):0}setPage(e,t){const i=e*this.pageSize;t.forEach(((e,t)=>{this.items[i+t]=e}))}getSubCache(e){return this.__subCacheByIndex[e]}removeSubCache(e){delete this.__subCacheByIndex[e]}removeSubCaches(){this.__subCacheByIndex={}}createSubCache(e){const t=new yC(this.context,this.pageSize,0,this,e);return this.__subCacheByIndex[e]=t,t}getFlatIndex(e){const t=Math.max(0,Math.min(this.size-1,e));return this.subCaches.reduce(((e,i)=>{const n=i.parentCacheIndex;return t>n?e+i.flatSize:e}),t)}getItemForIndex(e){console.warn("<vaadin-grid> The `getItemForIndex` method of ItemCache is deprecated and will be removed in Vaadin 25.");const{item:t}=gC(this,e);return t}getCacheAndIndex(e){console.warn("<vaadin-grid> The `getCacheAndIndex` method of ItemCache is deprecated and will be removed in Vaadin 25.");const{cache:t,index:i}=gC(this,e);return{cache:t,scaledIndex:i}}updateSize(){console.warn("<vaadin-grid> The `updateSize` method of ItemCache is deprecated and will be removed in Vaadin 25."),this.recalculateFlatSize()}ensureSubCacheForScaledIndex(e){if(console.warn("<vaadin-grid> The `ensureSubCacheForScaledIndex` method of ItemCache is deprecated and will be removed in Vaadin 25."),!this.getSubCache(e)){const t=this.createSubCache(e);this.context.__controller.__loadCachePage(t,0)}}get grid(){return console.warn("<vaadin-grid> The `grid` property of ItemCache is deprecated and will be removed in Vaadin 25."),this.context.__controller.host}get itemCaches(){return console.warn("<vaadin-grid> The `itemCaches` property of ItemCache is deprecated and will be removed in Vaadin 25."),this.__subCacheByIndex}}class vC extends EventTarget{constructor(e,{size:t,pageSize:i,isExpanded:n,getItemId:r,dataProvider:s,dataProviderParams:o}){super(),this.host=void 0,this.dataProvider=void 0,this.dataProviderParams=void 0,this.size=void 0,this.pageSize=void 0,this.isExpanded=void 0,this.getItemId=void 0,this.rootCache=void 0,this.host=e,this.pageSize=i,this.getItemId=r,this.isExpanded=n,this.dataProvider=s,this.dataProviderParams=o,this.rootCache=this.__createRootCache(t)}get flatSize(){return this.rootCache.flatSize}get __cacheContext(){return{isExpanded:this.isExpanded,__controller:this}}isLoading(){return this.rootCache.isLoading}setPageSize(e){this.pageSize=e,this.clearCache()}setDataProvider(e){this.dataProvider=e,this.clearCache()}recalculateFlatSize(){this.rootCache.recalculateFlatSize()}clearCache(){this.rootCache=this.__createRootCache(this.rootCache.size)}getFlatIndexContext(e){return gC(this.rootCache,e)}getItemContext(e){return mC({getItemId:this.getItemId},this.rootCache,e)}getFlatIndexByPath(e){return fC(this.rootCache,e)}ensureFlatIndexLoaded(e){const{cache:t,page:i,item:n}=this.getFlatIndexContext(e);n||this.__loadCachePage(t,i)}ensureFlatIndexHierarchy(e){const{cache:t,item:i,index:n}=this.getFlatIndexContext(e);if(i&&this.isExpanded(i)&&!t.getSubCache(n)){const e=t.createSubCache(n);this.__loadCachePage(e,0)}}loadFirstPage(){this.__loadCachePage(this.rootCache,0)}__createRootCache(e){return new yC(this.__cacheContext,this.pageSize,e)}__loadCachePage(e,t){if(!this.dataProvider||e.pendingRequests[t])return;let i={page:t,pageSize:this.pageSize,parentItem:e.parentItem};this.dataProviderParams&&(i={...i,...this.dataProviderParams()});const n=(n,r)=>{void 0!==r?e.size=r:i.parentItem&&(e.size=n.length),e.setPage(t,n),this.recalculateFlatSize(),this.dispatchEvent(new CustomEvent("page-received")),delete e.pendingRequests[t],this.dispatchEvent(new CustomEvent("page-loaded"))};e.pendingRequests[t]=n,this.dispatchEvent(new CustomEvent("page-requested")),this.dataProvider(i,n)}}const _C=e=>class extends e{static get properties(){return{size:{type:Number,notify:!0,sync:!0},_flatSize:{type:Number,sync:!0},pageSize:{type:Number,value:50,observer:"_pageSizeChanged",sync:!0},dataProvider:{type:Object,notify:!0,observer:"_dataProviderChanged",sync:!0},loading:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0},_hasData:{type:Boolean,value:!1,sync:!0},itemHasChildrenPath:{type:String,value:"children",observer:"__itemHasChildrenPathChanged",sync:!0},itemIdPath:{type:String,value:null,sync:!0},expandedItems:{type:Object,notify:!0,value:()=>[],sync:!0},__expandedKeys:{type:Object,computed:"__computeExpandedKeys(itemIdPath, expandedItems)"}}}static get observers(){return["_sizeChanged(size)","_expandedItemsChanged(expandedItems)"]}constructor(){super(),this._dataProviderController=new vC(this,{size:this.size,pageSize:this.pageSize,getItemId:this.getItemId.bind(this),isExpanded:this._isExpanded.bind(this),dataProvider:this.dataProvider?this.dataProvider.bind(this):null,dataProviderParams:()=>({sortOrders:this._mapSorters(),filters:this._mapFilters()})}),this._dataProviderController.addEventListener("page-requested",this._onDataProviderPageRequested.bind(this)),this._dataProviderController.addEventListener("page-received",this._onDataProviderPageReceived.bind(this)),this._dataProviderController.addEventListener("page-loaded",this._onDataProviderPageLoaded.bind(this))}get _cache(){return console.warn("<vaadin-grid> The `_cache` property is deprecated and will be removed in Vaadin 25."),this._dataProviderController.rootCache}get _effectiveSize(){return console.warn("<vaadin-grid> The `_effectiveSize` property is deprecated and will be removed in Vaadin 25."),this._flatSize}_sizeChanged(e){this._dataProviderController.rootCache.size=e,this._dataProviderController.recalculateFlatSize(),this._flatSize=this._dataProviderController.flatSize}__itemHasChildrenPathChanged(e,t){(t||"children"!==e)&&this.requestContentUpdate()}_getItem(e,t){if(e>=this._flatSize)return;t.index=e;const{item:i}=this._dataProviderController.getFlatIndexContext(e);i?(this.__updateLoading(t,!1),this._updateItem(t,i),this._isExpanded(i)&&this._dataProviderController.ensureFlatIndexHierarchy(e)):(this.__updateLoading(t,!0),this._dataProviderController.ensureFlatIndexLoaded(e))}__updateLoading(e,t){const i=TA(e);FA(e,"loading",t),RA(i,"loading-row-cell",t)}getItemId(e){return this.itemIdPath?EA(this.itemIdPath,e):e}_isExpanded(e){return this.__expandedKeys&&this.__expandedKeys.has(this.getItemId(e))}_expandedItemsChanged(){this._dataProviderController.recalculateFlatSize(),this._flatSize=this._dataProviderController.flatSize,this.__updateVisibleRows()}__computeExpandedKeys(e,t){const i=t||[],n=new Set;return i.forEach((e=>{n.add(this.getItemId(e))})),n}expandItem(e){this._isExpanded(e)||(this.expandedItems=[...this.expandedItems,e])}collapseItem(e){this._isExpanded(e)&&(this.expandedItems=this.expandedItems.filter((t=>!this._itemsEqual(t,e))))}_getIndexLevel(e=0){const{level:t}=this._dataProviderController.getFlatIndexContext(e);return t}_loadPage(e,t){console.warn("<vaadin-grid> The `_loadPage` method is deprecated and will be removed in Vaadin 25."),this._dataProviderController.__loadCachePage(t,e)}_onDataProviderPageRequested(){this._setLoading(!0)}_onDataProviderPageReceived(){this._flatSize=this._dataProviderController.flatSize,this._getRenderedRows().forEach((e=>{this._dataProviderController.ensureFlatIndexHierarchy(e.index)})),this._hasData=!0}_onDataProviderPageLoaded(){this._debouncerApplyCachedData=iA.debounce(this._debouncerApplyCachedData,Ek.after(0),(()=>{this._setLoading(!1),this._getRenderedRows().forEach((e=>{const{item:t}=this._dataProviderController.getFlatIndexContext(e.index);t&&this._getItem(e.index,e)})),this.__scrollToPendingIndexes(),this.__dispatchPendingBodyCellFocus()})),this._dataProviderController.isLoading()||this._debouncerApplyCachedData.flush()}__debounceClearCache(){this.__clearCacheDebouncer=iA.debounce(this.__clearCacheDebouncer,Ik,(()=>this.clearCache()))}clearCache(){this._dataProviderController.clearCache(),this._dataProviderController.rootCache.size=this.size,this._dataProviderController.recalculateFlatSize(),this._hasData=!1,this.__updateVisibleRows(),this.__virtualizer&&this.__virtualizer.size||this._dataProviderController.loadFirstPage()}_pageSizeChanged(e,t){this._dataProviderController.setPageSize(e),void 0!==t&&e!==t&&this.clearCache()}_checkSize(){void 0===this.size&&0===this._flatSize&&console.warn("The <vaadin-grid> needs the total number of items in order to display rows, which you can specify either by setting the `size` property, or by providing it to the second argument of the `dataProvider` function `callback` call.")}_dataProviderChanged(e,t){this._dataProviderController.setDataProvider(e?e.bind(this):null),void 0!==t&&this.clearCache(),this._ensureFirstPageLoaded(),this._debouncerCheckSize=iA.debounce(this._debouncerCheckSize,Ek.after(2e3),this._checkSize.bind(this))}_ensureFirstPageLoaded(){this._hasData||this._dataProviderController.loadFirstPage()}_itemsEqual(e,t){return this.getItemId(e)===this.getItemId(t)}_getItemIndexInArray(e,t){let i=-1;return t.forEach(((t,n)=>{this._itemsEqual(t,e)&&(i=n)})),i}scrollToIndex(...e){let t;for(;t!==(t=this._dataProviderController.getFlatIndexByPath(e));)this._scrollToFlatIndex(t);!this._dataProviderController.isLoading()&&this.clientHeight||(this.__pendingScrollToIndexes=e)}__scrollToPendingIndexes(){if(this.__pendingScrollToIndexes&&this.$.items.children.length){const e=this.__pendingScrollToIndexes;delete this.__pendingScrollToIndexes,this.scrollToIndex(...e)}}},bC="between",wC="on-top-or-between",xC="on-grid",kC="on-top",SC="above",AC="below",EC="empty",CC=!("draggable"in document.createElement("div")),TC=e=>class extends e{static get properties(){return{dropMode:{type:String,sync:!0},rowsDraggable:{type:Boolean,sync:!0},dragFilter:{type:Function,sync:!0},dropFilter:{type:Function,sync:!0},__dndAutoScrollThreshold:{value:50}}}static get observers(){return["_dragDropAccessChanged(rowsDraggable, dropMode, dragFilter, dropFilter, loading)"]}ready(){super.ready(),this.$.table.addEventListener("dragstart",this._onDragStart.bind(this)),this.$.table.addEventListener("dragend",this._onDragEnd.bind(this)),this.$.table.addEventListener("dragover",this._onDragOver.bind(this)),this.$.table.addEventListener("dragleave",this._onDragLeave.bind(this)),this.$.table.addEventListener("drop",this._onDrop.bind(this)),this.$.table.addEventListener("dragenter",(e=>{this.dropMode&&(e.preventDefault(),e.stopPropagation())}))}_onDragStart(e){if(this.rowsDraggable){let t=e.target;if("vaadin-grid-cell-content"===t.localName&&(t=t.assignedSlot.parentNode.parentNode),t.parentNode!==this.$.items)return;if(e.stopPropagation(),this.toggleAttribute("dragging-rows",!0),this._safari){const e=t.style.transform;t.style.top=/translateY\((.*)\)/u.exec(e)[1],t.style.transform="none",requestAnimationFrame((()=>{t.style.top="",t.style.transform=e}))}const i=t.getBoundingClientRect();CC?e.dataTransfer.setDragImage(t):e.dataTransfer.setDragImage(t,e.clientX-i.left,e.clientY-i.top);let n=[t];this._isSelected(t._item)&&(n=this.__getViewportRows().filter((e=>this._isSelected(e._item))).filter((e=>!this.dragFilter||this.dragFilter(this.__getRowModel(e))))),e.dataTransfer.setData("text",this.__formatDefaultTransferData(n)),OA(t,{dragstart:n.length>1?`${n.length}`:""}),this.style.setProperty("--_grid-drag-start-x",e.clientX-i.left+20+"px"),this.style.setProperty("--_grid-drag-start-y",e.clientY-i.top+10+"px"),requestAnimationFrame((()=>{OA(t,{dragstart:!1}),this.style.setProperty("--_grid-drag-start-x",""),this.style.setProperty("--_grid-drag-start-y","")}));const r=new CustomEvent("grid-dragstart",{detail:{draggedItems:n.map((e=>e._item)),setDragData:(t,i)=>e.dataTransfer.setData(t,i),setDraggedItemsCount:e=>t.setAttribute("dragstart",e)}});r.originalEvent=e,this.dispatchEvent(r)}}_onDragEnd(e){this.toggleAttribute("dragging-rows",!1),e.stopPropagation();const t=new CustomEvent("grid-dragend");t.originalEvent=e,this.dispatchEvent(t)}_onDragLeave(e){e.stopPropagation(),this._clearDragStyles()}_onDragOver(e){if(this.dropMode){if(this._dropLocation=void 0,this._dragOverItem=void 0,this.__dndAutoScroll(e.clientY))return void this._clearDragStyles();let t=e.composedPath().find((e=>"tr"===e.localName));if(this._flatSize&&this.dropMode!==xC)if(t&&t.parentNode===this.$.items){const i=t.getBoundingClientRect();if(this._dropLocation=kC,this.dropMode===bC){const t=e.clientY-i.top<i.bottom-e.clientY;this._dropLocation=t?SC:AC}else this.dropMode===wC&&(e.clientY-i.top<i.height/3?this._dropLocation=SC:e.clientY-i.top>i.height/3*2&&(this._dropLocation=AC))}else{if(t)return;if(this.dropMode!==bC&&this.dropMode!==wC)return;t=Array.from(this.$.items.children).filter((e=>!e.hidden)).pop(),this._dropLocation=AC}else this._dropLocation=EC;if(t&&t.hasAttribute("drop-disabled"))return void(this._dropLocation=void 0);e.stopPropagation(),e.preventDefault(),this._dropLocation===EC?this.toggleAttribute("dragover",!0):t?(this._dragOverItem=t._item,t.getAttribute("dragover")!==this._dropLocation&&MA(t,{dragover:this._dropLocation})):this._clearDragStyles()}}__dndAutoScroll(e){if(this.__dndAutoScrolling)return!0;const t=this.$.header.getBoundingClientRect().bottom,i=this.$.footer.getBoundingClientRect().top,n=t-e+this.__dndAutoScrollThreshold,r=e-i+this.__dndAutoScrollThreshold;let s=0;if(r>0?s=2*r:n>0&&(s=2*-n),s){const e=this.$.table.scrollTop;this.$.table.scrollTop+=s;if(e!==this.$.table.scrollTop)return this.__dndAutoScrolling=!0,setTimeout((()=>{this.__dndAutoScrolling=!1}),20),!0}}__getViewportRows(){const e=this.$.header.getBoundingClientRect().bottom,t=this.$.footer.getBoundingClientRect().top;return Array.from(this.$.items.children).filter((i=>{const n=i.getBoundingClientRect();return n.bottom>e&&n.top<t}))}_clearDragStyles(){this.removeAttribute("dragover"),IA(this.$.items,(e=>{MA(e,{dragover:null})}))}_onDrop(e){if(this.dropMode){e.stopPropagation(),e.preventDefault();const t=e.dataTransfer.types&&Array.from(e.dataTransfer.types).map((t=>({type:t,data:e.dataTransfer.getData(t)})));this._clearDragStyles();const i=new CustomEvent("grid-drop",{bubbles:e.bubbles,cancelable:e.cancelable,detail:{dropTargetItem:this._dragOverItem,dropLocation:this._dropLocation,dragData:t}});i.originalEvent=e,this.dispatchEvent(i)}}__formatDefaultTransferData(e){return e.map((e=>Array.from(e.children).filter((e=>!e.hidden&&-1===e.getAttribute("part").indexOf("details-cell"))).sort(((e,t)=>e._column._order>t._column._order?1:-1)).map((e=>e._content.textContent.trim())).filter((e=>e)).join("\t"))).join("\n")}_dragDropAccessChanged(){this.filterDragAndDrop()}filterDragAndDrop(){IA(this.$.items,(e=>{e.hidden||this._filterDragAndDrop(e,this.__getRowModel(e))}))}_filterDragAndDrop(e,t){const i=this.loading||e.hasAttribute("loading"),n=!this.rowsDraggable||i||this.dragFilter&&!this.dragFilter(t),r=!this.dropMode||i||this.dropFilter&&!this.dropFilter(t);DA(e,(e=>{n?e._content.removeAttribute("draggable"):e._content.setAttribute("draggable",!0)})),OA(e,{"drag-disabled":!!n,"drop-disabled":!!r})}};function IC(e,t){if(!e||!t||e.length!==t.length)return!1;for(let i=0,n=e.length;i<n;i++)if(e[i]instanceof Array&&t[i]instanceof Array){if(!IC(e[i],t[i]))return!1}else if(e[i]!==t[i])return!1;return!0}const DC=e=>class extends e{static get properties(){return{_columnTree:Object}}ready(){super.ready(),this._addNodeObserver()}_hasColumnGroups(e){return e.some((e=>"vaadin-grid-column-group"===e.localName))}_getChildColumns(e){return BA.getColumns(e)}_flattenColumnGroups(e){return e.map((e=>"vaadin-grid-column-group"===e.localName?this._getChildColumns(e):[e])).reduce(((e,t)=>e.concat(t)),[])}_getColumnTree(){const e=BA.getColumns(this),t=[e];let i=e;for(;this._hasColumnGroups(i);)i=this._flattenColumnGroups(i),t.push(i);return t}_debounceUpdateColumnTree(){this.__updateColumnTreeDebouncer=iA.debounce(this.__updateColumnTreeDebouncer,Ik,(()=>this._updateColumnTree()))}_updateColumnTree(){const e=this._getColumnTree();IC(e,this._columnTree)||(e.forEach((e=>{e.forEach((e=>{e.performUpdate&&e.performUpdate()}))})),this._columnTree=e)}_addNodeObserver(){this._observer=new BA(this,((e,t)=>{const i=t.flatMap((e=>e._allCells)),n=e=>i.filter((t=>t&&t._content.contains(e))).length;this.__removeSorters(this._sorters.filter(n)),this.__removeFilters(this._filters.filter(n)),this._debounceUpdateColumnTree(),this._debouncerCheckImports=iA.debounce(this._debouncerCheckImports,Ek.after(2e3),this._checkImports.bind(this)),this._ensureFirstPageLoaded()}))}_checkImports(){["vaadin-grid-column-group","vaadin-grid-filter","vaadin-grid-filter-column","vaadin-grid-tree-toggle","vaadin-grid-selection-column","vaadin-grid-sort-column","vaadin-grid-sorter"].forEach((e=>{this.querySelector(e)&&!customElements.get(e)&&console.warn(`Make sure you have imported the required module for <${e}> element.`)}))}_updateFirstAndLastColumn(){Array.from(this.shadowRoot.querySelectorAll("tr")).forEach((e=>this._updateFirstAndLastColumnForRow(e)))}_updateFirstAndLastColumnForRow(e){Array.from(e.querySelectorAll('[part~="cell"]:not([part~="details-cell"])')).sort(((e,t)=>e._column._order-t._column._order)).forEach(((e,t,i)=>{LA(e,"first-column",0===t),LA(e,"last-column",t===i.length-1)}))}_isColumnElement(e){return e.nodeType===Node.ELEMENT_NODE&&/\bcolumn\b/u.test(e.localName)}},PC=e=>class extends e{getEventContext(e){const t={},i=e.__composedPath||e.composedPath(),n=i[i.indexOf(this.$.table)-3];return n?(t.section=["body","header","footer","details"].find((e=>n.getAttribute("part").indexOf(e)>-1)),n._column&&(t.column=n._column),"body"!==t.section&&"details"!==t.section||Object.assign(t,this.__getRowModel(n.parentElement)),t):t}},FC=e=>class extends e{static get properties(){return{_filters:{type:Array,value:()=>[]}}}constructor(){super(),this._filterChanged=this._filterChanged.bind(this),this.addEventListener("filter-changed",this._filterChanged)}_filterChanged(e){e.stopPropagation(),this.__addFilter(e.target),this.__applyFilters()}__removeFilters(e){0!==e.length&&(this._filters=this._filters.filter((t=>e.indexOf(t)<0)),this.__applyFilters())}__addFilter(e){-1===this._filters.indexOf(e)&&this._filters.push(e)}__applyFilters(){this.dataProvider&&this.isAttached&&this.clearCache()}_mapFilters(){return this._filters.map((e=>({path:e.path,value:e.value})))}},NC=e=>class extends e{static get properties(){return{_headerFocusable:{type:Object,observer:"_focusableChanged",sync:!0},_itemsFocusable:{type:Object,observer:"_focusableChanged",sync:!0},_footerFocusable:{type:Object,observer:"_focusableChanged",sync:!0},_navigatingIsHidden:Boolean,_focusedItemIndex:{type:Number,value:0},_focusedColumnOrder:Number,_focusedCell:{type:Object,observer:"_focusedCellChanged",sync:!0},interacting:{type:Boolean,value:!1,reflectToAttribute:!0,readOnly:!0,observer:"_interactingChanged"}}}get __rowFocusMode(){return this.__isRow(this._itemsFocusable)||this.__isRow(this._headerFocusable)||this.__isRow(this._footerFocusable)}set __rowFocusMode(e){["_itemsFocusable","_footerFocusable","_headerFocusable"].forEach((t=>{const i=this[t];if(e){const e=i&&i.parentElement;this.__isCell(i)?this[t]=e:this.__isCell(e)&&(this[t]=e.parentElement)}else if(!e&&this.__isRow(i)){const e=i.firstElementChild;this[t]=e._focusButton||e}}))}get _visibleItemsCount(){return this._lastVisibleIndex-this._firstVisibleIndex-1}ready(){super.ready(),this._ios||this._android||(this.addEventListener("keydown",this._onKeyDown),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("focusin",this._onFocusIn),this.addEventListener("focusout",this._onFocusOut),this.$.table.addEventListener("focusin",this._onContentFocusIn.bind(this)),this.addEventListener("mousedown",(()=>{this.toggleAttribute("navigating",!1),this._isMousedown=!0,this._focusedColumnOrder=void 0})),this.addEventListener("mouseup",(()=>{this._isMousedown=!1})))}_focusableChanged(e,t){t&&t.setAttribute("tabindex","-1"),e&&this._updateGridSectionFocusTarget(e)}_focusedCellChanged(e,t){t&&LS(t,"part","focused-cell"),e&&MS(e,"part","focused-cell")}_interactingChanged(){this._updateGridSectionFocusTarget(this._headerFocusable),this._updateGridSectionFocusTarget(this._itemsFocusable),this._updateGridSectionFocusTarget(this._footerFocusable)}__updateItemsFocusable(){if(!this._itemsFocusable)return;const e=this.shadowRoot.activeElement===this._itemsFocusable;this._getRenderedRows().forEach((e=>{if(e.index===this._focusedItemIndex)if(this.__rowFocusMode)this._itemsFocusable=e;else{let t=this._itemsFocusable.parentElement,i=this._itemsFocusable;if(t){this.__isCell(t)&&(i=t,t=t.parentElement);const n=[...t.children].indexOf(i);this._itemsFocusable=this.__getFocusable(e,e.children[n])}}})),e&&this._itemsFocusable.focus()}_onKeyDown(e){const t=e.key;let i;switch(t){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":i="Navigation";break;case"Enter":case"Escape":case"F2":i="Interaction";break;case"Tab":i="Tab";break;case" ":i="Space"}this._detectInteracting(e),this.interacting&&"Interaction"!==i&&(i=void 0),i&&this[`_on${i}KeyDown`](e,t)}_ensureScrolledToIndex(e){[...this.$.items.children].find((t=>t.index===e))?this.__scrollIntoViewport(e):this.scrollToIndex(e)}__isRowExpandable(e){if(this.itemHasChildrenPath){const t=e._item;return!(!t||!EA(this.itemHasChildrenPath,t)||this._isExpanded(t))}}__isRowCollapsible(e){return this._isExpanded(e._item)}__isDetailsCell(e){return e.matches('[part~="details-cell"]')}__isCell(e){return e instanceof HTMLTableCellElement}__isRow(e){return e instanceof HTMLTableRowElement}__getIndexOfChildElement(e){return Array.prototype.indexOf.call(e.parentNode.children,e)}_onNavigationKeyDown(e,t){e.preventDefault();const i=this.__isRTL,n=e.composedPath().find((e=>this.__isRow(e))),r=e.composedPath().find((e=>this.__isCell(e)));let s=0,o=0;switch(t){case"ArrowRight":s=i?-1:1;break;case"ArrowLeft":s=i?1:-1;break;case"Home":this.__rowFocusMode||e.ctrlKey?o=-1/0:s=-1/0;break;case"End":this.__rowFocusMode||e.ctrlKey?o=1/0:s=1/0;break;case"ArrowDown":o=1;break;case"ArrowUp":o=-1;break;case"PageDown":if(this.$.items.contains(n)){const e=this.__getIndexInGroup(n,this._focusedItemIndex);this._scrollToFlatIndex(e)}o=this._visibleItemsCount;break;case"PageUp":o=-this._visibleItemsCount}if(this.__rowFocusMode&&!n||!this.__rowFocusMode&&!r)return;const a=i?"ArrowRight":"ArrowLeft";if(t===(i?"ArrowLeft":"ArrowRight")){if(this.__rowFocusMode)return this.__isRowExpandable(n)?void this.expandItem(n._item):(this.__rowFocusMode=!1,void this._onCellNavigation(n.firstElementChild,0,0))}else if(t===a)if(this.__rowFocusMode){if(this.__isRowCollapsible(n))return void this.collapseItem(n._item)}else{const e=[...n.children].sort(((e,t)=>e._order-t._order));if(r===e[0]||this.__isDetailsCell(r))return this.__rowFocusMode=!0,void this._onRowNavigation(n,0)}this.__rowFocusMode?this._onRowNavigation(n,o):this._onCellNavigation(r,s,o)}_onRowNavigation(e,t){const{dstRow:i}=this.__navigateRows(t,e);i&&i.focus()}__getIndexInGroup(e,t){return e.parentNode===this.$.items?void 0!==t?t:e.index:this.__getIndexOfChildElement(e)}__navigateRows(e,t,i){const n=this.__getIndexInGroup(t,this._focusedItemIndex),r=t.parentNode,s=(r===this.$.items?this._flatSize:r.children.length)-1;let o=Math.max(0,Math.min(n+e,s));if(r!==this.$.items){if(o>n)for(;o<s&&r.children[o].hidden;)o+=1;else if(o<n)for(;o>0&&r.children[o].hidden;)o-=1;return this.toggleAttribute("navigating",!0),{dstRow:r.children[o]}}let a=!1;if(i){const s=this.__isDetailsCell(i);if(r===this.$.items){const i=t._item,{item:r}=this._dataProviderController.getFlatIndexContext(o);a=s?0===e:1===e&&this._isDetailsOpened(i)||-1===e&&o!==n&&this._isDetailsOpened(r),a!==s&&(1===e&&a||-1===e&&!a)&&(o=n)}}return this._ensureScrolledToIndex(o),this._focusedItemIndex=o,this.toggleAttribute("navigating",!0),{dstRow:[...r.children].find((e=>!e.hidden&&e.index===o)),dstIsRowDetails:a}}_onCellNavigation(e,t,i){const n=e.parentNode,{dstRow:r,dstIsRowDetails:s}=this.__navigateRows(i,n,e);if(!r)return;let o=this.__getIndexOfChildElement(e);this.$.items.contains(e)&&(o=[...this.$.sizer.children].findIndex((t=>t._column===e._column)));const a=this.__isDetailsCell(e),l=n.parentNode,d=this.__getIndexInGroup(n,this._focusedItemIndex);if(void 0===this._focusedColumnOrder&&(this._focusedColumnOrder=a?0:this._getColumns(l,d).filter((e=>!e.hidden))[o]._order),s){[...r.children].find((e=>this.__isDetailsCell(e))).focus()}else{const n=this.__getIndexInGroup(r,this._focusedItemIndex),s=this._getColumns(l,n).filter((e=>!e.hidden)),o=s.map((e=>e._order)).sort(((e,t)=>e-t)),d=o.length-1,c=o.indexOf(o.slice(0).sort(((e,t)=>Math.abs(e-this._focusedColumnOrder)-Math.abs(t-this._focusedColumnOrder)))[0]),h=0===i&&a?c:Math.max(0,Math.min(c+t,d));h!==c&&(this._focusedColumnOrder=void 0);const u=s.reduce(((e,t,i)=>(e[t._order]=i,e)),{}),p=u[o[h]];let g;if(this.$.items.contains(e)){const e=this.$.sizer.children[p];this._lazyColumns&&(this.__isColumnInViewport(e._column)||e.scrollIntoView(),this.__updateColumnsBodyContentHidden(),this.__updateHorizontalScrollPosition()),g=[...r.children].find((t=>t._column===e._column)),this._scrollHorizontallyToCell(g)}else g=r.children[p],this._scrollHorizontallyToCell(g);g.focus()}}_onInteractionKeyDown(e,t){const i=e.composedPath()[0],n="input"===i.localName&&!/^(button|checkbox|color|file|image|radio|range|reset|submit)$/iu.test(i.type);let r;switch(t){case"Enter":r=!this.interacting||!n;break;case"Escape":r=!1;break;case"F2":r=!this.interacting}const{cell:s}=this._getGridEventLocation(e);if(this.interacting!==r&&null!==s)if(r){const t=s._content.querySelector("[focus-target]")||[...s._content.querySelectorAll("*")].find((e=>this._isFocusable(e)));t&&(e.preventDefault(),t.focus(),this._setInteracting(!0),this.toggleAttribute("navigating",!1))}else e.preventDefault(),this._focusedColumnOrder=void 0,s.focus(),this._setInteracting(!1),this.toggleAttribute("navigating",!0);"Escape"===t&&this._hideTooltip(!0)}_predictFocusStepTarget(e,t){const i=[this.$.table,this._headerFocusable,this._itemsFocusable,this._footerFocusable,this.$.focusexit];let n=i.indexOf(e);for(n+=t;n>=0&&n<=i.length-1;){let e=i[n];if(e&&!this.__rowFocusMode&&(e=i[n].parentNode),e&&!e.hidden)break;n+=t}let r=i[n];if(r&&!this.__isHorizontallyInViewport(r)){const e=this._getColumnsInOrder().find((e=>this.__isColumnInViewport(e)));if(e)if(r===this._headerFocusable)r=e._headerCell;else if(r===this._itemsFocusable){const t=r._column._cells.indexOf(r);r=e._cells[t]}else r===this._footerFocusable&&(r=e._footerCell)}return r}_onTabKeyDown(e){const t=this._predictFocusStepTarget(e.composedPath()[0],e.shiftKey?-1:1);if(t){if(e.stopPropagation(),t===this.$.table)this.$.table.focus();else if(t===this.$.focusexit)this.$.focusexit.focus();else if(t===this._itemsFocusable){let i=t;const n=this.__isRow(t)?t:t.parentNode;if(this._ensureScrolledToIndex(this._focusedItemIndex),n.index!==this._focusedItemIndex&&this.__isCell(t)){const e=Array.from(n.children).indexOf(this._itemsFocusable),t=Array.from(this.$.items.children).find((e=>!e.hidden&&e.index===this._focusedItemIndex));t&&(i=t.children[e])}e.preventDefault(),i.focus()}else e.preventDefault(),t.focus();this.toggleAttribute("navigating",!0)}}_onSpaceKeyDown(e){e.preventDefault();const t=e.composedPath()[0],i=this.__isRow(t);!i&&t._content&&t._content.firstElementChild||this.dispatchEvent(new CustomEvent(i?"row-activate":"cell-activate",{detail:{model:this.__getRowModel(i?t:t.parentElement)}}))}_onKeyUp(e){if(!/^( |SpaceBar)$/u.test(e.key)||this.interacting)return;e.preventDefault();const t=e.composedPath()[0];if(t._content&&t._content.firstElementChild){const i=this.hasAttribute("navigating");t._content.firstElementChild.dispatchEvent(new MouseEvent("click",{shiftKey:e.shiftKey,bubbles:!0,composed:!0,cancelable:!0})),this.toggleAttribute("navigating",i)}}_onFocusIn(e){this._isMousedown||this.toggleAttribute("navigating",!0);const t=e.composedPath()[0];t===this.$.table||t===this.$.focusexit?(this._isMousedown||this._predictFocusStepTarget(t,t===this.$.table?1:-1).focus(),this._setInteracting(!1)):this._detectInteracting(e)}_onFocusOut(e){this.toggleAttribute("navigating",!1),this._detectInteracting(e),this._hideTooltip(),this._focusedCell=null}_onContentFocusIn(e){const{section:t,cell:i,row:n}=this._getGridEventLocation(e);if(i||this.__rowFocusMode){if(this._detectInteracting(e),t&&(i||n))if(this._activeRowGroup=t,this.$.header===t?this._headerFocusable=this.__getFocusable(n,i):this.$.items===t?this._itemsFocusable=this.__getFocusable(n,i):this.$.footer===t&&(this._footerFocusable=this.__getFocusable(n,i)),i){const t=this.getEventContext(e);this.__pendingBodyCellFocus=this.loading&&"body"===t.section,this.__pendingBodyCellFocus||i.dispatchEvent(new CustomEvent("cell-focus",{bubbles:!0,composed:!0,detail:{context:t}})),this._focusedCell=i._focusButton||i,bS()&&e.target===i&&this._showTooltip(e)}else this._focusedCell=null;this._detectFocusedItemIndex(e)}}__dispatchPendingBodyCellFocus(){this.__pendingBodyCellFocus&&this.shadowRoot.activeElement===this._itemsFocusable&&this._itemsFocusable.dispatchEvent(new Event("focusin",{bubbles:!0,composed:!0}))}__getFocusable(e,t){return this.__rowFocusMode?e:t._focusButton||t}_detectInteracting(e){const t=e.composedPath().some((e=>"vaadin-grid-cell-content"===e.localName));this._setInteracting(t),this.__updateHorizontalScrollPosition()}_detectFocusedItemIndex(e){const{section:t,row:i}=this._getGridEventLocation(e);t===this.$.items&&(this._focusedItemIndex=i.index)}_updateGridSectionFocusTarget(e){if(!e)return;const t=this._getGridSectionFromFocusTarget(e),i=this.interacting&&t===this._activeRowGroup;e.tabIndex=i?-1:0}_preventScrollerRotatingCellFocus(e,t){e.index===this._focusedItemIndex&&this.hasAttribute("navigating")&&this._activeRowGroup===this.$.items&&(this._navigatingIsHidden=!0,this.toggleAttribute("navigating",!1)),t===this._focusedItemIndex&&this._navigatingIsHidden&&(this._navigatingIsHidden=!1,this.toggleAttribute("navigating",!0))}_getColumns(e,t){let i=this._columnTree.length-1;return e===this.$.header?i=t:e===this.$.footer&&(i=this._columnTree.length-1-t),this._columnTree[i]}__isValidFocusable(e){return this.$.table.contains(e)&&e.offsetHeight}_resetKeyboardNavigation(){if(!this.$&&this.performUpdate&&this.performUpdate(),["header","footer"].forEach((e=>{if(!this.__isValidFocusable(this[`_${e}Focusable`])){const t=[...this.$[e].children].find((e=>e.offsetHeight)),i=t?[...t.children].find((e=>!e.hidden)):null;t&&i&&(this[`_${e}Focusable`]=this.__getFocusable(t,i))}})),!this.__isValidFocusable(this._itemsFocusable)&&this.$.items.firstElementChild){const e=this.__getFirstVisibleItem(),t=e?[...e.children].find((e=>!e.hidden)):null;t&&e&&(this._focusedColumnOrder=void 0,this._itemsFocusable=this.__getFocusable(e,t))}else this.__updateItemsFocusable()}_scrollHorizontallyToCell(e){if(e.hasAttribute("frozen")||e.hasAttribute("frozen-to-end")||this.__isDetailsCell(e))return;const t=e.getBoundingClientRect(),i=e.parentNode,n=Array.from(i.children).indexOf(e),r=this.$.table.getBoundingClientRect();let s=r.left,o=r.right;for(let e=n-1;e>=0;e--){const t=i.children[e];if(!t.hasAttribute("hidden")&&!this.__isDetailsCell(t)&&(t.hasAttribute("frozen")||t.hasAttribute("frozen-to-end"))){s=t.getBoundingClientRect().right;break}}for(let e=n+1;e<i.children.length;e++){const t=i.children[e];if(!t.hasAttribute("hidden")&&!this.__isDetailsCell(t)&&(t.hasAttribute("frozen")||t.hasAttribute("frozen-to-end"))){o=t.getBoundingClientRect().left;break}}t.left<s&&(this.$.table.scrollLeft+=Math.round(t.left-s)),t.right>o&&(this.$.table.scrollLeft+=Math.round(t.right-o))}_getGridEventLocation(e){const t=e.composedPath(),i=t.indexOf(this.$.table);return{section:i>=1?t[i-1]:null,row:i>=2?t[i-2]:null,cell:i>=3?t[i-3]:null}}_getGridSectionFromFocusTarget(e){return e===this._headerFocusable?this.$.header:e===this._itemsFocusable?this.$.items:e===this._footerFocusable?this.$.footer:null}},RC=e=>class extends e{static get properties(){return{detailsOpenedItems:{type:Array,value:()=>[],sync:!0},rowDetailsRenderer:{type:Function,sync:!0},_detailsCells:{type:Array}}}static get observers(){return["_detailsOpenedItemsChanged(detailsOpenedItems, rowDetailsRenderer)","_rowDetailsRendererChanged(rowDetailsRenderer)"]}ready(){super.ready(),this._detailsCellResizeObserver=new ResizeObserver((e=>{e.forEach((({target:e})=>{this._updateDetailsCellHeight(e.parentElement)})),this.__virtualizer.__adapter._resizeHandler()}))}_rowDetailsRendererChanged(e){e&&this._columnTree&&IA(this.$.items,(e=>{if(!e.querySelector("[part~=details-cell]")){this._updateRow(e,this._columnTree[this._columnTree.length-1]);const t=this._isDetailsOpened(e._item);this._toggleDetailsCell(e,t)}}))}_detailsOpenedItemsChanged(e,t){IA(this.$.items,(e=>{(e.hasAttribute("details-opened")||t&&this._isDetailsOpened(e._item))&&this._updateItem(e,e._item)}))}_configureDetailsCell(e){e.setAttribute("part","cell details-cell"),e.toggleAttribute("frozen",!0),this._detailsCellResizeObserver.observe(e)}_toggleDetailsCell(e,t){const i=e.querySelector('[part~="details-cell"]');i&&(i.hidden=!t,i.hidden||this.rowDetailsRenderer&&(i._renderer=this.rowDetailsRenderer))}_updateDetailsCellHeight(e){const t=e.querySelector('[part~="details-cell"]');t&&(this.__updateDetailsRowPadding(e,t),requestAnimationFrame((()=>this.__updateDetailsRowPadding(e,t))))}__updateDetailsRowPadding(e,t){t.hidden?e.style.removeProperty("padding-bottom"):e.style.setProperty("padding-bottom",`${t.offsetHeight}px`)}_updateDetailsCellHeights(){IA(this.$.items,(e=>{this._updateDetailsCellHeight(e)}))}_isDetailsOpened(e){return this.detailsOpenedItems&&-1!==this._getItemIndexInArray(e,this.detailsOpenedItems)}openItemDetails(e){this._isDetailsOpened(e)||(this.detailsOpenedItems=[...this.detailsOpenedItems,e])}closeItemDetails(e){this._isDetailsOpened(e)&&(this.detailsOpenedItems=this.detailsOpenedItems.filter((t=>!this._itemsEqual(t,e))))}},OC=document.createElement("div");let MC;function LC(e,t={}){const i=t.mode||"polite",n=void 0===t.timeout?150:t.timeout;"alert"===i?(OC.removeAttribute("aria-live"),OC.removeAttribute("role"),MC=iA.debounce(MC,Ck,(()=>{OC.setAttribute("role","alert")}))):(MC&&MC.cancel(),OC.removeAttribute("role"),OC.setAttribute("aria-live",i)),OC.textContent="",setTimeout((()=>{OC.textContent=e}),n)}OC.style.position="fixed",OC.style.clip="rect(0px, 0px, 0px, 0px)",OC.setAttribute("aria-live","polite"),document.body.appendChild(OC);const BC=[];class zC{constructor(e){this.host=e,this.__trapNode=null,this.__onKeyDown=this.__onKeyDown.bind(this)}get __focusableElements(){return function(e){const t=[];return ES(e,t)?kS(t):t}(this.__trapNode)}get __focusedElementIndex(){const e=this.__focusableElements;return e.indexOf(e.filter(AS).pop())}hostConnected(){document.addEventListener("keydown",this.__onKeyDown)}hostDisconnected(){document.removeEventListener("keydown",this.__onKeyDown)}trapFocus(e){if(this.__trapNode=e,0===this.__focusableElements.length)throw this.__trapNode=null,new Error("The trap node should have at least one focusable descendant or be focusable itself.");BC.push(this),-1===this.__focusedElementIndex&&this.__focusableElements[0].focus()}releaseFocus(){this.__trapNode=null,BC.pop()}__onKeyDown(e){if(this.__trapNode&&this===Array.from(BC).pop()&&"Tab"===e.key){e.preventDefault();const t=e.shiftKey;this.__focusNextElement(t)}}__focusNextElement(e=!1){const t=this.__focusableElements,i=e?-1:1,n=this.__focusedElementIndex,r=t[(t.length+n+i)%t.length];r.focus(),"input"===r.localName&&r.select()}}class jC{saveFocus(e){this.focusNode=e||_S()}restoreFocus(){const e=this.focusNode;e&&(_S()===document.body?setTimeout((()=>e.focus())):e.focus(),this.focusNode=null)}}function HC(e,t){const{scrollLeft:i}=e;return"rtl"!==t?i:e.scrollWidth-e.clientWidth+i}function UC(e,t,i){e.scrollLeft="rtl"!==t?i:e.clientWidth-e.scrollWidth+i}const $C=new ResizeObserver((e=>{setTimeout((()=>{e.forEach((e=>{e.target.resizables?e.target.resizables.forEach((t=>{t._onResize(e.contentRect)})):e.target._onResize(e.contentRect)}))}))})),VC=ci((e=>class extends e{get _observeParent(){return!1}connectedCallback(){if(super.connectedCallback(),$C.observe(this),this._observeParent){const e=this.parentNode instanceof ShadowRoot?this.parentNode.host:this.parentNode;e.resizables||(e.resizables=new Set,$C.observe(e)),e.resizables.add(this),this.__parent=e}}disconnectedCallback(){super.disconnectedCallback(),$C.unobserve(this);const e=this.__parent;if(this._observeParent&&e){const t=e.resizables;t&&(t.delete(this),0===t.size&&$C.unobserve(e)),this.__parent=null}}_onResize(e){}})),WC=500,GC=100,qC=e=>class extends(VC(e)){static get properties(){return{columnRendering:{type:String,value:"eager",sync:!0},_frozenCells:{type:Array,value:()=>[]},_frozenToEndCells:{type:Array,value:()=>[]},_rowWithFocusedElement:Element}}static get observers(){return["__columnRenderingChanged(_columnTree, columnRendering)"]}get _scrollLeft(){return this.$.table.scrollLeft}get _scrollTop(){return this.$.table.scrollTop}set _scrollTop(e){this.$.table.scrollTop=e}get _lazyColumns(){return"lazy"===this.columnRendering}ready(){super.ready(),this.scrollTarget=this.$.table,this.$.items.addEventListener("focusin",(e=>{const t=e.composedPath().indexOf(this.$.items);this._rowWithFocusedElement=e.composedPath()[t-1]})),this.$.items.addEventListener("focusout",(()=>{this._rowWithFocusedElement=void 0})),this.$.table.addEventListener("scroll",(()=>this._afterScroll()))}_onResize(){if(this._updateOverflow(),this.__updateHorizontalScrollPosition(),this._firefox){const e=!SS(this);e&&!1===this.__previousVisible&&(this._scrollTop=this.__memorizedScrollTop||0),this.__previousVisible=e}}_scrollToFlatIndex(e){e=Math.min(this._flatSize-1,Math.max(0,e)),this.__virtualizer.scrollToIndex(e),this.__scrollIntoViewport(e)}__scrollIntoViewport(e){const t=[...this.$.items.children].find((t=>t.index===e));if(t){const e=t.getBoundingClientRect(),i=this.$.footer.getBoundingClientRect().top,n=this.$.header.getBoundingClientRect().bottom;e.bottom>i?this.$.table.scrollTop+=e.bottom-i:e.top<n&&(this.$.table.scrollTop-=n-e.top)}}_scheduleScrolling(){this._scrollingFrame||(this._scrollingFrame=requestAnimationFrame((()=>this.$.scroller.toggleAttribute("scrolling",!0)))),this._debounceScrolling=iA.debounce(this._debounceScrolling,Ek.after(WC),(()=>{cancelAnimationFrame(this._scrollingFrame),delete this._scrollingFrame,this.$.scroller.toggleAttribute("scrolling",!1)}))}_afterScroll(){if(this.__updateHorizontalScrollPosition(),this.hasAttribute("reordering")||this._scheduleScrolling(),this.hasAttribute("navigating")||this._hideTooltip(!0),this._updateOverflow(),this._debounceColumnContentVisibility=iA.debounce(this._debounceColumnContentVisibility,Ek.after(GC),(()=>{this._lazyColumns&&this.__cachedScrollLeft!==this._scrollLeft&&(this.__cachedScrollLeft=this._scrollLeft,this.__updateColumnsBodyContentHidden())})),this._firefox){!SS(this)&&!1!==this.__previousVisible&&(this.__memorizedScrollTop=this._scrollTop)}}__updateColumnsBodyContentHidden(){if(!this._columnTree||!this._areSizerCellsAssigned())return;const e=this._getColumnsInOrder();let t=!1;if(e.forEach((i=>{const n=this._lazyColumns&&!this.__isColumnInViewport(i);i._bodyContentHidden!==n&&(t=!0,i._cells.forEach((t=>{if(t!==i._sizerCell)if(n)t.remove();else if(t.__parentRow){const n=[...t.__parentRow.children].find((t=>e.indexOf(t._column)>e.indexOf(i)));t.__parentRow.insertBefore(t,n)}}))),i._bodyContentHidden=n})),t&&this._frozenCellsChanged(),this._lazyColumns){const t=[...e].reverse().find((e=>e.frozen)),i=this.__getColumnEnd(t),n=e.find((e=>!e.frozen&&!e._bodyContentHidden));this.__lazyColumnsStart=this.__getColumnStart(n)-i,this.$.items.style.setProperty("--_grid-lazy-columns-start",`${this.__lazyColumnsStart}px`),this._resetKeyboardNavigation()}}__getColumnEnd(e){return e?e._sizerCell.offsetLeft+(this.__isRTL?0:e._sizerCell.offsetWidth):this.__isRTL?this.$.table.clientWidth:0}__getColumnStart(e){return e?e._sizerCell.offsetLeft+(this.__isRTL?e._sizerCell.offsetWidth:0):this.__isRTL?this.$.table.clientWidth:0}__isColumnInViewport(e){return!(!e.frozen&&!e.frozenToEnd)||this.__isHorizontallyInViewport(e._sizerCell)}__isHorizontallyInViewport(e){return e.offsetLeft+e.offsetWidth>=this._scrollLeft&&e.offsetLeft<=this._scrollLeft+this.clientWidth}__columnRenderingChanged(e,t){"eager"===t?this.$.scroller.removeAttribute("column-rendering"):this.$.scroller.setAttribute("column-rendering",t),this.__updateColumnsBodyContentHidden()}_updateOverflow(){this._debounceOverflow=iA.debounce(this._debounceOverflow,Ck,(()=>{this.__doUpdateOverflow()}))}__doUpdateOverflow(){let e="";const t=this.$.table;t.scrollTop<t.scrollHeight-t.clientHeight&&(e+=" bottom"),t.scrollTop>0&&(e+=" top");const i=HC(t,this.getAttribute("dir"));i>0&&(e+=" start"),i<t.scrollWidth-t.clientWidth&&(e+=" end"),this.__isRTL&&(e=e.replace(/start|end/giu,(e=>"start"===e?"end":"start"))),t.scrollLeft<t.scrollWidth-t.clientWidth&&(e+=" right"),t.scrollLeft>0&&(e+=" left");const n=e.trim();n.length>0&&this.getAttribute("overflow")!==n?this.setAttribute("overflow",n):0===n.length&&this.hasAttribute("overflow")&&this.removeAttribute("overflow")}_frozenCellsChanged(){this._debouncerCacheElements=iA.debounce(this._debouncerCacheElements,Ik,(()=>{Array.from(this.shadowRoot.querySelectorAll('[part~="cell"]')).forEach((e=>{e.style.transform=""})),this._frozenCells=Array.prototype.slice.call(this.$.table.querySelectorAll("[frozen]")),this._frozenToEndCells=Array.prototype.slice.call(this.$.table.querySelectorAll("[frozen-to-end]")),this.__updateHorizontalScrollPosition()})),this._debounceUpdateFrozenColumn()}_debounceUpdateFrozenColumn(){this.__debounceUpdateFrozenColumn=iA.debounce(this.__debounceUpdateFrozenColumn,Ik,(()=>this._updateFrozenColumn()))}_updateFrozenColumn(){if(!this._columnTree)return;const e=this._columnTree[this._columnTree.length-1].slice(0);let t,i;e.sort(((e,t)=>e._order-t._order));for(let n=0;n<e.length;n++){const r=e[n];r._lastFrozen=!1,r._firstFrozenToEnd=!1,void 0===i&&r.frozenToEnd&&!r.hidden&&(i=n),r.frozen&&!r.hidden&&(t=n)}void 0!==t&&(e[t]._lastFrozen=!0),void 0!==i&&(e[i]._firstFrozenToEnd=!0),this.__updateColumnsBodyContentHidden()}__updateHorizontalScrollPosition(){if(!this._columnTree)return;const e=this.$.table.scrollWidth,t=this.$.table.clientWidth,i=Math.max(0,this.$.table.scrollLeft),n=HC(this.$.table,this.getAttribute("dir")),r=`translate(${-i}px, 0)`;this.$.header.style.transform=r,this.$.footer.style.transform=r,this.$.items.style.transform=r;const s=this.__isRTL?n+t-e:i,o=`translate(${s}px, 0)`;this._frozenCells.forEach((e=>{e.style.transform=o}));const a=this.__isRTL?n:i+t-e,l=`translate(${a}px, 0)`;let d=l;if(this._lazyColumns&&this._areSizerCellsAssigned()){const e=this._getColumnsInOrder(),t=[...e].reverse().find((e=>!e.frozenToEnd&&!e._bodyContentHidden)),i=this.__getColumnEnd(t),n=e.find((e=>e.frozenToEnd)),r=a+(this.__getColumnStart(n)-i)+this.__lazyColumnsStart;d=`translate(${r}px, 0)`}this._frozenToEndCells.forEach((e=>{this.$.items.contains(e)?e.style.transform=d:e.style.transform=l})),this.hasAttribute("navigating")&&this.__rowFocusMode&&this.$.table.style.setProperty("--_grid-horizontal-scroll-position",-s+"px")}_areSizerCellsAssigned(){return this._getColumnsInOrder().every((e=>e._sizerCell))}},YC=e=>class extends e{static get properties(){return{selectedItems:{type:Object,notify:!0,value:()=>[],sync:!0},__selectedKeys:{type:Object,computed:"__computeSelectedKeys(itemIdPath, selectedItems)"}}}static get observers(){return["__selectedItemsChanged(itemIdPath, selectedItems)"]}_isSelected(e){return this.__selectedKeys.has(this.getItemId(e))}selectItem(e){this._isSelected(e)||(this.selectedItems=[...this.selectedItems,e])}deselectItem(e){this._isSelected(e)&&(this.selectedItems=this.selectedItems.filter((t=>!this._itemsEqual(t,e))))}_toggleItem(e){this._isSelected(e)?this.deselectItem(e):this.selectItem(e)}__selectedItemsChanged(){this.requestContentUpdate()}__computeSelectedKeys(e,t){const i=t||[],n=new Set;return i.forEach((e=>{n.add(this.getItemId(e))})),n}};let KC="prepend";const JC=e=>class extends e{static get properties(){return{multiSort:{type:Boolean,value:!1},multiSortPriority:{type:String,value:()=>KC},multiSortOnShiftClick:{type:Boolean,value:!1},_sorters:{type:Array,value:()=>[]},_previousSorters:{type:Array,value:()=>[]}}}static setDefaultMultiSortPriority(e){KC=["append","prepend"].includes(e)?e:"prepend"}ready(){super.ready(),this.addEventListener("sorter-changed",this._onSorterChanged)}_onSorterChanged(e){const t=e.target;e.stopPropagation(),t._grid=this,this.__updateSorter(t,e.detail.shiftClick,e.detail.fromSorterClick),this.__applySorters()}__removeSorters(e){0!==e.length&&(this._sorters=this._sorters.filter((t=>e.indexOf(t)<0)),this.multiSort&&this.__updateSortOrders(),this.__applySorters())}__updateSortOrders(){this._sorters.forEach(((e,t)=>{e._order=this._sorters.length>1?t:null}))}__appendSorter(e){e.direction?this._sorters.includes(e)||this._sorters.push(e):this._removeArrayItem(this._sorters,e),this.__updateSortOrders()}__prependSorter(e){this._removeArrayItem(this._sorters,e),e.direction&&this._sorters.unshift(e),this.__updateSortOrders()}__updateSorter(e,t,i){if(e.direction||-1!==this._sorters.indexOf(e))if(e._order=null,this.multiSort&&(!this.multiSortOnShiftClick||!i)||this.multiSortOnShiftClick&&t)"append"===this.multiSortPriority?this.__appendSorter(e):this.__prependSorter(e);else if(e.direction||this.multiSortOnShiftClick){const t=this._sorters.filter((t=>t!==e));this._sorters=e.direction?[e]:[],t.forEach((e=>{e._order=null,e.direction=null}))}}__applySorters(){this.dataProvider&&this.isAttached&&JSON.stringify(this._previousSorters)!==JSON.stringify(this._mapSorters())&&this.__debounceClearCache(),this._a11yUpdateSorters(),this._previousSorters=this._mapSorters()}_mapSorters(){return this._sorters.map((e=>({path:e.path,direction:e.direction})))}_removeArrayItem(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}},ZC=e=>class extends e{static get properties(){return{cellClassNameGenerator:{type:Function,sync:!0},cellPartNameGenerator:{type:Function,sync:!0}}}static get observers(){return["__cellClassNameGeneratorChanged(cellClassNameGenerator)","__cellPartNameGeneratorChanged(cellPartNameGenerator)"]}__cellClassNameGeneratorChanged(){this.generateCellClassNames()}__cellPartNameGeneratorChanged(){this.generateCellPartNames()}generateCellClassNames(){IA(this.$.items,(e=>{e.hidden||e.hasAttribute("loading")||this._generateCellClassNames(e,this.__getRowModel(e))}))}generateCellPartNames(){IA(this.$.items,(e=>{e.hidden||e.hasAttribute("loading")||this._generateCellPartNames(e,this.__getRowModel(e))}))}_generateCellClassNames(e,t){DA(e,(e=>{if(e.__generatedClasses&&e.__generatedClasses.forEach((t=>e.classList.remove(t))),this.cellClassNameGenerator){const i=this.cellClassNameGenerator(e._column,t);e.__generatedClasses=i&&i.split(" ").filter((e=>e.length>0)),e.__generatedClasses&&e.__generatedClasses.forEach((t=>e.classList.add(t)))}}))}_generateCellPartNames(e,t){DA(e,(e=>{if(e.__generatedParts&&e.__generatedParts.forEach((t=>{NA(e,null,t)})),this.cellPartNameGenerator){const i=this.cellPartNameGenerator(e._column,t);e.__generatedParts=i&&i.split(" ").filter((e=>e.length>0)),e.__generatedParts&&e.__generatedParts.forEach((t=>{NA(e,!0,t)}))}}))}},QC=e=>class extends(hC(_C(DC(qE(qC(YC(JC(RC(NC(sC(FC(uC(pC(PC(TC(ZC(TS(e)))))))))))))))))){static get observers(){return["_columnTreeChanged(_columnTree)","_flatSizeChanged(_flatSize, __virtualizer, _hasData, _columnTree)"]}static get properties(){return{_safari:{type:Boolean,value:dE},_ios:{type:Boolean,value:lE},_firefox:{type:Boolean,value:oE},_android:{type:Boolean,value:rE},_touchDevice:{type:Boolean,value:cE},allRowsVisible:{type:Boolean,value:!1,reflectToAttribute:!0},__pendingRecalculateColumnWidths:{type:Boolean,value:!0},isAttached:{value:!1},__gridElement:{type:Boolean,value:!0}}}constructor(){super(),this.addEventListener("animationend",this._onAnimationEnd)}get _firstVisibleIndex(){const e=this.__getFirstVisibleItem();return e?e.index:void 0}get _lastVisibleIndex(){const e=this.__getLastVisibleItem();return e?e.index:void 0}connectedCallback(){super.connectedCallback(),this.isAttached=!0,this.recalculateColumnWidths()}disconnectedCallback(){super.disconnectedCallback(),this.isAttached=!1,this._hideTooltip(!0)}__getFirstVisibleItem(){return this._getRenderedRows().find((e=>this._isInViewport(e)))}__getLastVisibleItem(){return this._getRenderedRows().reverse().find((e=>this._isInViewport(e)))}_isInViewport(e){const t=this.$.table.getBoundingClientRect(),i=e.getBoundingClientRect(),n=this.$.header.getBoundingClientRect().height,r=this.$.footer.getBoundingClientRect().height;return i.bottom>t.top+n&&i.top<t.bottom-r}_getRenderedRows(){return Array.from(this.$.items.children).filter((e=>!e.hidden)).sort(((e,t)=>e.index-t.index))}_getRowContainingNode(e){const t=NS("vaadin-grid-cell-content",e);if(!t)return;return t.assignedSlot.parentElement.parentElement}_isItemAssignedToRow(e,t){const i=this.__getRowModel(t);return this.getItemId(e)===this.getItemId(i.item)}ready(){super.ready(),this.__virtualizer=new rC({createElements:this._createScrollerRows.bind(this),updateElement:this._updateScrollerItem.bind(this),scrollContainer:this.$.items,scrollTarget:this.$.table,reorderElements:!0}),new ResizeObserver((()=>setTimeout((()=>{this.__updateColumnsBodyContentHidden(),this.__tryToRecalculateColumnWidthsIfPending()})))).observe(this.$.table),CA(this),this._tooltipController=new US(this),this.addController(this._tooltipController),this._tooltipController.setManual(!0)}__getBodyCellCoordinates(e){if(this.$.items.contains(e)&&"td"===e.localName)return{item:e.parentElement._item,column:e._column}}__focusBodyCell({item:e,column:t}){const i=this._getRenderedRows().find((t=>t._item===e)),n=i&&[...i.children].find((e=>e._column===t));n&&n.focus()}_focusFirstVisibleRow(){const e=this.__getFirstVisibleItem();this.__rowFocusMode=!0,e.focus()}_flatSizeChanged(e,t,i,n){if(t&&i&&n){const i=this.shadowRoot.activeElement,n=this.__getBodyCellCoordinates(i),r=t.size||0;t.size=e,t.update(r-1,r-1),e<r&&t.update(e-1,e-1),n&&i.parentElement.hidden&&this.__focusBodyCell(n),this._resetKeyboardNavigation()}}__getIntrinsicWidth(e){return this.__intrinsicWidthCache.has(e)||this.__calculateAndCacheIntrinsicWidths([e]),this.__intrinsicWidthCache.get(e)}__getDistributedWidth(e,t){if(null==e||e===this)return 0;const i=Math.max(this.__getIntrinsicWidth(e),this.__getDistributedWidth((e.assignedSlot||e).parentElement,e));if(!t)return i;const n=i,r=e._visibleChildColumns.map((e=>this.__getIntrinsicWidth(e))).reduce(((e,t)=>e+t),0),s=Math.max(0,n-r),o=this.__getIntrinsicWidth(t)/r*s;return this.__getIntrinsicWidth(t)+o}_recalculateColumnWidths(e){this.__virtualizer.flush(),[...this.$.header.children,...this.$.footer.children].forEach((e=>{e.__debounceUpdateHeaderFooterRowVisibility&&e.__debounceUpdateHeaderFooterRowVisibility.flush()})),this._debouncerHiddenChanged&&this._debouncerHiddenChanged.flush(),this.__intrinsicWidthCache=new Map;const t=this._firstVisibleIndex,i=this._lastVisibleIndex;this.__viewportRowsCache=this._getRenderedRows().filter((e=>e.index>=t&&e.index<=i)),this.__calculateAndCacheIntrinsicWidths(e),e.forEach((e=>{e.width=`${this.__getDistributedWidth(e)}px`}))}__setVisibleCellContentAutoWidth(e,t){e._allCells.filter((e=>!this.$.items.contains(e)||this.__viewportRowsCache.includes(e.parentElement))).forEach((e=>{e.__measuringAutoWidth=t,e.__measuringAutoWidth?(e.__originalWidth=e.style.width,e.style.width="auto",e.style.position="absolute"):(e.style.width=e.__originalWidth,delete e.__originalWidth,e.style.position="")}))}__getAutoWidthCellsMaxWidth(e){return e._allCells.reduce(((e,t)=>t.__measuringAutoWidth?Math.max(e,t.offsetWidth+1):e),0)}__calculateAndCacheIntrinsicWidths(e){e.forEach((e=>this.__setVisibleCellContentAutoWidth(e,!0))),e.forEach((e=>{const t=this.__getAutoWidthCellsMaxWidth(e);this.__intrinsicWidthCache.set(e,t)})),e.forEach((e=>this.__setVisibleCellContentAutoWidth(e,!1)))}recalculateColumnWidths(){if(!this._columnTree)return;if(SS(this)||this._dataProviderController.isLoading())return void(this.__pendingRecalculateColumnWidths=!0);const e=this._getColumns().filter((e=>!e.hidden&&e.autoWidth));this._recalculateColumnWidths(e)}__tryToRecalculateColumnWidthsIfPending(){if(!this.__pendingRecalculateColumnWidths||SS(this)||this._dataProviderController.isLoading())return;if([...this.$.items.children].some((e=>void 0===e.index)))return;[...this.$.items.children].some((e=>e.clientHeight>0))&&(this.__pendingRecalculateColumnWidths=!1,this.recalculateColumnWidths())}_onDataProviderPageLoaded(){super._onDataProviderPageLoaded(),this.__tryToRecalculateColumnWidthsIfPending()}_createScrollerRows(e){const t=[];for(let i=0;i<e;i++){const e=document.createElement("tr");e.setAttribute("part","row body-row"),e.setAttribute("role","row"),e.setAttribute("tabindex","-1"),this._columnTree&&this._updateRow(e,this._columnTree[this._columnTree.length-1],"body",!1,!0),t.push(e)}return this._columnTree&&this._columnTree[this._columnTree.length-1].forEach((e=>{e.isConnected&&e._cells&&(e._cells=[...e._cells])})),this.__afterCreateScrollerRowsDebouncer=iA.debounce(this.__afterCreateScrollerRowsDebouncer,Ck,(()=>{this._afterScroll(),this.__tryToRecalculateColumnWidthsIfPending()})),t}_createCell(e,t){const i=`vaadin-grid-cell-content-${this._contentIndex=this._contentIndex+1||0}`,n=document.createElement("vaadin-grid-cell-content");n.setAttribute("slot",i);const r=document.createElement(e);r.id=i.replace("-content-","-"),r.setAttribute("role","td"===e?"gridcell":"columnheader"),rE||lE||(r.addEventListener("mouseenter",(e=>{this.$.scroller.hasAttribute("scrolling")||this._showTooltip(e)})),r.addEventListener("mouseleave",(()=>{this._hideTooltip()})),r.addEventListener("mousedown",(()=>{this._hideTooltip(!0)})));const s=document.createElement("slot");if(s.setAttribute("name",i),t&&t._focusButtonMode){const e=document.createElement("div");e.setAttribute("role","button"),e.setAttribute("tabindex","-1"),r.appendChild(e),r._focusButton=e,r.focus=function(){r._focusButton.focus()},e.appendChild(s)}else r.setAttribute("tabindex","-1"),r.appendChild(s);return r._content=n,n.addEventListener("mousedown",(()=>{if(sE){const e=t=>{const i=n.contains(this.getRootNode().activeElement),s=t.composedPath().includes(n);!i&&s&&r.focus(),document.removeEventListener("mouseup",e,!0)};document.addEventListener("mouseup",e,!0)}else setTimeout((()=>{n.contains(this.getRootNode().activeElement)||r.focus()}))})),r}_updateRow(e,t,i="body",n=!1,r=!1){const s=document.createDocumentFragment();DA(e,(e=>{e._vacant=!0})),e.innerHTML="","body"===i&&(e.__cells=[],e.__detailsCell=null),t.filter((e=>!e.hidden)).forEach(((t,o,a)=>{let l;if("body"===i){t._cells||(t._cells=[]),l=t._cells.find((e=>e._vacant)),l||(l=this._createCell("td",t),t._onCellKeyDown&&l.addEventListener("keydown",t._onCellKeyDown.bind(t)),t._cells.push(l)),l.setAttribute("part","cell body-cell"),l.__parentRow=e,e.__cells.push(l);const i=e===this.$.sizer;if(t._bodyContentHidden&&!i||e.appendChild(l),i&&(t._sizerCell=l),o===a.length-1&&this.rowDetailsRenderer){this._detailsCells||(this._detailsCells=[]);const t=this._detailsCells.find((e=>e._vacant))||this._createCell("td");-1===this._detailsCells.indexOf(t)&&this._detailsCells.push(t),t._content.parentElement||s.appendChild(t._content),this._configureDetailsCell(t),e.appendChild(t),e.__detailsCell=t,this._a11ySetRowDetailsCell(e,t),t._vacant=!1}r||(t._cells=[...t._cells])}else{const r="header"===i?"th":"td";n||"vaadin-grid-column-group"===t.localName?(l=t[`_${i}Cell`],l||(l=this._createCell(r),t._onCellKeyDown&&l.addEventListener("keydown",t._onCellKeyDown.bind(t))),l._column=t,e.appendChild(l),t[`_${i}Cell`]=l):(t._emptyCells||(t._emptyCells=[]),l=t._emptyCells.find((e=>e._vacant))||this._createCell(r),l._column=t,e.appendChild(l),-1===t._emptyCells.indexOf(l)&&t._emptyCells.push(l)),l.part.add("cell",`${i}-cell`)}l._content.parentElement||s.appendChild(l._content),l._vacant=!1,l._column=t})),"body"!==i&&this.__debounceUpdateHeaderFooterRowVisibility(e),this.appendChild(s),this._frozenCellsChanged(),this._updateFirstAndLastColumnForRow(e)}__debounceUpdateHeaderFooterRowVisibility(e){e.__debounceUpdateHeaderFooterRowVisibility=iA.debounce(e.__debounceUpdateHeaderFooterRowVisibility,Ik,(()=>this.__updateHeaderFooterRowVisibility(e)))}__updateHeaderFooterRowVisibility(e){if(!e)return;const t=Array.from(e.children).filter((t=>{const i=t._column;if(i._emptyCells&&i._emptyCells.indexOf(t)>-1)return!1;if(e.parentElement===this.$.header){if(i.headerRenderer)return!0;if(null===i.header)return!1;if(i.path||void 0!==i.header)return!0}else if(i.footerRenderer)return!0;return!1}));e.hidden!==!t.length&&(e.hidden=!t.length),this._resetKeyboardNavigation()}_updateScrollerItem(e,t){this._preventScrollerRotatingCellFocus(e,t),this._columnTree&&(this._updateRowOrderParts(e,t),this._a11yUpdateRowRowindex(e,t),this._getItem(t,e))}_columnTreeChanged(e){this._renderColumnTree(e),this.recalculateColumnWidths(),this.__updateColumnsBodyContentHidden()}_updateRowOrderParts(e,t=e.index){OA(e,{first:0===t,last:t===this._flatSize-1,odd:t%2!=0,even:t%2==0})}_updateRowStateParts(e,{expanded:t,selected:i,detailsOpened:n}){OA(e,{expanded:t,collapsed:this.__isRowExpandable(e),selected:i,"details-opened":n})}_renderColumnTree(e){for(IA(this.$.items,(t=>{this._updateRow(t,e[e.length-1],"body",!1,!0);const i=this.__getRowModel(t);this._updateRowOrderParts(t),this._updateRowStateParts(t,i),this._filterDragAndDrop(t,i)}));this.$.header.children.length<e.length;){const e=document.createElement("tr");e.setAttribute("part","row"),e.setAttribute("role","row"),e.setAttribute("tabindex","-1"),this.$.header.appendChild(e);const t=document.createElement("tr");t.setAttribute("part","row"),t.setAttribute("role","row"),t.setAttribute("tabindex","-1"),this.$.footer.appendChild(t)}for(;this.$.header.children.length>e.length;)this.$.header.removeChild(this.$.header.firstElementChild),this.$.footer.removeChild(this.$.footer.firstElementChild);IA(this.$.header,((t,i,n)=>{this._updateRow(t,e[i],"header",i===e.length-1);const r=TA(t);RA(r,"first-header-row-cell",0===i),RA(r,"last-header-row-cell",i===n.length-1)})),IA(this.$.footer,((t,i,n)=>{this._updateRow(t,e[e.length-1-i],"footer",0===i);const r=TA(t);RA(r,"first-footer-row-cell",0===i),RA(r,"last-footer-row-cell",i===n.length-1)})),this._updateRow(this.$.sizer,e[e.length-1]),this._resizeHandler(),this._frozenCellsChanged(),this._updateFirstAndLastColumn(),this._resetKeyboardNavigation(),this._a11yUpdateHeaderRows(),this._a11yUpdateFooterRows(),this.generateCellClassNames(),this.generateCellPartNames(),this.__updateHeaderAndFooter()}_updateItem(e,t){e._item=t;const i=this.__getRowModel(e);this._toggleDetailsCell(e,i.detailsOpened),this._a11yUpdateRowLevel(e,i.level),this._a11yUpdateRowSelected(e,i.selected),this._updateRowStateParts(e,i),this._generateCellClassNames(e,i),this._generateCellPartNames(e,i),this._filterDragAndDrop(e,i),IA(e,(e=>{if(e._renderer){const t=e._column||this;e._renderer.call(t,e._content,t,i)}})),this._updateDetailsCellHeight(e),this._a11yUpdateRowExpanded(e,i.expanded)}_resizeHandler(){this._updateDetailsCellHeights(),this.__updateHorizontalScrollPosition()}_onAnimationEnd(e){0===e.animationName.indexOf("vaadin-grid-appear")&&(e.stopPropagation(),this.__tryToRecalculateColumnWidthsIfPending(),requestAnimationFrame((()=>{this.__scrollToPendingIndexes()})))}__getRowModel(e){return{index:e.index,item:e._item,level:this._getIndexLevel(e.index),expanded:this._isExpanded(e._item),selected:this._isSelected(e._item),detailsOpened:!!this.rowDetailsRenderer&&this._isDetailsOpened(e._item)}}_showTooltip(e){const t=this._tooltipController.node;t&&t.isConnected&&(this._tooltipController.setTarget(e.target),this._tooltipController.setContext(this.getEventContext(e)),t._stateController.open({focus:"focusin"===e.type,hover:"mouseenter"===e.type}))}_hideTooltip(e){const t=this._tooltipController&&this._tooltipController.node;t&&t._stateController.close(e)}requestContentUpdate(){this.__updateHeaderAndFooter(),this.__updateVisibleRows()}__updateHeaderAndFooter(){(this._columnTree||[]).forEach((e=>{e.forEach((e=>{e._renderHeaderAndFooter&&e._renderHeaderAndFooter()}))}))}__updateVisibleRows(e,t){this.__virtualizer&&this.__virtualizer.update(e,t)}};uk("vaadin-grid",u`
  @keyframes vaadin-grid-appear {
    to {
      opacity: 1;
    }
  }

  :host {
    display: flex;
    flex-direction: column;
    animation: 1ms vaadin-grid-appear;
    height: 400px;
    flex: 1 1 auto;
    align-self: stretch;
    position: relative;
  }

  :host([hidden]) {
    display: none !important;
  }

  :host([disabled]) {
    pointer-events: none;
  }

  #scroller {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    transform: translateY(0);
    width: auto;
    height: auto;
    position: absolute;
    inset: 0;
  }

  :host([all-rows-visible]) {
    height: auto;
    align-self: flex-start;
    flex-grow: 0;
    width: 100%;
  }

  :host([all-rows-visible]) #scroller {
    width: 100%;
    height: 100%;
    position: relative;
  }

  :host([all-rows-visible]) #items {
    min-height: 1px;
  }

  #table {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: auto;
    position: relative;
    outline: none;
    /* Workaround for a Desktop Safari bug: new stacking context here prevents the scrollbar from getting hidden */
    z-index: 0;
  }

  #header,
  #footer {
    display: block;
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    overflow: visible;
    width: 100%;
    z-index: 1;
  }

  #header {
    top: 0;
  }

  th {
    text-align: inherit;
  }

  /* Safari doesn't work with "inherit" */
  [safari] th {
    text-align: initial;
  }

  #footer {
    bottom: 0;
  }

  #items {
    flex-grow: 1;
    flex-shrink: 0;
    display: block;
    position: -webkit-sticky;
    position: sticky;
    width: 100%;
    left: 0;
    overflow: visible;
  }

  [part~='row'] {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }

  [part~='row'][loading] [part~='body-cell'] ::slotted(vaadin-grid-cell-content) {
    visibility: hidden;
  }

  [column-rendering='lazy'] [part~='body-cell']:not([frozen]):not([frozen-to-end]) {
    transform: translateX(var(--_grid-lazy-columns-start));
  }

  #items [part~='row'] {
    position: absolute;
  }

  #items [part~='row']:empty {
    height: 100%;
  }

  [part~='cell']:not([part~='details-cell']) {
    flex-shrink: 0;
    flex-grow: 1;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    position: relative;
    align-items: center;
    padding: 0;
    white-space: nowrap;
  }

  [part~='cell'] > [tabindex] {
    display: flex;
    align-items: inherit;
    outline: none;
    position: absolute;
    inset: 0;
  }

  [part~='details-cell'] {
    position: absolute;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
  }

  [part~='cell'] ::slotted(vaadin-grid-cell-content) {
    display: block;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  [hidden] {
    display: none !important;
  }

  [frozen],
  [frozen-to-end] {
    z-index: 2;
    will-change: transform;
  }

  [no-scrollbars][safari] #table,
  [no-scrollbars][firefox] #table {
    overflow: hidden;
  }

  /* Reordering styles */
  :host([reordering]) [part~='cell'] ::slotted(vaadin-grid-cell-content),
  :host([reordering]) [part~='resize-handle'],
  #scroller[no-content-pointer-events] [part~='cell'] ::slotted(vaadin-grid-cell-content) {
    pointer-events: none;
  }

  [part~='reorder-ghost'] {
    visibility: hidden;
    position: fixed;
    pointer-events: none;
    opacity: 0.5;

    /* Prevent overflowing the grid in Firefox */
    top: 0;
    left: 0;
  }

  :host([reordering]) {
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
  }

  /* Resizing styles */
  [part~='resize-handle'] {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    cursor: col-resize;
    z-index: 1;
  }

  [part~='resize-handle']::before {
    position: absolute;
    content: '';
    height: 100%;
    width: 35px;
    transform: translateX(-50%);
  }

  [last-column] [part~='resize-handle']::before,
  [last-frozen] [part~='resize-handle']::before {
    width: 18px;
    transform: none;
    right: 0;
  }

  [frozen-to-end] [part~='resize-handle'] {
    left: 0;
    right: auto;
  }

  [frozen-to-end] [part~='resize-handle']::before {
    left: 0;
    right: auto;
  }

  [first-frozen-to-end] [part~='resize-handle']::before {
    width: 18px;
    transform: none;
  }

  [first-frozen-to-end] {
    margin-inline-start: auto;
  }

  /* Hide resize handle if scrolled to end */
  :host(:not([overflow~='end'])) [first-frozen-to-end] [part~='resize-handle'] {
    display: none;
  }

  #scroller[column-resizing] {
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
  }

  /* Sizer styles */
  #sizer {
    display: flex;
    position: absolute;
    visibility: hidden;
  }

  #sizer [part~='details-cell'] {
    display: none !important;
  }

  #sizer [part~='cell'][hidden] {
    display: none !important;
  }

  #sizer [part~='cell'] {
    display: block;
    flex-shrink: 0;
    line-height: 0;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  #sizer [part~='cell']::before {
    content: '-';
  }

  #sizer [part~='cell'] ::slotted(vaadin-grid-cell-content) {
    display: none !important;
  }

  /* RTL specific styles */

  :host([dir='rtl']) #items,
  :host([dir='rtl']) #header,
  :host([dir='rtl']) #footer {
    left: auto;
  }

  :host([dir='rtl']) [part~='reorder-ghost'] {
    left: auto;
    right: 0;
  }

  :host([dir='rtl']) [part~='resize-handle'] {
    left: 0;
    right: auto;
  }

  :host([dir='rtl']) [part~='resize-handle']::before {
    transform: translateX(50%);
  }

  :host([dir='rtl']) [last-column] [part~='resize-handle']::before,
  :host([dir='rtl']) [last-frozen] [part~='resize-handle']::before {
    left: 0;
    right: auto;
  }

  :host([dir='rtl']) [frozen-to-end] [part~='resize-handle'] {
    right: 0;
    left: auto;
  }

  :host([dir='rtl']) [frozen-to-end] [part~='resize-handle']::before {
    right: 0;
    left: auto;
  }

  @media (forced-colors: active) {
    [part~='selected-row'] [part~='first-column-cell']::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      border: 2px solid;
    }

    [part~='focused-cell']::before {
      outline: 2px solid !important;
      outline-offset: -1px;
    }
  }
`,{moduleId:"vaadin-grid-styles"});class XC extends(QC(lA(yk(DS(vo))))){static get template(){return fo`
      <div
        id="scroller"
        safari$="[[_safari]]"
        ios$="[[_ios]]"
        loading$="[[loading]]"
        column-reordering-allowed$="[[columnReorderingAllowed]]"
      >
        <table id="table" role="treegrid" aria-multiselectable="true" tabindex="0">
          <caption id="sizer" part="row"></caption>
          <thead id="header" role="rowgroup"></thead>
          <tbody id="items" role="rowgroup"></tbody>
          <tfoot id="footer" role="rowgroup"></tfoot>
        </table>

        <div part="reorder-ghost"></div>
      </div>

      <slot name="tooltip"></slot>

      <div id="focusexit" tabindex="0"></div>
    `}static get is(){return"vaadin-grid"}}ak(XC);let eT=class extends ve{constructor(){super(...arguments),this.columns=[],this.height="400",this.sortable=!1,this.pageSize="50"}clearCache(){this._grid.clearCache()}render(){return Z`
            <!-- TO DO: ADD SEARCH FILTER -->

            <slot class="search" name="search"></slot>
            <vaadin-grid
                id="grid"
                .dataProvider="${this.dataProvider}"
                .pageSize="${this.pageSize}"
                style="height:${this.height}px;"
            >
                ${this.columns.map((e=>Z`
                            ${this.sortable?Z` <vaadin-grid-sort-column
                                      .path="${e.path}"
                                      .header="${e.name}"
                                      resizable
                                  ></vaadin-grid-sort-column>`:Z`<vaadin-grid-column
                                      .path="${e.path}"
                                      .header="${e.name}"
                                      resizable
                                  ></vaadin-grid-column>`}
                        `))}
            </vaadin-grid>
            <slot class="results" name="results"></slot>
        `}};eT.styles=[cA,u`
            :host {
                position: relative;
                display: block;
                background: white;
                padding: 15px 20px;
            }

            :host([hidden]),
            [hidden] {
                display: none;
            }

            :host vaadin-grid {
                color: var(--text-dark);
                font-weight: 300;
            }

            vaadin-grid-cell-content{
                color: var(--text-dark);
            }

            vaadin-grid-sorter {
                color: var(--text-dark);
                font-size: 14px;
                font-weight: 400;
            }

            .search,
            .results {
                color: var(--text-dark);
                display: block;
                width: fit-content;
                height: auto;
                padding:10px 0;
                box-sizing: border-box;
            }
        `],Aw([ke({type:Array})],eT.prototype,"columns",void 0),Aw([ke({type:String})],eT.prototype,"height",void 0),Aw([ke({type:Boolean,reflect:!0})],eT.prototype,"sortable",void 0),Aw([ke({type:Function})],eT.prototype,"dataProvider",void 0),Aw([ke({type:Number})],eT.prototype,"pageSize",void 0),Aw([Ee("#grid")],eT.prototype,"_grid",void 0),eT=Aw([be("sdb-content-datatable")],eT);const tT=u`
  :host {
    top: 16px;
    right: 16px;
    /* TODO (@jouni): remove unnecessary multiplication after https://github.com/vaadin/vaadin-overlay/issues/90 is fixed */
    bottom: calc(1px * var(--vaadin-overlay-viewport-bottom) + 16px);
    left: 16px;
  }

  [part='overlay'] {
    background-color: var(--material-background-color);
    border-radius: 4px;
    box-shadow: var(--material-shadow-elevation-4dp);
    color: var(--material-body-text-color);
    font-family: var(--material-font-family);
    font-size: var(--material-body-font-size);
    font-weight: 400;
  }

  [part='content'] {
    padding: 8px 0;
  }

  [part='backdrop'] {
    opacity: 0.2;
    animation: 0.2s vaadin-overlay-backdrop-enter;
    will-change: opacity;
  }

  @keyframes vaadin-overlay-backdrop-enter {
    0% {
      opacity: 0;
    }
  }
`;uk("",tT,{moduleId:"material-overlay"});uk("vaadin-date-picker-overlay",[tT,u`
  :host([fullscreen]) {
    /* stylelint-disable declaration-block-no-redundant-longhand-properties */
    top: 0 !important;
    right: 0 !important;
    bottom: var(--vaadin-overlay-viewport-bottom) !important;
    left: 0 !important;
    /* stylelint-enable declaration-block-no-redundant-longhand-properties */
    align-items: stretch;
    justify-content: stretch;
  }

  [part='overlay'] {
    overflow: hidden;
    -webkit-overflow-scrolling: auto;
  }

  :host(:not([fullscreen])) [part='overlay'] {
    width: 360px;
    max-height: 500px;
    border-radius: 0 4px 4px;
  }

  :host([dir='ltr']:not([fullscreen])[end-aligned]) [part='overlay'],
  :host([dir='rtl']:not([fullscreen])[start-aligned]) [part='overlay'] {
    border-radius: 4px 0 4px 4px;
  }

  :host(:not([fullscreen])[bottom-aligned]) [part='overlay'] {
    border-radius: 4px;
  }

  :host(:not([fullscreen])[show-week-numbers]) [part='overlay'] {
    width: 396px;
  }

  [part='content'] {
    padding: 0;
  }
`],{moduleId:"material-date-picker-overlay"});uk("vaadin-button",u`
  :host {
    padding: 8px;
    min-width: 64px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    border-radius: 4px;
    color: var(--material-primary-text-color);
    font-family: var(--material-font-family);
    text-transform: uppercase;
    font-size: var(--material-button-font-size);
    line-height: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
    white-space: nowrap;
    overflow: hidden;
    transition: box-shadow 0.2s;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    flex-shrink: 0;
  }

  :host::before,
  :host::after {
    content: '';
    pointer-events: none;
    position: absolute;
    border-radius: inherit;
    opacity: 0;
    background-color: currentColor;
  }

  :host::before {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: opacity 0.5s;
  }

  :host::after {
    border-radius: 50%;
    width: 320px;
    height: 320px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.9s;
  }

  [part='label'] ::slotted(*) {
    vertical-align: middle;
  }

  :host(:hover)::before,
  :host([focus-ring])::before {
    opacity: 0.08;
    transition-duration: 0.2s;
  }

  :host([active])::before {
    opacity: 0.16;
    transition: opacity 0.4s;
  }

  :host([active])::after {
    transform: translate(-50%, -50%) scale(0.0000001); /* animation works weirdly with scale(0) */
    opacity: 0.1;
    transition: 0s;
  }

  :host(:hover:not([active]))::after {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
  }

  :host([disabled]) {
    pointer-events: none;
    color: var(--material-disabled-text-color);
  }

  /* Contained and outline variants */
  :host([theme~='contained']),
  :host([theme~='outlined']) {
    padding: 8px 16px;
  }

  :host([theme~='outlined']) {
    box-shadow: inset 0 0 0 1px var(--_material-button-outline-color, rgba(0, 0, 0, 0.2));
  }

  :host([theme~='contained']:not([disabled])) {
    background-color: var(--material-primary-color);
    color: var(--material-primary-contrast-color);
    box-shadow: var(--material-shadow-elevation-2dp);
  }

  :host([theme~='contained'][disabled]) {
    background-color: var(--material-secondary-background-color);
  }

  :host([theme~='contained']:hover) {
    box-shadow: var(--material-shadow-elevation-4dp);
  }

  :host([theme~='contained'][active]) {
    box-shadow: var(--material-shadow-elevation-8dp);
  }

  /* Icon alignment */

  [part] ::slotted(vaadin-icon) {
    display: block;
    width: 18px;
    height: 18px;
  }

  [part='prefix'] ::slotted(vaadin-icon) {
    margin-right: 8px;
    margin-left: -4px;
  }

  [part='suffix'] ::slotted(vaadin-icon) {
    margin-left: 8px;
    margin-right: -4px;
  }

  /* RTL specific styles */

  :host([dir='rtl'])::before {
    left: auto;
    right: 0;
  }

  :host([dir='rtl'])::after {
    left: auto;
    right: 50%;
    transform: translate(50%, -50%);
  }

  :host([active][dir='rtl'])::after {
    transform: translate(50%, -50%) scale(0.0000001);
  }

  :host(:hover:not([active])[dir='rtl'])::after {
    transform: translate(50%, -50%) scale(1);
  }

  :host([dir='rtl']) [part='prefix'] ::slotted(vaadin-icon) {
    margin-right: -4px;
    margin-left: 8px;
  }

  :host([dir='rtl']) [part='suffix'] ::slotted(vaadin-icon) {
    margin-left: -4px;
    margin-right: 8px;
  }
`,{moduleId:"material-button"}),uk("vaadin-date-picker-year",u`
    [part='year-number'] {
      font-size: var(--material-small-font-size);
      line-height: 10px; /* NOTE(platosha): chosen to align years to months */
    }

    [part='year-separator'] {
      display: flex;
      align-items: center;
      justify-content: center;
      height: calc(100% - 10px);
    }

    [part='year-separator']::before {
      content: '';
      background-color: currentColor;
      width: 4px;
      height: 4px;
      border-radius: 50%;
    }
  `,{moduleId:"material-date-picker-year"}),uk("vaadin-date-picker-overlay-content",u`
    :host {
      background: var(--material-background-color);
      font-family: var(--material-font-family);
      font-size: var(--material-body-font-size);
      -webkit-text-size-adjust: 100%;
      line-height: 1.4;
    }

    :host([fullscreen]) {
      position: absolute;
    }

    [part='overlay-header'] {
      display: flex;
      align-items: baseline;
      position: relative;
      color: var(--material-body-text-color);
      background: var(--material-secondary-background-color);
      border-bottom: 2px solid var(--material-primary-color);
      padding: 8px;
      box-shadow: var(--material-shadow-elevation-4dp);
    }

    [part='label'] {
      padding: 0 8px;
      flex: auto;
    }

    [part='clear-button'],
    [part='toggle-button'] {
      font-family: 'material-icons';
      font-size: var(--material-icon-font-size);
      line-height: 24px;
      width: 24px;
      height: 24px;
      text-align: center;
      padding: 8px;
      color: var(--material-secondary-text-color);
    }

    [part='clear-button']:hover,
    [part='toggle-button']:hover,
    [part='years-toggle-button']:hover {
      color: inherit;
    }

    [part='clear-button']::before {
      content: var(--material-icons-clear);
    }

    [part='toggle-button']::before {
      content: var(--material-icons-calendar);
    }

    [part='years-toggle-button'] {
      padding: 4px 8px;
      font-size: var(--material-body-font-size);
      font-weight: 500;
      line-height: 24px;
      letter-spacing: 0.05em;
      color: var(--material-secondary-text-color);
    }

    [part='years-toggle-button']::after {
      content: var(--material-icons-play);
      display: inline-block;
      width: 24px;
      font-family: 'material-icons';
      font-size: var(--material-icon-font-size);
      line-height: 24px;
      text-align: center;
      transition: transform 100ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    :host([years-visible]) [part='years-toggle-button']::after {
      transform: rotate(90deg);
    }

    ::slotted([slot='months']) {
      --vaadin-infinite-scroller-item-height: 328px;
      text-align: center;
    }

    ::slotted([slot='years']) {
      background: var(--material-secondary-text-color);
      color: var(--material-background-color);
      font-size: var(--material-body-font-size);
      font-weight: 400;
      line-height: 1.4;
      text-align: center;
    }

    ::slotted([slot='years'])::before {
      border: 0;
      width: 8px;
      height: 8px;
      transform: translateX(-50%) rotate(-45deg);
      background: var(--material-background-color);
    }

    [part='toolbar'] {
      display: flex;
      justify-content: flex-end;
      padding: 8px 4px;
      border-top: 1px solid var(--material-divider-color);
    }

    ::slotted([slot='cancel-button']) {
      order: 1;
    }

    ::slotted([slot='today-button']) {
      order: 2;
    }

    ::slotted(vaadin-button) {
      margin: 0 4px;
    }
  `,{moduleId:"material-date-picker-overlay-content"}),uk("vaadin-month-calendar",u`
    :host {
      color: var(--material-body-text-color);
      padding: 0 calc(50% / 8 - 0.5em + 8px);
    }

    :host([show-week-numbers]) {
      padding: 0 calc(50% / 9 - 0.5em + 8px);
    }

    [part='month-header'] {
      font-size: var(--material-h6-font-size);
      line-height: 1;
      padding-top: 20px;
      margin-bottom: 8px;
    }

    [part='week-number'],
    [part='weekday'] {
      font-size: var(--material-caption-font-size);
      line-height: 44px;
      height: 40px;
      color: var(--material-secondary-text-color);
    }

    :host([disabled]),
    :host([disabled]) [part='week-number'],
    :host([disabled]) [part='weekday'] {
      color: var(--material-disabled-text-color);
    }

    [part~='date'] {
      position: relative;
      font-size: var(--material-body-font-size);
      line-height: 42px;
      height: 40px;
      cursor: default;
    }

    [part~='date']::after {
      content: '';
      position: absolute;
      z-index: -4;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 38px;
      height: 38px;
      box-sizing: border-box;
      border-radius: 50%;
      border: 2px solid transparent;
    }

    /* Today */

    [part~='date'][part~='today'] {
      color: var(--material-primary-text-color);
    }

    /* Hover */

    [part~='date']:not([part~='disabled']):hover::after {
      background-color: var(--material-secondary-background-color);
      border-color: var(--material-secondary-background-color);
      z-index: -3;
    }

    /* Hide for touch devices */
    @media (hover: none) {
      [part~='date']:not([part~='disabled']):hover::after {
        background-color: transparent;
        border-color: transparent;
        z-index: -4;
      }
    }

    /* Selected */

    [part~='date'][part~='selected'] {
      font-weight: 500;
    }

    [part~='date']:not([part~='disabled'])[part~='selected']::after,
    [part~='date'][part~='selected']::after {
      background-color: transparent;
      border-color: currentColor;
      z-index: -2;
    }

    /* Focused */

    [part~='date']:not([part~='disabled'])[part~='focused'],
    [part~='date']:not([part~='disabled']):active {
      color: var(--material-primary-contrast-color);
    }

    [part~='date']:not([part~='disabled'])[part~='focused']::after,
    [part~='date']:not([part~='disabled']):active::after {
      opacity: 0.7;
      background-color: var(--material-primary-color);
      border-color: var(--material-primary-color);
      z-index: -1;
    }

    [part~='date'][part~='disabled'] {
      color: var(--material-disabled-text-color);
    }

    :host([focused]) [part~='date']:not([part~='disabled'])[part~='focused']::after {
      opacity: 1;
    }
  `,{moduleId:"material-date-picker-month-calendar"});uk("vaadin-date-picker",[GA,u`
  :host {
    display: inline-flex;
    -webkit-tap-highlight-color: transparent;
  }

  [part='clear-button']::before {
    content: var(--material-icons-clear);
  }

  [part='toggle-button']::before {
    content: var(--material-icons-calendar);
  }
`],{moduleId:"material-date-picker"});let iT=new WeakMap,nT=new WeakMap,rT={},sT=0;const oT=e=>e&&e.nodeType===Node.ELEMENT_NODE,aT=(...e)=>{console.error(`Error: ${e.join(" ")}. Skip setting aria-hidden.`)},lT=(e,t,i,n)=>{const r=((e,t)=>oT(e)?t.map((t=>{if(!oT(t))return aT(t,"is not a valid element"),null;let i=t;for(;i&&i!==e;){if(e.contains(i))return t;i=i.getRootNode().host}return aT(t,"is not contained inside",e),null})).filter((e=>Boolean(e))):(aT(e,"is not a valid element"),[]))(t,Array.isArray(e)?e:[e]);rT[i]||(rT[i]=new WeakMap);const s=rT[i],o=[],a=new Set,l=new Set(r),d=e=>{if(!e||a.has(e))return;a.add(e);const t=e.assignedSlot;t&&d(t),d(e.parentNode||e.host)};r.forEach(d);const c=e=>{if(!e||l.has(e))return;const t=e.shadowRoot;(t?[...e.children,...t.children]:[...e.children]).forEach((e=>{if(!["template","script","style"].includes(e.localName))if(a.has(e))c(e);else{const t=e.getAttribute(n),r=null!==t&&"false"!==t,a=(iT.get(e)||0)+1,l=(s.get(e)||0)+1;iT.set(e,a),s.set(e,l),o.push(e),1===a&&r&&nT.set(e,!0),1===l&&e.setAttribute(i,"true"),r||e.setAttribute(n,"true")}}))};return c(t),a.clear(),sT+=1,()=>{o.forEach((e=>{const t=iT.get(e)-1,r=s.get(e)-1;iT.set(e,t),s.set(e,r),t||(nT.has(e)?nT.delete(e):e.removeAttribute(n)),r||e.removeAttribute(i)})),sT-=1,sT||(iT=new WeakMap,iT=new WeakMap,nT=new WeakMap,rT={})}},dT=(e,t=document.body,i="data-aria-hidden")=>{const n=Array.from(Array.isArray(e)?e:[e]);return t&&n.push(...Array.from(t.querySelectorAll("[aria-live]"))),lT(n,t,i,"aria-hidden")};class cT{constructor(e,t){this.host=e,this.callback="function"==typeof t?t:()=>e}showModal(){const e=this.callback();this.__showOthers=dT(e)}close(){this.__showOthers&&(this.__showOthers(),this.__showOthers=null)}}const hT=e=>class extends(DS(e)){static get properties(){return{focusTrap:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!1},restoreFocusNode:{type:HTMLElement}}}constructor(){super(),this.__ariaModalController=new cT(this),this.__focusTrapController=new zC(this),this.__focusRestorationController=new jC}ready(){super.ready(),this.addController(this.__ariaModalController),this.addController(this.__focusTrapController),this.addController(this.__focusRestorationController)}_resetFocus(){this.focusTrap&&(this.__ariaModalController.close(),this.__focusTrapController.releaseFocus()),this.restoreFocusOnClose&&this._shouldRestoreFocus()&&this.__focusRestorationController.restoreFocus()}_saveFocus(){this.restoreFocusOnClose&&this.__focusRestorationController.saveFocus(this.restoreFocusNode)}_trapFocus(){this.focusTrap&&(this.__ariaModalController.showModal(),this.__focusTrapController.trapFocus(this.$.overlay))}_shouldRestoreFocus(){const e=_S();return e===document.body||this._deepContains(e)}_deepContains(e){if(this.contains(e))return!0;let t=e;const i=e.ownerDocument;for(;t&&t!==i&&t!==this;)t=t.parentNode||t.host;return t===this}},uT=()=>Array.from(document.body.children).filter((e=>e instanceof HTMLElement&&e._hasOverlayStackMixin&&!e.hasAttribute("closing"))).sort(((e,t)=>e.__zIndex-t.__zIndex||0)),pT=e=>class extends e{constructor(){super(),this._hasOverlayStackMixin=!0}get _last(){return(e=>e===uT().pop())(this)}bringToFront(){let e="";const t=uT().filter((e=>e!==this)).pop();if(t){e=t.__zIndex+1}this.style.zIndex=e,this.__zIndex=e||parseFloat(getComputedStyle(this).zIndex)}_enterModalState(){"none"!==document.body.style.pointerEvents&&(this._previousDocumentPointerEvents=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),uT().forEach((e=>{e!==this&&(e.$.overlay.style.pointerEvents="none")}))}_exitModalState(){void 0!==this._previousDocumentPointerEvents&&(document.body.style.pointerEvents=this._previousDocumentPointerEvents,delete this._previousDocumentPointerEvents);const e=uT();let t;for(;(t=e.pop())&&(t===this||(t.$.overlay.style.removeProperty("pointer-events"),t.modeless)););}},gT=e=>class extends(hT(pT(e))){static get properties(){return{opened:{type:Boolean,notify:!0,observer:"_openedChanged",reflectToAttribute:!0},owner:{type:Object},model:{type:Object},renderer:{type:Object},modeless:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_modelessChanged"},hidden:{type:Boolean,reflectToAttribute:!0,observer:"_hiddenChanged"},withBackdrop:{type:Boolean,value:!1,reflectToAttribute:!0}}}static get observers(){return["_rendererOrDataChanged(renderer, owner, model, opened)"]}constructor(){super(),this._boundMouseDownListener=this._mouseDownListener.bind(this),this._boundMouseUpListener=this._mouseUpListener.bind(this),this._boundOutsideClickListener=this._outsideClickListener.bind(this),this._boundKeydownListener=this._keydownListener.bind(this),lE&&(this._boundIosResizeListener=()=>this._detectIosNavbar())}ready(){super.ready(),this.addEventListener("click",(()=>{})),this.$.backdrop.addEventListener("click",(()=>{})),this.addEventListener("mouseup",(()=>{document.activeElement===document.body&&"0"===this.$.overlay.getAttribute("tabindex")&&this.$.overlay.focus()}))}connectedCallback(){super.connectedCallback(),this._boundIosResizeListener&&(this._detectIosNavbar(),window.addEventListener("resize",this._boundIosResizeListener))}disconnectedCallback(){super.disconnectedCallback(),this._boundIosResizeListener&&window.removeEventListener("resize",this._boundIosResizeListener)}requestContentUpdate(){this.renderer&&this.renderer.call(this.owner,this,this.owner,this.model)}close(e){const t=new CustomEvent("vaadin-overlay-close",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),t.defaultPrevented||(this.opened=!1)}_detectIosNavbar(){if(!this.opened)return;const e=window.innerHeight,t=window.innerWidth>e,i=document.documentElement.clientHeight;t&&i>e?this.style.setProperty("--vaadin-overlay-viewport-bottom",i-e+"px"):this.style.setProperty("--vaadin-overlay-viewport-bottom","0")}_addGlobalListeners(){document.addEventListener("mousedown",this._boundMouseDownListener),document.addEventListener("mouseup",this._boundMouseUpListener),document.documentElement.addEventListener("click",this._boundOutsideClickListener,!0)}_removeGlobalListeners(){document.removeEventListener("mousedown",this._boundMouseDownListener),document.removeEventListener("mouseup",this._boundMouseUpListener),document.documentElement.removeEventListener("click",this._boundOutsideClickListener,!0)}_rendererOrDataChanged(e,t,i,n){const r=this._oldOwner!==t||this._oldModel!==i;this._oldModel=i,this._oldOwner=t;const s=this._oldRenderer!==e,o=void 0!==this._oldRenderer;this._oldRenderer=e;const a=this._oldOpened!==n;this._oldOpened=n,s&&o&&(this.innerHTML="",delete this._$litPart$),n&&e&&(s||a||r)&&this.requestContentUpdate()}_modelessChanged(e){e?(this._removeGlobalListeners(),this._exitModalState()):this.opened&&(this._addGlobalListeners(),this._enterModalState())}_openedChanged(e,t){e?(this._saveFocus(),this._animatedOpening(),os(this,(()=>{this._trapFocus();const e=new CustomEvent("vaadin-overlay-open",{bubbles:!0});this.dispatchEvent(e)})),document.addEventListener("keydown",this._boundKeydownListener),this.modeless||this._addGlobalListeners()):t&&(this._resetFocus(),this._animatedClosing(),document.removeEventListener("keydown",this._boundKeydownListener),this.modeless||this._removeGlobalListeners())}_hiddenChanged(e){e&&this.hasAttribute("closing")&&this._flushAnimation("closing")}_shouldAnimate(){const e=getComputedStyle(this),t=e.getPropertyValue("animation-name");return!("none"===e.getPropertyValue("display"))&&t&&"none"!==t}_enqueueAnimation(e,t){const i=`__${e}Handler`,n=e=>{e&&e.target!==this||(t(),this.removeEventListener("animationend",n),delete this[i])};this[i]=n,this.addEventListener("animationend",n)}_flushAnimation(e){const t=`__${e}Handler`;"function"==typeof this[t]&&this[t]()}_animatedOpening(){this.parentNode===document.body&&this.hasAttribute("closing")&&this._flushAnimation("closing"),this._attachOverlay(),this.modeless||this._enterModalState(),this.setAttribute("opening",""),this._shouldAnimate()?this._enqueueAnimation("opening",(()=>{this._finishOpening()})):this._finishOpening()}_attachOverlay(){this._placeholder=document.createComment("vaadin-overlay-placeholder"),this.parentNode.insertBefore(this._placeholder,this),document.body.appendChild(this),this.bringToFront()}_finishOpening(){this.removeAttribute("opening")}_finishClosing(){this._detachOverlay(),this.$.overlay.style.removeProperty("pointer-events"),this.removeAttribute("closing"),this.dispatchEvent(new CustomEvent("vaadin-overlay-closed"))}_animatedClosing(){this.hasAttribute("opening")&&this._flushAnimation("opening"),this._placeholder&&(this._exitModalState(),this.setAttribute("closing",""),this.dispatchEvent(new CustomEvent("vaadin-overlay-closing")),this._shouldAnimate()?this._enqueueAnimation("closing",(()=>{this._finishClosing()})):this._finishClosing())}_detachOverlay(){this._placeholder.parentNode.insertBefore(this,this._placeholder),this._placeholder.parentNode.removeChild(this._placeholder)}_mouseDownListener(e){this._mouseDownInside=e.composedPath().indexOf(this.$.overlay)>=0}_mouseUpListener(e){this._mouseUpInside=e.composedPath().indexOf(this.$.overlay)>=0}_shouldCloseOnOutsideClick(e){return this._last}_outsideClickListener(e){if(e.composedPath().includes(this.$.overlay)||this._mouseDownInside||this._mouseUpInside)return this._mouseDownInside=!1,void(this._mouseUpInside=!1);if(!this._shouldCloseOnOutsideClick(e))return;const t=new CustomEvent("vaadin-overlay-outside-click",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}_keydownListener(e){if(this._last&&(!this.modeless||e.composedPath().includes(this.$.overlay))&&"Escape"===e.key){const t=new CustomEvent("vaadin-overlay-escape-press",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}}},mT={start:"top",end:"bottom"},fT={start:"left",end:"right"},yT=new ResizeObserver((e=>{setTimeout((()=>{e.forEach((e=>{e.target.__overlay&&e.target.__overlay._updatePosition()}))}))})),vT=e=>class extends e{static get properties(){return{positionTarget:{type:Object,value:null,sync:!0},horizontalAlign:{type:String,value:"start",sync:!0},verticalAlign:{type:String,value:"top",sync:!0},noHorizontalOverlap:{type:Boolean,value:!1,sync:!0},noVerticalOverlap:{type:Boolean,value:!1,sync:!0},requiredVerticalSpace:{type:Number,value:0,sync:!0}}}static get observers(){return["__positionSettingsChanged(horizontalAlign, verticalAlign, noHorizontalOverlap, noVerticalOverlap, requiredVerticalSpace)","__overlayOpenedChanged(opened, positionTarget)"]}constructor(){super(),this.__onScroll=this.__onScroll.bind(this),this._updatePosition=this._updatePosition.bind(this)}connectedCallback(){super.connectedCallback(),this.opened&&this.__addUpdatePositionEventListeners()}disconnectedCallback(){super.disconnectedCallback(),this.__removeUpdatePositionEventListeners()}__addUpdatePositionEventListeners(){window.visualViewport.addEventListener("resize",this._updatePosition),window.visualViewport.addEventListener("scroll",this.__onScroll,!0),this.__positionTargetAncestorRootNodes=function(e){const t=[];for(;e;){if(e.nodeType===Node.DOCUMENT_NODE){t.push(e);break}e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?e=e.assignedSlot?e.assignedSlot:e.parentNode:(t.push(e),e=e.host)}return t}(this.positionTarget),this.__positionTargetAncestorRootNodes.forEach((e=>{e.addEventListener("scroll",this.__onScroll,!0)}))}__removeUpdatePositionEventListeners(){window.visualViewport.removeEventListener("resize",this._updatePosition),window.visualViewport.removeEventListener("scroll",this.__onScroll,!0),this.__positionTargetAncestorRootNodes&&(this.__positionTargetAncestorRootNodes.forEach((e=>{e.removeEventListener("scroll",this.__onScroll,!0)})),this.__positionTargetAncestorRootNodes=null)}__overlayOpenedChanged(e,t){if(this.__removeUpdatePositionEventListeners(),t&&(t.__overlay=null,yT.unobserve(t),e&&(this.__addUpdatePositionEventListeners(),t.__overlay=this,yT.observe(t))),e){const e=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach((t=>{this.__margins[t]=parseInt(e[t],10)}))),this.setAttribute("dir",e.direction),this._updatePosition(),requestAnimationFrame((()=>this._updatePosition()))}}__positionSettingsChanged(){this._updatePosition()}__onScroll(e){e.target instanceof Node&&this.contains(e.target)||this._updatePosition()}_updatePosition(){if(!this.positionTarget||!this.opened)return;const e=this.positionTarget.getBoundingClientRect(),t=this.__shouldAlignStartVertically(e);this.style.justifyContent=t?"flex-start":"flex-end";const i=this.__isRTL,n=this.__shouldAlignStartHorizontally(e,i),r=!i&&n||i&&!n;this.style.alignItems=r?"flex-start":"flex-end";const s=this.getBoundingClientRect(),o=this.__calculatePositionInOneDimension(e,s,this.noVerticalOverlap,mT,this,t),a=this.__calculatePositionInOneDimension(e,s,this.noHorizontalOverlap,fT,this,n);Object.assign(this.style,o,a),this.toggleAttribute("bottom-aligned",!t),this.toggleAttribute("top-aligned",t),this.toggleAttribute("end-aligned",!r),this.toggleAttribute("start-aligned",r)}__shouldAlignStartHorizontally(e,t){const i=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const n=Math.min(window.innerWidth,document.documentElement.clientWidth),r=!t&&"start"===this.horizontalAlign||t&&"end"===this.horizontalAlign;return this.__shouldAlignStart(e,i,n,this.__margins,r,this.noHorizontalOverlap,fT)}__shouldAlignStartVertically(e){const t=this.requiredVerticalSpace||Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const i=Math.min(window.innerHeight,document.documentElement.clientHeight),n="top"===this.verticalAlign;return this.__shouldAlignStart(e,t,i,this.__margins,n,this.noVerticalOverlap,mT)}__shouldAlignStart(e,t,i,n,r,s,o){const a=i-e[s?o.end:o.start]-n[o.end],l=e[s?o.start:o.end]-n[o.start],d=r?a:l;return r===(d>(r?l:a)||d>t)}__adjustBottomProperty(e,t,i){let n;if(e===t.end){if(t.end===mT.end){const e=Math.min(window.innerHeight,document.documentElement.clientHeight);if(i>e&&this.__oldViewportHeight){n=i-(this.__oldViewportHeight-e)}this.__oldViewportHeight=e}if(t.end===fT.end){const e=Math.min(window.innerWidth,document.documentElement.clientWidth);if(i>e&&this.__oldViewportWidth){n=i-(this.__oldViewportWidth-e)}this.__oldViewportWidth=e}}return n}__calculatePositionInOneDimension(e,t,i,n,r,s){const o=s?n.start:n.end,a=s?n.end:n.start,l=parseFloat(r.style[o]||getComputedStyle(r)[o]),d=this.__adjustBottomProperty(o,n,l),c=t[s?n.start:n.end]-e[i===s?n.end:n.start],h=d?`${d}px`:`${l+c*(s?-1:1)}px`;return{[o]:h,[a]:""}}},_T=u`
  :host {
    z-index: 200;
    position: fixed;

    /* Despite of what the names say, <vaadin-overlay> is just a container
          for position/sizing/alignment. The actual overlay is the overlay part. */

    /* Default position constraints: the entire viewport. Note: themes can
          override this to introduce gaps between the overlay and the viewport. */
    inset: 0;
    bottom: var(--vaadin-overlay-viewport-bottom);

    /* Use flexbox alignment for the overlay part. */
    display: flex;
    flex-direction: column; /* makes dropdowns sizing easier */
    /* Align to center by default. */
    align-items: center;
    justify-content: center;

    /* Allow centering when max-width/max-height applies. */
    margin: auto;

    /* The host is not clickable, only the overlay part is. */
    pointer-events: none;

    /* Remove tap highlight on touch devices. */
    -webkit-tap-highlight-color: transparent;

    /* CSS API for host */
    --vaadin-overlay-viewport-bottom: 0;
  }

  :host([hidden]),
  :host(:not([opened]):not([closing])),
  :host(:not([opened]):not([closing])) [part='overlay'] {
    display: none !important;
  }

  [part='overlay'] {
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    pointer-events: auto;

    /* Prevent overflowing the host */
    max-width: 100%;
    box-sizing: border-box;

    -webkit-tap-highlight-color: initial; /* reenable tap highlight inside */
  }

  [part='backdrop'] {
    z-index: -1;
    content: '';
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    inset: 0;
    pointer-events: auto;
  }
`;uk("vaadin-date-picker-overlay",[_T,u`
  [part='overlay'] {
    display: flex;
    flex: auto;
  }

  [part~='content'] {
    flex: auto;
  }

  @media (forced-colors: active) {
    [part='overlay'] {
      outline: 3px solid;
    }
  }
`],{moduleId:"vaadin-date-picker-overlay-styles"});class bT extends(vT(gT(mS(yk(vo))))){static get is(){return"vaadin-date-picker-overlay"}static get template(){return fo`
      <div id="backdrop" part="backdrop" hidden$="[[!withBackdrop]]"></div>
      <div part="overlay" id="overlay">
        <div part="content" id="content">
          <slot></slot>
        </div>
      </div>
    `}}ak(bT);const wT=u`
  :host {
    display: inline-block;
    position: relative;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }

  :host([hidden]) {
    display: none !important;
  }

  /* Aligns the button with form fields when placed on the same line.
  Note, to make it work, the form fields should have the same "::before" pseudo-element. */
  .vaadin-button-container::before {
    content: '\\2003';
    display: inline-block;
    width: 0;
    max-height: 100%;
  }

  .vaadin-button-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    height: 100%;
    min-height: inherit;
    text-shadow: inherit;
  }

  [part='prefix'],
  [part='suffix'] {
    flex: none;
  }

  [part='label'] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  @media (forced-colors: active) {
    :host {
      outline: 1px solid;
      outline-offset: -1px;
    }

    :host([focused]) {
      outline-width: 2px;
    }

    :host([disabled]) {
      outline-color: GrayText;
    }
  }
`;uk("vaadin-button",wT,{moduleId:"vaadin-button-styles"});class xT extends(_A(lA(yk(DS(vo))))){static get is(){return"vaadin-button"}static get template(){return(e=>e`
  <div class="vaadin-button-container">
    <span part="prefix" aria-hidden="true">
      <slot name="prefix"></slot>
    </span>
    <span part="label">
      <slot></slot>
    </span>
    <span part="suffix" aria-hidden="true">
      <slot name="suffix"></slot>
    </span>
  </div>
  <slot name="tooltip"></slot>
`)(fo)}ready(){super.ready(),this._tooltipController=new US(this),this.addController(this._tooltipController)}}function kT(e,t){return e instanceof Date&&t instanceof Date&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function ST(e,t,i){return(!t||e>=t)&&(!i||e<=i)}function AT(e,t){return t.filter((e=>void 0!==e)).reduce(((t,i)=>{if(!i)return t;if(!t)return i;return Math.abs(e.getTime()-i.getTime())<Math.abs(t.getTime()-e.getTime())?i:t}))}function ET(e){return{day:e.getDate(),month:e.getMonth(),year:e.getFullYear()}}function CT(e){const t=new Date,i=new Date(t);return i.setDate(1),i.setMonth(parseInt(e)+t.getMonth()),i}function TT(e){const t=/^([-+]\d{1}|\d{2,4}|[-+]\d{6})-(\d{1,2})-(\d{1,2})$/u.exec(e);if(!t)return;const i=new Date(0,0);return i.setFullYear(parseInt(t[1],10)),i.setMonth(parseInt(t[2],10)-1),i.setDate(parseInt(t[3],10)),i}ak(xT);const IT=document.createElement("template");IT.innerHTML='\n  <style>\n    :host {\n      display: block;\n      overflow: hidden;\n      height: 500px;\n    }\n\n    #scroller {\n      position: relative;\n      height: 100%;\n      overflow: auto;\n      outline: none;\n      margin-right: -40px;\n      -webkit-overflow-scrolling: touch;\n      overflow-x: hidden;\n    }\n\n    #scroller.notouchscroll {\n      -webkit-overflow-scrolling: auto;\n    }\n\n    #scroller::-webkit-scrollbar {\n      display: none;\n    }\n\n    .buffer {\n      position: absolute;\n      width: var(--vaadin-infinite-scroller-buffer-width, 100%);\n      box-sizing: border-box;\n      padding-right: 40px;\n      top: var(--vaadin-infinite-scroller-buffer-offset, 0);\n      animation: fadein 0.2s;\n    }\n\n    @keyframes fadein {\n      from {\n        opacity: 0;\n      }\n      to {\n        opacity: 1;\n      }\n    }\n  </style>\n\n  <div id="scroller">\n    <div class="buffer"></div>\n    <div class="buffer"></div>\n    <div id="fullHeight"></div>\n  </div>\n';class DT extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"}).appendChild(IT.content.cloneNode(!0)),this.bufferSize=20,this._initialScroll=5e5,this._initialIndex=0,this._activated=!1}get active(){return this._activated}set active(e){e&&!this._activated&&(this._createPool(),this._activated=!0)}get bufferOffset(){return this._buffers[0].offsetTop}get itemHeight(){if(!this._itemHeightVal){const e=getComputedStyle(this).getPropertyValue("--vaadin-infinite-scroller-item-height"),t="background-position";this.$.fullHeight.style.setProperty(t,e);const i=getComputedStyle(this.$.fullHeight).getPropertyValue(t);this.$.fullHeight.style.removeProperty(t),this._itemHeightVal=parseFloat(i)}return this._itemHeightVal}get _bufferHeight(){return this.itemHeight*this.bufferSize}get position(){return(this.$.scroller.scrollTop-this._buffers[0].translateY)/this.itemHeight+this._firstIndex}set position(e){this._preventScrollEvent=!0,e>this._firstIndex&&e<this._firstIndex+2*this.bufferSize?this.$.scroller.scrollTop=this.itemHeight*(e-this._firstIndex)+this._buffers[0].translateY:(this._initialIndex=~~e,this._reset(),this._scrollDisabled=!0,this.$.scroller.scrollTop+=e%1*this.itemHeight,this._scrollDisabled=!1),this._mayHaveMomentum&&(this.$.scroller.classList.add("notouchscroll"),this._mayHaveMomentum=!1,setTimeout((()=>{this.$.scroller.classList.remove("notouchscroll")}),10))}connectedCallback(){this._ready||(this._ready=!0,this.$={},this.shadowRoot.querySelectorAll("[id]").forEach((e=>{this.$[e.id]=e})),this.$.scroller.addEventListener("scroll",(()=>this._scroll())),this._buffers=[...this.shadowRoot.querySelectorAll(".buffer")],this.$.fullHeight.style.height=2*this._initialScroll+"px",oE&&(this.$.scroller.tabIndex=-1))}forceUpdate(){this._debouncerUpdateClones&&(this._buffers[0].updated=this._buffers[1].updated=!1,this._updateClones(),this._debouncerUpdateClones.cancel())}_createElement(){}_updateElement(e,t){}_finishInit(){this._initDone||(this._buffers.forEach((e=>{[...e.children].forEach((e=>{this._ensureStampedInstance(e._itemWrapper)}))})),this._buffers[0].translateY||this._reset(),this._initDone=!0,this.dispatchEvent(new CustomEvent("init-done")))}_translateBuffer(e){const t=e?1:0;this._buffers[t].translateY=this._buffers[t?0:1].translateY+this._bufferHeight*(t?-1:1),this._buffers[t].style.transform=`translate3d(0, ${this._buffers[t].translateY}px, 0)`,this._buffers[t].updated=!1,this._buffers.reverse()}_scroll(){if(this._scrollDisabled)return;const e=this.$.scroller.scrollTop;(e<this._bufferHeight||e>2*this._initialScroll-this._bufferHeight)&&(this._initialIndex=~~this.position,this._reset());const t=this.itemHeight+this.bufferOffset,i=e>this._buffers[1].translateY+t,n=e<this._buffers[0].translateY+t;(i||n)&&(this._translateBuffer(n),this._updateClones()),this._preventScrollEvent||(this.dispatchEvent(new CustomEvent("custom-scroll",{bubbles:!1,composed:!0})),this._mayHaveMomentum=!0),this._preventScrollEvent=!1,this._debouncerScrollFinish=iA.debounce(this._debouncerScrollFinish,Ek.after(200),(()=>{const e=this.$.scroller.getBoundingClientRect();this._isVisible(this._buffers[0],e)||this._isVisible(this._buffers[1],e)||(this.position=this.position)}))}_reset(){this._scrollDisabled=!0,this.$.scroller.scrollTop=this._initialScroll,this._buffers[0].translateY=this._initialScroll-this._bufferHeight,this._buffers[1].translateY=this._initialScroll,this._buffers.forEach((e=>{e.style.transform=`translate3d(0, ${e.translateY}px, 0)`})),this._buffers[0].updated=this._buffers[1].updated=!1,this._updateClones(!0),this._debouncerUpdateClones=iA.debounce(this._debouncerUpdateClones,Ek.after(200),(()=>{this._buffers[0].updated=this._buffers[1].updated=!1,this._updateClones()})),this._scrollDisabled=!1}_createPool(){const e=this.getBoundingClientRect();this._buffers.forEach((t=>{for(let i=0;i<this.bufferSize;i++){const i=document.createElement("div");i.style.height=`${this.itemHeight}px`,i.instance={};const n=`vaadin-infinite-scroller-item-content-${jS()}`,r=document.createElement("slot");r.setAttribute("name",n),r._itemWrapper=i,t.appendChild(r),i.setAttribute("slot",n),this.appendChild(i),this._isVisible(i,e)&&this._ensureStampedInstance(i)}})),requestAnimationFrame((()=>{this._finishInit()}))}_ensureStampedInstance(e){if(e.firstElementChild)return;const t=e.instance;e.instance=this._createElement(),e.appendChild(e.instance),Object.keys(t).forEach((i=>{e.instance[i]=t[i]}))}_updateClones(e){this._firstIndex=~~((this._buffers[0].translateY-this._initialScroll)/this.itemHeight)+this._initialIndex;const t=e?this.$.scroller.getBoundingClientRect():void 0;this._buffers.forEach(((i,n)=>{if(!i.updated){const r=this._firstIndex+this.bufferSize*n;[...i.children].forEach(((i,n)=>{const s=i._itemWrapper;e&&!this._isVisible(s,t)||this._updateElement(s.instance,r+n)})),i.updated=!0}}))}_isVisible(e,t){const i=e.getBoundingClientRect();return i.bottom>t.top&&i.top<t.bottom}}const PT=document.createElement("template");PT.innerHTML="\n  <style>\n    :host {\n      --vaadin-infinite-scroller-item-height: 270px;\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      height: 100%;\n    }\n  </style>\n";ak(class extends DT{static get is(){return"vaadin-date-picker-month-scroller"}constructor(){super(),this.bufferSize=3,this.shadowRoot.appendChild(PT.content.cloneNode(!0))}_createElement(){return document.createElement("vaadin-month-calendar")}_updateElement(e,t){e.month=CT(t)}});const FT=document.createElement("template");FT.innerHTML="\n  <style>\n    :host {\n      --vaadin-infinite-scroller-item-height: 80px;\n      width: 50px;\n      display: block;\n      height: 100%;\n      position: absolute;\n      right: 0;\n      transform: translateX(100%);\n      -webkit-tap-highlight-color: transparent;\n      -webkit-user-select: none;\n      -moz-user-select: none;\n      user-select: none;\n      /* Center the year scroller position. */\n      --vaadin-infinite-scroller-buffer-offset: 50%;\n    }\n\n    :host::before {\n      content: '';\n      display: block;\n      background: transparent;\n      width: 0;\n      height: 0;\n      position: absolute;\n      left: 0;\n      top: 50%;\n      transform: translateY(-50%);\n      border-width: 6px;\n      border-style: solid;\n      border-color: transparent;\n      border-left-color: #000;\n    }\n  </style>\n";ak(class extends DT{static get is(){return"vaadin-date-picker-year-scroller"}constructor(){super(),this.bufferSize=12,this.shadowRoot.appendChild(FT.content.cloneNode(!0))}_createElement(){return document.createElement("vaadin-date-picker-year")}_updateElement(e,t){e.year=this._yearAfterXYears(t)}_yearAfterXYears(e){const t=new Date,i=new Date(t);return i.setFullYear(parseInt(e)+t.getFullYear()),i.getFullYear()}});const NT=e=>class extends e{static get properties(){return{year:{type:String,sync:!0},selectedDate:{type:Object,sync:!0}}}static get observers(){return["__updateSelected(year, selectedDate)"]}__updateSelected(e,t){this.toggleAttribute("selected",t&&t.getFullYear()===e),this.toggleAttribute("current",e===(new Date).getFullYear())}};class RT extends(yk(NT(vo))){static get is(){return"vaadin-date-picker-year"}static get template(){return fo`
      <style>
        :host {
          display: block;
          height: 100%;
        }
      </style>
      <div part="year-number">[[year]]</div>
      <div part="year-separator" aria-hidden="true"></div>
    `}}ak(RT);const OT=e=>class extends(CS(e)){static get properties(){return{month:{type:Object,value:new Date,sync:!0},selectedDate:{type:Object,notify:!0,sync:!0},focusedDate:{type:Object},showWeekNumbers:{type:Boolean,value:!1},i18n:{type:Object},ignoreTaps:{type:Boolean},minDate:{type:Date,value:null,sync:!0},maxDate:{type:Date,value:null,sync:!0},disabled:{type:Boolean,reflectToAttribute:!0},_days:{type:Array},_weeks:{type:Array},_notTapping:{type:Boolean}}}static get observers(){return["__focusedDateChanged(focusedDate, _days)"]}get focusableDateElement(){return[...this.shadowRoot.querySelectorAll("[part~=date]")].find((e=>kT(e.date,this.focusedDate)))}ready(){super.ready(),Xk(this.$.monthGrid,"tap",this._handleTap.bind(this))}_isDisabled(e,t,i){const n=new Date(0,0);n.setFullYear(e.getFullYear()),n.setMonth(e.getMonth()),n.setDate(1);const r=new Date(0,0);return r.setFullYear(e.getFullYear()),r.setMonth(e.getMonth()+1),r.setDate(0),!(t&&i&&t.getMonth()===i.getMonth()&&t.getMonth()===e.getMonth()&&i.getDate()-t.getDate()>=0)&&(!ST(n,t,i)&&!ST(r,t,i))}_getTitle(e,t){if(void 0!==e&&void 0!==t)return t.formatTitle(t.monthNames[e.getMonth()],e.getFullYear())}_onMonthGridTouchStart(){this._notTapping=!1,setTimeout((()=>{this._notTapping=!0}),300)}_dateAdd(e,t){e.setDate(e.getDate()+t)}_applyFirstDayOfWeek(e,t){if(void 0!==e&&void 0!==t)return e.slice(t).concat(e.slice(0,t))}_getWeekDayNames(e,t){if(void 0===e||void 0===t)return[];const{weekdays:i,weekdaysShort:n,firstDayOfWeek:r}=e,s=this._applyFirstDayOfWeek(n,r);return this._applyFirstDayOfWeek(i,r).map(((e,t)=>({weekDay:e,weekDayShort:s[t]})))}__focusedDateChanged(e,t){Array.isArray(t)&&t.some((t=>kT(t,e)))?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true")}_getDate(e){return e?e.getDate():""}_showWeekSeparator(e,t){return e&&t&&1===t.firstDayOfWeek}_isToday(e){return kT(new Date,e)}_getDays(e,t){if(void 0===e||void 0===t)return[];const i=new Date(0,0);for(i.setFullYear(e.getFullYear()),i.setMonth(e.getMonth()),i.setDate(1);i.getDay()!==t.firstDayOfWeek;)this._dateAdd(i,-1);const n=[],r=i.getMonth(),s=e.getMonth();for(;i.getMonth()===s||i.getMonth()===r;)n.push(i.getMonth()===s?new Date(i.getTime()):null),this._dateAdd(i,1);return n}_getWeeks(e){return e.reduce(((e,t,i)=>(i%7==0&&e.push([]),e[e.length-1].push(t),e)),[])}_handleTap(e){this.ignoreTaps||this._notTapping||!e.target.date||e.target.hasAttribute("disabled")||(this.selectedDate=e.target.date,this.dispatchEvent(new CustomEvent("date-tap",{detail:{date:e.target.date},bubbles:!0,composed:!0})))}_preventDefault(e){e.preventDefault()}__getWeekNumber(e){const t=e.reduce(((e,t)=>!e&&t?t:e));return function(e){let t=e.getDay();0===t&&(t=7);const i=4-t,n=new Date(e.getTime()+24*i*3600*1e3),r=new Date(0,0);r.setFullYear(n.getFullYear());const s=n.getTime()-r.getTime(),o=Math.round(s/864e5);return Math.floor(o/7+1)}(t)}__getDayAriaLabel(e){if(!e)return"";let t=`${this._getDate(e)} ${this.i18n.monthNames[e.getMonth()]} ${e.getFullYear()}, ${this.i18n.weekdays[e.getDay()]}`;return this._isToday(e)&&(t+=`, ${this.i18n.today}`),t}};uk("vaadin-month-calendar",u`
  :host {
    display: block;
  }

  #monthGrid {
    width: 100%;
    border-collapse: collapse;
  }

  #days-container tr,
  #weekdays-container tr {
    display: flex;
  }

  [part~='date'] {
    outline: none;
  }

  [part~='disabled'] {
    pointer-events: none;
  }

  [part='week-number'][hidden],
  [part='weekday'][hidden] {
    display: none;
  }

  [part='weekday'],
  [part~='date'] {
    width: calc(100% / 7);
    padding: 0;
    font-weight: normal;
  }

  [part='weekday']:empty,
  [part='week-number'] {
    width: 12.5%;
    flex-shrink: 0;
    padding: 0;
  }

  :host([week-numbers]) [part='weekday']:not(:empty),
  :host([week-numbers]) [part~='date'] {
    width: 12.5%;
  }

  @media (forced-colors: active) {
    [part~='date'][part~='focused'] {
      outline: 1px solid;
    }

    [part~='date'][part~='selected'] {
      outline: 3px solid;
    }
  }
`,{moduleId:"vaadin-month-calendar-styles"});class MT extends(OT(yk(vo))){static get template(){return fo`
      <div part="month-header" id="month-header" aria-hidden="true">[[_getTitle(month, i18n)]]</div>
      <table
        id="monthGrid"
        role="grid"
        aria-labelledby="month-header"
        on-touchend="_preventDefault"
        on-touchstart="_onMonthGridTouchStart"
      >
        <thead id="weekdays-container">
          <tr role="row" part="weekdays">
            <th part="weekday" aria-hidden="true" hidden$="[[!_showWeekSeparator(showWeekNumbers, i18n)]]"></th>
            <template is="dom-repeat" items="[[_getWeekDayNames(i18n, showWeekNumbers)]]">
              <th role="columnheader" part="weekday" scope="col" abbr$="[[item.weekDay]]" aria-hidden="true">
                [[item.weekDayShort]]
              </th>
            </template>
          </tr>
        </thead>
        <tbody id="days-container">
          <template is="dom-repeat" items="[[_weeks]]" as="week">
            <tr role="row">
              <td part="week-number" aria-hidden="true" hidden$="[[!_showWeekSeparator(showWeekNumbers, i18n)]]">
                [[__getWeekNumber(week)]]
              </td>
              <template is="dom-repeat" items="[[week]]">
                <td
                  role="gridcell"
                  part$="[[__getDatePart(item, focusedDate, selectedDate, minDate, maxDate)]]"
                  date="[[item]]"
                  tabindex$="[[__getDayTabindex(item, focusedDate)]]"
                  disabled$="[[__isDayDisabled(item, minDate, maxDate)]]"
                  aria-selected$="[[__getDayAriaSelected(item, selectedDate)]]"
                  aria-disabled$="[[__getDayAriaDisabled(item, minDate, maxDate)]]"
                  aria-label$="[[__getDayAriaLabel(item)]]"
                  >[[_getDate(item)]]</td
                >
              </template>
            </tr>
          </template>
        </tbody>
      </table>
    `}static get is(){return"vaadin-month-calendar"}static get properties(){return{_days:{type:Array,computed:"_getDays(month, i18n, minDate, maxDate)"},_weeks:{type:Array,computed:"_getWeeks(_days)"},disabled:{type:Boolean,reflectToAttribute:!0,computed:"_isDisabled(month, minDate, maxDate)"}}}static get observers(){return["_showWeekNumbersChanged(showWeekNumbers, i18n)"]}_showWeekNumbersChanged(e,t){e&&t&&1===t.firstDayOfWeek?this.setAttribute("week-numbers",""):this.removeAttribute("week-numbers")}__getDatePart(e,t,i,n,r){const s=["date"];return this.__isDayDisabled(e,n,r)&&s.push("disabled"),this.__isDayFocused(e,t)&&s.push("focused"),this.__isDaySelected(e,i)&&s.push("selected"),this._isToday(e)&&s.push("today"),s.join(" ")}__isDayFocused(e,t){return kT(e,t)}__isDaySelected(e,t){return kT(e,t)}__getDayAriaSelected(e,t){if(this.__isDaySelected(e,t))return"true"}__isDayDisabled(e,t,i){return!ST(e,t,i)}__getDayAriaDisabled(e,t,i){if(void 0!==e&&void 0!==t&&void 0!==i)return this.__isDayDisabled(e,t,i)?"true":void 0}__getDayTabindex(e,t){return this.__isDayFocused(e,t)?"0":"-1"}}ak(MT);class LT{constructor(e,t){this.query=e,this.callback=t,this._boundQueryHandler=this._queryHandler.bind(this)}hostConnected(){this._removeListener(),this._mediaQuery=window.matchMedia(this.query),this._addListener(),this._queryHandler(this._mediaQuery)}hostDisconnected(){this._removeListener()}_addListener(){this._mediaQuery&&this._mediaQuery.addListener(this._boundQueryHandler)}_removeListener(){this._mediaQuery&&this._mediaQuery.removeListener(this._boundQueryHandler),this._mediaQuery=null}_queryHandler(e){"function"==typeof this.callback&&this.callback(e.matches)}}const BT=e=>class extends e{static get properties(){return{scrollDuration:{type:Number,value:300},selectedDate:{type:Object,value:null,sync:!0},focusedDate:{type:Object,notify:!0,observer:"_focusedDateChanged",sync:!0},_focusedMonthDate:Number,initialPosition:{type:Object,observer:"_initialPositionChanged"},_originDate:{type:Object,value:new Date},_visibleMonthIndex:Number,_desktopMode:{type:Boolean,observer:"_desktopModeChanged"},_desktopMediaQuery:{type:String,value:"(min-width: 375px)"},_translateX:{observer:"_translateXChanged"},_yearScrollerWidth:{value:50},i18n:{type:Object},showWeekNumbers:{type:Boolean,value:!1},_ignoreTaps:Boolean,_notTapping:Boolean,minDate:{type:Object,sync:!0},maxDate:{type:Object,sync:!0},label:String,_cancelButton:{type:Object},_todayButton:{type:Object},calendars:{type:Array,value:()=>[]},years:{type:Array,value:()=>[]}}}static get observers(){return["__updateCalendars(calendars, i18n, minDate, maxDate, selectedDate, focusedDate, showWeekNumbers, _ignoreTaps, _theme)","__updateCancelButton(_cancelButton, i18n)","__updateTodayButton(_todayButton, i18n, minDate, maxDate)","__updateYears(years, selectedDate, _theme)"]}get __useSubMonthScrolling(){return this._monthScroller.clientHeight<this._monthScroller.itemHeight+this._monthScroller.bufferOffset}get focusableDateElement(){return this.calendars.map((e=>e.focusableDateElement)).find(Boolean)}_addListeners(){tS(this.$.scrollers,"pan-y"),Xk(this.$.scrollers,"track",this._track.bind(this)),Xk(this.shadowRoot.querySelector('[part="clear-button"]'),"tap",this._clear.bind(this)),Xk(this.shadowRoot.querySelector('[part="toggle-button"]'),"tap",this._cancel.bind(this)),Xk(this.shadowRoot.querySelector('[part="years-toggle-button"]'),"tap",this._toggleYearScroller.bind(this))}_initControllers(){this.addController(new LT(this._desktopMediaQuery,(e=>{this._desktopMode=e}))),this.addController(new HS(this,"today-button","vaadin-button",{observe:!1,initializer:e=>{e.setAttribute("theme","tertiary"),e.addEventListener("keydown",(e=>this.__onTodayButtonKeyDown(e))),Xk(e,"tap",this._onTodayTap.bind(this)),this._todayButton=e}})),this.addController(new HS(this,"cancel-button","vaadin-button",{observe:!1,initializer:e=>{e.setAttribute("theme","tertiary"),e.addEventListener("keydown",(e=>this.__onCancelButtonKeyDown(e))),Xk(e,"tap",this._cancel.bind(this)),this._cancelButton=e}})),this.__initMonthScroller(),this.__initYearScroller()}reset(){this._closeYearScroller(),this._toggleAnimateClass(!0)}focusCancel(){this._cancelButton.focus()}scrollToDate(e,t){const i=this.__useSubMonthScrolling?this._calculateWeekScrollOffset(e):0;this._scrollToPosition(this._differenceInMonths(e,this._originDate)+i,t),this._monthScroller.forceUpdate()}__initMonthScroller(){this.addController(new HS(this,"months","vaadin-date-picker-month-scroller",{observe:!1,initializer:e=>{e.addEventListener("custom-scroll",(()=>{this._onMonthScroll()})),e.addEventListener("touchstart",(()=>{this._onMonthScrollTouchStart()})),e.addEventListener("keydown",(e=>{this.__onMonthCalendarKeyDown(e)})),e.addEventListener("init-done",(()=>{const e=[...this.querySelectorAll("vaadin-month-calendar")];e.forEach((e=>{e.addEventListener("selected-date-changed",(e=>{this.selectedDate=e.detail.value}))})),this.calendars=e})),this._monthScroller=e}}))}__initYearScroller(){this.addController(new HS(this,"years","vaadin-date-picker-year-scroller",{observe:!1,initializer:e=>{e.setAttribute("aria-hidden","true"),Xk(e,"tap",(e=>{this._onYearTap(e)})),e.addEventListener("custom-scroll",(()=>{this._onYearScroll()})),e.addEventListener("touchstart",(()=>{this._onYearScrollTouchStart()})),e.addEventListener("init-done",(()=>{this.years=[...this.querySelectorAll("vaadin-date-picker-year")]})),this._yearScroller=e}}))}__updateCancelButton(e,t){e&&(e.textContent=t&&t.cancel)}__updateTodayButton(e,t,i,n){e&&(e.textContent=t&&t.today,e.disabled=!this._isTodayAllowed(i,n))}__updateCalendars(e,t,i,n,r,s,o,a,l){e&&e.length&&e.forEach((e=>{e.i18n=t,e.minDate=i,e.maxDate=n,e.focusedDate=s,e.selectedDate=r,e.showWeekNumbers=o,e.ignoreTaps=a,l?e.setAttribute("theme",l):e.removeAttribute("theme")}))}__updateYears(e,t,i){e&&e.length&&e.forEach((e=>{e.selectedDate=t,i?e.setAttribute("theme",i):e.removeAttribute("theme")}))}_selectDate(e){this.selectedDate=e,this.dispatchEvent(new CustomEvent("date-selected",{detail:{date:e},bubbles:!0,composed:!0}))}_desktopModeChanged(e){this.toggleAttribute("desktop",e)}_focusedDateChanged(e){this.revealDate(e)}revealDate(e,t=!0){if(!e)return;const i=this._differenceInMonths(e,this._originDate);if(this.__useSubMonthScrolling){const n=this._calculateWeekScrollOffset(e);return void this._scrollToPosition(i+n,t)}const n=this._monthScroller.position>i,r=Math.max(this._monthScroller.itemHeight,this._monthScroller.clientHeight-2*this._monthScroller.bufferOffset)/this._monthScroller.itemHeight,s=this._monthScroller.position+r-1<i;n?this._scrollToPosition(i,t):s&&this._scrollToPosition(i-r+1,t)}_calculateWeekScrollOffset(e){const t=new Date(0,0);t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth()),t.setDate(1);let i=0;for(;t.getDate()<e.getDate();)t.setDate(t.getDate()+1),t.getDay()===this.i18n.firstDayOfWeek&&(i+=1);return i/6}_initialPositionChanged(e){this._monthScroller&&this._yearScroller&&(this._monthScroller.active=!0,this._yearScroller.active=!0),this.scrollToDate(e)}_repositionYearScroller(){const e=this._monthScroller.position;this._visibleMonthIndex=Math.floor(e),this._yearScroller.position=(e+this._originDate.getMonth())/12}_repositionMonthScroller(){this._monthScroller.position=12*this._yearScroller.position-this._originDate.getMonth(),this._visibleMonthIndex=Math.floor(this._monthScroller.position)}_onMonthScroll(){this._repositionYearScroller(),this._doIgnoreTaps()}_onYearScroll(){this._repositionMonthScroller(),this._doIgnoreTaps()}_onYearScrollTouchStart(){this._notTapping=!1,setTimeout((()=>{this._notTapping=!0}),300),this._repositionMonthScroller()}_onMonthScrollTouchStart(){this._repositionYearScroller()}_doIgnoreTaps(){this._ignoreTaps=!0,this._debouncer=iA.debounce(this._debouncer,Ek.after(300),(()=>{this._ignoreTaps=!1}))}_formatDisplayed(e,t,i){return e&&t&&"function"==typeof t.formatDate?t.formatDate(ET(e)):i}_onTodayTap(){const e=new Date;Math.abs(this._monthScroller.position-this._differenceInMonths(e,this._originDate))<.001?(this._selectDate(e),this._close()):this._scrollToCurrentMonth()}_scrollToCurrentMonth(){this.focusedDate&&(this.focusedDate=new Date),this.scrollToDate(new Date,!0)}_onYearTap(e){if(!this._ignoreTaps&&!this._notTapping){const t=(e.detail.y-(this._yearScroller.getBoundingClientRect().top+this._yearScroller.clientHeight/2))/this._yearScroller.itemHeight;this._scrollToPosition(this._monthScroller.position+12*t,!0)}}_scrollToPosition(e,t){if(void 0!==this._targetPosition)return void(this._targetPosition=e);if(!t)return this._monthScroller.position=e,this._targetPosition=void 0,this._repositionYearScroller(),void this.__tryFocusDate();let i;this._targetPosition=e,this._revealPromise=new Promise((e=>{i=e}));let n=0;const r=this._monthScroller.position,s=e=>{n||(n=e);const t=e-n;if(t<this.scrollDuration){const e=((e,t,i,n)=>(e/=n/2)<1?i/2*e*e+t:-i/2*((e-=1)*(e-2)-1)+t)(t,r,this._targetPosition-r,this.scrollDuration);this._monthScroller.position=e,window.requestAnimationFrame(s)}else this.dispatchEvent(new CustomEvent("scroll-animation-finished",{bubbles:!0,composed:!0,detail:{position:this._targetPosition,oldPosition:r}})),this._monthScroller.position=this._targetPosition,this._targetPosition=void 0,i(),this._revealPromise=void 0;setTimeout(this._repositionYearScroller.bind(this),1)};window.requestAnimationFrame(s)}_limit(e,t){return Math.min(t.max,Math.max(t.min,e))}_handleTrack(e){if(Math.abs(e.detail.dx)<10||Math.abs(e.detail.ddy)>10)return;Math.abs(e.detail.ddx)>this._yearScrollerWidth/3&&this._toggleAnimateClass(!0);const t=this._translateX+e.detail.ddx;this._translateX=this._limit(t,{min:0,max:this._yearScrollerWidth})}_track(e){if(!this._desktopMode)switch(e.detail.state){case"start":this._toggleAnimateClass(!1);break;case"track":this._handleTrack(e);break;case"end":this._toggleAnimateClass(!0),this._translateX>=this._yearScrollerWidth/2?this._closeYearScroller():this._openYearScroller()}}_toggleAnimateClass(e){e?this.classList.add("animate"):this.classList.remove("animate")}_toggleYearScroller(){this._isYearScrollerVisible()?this._closeYearScroller():this._openYearScroller()}_openYearScroller(){this._translateX=0,this.setAttribute("years-visible","")}_closeYearScroller(){this.removeAttribute("years-visible"),this._translateX=this._yearScrollerWidth}_isYearScrollerVisible(){return this._translateX<this._yearScrollerWidth/2}_translateXChanged(e){this._desktopMode||(this._monthScroller.style.transform=`translateX(${e-this._yearScrollerWidth}px)`,this._yearScroller.style.transform=`translateX(${e}px)`)}_yearAfterXMonths(e){return CT(e).getFullYear()}_differenceInMonths(e,t){return 12*(e.getFullYear()-t.getFullYear())-t.getMonth()+e.getMonth()}_clear(){this._selectDate("")}_close(){this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}_cancel(){this.focusedDate=this.selectedDate,this._close()}_preventDefault(e){e.preventDefault()}__toggleDate(e){kT(e,this.selectedDate)?(this._clear(),this.focusedDate=e):this._selectDate(e)}__onMonthCalendarKeyDown(e){let t=!1;switch(e.key){case"ArrowDown":this._moveFocusByDays(7),t=!0;break;case"ArrowUp":this._moveFocusByDays(-7),t=!0;break;case"ArrowRight":this._moveFocusByDays(this.__isRTL?-1:1),t=!0;break;case"ArrowLeft":this._moveFocusByDays(this.__isRTL?1:-1),t=!0;break;case"Enter":this._selectDate(this.focusedDate),this._close(),t=!0;break;case" ":this.__toggleDate(this.focusedDate),t=!0;break;case"Home":this._moveFocusInsideMonth(this.focusedDate,"minDate"),t=!0;break;case"End":this._moveFocusInsideMonth(this.focusedDate,"maxDate"),t=!0;break;case"PageDown":this._moveFocusByMonths(e.shiftKey?12:1),t=!0;break;case"PageUp":this._moveFocusByMonths(e.shiftKey?-12:-1),t=!0;break;case"Tab":this._onTabKeyDown(e,"calendar")}t&&(e.preventDefault(),e.stopPropagation())}_onTabKeyDown(e,t){switch(e.stopPropagation(),t){case"calendar":e.shiftKey&&(e.preventDefault(),this.hasAttribute("fullscreen")?this.focusCancel():this.__focusInput());break;case"today":e.shiftKey&&(e.preventDefault(),this.focusDateElement());break;case"cancel":e.shiftKey||(e.preventDefault(),this.hasAttribute("fullscreen")?this.focusDateElement():this.__focusInput())}}__onTodayButtonKeyDown(e){"Tab"===e.key&&this._onTabKeyDown(e,"today")}__onCancelButtonKeyDown(e){"Tab"===e.key&&this._onTabKeyDown(e,"cancel")}__focusInput(){this.dispatchEvent(new CustomEvent("focus-input",{bubbles:!0,composed:!0}))}__tryFocusDate(){if(this.__pendingDateFocus){const e=this.focusableDateElement;e&&kT(e.date,this.__pendingDateFocus)&&(delete this.__pendingDateFocus,e.focus())}}async focusDate(e,t){const i=e||this.selectedDate||this.initialPosition||new Date;this.focusedDate=i,t||(this._focusedMonthDate=i.getDate()),await this.focusDateElement(!1)}async focusDateElement(e=!0){this.__pendingDateFocus=this.focusedDate,this.calendars.length||await new Promise((e=>{os(this,(()=>{vs(),e()}))})),e&&this.revealDate(this.focusedDate),this._revealPromise&&await this._revealPromise,this.__tryFocusDate()}_focusClosestDate(e){this.focusDate(AT(e,[this.minDate,this.maxDate]))}_focusAllowedDate(e,t,i){this._dateAllowed(e)?this.focusDate(e,i):this._dateAllowed(this.focusedDate)?t>0?this.focusDate(this.maxDate):this.focusDate(this.minDate):this._focusClosestDate(this.focusedDate)}_getDateDiff(e,t){const i=new Date(0,0);return i.setFullYear(this.focusedDate.getFullYear()),i.setMonth(this.focusedDate.getMonth()+e),t&&i.setDate(this.focusedDate.getDate()+t),i}_moveFocusByDays(e){const t=this._getDateDiff(0,e);this._focusAllowedDate(t,e,!1)}_moveFocusByMonths(e){const t=this._getDateDiff(e),i=t.getMonth();this._focusedMonthDate||(this._focusedMonthDate=this.focusedDate.getDate()),t.setDate(this._focusedMonthDate),t.getMonth()!==i&&t.setDate(0),this._focusAllowedDate(t,e,!0)}_moveFocusInsideMonth(e,t){const i=new Date(0,0);i.setFullYear(e.getFullYear()),"minDate"===t?(i.setMonth(e.getMonth()),i.setDate(1)):(i.setMonth(e.getMonth()+1),i.setDate(0)),this._dateAllowed(i)?this.focusDate(i):this._dateAllowed(e)?this.focusDate(this[t]):this._focusClosestDate(e)}_dateAllowed(e,t=this.minDate,i=this.maxDate){return(!t||e>=t)&&(!i||e<=i)}_isTodayAllowed(e,t){const i=new Date,n=new Date(0,0);return n.setFullYear(i.getFullYear()),n.setMonth(i.getMonth()),n.setDate(i.getDate()),this._dateAllowed(n,e,t)}};uk("vaadin-date-picker-overlay-content",u`
  :host {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    outline: none;
  }

  [part='overlay-header'] {
    display: flex;
    flex-shrink: 0;
    flex-wrap: nowrap;
    align-items: center;
  }

  :host(:not([fullscreen])) [part='overlay-header'] {
    display: none;
  }

  [part='label'] {
    flex-grow: 1;
  }

  [hidden] {
    display: none !important;
  }

  [part='years-toggle-button'] {
    display: flex;
  }

  #scrollers {
    display: flex;
    height: 100%;
    width: 100%;
    position: relative;
    overflow: hidden;
  }

  :host([desktop]) ::slotted([slot='months']) {
    right: 50px;
    transform: none !important;
  }

  :host([desktop]) ::slotted([slot='years']) {
    transform: none !important;
  }

  :host(.animate) ::slotted([slot='months']),
  :host(.animate) ::slotted([slot='years']) {
    transition: all 200ms;
  }

  [part='toolbar'] {
    display: flex;
    justify-content: space-between;
    z-index: 2;
    flex-shrink: 0;
  }
`,{moduleId:"vaadin-date-picker-overlay-content-styles"});class zT extends(BT(DS(yk(mS(vo))))){static get template(){return fo`
      <div part="overlay-header" on-touchend="_preventDefault" aria-hidden="true">
        <div part="label">[[_formatDisplayed(selectedDate, i18n, label)]]</div>
        <div part="clear-button" hidden$="[[!selectedDate]]"></div>
        <div part="toggle-button"></div>

        <div part="years-toggle-button" hidden$="[[_desktopMode]]" aria-hidden="true">
          [[_yearAfterXMonths(_visibleMonthIndex)]]
        </div>
      </div>

      <div id="scrollers">
        <slot name="months"></slot>
        <slot name="years"></slot>
      </div>

      <div on-touchend="_preventDefault" role="toolbar" part="toolbar">
        <slot name="today-button"></slot>
        <slot name="cancel-button"></slot>
      </div>
    `}static get is(){return"vaadin-date-picker-overlay-content"}ready(){super.ready(),this.setAttribute("role","dialog"),this._addListeners(),this._initControllers()}}ak(zT);const jT=e=>class extends e{static get properties(){return{overlayClass:{type:String},_overlayElement:{type:Object}}}static get observers(){return["__updateOverlayClassNames(overlayClass, _overlayElement)"]}__updateOverlayClassNames(e,t){if(!t)return;if(void 0===e)return;const{classList:i}=t;if(this.__initialClasses||(this.__initialClasses=new Set(i)),Array.isArray(this.__previousClasses)){const e=this.__previousClasses.filter((e=>!this.__initialClasses.has(e)));e.length>0&&i.remove(...e)}const n="string"==typeof e?e.split(" "):[];n.length>0&&i.add(...n),this.__previousClasses=n}};class HT{constructor(e){this.host=e,e.addEventListener("opened-changed",(()=>{e.opened||this.__setVirtualKeyboardEnabled(!1)})),e.addEventListener("blur",(()=>this.__setVirtualKeyboardEnabled(!0))),e.addEventListener("touchstart",(()=>this.__setVirtualKeyboardEnabled(!0)))}__setVirtualKeyboardEnabled(e){this.host.inputElement&&(this.host.inputElement.inputMode=e?"":"none")}}const UT=e=>class extends(jT(DS(IS(AE(dS(e)))))){static get properties(){return{_selectedDate:{type:Object,sync:!0},_focusedDate:{type:Object,sync:!0},value:{type:String,notify:!0,value:"",sync:!0},initialPosition:String,opened:{type:Boolean,reflectToAttribute:!0,notify:!0,observer:"_openedChanged",sync:!0},autoOpenDisabled:Boolean,showWeekNumbers:{type:Boolean,value:!1,sync:!0},_fullscreen:{type:Boolean,value:!1,sync:!0},_fullscreenMediaQuery:{value:"(max-width: 420px), (max-height: 420px)"},i18n:{type:Object,sync:!0,value:()=>({monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],firstDayOfWeek:0,today:"Today",cancel:"Cancel",referenceDate:"",formatDate(e){const t=String(e.year).replace(/\d+/u,(e=>"0000".substr(e.length)+e));return[e.month+1,e.day,t].join("/")},parseDate(e){const t=e.split("/"),i=new Date;let n,r=i.getMonth(),s=i.getFullYear();if(3===t.length){if(r=parseInt(t[0])-1,n=parseInt(t[1]),s=parseInt(t[2]),t[2].length<3&&s>=0){s=function(e,t,i=0,n=1){if(t>99)throw new Error("The provided year cannot have more than 2 digits.");if(t<0)throw new Error("The provided year cannot be negative.");let r=t+100*Math.floor(e.getFullYear()/100);return e<new Date(r-50,i,n)?r-=100:e>new Date(r+50,i,n)&&(r+=100),r}(this.referenceDate?TT(this.referenceDate):new Date,s,r,n)}}else 2===t.length?(r=parseInt(t[0])-1,n=parseInt(t[1])):1===t.length&&(n=parseInt(t[0]));if(void 0!==n)return{day:n,month:r,year:s}},formatTitle:(e,t)=>`${e} ${t}`})},min:{type:String,sync:!0},max:{type:String,sync:!0},_minDate:{type:Date,computed:"__computeMinOrMaxDate(min)",sync:!0},_maxDate:{type:Date,computed:"__computeMinOrMaxDate(max)",sync:!0},_noInput:{type:Boolean,computed:"_isNoInput(inputElement, _fullscreen, _ios, i18n, opened, autoOpenDisabled)"},_ios:{type:Boolean,value:lE},_focusOverlayOnOpen:Boolean,_overlayContent:{type:Object,sync:!0},_hasInputValue:{type:Boolean}}}static get observers(){return["_selectedDateChanged(_selectedDate, i18n)","_focusedDateChanged(_focusedDate, i18n)","__updateOverlayContent(_overlayContent, i18n, label, _minDate, _maxDate, _focusedDate, _selectedDate, showWeekNumbers)","__updateOverlayContentTheme(_overlayContent, _theme)","__updateOverlayContentFullScreen(_overlayContent, _fullscreen)"]}static get constraints(){return[...super.constraints,"min","max"]}constructor(){super(),this._boundOnClick=this._onClick.bind(this),this._boundOnScroll=this._onScroll.bind(this),this._boundOverlayRenderer=this._overlayRenderer.bind(this)}get _inputElementValue(){return super._inputElementValue}set _inputElementValue(e){super._inputElementValue=e,this._hasInputValue=!1}get clearElement(){return null}get _nativeInput(){return this.inputElement?this.inputElement.focusElement||this.inputElement:null}get __unparsableValue(){return!this._inputElementValue||this.__parseDate(this._inputElementValue)?"":this._inputElementValue}_onFocus(e){super._onFocus(e),this._noInput&&e.target.blur()}_onBlur(e){super._onBlur(e),this.opened||(this.__commitParsedOrFocusedDate(),document.hasFocus()&&this.validate())}ready(){super.ready(),this.addEventListener("click",this._boundOnClick),this.addController(new LT(this._fullscreenMediaQuery,(e=>{this._fullscreen=e}))),this.addController(new HT(this));const e=this.$.overlay;this._overlayElement=e,e.renderer=this._boundOverlayRenderer,this.addEventListener("mousedown",(()=>this.__bringToFront())),this.addEventListener("touchstart",(()=>this.__bringToFront()))}disconnectedCallback(){super.disconnectedCallback(),this.opened=!1}open(){this.disabled||this.readonly||(this.opened=!0)}close(){this.$.overlay.close()}_overlayRenderer(e){if(e.firstChild)return;const t=document.createElement("vaadin-date-picker-overlay-content");e.appendChild(t),this._overlayContent=t,t.addEventListener("close",(()=>{this._close()})),t.addEventListener("focus-input",this._focusAndSelect.bind(this)),t.addEventListener("date-tap",(e=>{this.__commitDate(e.detail.date),this._close()})),t.addEventListener("date-selected",(e=>{this.__commitDate(e.detail.date)})),t.addEventListener("focusin",(()=>{this._keyboardActive&&this._setFocused(!0)})),t.addEventListener("focused-date-changed",(e=>{this._focusedDate=e.detail.value})),t.addEventListener("click",(e=>e.stopPropagation()))}__parseDate(e){if(!this.i18n.parseDate)return;let t=this.i18n.parseDate(e);return t&&(t=TT(`${t.year}-${t.month+1}-${t.day}`)),t&&!isNaN(t.getTime())?t:void 0}__formatDate(e){if(this.i18n.formatDate)return this.i18n.formatDate(ET(e))}checkValidity(){const e=this._inputElementValue,t=!e||!!this._selectedDate&&e===this.__formatDate(this._selectedDate),i=!this._selectedDate||ST(this._selectedDate,this._minDate,this._maxDate);let n=!0;return this.inputElement&&(this.inputElement.checkValidity?n=this.inputElement.checkValidity():this.inputElement.validate&&(n=this.inputElement.validate())),t&&i&&n}_shouldSetFocus(e){return!this._shouldKeepFocusRing}_shouldRemoveFocus(e){return!this.opened}_setFocused(e){super._setFocused(e),this._shouldKeepFocusRing=e&&this._keyboardActive}__commitValueChange(){const e=this.__unparsableValue;this.__committedValue!==this.value?(this.validate(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))):this.__committedUnparsableValue!==e&&(this.validate(),this.dispatchEvent(new CustomEvent("unparsable-change"))),this.__committedValue=this.value,this.__committedUnparsableValue=e}__commitDate(e){this.__keepCommittedValue=!0,this._selectedDate=e,this.__keepCommittedValue=!1,this.__commitValueChange()}_close(){this._focus(),this.close()}__bringToFront(){requestAnimationFrame((()=>{this.$.overlay.bringToFront()}))}_isNoInput(e,t,i,n,r,s){return!e||t&&(!s||r)||i&&r||!n.parseDate}_formatISO(e){if(!(e instanceof Date))return"";const t=(e,t="00")=>(t+e).substr((t+e).length-t.length);let i="",n="0000",r=e.getFullYear();r<0?(r=-r,i="-",n="000000"):e.getFullYear()>=1e4&&(i="+",n="000000");return[i+t(r,n),t(e.getMonth()+1),t(e.getDate())].join("-")}_inputElementChanged(e){super._inputElementChanged(e),e&&(e.autocomplete="off",e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","dialog"),e.setAttribute("aria-expanded",!!this.opened),this._applyInputValue(this._selectedDate))}_openedChanged(e){this.inputElement&&this.inputElement.setAttribute("aria-expanded",e)}_selectedDateChanged(e,t){void 0!==e&&void 0!==t&&(this.__keepInputValue||this._applyInputValue(e),this.value=this._formatISO(e),this._ignoreFocusedDateChange=!0,this._focusedDate=e,this._ignoreFocusedDateChange=!1)}_focusedDateChanged(e,t){void 0!==e&&void 0!==t&&(this._ignoreFocusedDateChange||this._noInput||this._applyInputValue(e))}_valueChanged(e,t){const i=TT(e);!e||i?(e?kT(this._selectedDate,i)||(this._selectedDate=i,void 0!==t&&this.validate()):this._selectedDate=null,this.__keepCommittedValue||(this.__committedValue=this.value,this.__committedUnparsableValue=""),this._toggleHasValue(this._hasValue)):this.value=t}__updateOverlayContent(e,t,i,n,r,s,o,a){e&&(e.i18n=t,e.label=i,e.minDate=n,e.maxDate=r,e.focusedDate=s,e.selectedDate=o,e.showWeekNumbers=a)}__updateOverlayContentTheme(e,t){e&&(t?e.setAttribute("theme",t):e.removeAttribute("theme"))}__updateOverlayContentFullScreen(e,t){e&&e.toggleAttribute("fullscreen",t)}_onOverlayEscapePress(){this._focusedDate=this._selectedDate,this._closedByEscape=!0,this._close(),this._closedByEscape=!1}_onOverlayOpened(){const e=this._overlayContent;e.reset();const t=this._getInitialPosition();e.initialPosition=t;const i=e.focusedDate||t;e.scrollToDate(i),this._ignoreFocusedDateChange=!0,e.focusedDate=i,this._ignoreFocusedDateChange=!1,window.addEventListener("scroll",this._boundOnScroll,!0),this._focusOverlayOnOpen?(e.focusDateElement(),this._focusOverlayOnOpen=!1):this._focus();const n=this._nativeInput;this._noInput&&n&&(n.blur(),this._overlayContent.focusDateElement());const r=this._noInput?e:[n,e];this.__showOthers=dT(r)}_getInitialPosition(){const e=TT(this.initialPosition),t=this._selectedDate||this._overlayContent.initialPosition||e||new Date;return e||ST(t,this._minDate,this._maxDate)?t:AT(t,[this._minDate,this._maxDate])}__commitParsedOrFocusedDate(){if(this._ignoreFocusedDateChange=!0,this.i18n.parseDate){const e=this._inputElementValue||"",t=this.__parseDate(e);t?this.__commitDate(t):(this.__keepInputValue=!0,this.__commitDate(null),this.__keepInputValue=!1)}else this._focusedDate&&this.__commitDate(this._focusedDate);this._ignoreFocusedDateChange=!1}_onOverlayClosed(){this.__showOthers&&(this.__showOthers(),this.__showOthers=null),window.removeEventListener("scroll",this._boundOnScroll,!0),this._closedByEscape&&this._applyInputValue(this._selectedDate),this.__commitParsedOrFocusedDate(),this._nativeInput&&this._nativeInput.selectionStart&&(this._nativeInput.selectionStart=this._nativeInput.selectionEnd),this.value||this._keyboardActive||this.validate()}_onScroll(e){e.target!==window&&this._overlayContent.contains(e.target)||this._overlayContent._repositionYearScroller()}_focus(){this._noInput||this.inputElement.focus()}_focusAndSelect(){this._focus(),this._setSelectionRange(0,this._inputElementValue.length)}_applyInputValue(e){this._inputElementValue=e?this.__formatDate(e):""}_setSelectionRange(e,t){this._nativeInput&&this._nativeInput.setSelectionRange&&this._nativeInput.setSelectionRange(e,t)}_onChange(e){e.stopPropagation()}_onClick(e){this._isClearButton(e)||this._onHostClick(e)}_onHostClick(e){this.autoOpenDisabled&&!this._noInput||(e.preventDefault(),this.open())}_onClearButtonClick(e){e.preventDefault(),this.__commitDate(null)}_onKeyDown(e){if(super._onKeyDown(e),this._noInput){-1===[9].indexOf(e.keyCode)&&e.preventDefault()}switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault(),this.opened?this._overlayContent.focusDateElement():(this._focusOverlayOnOpen=!0,this.open());break;case"Tab":this.opened&&(e.preventDefault(),e.stopPropagation(),this._setSelectionRange(0,0),e.shiftKey?this._overlayContent.focusCancel():this._overlayContent.focusDateElement())}}_onEnter(e){this.opened?this.close():this.__commitParsedOrFocusedDate()}_onEscape(e){if(!this.opened)return this.clearButtonVisible&&this.value?(e.stopPropagation(),void this._onClearButtonClick(e)):void(""===this.inputElement.value?this.__commitDate(null):this._applyInputValue(this._selectedDate))}_isClearButton(e){return e.composedPath()[0]===this.clearElement}_onInput(){if(this.opened||!this._inputElementValue||this.autoOpenDisabled||this.open(),this._inputElementValue){const e=this.__parseDate(this._inputElementValue);e&&(this._ignoreFocusedDateChange=!0,kT(e,this._focusedDate)||(this._focusedDate=e),this._ignoreFocusedDateChange=!1)}}__computeMinOrMaxDate(e){return TT(e)}};uk("vaadin-date-picker",[QA,u`
  :host([opened]) {
    pointer-events: auto;
  }

  :host([dir='rtl']) [part='input-field'] {
    direction: ltr;
  }

  :host([dir='rtl']) [part='input-field'] ::slotted(input)::placeholder {
    direction: rtl;
    text-align: left;
  }
`],{moduleId:"vaadin-date-picker-styles"});class $T extends(UT(EE(yk(lA(vo))))){static get is(){return"vaadin-date-picker"}static get template(){return fo`
      <div class="vaadin-date-picker-container">
        <div part="label">
          <slot name="label"></slot>
          <span part="required-indicator" aria-hidden="true" on-click="focus"></span>
        </div>

        <vaadin-input-container
          part="input-field"
          readonly="[[readonly]]"
          disabled="[[disabled]]"
          invalid="[[invalid]]"
          theme$="[[_theme]]"
        >
          <slot name="prefix" slot="prefix"></slot>
          <slot name="input"></slot>
          <div id="clearButton" part="clear-button" slot="suffix" aria-hidden="true"></div>
          <div part="toggle-button" slot="suffix" aria-hidden="true" on-click="_toggle"></div>
        </vaadin-input-container>

        <div part="helper-text">
          <slot name="helper"></slot>
        </div>

        <div part="error-message">
          <slot name="error-message"></slot>
        </div>
      </div>

      <vaadin-date-picker-overlay
        id="overlay"
        fullscreen$="[[_fullscreen]]"
        theme$="[[_theme]]"
        opened="{{opened}}"
        on-vaadin-overlay-escape-press="_onOverlayEscapePress"
        on-vaadin-overlay-open="_onOverlayOpened"
        on-vaadin-overlay-closing="_onOverlayClosed"
        restore-focus-on-close
        restore-focus-node="[[inputElement]]"
      ></vaadin-date-picker-overlay>

      <slot name="tooltip"></slot>
    `}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new XA(this,(e=>{this._setInputElement(e),this._setFocusElement(e),this.stateTarget=e,this.ariaTarget=e}))),this.addController(new TE(this.inputElement,this._labelController)),this._tooltipController=new US(this),this.addController(this._tooltipController),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this._tooltipController.setShouldShow((e=>!e.opened));this.shadowRoot.querySelector('[part="toggle-button"]').addEventListener("mousedown",(e=>e.preventDefault())),this.$.overlay.addEventListener("vaadin-overlay-close",this._onVaadinOverlayClose.bind(this))}_onVaadinOverlayClose(e){e.detail.sourceEvent&&e.detail.sourceEvent.composedPath().includes(this)&&e.preventDefault()}_toggle(e){e.stopPropagation(),this.$.overlay.opened?this.close():this.open()}_openedChanged(e){super._openedChanged(e),this.$.overlay.positionTarget=this.shadowRoot.querySelector('[part="input-field"]'),this.$.overlay.noVerticalOverlap=!0}}ak($T);class VT extends Error{}class WT extends VT{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class GT extends VT{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class qT extends VT{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class YT extends VT{}class KT extends VT{constructor(e){super(`Invalid unit ${e}`)}}class JT extends VT{}class ZT extends VT{constructor(){super("Zone is an abstract class")}}const QT="numeric",XT="short",eI="long",tI={year:QT,month:QT,day:QT},iI={year:QT,month:XT,day:QT},nI={year:QT,month:XT,day:QT,weekday:XT},rI={year:QT,month:eI,day:QT},sI={year:QT,month:eI,day:QT,weekday:eI},oI={hour:QT,minute:QT},aI={hour:QT,minute:QT,second:QT},lI={hour:QT,minute:QT,second:QT,timeZoneName:XT},dI={hour:QT,minute:QT,second:QT,timeZoneName:eI},cI={hour:QT,minute:QT,hourCycle:"h23"},hI={hour:QT,minute:QT,second:QT,hourCycle:"h23"},uI={hour:QT,minute:QT,second:QT,hourCycle:"h23",timeZoneName:XT},pI={hour:QT,minute:QT,second:QT,hourCycle:"h23",timeZoneName:eI},gI={year:QT,month:QT,day:QT,hour:QT,minute:QT},mI={year:QT,month:QT,day:QT,hour:QT,minute:QT,second:QT},fI={year:QT,month:XT,day:QT,hour:QT,minute:QT},yI={year:QT,month:XT,day:QT,hour:QT,minute:QT,second:QT},vI={year:QT,month:XT,day:QT,weekday:XT,hour:QT,minute:QT},_I={year:QT,month:eI,day:QT,hour:QT,minute:QT,timeZoneName:XT},bI={year:QT,month:eI,day:QT,hour:QT,minute:QT,second:QT,timeZoneName:XT},wI={year:QT,month:eI,day:QT,weekday:eI,hour:QT,minute:QT,timeZoneName:eI},xI={year:QT,month:eI,day:QT,weekday:eI,hour:QT,minute:QT,second:QT,timeZoneName:eI};class kI{get type(){throw new ZT}get name(){throw new ZT}get ianaName(){return this.name}get isUniversal(){throw new ZT}offsetName(e,t){throw new ZT}formatOffset(e,t){throw new ZT}offset(e){throw new ZT}equals(e){throw new ZT}get isValid(){throw new ZT}}let SI=null;class AI extends kI{static get instance(){return null===SI&&(SI=new AI),SI}get type(){return"system"}get name(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:i}){return $D(e,t,i)}formatOffset(e,t){return qD(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return"system"===e.type}get isValid(){return!0}}let EI={};const CI={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};let TI={};class II extends kI{static create(e){return TI[e]||(TI[e]=new II(e)),TI[e]}static resetCache(){TI={},EI={}}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}}constructor(e){super(),this.zoneName=e,this.valid=II.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:i}){return $D(e,t,i,this.name)}formatOffset(e,t){return qD(this.offset(e),t)}offset(e){const t=new Date(e);if(isNaN(t))return NaN;const i=(n=this.name,EI[n]||(EI[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),EI[n]);var n;let[r,s,o,a,l,d,c]=i.formatToParts?function(e,t){const i=e.formatToParts(t),n=[];for(let e=0;e<i.length;e++){const{type:t,value:r}=i[e],s=CI[t];"era"===t?n[s]=r:xD(s)||(n[s]=parseInt(r,10))}return n}(i,t):function(e,t){const i=e.format(t).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(i),[,r,s,o,a,l,d,c]=n;return[o,r,s,a,l,d,c]}(i,t);"BC"===a&&(r=1-Math.abs(r));let h=+t;const u=h%1e3;return h-=u>=0?u:1e3+u,(zD({year:r,month:s,day:o,hour:24===l?0:l,minute:d,second:c,millisecond:0})-h)/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let DI={};let PI={};function FI(e,t={}){const i=JSON.stringify([e,t]);let n=PI[i];return n||(n=new Intl.DateTimeFormat(e,t),PI[i]=n),n}let NI={};let RI={};let OI=null;let MI={};function LI(e,t,i,n){const r=e.listingMode();return"error"===r?null:"en"===r?i(t):n(t)}class BI{constructor(e,t,i){this.padTo=i.padTo||0,this.floor=i.floor||!1;const{padTo:n,floor:r,...s}=i;if(!t||Object.keys(s).length>0){const t={useGrouping:!1,...i};i.padTo>0&&(t.minimumIntegerDigits=i.padTo),this.inf=function(e,t={}){const i=JSON.stringify([e,t]);let n=NI[i];return n||(n=new Intl.NumberFormat(e,t),NI[i]=n),n}(e,t)}}format(e){if(this.inf){const t=this.floor?Math.floor(e):e;return this.inf.format(t)}return PD(this.floor?Math.floor(e):OD(e,3),this.padTo)}}class zI{constructor(e,t,i){let n;if(this.opts=i,this.originalZone=void 0,this.opts.timeZone)this.dt=e;else if("fixed"===e.zone.type){const t=e.offset/60*-1,i=t>=0?`Etc/GMT+${t}`:`Etc/GMT${t}`;0!==e.offset&&II.create(i).valid?(n=i,this.dt=e):(n="UTC",this.dt=0===e.offset?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else"system"===e.zone.type?this.dt=e:"iana"===e.zone.type?(this.dt=e,n=e.zone.name):(n="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);const r={...this.opts};r.timeZone=r.timeZone||n,this.dtf=FI(t,r)}format(){return this.originalZone?this.formatToParts().map((({value:e})=>e)).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map((e=>{if("timeZoneName"===e.type){const t=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:t}}return e})):e}resolvedOptions(){return this.dtf.resolvedOptions()}}class jI{constructor(e,t,i){this.opts={style:"long",...i},!t&&AD()&&(this.rtf=function(e,t={}){const{base:i,...n}=t,r=JSON.stringify([e,n]);let s=RI[r];return s||(s=new Intl.RelativeTimeFormat(e,t),RI[r]=s),s}(e,i))}format(e,t){return this.rtf?this.rtf.format(e,t):function(e,t,i="always",n=!1){const r={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===i&&s){const i="days"===e;switch(t){case 1:return i?"tomorrow":`next ${r[e][0]}`;case-1:return i?"yesterday":`last ${r[e][0]}`;case 0:return i?"today":`this ${r[e][0]}`}}const o=Object.is(t,-0)||t<0,a=Math.abs(t),l=1===a,d=r[e],c=n?l?d[1]:d[2]||d[1]:l?r[e][0]:e;return o?`${a} ${c} ago`:`in ${a} ${c}`}(t,e,this.opts.numeric,"long"!==this.opts.style)}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}const HI={firstDay:1,minimalDays:4,weekend:[6,7]};class UI{static fromOpts(e){return UI.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,i,n,r=!1){const s=e||oD.defaultLocale,o=s||(r?"en-US":OI||(OI=(new Intl.DateTimeFormat).resolvedOptions().locale,OI)),a=t||oD.defaultNumberingSystem,l=i||oD.defaultOutputCalendar,d=ID(n)||oD.defaultWeekSettings;return new UI(o,a,l,d,s)}static resetCache(){OI=null,PI={},NI={},RI={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:i,weekSettings:n}={}){return UI.create(e,t,i,n)}constructor(e,t,i,n,r){const[s,o,a]=function(e){const t=e.indexOf("-x-");-1!==t&&(e=e.substring(0,t));const i=e.indexOf("-u-");if(-1===i)return[e];{let t,n;try{t=FI(e).resolvedOptions(),n=e}catch(r){const s=e.substring(0,i);t=FI(s).resolvedOptions(),n=s}const{numberingSystem:r,calendar:s}=t;return[n,r,s]}}(e);this.locale=s,this.numberingSystem=t||o||null,this.outputCalendar=i||a||null,this.weekSettings=n,this.intl=function(e,t,i){return i||t?(e.includes("-u-")||(e+="-u"),i&&(e+=`-ca-${i}`),t&&(e+=`-nu-${t}`),e):e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=r,this.fastNumbersCached=null}get fastNumbers(){var e;return null==this.fastNumbersCached&&(this.fastNumbersCached=(!(e=this).numberingSystem||"latn"===e.numberingSystem)&&("latn"===e.numberingSystem||!e.locale||e.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem)),this.fastNumbersCached}listingMode(){const e=this.isEnglish(),t=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return e&&t?"en":"intl"}clone(e){return e&&0!==Object.getOwnPropertyNames(e).length?UI.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,ID(e.weekSettings)||this.weekSettings,e.defaultToEN||!1):this}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return LI(this,e,QD,(()=>{const i=t?{month:e,day:"numeric"}:{month:e},n=t?"format":"standalone";return this.monthsCache[n][e]||(this.monthsCache[n][e]=function(e){const t=[];for(let i=1;i<=12;i++){const n=tN.utc(2009,i,1);t.push(e(n))}return t}((e=>this.extract(e,i,"month")))),this.monthsCache[n][e]}))}weekdays(e,t=!1){return LI(this,e,iP,(()=>{const i=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},n=t?"format":"standalone";return this.weekdaysCache[n][e]||(this.weekdaysCache[n][e]=function(e){const t=[];for(let i=1;i<=7;i++){const n=tN.utc(2016,11,13+i);t.push(e(n))}return t}((e=>this.extract(e,i,"weekday")))),this.weekdaysCache[n][e]}))}meridiems(){return LI(this,void 0,(()=>nP),(()=>{if(!this.meridiemCache){const e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[tN.utc(2016,11,13,9),tN.utc(2016,11,13,19)].map((t=>this.extract(t,e,"dayperiod")))}return this.meridiemCache}))}eras(e){return LI(this,e,aP,(()=>{const t={era:e};return this.eraCache[e]||(this.eraCache[e]=[tN.utc(-40,1,1),tN.utc(2017,1,1)].map((e=>this.extract(e,t,"era")))),this.eraCache[e]}))}extract(e,t,i){const n=this.dtFormatter(e,t).formatToParts().find((e=>e.type.toLowerCase()===i));return n?n.value:null}numberFormatter(e={}){return new BI(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new zI(e,this.intl,t)}relFormatter(e={}){return new jI(this.intl,this.isEnglish(),e)}listFormatter(e={}){return function(e,t={}){const i=JSON.stringify([e,t]);let n=DI[i];return n||(n=new Intl.ListFormat(e,t),DI[i]=n),n}(this.intl,e)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:ED()?function(e){let t=MI[e];if(!t){const i=new Intl.Locale(e);t="getWeekInfo"in i?i.getWeekInfo():i.weekInfo,MI[e]=t}return t}(this.locale):HI}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let $I=null;class VI extends kI{static get utcInstance(){return null===$I&&($I=new VI(0)),$I}static instance(e){return 0===e?VI.utcInstance:new VI(e)}static parseSpecifier(e){if(e){const t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new VI(VD(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${qD(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${qD(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return qD(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return"fixed"===e.type&&e.fixed===this.fixed}get isValid(){return!0}}class WI extends kI{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function GI(e,t){if(xD(e)||null===e)return t;if(e instanceof kI)return e;if(function(e){return"string"==typeof e}(e)){const i=e.toLowerCase();return"default"===i?t:"local"===i||"system"===i?AI.instance:"utc"===i||"gmt"===i?VI.utcInstance:VI.parseSpecifier(i)||II.create(e)}return kD(e)?VI.instance(e):"object"==typeof e&&"offset"in e&&"function"==typeof e.offset?e:new WI(e)}const qI={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[０-９]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},YI={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},KI=qI.hanidec.replace(/[\[|\]]/g,"").split("");let JI={};function ZI({numberingSystem:e},t=""){const i=e||"latn";return JI[i]||(JI[i]={}),JI[i][t]||(JI[i][t]=new RegExp(`${qI[i]}${t}`)),JI[i][t]}let QI,XI=()=>Date.now(),eD="system",tD=null,iD=null,nD=null,rD=60,sD=null;class oD{static get now(){return XI}static set now(e){XI=e}static set defaultZone(e){eD=e}static get defaultZone(){return GI(eD,AI.instance)}static get defaultLocale(){return tD}static set defaultLocale(e){tD=e}static get defaultNumberingSystem(){return iD}static set defaultNumberingSystem(e){iD=e}static get defaultOutputCalendar(){return nD}static set defaultOutputCalendar(e){nD=e}static get defaultWeekSettings(){return sD}static set defaultWeekSettings(e){sD=ID(e)}static get twoDigitCutoffYear(){return rD}static set twoDigitCutoffYear(e){rD=e%100}static get throwOnInvalid(){return QI}static set throwOnInvalid(e){QI=e}static resetCaches(){UI.resetCache(),II.resetCache(),tN.resetCache(),JI={}}}class aD{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const lD=[0,31,59,90,120,151,181,212,243,273,304,334],dD=[0,31,60,91,121,152,182,213,244,274,305,335];function cD(e,t){return new aD("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function hD(e,t,i){const n=new Date(Date.UTC(e,t-1,i));e<100&&e>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);const r=n.getUTCDay();return 0===r?7:r}function uD(e,t,i){return i+(MD(e)?dD:lD)[t-1]}function pD(e,t){const i=MD(e)?dD:lD,n=i.findIndex((e=>e<t));return{month:n+1,day:t-i[n]}}function gD(e,t){return(e-t+7)%7+1}function mD(e,t=4,i=1){const{year:n,month:r,day:s}=e,o=uD(n,r,s),a=gD(hD(n,r,s),i);let l,d=Math.floor((o-a+14-t)/7);return d<1?(l=n-1,d=HD(l,t,i)):d>HD(n,t,i)?(l=n+1,d=1):l=n,{weekYear:l,weekNumber:d,weekday:a,...YD(e)}}function fD(e,t=4,i=1){const{weekYear:n,weekNumber:r,weekday:s}=e,o=gD(hD(n,1,t),i),a=LD(n);let l,d=7*r+s-o-7+t;d<1?(l=n-1,d+=LD(l)):d>a?(l=n+1,d-=LD(n)):l=n;const{month:c,day:h}=pD(l,d);return{year:l,month:c,day:h,...YD(e)}}function yD(e){const{year:t,month:i,day:n}=e;return{year:t,ordinal:uD(t,i,n),...YD(e)}}function vD(e){const{year:t,ordinal:i}=e,{month:n,day:r}=pD(t,i);return{year:t,month:n,day:r,...YD(e)}}function _D(e,t){if(!xD(e.localWeekday)||!xD(e.localWeekNumber)||!xD(e.localWeekYear)){if(!xD(e.weekday)||!xD(e.weekNumber)||!xD(e.weekYear))throw new YT("Cannot mix locale-based week fields with ISO-based week fields");return xD(e.localWeekday)||(e.weekday=e.localWeekday),xD(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),xD(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}return{minDaysInFirstWeek:4,startOfWeek:1}}function bD(e){const t=SD(e.year),i=DD(e.month,1,12),n=DD(e.day,1,BD(e.year,e.month));return t?i?!n&&cD("day",e.day):cD("month",e.month):cD("year",e.year)}function wD(e){const{hour:t,minute:i,second:n,millisecond:r}=e,s=DD(t,0,23)||24===t&&0===i&&0===n&&0===r,o=DD(i,0,59),a=DD(n,0,59),l=DD(r,0,999);return s?o?a?!l&&cD("millisecond",r):cD("second",n):cD("minute",i):cD("hour",t)}function xD(e){return void 0===e}function kD(e){return"number"==typeof e}function SD(e){return"number"==typeof e&&e%1==0}function AD(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function ED(){try{return"undefined"!=typeof Intl&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch(e){return!1}}function CD(e,t,i){if(0!==e.length)return e.reduce(((e,n)=>{const r=[t(n),n];return e&&i(e[0],r[0])===e[0]?e:r}),null)[1]}function TD(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ID(e){if(null==e)return null;if("object"!=typeof e)throw new JT("Week settings must be an object");if(!DD(e.firstDay,1,7)||!DD(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some((e=>!DD(e,1,7))))throw new JT("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function DD(e,t,i){return SD(e)&&e>=t&&e<=i}function PD(e,t=2){let i;return i=e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0"),i}function FD(e){return xD(e)||null===e||""===e?void 0:parseInt(e,10)}function ND(e){return xD(e)||null===e||""===e?void 0:parseFloat(e)}function RD(e){if(!xD(e)&&null!==e&&""!==e){const t=1e3*parseFloat("0."+e);return Math.floor(t)}}function OD(e,t,i=!1){const n=10**t;return(i?Math.trunc:Math.round)(e*n)/n}function MD(e){return e%4==0&&(e%100!=0||e%400==0)}function LD(e){return MD(e)?366:365}function BD(e,t){const i=function(e,t){return e-t*Math.floor(e/t)}(t-1,12)+1;return 2===i?MD(e+(t-i)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][i-1]}function zD(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(e.year,e.month-1,e.day)),+t}function jD(e,t,i){return-gD(hD(e,1,t),i)+t-1}function HD(e,t=4,i=1){const n=jD(e,t,i),r=jD(e+1,t,i);return(LD(e)-n+r)/7}function UD(e){return e>99?e:e>oD.twoDigitCutoffYear?1900+e:2e3+e}function $D(e,t,i,n=null){const r=new Date(e),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);const o={timeZoneName:t,...s},a=new Intl.DateTimeFormat(i,o).formatToParts(r).find((e=>"timezonename"===e.type.toLowerCase()));return a?a.value:null}function VD(e,t){let i=parseInt(e,10);Number.isNaN(i)&&(i=0);const n=parseInt(t,10)||0;return 60*i+(i<0||Object.is(i,-0)?-n:n)}function WD(e){const t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new JT(`Invalid unit value ${e}`);return t}function GD(e,t){const i={};for(const n in e)if(TD(e,n)){const r=e[n];if(null==r)continue;i[t(n)]=WD(r)}return i}function qD(e,t){const i=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),r=e>=0?"+":"-";switch(t){case"short":return`${r}${PD(i,2)}:${PD(n,2)}`;case"narrow":return`${r}${i}${n>0?`:${n}`:""}`;case"techie":return`${r}${PD(i,2)}${PD(n,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function YD(e){return function(e,t){return t.reduce(((t,i)=>(t[i]=e[i],t)),{})}(e,["hour","minute","second","millisecond"])}const KD=["January","February","March","April","May","June","July","August","September","October","November","December"],JD=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ZD=["J","F","M","A","M","J","J","A","S","O","N","D"];function QD(e){switch(e){case"narrow":return[...ZD];case"short":return[...JD];case"long":return[...KD];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const XD=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],eP=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],tP=["M","T","W","T","F","S","S"];function iP(e){switch(e){case"narrow":return[...tP];case"short":return[...eP];case"long":return[...XD];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const nP=["AM","PM"],rP=["Before Christ","Anno Domini"],sP=["BC","AD"],oP=["B","A"];function aP(e){switch(e){case"narrow":return[...oP];case"short":return[...sP];case"long":return[...rP];default:return null}}function lP(e,t){let i="";for(const n of e)n.literal?i+=n.val:i+=t(n.val);return i}const dP={D:tI,DD:iI,DDD:rI,DDDD:sI,t:oI,tt:aI,ttt:lI,tttt:dI,T:cI,TT:hI,TTT:uI,TTTT:pI,f:gI,ff:fI,fff:_I,ffff:wI,F:mI,FF:yI,FFF:bI,FFFF:xI};class cP{static create(e,t={}){return new cP(e,t)}static parseFormat(e){let t=null,i="",n=!1;const r=[];for(let s=0;s<e.length;s++){const o=e.charAt(s);"'"===o?(i.length>0&&r.push({literal:n||/^\s+$/.test(i),val:i}),t=null,i="",n=!n):n||o===t?i+=o:(i.length>0&&r.push({literal:/^\s+$/.test(i),val:i}),i=o,t=o)}return i.length>0&&r.push({literal:n||/^\s+$/.test(i),val:i}),r}static macroTokenToFormatOpts(e){return dP[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem());return this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return PD(e,t);const i={...this.opts};return t>0&&(i.padTo=t),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,t){const i="en"===this.loc.listingMode(),n=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,r=(t,i)=>this.loc.extract(e,t,i),s=t=>e.isOffsetFixed&&0===e.offset&&t.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,t.format):"",o=()=>i?function(e){return nP[e.hour<12?0:1]}(e):r({hour:"numeric",hourCycle:"h12"},"dayperiod"),a=(t,n)=>i?function(e,t){return QD(t)[e.month-1]}(e,t):r(n?{month:t}:{month:t,day:"numeric"},"month"),l=(t,n)=>i?function(e,t){return iP(t)[e.weekday-1]}(e,t):r(n?{weekday:t}:{weekday:t,month:"long",day:"numeric"},"weekday"),d=t=>{const i=cP.macroTokenToFormatOpts(t);return i?this.formatWithSystemDefault(e,i):t},c=t=>i?function(e,t){return aP(t)[e.year<0?0:1]}(e,t):r({era:t},"era");return lP(cP.parseFormat(t),(t=>{switch(t){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12==0?12:e.hour%12);case"hh":return this.num(e.hour%12==0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return s({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return s({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return s({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return o();case"d":return n?r({day:"numeric"},"day"):this.num(e.day);case"dd":return n?r({day:"2-digit"},"day"):this.num(e.day,2);case"c":case"E":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return n?r({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return n?r({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return a("short",!0);case"LLLL":return a("long",!0);case"LLLLL":return a("narrow",!0);case"M":return n?r({month:"numeric"},"month"):this.num(e.month);case"MM":return n?r({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return a("short",!1);case"MMMM":return a("long",!1);case"MMMMM":return a("narrow",!1);case"y":return n?r({year:"numeric"},"year"):this.num(e.year);case"yy":return n?r({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return n?r({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return n?r({year:"numeric"},"year"):this.num(e.year,6);case"G":return c("short");case"GG":return c("long");case"GGGGG":return c("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return d(t)}}))}formatDurationFromString(e,t){const i=e=>{switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},n=cP.parseFormat(t),r=n.reduce(((e,{literal:t,val:i})=>t?e:e.concat(i)),[]),s=e.shiftTo(...r.map(i).filter((e=>e)));return lP(n,(e=>t=>{const n=i(t);return n?this.num(e.get(n),t.length):t})(s))}}const hP=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function uP(...e){const t=e.reduce(((e,t)=>e+t.source),"");return RegExp(`^${t}$`)}function pP(...e){return t=>e.reduce((([e,i,n],r)=>{const[s,o,a]=r(t,n);return[{...e,...s},o||i,a]}),[{},null,1]).slice(0,2)}function gP(e,...t){if(null==e)return[null,null];for(const[i,n]of t){const t=i.exec(e);if(t)return n(t)}return[null,null]}function mP(...e){return(t,i)=>{const n={};let r;for(r=0;r<e.length;r++)n[e[r]]=FD(t[i+r]);return[n,null,i+r]}}const fP=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,yP=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,vP=RegExp(`${yP.source}${`(?:${fP.source}?(?:\\[(${hP.source})\\])?)?`}`),_P=RegExp(`(?:T${vP.source})?`),bP=mP("weekYear","weekNumber","weekDay"),wP=mP("year","ordinal"),xP=RegExp(`${yP.source} ?(?:${fP.source}|(${hP.source}))?`),kP=RegExp(`(?: ${xP.source})?`);function SP(e,t,i){const n=e[t];return xD(n)?i:FD(n)}function AP(e,t){return[{hours:SP(e,t,0),minutes:SP(e,t+1,0),seconds:SP(e,t+2,0),milliseconds:RD(e[t+3])},null,t+4]}function EP(e,t){const i=!e[t]&&!e[t+1],n=VD(e[t+1],e[t+2]);return[{},i?null:VI.instance(n),t+3]}function CP(e,t){return[{},e[t]?II.create(e[t]):null,t+1]}const TP=RegExp(`^T?${yP.source}$`),IP=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function DP(e){const[t,i,n,r,s,o,a,l,d]=e,c="-"===t[0],h=l&&"-"===l[0],u=(e,t=!1)=>void 0!==e&&(t||e&&c)?-e:e;return[{years:u(ND(i)),months:u(ND(n)),weeks:u(ND(r)),days:u(ND(s)),hours:u(ND(o)),minutes:u(ND(a)),seconds:u(ND(l),"-0"===l),milliseconds:u(RD(d),h)}]}const PP={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function FP(e,t,i,n,r,s,o){const a={year:2===t.length?UD(FD(t)):FD(t),month:JD.indexOf(i)+1,day:FD(n),hour:FD(r),minute:FD(s)};return o&&(a.second=FD(o)),e&&(a.weekday=e.length>3?XD.indexOf(e)+1:eP.indexOf(e)+1),a}const NP=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function RP(e){const[,t,i,n,r,s,o,a,l,d,c,h]=e,u=FP(t,r,n,i,s,o,a);let p;return p=l?PP[l]:d?0:VD(c,h),[u,new VI(p)]}const OP=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,MP=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,LP=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function BP(e){const[,t,i,n,r,s,o,a]=e;return[FP(t,r,n,i,s,o,a),VI.utcInstance]}function zP(e){const[,t,i,n,r,s,o,a]=e;return[FP(t,a,i,n,r,s,o),VI.utcInstance]}const jP=uP(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,_P),HP=uP(/(\d{4})-?W(\d\d)(?:-?(\d))?/,_P),UP=uP(/(\d{4})-?(\d{3})/,_P),$P=uP(vP),VP=pP((function(e,t){return[{year:SP(e,t),month:SP(e,t+1,1),day:SP(e,t+2,1)},null,t+3]}),AP,EP,CP),WP=pP(bP,AP,EP,CP),GP=pP(wP,AP,EP,CP),qP=pP(AP,EP,CP);const YP=pP(AP);const KP=uP(/(\d{4})-(\d\d)-(\d\d)/,kP),JP=uP(xP),ZP=pP(AP,EP,CP);const QP="Invalid Duration",XP={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},eF={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...XP},tF=365.2425,iF=30.436875,nF={years:{quarters:4,months:12,weeks:52.1775,days:tF,hours:8765.82,minutes:525949.2,seconds:525949.2*60,milliseconds:525949.2*60*1e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:525949.2*60/4,milliseconds:7889237999.999999},months:{weeks:4.3481250000000005,days:iF,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...XP},rF=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],sF=rF.slice(0).reverse();function oF(e,t,i=!1){const n={values:i?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix};return new dF(n)}function aF(e,t){let i=t.milliseconds??0;for(const n of sF.slice(1))t[n]&&(i+=t[n]*e[n].milliseconds);return i}function lF(e,t){const i=aF(e,t)<0?-1:1;rF.reduceRight(((n,r)=>{if(xD(t[r]))return n;if(n){const s=t[n]*i,o=e[r][n],a=Math.floor(s/o);t[r]+=a*i,t[n]-=a*o*i}return r}),null),rF.reduce(((i,n)=>{if(xD(t[n]))return i;if(i){const r=t[i]%1;t[i]-=r,t[n]+=r*e[i][n]}return n}),null)}class dF{constructor(e){const t="longterm"===e.conversionAccuracy||!1;let i=t?nF:eF;e.matrix&&(i=e.matrix),this.values=e.values,this.loc=e.loc||UI.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=i,this.isLuxonDuration=!0}static fromMillis(e,t){return dF.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(null==e||"object"!=typeof e)throw new JT("Duration.fromObject: argument expected to be an object, got "+(null===e?"null":typeof e));return new dF({values:GD(e,dF.normalizeUnit),loc:UI.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(kD(e))return dF.fromMillis(e);if(dF.isDuration(e))return e;if("object"==typeof e)return dF.fromObject(e);throw new JT(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){const[i]=function(e){return gP(e,[IP,DP])}(e);return i?dF.fromObject(i,t):dF.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){const[i]=function(e){return gP(e,[TP,YP])}(e);return i?dF.fromObject(i,t):dF.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new JT("need to specify a reason the Duration is invalid");const i=e instanceof aD?e:new aD(e,t);if(oD.throwOnInvalid)throw new qT(i);return new dF({invalid:i})}static normalizeUnit(e){const t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new KT(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){const i={...t,floor:!1!==t.round&&!1!==t.floor};return this.isValid?cP.create(this.loc,i).formatDurationFromString(this,e):QP}toHuman(e={}){if(!this.isValid)return QP;const t=rF.map((t=>{const i=this.values[t];return xD(i)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:t.slice(0,-1)}).format(i)})).filter((e=>e));return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(t)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=OD(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;const t=this.toMillis();if(t<0||t>=864e5)return null;e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1};return tN.fromMillis(t,{zone:"UTC"}).toISOTime(e)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?aF(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;const t=dF.fromDurationLike(e),i={};for(const e of rF)(TD(t.values,e)||TD(this.values,e))&&(i[e]=t.get(e)+this.get(e));return oF(this,{values:i},!0)}minus(e){if(!this.isValid)return this;const t=dF.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;const t={};for(const i of Object.keys(this.values))t[i]=WD(e(this.values[i],i));return oF(this,{values:t},!0)}get(e){return this[dF.normalizeUnit(e)]}set(e){if(!this.isValid)return this;return oF(this,{values:{...this.values,...GD(e,dF.normalizeUnit)}})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:i,matrix:n}={}){return oF(this,{loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:n,conversionAccuracy:i})}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;const e=this.toObject();return lF(this.matrix,e),oF(this,{values:e},!0)}rescale(){if(!this.isValid)return this;return oF(this,{values:function(e){const t={};for(const[i,n]of Object.entries(e))0!==n&&(t[i]=n);return t}(this.normalize().shiftToAll().toObject())},!0)}shiftTo(...e){if(!this.isValid)return this;if(0===e.length)return this;e=e.map((e=>dF.normalizeUnit(e)));const t={},i={},n=this.toObject();let r;for(const s of rF)if(e.indexOf(s)>=0){r=s;let e=0;for(const t in i)e+=this.matrix[t][s]*i[t],i[t]=0;kD(n[s])&&(e+=n[s]);const o=Math.trunc(e);t[s]=o,i[s]=(1e3*e-1e3*o)/1e3}else kD(n[s])&&(i[s]=n[s]);for(const e in i)0!==i[e]&&(t[r]+=e===r?i[e]:i[e]/this.matrix[r][e]);return lF(this.matrix,t),oF(this,{values:t},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const e={};for(const t of Object.keys(this.values))e[t]=0===this.values[t]?0:-this.values[t];return oF(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid)return!1;if(!this.loc.equals(e.loc))return!1;for(const n of rF)if(t=this.values[n],i=e.values[n],!(void 0===t||0===t?void 0===i||0===i:t===i))return!1;var t,i;return!0}}const cF="Invalid Interval";class hF{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new JT("need to specify a reason the Interval is invalid");const i=e instanceof aD?e:new aD(e,t);if(oD.throwOnInvalid)throw new GT(i);return new hF({invalid:i})}static fromDateTimes(e,t){const i=iN(e),n=iN(t),r=function(e,t){return e&&e.isValid?t&&t.isValid?t<e?hF.invalid("end before start",`The end of an interval must be after its start, but you had start=${e.toISO()} and end=${t.toISO()}`):null:hF.invalid("missing or invalid end"):hF.invalid("missing or invalid start")}(i,n);return null==r?new hF({start:i,end:n}):r}static after(e,t){const i=dF.fromDurationLike(t),n=iN(e);return hF.fromDateTimes(n,n.plus(i))}static before(e,t){const i=dF.fromDurationLike(t),n=iN(e);return hF.fromDateTimes(n.minus(i),n)}static fromISO(e,t){const[i,n]=(e||"").split("/",2);if(i&&n){let e,r,s,o;try{e=tN.fromISO(i,t),r=e.isValid}catch(n){r=!1}try{s=tN.fromISO(n,t),o=s.isValid}catch(n){o=!1}if(r&&o)return hF.fromDateTimes(e,s);if(r){const i=dF.fromISO(n,t);if(i.isValid)return hF.after(e,i)}else if(o){const e=dF.fromISO(i,t);if(e.isValid)return hF.before(s,e)}}return hF.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return null===this.invalidReason}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",t){if(!this.isValid)return NaN;const i=this.start.startOf(e,t);let n;return n=null!=t&&t.useLocaleWeeks?this.end.reconfigure({locale:i.locale}):this.end,n=n.startOf(e,t),Math.floor(n.diff(i,e).get(e))+(n.valueOf()!==this.end.valueOf())}hasSame(e){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,e))}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return!!this.isValid&&this.s>e}isBefore(e){return!!this.isValid&&this.e<=e}contains(e){return!!this.isValid&&(this.s<=e&&this.e>e)}set({start:e,end:t}={}){return this.isValid?hF.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];const t=e.map(iN).filter((e=>this.contains(e))).sort(((e,t)=>e.toMillis()-t.toMillis())),i=[];let{s:n}=this,r=0;for(;n<this.e;){const e=t[r]||this.e,s=+e>+this.e?this.e:e;i.push(hF.fromDateTimes(n,s)),n=s,r+=1}return i}splitBy(e){const t=dF.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];let i,{s:n}=this,r=1;const s=[];for(;n<this.e;){const e=this.start.plus(t.mapUnits((e=>e*r)));i=+e>+this.e?this.e:e,s.push(hF.fromDateTimes(n,i)),n=i,r+=1}return s}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return!!this.isValid&&+this.e==+e.s}abutsEnd(e){return!!this.isValid&&+e.e==+this.s}engulfs(e){return!!this.isValid&&(this.s<=e.s&&this.e>=e.e)}equals(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))}intersection(e){if(!this.isValid)return this;const t=this.s>e.s?this.s:e.s,i=this.e<e.e?this.e:e.e;return t>=i?null:hF.fromDateTimes(t,i)}union(e){if(!this.isValid)return this;const t=this.s<e.s?this.s:e.s,i=this.e>e.e?this.e:e.e;return hF.fromDateTimes(t,i)}static merge(e){const[t,i]=e.sort(((e,t)=>e.s-t.s)).reduce((([e,t],i)=>t?t.overlaps(i)||t.abutsStart(i)?[e,t.union(i)]:[e.concat([t]),i]:[e,i]),[[],null]);return i&&t.push(i),t}static xor(e){let t=null,i=0;const n=[],r=e.map((e=>[{time:e.s,type:"s"},{time:e.e,type:"e"}])),s=Array.prototype.concat(...r).sort(((e,t)=>e.time-t.time));for(const e of s)i+="s"===e.type?1:-1,1===i?t=e.time:(t&&+t!=+e.time&&n.push(hF.fromDateTimes(t,e.time)),t=null);return hF.merge(n)}difference(...e){return hF.xor([this].concat(e)).map((e=>this.intersection(e))).filter((e=>e&&!e.isEmpty()))}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:cF}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=tI,t={}){return this.isValid?cP.create(this.s.loc.clone(t),e).formatInterval(this):cF}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:cF}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:cF}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:cF}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:cF}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):dF.invalid(this.invalidReason)}mapEndpoints(e){return hF.fromDateTimes(e(this.s),e(this.e))}}class uF{static hasDST(e=oD.defaultZone){const t=tN.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return II.isValidZone(e)}static normalizeZone(e){return GI(e,oD.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||UI.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||UI.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||UI.create(e)).getWeekendDays().slice()}static months(e="long",{locale:t=null,numberingSystem:i=null,locObj:n=null,outputCalendar:r="gregory"}={}){return(n||UI.create(t,i,r)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:i=null,locObj:n=null,outputCalendar:r="gregory"}={}){return(n||UI.create(t,i,r)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:i=null,locObj:n=null}={}){return(n||UI.create(t,i,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:i=null,locObj:n=null}={}){return(n||UI.create(t,i,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return UI.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return UI.create(t,null,"gregory").eras(e)}static features(){return{relative:AD(),localeWeek:ED()}}}function pF(e,t){const i=e=>e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=i(t)-i(e);return Math.floor(dF.fromMillis(n).as("days"))}function gF(e,t,i,n){let[r,s,o,a]=function(e,t,i){const n=[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter+4*(t.year-e.year)],["months",(e,t)=>t.month-e.month+12*(t.year-e.year)],["weeks",(e,t)=>{const i=pF(e,t);return(i-i%7)/7}],["days",pF]],r={},s=e;let o,a;for(const[l,d]of n)i.indexOf(l)>=0&&(o=l,r[l]=d(e,t),a=s.plus(r),a>t?(r[l]--,(e=s.plus(r))>t&&(a=e,r[l]--,e=s.plus(r))):e=a);return[e,r,a,o]}(e,t,i);const l=t-r,d=i.filter((e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0));0===d.length&&(o<t&&(o=r.plus({[a]:1})),o!==r&&(s[a]=(s[a]||0)+l/(o-r)));const c=dF.fromObject(s,n);return d.length>0?dF.fromMillis(l,n).shiftTo(...d).plus(c):c}function mF(e,t=(e=>e)){return{regex:e,deser:([e])=>t(function(e){let t=parseInt(e,10);if(isNaN(t)){t="";for(let i=0;i<e.length;i++){const n=e.charCodeAt(i);if(-1!==e[i].search(qI.hanidec))t+=KI.indexOf(e[i]);else for(const e in YI){const[i,r]=YI[e];n>=i&&n<=r&&(t+=n-i)}}return parseInt(t,10)}return t}(e))}}const fF=`[ ${String.fromCharCode(160)}]`,yF=new RegExp(fF,"g");function vF(e){return e.replace(/\./g,"\\.?").replace(yF,fF)}function _F(e){return e.replace(/\./g,"").replace(yF," ").toLowerCase()}function bF(e,t){return null===e?null:{regex:RegExp(e.map(vF).join("|")),deser:([i])=>e.findIndex((e=>_F(i)===_F(e)))+t}}function wF(e,t){return{regex:e,deser:([,e,t])=>VD(e,t),groups:t}}function xF(e){return{regex:e,deser:([e])=>e}}const kF={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};let SF=null;function AF(e,t){return Array.prototype.concat(...e.map((e=>function(e,t){if(e.literal)return e;const i=TF(cP.macroTokenToFormatOpts(e.val),t);return null==i||i.includes(void 0)?e:i}(e,t))))}class EF{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=AF(cP.parseFormat(t),e),this.units=this.tokens.map((t=>function(e,t){const i=ZI(t),n=ZI(t,"{2}"),r=ZI(t,"{3}"),s=ZI(t,"{4}"),o=ZI(t,"{6}"),a=ZI(t,"{1,2}"),l=ZI(t,"{1,3}"),d=ZI(t,"{1,6}"),c=ZI(t,"{1,9}"),h=ZI(t,"{2,4}"),u=ZI(t,"{4,6}"),p=e=>{return{regex:RegExp((t=e.val,t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:([e])=>e,literal:!0};var t},g=(g=>{if(e.literal)return p(g);switch(g.val){case"G":return bF(t.eras("short"),0);case"GG":return bF(t.eras("long"),0);case"y":return mF(d);case"yy":case"kk":return mF(h,UD);case"yyyy":case"kkkk":return mF(s);case"yyyyy":return mF(u);case"yyyyyy":return mF(o);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return mF(a);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return mF(n);case"MMM":return bF(t.months("short",!0),1);case"MMMM":return bF(t.months("long",!0),1);case"LLL":return bF(t.months("short",!1),1);case"LLLL":return bF(t.months("long",!1),1);case"o":case"S":return mF(l);case"ooo":case"SSS":return mF(r);case"u":return xF(c);case"uu":return xF(a);case"uuu":case"E":case"c":return mF(i);case"a":return bF(t.meridiems(),0);case"EEE":return bF(t.weekdays("short",!1),1);case"EEEE":return bF(t.weekdays("long",!1),1);case"ccc":return bF(t.weekdays("short",!0),1);case"cccc":return bF(t.weekdays("long",!0),1);case"Z":case"ZZ":return wF(new RegExp(`([+-]${a.source})(?::(${n.source}))?`),2);case"ZZZ":return wF(new RegExp(`([+-]${a.source})(${n.source})?`),2);case"z":return xF(/[a-z_+-/]{1,256}?/i);case" ":return xF(/[^\S\n\r]/);default:return p(g)}})(e)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"};return g.token=e,g}(t,e))),this.disqualifyingUnit=this.units.find((e=>e.invalidReason)),!this.disqualifyingUnit){const[e,t]=function(e){const t=e.map((e=>e.regex)).reduce(((e,t)=>`${e}(${t.source})`),"");return[`^${t}$`,e]}(this.units);this.regex=RegExp(e,"i"),this.handlers=t}}explainFromTokens(e){if(this.isValid){const[t,i]=function(e,t,i){const n=e.match(t);if(n){const e={};let t=1;for(const r in i)if(TD(i,r)){const s=i[r],o=s.groups?s.groups+1:1;!s.literal&&s.token&&(e[s.token.val[0]]=s.deser(n.slice(t,t+o))),t+=o}return[n,e]}return[n,{}]}(e,this.regex,this.handlers),[n,r,s]=i?function(e){let t,i=null;xD(e.z)||(i=II.create(e.z)),xD(e.Z)||(i||(i=new VI(e.Z)),t=e.Z),xD(e.q)||(e.M=3*(e.q-1)+1),xD(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),xD(e.u)||(e.S=RD(e.u));const n=Object.keys(e).reduce(((t,i)=>{const n=(e=>{switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(i);return n&&(t[n]=e[i]),t}),{});return[n,i,t]}(i):[null,null,void 0];if(TD(i,"a")&&TD(i,"H"))throw new YT("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:t,matches:i,result:n,zone:r,specificOffset:s}}return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function CF(e,t,i){return new EF(e,i).explainFromTokens(t)}function TF(e,t){if(!e)return null;const i=cP.create(t,e).dtFormatter((SF||(SF=tN.fromMillis(1555555555555)),SF)),n=i.formatToParts(),r=i.resolvedOptions();return n.map((t=>function(e,t,i){const{type:n,value:r}=e;if("literal"===n){const e=/^\s+$/.test(r);return{literal:!e,val:e?" ":r}}const s=t[n];let o=n;"hour"===n&&(o=null!=t.hour12?t.hour12?"hour12":"hour24":null!=t.hourCycle?"h11"===t.hourCycle||"h12"===t.hourCycle?"hour12":"hour24":i.hour12?"hour12":"hour24");let a=kF[o];if("object"==typeof a&&(a=a[s]),a)return{literal:!1,val:a}}(t,e,r)))}const IF="Invalid DateTime",DF=864e13;function PF(e){return new aD("unsupported zone",`the zone "${e.name}" is not supported`)}function FF(e){return null===e.weekData&&(e.weekData=mD(e.c)),e.weekData}function NF(e){return null===e.localWeekData&&(e.localWeekData=mD(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function RF(e,t){const i={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new tN({...i,...t,old:i})}function OF(e,t,i){let n=e-60*t*1e3;const r=i.offset(n);if(t===r)return[n,t];n-=60*(r-t)*1e3;const s=i.offset(n);return r===s?[n,r]:[e-60*Math.min(r,s)*1e3,Math.max(r,s)]}function MF(e,t){const i=new Date(e+=60*t*1e3);return{year:i.getUTCFullYear(),month:i.getUTCMonth()+1,day:i.getUTCDate(),hour:i.getUTCHours(),minute:i.getUTCMinutes(),second:i.getUTCSeconds(),millisecond:i.getUTCMilliseconds()}}function LF(e,t,i){return OF(zD(e),t,i)}function BF(e,t){const i=e.o,n=e.c.year+Math.trunc(t.years),r=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),s={...e.c,year:n,month:r,day:Math.min(e.c.day,BD(n,r))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},o=dF.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),a=zD(s);let[l,d]=OF(a,i,e.zone);return 0!==o&&(l+=o,d=e.zone.offset(l)),{ts:l,o:d}}function zF(e,t,i,n,r,s){const{setZone:o,zone:a}=i;if(e&&0!==Object.keys(e).length||t){const n=t||a,r=tN.fromObject(e,{...i,zone:n,specificOffset:s});return o?r:r.setZone(a)}return tN.invalid(new aD("unparsable",`the input "${r}" can't be parsed as ${n}`))}function jF(e,t,i=!0){return e.isValid?cP.create(UI.create("en-US"),{allowZ:i,forceSimple:!0}).formatDateTimeFromString(e,t):null}function HF(e,t){const i=e.c.year>9999||e.c.year<0;let n="";return i&&e.c.year>=0&&(n+="+"),n+=PD(e.c.year,i?6:4),t?(n+="-",n+=PD(e.c.month),n+="-",n+=PD(e.c.day)):(n+=PD(e.c.month),n+=PD(e.c.day)),n}function UF(e,t,i,n,r,s){let o=PD(e.c.hour);return t?(o+=":",o+=PD(e.c.minute),0===e.c.millisecond&&0===e.c.second&&i||(o+=":")):o+=PD(e.c.minute),0===e.c.millisecond&&0===e.c.second&&i||(o+=PD(e.c.second),0===e.c.millisecond&&n||(o+=".",o+=PD(e.c.millisecond,3))),r&&(e.isOffsetFixed&&0===e.offset&&!s?o+="Z":e.o<0?(o+="-",o+=PD(Math.trunc(-e.o/60)),o+=":",o+=PD(Math.trunc(-e.o%60))):(o+="+",o+=PD(Math.trunc(e.o/60)),o+=":",o+=PD(Math.trunc(e.o%60)))),s&&(o+="["+e.zone.ianaName+"]"),o}const $F={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},VF={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},WF={ordinal:1,hour:0,minute:0,second:0,millisecond:0},GF=["year","month","day","hour","minute","second","millisecond"],qF=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],YF=["year","ordinal","hour","minute","second","millisecond"];function KF(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return function(e){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new KT(e);return t}(e)}}function JF(e,t){const i=GI(t.zone,oD.defaultZone);if(!i.isValid)return tN.invalid(PF(i));const n=UI.fromObject(t);let r,s;if(xD(e.year))r=oD.now();else{for(const t of GF)xD(e[t])&&(e[t]=$F[t]);const t=bD(e)||wD(e);if(t)return tN.invalid(t);const n=function(e){return eN[e]||(void 0===XF&&(XF=oD.now()),eN[e]=e.offset(XF)),eN[e]}(i);[r,s]=LF(e,n,i)}return new tN({ts:r,zone:i,loc:n,o:s})}function ZF(e,t,i){const n=!!xD(i.round)||i.round,r=(e,r)=>{e=OD(e,n||i.calendary?0:2,!0);return t.loc.clone(i).relFormatter(i).format(e,r)},s=n=>i.calendary?t.hasSame(e,n)?0:t.startOf(n).diff(e.startOf(n),n).get(n):t.diff(e,n).get(n);if(i.unit)return r(s(i.unit),i.unit);for(const e of i.units){const t=s(e);if(Math.abs(t)>=1)return r(t,e)}return r(e>t?-0:0,i.units[i.units.length-1])}function QF(e){let t,i={};return e.length>0&&"object"==typeof e[e.length-1]?(i=e[e.length-1],t=Array.from(e).slice(0,e.length-1)):t=Array.from(e),[i,t]}let XF,eN={};class tN{constructor(e){const t=e.zone||oD.defaultZone;let i=e.invalid||(Number.isNaN(e.ts)?new aD("invalid input"):null)||(t.isValid?null:PF(t));this.ts=xD(e.ts)?oD.now():e.ts;let n=null,r=null;if(!i){if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[n,r]=[e.old.c,e.old.o];else{const s=kD(e.o)&&!e.old?e.o:t.offset(this.ts);n=MF(this.ts,s),i=Number.isNaN(n.year)?new aD("invalid input"):null,n=i?null:n,r=i?null:s}}this._zone=t,this.loc=e.loc||UI.create(),this.invalid=i,this.weekData=null,this.localWeekData=null,this.c=n,this.o=r,this.isLuxonDateTime=!0}static now(){return new tN({})}static local(){const[e,t]=QF(arguments),[i,n,r,s,o,a,l]=t;return JF({year:i,month:n,day:r,hour:s,minute:o,second:a,millisecond:l},e)}static utc(){const[e,t]=QF(arguments),[i,n,r,s,o,a,l]=t;return e.zone=VI.utcInstance,JF({year:i,month:n,day:r,hour:s,minute:o,second:a,millisecond:l},e)}static fromJSDate(e,t={}){const i=function(e){return"[object Date]"===Object.prototype.toString.call(e)}(e)?e.valueOf():NaN;if(Number.isNaN(i))return tN.invalid("invalid input");const n=GI(t.zone,oD.defaultZone);return n.isValid?new tN({ts:i,zone:n,loc:UI.fromObject(t)}):tN.invalid(PF(n))}static fromMillis(e,t={}){if(kD(e))return e<-DF||e>DF?tN.invalid("Timestamp out of range"):new tN({ts:e,zone:GI(t.zone,oD.defaultZone),loc:UI.fromObject(t)});throw new JT(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(kD(e))return new tN({ts:1e3*e,zone:GI(t.zone,oD.defaultZone),loc:UI.fromObject(t)});throw new JT("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};const i=GI(t.zone,oD.defaultZone);if(!i.isValid)return tN.invalid(PF(i));const n=UI.fromObject(t),r=GD(e,KF),{minDaysInFirstWeek:s,startOfWeek:o}=_D(r,n),a=oD.now(),l=xD(t.specificOffset)?i.offset(a):t.specificOffset,d=!xD(r.ordinal),c=!xD(r.year),h=!xD(r.month)||!xD(r.day),u=c||h,p=r.weekYear||r.weekNumber;if((u||d)&&p)throw new YT("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(h&&d)throw new YT("Can't mix ordinal dates with month/day");const g=p||r.weekday&&!u;let m,f,y=MF(a,l);g?(m=qF,f=VF,y=mD(y,s,o)):d?(m=YF,f=WF,y=yD(y)):(m=GF,f=$F);let v=!1;for(const e of m){xD(r[e])?r[e]=v?f[e]:y[e]:v=!0}const _=g?function(e,t=4,i=1){const n=SD(e.weekYear),r=DD(e.weekNumber,1,HD(e.weekYear,t,i)),s=DD(e.weekday,1,7);return n?r?!s&&cD("weekday",e.weekday):cD("week",e.weekNumber):cD("weekYear",e.weekYear)}(r,s,o):d?function(e){const t=SD(e.year),i=DD(e.ordinal,1,LD(e.year));return t?!i&&cD("ordinal",e.ordinal):cD("year",e.year)}(r):bD(r),b=_||wD(r);if(b)return tN.invalid(b);const w=g?fD(r,s,o):d?vD(r):r,[x,k]=LF(w,l,i),S=new tN({ts:x,zone:i,o:k,loc:n});return r.weekday&&u&&e.weekday!==S.weekday?tN.invalid("mismatched weekday",`you can't specify both a weekday of ${r.weekday} and a date of ${S.toISO()}`):S.isValid?S:tN.invalid(S.invalid)}static fromISO(e,t={}){const[i,n]=function(e){return gP(e,[jP,VP],[HP,WP],[UP,GP],[$P,qP])}(e);return zF(i,n,t,"ISO 8601",e)}static fromRFC2822(e,t={}){const[i,n]=function(e){return gP(function(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e),[NP,RP])}(e);return zF(i,n,t,"RFC 2822",e)}static fromHTTP(e,t={}){const[i,n]=function(e){return gP(e,[OP,BP],[MP,BP],[LP,zP])}(e);return zF(i,n,t,"HTTP",t)}static fromFormat(e,t,i={}){if(xD(e)||xD(t))throw new JT("fromFormat requires an input string and a format");const{locale:n=null,numberingSystem:r=null}=i,s=UI.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),[o,a,l,d]=function(e,t,i){const{result:n,zone:r,specificOffset:s,invalidReason:o}=CF(e,t,i);return[n,r,s,o]}(s,e,t);return d?tN.invalid(d):zF(o,a,i,`format ${t}`,e,l)}static fromString(e,t,i={}){return tN.fromFormat(e,t,i)}static fromSQL(e,t={}){const[i,n]=function(e){return gP(e,[KP,VP],[JP,ZP])}(e);return zF(i,n,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new JT("need to specify a reason the DateTime is invalid");const i=e instanceof aD?e:new aD(e,t);if(oD.throwOnInvalid)throw new WT(i);return new tN({invalid:i})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){const i=TF(e,UI.fromObject(t));return i?i.map((e=>e?e.val:null)).join(""):null}static expandFormat(e,t={}){return AF(cP.parseFormat(e),UI.fromObject(t)).map((e=>e.val)).join("")}static resetCache(){XF=void 0,eN={}}get(e){return this[e]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?FF(this).weekYear:NaN}get weekNumber(){return this.isValid?FF(this).weekNumber:NaN}get weekday(){return this.isValid?FF(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?NF(this).weekday:NaN}get localWeekNumber(){return this.isValid?NF(this).weekNumber:NaN}get localWeekYear(){return this.isValid?NF(this).weekYear:NaN}get ordinal(){return this.isValid?yD(this.c).ordinal:NaN}get monthShort(){return this.isValid?uF.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?uF.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?uF.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?uF.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const e=864e5,t=6e4,i=zD(this.c),n=this.zone.offset(i-e),r=this.zone.offset(i+e),s=this.zone.offset(i-n*t),o=this.zone.offset(i-r*t);if(s===o)return[this];const a=i-s*t,l=i-o*t,d=MF(a,s),c=MF(l,o);return d.hour===c.hour&&d.minute===c.minute&&d.second===c.second&&d.millisecond===c.millisecond?[RF(this,{ts:a}),RF(this,{ts:l})]:[this]}get isInLeapYear(){return MD(this.year)}get daysInMonth(){return BD(this.year,this.month)}get daysInYear(){return this.isValid?LD(this.year):NaN}get weeksInWeekYear(){return this.isValid?HD(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?HD(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){const{locale:t,numberingSystem:i,calendar:n}=cP.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:i,outputCalendar:n}}toUTC(e=0,t={}){return this.setZone(VI.instance(e),t)}toLocal(){return this.setZone(oD.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:i=!1}={}){if((e=GI(e,oD.defaultZone)).equals(this.zone))return this;if(e.isValid){let n=this.ts;if(t||i){const t=e.offset(this.ts),i=this.toObject();[n]=LF(i,t,e)}return RF(this,{ts:n,zone:e})}return tN.invalid(PF(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:i}={}){return RF(this,{loc:this.loc.clone({locale:e,numberingSystem:t,outputCalendar:i})})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;const t=GD(e,KF),{minDaysInFirstWeek:i,startOfWeek:n}=_D(t,this.loc),r=!xD(t.weekYear)||!xD(t.weekNumber)||!xD(t.weekday),s=!xD(t.ordinal),o=!xD(t.year),a=!xD(t.month)||!xD(t.day),l=o||a,d=t.weekYear||t.weekNumber;if((l||s)&&d)throw new YT("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(a&&s)throw new YT("Can't mix ordinal dates with month/day");let c;r?c=fD({...mD(this.c,i,n),...t},i,n):xD(t.ordinal)?(c={...this.toObject(),...t},xD(t.day)&&(c.day=Math.min(BD(c.year,c.month),c.day))):c=vD({...yD(this.c),...t});const[h,u]=LF(c,this.o,this.zone);return RF(this,{ts:h,o:u})}plus(e){if(!this.isValid)return this;return RF(this,BF(this,dF.fromDurationLike(e)))}minus(e){if(!this.isValid)return this;return RF(this,BF(this,dF.fromDurationLike(e).negate()))}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;const i={},n=dF.normalizeUnit(e);switch(n){case"years":i.month=1;case"quarters":case"months":i.day=1;case"weeks":case"days":i.hour=0;case"hours":i.minute=0;case"minutes":i.second=0;case"seconds":i.millisecond=0}if("weeks"===n)if(t){const e=this.loc.getStartOfWeek(),{weekday:t}=this;t<e&&(i.weekNumber=this.weekNumber-1),i.weekday=e}else i.weekday=1;if("quarters"===n){const e=Math.ceil(this.month/3);i.month=3*(e-1)+1}return this.set(i)}endOf(e,t){return this.isValid?this.plus({[e]:1}).startOf(e,t).minus(1):this}toFormat(e,t={}){return this.isValid?cP.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):IF}toLocaleString(e=tI,t={}){return this.isValid?cP.create(this.loc.clone(t),e).formatDateTime(this):IF}toLocaleParts(e={}){return this.isValid?cP.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:i=!1,includeOffset:n=!0,extendedZone:r=!1}={}){if(!this.isValid)return null;const s="extended"===e;let o=HF(this,s);return o+="T",o+=UF(this,s,t,i,n,r),o}toISODate({format:e="extended"}={}){return this.isValid?HF(this,"extended"===e):null}toISOWeekDate(){return jF(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:i=!0,includePrefix:n=!1,extendedZone:r=!1,format:s="extended"}={}){if(!this.isValid)return null;return(n?"T":"")+UF(this,"extended"===s,t,e,i,r)}toRFC2822(){return jF(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return jF(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?HF(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:i=!0}={}){let n="HH:mm:ss.SSS";return(t||e)&&(i&&(n+=" "),t?n+="z":e&&(n+="ZZ")),jF(this,n,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():IF}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};const t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",i={}){if(!this.isValid||!e.isValid)return dF.invalid("created by diffing an invalid DateTime");const n={locale:this.locale,numberingSystem:this.numberingSystem,...i},r=(a=t,Array.isArray(a)?a:[a]).map(dF.normalizeUnit),s=e.valueOf()>this.valueOf(),o=gF(s?this:e,s?e:this,r,n);var a;return s?o.negate():o}diffNow(e="milliseconds",t={}){return this.diff(tN.now(),e,t)}until(e){return this.isValid?hF.fromDateTimes(this,e):this}hasSame(e,t,i){if(!this.isValid)return!1;const n=e.valueOf(),r=this.setZone(e.zone,{keepLocalTime:!0});return r.startOf(t,i)<=n&&n<=r.endOf(t,i)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;const t=e.base||tN.fromObject({},{zone:this.zone}),i=e.padding?this<t?-e.padding:e.padding:0;let n=["years","months","days","hours","minutes","seconds"],r=e.unit;return Array.isArray(e.unit)&&(n=e.unit,r=void 0),ZF(t,this.plus(i),{...e,numeric:"always",units:n,unit:r})}toRelativeCalendar(e={}){return this.isValid?ZF(e.base||tN.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(tN.isDateTime))throw new JT("min requires all arguments be DateTimes");return CD(e,(e=>e.valueOf()),Math.min)}static max(...e){if(!e.every(tN.isDateTime))throw new JT("max requires all arguments be DateTimes");return CD(e,(e=>e.valueOf()),Math.max)}static fromFormatExplain(e,t,i={}){const{locale:n=null,numberingSystem:r=null}=i;return CF(UI.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),e,t)}static fromStringExplain(e,t,i={}){return tN.fromFormatExplain(e,t,i)}static buildFormatParser(e,t={}){const{locale:i=null,numberingSystem:n=null}=t,r=UI.fromOpts({locale:i,numberingSystem:n,defaultToEN:!0});return new EF(r,e)}static fromFormatParser(e,t,i={}){if(xD(e)||xD(t))throw new JT("fromFormatParser requires an input string and a format parser");const{locale:n=null,numberingSystem:r=null}=i,s=UI.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0});if(!s.equals(t.locale))throw new JT(`fromFormatParser called with a locale of ${s}, but the format parser was created for ${t.locale}`);const{result:o,zone:a,specificOffset:l,invalidReason:d}=t.explainFromTokens(e);return d?tN.invalid(d):zF(o,a,i,`format ${t.format}`,e,l)}static get DATE_SHORT(){return tI}static get DATE_MED(){return iI}static get DATE_MED_WITH_WEEKDAY(){return nI}static get DATE_FULL(){return rI}static get DATE_HUGE(){return sI}static get TIME_SIMPLE(){return oI}static get TIME_WITH_SECONDS(){return aI}static get TIME_WITH_SHORT_OFFSET(){return lI}static get TIME_WITH_LONG_OFFSET(){return dI}static get TIME_24_SIMPLE(){return cI}static get TIME_24_WITH_SECONDS(){return hI}static get TIME_24_WITH_SHORT_OFFSET(){return uI}static get TIME_24_WITH_LONG_OFFSET(){return pI}static get DATETIME_SHORT(){return gI}static get DATETIME_SHORT_WITH_SECONDS(){return mI}static get DATETIME_MED(){return fI}static get DATETIME_MED_WITH_SECONDS(){return yI}static get DATETIME_MED_WITH_WEEKDAY(){return vI}static get DATETIME_FULL(){return _I}static get DATETIME_FULL_WITH_SECONDS(){return bI}static get DATETIME_HUGE(){return wI}static get DATETIME_HUGE_WITH_SECONDS(){return xI}}function iN(e){if(tN.isDateTime(e))return e;if(e&&e.valueOf&&kD(e.valueOf()))return tN.fromJSDate(e);if(e&&"object"==typeof e)return tN.fromObject(e);throw new JT(`Unknown datetime argument: ${e}, of type ${typeof e}`)}const nN={nl:{calendar:"Kalender",cancel:"Annuleren",clear:"Vrijmaken",time:"Tijd",today:"Vandaag",week:"Week"},en:{calendar:"Calender",cancel:"Cancel",clear:"Clear",time:"Time",today:"Today",week:"Week"}};let rN=class extends ve{constructor(){super(...arguments),this.value=null,this.required=!1,this.disabled=!1,this.readonly=!1,this.opened=!1,this.clear=()=>{var e;return null===(e=this.datePicker)||void 0===e?void 0:e.clear()},this.open=()=>{var e;return null===(e=this.datePicker)||void 0===e?void 0:e.open()},this.close=()=>{var e;return null===(e=this.datePicker)||void 0===e?void 0:e.close()},this.validate=()=>{var e;return null===(e=this.datePicker)||void 0===e?void 0:e.validate()}}render(){return Z`
            <vaadin-date-picker
                value=${this._isoToDatePickerValue(this.value)}
                label=${this.label}
                placeholder=${this.placeholder}
                min=${this._isoToDatePickerValue(this.min)}
                max=${this._isoToDatePickerValue(this.max)}
                ?required=${this.required}
                ?disabled=${this.disabled}
                ?readonly=${this.readonly}
                ?opened=${this.opened}
                @change=${this._handleChange}
                @value-changed=${this._handleValueChanged}
                @opened-changed=${this._handleOpenedChanged}
                show-week-numbers
            ></vaadin-date-picker>
        `}firstUpdated(){this._init()}_handleChange(e){const t=e.target;if(!t)return;const i=this._datePickerValueToIso(t.value);this.value=i,this.dispatchEvent(new CustomEvent("change",{detail:{value:i,bubbles:!0,composed:!0}}))}_handleValueChanged(e){const t=e.target;if(!t)return;const i=this._datePickerValueToIso(t.value);this.value=i,this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:i,bubbles:!0,composed:!0}}))}_handleOpenedChanged(e){const t=e.target;if(!t)return;const{opened:i}=t;this.dispatchEvent(new CustomEvent("opened-changed",{detail:{opened:i,bubbles:!0,composed:!0}}))}_isoToDatePickerValue(e){return e?tN.fromISO(e).toFormat("yyyy-MM-dd"):null}_datePickerValueToIso(e){return tN.fromFormat(e,"yyyy-MM-dd").setZone("utc").toISO()}_init(){if(!this.datePicker)return;const e="nl"===window.navigator.language?"nl":"en";let t="MM/dd/yyyy";"nl"===e&&(t="dd-MM-yyyy");const i=nN[e];this.datePicker.i18n={...this.datePicker.i18n,...i,monthNames:uF.months("long",{locale:e}),weekdays:uF.weekdays("long",{locale:e}),weekdaysShort:uF.weekdays("short",{locale:e}),firstDayOfWeek:1,formatDate:e=>tN.utc(e.year,e.month+1,e.day).toFormat(t),parseDate:e=>{const i=tN.fromFormat(e,t);return{day:i.day,month:i.month-1,year:i.year}},formatTitle:(e,t)=>`${e} ${t}`}}};rN.styles=u`
        :host {
            display: flex;
        }

        vaadin-date-picker {
            width: 100%;
        }
    `,rN.events=["change","value-changed","opened-changed"],Aw([ke({type:String})],rN.prototype,"value",void 0),Aw([ke({type:String})],rN.prototype,"label",void 0),Aw([ke({type:String})],rN.prototype,"placeholder",void 0),Aw([ke({type:String})],rN.prototype,"min",void 0),Aw([ke({type:String})],rN.prototype,"max",void 0),Aw([ke({type:Boolean})],rN.prototype,"required",void 0),Aw([ke({type:Boolean})],rN.prototype,"disabled",void 0),Aw([ke({type:Boolean})],rN.prototype,"readonly",void 0),Aw([ke({type:Boolean})],rN.prototype,"opened",void 0),Aw([Ee("vaadin-date-picker")],rN.prototype,"datePicker",void 0),rN=Aw([be("sdb-content-date-picker")],rN);var sN="";function oN(e){sN=e}var aN={name:"default",resolver:e=>function(e=""){if(!sN){const e=[...document.getElementsByTagName("script")],t=e.find((e=>e.hasAttribute("data-shoelace")));if(t)oN(t.getAttribute("data-shoelace"));else{const t=e.find((e=>/shoelace(\.min)?\.js($|\?)/.test(e.src)||/shoelace-autoloader(\.min)?\.js($|\?)/.test(e.src)));let i="";t&&(i=t.getAttribute("src")),oN(i.split("/").slice(0,-1).join("/"))}}return sN.replace(/\/$/,"")+(e?`/${e.replace(/^\//,"")}`:"")}(`assets/icons/${e}.svg`)},lN={caret:'\n    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n      <polyline points="6 9 12 15 18 9"></polyline>\n    </svg>\n  ',check:'\n    <svg part="checked-icon" class="checkbox__icon" viewBox="0 0 16 16">\n      <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">\n        <g stroke="currentColor">\n          <g transform="translate(3.428571, 3.428571)">\n            <path d="M0,5.71428571 L3.42857143,9.14285714"></path>\n            <path d="M9.14285714,0 L3.42857143,9.14285714"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  ',"chevron-down":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-down" viewBox="0 0 16 16">\n      <path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/>\n    </svg>\n  ',"chevron-left":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-left" viewBox="0 0 16 16">\n      <path fill-rule="evenodd" d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"/>\n    </svg>\n  ',"chevron-right":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">\n      <path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/>\n    </svg>\n  ',copy:'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-copy" viewBox="0 0 16 16">\n      <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6ZM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2Z"/>\n    </svg>\n  ',eye:'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">\n      <path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>\n      <path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>\n    </svg>\n  ',"eye-slash":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash" viewBox="0 0 16 16">\n      <path d="M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z"/>\n      <path d="M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z"/>\n      <path d="M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z"/>\n    </svg>\n  ',eyedropper:'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eyedropper" viewBox="0 0 16 16">\n      <path d="M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z"></path>\n    </svg>\n  ',"grip-vertical":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-grip-vertical" viewBox="0 0 16 16">\n      <path d="M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"></path>\n    </svg>\n  ',indeterminate:'\n    <svg part="indeterminate-icon" class="checkbox__icon" viewBox="0 0 16 16">\n      <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">\n        <g stroke="currentColor" stroke-width="2">\n          <g transform="translate(2.285714, 6.857143)">\n            <path d="M10.2857143,1.14285714 L1.14285714,1.14285714"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  ',"person-fill":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-fill" viewBox="0 0 16 16">\n      <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>\n    </svg>\n  ',"play-fill":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-play-fill" viewBox="0 0 16 16">\n      <path d="m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"></path>\n    </svg>\n  ',"pause-fill":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pause-fill" viewBox="0 0 16 16">\n      <path d="M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z"></path>\n    </svg>\n  ',radio:'\n    <svg part="checked-icon" class="radio__icon" viewBox="0 0 16 16">\n      <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n        <g fill="currentColor">\n          <circle cx="8" cy="8" r="3.42857143"></circle>\n        </g>\n      </g>\n    </svg>\n  ',"star-fill":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16">\n      <path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/>\n    </svg>\n  ',"x-lg":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-lg" viewBox="0 0 16 16">\n      <path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>\n    </svg>\n  ',"x-circle-fill":'\n    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">\n      <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"></path>\n    </svg>\n  '},dN=[aN,{name:"system",resolver:e=>e in lN?`data:image/svg+xml,${encodeURIComponent(lN[e])}`:""}],cN=[];function hN(e){return dN.find((t=>t.name===e))}function uN(e,t){!function(e){dN=dN.filter((t=>t.name!==e))}(e),dN.push({name:e,resolver:t.resolver,mutator:t.mutator,spriteSheet:t.spriteSheet}),cN.forEach((t=>{t.library===e&&t.setIcon()}))}var pN=u`
  :host {
    display: inline-block;
    width: 1em;
    height: 1em;
    box-sizing: content-box !important;
  }

  svg {
    display: block;
    height: 100%;
    width: 100%;
  }
`,gN=Object.defineProperty,mN=Object.getOwnPropertyDescriptor,fN=Object.getOwnPropertySymbols,yN=Object.prototype.hasOwnProperty,vN=Object.prototype.propertyIsEnumerable,_N=(e,t,i)=>t in e?gN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,bN=(e,t)=>{for(var i in t||(t={}))yN.call(t,i)&&_N(e,i,t[i]);if(fN)for(var i of fN(t))vN.call(t,i)&&_N(e,i,t[i]);return e},wN=(e,t,i,n)=>{for(var r,s=n>1?void 0:n?mN(t,i):t,o=e.length-1;o>=0;o--)(r=e[o])&&(s=(n?r(t,i,s):r(s))||s);return n&&s&&gN(t,i,s),s},xN=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};function kN(e,t){const i=bN({waitUntilFirstUpdate:!1},t);return(t,n)=>{const{update:r}=t,s=Array.isArray(e)?e:[e];t.update=function(e){s.forEach((t=>{const r=t;if(e.has(r)){const t=e.get(r),s=this[r];t!==s&&(i.waitUntilFirstUpdate&&!this.hasUpdated||this[n](t,s))}})),r.call(this,e)}}}var SN,AN=u`
  :host {
    box-sizing: border-box;
  }

  :host *,
  :host *::before,
  :host *::after {
    box-sizing: inherit;
  }

  [hidden] {
    display: none !important;
  }
`,EN=class extends ve{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,SN,!1),this.initialReflectedProperties=new Map,Object.entries(this.constructor.dependencies).forEach((([e,t])=>{this.constructor.define(e,t)}))}emit(e,t){const i=new CustomEvent(e,bN({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(i),i}static define(e,t=this,i={}){const n=customElements.get(e);if(!n){try{customElements.define(e,t,i)}catch(n){customElements.define(e,class extends t{},i)}return}let r=" (unknown version)",s=r;"version"in t&&t.version&&(r=" v"+t.version),"version"in n&&n.version&&(s=" v"+n.version),r&&s&&r===s||console.warn(`Attempted to register <${e}>${r}, but <${e}>${s} has already been registered.`)}attributeChangedCallback(e,t,i){var n,r,s;xN(n=this,r=SN,"read from private field"),(s?s.call(n):r.get(n))||(this.constructor.elementProperties.forEach(((e,t)=>{e.reflect&&null!=this[t]&&this.initialReflectedProperties.set(t,this[t])})),((e,t,i,n)=>{xN(e,t,"write to private field"),n?n.call(e,i):t.set(e,i)})(this,SN,!0)),super.attributeChangedCallback(e,t,i)}willUpdate(e){super.willUpdate(e),this.initialReflectedProperties.forEach(((t,i)=>{e.has(i)&&null==this[i]&&(this[i]=t)}))}};SN=new WeakMap,EN.version="2.17.1",EN.dependencies={},wN([ke()],EN.prototype,"dir",2),wN([ke()],EN.prototype,"lang",2);const{I:CN}=ge,TN=e=>void 0===e.strings,IN=()=>document.createComment(""),DN=(e,t,i)=>{const n=e._$AA.parentNode,r=void 0===t?e._$AB:t._$AA;if(void 0===i){const t=n.insertBefore(IN(),r),s=n.insertBefore(IN(),r);i=new CN(t,s,e,e.options)}else{const t=i._$AB.nextSibling,a=i._$AM,l=a!==e;if(l){var s,o;let t;null!==(s=(o=i)._$AQ)&&void 0!==s&&s.call(o,e),i._$AM=e,void 0!==i._$AP&&(t=e._$AU)!==a._$AU&&i._$AP(t)}if(t!==r||l){let e=i._$AA;for(;e!==t;){const t=e.nextSibling;n.insertBefore(e,r),e=t}}}return i},PN=(e,t,i=e)=>(e._$AI(t,i),e),FN={},NN=(e,t=FN)=>e._$AH=t,RN=e=>e._$AH,ON=e=>{var t;null===(t=e._$AP)||void 0===t||t.call(e,!1,!0);let i=e._$AA;const n=e._$AB.nextSibling;for(;i!==n;){const e=i.nextSibling;i.remove(),i=e}};var MN,LN=Symbol(),BN=Symbol(),zN=new Map,jN=class extends EN{constructor(){super(...arguments),this.initialRender=!1,this.svg=null,this.label="",this.library="default"}async resolveIcon(e,t){var i;let n;if(null==t?void 0:t.spriteSheet)return this.svg=Z`<svg part="svg">
        <use part="use" href="${e}"></use>
      </svg>`,this.svg;try{if(n=await fetch(e,{mode:"cors"}),!n.ok)return 410===n.status?LN:BN}catch(e){return BN}try{const e=document.createElement("div");e.innerHTML=await n.text();const t=e.firstElementChild;if("svg"!==(null==(i=null==t?void 0:t.tagName)?void 0:i.toLowerCase()))return LN;MN||(MN=new DOMParser);const r=MN.parseFromString(t.outerHTML,"text/html").body.querySelector("svg");return r?(r.part.add("svg"),document.adoptNode(r)):LN}catch(e){return LN}}connectedCallback(){var e;super.connectedCallback(),e=this,cN.push(e)}firstUpdated(){this.initialRender=!0,this.setIcon()}disconnectedCallback(){var e;super.disconnectedCallback(),e=this,cN=cN.filter((t=>t!==e))}getIconSource(){const e=hN(this.library);return this.name&&e?{url:e.resolver(this.name),fromLibrary:!0}:{url:this.src,fromLibrary:!1}}handleLabelChange(){"string"==typeof this.label&&this.label.length>0?(this.setAttribute("role","img"),this.setAttribute("aria-label",this.label),this.removeAttribute("aria-hidden")):(this.removeAttribute("role"),this.removeAttribute("aria-label"),this.setAttribute("aria-hidden","true"))}async setIcon(){var e;const{url:t,fromLibrary:i}=this.getIconSource(),n=i?hN(this.library):void 0;if(!t)return void(this.svg=null);let r=zN.get(t);if(r||(r=this.resolveIcon(t,n),zN.set(t,r)),!this.initialRender)return;const s=await r;if(s===BN&&zN.delete(t),t===this.getIconSource().url)if(((e,t)=>void 0===t?void 0!==(null==e?void 0:e._$litType$):(null==e?void 0:e._$litType$)===t)(s)){if(this.svg=s,n){await this.updateComplete;const e=this.shadowRoot.querySelector("[part='svg']");"function"==typeof n.mutator&&e&&n.mutator(e)}}else switch(s){case BN:case LN:this.svg=null,this.emit("sl-error");break;default:this.svg=s.cloneNode(!0),null==(e=null==n?void 0:n.mutator)||e.call(n,this.svg),this.emit("sl-load")}}render(){return this.svg}};jN.styles=[AN,pN],wN([Se()],jN.prototype,"svg",2),wN([ke({reflect:!0})],jN.prototype,"name",2),wN([ke()],jN.prototype,"src",2),wN([ke()],jN.prototype,"label",2),wN([ke({reflect:!0})],jN.prototype,"library",2),wN([kN("label")],jN.prototype,"handleLabelChange",1),wN([kN(["name","src","library"])],jN.prototype,"setIcon",1),jN.define("sl-icon");let HN=class extends ve{constructor(){super(),this.icon="",this.size=20,this.light=!1,uN("fal",{resolver:e=>"https://cdn.sdbleerplatform.nl/svgs/light/"+e+".svg"}),uN("brands",{resolver:e=>"https://cdn.sdbleerplatform.nl/svgs/brands/"+e+".svg"}),uN("heart",{resolver:e=>"https://cdn.sdbleerplatform.nl/svgs/hearts/"+e+".svg"})}render(){return this.iconname?Z`
        <sl-icon library="${this.iconset}" name="${this.iconname}" style="font-size: ${this.size}px"></sl-icon>
    `:Z``}get iconset(){if(!this.icon)return;return this.icon.split(" ")[0]}get iconname(){if(!this.icon)return;return this.icon.split(" ")[1].replace("fa-","")}};HN.styles=[cA,u`
    :host {
        display: inline-flex;
    }

    :host([light]) {
        /* TODO: double-check behavior */
      color:var(--text-light);

    }

    sl-icon {
        pointer-events:none;
        fill: var(--fa-icon-fill-color, currentcolor)
    }
  `],Aw([ke({type:String})],HN.prototype,"icon",void 0),Aw([ke({type:Number})],HN.prototype,"size",void 0),Aw([ke({type:Boolean})],HN.prototype,"light",void 0),HN=Aw([be("sdb-content-icon")],HN);let UN=class extends ve{constructor(){super(...arguments),this.icon="",this.link="",this.target="_self",this.size=20,this.disabled=!1,this.light=!1,this.notify=!1}render(){return Z`
      ${this.link&&this.link.length?Z`<a class="iconButton" href="${this.link}" target="${this.target}">${this.renderNotify()} ${this.renderIcon()}</a>`:Z`<div class="iconButton">${this.renderNotify()} ${this.renderIcon()}</div>`}

    `}renderIcon(){return Z`
        <sdb-content-icon .size=${this.size} .icon=${this.icon}></sdb-content-icon>
    `}renderNotify(){return Z`<span class="notify"></span>`}};UN.styles=[cA,u`
    :host .iconButton{
      position: relative;
      display:inline-block;
      margin:5px;
      background:transparent;
      border:none;
      color:var(--text-primary);
      cursor:pointer;
      text-transform:uppercase;
      font: var(--font-default);
      transition: scale .1s ease-in-out;
      -webkit-transform: rotateZ(360deg);
      vertical-align:middle;
    }

    :host([disabled]){
        pointer-events:none;
    }

    :host([disabled]) .iconButton {
      color:var(--element-disabled);
    }

    :host([light]) .iconButton {
      color:var(--text-light);
    }

    :host .iconButton:focus{
      outline:none !important;
    }

    :host .iconButton:hover{
      transform:scale(1.05);
    }

    .notify{
        display:none;
    }

    :host([notify]) .notify{
        display:block;
        width:10px;
        height:10px;
        border-radius:50%;
        background:var(--btn-primary);
        position:absolute;
        top:-10px;
        right:-5px;
    }

  `],Aw([ke({type:String})],UN.prototype,"icon",void 0),Aw([ke({type:String})],UN.prototype,"link",void 0),Aw([ke({type:String})],UN.prototype,"target",void 0),Aw([ke({type:Number})],UN.prototype,"size",void 0),Aw([ke({type:Boolean,reflect:!0})],UN.prototype,"disabled",void 0),Aw([ke({type:Boolean})],UN.prototype,"light",void 0),Aw([ke({type:Boolean,reflect:!0})],UN.prototype,"notify",void 0),UN=Aw([be("sdb-content-iconbutton")],UN);let $N=class extends ve{constructor(){super(...arguments),this.icon="",this.label="",this.size=20,this.disabled=!1}render(){return Z`



      ${this.label?Z`
            <span class="label">${this.label}</span>
            <div class="iconWrapper">
                <sdb-content-icon .size=${this.size} .icon=${this.icon}></sdb-content-icon>
            </div>
            `:Z`
            <div class="iconWrapper">
                <sdb-content-icon .size=${this.size} .icon=${this.icon}></sdb-content-icon>
            </div>
            `}
    `}};$N.styles=[cA,u`


  :host{
    width:fit-content;
    display:grid;
    grid-template-columns:1fr 50px;
    place-self:flex-end;
    align-items:center;
    gap:15px;
    margin:10px 0;
    cursor:pointer;
  }

  :host .label{
    background:white;
    color:var(--text-default);
    padding:5px 10px;
    border-radius:5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: box-shadow: .3s ease;
  }

  :host .iconWrapper{
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--btn-primary);
    color:var(--text-light);
    width:50px;
    height:50px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: scale .2s ease;
    transition: box-shadow .2s ease;
    -webkit-transform: rotateZ(360deg);
  }

  :host([disabled]){
    pointer-events:none;
}

  :host([disabled]) .label, :host([disabled]) .iconWrapper{
    background:var(--element-lightgrey);
    color:#999;
  }

  :host(:hover) .iconWrapper{
    transform: scale(1.05);
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
  }

  :host(:hover) .label{
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
  }

  `],Aw([ke({type:String})],$N.prototype,"icon",void 0),Aw([ke({type:String})],$N.prototype,"label",void 0),Aw([ke({type:Number})],$N.prototype,"size",void 0),Aw([ke({type:Boolean,reflect:!0})],$N.prototype,"disabled",void 0),$N=Aw([be("sdb-content-speeddialbutton")],$N);let VN=class extends ve{constructor(){super(...arguments),this.title="",this.description=""}render(){return Z`
            <div id="background"></div>
            <div id="content">
                <div id="cardWrapper" @scroll=${this._checkNav}>
                    <div id="top"></div>
                        <div id="text">
                        <h1>${this.title}</h1>
                        <span>${this.description}</span>
                    </div>
                    <slot id="catalogCards"></slot>
                    <div id="bottom"></div>
                </div>
                <div id="navigation">
                    <div
                        id="navBarLeft"
                        class="navBar active"
                        @click="${this._scrollToTop}"
                    >
                        <sdb-content-icon
                            size="15"
                            light
                            icon="fal fa-chevron-left"
                        ></sdb-content-icon>
                        <span></span>
                    </div>
                    <div
                        id="navBarRight"
                        class="navBar"
                        @click="${this._scrollToEnd}"
                    >
                        <span></span>
                        <sdb-content-icon
                            size="15"
                            light
                            icon="fal fa-chevron-right"
                        ></sdb-content-icon>
                    </div>
                </div>
            </div>
        `}firstUpdated(){this._initializeNav()}_initializeNav(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#navigation"),i=document.querySelectorAll("sdb-content-catalogcard").length;i&&i<=3?null==t||t.classList.add("hidden"):null==t||t.classList.remove("hidden")}_checkNav(){var e,t,i;const n=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#cardWrapper"),r=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#navBarLeft"),s=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("#navBarRight"),o=null==n?void 0:n.scrollTop;o&&o>=160?(null==s||s.classList.add("active"),null==r||r.classList.remove("active")):(null==r||r.classList.add("active"),null==s||s.classList.remove("active"))}_scrollToTop(){var e,t,i;const n=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#top"),r=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#navBarLeft"),s=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("#navBarRight");null==n||n.scrollIntoView({behavior:"smooth"}),null==r||r.classList.add("active"),null==s||s.classList.remove("active")}_scrollToEnd(){var e,t,i;const n=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#bottom"),r=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#navBarLeft"),s=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("#navBarRight");null==n||n.scrollIntoView({behavior:"smooth"}),null==s||s.classList.add("active"),null==r||r.classList.remove("active")}};VN.styles=[cA,u`
            :host {
                width: 100vw;
                margin-left: calc(-50vw + 50%);
                margin-right: calc(-50vw + 50%);
                display: block;
            }

            :host #background {
                position: absolute;
                display: block;
                height: 325px;
                width: 100vw;
                z-index: -1;
                background-color: var(--theme-primary);
            }

            :host #content {
                position: relative;

                height: 300px;
                margin: 0 auto;
                max-width: 1400px;
                width: calc(100% - 60px);
                padding: 0 30px;

                display: grid;
                grid-template-rows: 40px auto;
                grid-template-columns: 1fr;
                grid-column-gap: 15px;
                grid-template-areas:
                    'nav'
                    'cards';
            }

            @media (max-width: 854px) {
                :host #content {
                    display: grid;

                    padding: 0 15px;
                    width: calc(100% - 30px);
                    max-width: 767px;
                }

                :host #text {
                    display: none;
                }

                #cardWrapper {
                    height:90vw !important;
                }

              }

            @media (max-width: 767px) {

                :host #background {
                    height: 280px;
                }

                :host #content {
                    display: grid;

                    padding: 0 15px;
                    width: calc(100% - 30px);
                    max-width: 767px;

                    grid-template-rows: 15px auto 15px !important;
                    grid-template-columns: 1fr !important;
                    grid-template-areas:
                        '.'
                        'cards'
                        '.';
                    grid-column-gap: 0;
                }

                #cardWrapper {
                    height:93vw !important;
                }

                :host #text, :host #navigation {
                    display: none;
                }
            }

            @media (max-width: 311px) {

                :host{
                    display:none;
                }
            }



            #text {
                transform: rotate(90deg);
                color: white;
                display: block;
                height: 250px;
                width: 400px;
                padding-top: 150px;
            }

            #text h1 {
                margin-top: 0;
                font-weight: 400;
                width:90%;
            }

            #text span {
                font-weight: 400;
                overflow: hidden;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 6;
                width:90%;
            }

            #cardWrapper {
                display: grid;
                grid-template-columns:1px 2fr repeat(1fr) 1px;
                grid-area: cards;
                position: absolute;
                top: 0;
                left: 0;
                width: calc(250px + 1px);
                height:93vw;
                max-height:1400px;
                margin: 0;
                padding-top: 1px;
                overflow-y: auto;
                overflow-x: hidden;
                transform: rotate(-90deg) translateY(-250px);
                transform-origin: right top;
            }

            @media (pointer: coarse) {
                #cardWrapper {
                    overflow-x: scroll; /* Must be 'scroll' not 'auto' */
                    -webkit-overflow-scrolling: touch;
                }
            }

            #navigation {
                grid-area: nav;
                display: flex;
                justify-content: flex-end;
                align-items: flex-start;
                padding: 0 20px;
                gap: 10px;
            }

            #navigation.hidden {
                display: none;
            }

            .navBar {
                display: flex;
                align-items: center;
                gap: 10px;
                height: 15px;
                background: transparent;
                cursor: pointer;
            }

            .navBar > span {
                display: block;
                height: 2px;
                width: 35px;
                background: RGBA(255, 255, 255, 0.5);
            }

            .navBar.active > span {
                background: RGBA(255, 255, 255, 0.9);
            }

            :host([hidden]),
            [hidden] {
                display: none;
            }

            ::-webkit-scrollbar {
                width: 1px;
                height: 1px;
            }

            ::-webkit-scrollbar-button {
                width: 1px;
                height: 1px;
            }
        `],Aw([ke({type:String})],VN.prototype,"title",void 0),Aw([ke({type:String})],VN.prototype,"description",void 0),VN=Aw([be("sdb-content-catalogheader")],VN),Vs({_template:fo`
    <style>
      :host {
        display: inline-block;
        overflow: hidden;
        position: relative;
      }

      #baseURIAnchor {
        display: none;
      }

      #sizedImgDiv {
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;

        display: none;
      }

      #img {
        display: block;
        width: var(--iron-image-width, auto);
        height: var(--iron-image-height, auto);
      }

      :host([sizing]) #sizedImgDiv {
        display: block;
      }

      :host([sizing]) #img {
        display: none;
      }

      #placeholder {
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;

        background-color: inherit;
        opacity: 1;

        @apply --iron-image-placeholder;
      }

      #placeholder.faded-out {
        transition: opacity 0.5s linear;
        opacity: 0;
      }
    </style>

    <a id="baseURIAnchor" href="#"></a>
    <div id="sizedImgDiv" role="img" hidden$="[[_computeImgDivHidden(sizing)]]" aria-hidden$="[[_computeImgDivARIAHidden(alt)]]" aria-label$="[[_computeImgDivARIALabel(alt, src)]]"></div>
    <img id="img" alt$="[[alt]]" hidden$="[[_computeImgHidden(sizing)]]" crossorigin$="[[crossorigin]]" on-load="_imgOnLoad" on-error="_imgOnError">
    <div id="placeholder" hidden$="[[_computePlaceholderHidden(preload, fade, loading, loaded)]]" class$="[[_computePlaceholderClassName(preload, fade, loading, loaded)]]"></div>
`,is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var i=this._resolveSrc(e);i!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=i,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=Ht(e,this.$.baseURIAnchor.href);return t.length>=2&&"/"===t[0]&&"/"!==t[1]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});let WN=class extends ve{constructor(){super(...arguments),this.img="",this.placeholder="",this.background="",this.overlay=!1,this.title="",this.description="",this._catalogType=""}set type(e){if(!e||""===e)return;const t=["elearning","training","video","document"];if(!t.includes(e))throw new Error(`Possible values for catalogType are ${t.join(", ")}`);const i=this._catalogType;this._catalogType=e,this.requestUpdate("catalogType",i)}get type(){return this._catalogType}render(){return Z`
            <section
                id="imageWrapper"
                style="background-color:${this.background}"
            >
                <iron-image
                    class="backgroundImage"
                    sizing="cover"
                    fade
                    preload
                    src="${this.img}"
                    placeholder="${this.placeholder}"
                ></iron-image>
                ${this.overlay?Z`<div
                          class="overlay"
                          style="background-color:${this.background}"
                      ></div> `:Z``}
            </section>
            <div class="content" name="content">
                <sdb-content-icon id="type" icon=${this._getIconByType()}></sdb-content-icon>
                <div id="favorite">
                    <slot name="favorite"></slot>
                </div>
                <h1 id="contentTitle">${this.title}</h1>
                <span id="contentDescription">${this.description}</span>
                <slot id="contentDetails" name="details"></slot>
            </div>
            </div>
        `}_getIconByType(){return"elearning"===this.type?"fal fa-graduation-cap":"training"===this.type?"fal fa-screen-users":"video"===this.type?"fal fa-video":"document"===this.type?"fal fa-file-lines":""}};WN.styles=[cA,u`
            :host {
                cursor:pointer;
                position: relative;
                display: flex;
                height: 250px;
                padding: 15px;
                width: 100%;
                max-width:250px;
                box-sizing: border-box;
                align-items: flex-end;
                justify-content: center;
                margin: 15px 0;
                transform: rotate(90deg);
            }

            :host,
            .overlay,
            iron-image,
            .content {
                border-radius: 10px;
            }

            section#contentWrapper {
                grid-area: content;
                display: flex;
                flex-flow: column wrap;
                justify-content: stretch;
                align-content: stretch;
                background: white;
                padding: 0;
            }

            .overlay {
                position: absolute;
                z-index: 1;
                width: 100%;
                height: 100%;
                opacity: 0.7;
                top: 0;
                left: 0;
            }

            .content {
                display: grid;
                grid-template-rows:20px 30px 60px 30px;
                grid-template-columns:30px 1fr 30px;
                grid-template-areas:
                "type . favorite"
                "title title title"
                "description description description"
                "details details details";
                z-index: 2;
                padding: 15px;
                height: 65%;
                width: 100%;
                align-items: center;
                justify-items: center;
                background-color: rgba(255, 255, 255, 0.7);
                backdrop-filter: blur(7.5px);
            }

            #type{
                grid-area:type;
                color:var(--text-primary);
            }

            #favorite{
                grid-area:favorite;
                z-index:3;
            }

            #contentTitle{
                grid-area:title;
                width:100%;
                height:30px;
                line-height:30px;
                margin:0;
                color: var(--text-primary);
                font-size:1.1em;
                font-weight:400;
            }

            #contentDescription{
                grid-area:description;
                color: var(--text-primary);
                font-weight:300;
                overflow: hidden;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 3;
            }

            #contentDetails{
                grid-area:details;
            }

            .backgroundImage {
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center center;
                display: block;
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
            }
        `],Aw([ke({type:String})],WN.prototype,"img",void 0),Aw([ke({type:String})],WN.prototype,"placeholder",void 0),Aw([ke({type:String})],WN.prototype,"background",void 0),Aw([ke({type:Boolean})],WN.prototype,"overlay",void 0),Aw([ke({type:String})],WN.prototype,"title",void 0),Aw([ke({type:String})],WN.prototype,"description",void 0),Aw([ke({type:String,reflect:!0})],WN.prototype,"type",null),WN=Aw([be("sdb-content-catalogheadercard")],WN);let GN=class extends ve{constructor(){super(...arguments),this.img="",this.placeholder="",this.background="",this.duration=1,this.date="1-1-2000",this.successdate="1-1-2000",this.starttime="8:00",this.endtime="17:00",this.progress=0,this.overlay=!1,this.success=!1,this.title="",this._catalogType=""}set type(e){if(!e||""===e)return;const t=["elearning","training","video","document"];if(!t.includes(e))throw new Error(`Possible values for catalogType are ${t.join(", ")}`);const i=this._catalogType;this._catalogType=e,this.requestUpdate("catalogType",i)}get type(){return this._catalogType}render(){return Z`
            <section
                id="imageWrapper"
                style="background-color:${this.background}"
            >
                <div id="favorite">
                    <slot name="favorite"></slot>
                </div>
                <iron-image
                    class="backgroundImage"
                    sizing="cover"
                    fade
                    preload
                    src="${this.img}"
                    placeholder="${this.placeholder}"
                ></iron-image>
                ${this.overlay?Z`<div
                          class="overlay"
                          style="background-color:${this.background}"
                      ></div> `:Z``}
            </section>
            <div class="content" name="content">
                <div class="contentOverlay"></div>
                <sdb-content-icon id="type" icon=${this._getIconByType()}></sdb-content-icon>
                <h1 id="contentTitle">${this.title}</h1>
                <div id="content">
                    ${this.success?Z`
                            <sdb-content-chipbar>
                                <sdb-content-chip icon="fal fa-check" color="var(--theme-tertiary)" light label=${this.successdate}></sdb-content-chip>
                            </sdb-content-chipbar>
                        `:Z`
                            ${"elearning"===this.type?Z`
                                    <sdb-content-icon icon="fal fa-clock"></sdb-content-icon>
                                    <span style="display:block;">${this.duration} min</span>
                                    <sdb-content-progressbar progress=${this.progress} smallBar></sdb-content-progressbar>
                                `:Z``}
                            ${"training"===this.type?Z`
                                    <span>${this.date}</span>
                                    <span class="trainingTime">${this.starttime} - ${this.endtime}</span>
                                `:Z``}
                            ${"video"===this.type?Z`
                                    <sdb-content-icon icon="fal fa-clock"></sdb-content-icon>
                                    <span style="display:block;">${this.duration} min</span>                        `:Z``}
                        `}
                </div>
            </div>
            </div>
        `}_getIconByType(){return"elearning"===this.type?"fal fa-graduation-cap":"training"===this.type?"fal fa-screen-users":"video"===this.type?"fal fa-video":"document"===this.type?"fal fa-file-lines":""}};GN.styles=[cA,u`
            :host {
                cursor:pointer;
                position: relative;
                display: flex;
                gap:15px;
                height: 175px;
                padding: 15px;
                width: 320px;
                box-sizing: border-box;
                align-items: flex-end;
                justify-content: center;
                transform: rotate(90deg);
                margin:175px 0 0;
            }

            :host(:first-of-type){
                margin-top:75px;
            }

            :host,
            .overlay,
            iron-image,
            .content {
                border-radius: 10px;
            }

            section#contentWrapper {
                grid-area: content;
                display: flex;
                flex-flow: column wrap;
                justify-content: stretch;
                align-content: stretch;
                background: white;
                padding: 0;
            }

            .overlay {
                position: absolute;
                z-index: 1;
                width: 100%;
                height: 100%;
                opacity: 0.7;
                top: 0;
                left: 0;
            }

            .content {
                display: grid;
                position:relative;
                grid-template-rows:30px 30px;
                grid-template-columns:30px 1fr;
                grid-template-areas:
                "type title"
                ". details";
                z-index: 2;
                padding: 15px;
                height: 60px;
                width: 100%;
                align-items: center;
                justify-items: center;
                column-gap:15px;
            }

            .contentOverlay{
                position:absolute;
                width:100%;
                height:100%;
                background-color: rgba(255, 255, 255, 0.7);
                backdrop-filter: blur(5px);
                border-radius:10px;
            }

            #type{
                grid-area:type;
                position: relative;
                color:var(--text-primary);
            }

            #favorite{
                position:absolute;
                top:5px;
                right:5px;
                z-index:3;
            }

            #contentTitle{
                grid-area:title;
                position:relative;
                width:100%;
                height:30px;
                line-height:30px;
                margin:0;
                color: var(--text-primary);
                font-size:1.1em;
                font-weight:400;
            }

            #content{
                grid-area:details;
                position:relative;
                display:grid;
                grid-template-columns:auto auto 1fr;
                justify-self:flex-start;
                align-items:center;
                width:95%;
                column-gap:10px;
            }

            #content > span{
                display:block;
            }

            #content > span.trainingTime{
                color:#666;
            }

            .backgroundImage {
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center center;
                display: block;
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
            }
        `],Aw([ke({type:String})],GN.prototype,"img",void 0),Aw([ke({type:String})],GN.prototype,"placeholder",void 0),Aw([ke({type:String})],GN.prototype,"background",void 0),Aw([ke({type:Number})],GN.prototype,"duration",void 0),Aw([ke({type:Date})],GN.prototype,"date",void 0),Aw([ke({type:Date})],GN.prototype,"successdate",void 0),Aw([ke({type:Date})],GN.prototype,"starttime",void 0),Aw([ke({type:Date})],GN.prototype,"endtime",void 0),Aw([ke({type:Number})],GN.prototype,"progress",void 0),Aw([ke({type:Boolean})],GN.prototype,"overlay",void 0),Aw([ke({type:Boolean})],GN.prototype,"success",void 0),Aw([ke({type:String})],GN.prototype,"title",void 0),Aw([ke({type:String,reflect:!0})],GN.prototype,"type",null),GN=Aw([be("sdb-content-catalogcard")],GN);let qN=class extends ve{constructor(){super(...arguments),this.image="",this.color="white",this.height=450,this.noContent=!1,this.catalog=!1,this.left=!1}render(){return Z`
            <div
                id="heroImage"
                style="background-image:url('${this.image}');"
            ></div>
            <div id="heroContent">
                <div id="heroContentCard">
                    <slot></slot>
                </div>
            </div>
        `}firstUpdated(){this.style.setProperty("--heroheight",this.height+"px"),this.style.setProperty("--contentcolor",this.color)}};qN.styles=[cA,u`
            :host {
                height: var(--heroheight);
                display: block;
            }

            :host([noContent]) #heroContent {
                display: none;
            }

            :host #heroImage {
                position: absolute;
                display: block;
                height: calc(var(--heroheight) + 50px);
                left:0;
                right:0;
                z-index: -1;
                background-position: center;
                background-repeat: no-repeat;
                background-size: cover;
                /* background color fallback */
                background-color: var(--theme-tertiary);
            }

            :host #heroContent {
                position: relative;

                height: var(--heroheight);
                margin: 0 auto;
                max-width: 1400px;
                width: calc(100% - 60px);
                padding: 0 30px;

                display: grid;
                grid-template-rows: 40px auto 40px;
                grid-template-columns: 40px 3fr 7fr;
                grid-template-areas:
                    '. . .'
                    '. . content'
                    '. . .';
            }

            :host([catalog]) #heroContent{
                grid-template-columns: 40px 4fr 6fr;
                grid-template-areas:
                    '. . .'
                    '. . content'
                    '. . .';
            }

            :host([left]) #heroContent{
                grid-template-columns: 7fr 3fr 40px;
                grid-template-areas:
                    '. . .'
                    'content . .'
                    '. . .';
            }

            @media only screen and (max-width: 767px) {
                /* For mobile phones: */

                :host #heroContent {
                    display: grid;

                    padding: 0 15px;
                    width: calc(100% - 30px);

                    grid-template-rows: 15px auto 15px !important;
                    grid-template-columns: 1fr !important;
                    grid-template-areas:
                        '.'
                        'content'
                        '.';
                }
            }

            #heroContentCard {
                background: var(--contentcolor);
                border: none;
                border-top-right-radius: 20px;
                border-bottom-right-radius: 20px;
                border-bottom-left-radius: 20px;
                padding: 20px;
                grid-area: content;
                backdrop-filter: blur(2px);
            }

            :host([hidden]),
            [hidden] {
                display: none;
            }
        `],Aw([ke({type:String})],qN.prototype,"image",void 0),Aw([ke({type:String})],qN.prototype,"color",void 0),Aw([ke({type:Number})],qN.prototype,"height",void 0),Aw([ke({type:Boolean})],qN.prototype,"noContent",void 0),Aw([ke({type:Boolean})],qN.prototype,"catalog",void 0),Aw([ke({type:Boolean})],qN.prototype,"left",void 0),qN=Aw([be("sdb-content-heroheader")],qN);let YN=class extends ve{constructor(){super(...arguments),this.img="",this.placeholder="",this.background="",this.secondary=!1,this.tertiary=!1,this.hover=!1,this.noOverlay=!1}render(){return Z`

<section id="imageWrapper" style="background-color:${this.background}">
  <iron-image class="backgroundImage" sizing="cover" fade preload src="${this.img}" placeholder="${this.placeholder}"></iron-image>
  <slot class="image" name="top"></slot>
${this.img||this.placeholder?Z`<div class="overlay" style="background-color:${this.background}"></div>  `:Z``}

    </section>
    <section id="contentWrapper">
    <slot name="bottom"></slot>
    </section>
    `}};YN.styles=[cA,u`
    :host {
      background:white;
      position:relative;
      height:100%;
      width:100%;
      color:var(--text-primary);
      display: grid;
      grid-template-columns:1fr;
      grid-template-rows:120px auto; /* rows will use full available height */
      grid-template-areas:
      "image"
      "content";
      transition:box-shadow .15s ease;
    }

    :host(:hover){
        box-shadow: 0px 4px 14px 1px rgba(0,0,0,0.25);
      }

    :host(:hover), :host(:hover) ::slotted(*){
        cursor:pointer;
      }

    :host(:hover) #contentWrapper ::slotted(*){
        background:transparent;
    }


    :host([noHover]:hover){
        cursor:default;
        -webkit-box-shadow:none;
        box-shadow:none;
        transform:none;
    }

    :host([noHover]:hover) #contentWrapper ::slotted(*){
        cursor:default;
    }

    section#imageWrapper{
      grid-area:image;
      position:relative;
      display:block;
      width:100%;
      height:120px;
      background-color:var(--theme-primary);
      color:var(--text-light);
    }

    :host([secondary]) section#imageWrapper, :host([secondary]) div.overlay{
        background-color:var(--theme-secondary);
      }


    :host([tertiary]) section#imageWrapper, :host([tertiary]) div.overlay{
      background-color:var(--theme-tertiary);
    }

    section#contentWrapper{
      grid-area:content;
      display:flex;
      flex-flow: column wrap;
      justify-content:stretch;
      align-content:stretch;
      background:white;
      padding:0;
    }

    .overlay{
      position:absolute;
      z-index:1;
      width:100%;
      height:100%;
      background-color:var(--theme-tertiary);
      opacity:0.7;
      top:0;
      left:0;
    }

    :host([noOverlay]) .overlay{
      display:none;
    }

    .image{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:1fr;
      height:90px;
      padding:15px 40px;
      align-items:center;
      justify-items:center;
    }

    :host section#imageWrapper .backgroundImage{
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
      filter: grayscale(100%);
      display:block;
      width:100%;
      height:100%;
      position:absolute;
      top:0;
      left:0;
    }

    :host([noOverlay]) section#imageWrapper .backgroundImage{
      filter:none;
    }

  `],Aw([ke({type:String})],YN.prototype,"img",void 0),Aw([ke({type:String})],YN.prototype,"placeholder",void 0),Aw([ke({type:String})],YN.prototype,"background",void 0),Aw([ke({type:Boolean})],YN.prototype,"secondary",void 0),Aw([ke({type:Boolean})],YN.prototype,"tertiary",void 0),Aw([ke({type:Boolean})],YN.prototype,"hover",void 0),Aw([ke({type:Boolean})],YN.prototype,"noOverlay",void 0),YN=Aw([be("sdb-content-imagecard")],YN);let KN=class extends ve{constructor(){super(...arguments),this.headline="",this.bgsecondary=!1,this.bgtertiary=!1,this.hover=!1}render(){return Z`

<section id="infoWrapper">
${this.headline?Z`<div class="headline"><span>${this.headline}</span></div>  `:Z``}

    </section>
    <section id="contentWrapper">
    <slot name="bottom"></slot>
    </section>
    `}};KN.styles=[cA,u`
    :host {
      background:white;
      position:relative;
      height:100%;
      width:100%;
      display: grid;
      grid-template-columns:1fr;
      grid-template-rows:60px auto; /* rows will use full available height */
      grid-template-areas:
      "info"
      "content";
      transition: box-shadow .1s ease-in-out;
    }

    section#infoWrapper{
      grid-area:info;
      position:relative;
      display:block;
      width:100%;
      height:60px;
      background-color:var(--theme-primary);
      color:var(--text-light);
    }

    section#infoWrapper div.headline{
      display:flex;
      height:60px;
      width:calc(100% - 30px);
      padding:0 15px;
      align-items: center;
      justify-content: start;
    }

    section#infoWrapper div.headline span{
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow:hidden;
    }

    :host([bgsecondary]) section#infoWrapper{
      background-color:var(--theme-secondary);
    }

    :host([bgtertiary]) section#infoWrapper{
      background-color:var(--theme-tertiary);
    }

    section#contentWrapper{
      grid-area:content;
      display:flex;
      flex-flow: column wrap;
      justify-items:stretch;
      align-items:stretch;
      background:white;
      padding:0 30px;
    }

    :host([hover]:hover), :host([hover]:hover) ::slotted(*){
      cursor:pointer;
    }

    :host([hover]:hover){
      box-shadow: 0px 4px 14px 1px rgba(0,0,0,0.25);
    }

  `],Aw([ke({type:String})],KN.prototype,"headline",void 0),Aw([ke({type:Boolean})],KN.prototype,"bgsecondary",void 0),Aw([ke({type:Boolean})],KN.prototype,"bgtertiary",void 0),Aw([ke({type:Boolean})],KN.prototype,"hover",void 0),KN=Aw([be("sdb-content-infocard")],KN);let JN=class extends ve{constructor(){super(...arguments),this.separator=!1,this.noPrimaryAction=!1,this.centerIcons=!1,this.contentTop=!1}render(){return Z`
      <slot></slot>
    `}};JN.styles=[cA,u`
    :host {
      position:relative;
      background:white;
      padding:15px 20px 40px 20px;
      display:block;
      --sdb-listitem-main-justify: center;
      --sdb-listitem-icon-padding-left:10px;
      --sdb-listitem-icon-justify: center;
      --sdb-listitem-icon-align: start;

    }

    :host([centerIcons]){
        --sdb-listitem-icon-justify:center;
        --sdb-listitem-icon-align: center;
        --sdb-listitem-icon-padding-left:0;
    }

    :host([contentTop]){
        --sdb-listitem-main-justify: start;
        --sdb-listitem-content-align: start;
    }

    :host([separator]) {
      --sdb-list-separator: var(--element-lightgrey);
    }

    :host([status]) {
        --sdb-list-status: 2px;
      }


    :host([noPrimaryAction]) > ::slotted(sdb-content-listitem){
      pointer-events: none;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */

      :host{
        padding:10px 10px 30px;
      }

    }

  `],Aw([ke({type:Boolean})],JN.prototype,"separator",void 0),Aw([ke({type:Boolean})],JN.prototype,"noPrimaryAction",void 0),Aw([ke({type:Boolean})],JN.prototype,"centerIcons",void 0),Aw([ke({type:Boolean})],JN.prototype,"contentTop",void 0),JN=Aw([be("sdb-content-list")],JN);let ZN=class extends ve{constructor(){super(...arguments),this.overline="",this.headline="",this.subtitle="",this.description="",this.graphic="",this.avatar="",this.disabledText="",this.icon="",this.gravatar=!1,this.light=!1,this.locked=!1,this.noPadding=!1,this.small=!1,this.date=!1,this.noHover=!1,this.checkable=!1,this.checked=!1,this.disabledCheckbox=!1,this.statusColor="",this.statusBackground=!1}render(){return Z`
            ${this.disabledText?Z` <div class="disabledTextWrapper">
                      <span>${this.disabledText}</span>
                  </div>`:Z``}
            ${this.locked?Z` <div class="lockedWrapper">
                      <sdb-content-icon
                          icon="fal fa-lock"
                          size="30"
                      ></sdb-content-icon>
                  </div>`:Z``}
            <div class="outer" part="outer">
                <div class="statusBar ${this.statusColor}"></div>
                <!-- Listitem content (text & chipbar) -->
                <div class="listItemContentWrapper">
                    <section class="mainContent">
                        ${this.checkable?Z`<div class="listCheckboxWrapper">
                                  <div class="listCheckbox">
                                      <sdb-content-checkbox
                                          ?disabled=${this.disabledCheckbox}
                                          ?checked=${this.checked}
                                          @checked-changed="${e=>{this._checkedChanged(e)}}"
                                      >
                                      </sdb-content-checkbox>
                                  </div>
                              </div>`:Z``}
                            <!-- Listitem images yes/no -->
                            ${this.graphic?Z` <div class="ListItemImgWrapper">
                                      <div
                                          style="background-image: url('${this.graphic}');"
                                          class="listItemGraphic"
                                      ></div>
                                  </div>`:Z``}
                            ${this.avatar?Z` <div class="ListItemImgWrapper">
                                      <div
                                          style="background-image: url('${this.avatar}');"
                                          class="listItemAvatar"
                                      ></div>
                                  </div>`:Z``}
                            ${this.icon?Z` <div class="ListItemImgWrapper">
                                      <div class="listItemIcon">
                                          <sdb-content-icon
                                              size="32"
                                              .icon=${this.icon}
                                          ></sdb-content-icon>
                                      </div>
                                  </div>`:Z``}
                            ${this.gravatar?Z` <div class="ListItemImgWrapper">
                                      <div class="listItemGravatar">
                                          <slot name="gravatar"></slot>
                                      </div>
                                  </div>`:Z``}
                        <div class="main" part="main">
                            ${this.overline?Z` <div class="overline" part="overline">
                                      ${this.overline}
                                  </div>`:Z``}
                            <div class="headline" part="headline">
                                ${this.headline}
                            </div>
                            <!-- headline is mandatory, so always displayed -->
                            ${this.subtitle?Z` <div class="subtitle" part="subtitle">
                                      ${this.subtitle}
                                  </div>`:Z``}
                            ${this.description?Z` <div
                                      class="description"
                                      part="description"
                                  >
                                      ${this.description}
                                  </div>`:Z``}
                            ${this.date?Z` <div
                                          class="date"
                                          part="date"
                                      >
                                      <slot name="date"></slot>
                                      </div>`:Z``}
                        </div>
                    </section>
                    <slot class="listItemColumn" name="2"></slot>
                    <slot class="listItemColumn" name="3"></slot>
                    <slot class="listItemColumn" name="4"></slot>
                </div>
                <!-- Secondary Action -->

                <div class="secondaryAction">
                    <slot
                        name="secondaryAction"
                        @click=${this._stopPropagation}
                    ></slot>
                </div>

                <div id="listItemChipbar">
                    <slot name="chipbar" class="chipbar"></slot>
                </div>

                <div id="defaultSlot">
                    <slot @click=${this._stopPropagation}></slot>
                </div>
            </div>
        `}_stopPropagation(e){e.stopPropagation()}_checkedChanged(e){this.checked=e.detail.value,this.dispatchEvent(new CustomEvent("checked-changed",{detail:e.detail}))}};ZN.styles=[cA,u`
            :host {
                display: block;
                position: relative;
                border-top-left-radius: 2px;
                border-bottom-left-radius: 2px;
                margin-bottom: var(--sdb-list-status, 0);
            }

            :host {
                background: white;
            }

            :host .outer {
                border-bottom: 1px solid var(--sdb-list-separator, transparent);
            }

            .outer {
                background: transparent;
                position: relative;
                cursor: pointer;
                height: calc(
                    100% - 31px
                ); /* height - 2x 15px padding - 1px border */
                min-height: 60px;
                padding: 15px 0 15px 10px;
                color: var(--text-primary);
                display: grid;
                align-items: center;
                grid-template-rows: 1fr; /* rows will use full available height */
                grid-template-columns: 1fr 50px;
                grid-template-areas:
                    'content secondary'
                    'chipbar chipbar'
                    'slot slot';
            }

            :host([small]) .outer{
                height:40px;
                min-height:40px;
                grid-template-columns: 1fr;
                grid-template-areas:
                    'content'
                    'chipbar'
                    'slot';
            }

            :host([noPadding]) .outer {
                padding: 0 0 0 10px;
            }

            :host([light]) .outer {
                color: var(--text-light);
            }

            :host([noSecondaryAction]) .outer {
                padding: 15px 20px 15px 10px;
                grid-template-columns: 1fr;
                grid-template-areas:
                    'content'
                    'chipbar'
                    'slot';
            }

            :host(:hover) .outer {
                background: rgba(0, 0, 0, 0.05);
            }

            :host([disabled]){
                pointer-events:none;
            }

            :host([disabled]) .outer {
                cursor: default;
                opacity: 0.4;
            }

            :host([disabledText]) .outer {
                opacity: 0.2 !important;
            }

            :host([truncate]) section.mainContent div.main div {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            :host([disabled]) .listItemContent {
                color: var(--element-disabled);
            }

            :host([disabled]:hover) .outer {
                background: transparent;
            }

            .listItemContentWrapper {
                grid-area: content;
                display: grid;
                grid-auto-columns: 1fr; /* columns will use full available width */
                grid-auto-flow: column;
                justify-content: flex-start; /* makes sure the content is left aligned */
                align-items: stretch; /* makes sure the items use the full available height of the row */
                gap: 0 15px;
            }

            .listItemContentWrapper > * {
                /* makes sure all the optional items use the full width of the listitem content wrapper */
                width: 100%;
            }

            :host .statusBar {
                display: block;
                height: 100%;
                width: 10px;
                background: transparent;
                position: absolute;
                top: 0;
                left: 0;
                border-bottom: 1px solid transparent;
                border-top-left-radius: 2px;
                border-bottom-left-radius: 2px;
            }

            .statusBar.green {
                background: var(--success-color);
            }

            :host([statusBackground][statusColor='green']) {
                background: var(--success-background);
            }

            /* :host([greenStatus]) .mainContent, :host([greenStatus]) .secondaryAction, :host([greenStatus]) .chipbar{
        opacity:0.7;
    } */

            .statusBar.orange {
                background: var(--warning-color);
            }

            :host([statusBackground][statusColor='orange']) {
                background: var(--warning-background);
            }

            .statusBar.red {
                background: var(--alert-color);
            }

            :host([statusBackground][statusColor='red']) {
                background: var(--alert-background);
            }

            .statusBar.blue {
                background: var(--inprogress-color);
            }

            :host([statusBackground][statusColor='blue']) {
                background: var(--inprogress-background);
            }

            .statusBar.grey {
                background: var(--element-darkgrey);
            }

            :host([statusBackground][statusColor='grey']) {
                background: var(--element-darkgrey);
            }

            :host([locked]) .outer {
                opacity: 0.3;
            }

            :host([locked]) .lockedWrapper {
                display: flex;
                width: 100%;
                height: 100%;
                position: absolute;
                justify-content: center;
                align-items: center;
            }

            :host .disabledTextWrapper{
                display:none;
            }

            :host([disabled]) .disabledTextWrapper {
                display: flex;
                width: 100%;
                height: 100%;
                position: absolute;
                justify-content: center;
                align-items: center;
            }

            :host([disabled]) .disabledTextWrapper > span {
                display:block;
                background:var(--element-lightgrey);
                color:#999;
                padding:7.5px 15px;
                border-radius:5px;
                z-index: 1;
            }

            section.image {
                width: 60px;
                display: inline-flex;
            }

            section.mainContent {
                display: grid;
                grid-template-columns: auto auto 1fr;
                grid-template-areas:
                'checkbox image main'
            }

            section.mainContent .main {
                grid-area:main;
                display: flex;
                justify-content: var(--sdb-listitem-main-justify, center);
                flex-direction: column;
                padding-left: 10px;
                overflow-x:hidden;
            }

            :host([date]) .outer{
                padding: 0 0 0 10px;
                min-height: 22px;
            }

            :host([date]:hover) .outer {
                background: transparent;
            }

            .listItemColumn::slotted(*) {
                padding: 0 15px;
                align-self: var(--sdb-listitem-content-align, center);
            }

            .listItemColumn > * {
                /* makes sure all the optional items use the full width of the accordionItem content wrapper */
                width: 100%;
            }

            .secondaryAction {
                grid-area: secondary;
                display: grid;
                justify-items: center;
                align-items: center;
            }

            .ListItemImgWrapper {
                grid-area: image;
                display: flex;
                justify-content: var(--sdb-listitem-icon-justify, center);
                align-items: var(--sdb-listitem-icon-align, start);
                min-width:70px;
            }

            :host([centerIcons]) .ListItemImgWrapper{
                --sdb-listitem-icon-justify: center;
                --sdb-listitem-icon-align: center;
            }

            .listItemAvatar,
            .listItemGraphic,
            .listItemIcon,
            .listItemGravatar {
                grid-template-areas: image;
                width: 60px;
                height: 60px;
                margin: 3px 0 0 var(--sdb-listitem-icon-padding-left, 10px);
                background-size: cover;
                background-position: center center;
                justify-content:start;
            }

            .listItemGravatar ::slotted(img) {
                max-width: 60px;
            }

            .listItemIcon {
                width: 60px;
                height: 40px;
            }

            #listItemChipbar {
                grid-area: chipbar;
                display: flex;
                padding-left: 10px;
                padding-right: 10px;
            }

            :host([icon]) #listItemChipbar,
            :host([graphic]) #listItemChipbar,
            :host([avatar]) #listItemChipbar,
            :host([gravatar]) #listItemChipbar {
                margin-left: calc(var(--chipMarginLeft, 0px) + var(--chipExtraMarginLeft, 0px));
                --chipMarginLeft: 70px;
            }

            :host([checkable]) #listItemChipbar{
                margin-left: calc(var(--chipMarginLeft, 0px) + var(--chipExtraMarginLeft, 0px));
                --chipExtraMarginLeft: 40px;
            }

            .listCheckboxWrapper{
                grid-area: checkbox;
                display:flex;
                width:auto;
                align-items:center;
            }

            .listCheckbox{
                width:30px;
                margin-top:3px;
                padding-left:10px;
                display:flex;
                justify-content:center;
            }

            .listItemIcon {
                background: transparent;
                display: flex;
                justify-content: var(--sdb-listitem-icon-justify, center);
                align-items: var(--sdb-listitem-icon-align, start);
            }

            .listItemAvatar {
                border-radius: 50%; /*makes sure user avatars are displayed in circle instead of square*/
            }

            .overline,
            .headline,
            .subtitle,
            .description,
            .chipbar {
                display: flex;
                align-items: center;
            }

            .overline {
                font-size: 0.85em;
                text-transform: uppercase;
            }

            .description {
                margin: 15px 15px 15px 0;
                font-weight: 300;
            }

            .overline + .headline {
                /* makes sure the overline is 'glued on top of' the headline if only these 2 are used */
                align-items: flex-start;
            }

            .headline + .subtitle {
                align-items: flex-start;
            }

            .overline,
            .subtitle,
            .description {
                font-weight: 300;
            }

            #defaultSlot {
                grid-area: slot;
                padding-left:10px;
            }

            :host([noHover]:hover) .outer {
                cursor: default;
                background: transparent;
            }

            :host([locked]:hover) .outer {
                background: transparent;
            }

            @media only screen and (max-width: 767px) {
                /* For mobile phones: */
                .listItemContentWrapper {
                    grid-auto-flow: row;
                }

                :host([date]) .listItemContentWrapper{
                    margin-bottom:15px;
                }

                :host([date]) .main{
                    padding-left:0;
                }

                :host {
                    grid-template-columns: 1fr 25px;
                }

                .listItemColumn::slotted(*) {
                    padding: 0px 10px 0 0;
                }
            }
        `],Aw([ke({type:String})],ZN.prototype,"overline",void 0),Aw([ke({type:String})],ZN.prototype,"headline",void 0),Aw([ke({type:String})],ZN.prototype,"subtitle",void 0),Aw([ke({type:String})],ZN.prototype,"description",void 0),Aw([ke({type:String})],ZN.prototype,"graphic",void 0),Aw([ke({type:String})],ZN.prototype,"avatar",void 0),Aw([ke({type:String})],ZN.prototype,"disabledText",void 0),Aw([ke({type:String})],ZN.prototype,"icon",void 0),Aw([ke({type:Boolean})],ZN.prototype,"gravatar",void 0),Aw([ke({type:Boolean})],ZN.prototype,"light",void 0),Aw([ke({type:Boolean})],ZN.prototype,"locked",void 0),Aw([ke({type:Boolean})],ZN.prototype,"noPadding",void 0),Aw([ke({type:Boolean})],ZN.prototype,"small",void 0),Aw([ke({type:Boolean})],ZN.prototype,"date",void 0),Aw([ke({type:Boolean,reflect:!0})],ZN.prototype,"noHover",void 0),Aw([ke({type:Boolean,reflect:!0})],ZN.prototype,"checkable",void 0),Aw([ke({type:Boolean,reflect:!0})],ZN.prototype,"checked",void 0),Aw([ke({type:Boolean,reflect:!0})],ZN.prototype,"disabledCheckbox",void 0),Aw([ke({type:String,reflect:!0})],ZN.prototype,"statusColor",void 0),Aw([ke({type:Boolean,reflect:!0})],ZN.prototype,"statusBackground",void 0),ZN=Aw([be("sdb-content-listitem")],ZN);let QN=class extends ve{constructor(){super(...arguments),this.headline="",this.opened=!1}render(){return Z`

            <section @click=${this._openModal}>
                <div>
                    <slot></slot>
                </div>
            </section>

            <div id="modal" ?opened=${this.opened}>
                <div class="overlay" @click="${this._openModal}"></div>
                <div class="modal-content">
                    <div class="modal-titlebar">
                        <div class="modal-title">${this.headline}</div>
                        <sdb-content-icon
                            size="20"
                            icon="fal fa-xmark"
                            @click=${this._openModal}></sdb-content-icon>
                    </div>
                    <div class="responsiveContent">
                        <slot name="content"></slot>
                    </div>
                </div>
            </div>
        `}_openModal(){this.opened?this.opened=!1:this.opened=!0}};QN.styles=[cA,u`

            :host{
                z-index:10;
                width: 100%;
                height: 100%;
            }

            :host section{
                width:100%;
                height:100%;
                display:block;
            }

            :host section div{
                width:100%;
                height:100%;
                display:flex;
                place-items:center;
                justify-content:center;
            }

            div#modal {
                display: none;
                position: fixed;
                z-index: 11;
                padding-top: 100px;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
            }

            div#modal div.overlay {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgb(0, 0, 0); /* Fallback color */
                background-color: rgba(0, 0, 0, 0.5); /* Black w/ opacity */
                z-index: 12;
            }

            div#modal[opened] {
                display: block;
            }

            div#modal div.modal-content {
                position: relative;
                background-color: var(--body);
                margin: auto;
                padding: 15px 20px 20px;
                width: 80vw;
                height: auto;
                max-height:80vh;
                z-index: 13;
                border-top-right-radius: 20px;
                border-bottom-right-radius: 20px;
                border-bottom-left-radius: 20px;
                cursor: default;
            }

            div.responsiveContent {
                position: relative;
                height: auto;
            }

            div.modal-titlebar {
                position: relative;
                display: block;
                height: 35px;
                line-height: 20px;
                width: 100%;
                color: var(--text-primary);
                font-size: 1.1em;
            }

            div.modal-titlebar sdb-content-icon {
                position: absolute;
                top: 0px;
                right: 0px;
                transition: scale 0.1s ease-in-out;
                cursor: pointer;
                -webkit-transform: rotateZ(360deg);
            }

            div.modal-titlebar sdb-content-icon:hover {
                transform: scale(1.05);
            }
        `],Aw([ke({type:String})],QN.prototype,"headline",void 0),Aw([ke({type:Boolean})],QN.prototype,"opened",void 0),QN=Aw([be("sdb-content-modalbox")],QN);let XN=class extends ve{render(){return Z`
      <slot name="1" class="contentOptionsIcon"></slot>
      <slot name="2" class="contentOptionsIcon"></slot>
      <slot name="3" class="contentOptionsIcon"></slot>
      <slot name="4" class="contentOptionsIcon"></slot>
    `}};XN.styles=[cA,u`
    :host {
      display:grid;
      grid-auto-columns:fit-content;
      grid-auto-flow:column;
      justify-items:right;
    }

    :host .contentOptionsIcon{
      justify-content:center;
      align-content:center;
    }

    /* -------------------------------
    MOBILE LAYOUT = SAME AS LAYOUT-100
    ---------------------------------- */

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        display:block;
        text-align:right;
        padding:0;
      }
    }

  `],XN=Aw([be("sdb-content-options")],XN);let eR=class extends ve{constructor(){super(...arguments),this.secondary=!1,this.tertiary=!1,this.progress=0,this.showpercentage=!1,this.percentageLabel=!1,this.lightbar=!1,this.nobar=!1,this.icon="",this.totalvalue=0,this.total="",this.smalltext=!1,this.darktext=!1,this.mobileLabel="",this.showEmptyBar=!1}render(){return Z`

      ${this.progress>0||this.totalvalue>0||this.showEmptyBar?Z`

        <!-- DEFAULT COLOR FOR 100% -->
        ${100==this.progress?Z`<style>.progress{background-color:var(--progress-100) !important;}</style>`:Z``}


        <!-- PROGRESSBAR DETAILS (OPTIONAL) -->

        <div id="progressDetails">
            ${this.icon?Z`<sdb-content-icon part="icon" size="20" .icon=${this.icon}></sdb-content-icon>`:Z``}
            ${null!==this.value&&void 0!==this.value?Z`<span part="value" class="value show">${this.value}</span>`:Z``}
            ${this.totalvalue?Z`<span part="total-value" class="totalvalue"> / ${this.totalvalue} <span class="totalValue">${this.total}</span></span>`:Z``}
        </div>

        <!-- LABEL ONLY SHOWN ON MOBILE -->

        ${this.mobileLabel?Z`<div id="mobileLabel"><span>${this.mobileLabel}</span></div></div>`:Z``}

        <!-- PROGRESSBAR -->

        <section id="progressbar" part="progressbar">
        ${0==this.progress&&this.showpercentage?Z`<div part="percentage" class="percentageIndicator" style="width:30px;left:calc(${Math.round(this.progress)}%);">${Math.round(this.progress)}%</div></div>`:Z``}
        ${this.progress>0&&this.progress<=14?Z`
        ${this.showpercentage?Z`<div part="percentage" class="percentageIndicator" style="width:30px;left:calc(${Math.round(this.progress)}% + 5px);">${Math.round(this.progress)}%</div></div>`:Z``}
        `:Z``}
        ${this.progress>14?Z`
        ${this.showpercentage?Z`<div part="percentage" class="percentageIndicator" style="width:calc(${Math.round(this.progress)}% - 5px);left:0;">${Math.round(this.progress)}%</div></div>`:Z``}
        `:Z``}
        ${0==this.progress?Z``:Z`<div part="progress" class="progress" style="width:${this.progress}%;"></div>`}

        </section>

        ${this.percentageLabel?Z`<div class="percentageLabel">${Math.round(this.progress)}%</div>`:Z``}

      `:Z``}

    `}};function tR(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var i=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),i&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function iR(e){return Math.min(1,Math.max(0,e))}function nR(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function rR(e){return e<=1?"".concat(100*Number(e),"%"):e}function sR(e){return 1===e.length?"0"+e:String(e)}function oR(e,t,i){e=tR(e,255),t=tR(t,255),i=tR(i,255);var n=Math.max(e,t,i),r=Math.min(e,t,i),s=0,o=0,a=(n+r)/2;if(n===r)o=0,s=0;else{var l=n-r;switch(o=a>.5?l/(2-n-r):l/(n+r),n){case e:s=(t-i)/l+(t<i?6:0);break;case t:s=(i-e)/l+2;break;case i:s=(e-t)/l+4}s/=6}return{h:s,s:o,l:a}}function aR(e,t,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?e+6*i*(t-e):i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}function lR(e,t,i){e=tR(e,255),t=tR(t,255),i=tR(i,255);var n=Math.max(e,t,i),r=Math.min(e,t,i),s=0,o=n,a=n-r,l=0===n?0:a/n;if(n===r)s=0;else{switch(n){case e:s=(t-i)/a+(t<i?6:0);break;case t:s=(i-e)/a+2;break;case i:s=(e-t)/a+4}s/=6}return{h:s,s:l,v:o}}function dR(e,t,i,n){var r=[sR(Math.round(e).toString(16)),sR(Math.round(t).toString(16)),sR(Math.round(i).toString(16))];return n&&r[0].startsWith(r[0].charAt(1))&&r[1].startsWith(r[1].charAt(1))&&r[2].startsWith(r[2].charAt(1))?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0):r.join("")}function cR(e){return Math.round(255*parseFloat(e)).toString(16)}function hR(e){return uR(e)/255}function uR(e){return parseInt(e,16)}eR.styles=[cA,u`

    :host {
      margin:10px 0;
      height:auto;
      min-width:100%;
      display: grid;
      grid-auto-rows:fit-content;
      grid-template-columns:1fr;
      grid-auto-flow:row;
      grid-template-areas:
      "details details"
      "label label"
      "progress percentage"
    }

    :host([lightbar]) #progressbar{
      background:RGBA(255,255,255,0.4);
    }

    :host([nobar]) #progressbar{
      background:transparent;
    }

    :host #progressbar div.percentageIndicator{
      color:var(--text-light);
    }

    :host([smallbar]) #progressbar div.percentageIndicator{
      font-size:0.5em;
    }

    :host([darktext]) #progressbar div.percentageIndicator{
      color:var(--text-dark);
    }

    :host([lightbar]) #progressbar div.percentageIndicator{
      color:var(--text-light);
    }

    :host([secondary]) #progressbar div.progress{
      background-color:var(--progress-secondary);
    }

    :host([tertiary]) #progressbar div.progress{
      background-color:var(--progress-tertiary);
    }

    section#progressbar {
      grid-area:progress;
      display:block;
      position:relative;
      width:100%;
      height:20px;
      line-height:18px;
      border-radius:25px;
      background:RGBA(0,0,0,0.2);
      margin:5px 0;
    }

    section#progressbar > div.progress{
      display: inline-block;
      height: 100%;
      min-width:15px;
      border-radius:20px;
      text-align:right;
      text-indent:10px;
      line-height:20px;
      color:white;
      direction: rtl;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: clip;
      background-color: var(--progress-primary);
    }

    .percentageLabel{
        grid-area:percentage;
        margin-left: 10px;
        font-weight:300;
        font-size:1em;
        color:var(--text-primary);
        line-height:28px;
    }

    :host([smallbar]){
      margin:0;
    }

    :host([smallbar]) .percentageLabel{
        height: 10px;
        line-height: 9px;
        border-radius: 10px;
    }

    :host([smallbar]) #progressbar{
      height:10px;
      line-height:9px;
      border-radius:10px;
      margin:0;
    }

    :host([smallbar]) #progressbar > div.progress{
      line-height:10px;
    }

    :host([smallBar]) #progressDetails > span{
        font-size:1em;
        font-weight:300;
        vertical-align:text-top;
        line-height:1;
        margin-bottom:4px;
    }


    #progressDetails{
      grid-area:details;
      display: inline-flex;
      align-items: baseline;
      width:100%;
      height:auto;
      padding-left: 3px;
    }

    #mobileLabel{
      display:none;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      #mobileLabel{
        grid-area:label;
        display:block;
        width:100%;
        height:25px;
      }

      #mobileLabel span{
        width:100%;
        display:block;
        margin-top:5px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size:0.9em;
        font-weight:300;
      }

      .totalValue{
        display:none;
      }
    }

    .percentageIndicator{
      display:block;
      position:absolute;
      overflow:hidden;
      text-align:right;
    }

    #progressDetails sdb-content-icon{
      margin-right:5px;
    }

    #progressDetails span{
        line-height:1;
        vertical-align:text-bottom;
      }

    #progressDetails span.value{
      font-size:1.8em;
      font-weight:500;
      margin-right:3px;
      display:none;
    }

    #progressDetails span.value.show{
        display:inline-flex;
    }

    :host([smalltext]) #progressDetails span{
        display:inline-flex;
        font-weight:300;
        font-size:1em;
        line-height:1;
        vertical-align:text-bottom;
    }

    #progressDetails span.totalvalue{
      font-size:1.2em;
      font-weight:300;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width:fit-content;
      max-width: 210px;
      display: inline-flex;
    }
  `],Aw([ke({type:Boolean})],eR.prototype,"secondary",void 0),Aw([ke({type:Boolean})],eR.prototype,"tertiary",void 0),Aw([ke({type:Number})],eR.prototype,"progress",void 0),Aw([ke({type:Boolean})],eR.prototype,"showpercentage",void 0),Aw([ke({type:Boolean})],eR.prototype,"percentageLabel",void 0),Aw([ke({type:Boolean})],eR.prototype,"lightbar",void 0),Aw([ke({type:Boolean})],eR.prototype,"nobar",void 0),Aw([ke({type:String})],eR.prototype,"icon",void 0),Aw([ke({type:Number})],eR.prototype,"value",void 0),Aw([ke({type:Number})],eR.prototype,"totalvalue",void 0),Aw([ke({type:String})],eR.prototype,"total",void 0),Aw([ke({type:Boolean})],eR.prototype,"smalltext",void 0),Aw([ke({type:Boolean})],eR.prototype,"darktext",void 0),Aw([ke({type:String})],eR.prototype,"mobileLabel",void 0),Aw([ke({type:Boolean})],eR.prototype,"showEmptyBar",void 0),eR=Aw([be("sdb-content-progressbar")],eR);var pR={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function gR(e){var t={r:0,g:0,b:0},i=1,n=null,r=null,s=null,o=!1,a=!1;return"string"==typeof e&&(e=function(e){if(e=e.trim().toLowerCase(),0===e.length)return!1;var t=!1;if(pR[e])e=pR[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var i=vR.rgb.exec(e);if(i)return{r:i[1],g:i[2],b:i[3]};if(i=vR.rgba.exec(e),i)return{r:i[1],g:i[2],b:i[3],a:i[4]};if(i=vR.hsl.exec(e),i)return{h:i[1],s:i[2],l:i[3]};if(i=vR.hsla.exec(e),i)return{h:i[1],s:i[2],l:i[3],a:i[4]};if(i=vR.hsv.exec(e),i)return{h:i[1],s:i[2],v:i[3]};if(i=vR.hsva.exec(e),i)return{h:i[1],s:i[2],v:i[3],a:i[4]};if(i=vR.hex8.exec(e),i)return{r:uR(i[1]),g:uR(i[2]),b:uR(i[3]),a:hR(i[4]),format:t?"name":"hex8"};if(i=vR.hex6.exec(e),i)return{r:uR(i[1]),g:uR(i[2]),b:uR(i[3]),format:t?"name":"hex"};if(i=vR.hex4.exec(e),i)return{r:uR(i[1]+i[1]),g:uR(i[2]+i[2]),b:uR(i[3]+i[3]),a:hR(i[4]+i[4]),format:t?"name":"hex8"};if(i=vR.hex3.exec(e),i)return{r:uR(i[1]+i[1]),g:uR(i[2]+i[2]),b:uR(i[3]+i[3]),format:t?"name":"hex"};return!1}(e)),"object"==typeof e&&(_R(e.r)&&_R(e.g)&&_R(e.b)?(t=function(e,t,i){return{r:255*tR(e,255),g:255*tR(t,255),b:255*tR(i,255)}}(e.r,e.g,e.b),o=!0,a="%"===String(e.r).substr(-1)?"prgb":"rgb"):_R(e.h)&&_R(e.s)&&_R(e.v)?(n=rR(e.s),r=rR(e.v),t=function(e,t,i){e=6*tR(e,360),t=tR(t,100),i=tR(i,100);var n=Math.floor(e),r=e-n,s=i*(1-t),o=i*(1-r*t),a=i*(1-(1-r)*t),l=n%6;return{r:255*[i,o,s,s,a,i][l],g:255*[a,i,i,o,s,s][l],b:255*[s,s,a,i,i,o][l]}}(e.h,n,r),o=!0,a="hsv"):_R(e.h)&&_R(e.s)&&_R(e.l)&&(n=rR(e.s),s=rR(e.l),t=function(e,t,i){var n,r,s;if(e=tR(e,360),t=tR(t,100),i=tR(i,100),0===t)r=i,s=i,n=i;else{var o=i<.5?i*(1+t):i+t-i*t,a=2*i-o;n=aR(a,o,e+1/3),r=aR(a,o,e),s=aR(a,o,e-1/3)}return{r:255*n,g:255*r,b:255*s}}(e.h,n,s),o=!0,a="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(i=e.a)),i=nR(i),{ok:o,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:i}}var mR="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),fR="[\\s|\\(]+(".concat(mR,")[,|\\s]+(").concat(mR,")[,|\\s]+(").concat(mR,")\\s*\\)?"),yR="[\\s|\\(]+(".concat(mR,")[,|\\s]+(").concat(mR,")[,|\\s]+(").concat(mR,")[,|\\s]+(").concat(mR,")\\s*\\)?"),vR={CSS_UNIT:new RegExp(mR),rgb:new RegExp("rgb"+fR),rgba:new RegExp("rgba"+yR),hsl:new RegExp("hsl"+fR),hsla:new RegExp("hsla"+yR),hsv:new RegExp("hsv"+fR),hsva:new RegExp("hsva"+yR),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function _R(e){return Boolean(vR.CSS_UNIT.exec(String(e)))}var bR=function(){function e(t,i){var n;if(void 0===t&&(t=""),void 0===i&&(i={}),t instanceof e)return t;"number"==typeof t&&(t=function(e){return{r:e>>16,g:(65280&e)>>8,b:255&e}}(t)),this.originalInput=t;var r=gR(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(n=i.format)&&void 0!==n?n:r.format,this.gradientType=i.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,i=e.g/255,n=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=nR(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=lR(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=lR(this.r,this.g,this.b),t=Math.round(360*e.h),i=Math.round(100*e.s),n=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(i,"%, ").concat(n,"%)"):"hsva(".concat(t,", ").concat(i,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=oR(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=oR(this.r,this.g,this.b),t=Math.round(360*e.h),i=Math.round(100*e.s),n=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(i,"%, ").concat(n,"%)"):"hsla(".concat(t,", ").concat(i,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),dR(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),function(e,t,i,n,r){var s=[sR(Math.round(e).toString(16)),sR(Math.round(t).toString(16)),sR(Math.round(i).toString(16)),sR(cR(n))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(i,")"):"rgba(".concat(e,", ").concat(t,", ").concat(i,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*tR(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*tR(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+dR(this.r,this.g,this.b,!1),t=0,i=Object.entries(pR);t<i.length;t++){var n=i[t],r=n[0];if(e===n[1])return r}return!1},e.prototype.toString=function(e){var t=Boolean(e);e=null!=e?e:this.format;var i=!1,n=this.a<1&&this.a>=0;return t||!n||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(i=this.toRgbString()),"prgb"===e&&(i=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(i=this.toHexString()),"hex3"===e&&(i=this.toHexString(!0)),"hex4"===e&&(i=this.toHex8String(!0)),"hex8"===e&&(i=this.toHex8String()),"name"===e&&(i=this.toName()),"hsl"===e&&(i=this.toHslString()),"hsv"===e&&(i=this.toHsvString()),i||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.l+=t/100,i.l=iR(i.l),new e(i)},e.prototype.brighten=function(t){void 0===t&&(t=10);var i=this.toRgb();return i.r=Math.max(0,Math.min(255,i.r-Math.round(-t/100*255))),i.g=Math.max(0,Math.min(255,i.g-Math.round(-t/100*255))),i.b=Math.max(0,Math.min(255,i.b-Math.round(-t/100*255))),new e(i)},e.prototype.darken=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.l-=t/100,i.l=iR(i.l),new e(i)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.s-=t/100,i.s=iR(i.s),new e(i)},e.prototype.saturate=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.s+=t/100,i.s=iR(i.s),new e(i)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var i=this.toHsl(),n=(i.h+t)%360;return i.h=n<0?360+n:n,new e(i)},e.prototype.mix=function(t,i){void 0===i&&(i=50);var n=this.toRgb(),r=new e(t).toRgb(),s=i/100;return new e({r:(r.r-n.r)*s+n.r,g:(r.g-n.g)*s+n.g,b:(r.b-n.b)*s+n.b,a:(r.a-n.a)*s+n.a})},e.prototype.analogous=function(t,i){void 0===t&&(t=6),void 0===i&&(i=30);var n=this.toHsl(),r=360/i,s=[this];for(n.h=(n.h-(r*t>>1)+720)%360;--t;)n.h=(n.h+r)%360,s.push(new e(n));return s},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var i=this.toHsv(),n=i.h,r=i.s,s=i.v,o=[],a=1/t;t--;)o.push(new e({h:n,s:r,v:s})),s=(s+a)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),i=t.h;return[this,new e({h:(i+72)%360,s:t.s,l:t.l}),new e({h:(i+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var i=this.toRgb(),n=new e(t).toRgb(),r=i.a+n.a*(1-i.a);return new e({r:(i.r*i.a+n.r*n.a*(1-i.a))/r,g:(i.g*i.a+n.g*n.a*(1-i.a))/r,b:(i.b*i.a+n.b*n.a*(1-i.a))/r,a:r})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var i=this.toHsl(),n=i.h,r=[this],s=360/t,o=1;o<t;o++)r.push(new e({h:(n+o*s)%360,s:i.s,l:i.l}));return r},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e}();function wR(e,t){return void 0===e&&(e=""),void 0===t&&(t={}),new bR(e,t)}let xR=class extends ve{constructor(){super(...arguments),this.img="",this.placeholder="",this.leftColor="--progress-primary",this.rightColor="--theme-tertiary",this.noHover=!1}_getColor(e){const t=wR(getComputedStyle(this).getPropertyValue(e)||e);return t.setAlpha(.7),t.toRgbString()}render(){return Z`
        <style>
            .column50L {
                background-color: ${this._getColor(this.leftColor)};
            }

            .column50R {
                background-color: ${this._getColor(this.rightColor)};
            }
        </style>

        <section id="topWrapper">
            <iron-image class="backgroundImage" sizing="cover" fade preload src="${this.img}" placeholder="${this.placeholder}">
            </iron-image>
            <div id="topContent">
                <div class="column50L">
                    <slot name="left"></slot>
                </div>
                <div class="column50R">
                    <slot name="right"></slot>
                </div>
            </div>
        </section>
        <section id="bottomWrapper">
            <slot name="bottom"></slot>
        </section>
    `}};xR.styles=[cA,u`

    :host {
        background:white;
        position:relative;
        height:100%;
        width:100%;
        color:var(--text-primary);
        display: grid;
        grid-template-columns:1fr;
        grid-template-rows:120px auto; /* rows will use full available height */
        grid-template-areas:
        "top"
        "bottom";
        transition: box-shadow .15s ease;
      }

      :host(:hover){
          box-shadow: 0px 4px 14px 1px rgba(0,0,0,0.25);
        }

      :host(:hover), :host(:hover) ::slotted(*){
          cursor:pointer;
        }

      :host(:hover) #bottomWrapper ::slotted(*){
          background:transparent;
      }


      :host([noHover]:hover){
          cursor:default;
          -webkit-box-shadow:none;
          box-shadow:none;
          transform:none;
      }

      :host([noHover]:hover) #bottomWrapper ::slotted(*){
          cursor:default;
      }

      section#topWrapper{
        grid-area:top;
        position:relative;
        display:block;
        width:100%;
        height:120px;
        background-color:var(--theme-primary);
        color:var(--text-light);
      }

      section#bottomWrapper{
        grid-area:bottom;
        display:flex;
        flex-flow: column wrap;
        justify-content:stretch;
        align-content:stretch;
        background:white;
        padding:0;
      }

      div#topContent{
          display:table;
          width:100%;
          height:100%;
          position:absolute;
      }

      .column50L, .column50R{
          display:table-cell;
          width:50%;
          text-align: center;
          vertical-align: middle;
          padding:10px 10px 10px 20px;

      }

      .backgroundImage{
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
        filter: grayscale(100%);
        display:block;
        width:100%;
        height:100%;
        position:absolute;
        top:0;
        left:0;
      }



  `],Aw([ke({type:String})],xR.prototype,"img",void 0),Aw([ke({type:String})],xR.prototype,"placeholder",void 0),Aw([ke({type:String})],xR.prototype,"leftColor",void 0),Aw([ke({type:String})],xR.prototype,"rightColor",void 0),Aw([ke({type:Boolean})],xR.prototype,"noHover",void 0),xR=Aw([be("sdb-content-progresscard")],xR);let kR=class extends ve{constructor(){super(...arguments),this.excerpt="",this.readMore="",this.readLess="",this.opened=!1}render(){return Z`
            <div>
                <div id="excerpt" part="excerpt" ?opened=${this.opened}>
                    ${this.excerpt} ...
                    <span id="readMoreBtn" @click="${this._readMoreLess}">
                        ${this.readMore}
                    </span>
                </div>
                <div id="fullText" part="fulltext" ?opened=${this.opened}>
                    <slot></slot>
                    <span id="readLessBtn" @click="${this._readMoreLess}">
                        &nbsp;${this.readLess}
                    </span>
                </div>
            </div>
        `}_readMoreLess(e){return this.opened?this.opened=!1:this.opened=!0,e.stopPropagation(),!1}};kR.styles=[cA,u`
            :host {
                position: relative;
                display: block;
            }

            :host([hidden]),
            [hidden] {
                display: none;
            }

            #excerpt {
                display: block;
            }

            #excerpt[opened] {
                display: none;
            }

            #fullText {
                display: none;
            }

            #fullText[opened] {
                display: block;
            }

            #readMoreBtn,
            #readLessBtn {
                display: inline-block;
                font-size: 0.8em;
                color: var(--theme-primary);
                cursor: pointer;
            }

            #readMoreBtn:hover,
            #readLessBtn:hover {
                font-style: italic;
            }
        `],Aw([ke({type:String})],kR.prototype,"excerpt",void 0),Aw([ke({type:String})],kR.prototype,"readMore",void 0),Aw([ke({type:String})],kR.prototype,"readLess",void 0),Aw([ke({type:Boolean,reflect:!0})],kR.prototype,"opened",void 0),kR=Aw([be("sdb-content-readmore")],kR);let SR=class extends ve{constructor(){super(...arguments),this.bg="",this.bgColor="",this.noPadding=!1}render(){return Z`
        <div class="backgroundImage" style="background-image:url('${this.bg}');"></div>
        <slot class="slot0"></slot>
        <section>
        <slot name="1" class="summaryItem"></slot>
        <slot name="2" class="summaryItem"></slot>
        <slot name="3" class="summaryItem"></slot>
        <slot name="4" class="summaryItem"></slot>
        </section>

        <div class="overlay" style="background:${this.bgColor};" part="overlay"></div>
    `}};SR.styles=[cA,u`
    :host {
      position:relative;
      padding:35px;
      display:grid;
    }

    @media only screen and (max-width: 767px) {
    /* For mobile phones: */
        :host{
            padding:15px;
        }
    }

    :host([nopadding]) {
        padding: 15px 0;
    }

    .backgroundImage {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
      filter: grayscale(100%);
      display:block;
      width:100%;
      height:100%;
      position:absolute;
      top:0;
      left:0;
    }

    .slot0::slotted(*){
        z-index:2;
    }

    .overlay{
      position:absolute;
      z-index:1;
      width:100%;
      height:100%;
      background:var(--theme-tertiary);
      opacity:0.9;
      top:0;
      left:0;
    }

    section{
      display: grid;
      grid-template-rows:auto;
      grid-auto-columns:fit-content;
      grid-auto-flow:column;
      justify-items:stretch;
      align-items:stretch;
      z-index:2;
      position:relative;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      section{
        grid-template-columns:1fr;
        grid-auto-flow:row;
      }
    }

    .summaryItem{
      justify-content:center;
      align-content:center;
    }

    .summaryItem:last-child{
      border:none;
    }

  `],Aw([ke({type:String})],SR.prototype,"bg",void 0),Aw([ke({type:String})],SR.prototype,"bgColor",void 0),Aw([ke({type:Boolean})],SR.prototype,"noPadding",void 0),SR=Aw([be("sdb-content-summary")],SR);let AR=class extends ve{constructor(){super(...arguments),this.headline="",this.icon="",this.darkText=!1}render(){return Z`

<!-- Listitem images yes/no -->
        ${this.icon?Z`
                <div class="summaryItemIconWrapper">
                    <div class="summaryItemIcon">
                        <sdb-content-icon size="20" .icon=${this.icon}></sdb-content-icon>
                    </div>
                </div>
            `:Z``}

        <div class="summaryItemContent">
            ${this.headline?Z`<div class="headline" part="headline">${this.headline}</div>`:Z``}
            <slot name="button" class="summaryItemButton"></slot>
            <div class="content" part="content"><slot></slot></div>
        </div>
    `}};AR.styles=[cA,u`
    :host{
      height:auto;
      padding:15px 40px 15px 15px;
      display: grid;
      grid-template-rows:1fr; /* rows will use full available height */
      grid-template-columns:auto 1fr; /* auto makes sure image column is not displayed if no image is used */
      border-right:1px solid rgba(255,255,255,0.5);
      grid-template-areas:
      "icon content"
    }

    :host(:last-of-type){
      border:none;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        border-right:none;
        border-bottom:1px solid rgba(255,255,255,0.5);
        padding:15px 0;
      }
    }

    .summaryItemIconWrapper{
      grid-area: icon;
      display:flex;
      justify-content:center;
      align-items:start;
    }

    .summaryItemIcon{
      width:25px;
      height:25px;
      margin:2px 15px 0 0;
      color:var(--text-light);
      background-size:contain;
      background-color:#F6F6F6; /* fallback if no image is set*/
      background:transparent;
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .summaryItemButton{
      position:absolute;
      display:block;
      top:0;
      right:0;
      width:25px !important;
      height:25px;
    }

    .headline{
        height:25px;
        padding-top:2px;
        font-weight:400;
    }

    .summaryItemContent{
      grid-area:content;
      display:flex;
      flex-direction:column;
      justify-content:flex-start; /* makes sure the content is left aligned */
      align-items:stretch; /* makes sure the items use the full available height of the row */
      color:var(--text-light);
      position:relative;
    }

    :host([darkText]) .summaryItemIcon{
      color:var(--text-dark);
    }

    :host([darkText]) .summaryItemContent{
      color:var(--text-dark);
    }

    .summaryItemContent > *{ /* makes sure all the optional items use the full width of the listitem content wrapper */
      width:100%;
    }

  `],Aw([ke({type:String})],AR.prototype,"headline",void 0),Aw([ke({type:String})],AR.prototype,"icon",void 0),Aw([ke({type:Boolean})],AR.prototype,"darkText",void 0),AR=Aw([be("sdb-content-summaryitem")],AR);let ER=class extends ve{constructor(){super(...arguments),this.label="",this.disabled=!1,this.light=!1}render(){return Z`
      <button>${this.label}</button>
    `}};ER.styles=[cA,u`
    :host button{
      position: relative;
      display:inline-block;
      padding: 10px 15px;
      margin:5px;
      background:transparent;
      border:none;
      color:var(--text-primary);
      cursor:pointer;
      text-transform:uppercase;
      font: var(--font-default);
      transition: scale .1s ease-in-out;
      -webkit-transform: rotateZ(360deg);
    }

    :host([light]) button{
        color:var(--text-light, #ffffff);
    }

    :host([disabled]){
        pointer-events:none;
    }

    :host([disabled]) button {
      color:var(--element-disabled);
    }

    :host button:focus{
      outline:none !important;
    }

    :host button:hover{
      transform:scale(1.05);
    }

  `],Aw([ke({type:String})],ER.prototype,"label",void 0),Aw([ke({type:Boolean,reflect:!0})],ER.prototype,"disabled",void 0),Aw([ke({type:Boolean})],ER.prototype,"light",void 0),ER=Aw([be("sdb-content-textbutton")],ER);let CR=class extends ve{constructor(){super(...arguments),this.active=!1}render(){return Z`
     <div id="loader-container"><div id="loader"></div></div>
    `}};CR.styles=[cA,u`
    :host {
      display:none;
      position: fixed;
      width:100%;
      height:100%;
      left:0;
      top:0;
      background:RGBA(0,0,0,0.5);
      Z-index:999;
      -webkit-transform-style: preserve-3d;
      -moz-transform-style: preserve-3d;
      transform-style: preserve-3d;
      text-align:center;
    }

    :host([active]){
        display:block;
    }

    :host #loader-container{
        display:inline-block;
        width:300px;
        height:auto;
        position:relative;
        top: 50%;
        transform: translateY(-50%);
    }

    :host #loader{
        background-image: url(/images/hugo-loader.svg);
        background-size: cover;
        width:100%;
        height: 0;
        padding: 0; /* reset */
        padding-bottom: 100%;
    }
  `],Aw([ke({type:Boolean,reflect:!0})],CR.prototype,"active",void 0),CR=Aw([be("sdb-content-loader")],CR);const TR={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},IR=e=>(...t)=>({_$litDirective$:e,values:t});let DR=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};const PR="important",FR=" !"+PR,NR=IR(class extends DR{constructor(e){var t;if(super(e),e.type!==TR.ATTRIBUTE||"style"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,i)=>{const n=e[i];return null==n?t:t+`${i=i.includes("-")?i:i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${n};`}),"")}update(e,[t]){const{style:i}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?i.removeProperty(e):i[e]=null);for(const e in t){const n=t[e];if(null!=n){this.ft.add(e);const t="string"==typeof n&&n.endsWith(FR);e.includes("-")||t?i.setProperty(e,t?n.slice(0,-11):n,t?PR:""):i[e]=n}}return X}});let RR=class extends ve{constructor(){super(...arguments),this.containerHeight=0,this.slideIndex=0,this.navigateToNextSlide=()=>{this.navigateWithAnimation(1,HR,VR)},this.navigateToPrevSlide=()=>{this.navigateWithAnimation(-1,UR,$R)}}render(){const e={height:`${this.containerHeight}px`},t={height:`${this.containerHeight}px`,lineHeight:`${this.containerHeight}px`};return Z`
            <sdb-content-iconbutton
                style="${NR(t)}"
                icon="fal fa-chevron-left"
                @click=${this.navigateToPrevSlide}>
            </sdb-content-iconbutton>
            <div
                id="container"
                style="${NR(e)}"
            >
                <slot></slot>
            </div>
            <sdb-content-iconbutton
                style="${NR(t)}"
                icon="fal fa-chevron-right"
                @click=${this.navigateToNextSlide}>
            </sdb-content-iconbutton>
            `}async navigateWithAnimation(e,t,i){const n=this.slideElements[this.slideIndex],r=n.animate(t[0],t[1]);this.changeSlide(e);const s=this.slideElements[this.slideIndex];MR(s);const o=s.animate(i[0],i[1]);await Promise.all([r.finished,o.finished]),OR(n)}firstUpdated(){setTimeout((()=>{var e;this.containerHeight=(e=this.slideElements,Math.max(0,...e.map((e=>e.getBoundingClientRect().height))))})),this.initializeSlide()}initializeSlide(){for(let e=0;e<this.slideElements.length;e++)e===this.slideIndex?MR(this.slideElements[e]):OR(this.slideElements[e])}changeSlide(e){const t=this.slideElements.length;this.slideIndex=(t+(this.slideIndex+e)%t)%t}};function OR(e){e.classList.add("slide-hidden")}function MR(e){e.classList.remove("slide-hidden")}RR.styles=[cA,u`
            ::slotted(*) {
                position: absolute;
            }

            ::slotted(.slide-hidden) {
                display:none;
            }

            :host {
                display:flex;
                flex-direction: row;
                align-items: center;
            }

            #container{
                display:flex;
                align-items:center;
                justify-content:center;
                flex:1;
                margin:0 18px;
                overflow:hidden;
                position:relative;
            }

            sdb-content-iconbutton{
                cursor:pointer;
                -webkit-transform: rotateZ(360deg);
            }

            sdb-content-iconbutton:hover{
                transform:scale(1.05);
              }
        `],Aw([Se()],RR.prototype,"containerHeight",void 0),Aw([ke({type:Number})],RR.prototype,"slideIndex",void 0),Aw([Ce()],RR.prototype,"slideElements",void 0),RR=Aw([be("sdb-content-slider")],RR);const LR=[{transform:"translateX(0)"},{transform:"translateX(-100vw)"}],BR=[{transform:"translateX(0)"},{transform:"translateX(100vw)"}],zR={duration:500,easing:"ease-in-out",iterations:1},jR={...zR,direction:"reverse"},HR=[LR,zR],UR=[BR,zR],$R=[LR,jR],VR=[BR,jR];let WR=class extends ve{constructor(){super(...arguments),this.title="",this.content=""}render(){return Z`
        <p class="title">${this.title}</p>
        <p class="content">${this.content}</p>
        <div class="buttonBar">
            <slot name="buttons"></slot>
        </div>
`}};WR.styles=[cA,u`
  @charset "UTF-8";

  :host {
    width: calc(100% - 40px);
    padding: 15px 20px;
    position: relative;
    background:white;
    min-height:200px;
    max-height:250px;
  }
  p {
    color:var(--text-primary);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;

  }

  p.title{
    -webkit-line-clamp: 2;
    font-weight:400;
    min-height:20px;
    max-height:40px;
  }

  p.content{
    font-weight:300;
    max-height:65px;
    -webkit-line-clamp: 3;
  }

  div.buttonBar{
    display:block;
    position:relative;
    height:55px;
  }

  `],Aw([ke({type:String})],WR.prototype,"title",void 0),Aw([ke({type:String})],WR.prototype,"content",void 0),WR=Aw([be("sdb-content-slideritem")],WR);let GR=class extends ve{constructor(){super(...arguments),this.noMargin=!1}render(){return Z`
<slot class="column100"></slot>
    `}};GR.styles=[cA,u`
    :host {
      display: grid;
      width:100%;
      grid-template-columns:1fr;
      grid-template-rows:auto;
      place-items:start stretch;
      grid-auto-flow: row;
      margin:20px 0;
    }

    :host .column100{
      grid-column-start:1;
      grid-row-start:1;
      justify-self:stretch;
    }

    :host([noMargin]){
        margin: 0;
    }

  `],Aw([ke({type:Boolean})],GR.prototype,"noMargin",void 0),GR=Aw([be("sdb-layout-100")],GR);let qR=class extends ve{constructor(){super(...arguments),this.noPadding=!1,this.noMargin=!1}render(){return Z`

<div class="column20L"><slot name="left"></slot></div>
  <div class="column80R"><slot name="right"></slot></div>

    `}};qR.styles=[cA,u`
    :host {
      display: grid;
      width:100%;
      grid-template-columns:2fr 8fr;
      grid-template-rows:auto;
      justify-self: center;
      justify-items: stretch;
      align-items: stretch;
      grid-auto-flow: row;
      gap:20px 40px;
      margin:20px 0;
      padding:0 15px;
    }

    :host .column20L{
      grid-column-start:1;
      grid-row-start:1;
      justify-self:stretch;
    }

    :host .column80R{
      grid-column:2;
      grid-row:1;
      justify-self:stretch;
    }

    :host([noPadding]){
        padding: 0;
    }

    :host([noMargin]){
        margin: 0;
    }

    /* -------------------------------
    MOBILE LAYOUT = SAME AS LAYOUT-100
    ---------------------------------- */

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        grid-template-columns:1fr;
      }

      :host .column80R{
        grid-column:1;
        grid-row:2;
        justify-self:stretch;
      }
    }

  `],Aw([ke({type:Boolean})],qR.prototype,"noPadding",void 0),Aw([ke({type:Boolean})],qR.prototype,"noMargin",void 0),qR=Aw([be("sdb-layout-20-80")],qR);let YR=class extends ve{constructor(){super(...arguments),this.noMargin=!1}render(){return Z`

  <div class="column50L"><slot name="left"></slot></div>
  <div class="column50R"><slot name="right"></slot></div>

    `}};YR.styles=[cA,u`
    :host {
      display: grid;
      width:100%;
      grid-template-columns:5fr 5fr;
      grid-template-rows:auto;
      place-items:start stretch;
      grid-auto-flow: row;
      gap:20px 40px;
      margin:20px 0;
    }

    .column50L, .column60R{
      position:relative;
    }

    :host .column50L{
      grid-column-start:1;
      grid-row-start:1;
      justify-self:stretch;
    }

    :host .column50R{
      grid-column:2;
      grid-row:1;
      justify-self:stretch;
    }

    :host([noMargin]){
        margin: 0;
    }

    /* -------------------------------
    MOBILE LAYOUT = SAME AS LAYOUT-100
    ---------------------------------- */

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        grid-template-columns:1fr;
      }

      :host .column50R{
        grid-column:1;
        grid-row:2;
        justify-self:stretch;
      }
    }

  `],Aw([ke({type:Boolean})],YR.prototype,"noMargin",void 0),YR=Aw([be("sdb-layout-50-50")],YR);let KR=class extends ve{constructor(){super(...arguments),this.noMargin=!1}render(){return Z`
  <div class="column60L"><slot name="left"></slot></div>
  <div class="column40R"><slot name="right"></slot></div>

    `}};KR.styles=[cA,u`
    :host {
      display: grid;
      width:100%;
      grid-template-columns:6fr 4fr;
      grid-template-rows:auto;
      place-items:start stretch;
      grid-auto-flow: row;
      gap:20px 40px;
      margin:20px 0;
    }
    .column60L, .column40R{
      position:relative;
    }

    :host .column60L{
      grid-column-start:1;
      grid-row-start:1;
      justify-self:stretch;
    }

    :host .column40R{
      grid-column:2;
      grid-row:1;
      justify-self:stretch;
    }

    :host([noMargin]){
        margin: 0;
    }

    /* -------------------------------
    MOBILE LAYOUT = SAME AS LAYOUT-100
    ---------------------------------- */

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        grid-template-columns:1fr;
      }

      :host .column40R{
        grid-column:1;
        grid-row:2;
        justify-self:stretch;
      }
    }

  `],Aw([ke({type:Boolean})],KR.prototype,"noMargin",void 0),KR=Aw([be("sdb-layout-60-40")],KR);let JR=class extends ve{constructor(){super(...arguments),this.noPadding=!1,this.noMargin=!1}render(){return Z`

<div class="column80L"><slot name="left"></slot></div>
  <div class="column20R"><slot name="right"></slot></div>

    `}};JR.styles=[cA,u`
    :host {
      display: grid;
      width:100%;
      grid-template-columns:8fr 2fr;
      grid-template-rows:auto;
      justify-self: center;
      justify-items: stretch;
      align-items: stretch;
      grid-auto-flow: row;
      gap:20px 40px;
      margin:20px 0;
      padding:0 15px;
    }

    :host .column80L{
      grid-column-start:1;
      grid-row-start:1;
      justify-self:stretch;
    }

    :host .column20R{
      grid-column:2;
      grid-row:1;
      justify-self:stretch;
      display:flex;
      justify-content:end;
      align-items:center;
    }

    :host([noPadding]){
        padding: 0;
    }

    :host([noMargin]){
        margin: 0;
    }

    /* -------------------------------
    MOBILE LAYOUT = SAME AS LAYOUT-100
    ---------------------------------- */

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        grid-template-columns:1fr;
      }

      :host .column20R{
        grid-column:1;
        grid-row:2;
        justify-self:stretch;
      }
    }

  `],Aw([ke({type:Boolean})],JR.prototype,"noPadding",void 0),Aw([ke({type:Boolean})],JR.prototype,"noMargin",void 0),JR=Aw([be("sdb-layout-80-20")],JR);let ZR=class extends ve{constructor(){super(...arguments),this.title="",this.count=1}render(){return Z`
            <div id="content">
                <div id="titleBar">
                    <div class="titleWrapper">
                        <span class="title" part="title">${this.title}</span>
                        <span>|</span>
                        <span class="count" part="count">${this.count}</span>
                    </div>
                    <div id="navigation">
                        <sdb-content-iconbutton
                            size="15"
                            icon="fal fa-chevron-left"
                            @click="${this._scrollPrev}"
                        ></sdb-content-iconbutton>
                        <sdb-content-iconbutton
                            size="15"
                            icon="fal fa-chevron-right"
                            @click="${this._scrollNext}"
                        ></sdb-content-iconbutton>
                    </div>
                </div>
                <div id="cardWrapper">
                    <div id="top"></div>
                    <slot></slot>
                    <div id="bottom"></div>
                </div>
            </div>
        `}_scrollPrev(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#cardWrapper");null==t||t.scrollBy({top:-350,behavior:"smooth"})}_scrollNext(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#cardWrapper");null==t||t.scrollBy({top:350,behavior:"smooth"})}};ZR.styles=[cA,u`

            :host{
                width: 100vw;
                margin-left: calc(-50vw + 50%);
                margin-right: calc(-50vw + 50%);
                display: block;
            }

            :host #content {

                position: relative;

                height: calc(175px + 1px + 30px + 40px); /* card + scrollbar + title + margin-bottom */
                margin: 0 auto;
                max-width: 1400px;
                width: calc(100% - 60px);
                padding: 0 30px;

                display: grid;
                grid-template-rows: 30px auto;
                grid-template-columns: 1fr;
                grid-column-gap: 15px;
                grid-template-areas:
                "titlebar"
                "cards";
            }

            ::-webkit-scrollbar {
                width: 1px;
                height: 1px;
            }

            ::-webkit-scrollbar-button {
                width: 1px;
                height: 1px;
            }

            :host #cardWrapper {
                grid-area:cards;
                position: absolute;
                top: 0px;
                left: 0px;
                display: grid;
                width: calc(248px);
                height: 93vw;
                max-height:1400px;
                margin: 0px;
                padding-top: 1px;
                overflow: hidden auto;
                transform: rotate(-90deg) translateY(-248px);
                transform-origin: right top;
            }

            @media (pointer: coarse) {
                :host #cardWrapper {
                    overflow-x: scroll; /* Must be 'scroll' not 'auto' */
                    -webkit-overflow-scrolling: touch;
                }
            }

            :host([light]) div#title > span {
                color: var(--text-light);
            }

            #titleBar {
                grid-area:titlebar;
                display: grid;
                grid-template-columns: 1fr 100px;
                grid-template-areas: 'title . nav';
                width: 93vw;
                max-width: 1400px;
                height: 30px;
            }

            .titleWrapper {
                display: block;
                grid-area: title;
                height: 30px;
                width: fit-content;
            }

            #titleBar > div.titleWrapper > span {
                display: inline-block;
                font-size: 1em;
                color: var(--text-primary);
                width: auto;
                padding: 0 5px;
            }

            #navigation {
                grid-area: nav;
                display:flex;
                padding:0 20px;
            }

            #navigation > sdb-content-iconbutton{
                margin:0 5px;
            }

            @media (max-width: 854px){

                #navigation{
                    justify-content:space-around;
                }

                #cardWrapper {
                    height: 90vw !important;
                }
            }

            @media (pointer: coarse) {
                #cardWrapper {
                    overflow-x: scroll; /* Must be 'scroll' not 'auto' */
                    -webkit-overflow-scrolling: touch;
                }
            }

        `],Aw([ke({type:String})],ZR.prototype,"title",void 0),Aw([ke({type:Number})],ZR.prototype,"count",void 0),ZR=Aw([be("sdb-layout-catalogrow")],ZR);let QR=class extends ve{constructor(){super(...arguments),this.title="",this.subtitle="",this.fontSize="",this.showLine=!1,this.columnStart="",this.columnEnd="",this.rowStart="",this.rowEnd=""}render(){return Z`

    <div id="gridTitle" style="
        grid-column-start:${this.columnStart};
        grid-column-end:${this.columnEnd};
        grid-row-start:${this.rowStart};
        grid-row-end:${this.rowEnd};
        font-size:${this.fontSize};">
        <span class="title" part="title">${this.title}</span>
        ${this.subtitle?Z`<span class="subtitle" part="subtitle">${this.subtitle}</span>`:Z``}
   </div>
     `}};QR.styles=[cA,u`

    :host {
      display:contents;
    }

    :host([light]) div#gridTitle > span{
        color:var(--text-light);
    }

    :host div#gridTitle{
        display:block;
        width:100%;
        min-height:25px;
        height:auto;
        line-height:1em;
        color:var(--text-primary);
        margin-top:30px;
    }

    :host([showLine]) div#gridTitle{
        border-top:1px solid rgba(0,0,0,0.1);
        padding-top:10px;
    }

    .title, .subtitle{
        display:block;
        width:auto;
    }

    .subtitle{
        font-size:.95em;
        font-weight:300;
        margin:5px 0;
    }

   `],Aw([ke({type:String})],QR.prototype,"title",void 0),Aw([ke({type:String})],QR.prototype,"subtitle",void 0),Aw([ke({type:String})],QR.prototype,"fontSize",void 0),Aw([ke({type:Boolean})],QR.prototype,"showLine",void 0),Aw([ke({type:String})],QR.prototype,"columnStart",void 0),Aw([ke({type:String})],QR.prototype,"columnEnd",void 0),Aw([ke({type:String})],QR.prototype,"rowStart",void 0),Aw([ke({type:String})],QR.prototype,"rowEnd",void 0),QR=Aw([be("sdb-layout-gridtitle")],QR);const XR=u`
:host {
  /* MAIN */
  --body: #F7F7F7;
  --theme-primary: var(--sdb-theme-primary, #00b1aa);
  --theme-primary-text: var(--sdb-theme-primary-text, #ffffff);
  --theme-secondary: var(--sdb-theme-secondary, #1e958c);
  --theme-tertiary: var(--sdb-theme-tertiary, #1f9bb4);
  /* PROGRESS BAR */
  --progress-primary:var(--sdb-progress-primary, #f49d10);
  --progress-secondary:var(--sdb-progress-secondary,#033850);
  --progress-tertiary:var(--sdb-progress-tertiary,#CC6666);
  --progress-100:var(--sdb-progress-100,#00b1aa);
  /* ELEMENT COLORS */
  --element-lightgrey: #eaeaea;
  --element-grey: #dddedf;
  --element-darkgrey: #cacaca;
  --element-disabled: #a0a0a0;
  /* TEXT */
  --text-primary: #023850;
  --text-light: #ffffff;
  --text-dark: #023850;
  --font-family: Source Sans Pro, sans-serif;
  --font-default: 400 16px Source Sans Pro, sans-serif;
  /* DIALOG */
  --warning-color: var(--sdb-warning-color, #face88);
  --warning-background: var(--sdb-warning-background, rgba(244, 157, 16, 0.07));
  --alert-color: var(--sdb-alert-color, #fa8b88);
  --alert-background: var(--sdb-alert-background, rgba(244, 23, 16, 0.07));
  --success-color: var(--sdb-success-color, #80d8d5);
  --success-background: var(--sdb-success-background, rgba(0, 177, 170, 0.07));
  --inprogress-color: var(--sdb-inprogress-color, #2196F3);
  --inprogress-background: var(--sdb-inprogress-background, rgba(33, 150, 243, 0.07));
  /* BUTTONS */
  --btn-primary: var(--sdb-button-primary, #f49d10);
  --btn-primary-hover: var(--sdb-button-primary-hover, #ed7422);
  --btn-primary-text: var(--sdb-button-primary-text, #ffffff);
  --btn-secondary: var(--sdb-button-secondary, #023850);
  --btn-secondary-hover: var(--sdb-button-secondary, #013247);
  --btn-secondary-text: var(--sdb-button-secondary-text, #ffffff);
  --btn-disabled: #eee;
  /* CHIPS */
  --chip-warning-background-color: var(--sdb-chip-warning-background-color, #f49d10);
}
`;let eO=class extends ve{constructor(){super(...arguments),this.grid4=!1,this.title="",this.subtitle="",this.fontSize=""}render(){return Z`
      ${this.title||this.subtitle?Z`
        <div id="gridTitle" style="font-size:${this.fontSize};">
            ${this.title?Z`<span class="title" part="title">${this.title}</span>`:Z``}
            ${this.subtitle?Z`<span class="subtitle" part="subtitle">${this.subtitle}</span>`:Z``}
        </div>
        `:Z``}
      <div id="grid">
      <slot></slot>
      </div>
      `}};eO.styles=[XR,cA,u`
    :host div#grid{
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      grid-auto-rows:auto;
      grid-auto-flow:row;
      gap:25px 40px;
      margin: 20px 0px;
    }

    :host([grid4]) div#grid {
        grid-template-columns:repeat(4, 1fr);
    }

    @media (max-width: 1280px) { /* 3 columns on screens smaller then 1280px to overrule grid4 */
        :host([grid4]) div#grid { grid-template-columns: repeat(3, 1fr);}
      }

    @media (max-width: 1024px) { /* 2 columns on screens smaller then 1024px*/
      :host div#grid { grid-template-columns: repeat(2, 1fr);}
      :host([grid4]) div#grid { grid-template-columns: repeat(2, 1fr);}
    }

    @media (max-width: 767px) { /* 1 column (so full width) on screens smaller then 768ox */
      :host div#grid { grid-template-columns: 1fr; }
      :host([grid4]) div#grid { grid-template-columns: 1fr; }
    }

    :host([light]) div#gridTitle > span{
        color:var(--text-light);
    }

    div#gridTitle{
        display:block;
        width:100%;
        min-height:25px;
        height:auto;
        line-height:1em;
        color:var(--text-primary);
    }

    .title, .subtitle{
        color:var(--text-primary);
        display:block;
        width:auto;
    }

    .subtitle{
        font-size:.95em;
        font-weight:300;
        margin:5px 0;
    }

  `],Aw([ke({type:Boolean})],eO.prototype,"grid4",void 0),Aw([ke({type:String})],eO.prototype,"title",void 0),Aw([ke({type:String})],eO.prototype,"subtitle",void 0),Aw([ke({type:String})],eO.prototype,"fontSize",void 0),eO=Aw([be("sdb-layout-grid")],eO);let tO=class extends ve{render(){return Z`

<slot></slot>

     `}};tO.styles=[cA,u`

    :host {
      display:flex;
      align-self:stretch;
      position:relative;
    }

   `],tO=Aw([be("sdb-layout-griditem")],tO);let iO=class extends ve{constructor(){super(...arguments),this.verticalpadding=0}render(){return Z`
<slot></slot>
    `}firstUpdated(){this.style.setProperty("--verticalpadding",this.verticalpadding+"px")}};iO.styles=[cA,u`
    :host {
      display: grid;
      grid-template-columns:1fr;
      grid-auto-rows:fit-content;
      place-items:start stretch;
      grid-auto-flow: row;
      row-gap: var(--verticalpadding);
    }

  `],Aw([ke({type:Number})],iO.prototype,"verticalpadding",void 0),iO=Aw([be("sdb-layout-wrapper")],iO);let nO=class extends ve{constructor(){super(...arguments),this.size=""}render(){return Z`
    <div style="height:${this.size}px;"></div>
    `}};nO.styles=[cA,u`
    :host div {
      display:block;
      width:100%;
      height:1px;
      opacity:0;
    }

  `],Aw([ke({type:String})],nO.prototype,"size",void 0),nO=Aw([be("sdb-layout-filler")],nO);let rO=class extends ve{render(){return Z`
      <hr>
    `}};rO.styles=[cA,u`
    :host hr{
        border: 0;
        height: 1px;
        background: var(--element-lightgrey);
    }

    :host([light]) hr{
        border: 0;
        height: 1px;
        background: rgba(255,255,255,0.5);
    }

  `],rO=Aw([be("sdb-layout-divider")],rO);let sO=class extends ve{render(){return Z`

<slot></slot>
    `}};sO.styles=[cA,u`
    :host {
      display:block;
      max-width:1400px;
      width:calc(100% - 60px);
      padding:0 30px;
      margin:0 auto;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        padding:0 15px;
        width:calc(100% - 30px);
      }
    }

  `],sO=Aw([be("sdb-layout-main")],sO);let oO=class extends ve{constructor(){super(...arguments),this.logo="",this.opened=!1}render(){return Z`
            <section id="white" part="topbar"></section>
            <section id="primary" part="main">
                <svg viewBox="0 0 500 150" preserveAspectRatio="none">
                    <path
                        d="M0,100 C150,300 450,0 450,0 L500,00 L0,0 Z"
                        style="stroke: none;fill: var(--theme-secondary);"
                    ></path>
                </svg>
            </section>

            <section class="wrapper">
                <section class="appbar">
                    ${this.logo?Z`<img part="logo" src="${this.logo}" class="logo" />`:Z``}
                </section>
                <header class="header">
                    <input class="menu-btn" type="checkbox" id="menu-btn" @change=${this._checkChange} />
                    <label class="menu-icon" for="menu-btn">
                        <span class="navicon"></span>
                    </label>
                    <ul class="menu">
                        <div class="search"><slot name="search"></slot></div>
                        <slot class="usermenu" name="usermenu"></slot>
                        <slot class="menuItems" ?opened=${this.opened}></slot>
                    </ul>
                </header>
            </section>
        `}_checkChange(e){this.opened=e.target.checked}};oO.styles=[cA,u`

/* -------------------------------------------
   ALL STYLING BELOW IS MOBILE FIRST
------------------------------------------- */

:host {
  display: grid;
  grid-template-columns:1fr;
  grid-template-rows:70px;
  grid-template-areas:
  "appbar"
  "mainmenu";
  background: var(--theme-primary);
}

#white{
  grid-area:appbar;
  display:block;
  width:100%;
  height:70px;
  background:white;
  position:absolute;
}

#primary{
  display:none; /* entire main menu is hidden on mobile */
}

.search{
  display:none;
}


/* -------------------------------------------
   WRAPPER - USED TO KEEP ITEMS CENTERED
------------------------------------------- */

    section.wrapper {
      display: block;
      max-width:1400px;
      width:100%;
      height:70px;
      margin:0 auto;
      position:relative;
    }

/* -------------------------------------------
   APPBAR - WHITE, LOGO, USERMENU
------------------------------------------- */

    section.appbar {
      display: block;
      height: 70px;
      max-width: 1400px;
      margin: 0 auto;
      padding:0 15px;
    }

    section.appbar img /* logo */{
      margin-top: 15px;
      height: 40px;
      float: left;
      object-fit: contain;
      object-position: 0;
      width: 150px;
    }

/* -------------------------------------------
   MAINMENU - HEADER, BUTTON, ITEMS
------------------------------------------- */

    .header {
      width: 100%;
      height: 0;
    }

    .header .menu {
      clear: both;
      height: 0;
      transition: height 0.3s ease-out;
      line-height: 50px;
      width:auto;
      margin: 0;
      padding: 0;
      list-style: none;
      overflow: hidden;
      background:var(--theme-primary) /* only used on mobile, transparent on desktop */;
    }

    .header .menu-icon /* hamburger menu icon */{
      cursor: pointer;
      display: block;
      position:absolute;
      top:10px;
      right:0;
      padding: 24px 20px;
      user-select: none;
      z-index:11;
    }

    .header .menu-icon .navicon /* hamburger menu icon part */{
      background: #023850;
      display: block;
      height: 2px;
      transition: background 0.2s ease-out;
      width: 24px;
      position:relative;
    }

    .header .menu-icon .navicon:before,
    .header .menu-icon .navicon:after {
      background: #023850;
      content: '';
      display: block;
      height: 100%;
      position: absolute;
      transition: rotate 0.2s ease-out;
      width: 100%;
    }

    .header .menu-icon .navicon:before {
      top: 7px;
    }

    .header .menu-icon .navicon:after {
      top: -7px;
    }

    .header .menu-btn /* hidden checkbox for hamburger menu icon */ {
      display: none;
    }

    .header .menu-btn:checked ~ .menu /* displays menu items if hamburger menu is clicked */ {
      height: 100vh;
    }

    .usermenu {
      display:block;
      background: white;
    width: 100%;
    background:white;
    }

    .header .menu-btn:checked ~ .menu-icon .navicon {
      background: transparent;
    }

    .header .menu-btn:checked ~ .menu-icon .navicon:before {
      transform: rotate(-45deg);
    }

    .header .menu-btn:checked ~ .menu-icon .navicon:after {
      transform: rotate(45deg);
    }

    .header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
    .header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
      top: 0;
    }

/* -------------------------------------------
   ALL STYLING BELOW IS NON-MOBILE
------------------------------------------- */

    @media only screen and (min-width: 768px) {

      section.appbar img {
      left:0;
      width:auto;
      }

      .header {
        height: 70px;
        max-width: 1400px;
        margin: 0 auto;
      }

      .header .menu {
        line-height: 70px;
        height:70px;
        clear: none;
        max-height: none;
        box-shadow: none;
        padding:0 15px;
        background:transparent;
      }

      .menuItems{
        margin-top:0;
      }

      .header .menu-icon {
        display: none;
      }

      .usermenu{
        position:absolute;
        top:0;
        right:15px;
        display:block;
        width: auto;
        height: 70px;
        line-height: 70px;
      }

      #primary{
        grid-area:mainmenu;
        display:inline-block;
        width:100%;
        height:70px;
        background:var(--theme-primary);
        vertical-align: middle;
        overflow: hidden;
        contain: content;
      }

      svg{
        display:inline-block;
        position:absolute;
        top:0;
        left:0;
        height: 100%;
        width: 100%;
        /* SR: needed to constrain the svg to the parent's box in Safari <= 14 */
        position:relative;
      }

      .search{
        display: flex;
        width: 70px;
        height: 70px;
        float: right;
        justify-content: center;
        align-items: center;
      }
    }
  `],Aw([ke({type:String})],oO.prototype,"logo",void 0),Aw([ke({type:Boolean,reflect:!0})],oO.prototype,"opened",void 0),oO=Aw([be("sdb-nav-mainmenu")],oO);let aO=class extends ve{constructor(){super(...arguments),this.link="",this.active=!1,this.icon="",this.label=""}render(){return Z`

${this.link&&this.link.length?Z`
            <li>
                <a href="${this.link}" part="menu-item">
                ${this.icon&&this.icon.length?Z`<sdb-content-icon size="24" .icon=${this.icon}></sdb-content-icon>`:Z``}

                    ${this.label}
                </a>
            </li>`:Z`
            <li>
                ${this.icon&&this.icon.length?Z`<sdb-content-icon size="24" .icon=${this.icon}></sdb-content-icon>`:Z``}

                    ${this.label}
            </li>`}
    `}};aO.styles=[cA,u`
    :host {
      display: inline-block;
      height: 20px;
      border-right: 1.5px solid var(--text-light);
      line-height: 20px;
      color:var(--text-primary);
    }

    :host a{
        text-decoration:none;
        color:var(--text-light);
    }

    :host(:first-of-type) li{
      padding-left:0;
    }

    :host(:last-of-type){
      border-right: none;
    }

    :host li {
      display: block;
      color: var(--text-light);
      text-align: center;
      padding: 0 20px;
      text-decoration: none;
      transition: scale .1s ease-in-out;
      -webkit-transform: rotateZ(360deg);
    }

    :host li sdb-content-icon {
      margin-right: 10px;
      display:inline-flex;
      vertical-align:middle;
      margin-top:-5px;
    }

    :host li:hover {
      transform:scale(1.05);
    }

    .active {
      font-weight: 700;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        display:block;
        border:none;
        height:auto;
      }

      :host li{
        line-height:70px;
      }

      :host(:first-of-type){
        margin-top:5px;
      }

      :host(:last-of-type){
        margin-bottom:40px;
      }

      :host(:last-of-type) li{
        border:none;
      }

      :host li{
        /*text-align:left;
        text-indent:5px;*/
        text-align:center;
        border-bottom: 1px solid RGBA(255,255,255,0.4);
      }
  }

  `],Aw([ke({type:String})],aO.prototype,"link",void 0),Aw([ke({type:Boolean})],aO.prototype,"active",void 0),Aw([ke({type:String})],aO.prototype,"icon",void 0),Aw([ke({type:String})],aO.prototype,"label",void 0),aO=Aw([be("sdb-nav-mainmenu-item")],aO),Vs({_template:fo`
    <style>
      :host {
        display: block;
        position: absolute;
        outline: none;
        z-index: 1002;
        -moz-user-select: none;
        -ms-user-select: none;
        -webkit-user-select: none;
        user-select: none;
        cursor: default;
      }

      #tooltip {
        display: block;
        outline: none;
        @apply --paper-font-common-base;
        font-size: 10px;
        line-height: 1;
        background-color: var(--paper-tooltip-background, #616161);
        color: var(--paper-tooltip-text-color, white);
        padding: 8px;
        border-radius: 2px;
        @apply --paper-tooltip;
      }

      @keyframes keyFrameScaleUp {
        0% {
          transform: scale(0.0);
        }
        100% {
          transform: scale(1.0);
        }
      }

      @keyframes keyFrameScaleDown {
        0% {
          transform: scale(1.0);
        }
        100% {
          transform: scale(0.0);
        }
      }

      @keyframes keyFrameFadeInOpacity {
        0% {
          opacity: 0;
        }
        100% {
          opacity: var(--paper-tooltip-opacity, 0.9);
        }
      }

      @keyframes keyFrameFadeOutOpacity {
        0% {
          opacity: var(--paper-tooltip-opacity, 0.9);
        }
        100% {
          opacity: 0;
        }
      }

      @keyframes keyFrameSlideDownIn {
        0% {
          transform: translateY(-2000px);
          opacity: 0;
        }
        10% {
          opacity: 0.2;
        }
        100% {
          transform: translateY(0);
          opacity: var(--paper-tooltip-opacity, 0.9);
        }
      }

      @keyframes keyFrameSlideDownOut {
        0% {
          transform: translateY(0);
          opacity: var(--paper-tooltip-opacity, 0.9);
        }
        10% {
          opacity: 0.2;
        }
        100% {
          transform: translateY(-2000px);
          opacity: 0;
        }
      }

      .fade-in-animation {
        opacity: 0;
        animation-delay: var(--paper-tooltip-delay-in, 500ms);
        animation-name: keyFrameFadeInOpacity;
        animation-iteration-count: 1;
        animation-timing-function: ease-in;
        animation-duration: var(--paper-tooltip-duration-in, 500ms);
        animation-fill-mode: forwards;
        @apply --paper-tooltip-animation;
      }

      .fade-out-animation {
        opacity: var(--paper-tooltip-opacity, 0.9);
        animation-delay: var(--paper-tooltip-delay-out, 0ms);
        animation-name: keyFrameFadeOutOpacity;
        animation-iteration-count: 1;
        animation-timing-function: ease-in;
        animation-duration: var(--paper-tooltip-duration-out, 500ms);
        animation-fill-mode: forwards;
        @apply --paper-tooltip-animation;
      }

      .scale-up-animation {
        transform: scale(0);
        opacity: var(--paper-tooltip-opacity, 0.9);
        animation-delay: var(--paper-tooltip-delay-in, 500ms);
        animation-name: keyFrameScaleUp;
        animation-iteration-count: 1;
        animation-timing-function: ease-in;
        animation-duration: var(--paper-tooltip-duration-in, 500ms);
        animation-fill-mode: forwards;
        @apply --paper-tooltip-animation;
      }

      .scale-down-animation {
        transform: scale(1);
        opacity: var(--paper-tooltip-opacity, 0.9);
        animation-delay: var(--paper-tooltip-delay-out, 500ms);
        animation-name: keyFrameScaleDown;
        animation-iteration-count: 1;
        animation-timing-function: ease-in;
        animation-duration: var(--paper-tooltip-duration-out, 500ms);
        animation-fill-mode: forwards;
        @apply --paper-tooltip-animation;
      }

      .slide-down-animation {
        transform: translateY(-2000px);
        opacity: 0;
        animation-delay: var(--paper-tooltip-delay-out, 500ms);
        animation-name: keyFrameSlideDownIn;
        animation-iteration-count: 1;
        animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
        animation-duration: var(--paper-tooltip-duration-out, 500ms);
        animation-fill-mode: forwards;
        @apply --paper-tooltip-animation;
      }

      .slide-down-animation-out {
        transform: translateY(0);
        opacity: var(--paper-tooltip-opacity, 0.9);
        animation-delay: var(--paper-tooltip-delay-out, 500ms);
        animation-name: keyFrameSlideDownOut;
        animation-iteration-count: 1;
        animation-timing-function: cubic-bezier(0.4, 0.0, 1, 1);
        animation-duration: var(--paper-tooltip-duration-out, 500ms);
        animation-fill-mode: forwards;
        @apply --paper-tooltip-animation;
      }

      .cancel-animation {
        animation-delay: -30s !important;
      }

      /* Thanks IE 10. */

      .hidden {
        display: none !important;
      }
    </style>

    <div id="tooltip" class="hidden">
      <slot></slot>
    </div>
`,is:"paper-tooltip",hostAttributes:{role:"tooltip",tabindex:-1},properties:{for:{type:String,observer:"_findTarget"},manualMode:{type:Boolean,value:!1,observer:"_manualModeChanged"},position:{type:String,value:"bottom"},fitToVisibleBounds:{type:Boolean,value:!1},offset:{type:Number,value:14},marginTop:{type:Number,value:14},animationDelay:{type:Number,value:500,observer:"_delayChange"},animationEntry:{type:String,value:""},animationExit:{type:String,value:""},animationConfig:{type:Object,value:function(){return{entry:[{name:"fade-in-animation",node:this,timing:{delay:0}}],exit:[{name:"fade-out-animation",node:this}]}}},_showing:{type:Boolean,value:!1}},listeners:{webkitAnimationEnd:"_onAnimationEnd"},get target(){var e=Es(this).parentNode,t=Es(this).getOwnerRoot();return this.for?Es(t).querySelector("#"+this.for):e.nodeType==Node.DOCUMENT_FRAGMENT_NODE?t.host:e},attached:function(){this._findTarget()},detached:function(){this.manualMode||this._removeListeners()},playAnimation:function(e){"entry"===e?this.show():"exit"===e&&this.hide()},cancelAnimation:function(){this.$.tooltip.classList.add("cancel-animation")},show:function(){if(!this._showing){if(""===Es(this).textContent.trim()){for(var e=!0,t=Es(this).getEffectiveChildNodes(),i=0;i<t.length;i++)if(""!==t[i].textContent.trim()){e=!1;break}if(e)return}this._showing=!0,this.$.tooltip.classList.remove("hidden"),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.updatePosition(),this._animationPlaying=!0,this.$.tooltip.classList.add(this._getAnimationType("entry"))}},hide:function(){if(this._showing){if(this._animationPlaying)return this._showing=!1,void this._cancelAnimation();this._onAnimationFinish(),this._showing=!1,this._animationPlaying=!0}},updatePosition:function(){if(this._target&&this.offsetParent){var e=this.offset;14!=this.marginTop&&14==this.offset&&(e=this.marginTop);var t,i,n=this.offsetParent.getBoundingClientRect(),r=this._target.getBoundingClientRect(),s=this.getBoundingClientRect(),o=(r.width-s.width)/2,a=(r.height-s.height)/2,l=r.left-n.left,d=r.top-n.top;switch(this.position){case"top":t=l+o,i=d-s.height-e;break;case"bottom":t=l+o,i=d+r.height+e;break;case"left":t=l-s.width-e,i=d+a;break;case"right":t=l+r.width+e,i=d+a}this.fitToVisibleBounds?(n.left+t+s.width>window.innerWidth?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,t)+"px",this.style.right="auto"),n.top+i+s.height>window.innerHeight?(this.style.bottom=n.height-d+e+"px",this.style.top="auto"):(this.style.top=Math.max(-n.top,i)+"px",this.style.bottom="auto")):(this.style.left=t+"px",this.style.top=i+"px")}},_addListeners:function(){this._target&&(this.listen(this._target,"mouseenter","show"),this.listen(this._target,"focus","show"),this.listen(this._target,"mouseleave","hide"),this.listen(this._target,"blur","hide"),this.listen(this._target,"tap","hide")),this.listen(this.$.tooltip,"animationend","_onAnimationEnd"),this.listen(this,"mouseenter","hide")},_findTarget:function(){this.manualMode||this._removeListeners(),this._target=this.target,this.manualMode||this._addListeners()},_delayChange:function(e){500!==e&&this.updateStyles({"--paper-tooltip-delay-in":e+"ms"})},_manualModeChanged:function(){this.manualMode?this._removeListeners():this._addListeners()},_cancelAnimation:function(){this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add("hidden")},_onAnimationFinish:function(){this._showing&&(this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add(this._getAnimationType("exit")))},_onAnimationEnd:function(){this._animationPlaying=!1,this._showing||(this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.add("hidden"))},_getAnimationType:function(e){if("entry"===e&&""!==this.animationEntry)return this.animationEntry;if("exit"===e&&""!==this.animationExit)return this.animationExit;if(this.animationConfig[e]&&"string"==typeof this.animationConfig[e][0].name){if(this.animationConfig[e][0].timing&&this.animationConfig[e][0].timing.delay&&0!==this.animationConfig[e][0].timing.delay){var t=this.animationConfig[e][0].timing.delay;"entry"===e?this.updateStyles({"--paper-tooltip-delay-in":t+"ms"}):"exit"===e&&this.updateStyles({"--paper-tooltip-delay-out":t+"ms"})}return this.animationConfig[e][0].name}},_removeListeners:function(){this._target&&(this.unlisten(this._target,"mouseenter","show"),this.unlisten(this._target,"focus","show"),this.unlisten(this._target,"mouseleave","hide"),this.unlisten(this._target,"blur","hide"),this.unlisten(this._target,"tap","hide")),this.unlisten(this.$.tooltip,"animationend","_onAnimationEnd"),this.unlisten(this,"mouseenter","hide")}});let lO=class extends ve{constructor(){super(...arguments),this.username="",this.opened=!1,this.tooltipPosition="bottom"}render(){return Z`
            <span class="username"><slot name="username"></slot></span>
            <slot name="1" class="contentOptionsIcon"></slot>
            <slot name="2" class="contentOptionsIcon"></slot>
            <slot name="3" class="contentOptionsIcon"></slot>
            <slot name="4" class="contentOptionsIcon"></slot>
            <sdb-content-iconbutton
                part="profile-button"
                id="profileBtn"
                icon="fal fa-user"
                @click=${()=>this.toggleMenu()}
            ></sdb-content-iconbutton>
            ${this.tooltipText?Z`
                <paper-tooltip
                    for="profileBtn"
                    position="${this.tooltipPosition}"
                    animation-delay="0">
                    ${this.tooltipText}
                </paper-tooltip>
            `:Z``}
            <slot name="6" class="contentOptionsIcon"></slot>

            <div id="profileMenu" ?opened=${this.opened}>
                <div class="overlay" @click="${()=>this.toggleMenu()}"></div>
                <div id="profileMenuContent">
                    <slot name="content"></slot>
                </div>
                <div id="closeBtn">
                    <sdb-content-icon
                        part="close-button"
                        size="18"
                        icon="fal fa-chevron-up"
                        @click=${()=>this.toggleMenu()}>
                    </sdb-content-icon>
                </div>
            </div>
        `}toggleMenu(){this.opened?this.opened=!1:this.opened=!0}};lO.styles=[cA,u`
            :host {
                display: grid;
                grid-auto-columns: fit-content;
                grid-auto-flow: column;
                justify-items: right;
                grid-column-gap: 10px;
            }

            :host .contentOptionsIcon {
                justify-content: center;
                align-content: center;
            }

            :host .username {
                display: inline-block;
                width: fit-content;
                color: var(--text-primary);
                font-weight: 600;
                text-transform: uppercase;
                padding-right: 10px;
            }

            .overlay{
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background:transparent;
                z-index: 2;
            }

            :host #profileMenu{
                display:none;
                min-width:200px;
                max-width:300px;
                height:auto;
                position:absolute;
                box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
                border-bottom:3px solid var(--theme-primary);
                line-height:normal !important;
                background:white;
                z-index: 1;
            }

            #profileMenu[opened]{
                display:block;
            }

            #profileMenuContent{
                position: relative;
                display:block;
                width:calc(100% - 60px);
                height:calc(100% - 60px);
                background:white;
                z-index:3;
                padding:30px;
                margin-bottom:15px;
            }

            #closeBtn{
                position: absolute;
                bottom: 3px;
                width: 100%;
                display: flex;
                height: 20px;
                left: 0px;
                justify-content: center;
                color:var(--theme-primary);
                z-index:3;
            }

            /* -------------------------------
    MOBILE LAYOUT = SAME AS LAYOUT-100
    ---------------------------------- */

            @media only screen and (max-width: 767px) {
                /* For mobile phones: */
                :host {
                    display: grid;
                    position:absolute;
                    top:0;
                    right:65px;
                    padding-top:10px;
                }

                :host .contentOptionsIcon{
                    display:none;
                }

                :host .username {
                    display: none;
                }
            }
        `],Aw([ke({type:String})],lO.prototype,"username",void 0),Aw([ke({type:Boolean})],lO.prototype,"opened",void 0),Aw([ke({type:String})],lO.prototype,"tooltipText",void 0),Aw([ke({type:String})],lO.prototype,"tooltipPosition",void 0),lO=Aw([be("sdb-nav-usermenu")],lO);let dO=class extends ve{constructor(){super(...arguments),this.selected="",this.attrForSelected=""}render(){return Z`<slot @slotchange=${this.updateActiveMenuItem}></slot>`}updated(e){e.has("selected")&&this.updateActiveMenuItem()}updateActiveMenuItem(){for(const e of this._defaultSlotNodes){e.getAttribute(this.attrForSelected)===this.selected?e.setAttribute("active",""):e.removeAttribute("active")}}};dO.styles=[cA,u`
  :host {
    display: flex;
    width:fit-content;
    max-width:1400px;
    grid-gap:15px;
    justify-items:start;
    flex-flow:row wrap;
  }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        grid-auto-columns:1fr;
        grid-auto-flow:row;
        width:100%;
      }

  `],Aw([Ce({flatten:!0,selector:"sdb-nav-submenu-item"})],dO.prototype,"_defaultSlotNodes",void 0),Aw([ke({type:String})],dO.prototype,"selected",void 0),Aw([ke({type:String})],dO.prototype,"attrForSelected",void 0),dO=Aw([be("sdb-nav-submenu")],dO);let cO=class extends ve{constructor(){super(...arguments),this.link="",this.active=!1,this.icon="",this.label=""}render(){return Z`

        ${this.link&&this.link.length?Z`
            <div>
                <a href="${this.link}">
                ${this.icon&&this.icon.length?Z`<sdb-content-icon size="20" .icon=${this.icon}></sdb-content-icon>`:Z``} ${this.label}
                </a>
            <div>`:Z`
            <div>
                ${this.icon&&this.icon.length?Z`<sdb-content-icon size="20" .icon=${this.icon}></sdb-content-icon>`:Z``} ${this.label}
             </div>`}


      `}};cO.styles=[cA,u`

    :host div {
      display: block;
      width:fit-content;
      height:40px;
      padding-right:30px;
      line-height:40px;
      color: var(--text-primary);
      text-align: left;
      text-decoration: none;
      background:var(--element-lightgrey);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      cursor:pointer;
    }

    :host a{
        text-decoration:none;
        display:block;
        color:var(--text-primary);
    }

    :host([active]) div a{
        color:var(--text-light);
    }



    @media only screen and (max-width: 767px) {
      /* For mobile phones: */

      :host{
        display:flex;
        justify-self:stretch;
      }

      :host div{
        width:100%;
      }

    }

    :host div sdb-content-icon {
      margin-left:15px;
      margin-right: 10px;
      display:inline-flex;
      vertical-align:middle;
      margin-top:-5px;
      color:var(--theme-primary);
    }

    :host div:hover{
      background:var(--element-grey);
    }

    :host([active]) div, :host([active]) div:hover{
      background:var(--theme-primary);
      color:var(--text-light);
    }

    :host([active]) div sdb-content-icon{
      color:var(--text-light);
    }

  `],Aw([ke({type:String})],cO.prototype,"link",void 0),Aw([ke({type:Boolean})],cO.prototype,"active",void 0),Aw([ke({type:String})],cO.prototype,"icon",void 0),Aw([ke({type:String})],cO.prototype,"label",void 0),cO=Aw([be("sdb-nav-submenu-item")],cO);let hO=class extends ve{constructor(){super(...arguments),this.default=!1,this.alert=!1,this.success=!1,this.info=!1,this.error=!1}render(){return Z`

${this.default?Z`<img src="../img/hugo-default.svg" alt="HuGo">`:Z``}
${this.alert?Z`<img src="../img/hugo-alert.svg" alt="HuGo">`:Z``}
${this.success?Z`<img src="../img/hugo-success.svg" alt="HuGo">`:Z``}
${this.info?Z`<img src="../img/hugo-info.svg" alt="HuGo">`:Z``}
${this.error?Z`<img src="../img/hugo-error.svg" alt="HuGo">`:Z``}

    `}};hO.styles=[cA,u`
    :host img{

      height:56px;
      width:auto;
      padding:7px 0;
      cursor:pointer;
    }
  `],Aw([ke({type:Boolean})],hO.prototype,"default",void 0),Aw([ke({type:Boolean})],hO.prototype,"alert",void 0),Aw([ke({type:Boolean})],hO.prototype,"success",void 0),Aw([ke({type:Boolean})],hO.prototype,"info",void 0),Aw([ke({type:Boolean})],hO.prototype,"error",void 0),hO=Aw([be("sdb-nav-hugo")],hO);let uO=class extends ve{render(){return Z`

<div class="tabWrapper">
<ul id="tabUl"><slot></slot></ul>
</div>
    `}};uO.styles=[cA,u`
    :host {
      display: inline-flex;
      justify-content: flex-start;
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        width:auto;
      }
    }

    #tabUl{
      list-style-type: none;
      margin: 0;
      padding: 0;
      overflow: hidden;
      background: transparent;
      font-weight: 400;
      letter-spacing: 0.5px;
      width: auto;
      float: left;
    }
  `],uO=Aw([be("sdb-nav-tabmenu")],uO);let pO=class extends ve{constructor(){super(...arguments),this.link="",this.active=!1,this.label=""}render(){return Z`

        ${this.link&&this.link.length?Z`<li><a href="${this.link}"> ${this.label}</a></li>`:Z`<li>${this.label}</li>`}



    `}};pO.styles=[cA,u`
    :host {
      display: inline-block;
      height: 20px;
      border-right: 1.5px solid var(--text-primary);
      line-height: 20px;
      margin:5px 0;
      color:var(--text-primary);
    }

    :host a{
        text-decoration:none;
        color:var(--text-primary);
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */

      :host{
        border-right:none;
        width:100%;
        border-bottom:1px solid rgba(0,0,0,0.1);
        height:30px;
      }

      :host li{
        text-align:left !important;
        height:30px;

      }

    }

    /*:host :first-of-type{
      padding-left:0;
    }*/

    :host(:last-child){
      border-right: none;
    }
    :host li {
      display: block;
      color: var(--text-primary);
      text-align: center;
      padding: 0 20px;
      text-decoration: none;
      transition:scale .1s ease-in-out;
      -webkit-transform: rotateZ(360deg);
    }

    :host li:hover {
      transform:scale(1.05);
    }

    :host([active]) li{
      font-weight: 700;
    }

  `],Aw([ke({type:String})],pO.prototype,"link",void 0),Aw([ke({type:Boolean})],pO.prototype,"active",void 0),Aw([ke()],pO.prototype,"label",void 0),pO=Aw([be("sdb-nav-tabmenu-item")],pO);let gO=class extends ve{constructor(){super(...arguments),this.headline=""}render(){return Z`

<div class="backButton" part="back-button"><slot name="backButton"></slot></div>
<div class="pageTitle" part="page-title">${this.headline?Z`${this.headline}`:Z``}<slot></slot></div>

    `}};gO.styles=[cA,u`
    :host {
      display: grid;
      grid-template-columns:auto 1fr;
      height:auto;
      color:var(--text-primary);
    }

    @media only screen and (max-width: 767px) {
      /* For mobile phones: */
      :host{
        width:auto;
        color:var(--text-primary);
      }
    }

    :host div.backButton{
      grid-column:1;
      justify-self:start;
      line-height:50px;
    }

    :host div.pageTitle{
      grid-column:2;
      font-size:1.3em;
      font-weight:300;
      line-height:50px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

  `],Aw([ke({type:String})],gO.prototype,"headline",void 0),gO=Aw([be("sdb-nav-titlebar")],gO);let mO=class extends ve{render(){return Z`

        <slot name="1"></slot>
        <slot name="2"></slot>
        <slot name="3"></slot>
        <slot name="4"></slot>
     `}};mO.styles=[cA,u`

 :host{
       display: grid;
       grid-auto-columns:1fr;
       grid-auto-flow:column;
       justify-items:stretch;
       align-items:stretch;
       position:relative;
       padding: 30px var(--sdb-accordionheading-padding-right) 30px var(--sdb-accordionheading-padding-left);
       gap: 0px 15px;
 }

 :host ::after{
   content:"";
     position: absolute;
     bottom: 0;
     left: var(--sdb-accordionheading-after-left);
     right: 0;
     height: 1px;
     border-top: 1px solid var(--element-lightgrey);
     width:calc(100% - var(--sdb-accordionheading-after-width));
 }
   `],mO=Aw([be("sdb-content-accordionheading")],mO);let fO=class extends ve{render(){return Z`

      <slot name="1"></slot>
      <slot name="2"></slot>
      <slot name="3"></slot>
      <slot name="4"></slot>
    `}};fO.styles=[cA,u`

    :host{
      display: grid;
      grid-auto-columns:1fr;
      grid-auto-flow:column;
      justify-items:stretch;
      align-items:stretch;
      position:relative;
      padding:30px 50px 30px 10px;
      gap: 0px 15px;
      border-bottom:1px solid var(--element-lightgrey);
    }

  `],fO=Aw([be("sdb-content-listheading")],fO);let yO=class extends ve{constructor(){super(...arguments),this.headline="",this.icon="",this.textDark=!1}render(){return Z`

<!-- Listitem images yes/no -->
      ${this.icon?Z`
        <div class="headingItemIconWrapper">
            <div class="headingItemIcon">
                <sdb-content-icon size="20" .icon=${this.icon}></sdb-content-icon>
            </div>
        </div>`:Z``}
        <div class="headingItemContent">
            <div class="headline" part="headline">${this.headline}</div> <!-- headline is mandatory, so always displayed -->
        </div>
    `}};yO.styles=[cA,u`

    :host{
      height:auto;
      display: grid;
      padding:0 15px;
      color:var(--text-primary);
      grid-template-rows:1fr; /* rows will use full available height */
      grid-template-columns:auto 1fr; /* auto makes sure image column is not displayed if no image is used */
      grid-template-areas:
      "icon content"
    }

    :host(:first-child){
      padding-left:0;
    }

    :host(:last-child){
      border:none;
    }

    .headingItemIconWrapper{
      grid-area: icon;
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .headingItemIcon{
      grid-template-areas:image;
      width:35px;
      height:25px;
      margin:2px 0 0 0;
      color:var(--text-light);
      background-size:contain;
      background-color:#F6F6F6; /* fallback if no image is set*/
      background:transparent;
      display:flex;
      justify-content:start;
      align-items:center;
    }

    .headline {
      font-size:14px;
    }

    .headingItemContent {
      grid-area:content;
      display:flex;
      flex-flow: row wrap;
      justify-content:flex-start; /* makes sure the content is left aligned */
      align-items:center; /* makes sure the items use the full available height of the row */
      color:var(--text-light);
    }

    :host(:first-of-type) .headingItemContent{
        padding-left:10px;
    }

    :host(:first-of-type) .headingItemIcon{
        padding-left:10px;
    }

    :host([textDark]) .headingItemIcon {
      color:var(--text-dark);
    }

    :host([textDark]) .headingItemContent {
      color:var(--text-dark);
    }

  `],Aw([ke({type:String})],yO.prototype,"headline",void 0),Aw([ke({type:String})],yO.prototype,"icon",void 0),Aw([ke({type:Boolean})],yO.prototype,"textDark",void 0),yO=Aw([be("sdb-content-headingitem")],yO);let vO=class extends ve{constructor(){super(...arguments),this.img="",this.placeholder="",this.icon="",this.size=20,this.url="",this.tenant="",this.composition="",this.headline="",this.context="",this.opened=!1}render(){return Z`

            ${this.img?Z`
                <iron-image sizing="cover" fade preload src="${this.img}" placeholder="${this.placeholder}" @click="${this._openModal}"></iron-image>
            `:Z``}

            ${this.icon?Z`
                <sdb-content-icon .size=${this.size} .icon=${this.icon} @click=${this._openModal}></sdb-content-icon>
            `:Z``}



            <div id="modal" ?opened=${this.opened}>
                <div class="overlay" @click="${this._openModal}"></div>
                <div class="modal-content">
                    <div class="modal-titlebar">
                        <div class="modal-title">${this.headline}</div>
                        <sdb-content-icon
                            size="20"
                            icon="fal fa-xmark"
                            @click=${this._openModal}></sdb-content-icon>
                    </div>
                    <div class="responsive-iframe">
                        <iframe
                            src="
                                ${this.url}
                                ${this.tenant?Z`/${this.tenant}`:Z``}
                                ${this.composition?Z`/${this.composition}`:Z``}
                                ${this.context?Z`/${this.context}`:Z``}
                                "
                            frameborder="0"
                            allowfullscreen
                        >
                        </iframe>
                    </div>
                </div>
            </div>
        `}_openModal(){this.opened?this.opened=!1:this.opened=!0}};vO.styles=[cA,u`
            :host iron-image {
                width: 100%;
                height: 100%;
                border-radius: 50%;
                position: relative;
                display: block;
                margin: 5px;
                cursor: pointer;
                width: 75px;
                height: 75px;
            }

            :host iron-image:hover {
                -webkit-box-shadow: 0px 4px 14px 1px rgba(0, 0, 0, 0.25);
                box-shadow: 0px 4px 14px 1px rgba(0, 0, 0, 0.25);
            }

            div#modal {
                display: none;
                position: fixed;
                z-index: 1;
                padding-top: 100px;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
            }

            div#modal div.overlay {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgb(0, 0, 0); /* Fallback color */
                background-color: rgba(0, 0, 0, 0.5); /* Black w/ opacity */
                z-index: 2;
            }

            div#modal[opened] {
                display: block;
            }

            div#modal div.modal-content {
                position: relative;
                background-color: var(--body);
                margin: auto;
                padding: 15px 20px 20px;
                width: 80vw;
                height: auto;
                z-index: 3;
                border-top-right-radius: 20px;
                border-bottom-right-radius: 20px;
                border-bottom-left-radius: 20px;
            }

            div.responsive-iframe {
                position: relative;
                padding-bottom: 56.25%; /*16:9*/
                height: 0;
                overflow: hidden;
            }

            div.responsive-iframe iframe {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }

            div.modal-titlebar {
                position: relative;
                display: block;
                height: 35px;
                line-height: 20px;
                width: 100%;
                color: var(--text-primary);
                font-size: 1.1em;
            }

            div.modal-titlebar sdb-content-icon {
                position: absolute;
                top: 0px;
                right: 0px;
                transition: scale 0.1s ease-in-out;
                cursor: pointer;
                -webkit-transform: rotateZ(360deg);
            }

            sdb-content-icon:hover {
                transform: scale(1.05);
            }
        `],Aw([ke({type:String})],vO.prototype,"img",void 0),Aw([ke({type:String})],vO.prototype,"placeholder",void 0),Aw([ke({type:String})],vO.prototype,"icon",void 0),Aw([ke({type:Number})],vO.prototype,"size",void 0),Aw([ke({type:String})],vO.prototype,"url",void 0),Aw([ke({type:String})],vO.prototype,"tenant",void 0),Aw([ke({type:String})],vO.prototype,"composition",void 0),Aw([ke({type:String})],vO.prototype,"headline",void 0),Aw([ke({type:String})],vO.prototype,"context",void 0),Aw([ke({type:Boolean})],vO.prototype,"opened",void 0),vO=Aw([be("sdb-nav-assistant")],vO);let _O=class extends ve{constructor(){super(...arguments),this.url="",this.marginLeft="auto",this.headline="",this.opened=!1}render(){return Z`
            <div class="floatingCard">
            <slot @click="${this._openModal}"></slot>
            </div>

            <div id="modal" ?opened=${this.opened}>
                <div class="overlay" @click="${this._openModal}"></div>
                <div class="modal-content" style="margin-left:${this.marginLeft}px">
                    <div class="modal-titlebar">
                        <div class="modal-title">${this.headline}</div>
                        <sdb-content-icon
                            size="20"
                            icon="fal fa-xmark"
                            @click="${this._openModal}"></sdb-content-icon>
                    </div>
                    <div class="responsive-iframe">
                        <iframe id="iframe" src="${this.url}" frameborder="0" allowfullscreen></iframe>
                    </div>
                </div>
            </div>
        `}_openModal(){this.opened?(this.opened=!1,this._iframe.src=""):(this.opened=!0,this._iframe.src=this.url)}};_O.styles=[cA,u`
            :host .floatingCard {
                position: fixed;
                top: 50%;
                right: 0;
                transform: translate(0, -50%);
                z-index: 10;

                color: var(--text-light);
                background: var(--theme-primary);
                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12),
                    0 1px 2px rgba(0, 0, 0, 0.24);

                border-top-left-radius: 5px;
                border-bottom-left-radius: 5px;
                cursor:pointer;

                display: grid;
                place-items: center;
                place-content: center;
                text-align: center;
                grid-template-columns: fit-content;
                padding: 15px;
                row-gap: 15px;
                grid-auto-rows: auto;
            }

            div#modal {
                display: none;
                position: fixed;
                z-index: 10;
                padding-top: 100px;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
            }

            div#modal div.overlay {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background-color: rgb(0, 0, 0); /* Fallback color */
                background-color: rgba(0, 0, 0, 0.5); /* Black w/ opacity */
                z-index: 11;
            }

            div#modal[opened] {
                display: block;
            }

            div#modal div.modal-content {
                position: relative;
                background-color: var(--body);
                margin: auto;
                padding: 15px 20px 20px;
                width: 70vw;
                min-height:fit-content;
                height:80vh;
                z-index: 12;
                border-top-right-radius: 20px;
                border-bottom-right-radius: 20px;
                border-bottom-left-radius: 20px;
            }

            div.responsive-iframe {
                position: relative;
                /*padding-bottom: 56.25%; 16:9*/
                height: 100%;
                width:100%;
                overflow: hidden;
            }

            div.responsive-iframe iframe {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: calc(100% - 40px);
            }

            div.modal-titlebar {
                position: relative;
                display: block;
                height: 35px;
                line-height: 20px;
                width: 100%;
                color: var(--text-primary);
                font-size: 1.1em;
            }

            div.modal-titlebar sdb-content-icon {
                position: absolute;
                top: 0px;
                right: 0px;
                transition: scale 0.1s ease-in-out;
                cursor: pointer;
                -webkit-transform: rotateZ(360deg);
            }

            sdb-content-icon:hover {
                transform: scale(1.05);
            }

        `],Aw([ke({type:String})],_O.prototype,"url",void 0),Aw([ke({type:String})],_O.prototype,"marginLeft",void 0),Aw([ke({type:String})],_O.prototype,"headline",void 0),Aw([ke({type:Boolean})],_O.prototype,"opened",void 0),Aw([Ee("#iframe")],_O.prototype,"_iframe",void 0),_O=Aw([be("sdb-nav-floatingcard")],_O);let bO=class extends ve{render(){return Z`
      <div id="outer" class=${this._selector.slice(1)}>
        <sdb-content-iconbutton
            icon="fal fa-message-check"
            ?notify=${this._notify}></sdb-content-iconbutton>
      </div>
    `}firstUpdated(e){var t;super.firstUpdated(e);const i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#outer");window.announcekit.push({widget:this.widget,selector:i,badge:{style:{display:"none"}},labels:this.labels,data:this.data,user:this.user,name:this._name}),window.announcekit.on("init",(()=>{})),window.announcekit.on("widget-init",(e=>{})),window.announcekit.on("widget-ready",(e=>{})),window.announcekit.on("widget-open",(e=>{})),window.announcekit.on("widget-close",(e=>{})),window.announcekit.on("widget-resize",(e=>{})),window.announcekit.on("widget-unread",(e=>{this._notify=!!e.unread}))}constructor(){super(),this.badgeSize={width:10,height:10},this.badgePosition={top:-10,left:-5},this.data={},this._notify=!1,window.announcekit||(window.announcekit={queue:[],on(e,t){window.announcekit.queue.push([e,t])},push(e){window.announcekit.queue.push(e)}},setTimeout((()=>{const e=document.createElement("script");e.async=!0,e.defer=!0,e.src="https://cdn.announcekit.app/widget-v2.js";const t=document.getElementsByTagName("script")[0];t&&t.parentNode&&t.parentNode.insertBefore(e,t)}),1e3)),this._selector=`.ak-${Math.random().toString(36).substring(10)}`,this._name=`ak${Math.random().toString(36).substring(10)}`}};var wO,xO,kO,SO;let AO,EO,CO,TO,IO,DO,PO,FO;bO.styles=u`
    :host {
      display: var(--lit-announcekit-display, block);
      color: var(--lit-announcekit-text-color, #000);
    }

    sdb-content-iconbutton {
        --text-primary: var(--lit-announcekit-icon-color, --text-primary);
    }
  `,Aw([ke({type:String})],bO.prototype,"widget",void 0),Aw([ke({type:Object})],bO.prototype,"badgeSize",void 0),Aw([ke({type:Object})],bO.prototype,"badgePosition",void 0),Aw([ke({type:Object})],bO.prototype,"data",void 0),Aw([ke({type:Object})],bO.prototype,"user",void 0),Aw([ke({type:Array})],bO.prototype,"labels",void 0),Aw([ke({state:!0})],bO.prototype,"_selector",void 0),Aw([ke({state:!0})],bO.prototype,"_name",void 0),Aw([ke({state:!0,type:Boolean})],bO.prototype,"_notify",void 0),bO=Aw([be("lit-announcekit")],bO),CO=[be("aca-old-browser")],new(SO=r("A"),TO=Se(),PO="_showDialog",kO=class extends(wO=nk(ve)){constructor(...e){super(...e),Object.defineProperty(this,SO,{writable:!0,value:(AO(this),IO(this,!1))})}get[PO](){return s(this,SO)[SO]}set _showDialog(e){s(this,SO)[SO]=e}render(){return Z`
            <sdb-content-card ?hidden=${!this._showDialog}>
                <div class="card-content">
                    <div class="closeButton">
                        <sdb-content-icon
                            icon="fal fa-xmark"
                            class="cancel-icon"
                            @click=${e=>this.closeMessage(e)}
                        ></sdb-content-icon>
                    </div>
                    <div
                        class="tcg-H5-black"
                        style="padding-bottom: 10px;"
                    >
                        ${this.localize("unsupportedBrowserHeader")}
                    </div>
                    <div class="tcg-subtitle-2-black">
                        ${this.localize("unsupportedBrowserMessage")}
                    </div>
                    <div>
                        <div class="alignRow">
                            <div class="alignColumn">
                                <sdb-content-icon
                                    icon="brands fa-chrome"
                                    class="browser-icons"
                                ></sdb-content-icon>
                                <div class="tcg-subtitle-2-black">Google Chrome</div>
                            </div>
                            <div class="alignColumn">
                                <sdb-content-icon
                                    icon="brands fa-firefox"
                                    class="browser-icons"
                                ></sdb-content-icon>
                                <div class="tcg-subtitle-2-black">Firefox</div>
                            </div>
                            <div class="alignColumn">
                                <sdb-content-icon
                                    icon="brands fa-edge"
                                    class="browser-icons"
                                ></sdb-content-icon>
                                <div class="tcg-subtitle-2-black">Microsoft Edge</div>
                            </div>
                        </div>
                    </div>
                </div>
            </sdb-content-card>
        `}firstUpdated(){this._showDialog=this._checkBrowserIsIE11()}_checkBrowserIsIE11(){return!(!window.MSInputMethodContext||!document.documentMode||localStorage.hideUnsupportedBrowserDialog&&"false"!=localStorage.hideUnsupportedBrowserDialog)}_closeMessage(){"undefined"!=typeof Storage?localStorage.setItem("hideUnsupportedBrowserDialog",this._showDialog):console.log("No localStorage support.."),this.set("_showDialog",!this._showDialog)}},({e:[IO,AO],c:[FO,EO]}=e(kO,[[TO,1,"_showDialog"]],CO,0,void 0,wO)),DO=kO,(xO=class extends o{constructor(){super(FO),this.styles=[rk,u`
            sdb-content-card {
                max-width: 600px;
                margin: 24px;
                flex-grow: 0;
            }

            .browser-icons {
                height: 30px;
                width: 30px;
                opacity: 0.7;
                padding-bottom: 5px;
            }

            .cancel-icon {
                height: 24px;
                width: 24px;
                opacity: 0.7;
            }

            .alignRow {
                display: flex;
                flex-direction: row;
                margin-top: 20px;
            }

            .alignColumn {
                width: 100px;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
            }

            .closeButton {
                position: absolute;
                right: 5px;
                top: 5px;
                cursor: pointer;
            }
        `],EO()}})[DO]=void 0,xO);class NO extends(aw(ow)(vo)){static get is(){return"aca-signin-auto-redirect"}static get template(){return fo``}static get properties(){return{}}stateChanged(e){}connectedCallback(){super.connectedCallback(),ow.dispatch({type:"SIGNIN"})}}var RO,OO,MO,LO;let BO,zO,jO,HO,UO,$O,VO,WO;window.customElements.define(NO.is,NO),jO=[be("aca-signin-page")],new(LO=r("A"),HO=Se(),VO="_styleVars",MO=class extends(RO=aw(ow)(nk(ve))){constructor(...e){super(...e),Object.defineProperty(this,LO,{writable:!0,value:(BO(this),UO(this))})}get[VO](){return s(this,LO)[LO]}set _styleVars(e){s(this,LO)[LO]=e}render(){return Z`
            <aca-old-browser></aca-old-browser>

            ${this._skipPreLogonWelcomeWelcomeScreen?Z` <aca-signin-auto-redirect></aca-signin-auto-redirect> `:Z`
                      <sdb-content-card>
                          <div class="signin-container">
                              <div>
                                  <img
                                      class="logo"
                                      src="${this._welcomeLogoUrl}"
                                  />
                              </div>

                              <div class="text">
                                  <div class="title">${this._welcomeTitle}</div>
                                  <div id="welcomeText">${this._welcomeText}</div>
                              </div>
                              <div class="card-actions">
                                  ${this._accountCreationEnabled?Z`
                                            <sdb-content-button
                                                id="btnRegister"
                                                @click=${e=>this.__register(e)}
                                                .label=${this.localize("register")}
                                            ></sdb-content-button>
                                        `:Z``}
                                  <sdb-content-button
                                      id="btnNext"
                                      @click=${e=>this.__signIn(e)}
                                      .label=${this.localize("next")}
                                  ></sdb-content-button>
                              </div>
                          </div>
                      </sdb-content-card>
                  `}
        `}static get properties(){return{_settings:{type:Object},_paperButtonRaised:{type:Boolean,value:!1}}}static get observers(){return["_resourcesChanged(resources.*)"]}stateChanged(e){this._skipPreLogonWelcomeWelcomeScreen=e.minervaSettings.skipPreLogonWelcomeWelcomeScreen||!1,this._welcomeLogoUrl=e.minervaSettings.preLogonWelcomeLogoUrl||e.minervaSettings.customerLogoUrl||"/images/sdb-login.png",this._welcomeTitle=e.minervaSettings.preLogonWelcomeTitle||"SDB Leerplatform",this._welcomeText=e.minervaSettings.preLogonWelcomeText||this.localize("signInToUse"),this._accountCreationEnabled=e.minervaSettings.accountCreationEnabled,this._accountCreationUrl=e.minervaSettings.accountCreationUrl,this._settings=e.minervaSettings}connectedCallback(){super.connectedCallback(),this.useKeyIfMissing=!0}_resourcesChanged(){this._welcomeText||(this._welcomeText=this.localize("signInToUse"))}__signIn(){ow.dispatch({type:"SIGNIN"})}__register(){window.open(this._accountCreationUrl,"_blank")}},({e:[UO,BO],c:[WO,zO]}=e(MO,[[HO,1,"_styleVars"]],jO,0,void 0,RO)),$O=MO,(OO=class extends o{constructor(){super(WO),this.styles=[rk,u`
            :host {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;

                background-image: url('/images/login-background.png');
                background-size: cover;
            }

            .signin-container {
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .logo {
                max-width: 568px;
                width: 100%;
            }

            .text {
                margin: 0 20px;
            }

            .title {
                padding: 16px 0;
                font-size: 24px;
                font-weight: 400;
            }

            .card-actions {
                margin-top: 15px;
            }

            #welcomeText {
                white-space: pre-wrap;
            }

            @media (max-width: 600px) {
                .signin-container {
                    display: block;
                    text-align: center;
                }
            }

            sdb-content-card {
                border: none;
                box-sizing: border-box;
                position: relative;
                border-top-right-radius: 20px;
                border-bottom-right-radius: 20px;
                border-bottom-left-radius: 20px;
                max-width: 80%;
                background-color: rgba(255, 255, 255, 0.8);
                backdrop-filter: blur(2px);
            }
        `],zO()}})[$O]=void 0,OO);const GO=Vs({_template:fo`
    <style>
      :host {
        display: inline-block;
        position: fixed;
        clip: rect(0px,0px,0px,0px);
      }
    </style>
    <div aria-live$="[[mode]]">[[_text]]</div>
`,is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},timeout:{type:Number,value:150},_text:{type:String,value:""}},created:function(){GO.instance||(GO.instance=this),document.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async((function(){this._text=e}),this.timeout)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});let qO;GO.instance=null,GO.requestAvailability=function(){GO.instance||(GO.instance=document.createElement("iron-a11y-announcer")),document.body?document.body.appendChild(GO.instance):document.addEventListener("load",(function(){document.body.appendChild(GO.instance)}))};const YO={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},expandSizingTargetForScrollbars:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Es(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&this.positionTarget},get _isRTL(){return void 0===this._memoizedIsRTL&&(this._memoizedIsRTL="rtl"==window.getComputedStyle(this).direction),this._memoizedIsRTL},attached:function(){this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(!this.__shouldPosition)return;this._discoverInfo(),window.ShadyDOM&&window.ShadyDOM.flush(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),i=this.__getNormalizedRect(this.fitInto);let n,r,s,o;this.expandSizingTargetForScrollbars&&(n=this.sizingTarget.offsetWidth,r=this.sizingTarget.offsetHeight,s=this.sizingTarget.clientWidth,o=this.sizingTarget.clientHeight);var a=this._fitInfo.margin,l={width:e.width+a.left+a.right,height:e.height+a.top+a.bottom},d=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,l,e,t,i),c=d.left+a.left,h=d.top+a.top,u=Math.min(i.right-a.right,c+e.width),p=Math.min(i.bottom-a.bottom,h+e.height);c=Math.max(i.left+a.left,Math.min(c,u-this._fitInfo.sizedBy.minWidth)),h=Math.max(i.top+a.top,Math.min(h,p-this._fitInfo.sizedBy.minHeight));const g=Math.max(u-c,this._fitInfo.sizedBy.minWidth),m=Math.max(p-h,this._fitInfo.sizedBy.minHeight);this.sizingTarget.style.maxWidth=g+"px",this.sizingTarget.style.maxHeight=m+"px";const f=c-e.left,y=h-e.top;if(this.style.left=`${f}px`,this.style.top=`${y}px`,this.expandSizingTargetForScrollbars){const e=this.sizingTarget.offsetHeight,t=e-this.sizingTarget.clientHeight-(r-o);if(t>0){const n=i.height-a.top-a.bottom,r=Math.min(n,m+t);this.sizingTarget.style.maxHeight=`${r}px`;const s=this.sizingTarget.offsetHeight,o=s-e;let l;"top"===d.verticalAlign?l=y:"middle"===d.verticalAlign?l=y-o/2:"bottom"===d.verticalAlign&&(l=y-o),l=Math.max(i.top+a.top,Math.min(l,i.bottom-a.bottom-s)),this.style.top=`${l}px`}const l=this.sizingTarget.offsetWidth,c=l-this.sizingTarget.clientWidth-(n-s);if(c>0){const e=(()=>{if(void 0!==qO)return qO;const e=document.createElement("div");Object.assign(e.style,{overflow:"auto",position:"fixed",left:"0px",top:"0px",maxWidth:"100px",maxHeight:"100px"});const t=document.createElement("div");return t.style.width="200px",t.style.height="200px",e.appendChild(t),document.body.appendChild(e),qO=Math.abs(e.offsetWidth-100)>1?e.offsetWidth-e.clientWidth:0,document.body.removeChild(e),qO})(),t=i.width-a.left-a.right,n=Math.min(t,g+c-e);this.sizingTarget.style.maxWidth=`${n}px`;const r=this.sizingTarget.offsetWidth+e,s=r-l;let o;"left"===d.horizontalAlign?o=f:"center"===d.horizontalAlign?o=f-s/2:"right"===d.horizontalAlign&&(o=f-s),o=Math.max(i.left+a.left,Math.min(o,i.right-a.right-r)),this.style.left=`${o}px`}}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,i,n,r){this.__sizeDimension(e,t,i,n,r)},__sizeDimension:function(e,t,i,n,r){var s=this._fitInfo,o=this.__getNormalizedRect(this.fitInto),a="Width"===r?o.width:o.height,l=t===n,d=l?a-e[n]:e[i],c=s.margin[l?i:n],h="offset"+r,u=this[h]-this.sizingTarget[h];this.sizingTarget.style["max"+r]=a-c-d-u+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var n=i.top-t.top+(i.height-t.height)/2;this.style.top=n+"px"}if(!e.horizontally){var r=i.left-t.left+(i.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,i){var n=Math.min(0,e.top)+Math.min(0,i.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,i.right-(e.left+t.width));return Math.abs(n)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,i,n,r,s){var o,a=[{verticalAlign:"top",horizontalAlign:"left",top:r.top+this.verticalOffset,left:r.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:r.top+this.verticalOffset,left:r.right-i.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:r.bottom-i.height-this.verticalOffset,left:r.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:r.bottom-i.height-this.verticalOffset,left:r.right-i.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,d=a.length;l<d;l++){var c={};for(var h in a[l])c[h]=a[l][h];a.push(c)}a[0].top=a[1].top+=r.height,a[2].top=a[3].top-=r.height,a[4].left=a[6].left+=r.width,a[5].left=a[7].left-=r.width}t="auto"===t?null:t,(e="auto"===e?null:e)&&"center"!==e||(a.push({verticalAlign:"top",horizontalAlign:"center",top:r.top+this.verticalOffset+(this.noOverlap?r.height:0),left:r.left-n.width/2+r.width/2+this.horizontalOffset}),a.push({verticalAlign:"bottom",horizontalAlign:"center",top:r.bottom-i.height-this.verticalOffset-(this.noOverlap?r.height:0),left:r.left-n.width/2+r.width/2+this.horizontalOffset})),t&&"middle"!==t||(a.push({verticalAlign:"middle",horizontalAlign:"left",top:r.top-n.height/2+r.height/2+this.verticalOffset,left:r.left+this.horizontalOffset+(this.noOverlap?r.width:0)}),a.push({verticalAlign:"middle",horizontalAlign:"right",top:r.top-n.height/2+r.height/2+this.verticalOffset,left:r.right-i.width-this.horizontalOffset-(this.noOverlap?r.width:0)})),"middle"===t&&"center"===e&&a.push({verticalAlign:"middle",horizontalAlign:"center",top:r.top-n.height/2+r.height/2+this.verticalOffset,left:r.left-n.width/2+r.width/2+this.horizontalOffset});for(l=0;l<a.length;l++){var u=a[l],p=u.verticalAlign===t,g=u.horizontalAlign===e;if(!this.dynamicAlign&&!this.noOverlap&&p&&g){o=u;break}var m=(!t||p)&&(!e||g);if(this.dynamicAlign||m){if(u.offscreenArea=this.__getOffscreenArea(u,i,s),0===u.offscreenArea&&m){o=u;break}o=o||u;var f=u.offscreenArea-o.offscreenArea;(f<0||0===f&&(p||g))&&(o=u)}}return o}};var KO=new Set;const JO={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this),this._boundOnDescendantIronResize=this._onDescendantIronResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):(KO.delete(this),window.removeEventListener("resize",this._boundNotifyResize)),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach((function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)}),this),this._fireResize())},assignParentResizable:function(e){this._parentResizable&&this._parentResizable.stopResizeNotificationsFor(this),this._parentResizable=e,e&&-1===e._interestedResizables.indexOf(this)&&(e._interestedResizables.push(this),e._subscribeIronResize(this))},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this._unsubscribeIronResize(e))},_subscribeIronResize:function(e){e.addEventListener("iron-resize",this._boundOnDescendantIronResize)},_unsubscribeIronResize:function(e){e.removeEventListener("iron-resize",this._boundOnDescendantIronResize)},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():Vt||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Es(e).rootTarget;t!==this&&(t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",(function t(){document.removeEventListener("readystatechange",t),e()}))}else this._findParent(),this._parentResizable?this._parentResizable._interestedResizables.forEach((function(e){e!==this&&e._findParent()}),this):(KO.forEach((function(e){e!==this&&e._findParent()}),this),window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},_findParent:function(){this.assignParentResizable(null),this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable?KO.delete(this):KO.add(this)}};var ZO=Element.prototype,QO=ZO.matches||ZO.matchesSelector||ZO.mozMatchesSelector||ZO.msMatchesSelector||ZO.oMatchesSelector||ZO.webkitMatchesSelector;const XO=new class{getTabbableNodes(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t}isFocusable(e){return QO.call(e,"input, select, textarea, button, object")?QO.call(e,":not([disabled])"):QO.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")}isTabbable(e){return this.isFocusable(e)&&QO.call(e,':not([tabindex="-1"])')&&this._isVisible(e)}_normalizedTabIndex(e){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1}_collectTabbableNodes(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return!1;var i=e;if(!this._isVisible(i))return!1;var n,r=this._normalizedTabIndex(i),s=r>0;r>=0&&t.push(i),n="content"===i.localName||"slot"===i.localName?Es(i).getDistributedNodes():Es(i.root||i).children;for(var o=0;o<n.length;o++)s=this._collectTabbableNodes(n[o],t)||s;return s}_isVisible(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&("hidden"!==(t=window.getComputedStyle(e)).visibility&&"none"!==t.display)}_sortByTabIndex(e){var t=e.length;if(t<2)return e;var i=Math.ceil(t/2),n=this._sortByTabIndex(e.slice(0,i)),r=this._sortByTabIndex(e.slice(i));return this._mergeSortByTabIndex(n,r)}_mergeSortByTabIndex(e,t){for(var i=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?i.push(t.shift()):i.push(e.shift());return i.concat(e,t)}_hasLowerTabOrder(e,t){var i=Math.max(e.tabIndex,0),n=Math.max(t.tabIndex,0);return 0===i||0===n?n>i:i>n}};Vs({_template:fo`
    <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 0.2s;
        pointer-events: none;
        @apply --iron-overlay-backdrop;
      }

      :host(.opened) {
        opacity: var(--iron-overlay-backdrop-opacity, 0.6);
        pointer-events: auto;
        @apply --iron-overlay-backdrop-opened;
      }
    </style>

    <slot></slot>
`,is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Es(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Es(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged: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.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var eM={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},tM={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:"*"},iM={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},nM=/[a-z0-9*]/,rM=/U\+/,sM=/^arrow/,oM=/^space(bar)?/,aM=/^escape$/;function lM(e,t){var i="";if(e){var n=e.toLowerCase();" "===n||oM.test(n)?i="space":aM.test(n)?i="esc":1==n.length?t&&!nM.test(n)||(i=n):i=sM.test(n)?n.replace("arrow",""):"multiply"==n?"*":n}return i}function dM(e,t){return e.key?lM(e.key,t):e.detail&&e.detail.key?lM(e.detail.key,t):(i=e.keyIdentifier,n="",i&&(i in eM?n=eM[i]:rM.test(i)?(i=parseInt(i.replace("U+","0x"),16),n=String.fromCharCode(i).toLowerCase()):n=i.toLowerCase()),n||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):tM[e]),t}(e.keyCode)||"");var i,n}function cM(e,t){return dM(t,e.hasModifiers)===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey)}function hM(e){return e.trim().split(" ").map((function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce((function(e,t){var i=t.split(":"),n=i[0],r=i[1];return n in iM?(e[iM[n]]=!0,e.hasModifiers=!0):(e.key=n,e.event=r||"keydown"),e}),{combo:e.split(":").shift()})}(e)}))}const uM={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var i=hM(t),n=0;n<i.length;++n)if(cM(i[n],e))return!0;return!1},_collectKeyBindings:function(){var e=this.behaviors.map((function(e){return e.keyBindings}));return-1===e.indexOf(this.keyBindings)&&e.push(this.keyBindings),e},_prepKeyBindings:function(){for(var e in this._keyBindings={},this._collectKeyBindings().forEach((function(e){for(var t in e)this._addKeyBinding(t,e[t])}),this),this._imperativeKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t in this._keyBindings)this._keyBindings[t].sort((function(e,t){var i=e[0].hasModifiers;return i===t[0].hasModifiers?0:i?-1:1}))},_addKeyBinding:function(e,t){hM(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._listenKeyEventListeners()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.keys(this._keyBindings).forEach((function(e){var t=this._keyBindings[e],i=this._onKeyBindingEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,i]),this.keyEventTarget.addEventListener(e,i)}),this)},_unlistenKeyEventListeners:function(){for(var e,t,i,n;this._boundKeyHandlers.length;)t=(e=this._boundKeyHandlers.pop())[0],i=e[1],n=e[2],t.removeEventListener(i,n)},_onKeyBindingEvent:function(e,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPrevented)for(var i=0;i<e.length;i++){var n=e[i][0],r=e[i][1];if(cM(n,t)&&(this._triggerKeyHandler(n,r,t),t.defaultPrevented))return}},_triggerKeyHandler:function(e,t,i){var n=Object.create(e);n.keyboardEvent=i;var r=new CustomEvent(e.event,{detail:n,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&i.preventDefault()}};const pM=new class{constructor(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Fr(document.documentElement,"tap",(function(){})),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)}get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement}get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=!1||(e=document.body);e.root&&Es(e.root).activeElement;)e=Es(e.root).activeElement;return e}_bringOverlayAtIndexToFront(e){var t=this._overlays[e];if(t){var i=this._overlays.length-1,n=this._overlays[i];if(n&&this._shouldBeBehindOverlay(t,n)&&i--,!(e>=i)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e<i;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[i]=t}}}addOrRemoveOverlay(e){e.opened?this.addOverlay(e):this.removeOverlay(e)}addOverlay(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var i=this._overlays.length,n=this._overlays[i-1],r=Math.max(this._getZ(n),this._minimumZ),s=this._getZ(e);if(n&&this._shouldBeBehindOverlay(e,n)){this._applyOverlayZ(n,r),i--;var o=this._overlays[i-1];r=Math.max(this._getZ(o),this._minimumZ)}s<=r&&this._applyOverlayZ(e,r),this._overlays.splice(i,0,e),this.trackBackdrop()}removeOverlay(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())}currentOverlay(){var e=this._overlays.length-1;return this._overlays[e]}currentOverlayZ(){return this._getZ(this.currentOverlay())}ensureMinimumZ(e){this._minimumZ=Math.max(this._minimumZ,e)}focusOverlay(){var e=this.currentOverlay();e&&e._applyFocus()}trackBackdrop(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())}getBackdrops(){for(var e=[],t=0;t<this._overlays.length;t++)this._overlays[t].withBackdrop&&e.push(this._overlays[t]);return e}backdropZ(){return this._getZ(this._overlayWithBackdrop())-1}_overlayWithBackdrop(){for(var e=this._overlays.length-1;e>=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]}_getZ(e){var t=this._minimumZ;if(e){var i=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);i==i&&(t=i)}return t}_setZ(e,t){e.style.zIndex=t}_applyOverlayZ(e,t){this._setZ(e,t+2)}_overlayInPath(e){e=e||[];for(var t=0;t<e.length;t++)if(e[t]._manager===this)return e[t]}_onCaptureClick(e){var t=this._overlays.length-1;if(-1!==t)for(var i,n=Es(e).path;(i=this._overlays[t])&&this._overlayInPath(n)!==i&&(i._onCaptureClick(e),i.allowClickThrough);)t--}_onCaptureFocus(e){var t=this.currentOverlay();t&&t._onCaptureFocus(e)}_onCaptureKeyDown(e){var t=this.currentOverlay();t&&(uM.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):uM.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))}_shouldBeBehindOverlay(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}};var gM,mM,fM={pageX:0,pageY:0},yM=null,vM=[],_M=["wheel","mousewheel","DOMMouseScroll","touchstart","touchmove"];function bM(e){xM.indexOf(e)>=0||(0===xM.length&&function(){gM=gM||kM.bind(void 0);for(var e=0,t=_M.length;e<t;e++)document.addEventListener(_M[e],gM,{capture:!0,passive:!1})}(),xM.push(e),mM=xM[xM.length-1])}function wM(e){var t=xM.indexOf(e);-1!==t&&(xM.splice(t,1),mM=xM[xM.length-1],0===xM.length&&function(){for(var e=0,t=_M.length;e<t;e++)document.removeEventListener(_M[e],gM,{capture:!0,passive:!1})}())}const xM=[];function kM(e){if(e.cancelable&&function(e){var t=Es(e).rootTarget;"touchmove"!==e.type&&yM!==t&&(yM=t,vM=function(e){for(var t=[],i=e.indexOf(mM),n=0;n<=i;n++)if(e[n].nodeType===Node.ELEMENT_NODE){var r=e[n],s=r.style;"scroll"!==s.overflow&&"auto"!==s.overflow&&(s=window.getComputedStyle(r)),"scroll"!==s.overflow&&"auto"!==s.overflow||t.push(r)}return t}(Es(e).path));if(!vM.length)return!0;if("touchstart"===e.type)return!1;var i=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var i=e.targetTouches[0];t.deltaX=fM.pageX-i.pageX,t.deltaY=fM.pageY-i.pageY}return t}(e);return!function(e,t,i){if(!t&&!i)return;for(var n=Math.abs(i)>=Math.abs(t),r=0;r<e.length;r++){var s=e[r];if(n?i<0?s.scrollTop>0:s.scrollTop<s.scrollHeight-s.clientHeight:t<0?s.scrollLeft>0:s.scrollLeft<s.scrollWidth-s.clientWidth)return s}}(vM,i.deltaX,i.deltaY)}(e)&&e.preventDefault(),e.targetTouches){var t=e.targetTouches[0];fM.pageX=t.pageX,fM.pageY=t.pageY}}const SM={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},allowClickThrough:{type:Boolean},alwaysOnTop:{type:Boolean},scrollAction:{type:String},_manager:{type:Object,value:pM},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},observers:["__updateScrollObservers(isAttached, opened, scrollAction)"],get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Es(this).querySelector("[autofocus]")||this},get _focusableNodes(){return XO.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__rafs={},this.__restoreFocusNode=null,this.__scrollTop=this.__scrollLeft=null,this.__onCaptureScroll=this.__onCaptureScroll.bind(this),this.__rootNodes=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Es(this).observeNodes(this._onNodesChange)},detached:function(){for(var e in this._observer&&Es(this).unobserveNodes(this._observer),this._observer=null,this.__rafs)null!==this.__rafs[e]&&cancelAnimationFrame(this.__rafs[e]);this.__rafs={},this._manager.removeOverlay(this),this.__isAnimating&&(this.opened?this._finishRenderOpened():(this._applyFocus(),this._finishRenderClosed()))},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__deraf("__openedChanged",this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("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.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{if(this.restoreFocusOnClose&&this.__restoreFocusNode){var e=this._manager.deepActiveElement;(e===document.body||AM(this,e))&&this.__restoreFocusNode.focus()}this.__restoreFocusNode=null,this._focusNode.blur(),this._focusedChild=null}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Es(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode,r=!1;if(i===n)r=!0;else{var s=this._manager.deepActiveElement;r=s===i||s===this}r&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__deraf("refit",this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__deraf:function(e,t){var i=this.__rafs;null!==i[e]&&cancelAnimationFrame(i[e]),i[e]=requestAnimationFrame(function(){i[e]=null,t.call(this)}.bind(this))},__updateScrollObservers:function(e,t,i){e&&t&&this.__isValidScrollAction(i)?("lock"===i&&(this.__saveScrollPosition(),bM(this)),this.__addScrollListeners()):(wM(this),this.__removeScrollListeners())},__addScrollListeners:function(){if(!this.__rootNodes){if(this.__rootNodes=[],Vt)for(var e=this;e;)e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host&&this.__rootNodes.push(e),e=e.host||e.assignedSlot||e.parentNode;this.__rootNodes.push(document)}this.__rootNodes.forEach((function(e){e.addEventListener("scroll",this.__onCaptureScroll,{capture:!0,passive:!0})}),this)},__removeScrollListeners:function(){this.__rootNodes&&this.__rootNodes.forEach((function(e){e.removeEventListener("scroll",this.__onCaptureScroll,{capture:!0,passive:!0})}),this),this.isAttached||(this.__rootNodes=null)},__isValidScrollAction:function(e){return"lock"===e||"refit"===e||"cancel"===e},__onCaptureScroll:function(e){if(!(this.__isAnimating||Es(e).path.indexOf(this)>=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},AM=(e,t)=>{for(let n=t;n;n=(i=n).assignedSlot||i.parentNode||i.host)if(n===e)return!0;var i;return!1},EM=[YO,JO,SM];var CM=null;Vs({_template:fo`
    <style>
      :host {
        display: block;
        position: fixed;
        background-color: var(--paper-toast-background-color, #323232);
        color: var(--paper-toast-color, #f1f1f1);
        min-height: 48px;
        min-width: 288px;
        padding: 16px 24px;
        box-sizing: border-box;
        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
        border-radius: 2px;
        margin: 12px;
        font-size: 14px;
        cursor: default;
        -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
        transition: transform 0.3s, opacity 0.3s;
        opacity: 0;
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
        @apply --paper-font-common-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-transform: translateY(0px);
        transform: translateY(0px);
      }
    </style>

    <span id="label">{{text}}</span>
    <slot></slot>
`,is:"paper-toast",behaviors:[EM],properties:{fitInto:{type:Object,value:window,observer:"_onFitIntoChanged"},horizontalAlign:{type:String,value:"left"},verticalAlign:{type:String,value:"bottom"},duration:{type:Number,value:3e3},text:{type:String,value:""},noCancelOnOutsideClick:{type:Boolean,value:!0},noAutoFocus:{type:Boolean,value:!0}},listeners:{transitionend:"__onTransitionEnd"},get visible(){return Fo._warn("`visible` is deprecated, use `opened` instead"),this.opened},get _canAutoClose(){return this.duration>0&&this.duration!==1/0},created:function(){this._autoClose=null,GO.requestAvailability()},show:function(e){for(var t in"string"==typeof e&&(e={text:e}),e)0===t.indexOf("_")?Fo._warn('The property "'+t+'" is private and was not set.'):t in this?this[t]=e[t]:Fo._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._finishRenderOpened():this._finishRenderClosed())},_openedChanged:function(){null!==this._autoClose&&(this.cancelAsync(this._autoClose),this._autoClose=null),this.opened?(CM&&CM!==this&&CM.close(),CM=this,this.fire("iron-announce",{text:this.text}),this._canAutoClose&&(this._autoClose=this.async(this.close,this.duration))):CM===this&&(CM=null),SM._openedChanged.apply(this,arguments)},_renderOpened:function(){this.classList.add("paper-toast-open")},_renderClosed:function(){this.classList.remove("paper-toast-open")},_onFitIntoChanged:function(e){this.positionTarget=e}});const TM=fo`
<custom-style>
  <style is="custom-style">
    [hidden] {
      display: none !important;
    }
  </style>
</custom-style>
<custom-style>
  <style is="custom-style">
    html {

      --layout: {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
      };

      --layout-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;
        -webkit-flex-direction: column;
        flex-direction: column;
      };

      --layout-vertical-reverse: {
        @apply --layout;

        -ms-flex-direction: column-reverse;
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse;
      };

      --layout-wrap: {
        -ms-flex-wrap: wrap;
        -webkit-flex-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-flex: 1 1 auto;
        -webkit-flex: 1 1 auto;
        flex: 1 1 auto;
      };

      --layout-flex-none: {
        -ms-flex: none;
        -webkit-flex: none;
        flex: none;
      };

      --layout-flex: {
        -ms-flex: 1 1 0.000000001px;
        -webkit-flex: 1;
        flex: 1;
        -webkit-flex-basis: 0.000000001px;
        flex-basis: 0.000000001px;
      };

      --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: 11;
      };

      --layout-flex-12: {
        -ms-flex: 12;
        -webkit-flex: 12;
        flex: 12;
      };

      /* alignment in cross axis */

      --layout-start: {
        -ms-flex-align: start;
        -webkit-align-items: flex-start;
        align-items: flex-start;
      };

      --layout-center: {
        -ms-flex-align: 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;
      };

      /* alignment in main axis */

      --layout-start-justified: {
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        justify-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-around-justified: {
        -ms-flex-pack: distribute;
        -webkit-justify-content: space-around;
        justify-content: space-around;
      };

      --layout-justified: {
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
      };

      --layout-center-center: {
        @apply --layout-center;
        @apply --layout-center-justified;
      };

      /* self alignment */

      --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-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: stretch;
        -webkit-align-self: stretch;
        align-self: stretch;
      };

      --layout-self-baseline: {
        -ms-align-self: baseline;
        -webkit-align-self: baseline;
        align-self: baseline;
      };

      /* multi-line alignment in main axis */

      --layout-start-aligned: {
        -ms-flex-line-pack: start;  /* IE10 */
        -ms-align-content: flex-start;
        -webkit-align-content: flex-start;
        align-content: flex-start;
      };

      --layout-end-aligned: {
        -ms-flex-line-pack: end;  /* IE10 */
        -ms-align-content: flex-end;
        -webkit-align-content: flex-end;
        align-content: flex-end;
      };

      --layout-center-aligned: {
        -ms-flex-line-pack: center;  /* IE10 */
        -ms-align-content: center;
        -webkit-align-content: center;
        align-content: center;
      };

      --layout-between-aligned: {
        -ms-flex-line-pack: justify;  /* IE10 */
        -ms-align-content: space-between;
        -webkit-align-content: space-between;
        align-content: space-between;
      };

      --layout-around-aligned: {
        -ms-flex-line-pack: distribute;  /* IE10 */
        -ms-align-content: space-around;
        -webkit-align-content: space-around;
        align-content: space-around;
      };

      /*******************************
                Other Layout
      *******************************/

      --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;
        height: 100vh;
      };

      /* fixed position */

      --layout-fixed-top: {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
      };

      --layout-fixed-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>
</custom-style>`;TM.setAttribute("style","display: none;"),document.head.appendChild(TM.content);var IM=document.createElement("style");IM.textContent="[hidden] { display: none !important; }",document.head.appendChild(IM);const DM=fo`
<custom-style>
  <style is="custom-style">
    html {

      --shadow-transition: {
        transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
      };

      --shadow-none: {
        box-shadow: none;
      };

      /* from http://codepen.io/shyndman/pen/c5394ddf2e8b2a5c9185904b57421cdb */

      --shadow-elevation-2dp: {
        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
                    0 1px 5px 0 rgba(0, 0, 0, 0.12),
                    0 3px 1px -2px rgba(0, 0, 0, 0.2);
      };

      --shadow-elevation-3dp: {
        box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14),
                    0 1px 8px 0 rgba(0, 0, 0, 0.12),
                    0 3px 3px -2px rgba(0, 0, 0, 0.4);
      };

      --shadow-elevation-4dp: {
        box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14),
                    0 1px 10px 0 rgba(0, 0, 0, 0.12),
                    0 2px 4px -1px rgba(0, 0, 0, 0.4);
      };

      --shadow-elevation-6dp: {
        box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14),
                    0 1px 18px 0 rgba(0, 0, 0, 0.12),
                    0 3px 5px -1px rgba(0, 0, 0, 0.4);
      };

      --shadow-elevation-8dp: {
        box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14),
                    0 3px 14px 2px rgba(0, 0, 0, 0.12),
                    0 5px 5px -3px rgba(0, 0, 0, 0.4);
      };

      --shadow-elevation-12dp: {
        box-shadow: 0 12px 16px 1px rgba(0, 0, 0, 0.14),
                    0 4px 22px 3px rgba(0, 0, 0, 0.12),
                    0 6px 7px -4px rgba(0, 0, 0, 0.4);
      };

      --shadow-elevation-16dp: {
        box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14),
                    0  6px 30px 5px rgba(0, 0, 0, 0.12),
                    0  8px 10px -5px rgba(0, 0, 0, 0.4);
      };

      --shadow-elevation-24dp: {
        box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14),
                    0 9px 46px 8px rgba(0, 0, 0, 0.12),
                    0 11px 15px -7px rgba(0, 0, 0, 0.4);
      };
    }
  </style>
</custom-style>`;DM.setAttribute("style","display: none;"),document.head.appendChild(DM.content);const PM=fo`
<dom-module id="paper-material-styles">
  <template>
    <style>
      html {
        --paper-material: {
          display: block;
          position: relative;
        };
        --paper-material-elevation-1: {
          @apply --shadow-elevation-2dp;
        };
        --paper-material-elevation-2: {
          @apply --shadow-elevation-4dp;
        };
        --paper-material-elevation-3: {
          @apply --shadow-elevation-6dp;
        };
        --paper-material-elevation-4: {
          @apply --shadow-elevation-8dp;
        };
        --paper-material-elevation-5: {
          @apply --shadow-elevation-16dp;
        };
      }
      .paper-material {
        @apply --paper-material;
      }
      .paper-material[elevation="1"] {
        @apply --paper-material-elevation-1;
      }
      .paper-material[elevation="2"] {
        @apply --paper-material-elevation-2;
      }
      .paper-material[elevation="3"] {
        @apply --paper-material-elevation-3;
      }
      .paper-material[elevation="4"] {
        @apply --paper-material-elevation-4;
      }
      .paper-material[elevation="5"] {
        @apply --paper-material-elevation-5;
      }

      /* Duplicate the styles because of https://github.com/webcomponents/shadycss/issues/193 */
      :host {
        --paper-material: {
          display: block;
          position: relative;
        };
        --paper-material-elevation-1: {
          @apply --shadow-elevation-2dp;
        };
        --paper-material-elevation-2: {
          @apply --shadow-elevation-4dp;
        };
        --paper-material-elevation-3: {
          @apply --shadow-elevation-6dp;
        };
        --paper-material-elevation-4: {
          @apply --shadow-elevation-8dp;
        };
        --paper-material-elevation-5: {
          @apply --shadow-elevation-16dp;
        };
      }
      :host(.paper-material) {
        @apply --paper-material;
      }
      :host(.paper-material[elevation="1"]) {
        @apply --paper-material-elevation-1;
      }
      :host(.paper-material[elevation="2"]) {
        @apply --paper-material-elevation-2;
      }
      :host(.paper-material[elevation="3"]) {
        @apply --paper-material-elevation-3;
      }
      :host(.paper-material[elevation="4"]) {
        @apply --paper-material-elevation-4;
      }
      :host(.paper-material[elevation="5"]) {
        @apply --paper-material-elevation-5;
      }
    </style>
  </template>
</dom-module>`;PM.setAttribute("style","display: none;"),document.head.appendChild(PM.content);const FM={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:String},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){this._setFocused("focus"===e.type)},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.getAttribute("tabindex"),this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(null===this._oldTabIndex?this.removeAttribute("tabindex"):this.setAttribute("tabindex",this._oldTabIndex))},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}},NM={properties:{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},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_focusChanged(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_focusChanged:function(e){this._detectKeyboardFocus(e),e||this._setPressed(!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._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!1),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var t=e.detail.keyboardEvent,i=Es(t).localTarget;this.isLightDescendant(i)||(t.preventDefault(),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,i=Es(t).localTarget;this.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async((function(){this.click()}),1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},RM=[uM,NM];var OM={distance:function(e,t,i,n){var r=e-i,s=t-n;return Math.sqrt(r*r+s*s)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function MM(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function LM(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Es(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}MM.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var i=OM.distance(e,t,0,0),n=OM.distance(e,t,this.width,0),r=OM.distance(e,t,0,this.height),s=OM.distance(e,t,this.width,this.height);return Math.max(i,n,r,s)}},LM.MAX_RADIUS=300,LM.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=OM.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?OM.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,i=1.1*Math.min(Math.sqrt(e+t),LM.MAX_RADIUS)+5,n=1.1-i/LM.MAX_RADIUS*.2,r=this.mouseInteractionSeconds/n,s=i*(1-Math.pow(80,-r));return Math.abs(s)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,LM.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,LM.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){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.containerMetrics=new MM(this.element)},draw:function(){var e,t,i;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,i=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+i+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+i+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,i=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=OM.now(),this.center?(this.xStart=t,this.yStart=i,this.slideDistance=OM.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=i,this.slideDistance=OM.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=OM.now())},remove:function(){Es(Es(this.waveContainer).parentNode).removeChild(this.waveContainer)}},Vs({_template:fo`
    <style>
      :host {
        display: block;
        position: absolute;
        border-radius: inherit;
        overflow: hidden;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;

        /* See PolymerElements/paper-behaviors/issues/34. On non-Chrome browsers,
         * creating a node (with a position:absolute) in the middle of an event
         * handler "interrupts" that event handler (which happens when the
         * ripple is created on demand) */
        pointer-events: none;
      }

      :host([animating]) {
        /* This resolves a rendering issue in Chrome (as of 40) where the
           ripple is not properly clipped by its parent (which may have
           rounded corners). See: http://jsbin.com/temexa/4

           Note: We only apply this style conditionally. Otherwise, the browser
           will create a new compositing layer for every ripple element on the
           page, and that would be bad. */
        -webkit-transform: translate(0, 0);
        transform: translate3d(0, 0, 0);
      }

      #background,
      #waves,
      .wave-container,
      .wave {
        pointer-events: none;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }

      #background,
      .wave {
        opacity: 0;
      }

      #waves,
      .wave {
        overflow: hidden;
      }

      .wave-container,
      .wave {
        border-radius: 50%;
      }

      :host(.circle) #background,
      :host(.circle) #waves {
        border-radius: 50%;
      }

      :host(.circle) .wave-container {
        overflow: hidden;
      }
    </style>

    <div id="background"></div>
    <div id="waves"></div>
`,is:"paper-ripple",behaviors:[uM],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:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==Es(this).parentNode.nodeType?this.keyEventTarget=Es(this).getOwnerRoot().host:this.keyEventTarget=Es(this).parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e<this.ripples.length;++e)if(!this.ripples[e].isAnimationComplete)return!0;return!1},simulatedRipple:function(){this.downAction(null),this.async((function(){this.upAction()}),1)},uiDownAction:function(e){this.noink||this.downAction(e)},downAction:function(e){this.holdDown&&this.ripples.length>0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach((function(t){t.upAction(e)})),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor="",this.fire("transitionend")},addRipple:function(){var e=new LM(this);return Es(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e<this.ripples.length;++e)(t=this.ripples[e]).draw(),this.$.background.style.opacity=t.outerOpacity,t.isOpacityFullyDecayed&&!t.isRestingAtMaxRadius&&this.removeRipple(t);this.shouldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAnimationComplete()}},animateRipple:function(){return this.animate()},_onEnterKeydown:function(){this.uiDownAction(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(e,t){void 0!==t&&(e?this.downAction():this.upAction())}});const BM={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){NM._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var t=this._rippleContainer||this.root;if(t&&Es(t).appendChild(this._ripple),e){var i=Es(this._rippleContainer||this),n=Es(e).rootTarget;i.deepContains(n)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return this.ensureRipple(),this._ripple},hasRipple:function(){return Boolean(this._ripple)},_createRipple:function(){return document.createElement("paper-ripple")},_noinkChanged:function(e){this.hasRipple()&&(this._ripple.noink=e)}},zM={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){NM._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){NM._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},jM=[RM,FM,BM,zM],HM=fo`
  <style include="paper-material-styles">
    /* Need to specify the same specificity as the styles imported from paper-material. */
    :host {
      @apply --layout-inline;
      @apply --layout-center-center;
      position: relative;
      box-sizing: border-box;
      min-width: 5.14em;
      margin: 0 0.29em;
      background: transparent;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      -webkit-tap-highlight-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: 0.7em 0.57em;

      @apply --paper-font-common-base;
      @apply --paper-button;
    }

    :host([elevation="1"]) {
      @apply --paper-material-elevation-1;
    }

    :host([elevation="2"]) {
      @apply --paper-material-elevation-2;
    }

    :host([elevation="3"]) {
      @apply --paper-material-elevation-3;
    }

    :host([elevation="4"]) {
      @apply --paper-material-elevation-4;
    }

    :host([elevation="5"]) {
      @apply --paper-material-elevation-5;
    }

    :host([hidden]) {
      display: none !important;
    }

    :host([raised].keyboard-focus) {
      font-weight: bold;
      @apply --paper-button-raised-keyboard-focus;
    }

    :host(:not([raised]).keyboard-focus) {
      font-weight: bold;
      @apply --paper-button-flat-keyboard-focus;
    }

    :host([disabled]) {
      background: none;
      color: #a8a8a8;
      cursor: auto;
      pointer-events: none;

      @apply --paper-button-disabled;
    }

    :host([disabled][raised]) {
      background: #eaeaea;
    }


    :host([animated]) {
      @apply --shadow-transition;
    }

    paper-ripple {
      color: var(--paper-button-ink-color);
    }
  </style>

  <slot></slot>`;HM.setAttribute("strip-whitespace",""),Vs({_template:HM,is:"paper-button",behaviors:[jM],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?zM._calculateElevation.apply(this):this._setElevation(0)}});class UM extends(Bs([ik],vo)){static get is(){return"aca-app-update"}static get template(){return fo`
            <style include="tcg-shared-styles">
                #reload {
                    color: var(--sdb-primary-button, red);
                }
            </style>

            <paper-toast
                duration="0"
                id="updateToast"
                text="[[localize('newVersion')]]"
            >
                <paper-button
                    id="reload"
                    on-tap="_reload"
                    >[[localize('refresh')]]</paper-button
                >
            </paper-toast>
        `}_reload(){this.dispatchEvent(new CustomEvent("app-update-requested"))}open(){this.$.updateToast.open()}}window.customElements.define(UM.is,UM);class $M extends vo{static get is(){return"vaadin-template-renderer-templatizer"}static create(e,t){const i=new this;return i.__template=t,i.__component=e,i}constructor(){super(),this.__template=null,this.__component=null,this.__TemplateClass=null,this.__templateInstances=new Set}render(e,t={}){let i=e.__templateInstance;this.__hasTemplateInstance(i)&&this.__isTemplateInstanceAttachedToDOM(i)?this.__updateProperties(i,t):(this.__hasTemplateInstance(i)&&this.__disposeOfTemplateInstance(i),i=this.__createTemplateInstance(t),e.__templateInstance=i,e.innerHTML="",e.appendChild(i.root))}__updateProperties(e,t){e.item===t.item&&e._setPendingProperty("item"),e.__properties=t,e.setProperties(t)}__createTemplateInstance(e){this.__createTemplateClass(e);const t=new this.__TemplateClass(e);return t.__properties=e,this.__templateInstances.add(t),t}__disposeOfTemplateInstance(e){this.__templateInstances.delete(e)}__hasTemplateInstance(e){return this.__templateInstances.has(e)}__isTemplateInstanceAttachedToDOM(e){return 0!==e.children.length&&!!e.children[0].parentElement}__createTemplateClass(e){if(this.__TemplateClass)return;const t=Object.keys(e).reduce(((e,t)=>({...e,[t]:!0})),{});this.__TemplateClass=ao(this.__template,this,{parentModel:!0,instanceProps:t,forwardHostProp(e,t){this.__templateInstances.forEach((i=>{i.forwardHostProp(e,t)}))},notifyInstanceProp(e,t,i){let n;n=t.split(".")[0],n=n[0].toUpperCase()+n.slice(1);const r=`_on${n}PropertyChanged`;this[r]&&this[r](e,t,i)}})}}ak($M);class VM extends $M{static get is(){return"vaadin-template-renderer-grid-templatizer"}get __grid(){return this.__component.__gridElement?this.__component:this.__component._grid}_onItemPropertyChanged(e,t,i){if("item"===t)return;if(!Array.isArray(this.__grid.items))return;t=`items.${this.__grid.items.indexOf(e.item)}.${t=t.replace(/^item\./u,"")}`,this.__grid.notifyPath(t,i)}_onExpandedPropertyChanged(e,t,i){e.__properties.expanded!==i&&(i?this.__grid.expandItem(e.item):this.__grid.collapseItem(e.item))}_onSelectedPropertyChanged(e,t,i){e.__properties.selected!==i&&(i?this.__grid.selectItem(e.item):this.__grid.deselectItem(e.item))}_onDetailsOpenedPropertyChanged(e,t,i){e.__properties.detailsOpened!==i&&(i?this.__grid.openItemDetails(e.item):this.__grid.closeItemDetails(e.item))}}function WM(e,t,i=$M){const n=i.create(e,t),r=(e,t,i)=>{n.render(e,i)};return t.__templatizer=n,r.__templatized=!0,r}function GM(e,t,i){const n=e[t];if(n&&!n.__templatized){const t=e.localName;throw new Error(`Cannot use both a template and a renderer for <${t} />.`)}e[t]=i}function qM(e,t){if(function(e){e.__suppressTemplateWarning||e.hasAttribute("suppress-template-warning")||(console.warn(`WARNING: <template> inside <${e.localName}> is deprecated. Use a renderer function instead (see https://vaad.in/template-renderer)`),e.__suppressTemplateWarning=!0)}(e),e.__gridElement)return void function(e,t){t.matches(".row-details")&&GM(e,"rowDetailsRenderer",WM(e,t,VM))}(e,t);if(e.__gridColumnElement)return void function(e,t){if(t.matches(".header"))return void GM(e,"headerRenderer",WM(e,t));if(t.matches(".footer"))return void GM(e,"footerRenderer",WM(e,t));if(t.matches(".editor"))return void GM(e,"editModeRenderer",WM(e,t,VM));GM(e,"renderer",WM(e,t,VM))}(e,t);GM(e,"renderer",WM(e,t))}function YM(e){ys.getFlattenedNodes(e).filter((e=>e instanceof HTMLTemplateElement)).forEach((t=>{t.__templatizer||qM(e,t)}))}var KM,JM;let ZM,QM,XM,eL,tL,iL,nL,rL,sL,oL,aL,lL,dL,cL,hL,uL,pL;ak(VM),window.Vaadin||(window.Vaadin={}),window.Vaadin.templateRendererCallback=e=>{YM(e),function(e){e.__templateObserver||(e.__templateObserver=new ys(e,(()=>{YM(e)})))}(e)},import("./f6927c1f.js").then((e=>{const t=new e.ApplicationInsights({config:{instrumentationKey:"76607fcc-a4ec-4d34-8233-572fd78923cf",enableAutoRouteTracking:!0,enableUnhandledPromiseRejectionTracking:!0}});window.appInsights=window.appInsights||t,t.addTelemetryInitializer((e=>{if("RemoteDependencyData"===e.baseType){const t=e.baseData;if(t.target&&-1!==t.target.indexOf("https://js.monitor.azure.com/"))return!1}return!0})),t.loadAppInsights(),t.addTelemetryInitializer((function(e){if("RemoteDependencyData"===e.baseType){var t=e.baseData;if(t.target&&-1!==t.target.indexOf("https://js.monitor.azure.com"))return!1}return!0}))}),(e=>{console.log(e)})),XM=[be("aca-app")];var gL=r("A"),mL=r("B"),fL=r("C"),yL=r("D"),vL=r("E"),_L=r("F");eL=ke({type:Boolean,reflect:!0}),iL=ke({type:Boolean,reflect:!0}),rL=Se(),oL=Se(),lL=Se(),cL=Ee("#app_elearning_dialog"),uL="_provider";class bL extends(KM=aw(ow)(ve)){constructor(){super(),this[uL]=(ZM(this),new Fe(this,{context:hd})),Object.defineProperty(this,gL,{writable:!0,value:tL(this,!1)}),Object.defineProperty(this,mL,{writable:!0,value:nL(this,!1)}),Object.defineProperty(this,fL,{writable:!0,value:sL(this)}),Object.defineProperty(this,yL,{writable:!0,value:aL(this)}),Object.defineProperty(this,vL,{writable:!0,value:dL(this)}),Object.defineProperty(this,_L,{writable:!0,value:hL(this)}),this.store=ow,this._loadedModules={},this._silentSignIn=!0,this._signIn=!1,this._signedIn=!1,this._hasHeaders=!1,this._router=new gw(this,[{path:"/callback",render:()=>Z`<authenticate-callback></authenticate-callback>`},{path:"/silent_renew",render:()=>Z`<silent-renew-callback></silent-renew-callback>`},{path:"/elearning-close-dialog",render:()=>Z`<sdb-elearning-close-dialog></sdb-elearning-close-dialog>`,enter:async()=>{await import("./8550f77f.js")}},{path:"/close-preview",render:()=>Z`<sdb-preview-close-dialog></sdb-preview-close-dialog>`,enter:async()=>{await import("./a0d32d07.js")}},{path:"/learningplan-close-dialog",render:()=>Z`<tcg-learningplan-dialog-close></tcg-learningplan-dialog-close>`,enter:async()=>{await import("./86409b2a.js")}},{path:"/go-to-uservoice",render:()=>Z`<sdb-uservoice></sdb-uservoice>`,enter:async()=>{await import("./3dc03d54.js")}},{path:"/scorm-player-close-dialog",render:()=>Z`<tcg-scorm-player-dialog-close></tcg-scorm-player-dialog-close>`,enter:async()=>{await import("./895df16b.js")}},{path:"/costregistration-close-dialog",render:()=>Z`<tcg-costregistration-dialog-close></tcg-costregistration-dialog-close>`,enter:async()=>{await import("./a253266e.js")}},{path:"/*",render:e=>this._renderAcaMainPage(e),enter:async()=>{await import("./0500abca.js").then((function(e){return e.b})),import("./f33e623f.js"),import("./c5dd2b10.js"),import("./e0b0dad9.js"),import("./33a60614.js"),import("./61721278.js")}}]),this.addEventListener("route-to",this._routeTo),this.addEventListener("route-to-planning-schedule-list",this._routeToPlanningScheduleList),this.addEventListener("launch-elearning-item",this._launchElearningItem),uA.registerAllStyles()}async _loadModule(e,t){this._loadedModules[e]||(await t(),this._loadedModules[e]=!0)}_routeTo(e){const t=this._router.link(e.detail.route),i={};e.detail.prevRoute?i.prevRoute=!0===e.detail.prevRoute?window.location.pathname:e.detail.prevRoute:e.detail.skillId&&(i.prevRoute=`${window.location.pathname}?id=${e.detail.skillId}`),this.__routeTo(t,i,e.detail.skipHistory)}_routeToPlanningScheduleList(e){const t=`/training/planning/${e.detail}/schedules/list`,i=window.location.pathname;this.__routeTo(t,{prevRoute:i})}__routeTo(e,t={},i=!1){i||window.history.pushState(t,null,e),this._router.goto(e),window.dispatchEvent(new CustomEvent("location-changed"))}_launchElearningItem(e){this.elearningDialog.open(e.detail.item)}static get styles(){return[XR,u`
                :host {
                    display: flex;
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    flex-direction: column;

                    --iron-overlay-backdrop-opacity: 0.54;
                }
            `]}render(){return Z`
            <tcg-signin-aware
                id="signinAware"
                scope="openid name api api_tcg_claims idString email"
                callback-uri="/"
                post-logout-redirect-uri="/"
            ></tcg-signin-aware>

            <app-location
                @route-changed=${async e=>await this._router.goto(e.detail.value.path)}
            ></app-location>

            <store-provider .value="${this.store}">
                ${this._renderMainBody()}

                <tcg-costregistration-dialog></tcg-costregistration-dialog>
                <tcg-learningplan-dialog></tcg-learningplan-dialog>
                <tcg-scorm-player-dialog></tcg-scorm-player-dialog>
            </store-provider>

            ${this._user&&this._settings.portalIdentifier?Z` <sdb-embedded-elearning-dialog
                          id="app_elearning_dialog"
                          .settings=${{portalIdentifier:this._settings.portalIdentifier,env:this._settings.compositionEnvironment}}
                          .user=${this._user}
                      >
                      </sdb-embedded-elearning-dialog>
                      <sdb-embedded-preview-dialog
                          id="app_preview_dialog"
                          .settings=${{portalIdentifier:this._settings.portalIdentifier,env:this._settings.compositionEnvironment}}
                          .user=${this._user}
                      >
                      </sdb-embedded-preview-dialog>`:ee}

            <aca-app-update
                id="appUpdate"
                @app-update-requested=${()=>{this._appUpdateResolver()}}
            ></aca-app-update>
        `}get sdb(){return s(this,gL)[gL]}set sdb(e){s(this,gL)[gL]=e}get tcg(){return s(this,mL)[mL]}set tcg(e){s(this,mL)[mL]=e}get _settings(){return s(this,fL)[fL]}set _settings(e){s(this,fL)[fL]=e}get _user(){return s(this,yL)[yL]}set _user(e){s(this,yL)[yL]=e}get _styleVars(){return s(this,vL)[vL]}set _styleVars(e){s(this,vL)[vL]=e}get elearningDialog(){return s(this,_L)[_L]}set elearningDialog(e){s(this,_L)[_L]=e}static get properties(){return{_loading:{type:Boolean,observer:"_loadingChanged"},_timeout:{type:Number}}}connectedCallback(){super.connectedCallback(),ow.dispatch({type:"MINERVASETTINGS_REQUESTED"}),this.useKeyIfMissing=!0}async fetchStyles(e){const t=await fetch(`${e}/style`);this._styleVars=await t.json(),this.applyStyles()}applyStyles(){for(const[e,t]of Object.entries(this._styleVars))this.style.setProperty(e,t)}stateChanged(e){var t,i;if(super.stateChanged(e),e.minervaSettings.apiUrl&&this._provider.setValue(e.minervaSettings.apiUrl),e.minervaSettings.redirects){const t=window.location.hostname.toLowerCase();for(const i of Object.keys(e.minervaSettings.redirects))if(i.toLowerCase()===t){const t=e.minervaSettings.redirects[i];t&&(window.location.href=`${window.location.protocol}//${t}${window.location.pathname}${window.location.search}`)}}if(this.sdb=!0,this._unAuthorized=!0===e.minervaSettings.forceLogout,this._notFound=!0===e.minervaSettings.notFound,this._unAuthorized&&(this._loadModule("./aca-unauthorized-page.js",(async()=>await import("./1aa535d7.js"))),this._hideSplash()),this._notFound&&(this._loadModule("./aca-portal-does-not-exists-page.js",(async()=>await import("./03c999a6.js"))),this._hideSplash()),void 0!==e.minervaSettings.portalIdentifier&&this._hideSplash(),this._settings=e.minervaSettings,!this._settingsUrl&&this._settings&&null!==(t=this._settings)&&void 0!==t&&t.settingsUrl&&(this._settingsUrl=this._settings.settingsUrl,this.fetchStyles(this._settingsUrl)),e.minervaSettings.customerTitle&&(document.title=e.minervaSettings.customerTitle),this._hasHeaders=!(null===(i=e.minervaSettings)||void 0===i||null===(i=i.headers)||void 0===i||!i.Authorization),!1===e.minervaSettings.loading&&e.oidc.user&&this.__prevAccessToken!==e.oidc.user.access_token&&(this.__prevAccessToken=e.oidc.user.access_token,ow.dispatch({type:"MINERVASETTINGS_REQUESTED"})),e.oidc.user&&e.oidc.user.access_token){var n;const t=this.shadowRoot.querySelector("#signinAware");(null===(n=t.token)||void 0===n?void 0:n.access_token)!==e.oidc.user.access_token&&(console.log("saving token"),t.saveToken(e.oidc.user))}const r=!!e.oidc.isLoadingUser;this.isLoadingUser&&!r&&(e.oidc.user?(this._silentSignIn=!1,this._signIn=!1,this._signedIn=!0):(this._silentSignIn=!1,this._signIn=!0,this._signedIn=!1)),this.isLoadingUser=r,!1===e.signIn.pending&&!0===e.signIn.signedIn&&(this._silentSignIn=!1,this._signIn=!1,this._signedIn=!0),this._user=e.oidc.user}_renderMainBody(){return this._notFound?Z`<aca-portal-does-not-exists-page></aca-portal-does-not-exists-page>`:this._unAuthorized?Z`<aca-unauthorized-page></aca-unauthorized-page>`:this._signIn?Z`<aca-signin-page></aca-signin-page>`:Z`${this._router.outlet()}`}_renderAcaMainPage(e){if(this._signedIn&&this._hasHeaders)return Z`<aca-main-page></aca-main-page>`}promptForUpdate(e){this.shadowRoot.querySelector("#appUpdate").open(),this._appUpdateResolver=e}_loadingChanged(){void 0!==this._loading&&(this._loading?(window.clearTimeout(this._timeout),window.requestAnimationFrame((()=>{document.querySelector("#splash").classList.remove("hide")}))):this._hideSplash())}_performHide(){window.requestAnimationFrame((()=>{this._splash.classList.add("hide"),window.setTimeout((()=>{var e;null===(e=this._splash.parentNode)||void 0===e||e.removeChild(this._splash)}),100)}))}_hideSplash(){if(this._splash=document.querySelector("#splash"),!this._splash)return;if(this._splash.classList.contains("hide"))return;window.clearTimeout(this._timeout);this._loading?this._timeout=window.setTimeout((()=>{if(this._loading)return console.log("still loading. do not hide splash");this._performHide()}),100):this._performHide()}}JM=bL,({e:[tL,nL,sL,aL,dL,hL,ZM],c:[pL,QM]}=e(JM,[[eL,1,"sdb"],[iL,1,"tcg"],[rL,1,"_settings"],[oL,1,"_user"],[lL,1,"_styleVars"],[cL,1,"elearningDialog"]],XM,0,void 0,KM)),QM();export{jg as $,Fp as A,Dp as B,ju as C,ir as D,bp as E,yg as F,gg as G,yw as H,JO as I,cb as J,a_ as K,qg as L,Lg as M,ew as N,R_ as O,Vs as P,O_ as Q,cw as R,M_ as S,ee as T,Qg as U,Ae as V,Mg as W,Og as X,NR as Y,Hg as Z,Aw as _,nk as a,tT as a$,Rg as a0,Ng as a1,Fg as a2,IR as a3,iA as a4,Ik as a5,ku as a6,ak as a7,yk as a8,mS as a9,Ei as aA,Ur as aB,GO as aC,ji as aD,uM as aE,Fo as aF,SM as aG,vT as aH,jS as aI,EA as aJ,rC as aK,jT as aL,kE as aM,dS as aN,hE as aO,lS as aP,CA as aQ,HT as aR,AS as aS,cE as aT,GA as aU,_T as aV,gT as aW,QA as aX,EE as aY,XA as aZ,TE as a_,lA as aa,DS as ab,US as ac,Bu as ad,Mu as ae,Du as af,Iu as ag,Tu as ah,Pu as ai,DR as aj,TR as ak,X as al,uk as am,YS as an,SS as ao,BS as ap,FS as aq,Ek as ar,HC as as,UC as at,cS as au,CS as av,EM as aw,Rs as ax,RM as ay,FM as az,rk as b,og as b$,AE as b0,fe as b1,TN as b2,ci as b3,jM as b4,qp as b5,RN as b6,PN as b7,DN as b8,ON as b9,Pi as bA,Xp as bB,eg as bC,Qp as bD,dk as bE,MS as bF,LS as bG,Gs as bH,$r as bI,vk as bJ,Q as bK,vp as bL,lp as bM,dp as bN,_p as bO,Wg as bP,Gg as bQ,o_ as bR,c_ as bS,v_ as bT,__ as bU,b_ as bV,w_ as bW,x_ as bX,k_ as bY,S_ as bZ,z_ as b_,NN as ba,BM as bb,Or as bc,_A as bd,HS as be,IS as bf,PS as bg,SE as bh,wE as bi,LT as bj,yE as bk,JA as bl,ZA as bm,Ht as bn,LC as bo,Ce as bp,$A as bq,YA as br,VC as bs,ao as bt,lo as bu,Po as bv,Zi as bw,Ji as bx,vs as by,Fi as bz,ow as c,pg as c0,Gp as c1,h as c2,p as c3,ni as c4,eA as c5,wR as c6,ep as c7,tp as c8,ip as c9,np as ca,Xu as cb,Fr as cc,Nr as cd,Dg as ce,Pg as cf,os as d,Es as e,Ki as f,rr as g,fo as h,u as i,Ew as j,vo as k,Yi as l,Bs as m,ik as n,aw as o,s as p,e as q,r,ve as s,be as t,ke as u,o as v,Se as w,Z as x,Ee as y,tg as z};
//# sourceMappingURL=18a45aaf.js.map
